{"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@2.6.3@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/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/mat3.js","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/../../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/geometry/label/util/createWorker.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/worker/hide-overlap.ts","webpack://G2Plot/../../../../src/geometry/label/layout/hide-overlap.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/component/list-focus.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-radio.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/mask/path.ts","webpack://G2Plot/../../../../src/interaction/action/mask/smooth-path.ts","webpack://G2Plot/../../../../src/interaction/action/data/range-filter.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/base.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/rect.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/dim-rect.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/circle.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/path.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/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/interaction/action/component/axis/axis-description.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/distribute.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/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/../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/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/common.js","webpack://G2Plot/./src/adaptor/geometries/index.ts","webpack://G2Plot/../../src/tooltip/css-const.ts","webpack://G2Plot/../../src/util/matrix.ts","webpack://G2Plot/../../src/util/draw.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_root.js","webpack://G2Plot/../../src/util/arrow.ts","webpack://G2Plot/../../src/util/svg.ts","webpack://G2Plot/./node_modules/_tslib@1.14.1@tslib/tslib.es6.js","webpack://G2Plot/./src/adaptor/geometries/base.ts","webpack://G2Plot/../src/parse-path.ts","webpack://G2Plot/../src/catmull-rom-2-bezier.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/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/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/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-number.ts","webpack://G2Plot/../../src/util/extended.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/funnel/constant.ts","webpack://G2Plot/./src/plots/tiny-line/utils.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@3.4.3@gl-matrix/esm/vec2.js","webpack://G2Plot/./src/plots/column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-line/constants.ts","webpack://G2Plot/./src/utils/hierarchy/util.ts","webpack://G2Plot/../../src/util/arc-params.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isBuffer.js","webpack://G2Plot/./src/utils/data.ts","webpack://G2Plot/./src/utils/view.ts","webpack://G2Plot/./src/core/locale.ts","webpack://G2Plot/./src/plots/funnel/geometries/common.ts","webpack://G2Plot/./src/plots/tiny-area/adaptor.ts","webpack://G2Plot/./src/interactions/actions/drill-down.ts","webpack://G2Plot/./src/plots/venn/constant.ts","webpack://G2Plot/../../src/event/graph-event.ts","webpack://G2Plot/../../src/abstract/base.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/vec3.js","webpack://G2Plot/../../src/util/offscreen.ts","webpack://G2Plot/../../src/util/event.ts","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/linear.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/quad.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/cubic.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/poly.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/sin.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/math.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/exp.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/circle.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/bounce.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/back.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/elastic.js","webpack://G2Plot/../../src/animate/register.ts","webpack://G2Plot/../../src/abstract/container.ts","webpack://G2Plot/../../src/abstract/element.ts","webpack://G2Plot/./node_modules/_detect-browser@5.3.0@detect-browser/es/index.js","webpack://G2Plot/../../src/util/parse.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_freeGlobal.js","webpack://G2Plot/./src/utils/pick.ts","webpack://G2Plot/./src/utils/number.ts","webpack://G2Plot/./src/utils/pattern/util.ts","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/constant.js","webpack://G2Plot/./src/plots/line/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/basic.ts","webpack://G2Plot/./src/plots/gauge/constants.ts","webpack://G2Plot/./src/plots/progress/adaptor.ts","webpack://G2Plot/./src/plots/progress/utils.ts","webpack://G2Plot/./src/plots/stock/constant.ts","webpack://G2Plot/./src/plots/box/constant.ts","webpack://G2Plot/./src/interactions/drill-down.ts","webpack://G2Plot/./src/plots/dual-axes/util/option.ts","webpack://G2Plot/./src/plots/sankey/constant.ts","webpack://G2Plot/./src/plots/sunburst/constant.ts","webpack://G2Plot/./src/plots/venn/interactions/util.ts","webpack://G2Plot/./src/plots/waterfall/constant.ts","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/cluster.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/count.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/each.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/eachAfter.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/eachBefore.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/find.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/sum.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/sort.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/path.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/ancestors.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/descendants.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/leaves.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/links.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/iterator.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/enclose.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/array.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/siblings.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/accessors.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/constant.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/round.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/dice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/partition.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/stratify.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/tree.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/slice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/squarify.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/binary.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/sliceDice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/resquarify.js","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/./node_modules/_lodash-es@4.17.21@lodash-es/_nodeUtil.js","webpack://G2Plot/../../src/abstract/group.ts","webpack://G2Plot/../../src/abstract/shape.ts","webpack://G2Plot/./src/utils/invariant.ts","webpack://G2Plot/./src/utils/deep-assign.ts","webpack://G2Plot/./src/utils/kebab-case.ts","webpack://G2Plot/./src/utils/statistic.ts","webpack://G2Plot/./src/utils/pattern/index.ts","webpack://G2Plot/./src/core/global.ts","webpack://G2Plot/./src/adaptor/geometries/point.ts","webpack://G2Plot/./src/adaptor/geometries/polygon.ts","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/debounce.js","webpack://G2Plot/./src/plots/mix/index.ts","webpack://G2Plot/./src/plots/mix/utils.ts","webpack://G2Plot/./src/plots/area/index.ts","webpack://G2Plot/./src/plots/area/adaptor.ts","webpack://G2Plot/./src/plots/bar/index.ts","webpack://G2Plot/./src/plots/bar/adaptor.ts","webpack://G2Plot/./src/adaptor/brush.ts","webpack://G2Plot/./src/interactions/brush.ts","webpack://G2Plot/./src/utils/conversion.ts","webpack://G2Plot/./src/plots/column/index.ts","webpack://G2Plot/./src/plots/funnel/index.ts","webpack://G2Plot/./src/plots/funnel/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/compare.ts","webpack://G2Plot/./src/plots/funnel/interactions/index.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/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/line/index.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/interactions/index.ts","webpack://G2Plot/./src/utils/matrix.ts","webpack://G2Plot/./src/plots/pie/utils.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/scatter/index.ts","webpack://G2Plot/./src/plots/scatter/adaptor.ts","webpack://G2Plot/./src/interactions/drag-move.ts","webpack://G2Plot/./src/plots/stock/index.ts","webpack://G2Plot/./src/plots/stock/adaptor.ts","webpack://G2Plot/./src/plots/stock/utils.ts","webpack://G2Plot/./src/plots/tiny-area/index.ts","webpack://G2Plot/./src/plots/tiny-column/index.ts","webpack://G2Plot/./src/plots/tiny-column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-line/index.ts","webpack://G2Plot/./src/plots/tiny-line/adaptor.ts","webpack://G2Plot/./src/plots/bidirectional-bar/constant.ts","webpack://G2Plot/./src/plots/bidirectional-bar/utils.ts","webpack://G2Plot/./src/plots/box/utils.ts","webpack://G2Plot/./src/plots/bullet/utils.ts","webpack://G2Plot/./src/plots/chord/constant.ts","webpack://G2Plot/./src/plots/circle-packing/constant.ts","webpack://G2Plot/./src/plots/dual-axes/constant.ts","webpack://G2Plot/./src/plots/dual-axes/types.ts","webpack://G2Plot/./src/plots/liquid/utils.ts","webpack://G2Plot/./src/plots/liquid/shapes/liquid.ts","webpack://G2Plot/./src/plots/sankey/helper.ts","webpack://G2Plot/./src/plots/sankey/sankey/align.ts","webpack://G2Plot/./src/utils/hierarchy/treemap.ts","webpack://G2Plot/./src/plots/treemap/utils.ts","webpack://G2Plot/(webpack)/buildin/harmony-module.js","webpack://G2Plot/./node_modules/_fmin@0.0.2@fmin/build/fmin.js","webpack://G2Plot/./src/plots/venn/layout/circleintersection.ts","webpack://G2Plot/./src/plots/violin/constant.ts","webpack://G2Plot/./src/plots/violin/utils.ts","webpack://G2Plot/./src/plots/waterfall/utils.ts","webpack://G2Plot/./src/plots/word-cloud/constant.ts","webpack://G2Plot/./src/plots/word-cloud/utils.ts","webpack://G2Plot/./node_modules/_d3-timer@1.0.10@d3-timer/src/timer.js","webpack://G2Plot/./node_modules/_d3-color@3.1.0@d3-color/src/define.js","webpack://G2Plot/./node_modules/_d3-color@3.1.0@d3-color/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/basis.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/constant.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/rgb.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/basisClosed.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/numberArray.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/array.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/date.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/number.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/object.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/string.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/value.js","webpack://G2Plot/../../src/animate/timeline.ts","webpack://G2Plot/../../src/event/event-contoller.ts","webpack://G2Plot/../../src/abstract/canvas.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/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/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/../../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/_lodash-es@4.17.21@lodash-es/stubFalse.js","webpack://G2Plot/./src/index.ts","webpack://G2Plot/./node_modules/_process@0.11.10@process/browser.js","webpack://G2Plot/./src/utils/dom.ts","webpack://G2Plot/./src/utils/flow.ts","webpack://G2Plot/./src/utils/geometry.ts","webpack://G2Plot/./src/utils/label.ts","webpack://G2Plot/./src/utils/measure-text.ts","webpack://G2Plot/./src/utils/context.ts","webpack://G2Plot/./src/utils/path.ts","webpack://G2Plot/./src/utils/template.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/locales/en_US.ts","webpack://G2Plot/./src/locales/zh_CN.ts","webpack://G2Plot/./src/adaptor/geometries/area.ts","webpack://G2Plot/./src/adaptor/geometries/edge.ts","webpack://G2Plot/./src/adaptor/geometries/interval.ts","webpack://G2Plot/./src/adaptor/geometries/line.ts","webpack://G2Plot/./src/adaptor/geometries/schema.ts","webpack://G2Plot/./src/adaptor/geometries/violin.ts","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/index.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/sensorPool.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/id.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/sensors/index.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/sensors/object.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.2@size-sensor/lib/sensors/resizeObserver.js","webpack://G2Plot/./src/lab.ts","webpack://G2Plot/./src/plots/mix/adaptor.ts","webpack://G2Plot/./src/plots/area/constants.ts","webpack://G2Plot/./src/interactions/actions/reset-button.ts","webpack://G2Plot/./src/adaptor/connected-area.ts","webpack://G2Plot/./src/adaptor/conversion-tag.ts","webpack://G2Plot/./src/plots/bar/constants.ts","webpack://G2Plot/./src/plots/column/constants.ts","webpack://G2Plot/./src/plots/funnel/geometries/dynamic-height.ts","webpack://G2Plot/./src/plots/funnel/geometries/facet.ts","webpack://G2Plot/./src/plots/funnel/interactions/funnel-conversion-tag.ts","webpack://G2Plot/./src/plots/gauge/shapes/indicator.ts","webpack://G2Plot/./src/plots/gauge/shapes/meter-gauge.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/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/ring-progress/constants.ts","webpack://G2Plot/./src/plots/scatter/util.ts","webpack://G2Plot/./node_modules/_d3-regression@1.3.10@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/tiny-area/constants.ts","webpack://G2Plot/./src/plots/tiny-column/constants.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/bidirectional-bar/index.ts","webpack://G2Plot/./src/plots/bidirectional-bar/adaptor.ts","webpack://G2Plot/./src/plots/box/index.ts","webpack://G2Plot/./src/plots/box/adaptor.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/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/plots/dual-axes/index.ts","webpack://G2Plot/./src/plots/dual-axes/adaptor.ts","webpack://G2Plot/./src/plots/dual-axes/util/geometry.ts","webpack://G2Plot/./src/plots/dual-axes/util/legend.ts","webpack://G2Plot/./src/plots/dual-axes/util/render-sider.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/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/liquid/index.ts","webpack://G2Plot/./src/plots/liquid/adaptor.ts","webpack://G2Plot/./src/plots/liquid/constants.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/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/rose/index.ts","webpack://G2Plot/./src/plots/rose/adaptor.ts","webpack://G2Plot/./src/plots/rose/constant.ts","webpack://G2Plot/./src/plots/sankey/index.ts","webpack://G2Plot/./src/plots/sankey/adaptor.ts","webpack://G2Plot/./src/plots/sankey/circle.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/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/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/./src/plots/sunburst/interactions/index.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/venn/index.ts","webpack://G2Plot/./src/plots/venn/adaptor.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/venn/label.ts","webpack://G2Plot/./src/plots/venn/shape.ts","webpack://G2Plot/(webpack)/buildin/global.js","webpack://G2Plot/./src/plots/venn/utils.ts","webpack://G2Plot/./src/utils/color/blend.ts","webpack://G2Plot/./src/plots/venn/layout/diagram.ts","webpack://G2Plot/./src/plots/venn/layout/layout.ts","webpack://G2Plot/./src/plots/violin/index.ts","webpack://G2Plot/./src/plots/violin/adaptor.ts","webpack://G2Plot/./node_modules/_pdfast@0.2.0@pdfast/src/index.js","webpack://G2Plot/./node_modules/_pdfast@0.2.0@pdfast/src/helper.js","webpack://G2Plot/./src/utils/transform/quantile.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/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/plugin/index.ts","webpack://G2Plot/./src/types/index.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Symbol.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getRawTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_objectToString.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseGetTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isObjectLike.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isString.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_createBaseFor.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseFor.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseTimes.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsArguments.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArguments.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isIndex.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isLength.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsTypedArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseUnary.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isTypedArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayLikeKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isPrototype.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_overArg.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_nativeKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isObject.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isFunction.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArrayLike.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/keys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_createBaseEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseForOwn.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/identity.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_castFunction.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/forEach.js","webpack://G2Plot/../src/fill-path.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/eq.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_assocIndexOf.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_ListCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isMasked.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_coreJsData.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_toSource.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsNative.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getValue.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getNative.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Map.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_nativeCreate.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Hash.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isKeyable.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getMapData.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_MapCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Stack.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setCacheAdd.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_SetCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arraySome.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_cacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalArrays.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Uint8Array.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapToArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setToArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalByTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayPush.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseGetAllKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayFilter.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/stubArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getSymbols.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getAllKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalObjects.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_DataView.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Promise.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Set.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_WeakMap.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsEqualDeep.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsEqual.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isEqual.js","webpack://G2Plot/../src/fill-path-by-diff.ts","webpack://G2Plot/../src/format-path.ts","webpack://G2Plot/../src/rect-path.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"],"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","isArrayLike","isFinite","length","contains","arr","indexOf","filter","func","result","index","push","difference","values","toString","isType","type","isNil","Array","isArray","each","elements","len","isObject","k","keys","obj","isFunction","isMatch","attrs","_keys","isObjectLike","isPlainObject","getPrototypeOf","proto","find","predicate","_predicate","a","findIndex","fromIndex","firstValue","data","rst","flatten","concat","flattenDeep","reduce","prev","curr","Math","max","min","getRange","filterValues","v","isNaN","tmp","getMax","getMin","arrPrototype","splice","pull","_i","arguments","pullAt","indexes","last","previous","fn","init","remove","str","sortBy","comparer","b","keys_1","isString","prop","sort","uniq","cache","Map","item","has","set","union","sources","apply","tmpMap","j","val","head","startsWith","e","endsWith","every","some","groupBy","condition","groupToMap","paramscondition_1","replace","split","row","unique","groups","array","getWrapBehavior","action","wrapBehavior","method","numColorCache","numberToColor","num","color","parseRadius","radius","r1","r2","r3","r4","clamp","fixedBase","base","round","substr","parseFloat","toFixed","isNumber","isDecimal","isEven","isInteger","Number","isNegative","isNumberEqual","precision","abs","isOdd","isPositive","maxItem","Infinity","minItem","mod","DEGREE","PI","toDegree","radian","parseInt","RADIAN","toRadian","degree","lowerCase","toLowerCase","lowerFirst","charAt","substring","substitute","match","slice","undefined","upperCase","toUpperCase","upperFirst","getType","isArguments","isBoolean","isDate","isError","isNull","objectProto","isPrototype","Ctor","constructor","isRegExp","isUndefined","isElement","Element","HTMLDocument","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","f","setTimeout","cancelAnimationFrame","handler","webkitCancelAnimationFrame","mozCancelAnimationFrame","msCancelAnimationFrame","clearTimeout","_mix","dist","mix","src1","src2","src3","augment","args","clone","debounce","wait","immediate","timeout","context","later","callNow","resolver","TypeError","memoized","_deepMix","src","level","maxLevel","deepMix","extend","subclass","superclass","overrides","staticOverrides","Tmp","superObj","isEmpty","size","isEqual","other","valueKeys","otherKeys","map","identity","forEach","defaultValue","keyArr","path","idx","includes","options","leading","Date","now","throttled","remaining","trailing","cancel","prefix","isArraylike","ctx","memoize","text","font","fontSize","fontFamily","fontWeight","fontStyle","fontVariant","document","createElement","getContext","join","measureText","width","__spreadArrays","maxWidth","currentText","currentWidth","PLACEHOLDER_WIDTH","measureTextWidth","leftText","leftWidth","default_1","def","clear","delete","extendStatics","setPrototypeOf","__proto__","__extends","String","__","this","__assign","assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","_","kind","descriptor","done","access","addInitializer","unshift","__runInitializers","thisArg","useValue","__propKey","x","__setFunctionName","description","configurable","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","then","__generator","body","y","g","label","sent","trys","ops","verb","iterator","op","pop","__createBinding","k2","writable","__exportStar","__values","__read","ar","error","__spread","il","jl","__spreadArray","to","from","pack","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","__importDefault","default","__classPrivateFieldGet","receiver","state","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","env","async","dispose","inner","asyncDispose","stack","_SuppressedError","SuppressedError","suppressed","message","Error","__disposeResources","fail","hasError","rec","tslib_1","require","deep_assign_1","deepAssign","dom_1","getContainerSize","flow_1","flow","invariant_1","invariant","LEVEL","log","kebab_case_1","kebabCase","label_1","transformLabel","measure_text_1","number_1","isBetween","isRealNumber","path_1","getSplinePath","pick_1","pick","statistic_1","renderGaugeStatistic","renderStatistic","template_1","template","view_1","addViewAnimation","findViewById","getSiblingViews","getViews","leftTranslate","out","transMat","mat3","fromTranslation","multiply","leftRotate","rad","rotateMat","fromRotation","leftScale","scaleMat","fromScaling","transform","actions","a1","matrix","direction","v1","v2","angleTo","direct","ang","vec2","angle","angleLargeThanPI","vertical","flag","formatPadding","padding","top","left","right","bottom","clearDom","container","children","childNodes","removeChild","hasClass","cName","className","RegExp","regionToBBox","region","start","end","minX","minY","maxX","maxY","height","pointsToBBox","points","xs","point","ys","createBBox","getValueByPercent","percent","getCirclePoint","center","cos","sin","near","pow","EPSILON","getBBoxWithClip","element","bbox","box1","box2","clipShape","getClip","clipBBox","getBBox","isGroup","minX_1","maxX_1","minY_1","maxY_1","getChildren","child","box","leftTop","applyToMatrix","leftBottom","rightTop","rightBottom","boxMinX","boxMaxX","boxMinY","boxMaxY","updateClip","newElement","newClipShape","clipCfg","attr","setClip","toPx","number","getTextPoint","position","offset","p1","p2","dx","dy","offsetPercent","sqrt","textColor","activeTextColor","uncheckedColor","lineColor","regionColor","verticalAxisRotate","horizontalAxisRotate","descriptionIconStroke","descriptionIconFill","getPixelRatio","devicePixelRatio","distance","x1","y1","x2","y2","inBox","intersectRect","mergeRegion","region1","region2","isSamePoint","point1","point2","glMatrix","Float32Array","fromMat4","copy","fromValues","m00","m01","m02","m10","m11","m12","m20","m21","m22","transpose","a01","a02","a12","invert","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","determinant","b00","b02","b10","b12","b20","b22","translate","rotate","scale","fromMat2d","fromQuat","z","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","hypot","add","subtract","multiplyScalar","multiplyScalarAndAdd","exactEquals","equals","a0","a2","a3","a4","a5","a6","a7","a8","b0","b1","b2","b3","b4","b5","b6","b7","b8","mul","sub","event_emitter_1","g2_1","util_1","size_sensor_1","utils_1","PLOT_CONTAINER_OPTIONS","Plot","_super","_this","getElementById","getDefaultOptions","createG2","bindEvents","renderer","xAxis","nice","autoRotate","autoHide","cfg","minGap","yAxis","animation","_a","defaultInteractions","chart","Chart","autoFit","getChartSize","localRefresh","setAttribute","chartSize","on","emit","render","animate","views","execAdaptor","bindSizeSensor","update","updateOption","setState","status","getAllElementsRecursively","ele","getData","getStates","stateObjects","states","geometry","changeData","changeSize","addAnnotations","annotations","view","incoming","controller","getController","current","getComponents","co","extra","annotation","id","removeAnnotations","destroy","unbindSizeSensor","off","removeAttribute","adaptor","getSchemaAdaptor","appendPadding","triggerResize","forceFit","unbind","SHAPE_TO_TAGS","rect","circle","line","marker","polyline","polygon","image","ellipse","dom","SVG_ATTR_MAP","opacity","fillStyle","fill","fillOpacity","strokeStyle","strokeOpacity","stroke","rx","ry","lineCap","lineJoin","lineWidth","lineDash","lineDashOffset","miterLimit","startArrow","endArrow","class","style","preserveAspectRatio","LAYER","DIRECTION","COMPONENT_TYPE","VIEW_LIFE_CIRCLE","GEOMETRY_LIFE_CIRCLE","PLOT_EVENTS","ELEMENT_STATE","GROUP_Z_INDEX","GROUP_ATTRS","ENGINES","getEngine","G","registerEngine","engine","h","getComputedStyle","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","getElementSize","Base","destroyed","visible","show","changeVisible","hide","EE","toScaleString","Attribute","names","scales","linear","callback","_parseCfg","mapping","params","param","_toOriginParam","getLinearValue","steps","floor","leftPercent","getNames","getFields","field","getScale","defaultCallback","_getAttributeValue","_b","_c","_d","ret","isCategory","isLinear","Color","gradient","colorUtil","Opacity","Position","scaleX","scaleY","xi","yi","Shape","Size","ATTRIBUTE_MAP","getAttribute","registerAttribute","Coordinate","isRect","isHelix","isPolar","isReflectX","isReflectY","isTransposed","originalMatrix","initial","convertDim","dim","isReflect","invertDim","applyMatrix","tag","vector","vec3","transformMat3","invertMatrix","inverted","convert","convertPoint","invertPoint","ext","reflect","s1","s2","getCenter","getWidth","getHeight","getRadius","resetMatrix","Cartesian","Helix","startAngle","endAngle","innerRadius","maxRadius","thi","newY","rMin","Polar","oneBox","getOneBox","oneWidth","oneHeight","circleCenter","polarRadius","vPoint","vStart3","vStart2","xPercent","yPercent","COORDINATE_MAP","registerCoordinate","LineAxis","Axis","Line","CircleAxis","Circle","LineGrid","Grid","CircleGrid","CategoryLegend","Legend","Category","ContinuousLegend","Continuous","HtmlTooltip","Tooltip","Html","uniqueValues","Set","mid","polarToCartesian","centerX","centerY","angleInRadian","getSectorPath","startAngleInRadian","endAngleInRadian","innerStart","innerEnd","middlePoint","innerMiddlePoint","circlePathCommands","arcSweep","sectorPathCommands","getArcPath","getAngle","shapeModel","coordinate","getPointsBox","coordStartAngle","diffAngle","getReplaceAttrs","sourceShape","targetShape","originAttrs","newAttrs","omit","sourceArray","targetArray","sourceArray_1","sourceArray_1_1","source","BBox","fromRange","fromObject","subBBox","merge","cut","TOP","TOP_LEFT","TOP_RIGHT","RIGHT","RIGHT_TOP","RIGHT_BOTTOM","BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT","LEFT_TOP","LEFT_BOTTOM","shrink","gap","expand","exceed","collide","isPointIn","getXDimensionLength","getDistanceToCenter","getAngleByPoint","atan2","getCoordinateClipCfg","margin","endState","startAngle_1","endAngle_1","center_1","radius_1","startState","ratio","diff","dateRegex","inferScaleType","scaleDef","attrType","geometryType","createScaleByField","validData","valuesOfKey","test","getDefaultType","getName","alias","getDefaultCategoryScaleRange","theme","range","count","isFullCircle","getAxisRegion","getLineAxisRelativeRegion","getCircleAxisRelativeRegion","isVertical","getAxisFactorByRegion","getAxisThemeCfg","axisTheme","getAxisTitleOptions","axisOptions","getCircleAxisCenterRadius","startVector","normalVector","getAxisOption","axes","getAxisDirection","axisOption","getAxisTitleText","Facet","facets","getDefaultCfg","createContainer","generateFacets","renderViews","clearFacetViews","facetToView","facet","createView","beforeEachView","eachView","afterEachView","getLayer","FORE","addGroup","createFacetViews","removeView","parseSpacing","viewBBox","spacing","getFieldValues","getRegion","rows","cols","xIndex","yIndex","xSpacing","ySpacing","xRatio","yRatio","showTitle","fields","getDefaultTitleCfg","getTheme","processAxis","getOptions","coordinateOption","geometries","getXYFields","xOption","yOption","getXAxisOption","getYAxisOption","getFacetDataFilter","conditions","datum","Facets","getFacet","registerFacet","Action","addAction","applyCfg","removeAction","CallbackAction","execute","ActionCache","getActionClass","actionName","actionOption","registerAction","ActionClass","createCallbackAction","_convertArr","coord","_convertArcPath","catmullRom2bezier","crp","constraint","isLoop","pointList","cp1","cp2","controlPointList","smooth","prevPoint","nextPoint","nextCp0","cp0","cps","hasConstraint","d0","d1","sum","smoothBezier","getLinePath","isInCircle","length_1","_points2path","constaint","first","prePoint","splinePath","convertPolarPath","pre","cur","transposed","subPath","curPoint","xDim","angleRange","middleConvertPoint","_convertPolarPath","_filterFullCirleLine","getMaskBBox","tolerance","getMaskBBoxByShape","event","isValidMaskBBox","maskShape","maskBBox","getCanvasBBox","getMultiMaskBBoxList","maskShapes","bBox","getMaskPathByMaskShape","getCurrentElement","getDelegationObject","delegateObject","isElementChange","gEvent","fromShape","toShape","isList","component","isSlider","isMask","isMultipleMask","getMaskedElements","maskPathList","getMultiMaskPathList","flatMap","maskPath","getElementsByPath","maskBBoxList","getIntersectElements","getMultiMaskedElements","getMaskPath","getSiblingMaskElements","sibling","getSiblingMaskElementsByBBox","getSiblingMultiMaskedElements","getSiblingPoint","getElements","geom","subView","getElementsByState","stateName","getElementsBy","el","hasState","getElementValue","record","getModel","shapeBBox","shape","pathToPoints","seg","shapePoints","isPolygonsIntersect","isInBox","getSilbings","parent","siblings","normalPoint","getCoordinate","point2Normalize","isInRecords","records","xFiled","yField","isIn","getScaleByField","Context","cacheMap","getAction","getCurrentPoint","HTMLElement","getCanvas","getPointByClient","clientX","clientY","getCurrentShape","isInPlot","isPointInPlot","isInShape","isInComponent","components","Interaction","initEvents","clearEvents","parseAction","actionStr","arg","createAction","methodName","executeAction","actionObject","STEP_NAMES","GrammarInteraction","callbackCaches","emitCaches","initContext","stepArr","stepName","getActionCallback","bindEvent","trigger","offEvent","InteractionContext","subSteps","actionArr","argArr_1","isAllowStep","currentStepName","isAllowExecute","getKey","once","isEnable","enterStep","afterExecute","actionCallback","throttle","eventName","nameArr","addEventListener","removeEventListener","Interactions","getInteraction","registerInteraction","interaction","createThemeByStyleSheet","styleSheet","shapeStyles","pointFillColor","pointSize","pointBorderColor","pointBorder","pointFillOpacity","active","pointActiveBorderColor","pointActiveBorder","selected","pointSelectedBorderColor","pointSelectedBorder","inactive","pointInactiveFillOpacity","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","lineBorderColor","lineBorder","lineBorderOpacity","lineAppendWidth","lineActiveBorder","lineSelectedBorder","lineInactiveBorderOpacity","axisStyles","title","axisTitleSpacing","axisTitleTextFillColor","axisTitleTextFontSize","lineHeight","axisTitleTextLineHeight","textBaseline","iconStyle","axisDescriptionIconFillColor","autoEllipsis","axisLabelOffset","axisLabelFillColor","axisLabelFontSize","axisLabelLineHeight","axisLineBorder","axisLineBorderColor","grid","axisGridBorderColor","axisGridBorder","axisGridLineDash","alignTick","tickLine","axisTickLineBorder","axisTickLineBorderColor","axisTickLineLength","subTickLine","createAxisStyles","legendStyles","symbol","legendMarkerSpacing","legendCircleMarkerSize","legendMarkerColor","itemName","legendItemNameFillColor","legendItemNameFontSize","legendItemNameLineHeight","legendItemNameFontWeight","textAlign","itemStates","nameStyle","unchecked","markerStyle","flipPage","pageNavigator","legendPageNavigatorMarkerSize","inactiveFill","legendPageNavigatorMarkerInactiveFillColor","inactiveOpacity","legendPageNavigatorMarkerInactiveFillOpacity","legendPageNavigatorMarkerFillColor","legendPageNavigatorMarkerFillOpacity","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","middleAngle","tick","funnel","pyramid","dot","dash","hv","vh","hvh","vhv","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","TOOLTIP_CSS_CONST","CONTAINER_CLASS","visibility","zIndex","transition","tooltipContainerFillColor","tooltipContainerFillOpacity","boxShadow","tooltipContainerShadow","borderRadius","tooltipContainerBorderRadius","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","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","token","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","value2","filterYValue","yScale","getYScale","yValue","originData","getXDistance","scaleValues","numericValue","getTooltipValueScale","attributes","attribute","getAttributesForLegend","attributes_1","attributes_1_1","tmpScale","scaleDefs","xScale","getXScale","findDataByPoint","xField","xValue","rangeMax","rangeMin","getXValueByPoint","firstXValue","firstYValue","lastXValue","isYArray","firstIdx","lastIdx","middleIdx","getTooltipItems","showNil","tooltipTitle","titleField","titleScale","getText","getTooltipTitle","tooltipOption","items","addItem","itemValue","mappingData","callbackParams","itemCfg","fields_1","fields_1_1","valueScale","eachValue","getTooltipValue","nameScale","groupScales","getGroupScales","getTooltipName","getTooltipItemsByFindData","tooltipCfg","dataArray","dataArray_1","dataArray_1_1","elementId","getElementId","elementsMap","getTooltipItemsByHitShape","getShape","findItemsFromView","reversed","geometries_1","geometries_1_1","tooltipItems","reverse","parsePadding","paddingArray","LOAD_COMPONENT_CONTROLLERS","registerComponentController","plugin","CoordinateController","option","wrapperOption","hasAction","isTheta","props","C","execActions","adjust","sx","sy","getOption","includeActions","Event","fromData","GEvent","originalEvent","defaultLayout","ScalePool","syncScales","createScale","finalScaleDef","cacheScaleMeta","getScaleMeta","cacheScale","cacheScaleDef","sync","scaleKeys","syncKey","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isContinuous","change","sm","newScale","syncScale","getSyncKey","removeFromSyncScales","scaleMeta","deleteScale","PaddingCal","instance","inc","getPadding","calculatePadding","isAutoPadding","paddingCal","axisComponents","paddingComponents","otherComponents","AXIS","LEGEND","SLIDER","SCROLLBAR","GRID","TOOLTIP","bboxObject","getLayoutBBox","componentPadding","componentBBox","defaultSyncViewPadding","PC","syncPadding","autoPadding","View","controllers","interactions","limitInPlot","usedControllers","scalePool","layoutFunc","isPreMouseInPlot","isDataChanged","isCoordinateChanged","createdScaleKeys","onCanvasEvent","evt","createViewEvent","doPlotEvent","onDelegateEvents","uniqueId","canvas","backgroundGroup","middleGroup","foregroundGroup","syncViewPadding","setLayout","calculateViewBBox","initComponentController","initOptions","isUpdate","payload","BEFORE_RENDER","paint","AFTER_RENDER","BEFORE_CLEAR","filteredData","coordinateInstance","labelsContainer","getRootView","AFTER_CLEAR","BEFORE_DESTROY","draw","console","warn","filters","legendOption","scaleOption","guide","coordinateCfg","coordinateController","facetInstance","updateOptions","coordinateBBox","opt","existInteraction","interaciton","createInteraction","removeInteraction","BEFORE_CHANGE_DATA","AFTER_CHANGE_DATA","sharedOptions","legends","removedView","getYScales","yScales","getScalesByDim","dimType","defaultKey","getScaleKey","getOriginalData","getGeometries","layer","BG","MID","isPointInCoordinate","getLegendAttributes","getGroupAttributes","getXY","xScales","showTooltip","hideTooltip","lockTooltip","unlockTooltip","isTooltipLocked","getSnapRecords","dataLen","snapRecords","filterData","filterFieldData","adjustCoordinate","curStart","curEnd","bl","tr","renderDataRecursive","BEFORE_PAINT","renderPaddingRecursive","renderLayoutRecursive","renderBackgroundStyleShape","renderPaintRecursive","AFTER_PAINT","backgroundStyleRectShape","addShape","capture","toBack","initComponents","syncViewPaddingFn","doLayout","paintGeometries","renderComponents","currentScaleDef","mergedScaleDef","doFilterData","createCoordinate","initGeometries","renderFacet","controllerName","currentInPlot","newEvent","TYPE","MOUSE_LEAVE","LEAVE","MOUSE_ENTER","ENTER","createOrUpdateScales","getGeometryScales","adjustScales","getScaleFields","groupedFields","getGroupedFields","getGroupFields","adjustCategoryScaleRange","xyScales","scaleOptions","isIdentity","doAnimation","canvasRegion","_e","events","geometryOption","createGeometry","interactionOption","viewOption","annotationComponent","annotationOption","eventCallback","rest","geometry_1","registerGeometry","pixelRatio","supportCSSTransform","_f","wrapperElement","createDom","appendChild","Canvas","onResize","updateCanvasStyle","bindAutoFit","initDefaultInteractions","aria","ariaOption","BEFORE_CHANGE_SIZE","AFTER_CHANGE_SIZE","unbindAutoFit","parentNode","modifyCSS","verticalAlign","Controller","includeOption","isLocked","isVisible","getTitle","dataPoint","getTooltipCfg","lastItems","lastTitle","tooltipMarkersGroup","renderTooltip","getItemsAfterProcess","renderTooltipMarkers","isCrosshairsFollowCursor","renderCrosshairs","xCrosshair","yCrosshair","setCapture","guideGroup","reset","tooltipCrosshairsGroup","items_1","items_1_1","itemArr","itemArr_1","e_2","itemArr_1_1","snapItem","items_2","items_2_1","aItem","yDistance","uniqItems","subItem","isCursorEntered","getContainer","getBoundingClientRect","processOption","processCustomContent","defaultCfg","currentCustomContent","customContent","content","getTooltipMarkersGroup","rootView","items_3","items_3_1","attrs_1","markerDefaultCfg","crosshairsType","renderXCrosshairs","renderYCrosshairs","getViewWithGeometry","getTooltipCrosshairsGroup","getCrosshairsText","Crosshair","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","labelShape","shapeFactory","offscreenGroup","elementIndex","model","shapeType","getShapeType","drawShape","setShapeInfo","getOffscreenGroup","newShape","origin","syncShapeStyle","getAnimateCfg","statesStyle","stateStatus","sortZIndex","zIndexReversed","setZIndex","offscreenShape","eventObject","propagationDelegate","clearStates","labelBBox","getStatesStyle","stateOption","defaultShapeType","stateTheme","getStateStyle","shapeKey","stateCfg","shapeStyle","cfg_1","AFTER_DRAW_ANIMATE","name_1","BEFORE_DRAW_ANIMATE","GroupCtor","getGroupBase","clip","newClip","newChildren","name_2","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","parsePathString","convertNormalPath","parsePoint","parsePoints","ShapeFactoryMap","registerShapeFactory","factoryName","geomObj","registerShape","shapeObj","getShapeFactory","isModelChange","currentModel","preModel","parseFields","keyItem","added","updated","removed","keyIncluded","Geometry","animateOption","attributeOption","lastElementsMap","generatePoints","beforeMappingData","adjusts","idFields","hasSorted","sortable","intervalPadding","dodgePadding","useDeferredLabel","userTheme","positionCfg","createAttrOption","adjustCfg","adjustOption","styleFunc","styleOption","secondParam","thirdParam","labelOption","customInfo","customOption","setCfg","initAttributes","processData","adjustScale","lastAttributeOption","defaultSize","beforeMapping","updateElements","canDoGroupAnimation","yMinPoint","getYMinValue","minYPoint","doGroupAppearAnimate","deferred","renderLabels","requestIdleCallback","geometryLabel","getDefaultValue","attrName","getAttributeValues","getAdjust","adjustType","getShapeMarker","shapeName","xVal","yVal","length_2","dodgeAdjust","dodgeBy","attributeType","eachOpt","length_3","uniqMap","groupFields","length_4","attributeName","getXField","getYField","getShapes","mappingArray","xScale_1","xField_1","obj1","obj2","updateStackRange","createShapePointsCfg","normalizeValues","y0","mappingDatum","shapeCfg","getDrawCfg","defaultStyle","getStyleCfg","nextPoints","mappingDataArray","keyDatum","keyIndex","finalKey","added_1","added_1_1","updated_1","updated_1_1","currentShapeCfg","preShapeCfg","removed_1","removed_1_1","getLabelType","coordinateType","labelType","attrCfg","AttributeCtor","getAttributeClass","categoryScales","groupedArray","groupData","beforeAdjust","subData","subLen","categoryScales_1","e_4","categoryScales_1_1","adjustData","xScale_2","xDimensionLength","groupNum","sizeAttr","adjustNames","dodgeRatio","reverseOrder","adjustCtor","getAdjustClass","dimValuesMap","adjustInstance","process","appendConditions","values_1","values_1_1","eachGroup","group","mergeArray","tmpMin","tmpMax","length_5","currentData","generateShapePoints","nextData","shapeAttr","newRecord","_origin","mappingRecord","rstX","rstY","xLen","yLen","BEFORE_RENDER_LABEL","GeometryLabelsCtor","labelsMap","labelsRenderer","shapesMap","elementLabels","labelGroup","labelGroupId","labelChildren","entries","AFTER_RENDER_LABEL","getMatrix","setMatrix","rotateRadian","getRotateMatrix","findLabelTextShape","getLabelBackgroundInfo","labelItem","boxPadding","rotation","checkShapeOverlap","dones","Labels","createOffscreenGroup","renderLabel","renderLabelLine","renderLabelBackground","adjustLabel","lastShapesMap","origin_1","currentAnimateCfg","currentShape","updateLabel","updateAnimateCfg","fromChild","toChild","getChildByIndex","getCount","deleteShape","shapeAppendCfg","isShape","layouts","all","labelShapes","geometryShapes","labelItems","labelLineCfg","labelContentShape","backgroundShape","findAll","offsetX","offsetY","avg","GeometryLabel","getLabelItems","mapppingArray","labelCfgs","getLabelCfgs","labelCfg","labelContent","total","subIndex","getLabelPoint","getLabelAlign","getLabelsRenderer","getGeometryShapes","getDefaultLabelCfg","getThemedLabelCfg","defaultLabelCfg","setLabelPosition","labelPointCfg","getLabelOffset","getOffsetVector","getLabelOffsetPoint","factor","offsetPoint","getDimValue","isAvg","isFunnel","centroid","former","getPolygonCentroid","getLabelId","labelId","labelScales","callbackCfg","originText","getLabelText","originValues","labelTexts","subVal","actualOffset","getMappingValue","restArgs","MarkerSymbols","diffX","diffY","STROKES_SYMBOLS","setMarkerSymbol","getLegendLayout","getLegendItems","themeMarker","userMarker","field_1","colorAttr_1","shapeAttr_1","defaultColor_1","isInPolar_1","getTicks","scaleValue","isInPolar","adpatorMarkerStyle","getLegendThemeCfg","legendTheme","isValueEmpty","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","LineShapeFactory","VERSION","Util","zoom","antvDark","legendSpacing","overflowLabelFillColorDark","overflowLabelFillColorLight","createDarkStyleSheet","Path","keyData","getShapeInfo","getPointsAndData","registeredShape","topLinePoints_1","bottomLinePoints_1","pointsData","parsedPoints","pathPoints","eachPoints","getConstraint","pointInfo","yItem","AreaShapeFactory","Area","startOnZero","EdgeShapeFactory","Edge","Heatmap","paletteCache","prepareRange","prepareSize","blur_1","prepareGreyScaleBlurredCircle","drawWithRange","clearShadowCanvasCtx","colorField","getDefaultSize","blur","grayScaleBlurredCanvas","getGrayScaleBlurredCanvas","clearRect","beginPath","closePath","valueField","getShadowCanvasCtx","data_1","data_1_1","alpha","drawGrayScaleBlurredCircle","colored","getImageData","colorize","putImageData","imageShape","getImageShape","ticks","shadowCanvas","globalAlpha","drawImage","img","colorAttr","pixels","palette","ColorUtil","rgb2arr","getRectPoints","yMin","yMax","xMin","xMax","getRectPath","isClosed","firstPoint","minLength","getBackgroundRectPath","p0","isReflectYTransposed_1","bump","opposite","getFunnelPath","isPyramid","swap","backgroundCfg","backgroundPath","_h","p3","_j","_g","getRectWithCornerRadius","coor","getIntervalRectPath","xValues","sourceArr","findMinDistance","normalizedSize","wr","dodgeCount","mergeData","getDodgeCount","normalizedMaxColumnWidth","normalizedMinColumnWidth","Interval","SHAPES","drawPoints","pointPosition","points_1","points_1_1","PointShapeFactory","Point","subX","subY","PolygonShapeFactory","Polygon","temp","xOffset","yOffset","Schema","sizeArr","maxValue","normalizeSize","_size","isMin","isMax","ViolinShapeFactory","Violin","_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","IntervalLabel","getLabelValueDir","dir","point0","nextP0","nextP1","HALF_PI","PolarLabel","labelEmit","arcPoint","isToMiddle","getMiddlePoint","getArcPoint","getPointAngle","isLabelEmit","labelPositionCfg","getLabelRotate","labelAngle","asin","PieLabel","isLabelLimit","startPoint","endPoint","antiCollision","plotRange","invisible","overlapping","startY","endY","totalHeight","MIN_VALUE","boxes","targets","pos","previousBox","posInCompositeBox","Greedy","bitmap","xGap","yGap","hasGap","fillGap","adjustLabelPosition","getAxes","rotateAtPoint","deg","getProjection","scalars","isProjectionOverlap","projection1","projection2","isValidBox","intersect","isIntersectRect","rect1Points","rect2Points","MyWorker","url","queue","worker","Worker","onmessage","onmessageerror","post","onError","postMessage","terminate","code","generateUtils","methods","eventData","JSON","parse","self","blob","Blob","BlobBuilder","append","getBlob","URL","createObjectURL","createWorker","layoutCode","preset","shouldInShape","textShape","textBBox","shouldInShapeSingle","hasSome","compare","rightText","doScaleAnimate","endMatrix","scaledMatrix","transformShape","arcPath","getArcParams","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","List","colValues","getPageCount","getRowCol","col","pageSize","Matrix","columnTitle","rowTitle","facetIndex","Mirror","columnValues","rowValues","Rect","Tree","afterChartRender","drawLines","rootFacet","getRows","getChildFacets","setRegion","forceColIndex","xWidth","yWidth","leafs","isLeaf","levelFacets","getFacetsByLevel","levelFacets_1","e_1","levelFacets_1_1","originColIndex","getRegionIndex","addFacetLines","subFacet","subRegion","middle1","middle2","drawLine","getMedian","getNormalizedValue","scaled","ANNOTATIONS_AFTER_RENDER","Annotation","foregroundContainer","backgroundContainer","onAfterRender","updateOrCreate","getCacheKey","syncCache","updateCache","clearComponents","doWhat","createAnnotation","AnnotationComponent","getAnnotationTheme","getAnnotationCfg","isTop","NONE","ANNOTATION","regionFilter","html","parsePosition","xPos","yPos","parsePercentPosition","getRegionPoints","startIndex","viewData","startXValue","endXValue","topLeft","getCoordinateBBox","sp","ep","textPoint","textContent","start_5","end_5","lineLength","apply_1","shapes_1","addShapes_1","elem","render_1","restOptions","_k","html_1","getComponentContainer","newCache","getGridThemeCfg","getLineGridItems","tickValue","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","maxHeight","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","Slider","onChangeFn","noop","resetMeasure","onValueChange","changeViewData","getSliderCfg","updateSlider","createSlider","measureSlider","getMinMaxText","minText","maxText","SliderComponent","trendCfg","getThemeOptions","ticks_1","dataSize","xTickCount","minIndex","maxIndex","xScaleValues","Scrollbar","getValidScrollbarCfg","originalAnimate","getScrollRange","trackLen","thumbLen","updateScrollbar","createScrollbar","measureScrollbar","getScrollbarComponentCfg","isHorizontal","thumbOffset","cnt","xScaleCfg","yScalesCfg","setValue","getValue","getScrollbarTheme","thumbHighlightColor","restStyles","getScrollbarData","getStep","getCnt","startIdx","endIdx","tickMethod","ScrollbarComponent","realConfig","categorySize","DEFAULT_REGION_PATH_STYLE","getItemsOfView","findItemsFromViewRecurisive","ActiveRegion","ev","xValue_1","elements_1","coordinate_1","firstBBox_1","lastBBox_1","groupBBox_1","appendRatio","appendWidth","firstElement","lastElement","innterRadius","regionPath","TooltipAction","timeStamp","lastTimeStamp","preLoc","location","curLoc","SiblingTooltip","siblingPoint","EllipsisText","tipContent","tooltipStyles","StateBase","setElementState","enable","setStateEnable","clearViewState","getItem","ElementState","ignoreListItemStates","isItemIgnore","list","setStateByComponent","setElementsStateByItem","setStateByElement","isMathItem","event_1","toggle","ElementActive","StateAction","LinkByColor","getColorScale","getLinkPath","nextElement","nextBBox","addLinkShape","activeStyle","linkByElement","getElementsByField","group_1","linkGroup","count_1","nextEl","removeLink","link","unlink","ElementRangeState","isStarted","effectSiblings","effectByRecord","setSiblingsState","allElements","setSiblingsStateByRecord","setElementsState","effectElements","ElementRangeActive","ElementSingleState","ElementSingleActive","clearHighlight","setHighlightBy","EVENTS","STATUS_UNACTIVE","INACTIVE","STATUS_ACTIVE","ACTIVE","ElementHighlight","setElementHighlight","activeElements","allCancel_1","highlight","HighlightColor","highlightElements","Highlight","HighlightX","ElementRangeHighlight","BEFORE_HIGHLIGHT","AFTER_HIGHLIGHT","ElementSingleHighlight","ElementRangeSelected","ElementMultipleSelected","ElementSingleSelected","ListState","ignoreItemStates","getTriggerListInfo","info","getAllowComponents","allowSetStateByElement","clearAllComponentsState","clearItemsState","componentNames","allowSetStateByItem","ignoreStates","setItemsState","setItemState","getItems","triggerInfo","ListActive","ListHighlight","activeItems","getItemsByState","ListSelected","ListUnchecked","ListChecked","setCheckedBy","list_1","checked","ListFocus","clickedItem","checkedItems","uncheckedItems","checkedItem","items_4","items_4_1","TIP_ID","ListRadio","showTip","hideTip","containerId","MaskBase","starting","moving","preMovePoint","emitEvent","createMask","maskAttrs","getMaskAttrs","draggable","updateMask","maskStyle","moveStart","move","currentPoint","moveEnd","resize","CircleMask","RectMask","clampPoint","inPlot","normalStart","normalEnd","DimRect","PathMask","addPoint","getSpline","SmoothPathMask","MultipleMaskBase","recordPoints","maskType","multiPoints","recordPointStart","updateShapesCapture","getCurMaskShapeIndex","recordPointContinue","clearAll","recordPointClear","getRecordPoints","lastPoints","isCapture","isHit","RectMultiMask","DimRectMultiMask","MultipleRectMask","CircleMultiMask","PathMultiMask","SmoothPathMultiMask","MultiplePathMask","CursorAction","setCursor","cursor","pointer","crosshair","help","eResize","wResize","nResize","sResize","neResize","nwResize","seResize","swResize","nsResize","ewResize","zoomIn","zoomOut","DataFilter","filterView","unCheckedItems","scale_1","names_1","min_1","max_1","getFilter","minValue","arr_1","RangeFilter","dims","hasDim","BEFORE_FILTER","normalCurrent","reRender","FILTER","AFTER_FILTER","BEFORE_RESET","RESET","AFTER_RESET","SiblingFilter","ElementFilter","maskElements_1","byRecord","filterByRecord","filterByBBox","maskElements","ButtonAction","buttonGroup","buttonCfg","getButtonCfg","drawButton","buttonShape","resetPosition","Drag","dragStart","drag","Move","isMoving","startMatrix","ScaleTranslate","cfgFields","cacheScaleDefs","resetDim","startCache","noramlCurrent","translateDim","translateLinear","TransformAction","zoomRatio","zoomDim","dRatio","zoomLinear","toMin","toMax","MousewheelScroll","scroll","wheelDelta","scrollbarController","currentRatio","nextStart","deltaY","isWheelDown","correction","nextRatio","AxisDescription","descriptionTooltipStyle","isPointInView","preventDefault","CanvasEngine","SVGEngine","greedy","canFill","totalHeight_1","lineHeight_1","plotRange_1","halves_1","maxLabelsCountForOneSide","isRight","labelShapes_1","labelShapes_1_1","rPow2","dyPow2","innerPoint","itemX","itemY","maxTimes","dxdy","maxDelta","nt","times","accessedCache","spiralFill","memoKey","stringify","cb","res","regionMinX","regionMinY","regionMaxX","regionMaxY","finalX","finalY","translateX_1","textBox","DOT_WIDTH","getEllipsisText","labels_1","labels_1_1","labelOffset","separateLabels","totalR","labelsContainerRange","dxPow2","dx_offset","smoothConnector","atan","sweepFlag","breakPoint","breakPoint3","xSign","slope1","slope2","E","drawLabelline","overflow","fillWhite","rgb","toRGB","isContrastColorWhite","moveInShape","filteredLabels","pages","filterLabel","todo","groupedLabels","addCurrentGroup","curItems","sortedCollections","sortedLabels","sortLabels","downFail","inRight","inflectionPoint","totalOffset","halfHeight","originalPos","pathCommands","curStartAngle","curEndAngle","preStartAngle","preEndAngle","diffStartAngle","diffEndAngle","onFrameStartAngle","onFrameEndAngle","getTotalLength","EllipsisTextAction","ElementHighlightByX","ElementHighlightByColor","ElementSelected","ElementLinkByColor","DimMask","DataRangeFilter","ElementSiblingFilter","ViewDrag","ViewMove","ScaleZoom","showEnable","processing","rollback","version","eventType","attachEvent","detachEvent","TABLE","TABLE_TR","FRAGMENT_REG","CONTAINERS","tbody","thead","tfoot","td","th","$1","innerHTML","getOuterHeight","offsetHeight","bTop","pTop","pBottom","getOuterWidth","offsetWidth","bLeft","pLeft","pRight","bRight","mRight","css","constant_1","seriesField","meta","AXIS_META_CONFIG_KEYS","annotationOptions","annotationController","transformations","pattern_1","pattern","COPY_PROPERTIES","COPY_PROPERTIES_EXCLUDES","GroupComponent","isRegister","isUpdating","isInit","clearOffScreenCache","getChildComponentById","getElementByLocalId","localId","getElementsByName","updateInner","offScreenRender","offScreenGroup","deleteElements","applyOffset","initEvent","removeEvent","getInnerLayoutBBox","getTotalMatrix","applyMatrix2BBox","initGroup","delegateEmit","createOffScreenGroup","getDelegateObject","moveElementTo","isComponent","renderInner","appendDelegateObject","registerElement","addComponent","restCfg","inst","updateAutoRender","unregisterElement","getMatrixByTranslate","addAnimation","elmentName","originOpacity","removeAnimation","originElement","updateAnimation","newGroup","originGroup","preElement","childComponent","origChildComponent","newCfg","replaceAttrs","registerNewGroup","clearUpdateStatus","parentObject","deleteArray","callbackAnimCfg","removeElement","Component","removeFromArray","isBrowser","isParent","isCanvas","getParent","isAllowCapture","getBBoxByArray","xArr","yArr","getBBoxRange","piMod","pointAt","pointDistance","pointToLine","u","tangentAngle","nearestPoint","tCallback","v0","segNum","increaseRate","_t","d2","quadraticAt","onet","extrema","derivativeAt","divideQuadratic","x3","y3","xt","yt","controlPoint1","controlPoint2","xExtrema","yExtrema","quadraticLength","iterationCount","quadratics","x0","interpolationAt","divide","cubicAt","t1","t2","discSqrt","extremas","disc","divideCubic","x4","y4","c3","c12","c23","cubicLength","totalLength","snapLength","cubics","copysign","absv","nearestX","nearestY","relativeX","relativeY","px","py","squareA","squareB","ex","ey","rx1","ry1","qx","qy","xAt","cx","cy","xRotation","yAt","getPoint","tan","xAngle","yDim","yAngle","relativeVector","relativePoint","derivativeXAt","derivativeYAt","analyzePoints","segments","lengthOfSegment","pointAtSegments","startRatio","localRatio","angleAtSegments","distanceAtSegment","minDistance","distance_1","ARRAY_TYPE","RANDOM","random","area_1","edge_1","interval_1","line_1","point_1","polygon_1","schema_1","violin_1","createSVGElement","createElementNS","sortDom","sorter","childList","toArray","fragment","createDocumentFragment","moveTo","targetIndex","node","nodeType","nodeName","insertBefore","targetNext","NAME_CLASS","CROSSHAIR_X","CROSSHAIR_Y","identityMatrix","getMatrixByAngle","currentMatrix","getAngleByMatrix","multiplyVec2","topRight","bottomLeft","bottomRight","applyRotate","applyTranslate","translateMatrix","SHAPE_ATTRS_MAP","applyAttrsToContext","setLineDash","parseStyle","drawChildren","skipDraw","checkRefresh","refreshElements","parent_1","refresh","setChildrenRefresh","checkChildrenRefresh","hasChanged","checkElementRefresh","clearChanged","cacheCanvasBBox","isInView","drawPath","arcParamsCache","startMovePoint","tangent","getStartTangent","ArrowUtil","getEndTangent","lineTo","quadraticCurveTo","bezierCurveTo","arcParams","refreshElement","changeType","_cacheCanvasBBox","getMergedRegion","minXArr","minYArr","maxXArr","maxYArr","cacheBox","validCache","validBBox","getRefreshRegion","mergeView","viewRegion","freeSelf","freeGlobal","Function","_addDefaultArrow","isStart","arrowShape","isArrowShape","_addCustomizedArrow","arrowAttrs","arrowFill","arrowStroke","arrowLineWidth","restAttrs","getShortenOffset","addStartArrow","addEndArrow","setShadow","addShadow","setTransform","hasAttribute","createPath","addClip","getMappingField","shapeField","styleField","rawFields","mappingFields","tileMappingField","getMappingFunction","tooltipFields","multiplyMatrix","regexTags","regexDot","catmullRom2Bezier","SPACES","PATH_COMMAND","PATH_VALUES","pathString","paramCounts","REGEX_MD","toSymmetry","pathToAbsolute","pathArray","needProcess","cmd","mx","my","ii","pa","preParams","upCmd","jj","symetricT","symetricS","vMag","vRatio","vAngle","acos","arcFlag","xp","yp","lambda","cxp","cyp","theta","dTheta","getSegments","nextParams","lastStartMovePointIndex","segment","startTangent","endTangent","cp","preSegment","dx1","dy1","dx2","dy2","dcmp","onSegment","isInPolygon","parseToLines","lines","lineIntersectPolygon","isIntersect","D0","D1","kross","getLineIntersect","points1","points2","bbox1","bbox2","isPointInPolygon","lines1","lines2","charAtLength","charCodeAt","getMaxLabelWidth","texts","maxLen","maxIdx","getMaxLabelWidthOptimized","ellipsisLabel","limitLength","ellipsisText","labelLength","getLabelLength","codeLength","strLen","ellipsisFlag","reserveLength","newText","reseveLength","startStr","endStr","endIndex","startCodeLen","hasAdd","endCodeLen","ellipsisString","getTooltipMapping","defaultFields","Adjust","isAdjust","getAdjustRange","dimValue","groupedDataArray","mergedData","getDimValues","adjustDim","DEFAULT_Y","methodCache","registerTickMethod","Scale","__cfg__","initCfg","getConfig","setDomain","calculateTicks","calcPercent","NaN","calcValue","buildIndexMap","translateIndexMap","order","scaledValue","domainRange","word","literal","shorten","sLen","newArr","monthUpdate","arrName","i18n","origObj","args_1","dayNames","monthNames","monthNamesShort","defaultI18n","dayNamesShort","amPm","DoFn","dayOfMonth","globalI18n","setGlobalDateI18n","regexEscape","pad","formatFlags","D","dateObj","getDate","DD","Do","getDay","dd","ddd","dddd","M","getMonth","MM","MMM","MMMM","YY","getFullYear","YYYY","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","S","getMilliseconds","SS","SSS","A","ZZ","getTimezoneOffset","Z","monthParse","emptyDigits","emptyWord","timezoneOffset","parts","minutes","parseFlags","cent","globalMasks","shortDate","mediumDate","longDate","fullDate","isoDate","isoDateTime","shortTime","mediumTime","longTime","setGlobalDateMasks","masks","format","mask","getTime","literals","$0","combinedI18nSettings","dateStr","dateInfo","year","month","day","hour","minute","second","millisecond","isPm","parseInfo","newFormat","specifiedFields","requiredFields","regex","requiredField","matches","dateTZ","parser","validateFields","UTC","timeFormat","time","fecha1","fecha","toTimeStamp","HOUR","DAY","MONTH","intervals","SECOND","MINUTE","getTickInterval","tickCount","_lo","_hi","lo","hi","TimeCat","tickIndex","getScalePercent","firstTick","lastTick","minLimit","maxLimit","getInvertPercent","Linear","calBase","getLogPositiveMin","positiveMin","Log","appendPercent","Pow","exponent","Time","numberValue","minConfig","maxConfig","timeStamps_1","secondMin_1","minTickInterval","Quantize","minTick","minIndexPercent","Quantile","getClass","registerClass","cls","Identity","calculateCatTicks","tickInterval","showLast","lastValue","e10","e5","e2","D3Linear","_domain","domain","i0","i1","stop","tickIncrement","ceil","d3ArrayTicks","power","LN10","snapMultiple","snapType","intervalTicks","maxTick","availableInterval","strictLimit","defaultMin","defaultMax","tickMin","tickMax","prettyNumber","DEFAULT_Q","eps","simplicity","Q","lmin","lmax","lstep","simplicityMax","density","dMin","dMax","lMin","lMax","rt","densityMax","coverage","coverageMax","span","extended","onlyLoose","step_1","best","score","dm","delta","log10","cm","minStart","maxStart","i_1","lStep","pretty","unit","nu","quantileSorted","getYear","date","createYear","creatMonth","cat","catTicks","minYear","maxYear","yearInterval","monthInterval","mmMoth","dMonths","minMonth","diffMonth","mday","ddays","diffDay","hours","dHours","diffHour","dMinus","diffMinus","minSecond","dSeconds","seconds","d3Linear","registerScale","RGB_REG","regexLG","regexRG","regexColorStop","arr2rgb","toHex","iEl","x16Value","defaultView","getPropertyValue","exec","colorArray","fixedPercent","calColor","toCSSGradient","gradientColor","cssColor_1","colorStops_1","catmullRomToBezier","iLen","ellipsePath","pa0","dots","crz","kk","l2c","q2c","ax","ay","a2c","large_arc_flag","sweep_flag","recursive","xy","f1","f2","_120","rx2","ry2","df","f2old","x2old","y2old","hx","hy","m1","m2","m3","m4","newres","pathToCurve","path2","bx","by","X","Y","attrs2","pcoms1","pcoms2","pfirst","pcom","processPath","nx","ny","T","fixArc","pp","pi","fixM","path1","seg2","seglen","seg2len","p2s","parsePathArray","base3","p4","bezlen","Tvalues","Cvalues","ct","xbase","ybase","comb","curveDim","tvalues","bounds","b2ac","sqrtb2ac","mt","jlen","denominator","px2","py2","isPointInsideBBox","rectPath","r0","vb","bezierBBox","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","findDotsAtSegment","t13","t12","t3","interHelper","bez1","bez2","justCount","isBBoxIntersect","n1","n2","dots1","dots2","di","di1","dj","dj1","ci","cj","is","intersection","x1m","y1m","x2m","y2m","pj","intr","segment1","segment2","interPathHelper","decasteljau","recurse","middlePoints","splitSegment","leftSegments","splitCurve","fillPath","sourceLen","targetLen","segmentsToFill","filled","getMinDiff","del","modify","fillPathByDiff","diffMatrix","sourceSegment","targetSegment","levenshteinDistance","changes","minPos","_splitPoints","formerEnd","_getSegmentPoints","formatPath","fromPath","toPath","getDefaultAttrs","getShapeBase","Group","onCanvasChange","calculateBBox","getHitLineWidth","getBBoxMethod","bboxMethod","halfLineWidth","isClipShape","_applyClip","save","restore","_afterDraw","getCanvasViewBox","getViewRange","canvasBBox","strokeAndFill","afterDrawPath","refX","refY","isInStrokeOrPath","AbstractShape","absDistance","ellipseDistance","squareX","squareY","Ellipse","halfLineWith","ImageShape","initAttrs","_setImage","isOnlyHitBox","_afterLoading","image_1","Image","onload","crossOrigin","onAttrChange","originValue","swidth","sheight","inLine","halfWidth","LineUtil","setArrow","startArrowDistance","endArrowDistance","startArrowShape","endArrowShape","Symbols","Marker","_resetParamsCache","_getR","_getPath","path2Absolute","paramsCache","isPointInPath","getOffScreenContext","hasArc","extractPolygons","polygons","polylines","isPointInStroke","QuadUtil","CubicUtil","inArc","PathUtil","isInPolygons","_setPathArr","path2Segments","extractResutl","_calculateCurve","_setTcache","subt","tCache","curve","nextSeg","segmentT","segmentL","segmentN","tempLength","inPolyline","isClose","PolyLine","_resetCache","PolylineUtil","inRectWithRadius","inRect","Text","_assembleFont","_setText","assembleFont","textArr","_getSpaceingY","_drawTextArr","spaceingY","getTextHeight","subText","fillText","strokeText","_drawText","HtmlComponent","containerTpl","containerClassName","pointerEvents","removeDom","initContainer","initDom","resetStyles","applyStyles","initCapture","initVisible","defaultStyles","applyChildrenStyles","containerCss","styles","getElementsByClassName","applyStyle","cssName","hasKey","MARGIN_RATIO","DODGE_RATIO","GAP","lineCount","getLineSpaceing","getTextWidth","measureWidth","trim","ADJUST_MAP","registerAdjust","parentChildren","clipPathEl","defsEl","children_1","stateStyles","styleName","normalPadding","getAdjustAppendPadding","currentAppendPadding","PADDING","resolveAllPadding","paddings","normalPaddings","finalPadding","patternOption","colorAttribute","seriesValue","CanvasPattern","getCanvasPattern","measure","groupField","as","sumMap","groupValue","percentage","getDeepPercent","getDataWhetherPercentage","asField","isPercent","FUNNEL_PERCENT","FUNNEL_MAPPING_VALUE","FUNNEL_CONVERSATION","FUNNEL_TOTAL_PERCENT","PLOYGON_X","PLOYGON_Y","DEFAULT_OPTIONS","minSize","conversionTag","getTinyData","Dodge","Jitter","Stack","Symmetric","LOCATION_FIELD_MAP","none","locationType","afterUpdate","getLocationType","getOffset","setOffset","getLocation","viewRange","allowDraw","AbstractGroup","isEntityGroup","afterAttrsChange","targetAttrs","canStroke","shadow","_setColor","addGradient","addPattern","elementFromPoint","isEqualNode","Dom","setAttr","toDataURL","ImageData","addArrow","getDefaultArrow","triangleDown","register","getAll","_assembleMarker","symbolsFactory","_formatPath","newValue","getPointAtLength","Polyline","completed","pathRelatedAttrs","_assembleRect","BASELINE_MAP","alphabetic","hanging","BASELINE_MAP_FOR_FIREFOX","ANCHOR_MAP","_setFont","browser","detect","baseline","textLen_1","scaleAndAdd","squaredDistance","squaredLength","negate","inverse","normalize","lerp","transformMat2","transformMat2d","transformMat4","sinC","cosC","mag","cosine","zero","vec","div","sqrDist","sqrLen","stride","brush_1","common_1","connected_area_1","conversion_tag_1","percent_1","defaultOptions","columnStyle","percentData","chartData","stackedItem","tooltipOptions","widthRatio","percentYMeta","adjustYMetaByZero","isRange","findGeometry","columnTooltip","customItems_1","tooltipFormatter_1","isBar","brushInteraction","connectedArea","X_FIELD","Y_FIELD","DEFAULT_TOOLTIP_OPTIONS","itemTpl","NODE_INDEX_FIELD","CHILD_NODE_COUNT","NODE_ANCESTORS_FIELD","getField","defaultField","getAllNodes","index_1","nodes","ancestors","depth","eachNode","EventEmitter","_events","wildcardEvents","doEmit","es","getEvents","freeExports","freeModule","Buffer","isBuffer","stubFalse","numberData","gtZero","ltZero","transformDataToNodeLinkData","sourceField","targetField","weightField","links","nodesMap","nodesIndex","weight","rawData","processIllegalData","WARN","animationCfg","global_1","LocaleMap","registerLocale","locale","localeObj","getLocale","GLOBAL","CONVERSION_TAG_NAME","transformData","maxYFieldValue","maxBy","conversionTagComponent","getLineCoordinate","formatter_1","lineOption","constants_1","utils_2","areaStyle","pointOptions","lineOptions","pointState","seriesData","primary","pointParams","PADDING_TOP","BREAD_CRUMB_NAME","DEFAULT_BREAD_CRUMB_CONFIG","dividerText","activeTextStyle","HIERARCHY_DATA_TRANSFORM_PARAMS","DrillDownAction","historyCache","breadCrumbGroup","breadCrumbCfg","click","drill","drawBreadCrumb","back","backTo","hideCrumbGroup","nodeInfo","drillData","nodeData","drillDownConfig","breadCrumb","drawBreadCrumbGroup","rootText","textShapeBox","targetId","newHistoryCache","dividerBox","ID_FIELD","PATH_FIELD","blendMode","GraphEvent","bubbles","currentTarget","delegateTarget","defaultPrevented","propagationStopped","propagationPath","stopPropagation","az","bz","hermite","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","zScale","transformQuat","qz","qw","uvx","uvy","uvz","uuvx","uuvy","uuvz","w2","rotateX","rotateY","rotateZ","offScreenCtx","emitDelegation","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","polyOut","polyInOut","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","amplitude","period","elasticOut","elasticInOut","EASING_MAP","getEasing","d3Ease","registerEasing","easeFn","SHAPE_MAP","Container","childMinX","childMaxX","childMinY","childMaxY","totalMatrix","_applyChildrenMarix","preTotalMatrix","groupClass","tmpCfg","TmpGroupClass","_findShape","invertFromMatrix","isClipped","timeline","preParent","setCanvas","setTimeline","_applyElementMatrix","getFirst","getLast","contain","findById","findByClassName","findAllByName","CLONE_CFGS","RESERVED_PORPS","getFormatFromAttrs","fromAttrs","getFormatToAttrs","checkExistedAttrs","animations","onFrame","startTime","initAnimate","getDefaultMatrix","applyTo","parentMatrix","Cons","_cloneArrayAttr","cons","cfgName","isAnimatePaused","isPaused","timer","initTimer","pauseCallback","resumeCallback","formatToAttrs","pathFormatted","addAnimator","toEnd","pauseAnimate","pauseTime","_paused","_pauseTime","resumeAnimate","eventObj","relativeShape","paths","subName","emitDelegateEvent","this_1","translateX","translateY","newMatrix","targetX","targetY","ratioX","ratioY","rotateAtStart","BrowserInfo","os","NodeInfo","platform","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOT_OS_REGEX","userAgentRules","operatingSystemRules","userAgent","parseUserAgent","navigator","product","matchUserAgent","ua","matched","uaMatch","matchedRule","versionParts","output","createVersionParts","detectOS","searchBotMatch","regexPR","addStop","addColorStop","gradientStr","tanTheta","tanTheta2","createLinearGradient","parseLineGradient","fx","fy","fr","createRadialGradient","parseRadialGradient","patternStr","createPattern","complete","parsePattern","global","initCanvas","drawBackground","fillRect","getUnitPatternSize","isStagger","unitSize","getSymbolsPosition","transformMatrix","dpr","SizeSensorId","SensorTabIndex","SensorClassName","lineStyle","lineShape","pointMapping","areaMapping","areaState","areaParams","lineGeometry","base_1","tooltip_1","formatData","funnelStyle","datumIndex","initLineOption","basicFunnel","RANGE_VALUE","RANGE_TYPE","PERCENT","DEFAULT_COLOR","INDICATEOR_VIEW_ID","RANGE_VIEW_ID","indicator","pin","statistic","progressStyle","barWidthRatio","getProgressData","clampPercent","plot_1","TREND_FIELD","TREND_UP","TREND_DOWN","defaultContent","risingFill","fallingFill","BOX_RANGE","BOX_RANGE_ALIAS","BOX_SYNC_NAME","OUTLIERS_VIEW_ID","boxStyle","drill_down_1","isParentNode","inCenter","types_1","isColumn","DualAxesGeometry","Column","isLine","getGeometryOption","transformObjectToArray","transformAttribute","getYAxisWithDefault","axisType","AxisType","Left","DEFAULT_LEFT_YAXIS_CONFIG","Right","DEFAULT_RIGHT_YAXIS_CONFIG","COLOR_FIELD","NODES_VIEW_ID","EDGES_VIEW_ID","SUNBURST_ANCESTOR_FIELD","SUNBURST_Y_FIELD","SUNBURST_PATH_FIELD","RAW_FIELDS","hierarchyConfig","sunburstStyle","drilldown","enabled","placeElementsOrdered","DIFF_FIELD","ABSOLUTE_FIELD","IS_TOTAL","leaderLine","waterfallStyle","defaultSeparation","meanXReduce","maxYReduce","separation","nodeSize","cluster","previousNode","eachAfter","meanX","leafLeft","leafRight","hierarchy","mapChildren","objectChildren","childs","Node","eachBefore","computeHeight","copyData","that","ancestor","aNodes","bNodes","leastCommonAncestor","descendants","leaves","circles","shuffle","B","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","x21","y21","r21","d3","ab","xa","xb","ya","yb","place","intersects","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","dice","treemapSlice","squarify","tile","paddingStack","paddingInner","treemap","paddingOuter","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","resquarify","_squarify","getMethod","mergeBBox","mergeArrowBBox","getExtraFromSegmentWithAngle","currentAndPre","currentAndNext","preAndNext","currentAngle","xExtra","yExtra","segmentsWithAngle","EllipseArcUtil","getPathBox","freeProcess","nodeUtil","types","binding","_isInBBox","clearCacheBBox","calculateCanvasBBox","shadowLeft","shadowRight","shadowTop","shadowBottom","inBBox","BRAND","getMessage","argIndex","deep","adapteStyle","styleObject","justifyContent","alignItems","shapeStyleKeys","setStatisticContainerStyle","plotType","titleOpt","contentOpt","containerW","liquidShape","customHtml","polarCoord","polarCenter","polarMaxY","containerWidth","dot_1","square_1","createDotPattern","createLinePattern","createSquarePattern","setGlobal","_len","_key","adaptor_1","Mix","bar_1","adaptor_2","column_1","adaptor_3","funnel_1","adaptor_4","gauge_1","adaptor_5","histogram_1","adaptor_6","adaptor_7","pie_1","adaptor_8","progress_1","adaptor_9","ring_progress_1","adaptor_10","scatter_1","adaptor_11","stock_1","adaptor_12","tiny_area_1","adaptor_13","tiny_column_1","adaptor_14","tiny_line_1","adaptor_15","PLOT_ADAPTORS","pie","column","bar","gauge","progress","scatter","histogram","stock","PLOT_CONSTRUCTOR","Pie","Bar","Gauge","TinyLine","TinyColumn","TinyArea","RingProgress","Progress","Scatter","Histogram","Funnel","Stock","DEFAULT_OPTIONS_MAP","execPlotAdaptor","plot","areaShape","lineMapping","lineParams","areaGeometry","switchedFieldOptions","verticalAxis","horizontalAxis","coordinateOptions","barStyle","minBarWidth","maxBarWidth","barBackground","columnBackground","BRUSH_TYPES","brush","getInteractionCfg","buttonConfig","button","reset_button_1","interactionType","brushType","isStartEnable","conversionTagFormatter","CONVERSATION_FIELD","PERCENT_FIELD","TOTAL_PERCENT_FIELD","locale_1","conversion_1","basic_1","compare_1","dynamic_height_1","facet_1","interactions_1","compareField","defaultOption","dynamicHeight","facetFunnel","compareFunnel","dynamicHeightFunnel","FUNNEL_LEGEND_FILTER","interactionStart","showFacetTitle","formatterData","defaultFacetLabel","compareConversionTag","viewIndex","funnel_conversion_tag_1","ConversionTagAction","indicatorView","getIndicatorData","rangeView","getRangeData","gaugeStyle","meter","rangeWidth","indicatorData","rangeData","rangeColor","contentOption","transformContent","processRangeData","clampTicks","binField","binNumber","binWidth","stackField","binHistogram","getBinKey","originData_copy","_binWidth","_defaultBinNumber","LN2","sturges","bins","bin","binKey","groupKey","groupKeyBinKey","plotData","HISTOGRAM_X_FIELD","HISTOGRAM_Y_FIELD","contants_1","prevOptions","angleField","prevData","curData","isAllZero","pieAnnotation","pieStyle","content_1","dataum","angleScale","labelLayoutType","outer","spider","labelLayoutCfg","adaptOffset","transformStatisticOptions","titleOpt_1","contentOpt_1","dataValue","getTotalValue","metaFormatter","startStages_1","PIE_STATISTIC","stage","radio","legend_active_1","statistic_active_1","StatisticAction","PieLegendAction","ORIGIN_MATRIX","ulMatrix","defaultOffset","BRUSH_FILTER_EVENTS","transformOptions","util_2","isOneX","isOneY","meta_1","getMeta","pointStyle","newOptions","shapeLegend","sizeLegend","showLegend","scatterGeometry","scatterAnnotation","quadrant","xBaseline","yBaseline","regionStyle_1","regionStyle","defaultConfig_1","getQuadrantDefaultConfig","labelStyle","regressionLine","style_1","equationStyle","equationStyle_1","showEquation","showEquation_1","defaultStyle_1","defaulEquationStyle_1","equation","getStockData","constant_2","stockStyle","baseMeta","open","close","high","low","FIRST_AXES_VIEW","SECOND_AXES_VIEW","SERIES_FIELD_KEY","hopeData","data1","data2","__axisPosition","newData","low_1","q1_1","median_1","q3_1","high_1","getSeriesFieldKey","measureField","rangeField","ds","rangeValues","flat","rKey","measureValues","mKey","targetValues","tKey","NODE_COLOR_FIELD","EDGE_COLOR_FIELD","nodeStyle","edgeStyle","nodePaddingRatio","nodeWidthRatio","LEFT_AXES_VIEW","RIGHT_AXES_VIEW","DEFAULT_YAXIS_CONFIG","getLiquidData","matrix_1","getWaterWavePositions","waveLength","getWaterWavePath","waterLevel","phase","curves","_phase","waveRight","addWaterWave","waveCount","waveAttrs","wave","builtInShapeByName","cpX","cpY","outline","border","minXPoint","getFillAttrs","outlineAttrs","getLineAttrs","shapePath","waves","clipPath","circle_1","layout_1","getNodeWidthRatio","nodeWidth","getNodePaddingRatio","nodePadding","transformToViewsData","sankeyLayoutInputData","dataType","nodeAlign","nodeSort","nodeDepth","isNodeLink","cutoffCircle","sankeyLayout","isNode","edges","targetDepth","justify","sourceLinks","targetLinks","minBy","d3Hierarchy","ignoreParentValue","getTileMethod","tileMethod","treemap_1","findInteraction","enableInteraction","enableDrillInteraction","resetDrillDown","drillDownInteraction","enableDrillDown","curPath","ancestorNode","originalModule","webpackPolyfill","zeros","norm2","weightedSum","w1","wolfeLineSearch","pk","phi0","phiPrime0","fxprime","phi_old","phiPrime","a_lo","a_high","phi_lo","iteration","bisect","parameters","maxIterations","fA","fB","fMid","nelderMead","maxDiff","nonZeroDelta","zeroDelta","minErrorDelta","minTolerance","rho","chi","psi","sigma","N","simplex","updateSimplex","sortOrder","reflected","contracted","expanded","history","sortedSimplex","worst","shouldReduce","conjugateGradient","delta_k","gradientDescent","learnRate","gradientDescentLineSearch","functionCalls","zerosM","containedInCircles","circleArea","circleCircleIntersection","intersectionArea","stats","intersectionPoints","parentIndex","getIntersectionPoints","innerPoints","arcArea","polygonArea","arcs","midPoint","angleDiff","smallest","disjoint","circleOverlap","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","kde","sampleSize","violinStyle","pdfast_1","quantile_1","toBoxValue","q1","quantile","q3","minMax","toViolinValue","pdfOptions","pdfResults","violinSize","violinY","transformViolinData","resultList","seriesGroup","series","newYField","dIdx","WORD_CLOUD_COLOR_FIELD","timeInterval","wordStyle","rotationSteps","rotateRatio","padding_1","word_cloud_1","getSize","containerSize","resolvePadding","getFontSizeMapping","fMin_1","fMax_1","getSingleKeyValues","getRotate","resolveRotate","perSize","numbers","rawOptions","chartPadding","imageMask","wordField","spiral","placementStrategy","words","hasText","functor","wordCloud","processImageMask","rej","HTMLImageElement","onerror","ERROR","taskHead","taskTail","frame","clockLast","clockNow","clockSkew","clock","performance","setFrame","clearNow","Timer","_call","_time","_next","restart","wake","timerFlush","t0","sleep","nap","poke","clearInterval","setInterval","definition","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","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","basis","v3","channels","displayable","formatHex8","formatHsl","brighter","darker","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","one","string","numberArray","valueOf","IDENTITY_MATRIX","elapsed","cProps","interf","toPathPoint","fromPathPoint","cPathPoint","interpolate","_update","Timeline","animators","d3Timer","removeAnimator","isAnimating","stopAllAnimations","animator","emitTargetEvent","bubbleEvent","isOverEvent","EventController","draggingShape","dragging","mousedownShape","mousedownPoint","_eventCallback","_triggerEvent","_onDocumentMove","_getPointInfo","_emitEvent","_onDocumentMouseUp","_afterDrag","_bindEvents","_clearEvents","_getEventObj","_getShape","clientPoint","getClientByEvent","getPointByEvent","leaveCanvas","preShape","_onmousedown","mousedownTimeStamp","_emitMouseoverEvents","_emitDragoverEvents","isCanvasEmit","_onmouseup","_ondragover","_onmousemove","timeWindow","isFirefox","initTimeline","setDOMSize","eventController","getRenderer","getCursor","layerX","layerY","clientInfo","touches","changedTouches","getClientByPoint","renderTag","tagCfg","maxLength","ellipsisPosition","tagGroup","maxTextLength","LineAnnotation","Theme","renderLine","TextAnnotation","resetLocation","textGroup","ArcAnnotation","renderArc","largeFlag","RegionAnnotation","renderRegion","ImageAnnotation","renderImage","getImageAttrs","DataMarkerAnnotation","renderText","renderPoint","textAttrs","isVertival","xFactor","yFactor","lineDisplay","DataRegionAnnotation","RegionFilterAnnotation","shapeIdx","adjustShapeAttrs","ShapeAnnotation","HtmlAnnotation","alignX","alignY","domWidth","domHeight","AxisBase","overlapOrder","tickStates","optimize","displayWithLabel","tickLineStyle","threshold","drawTicks","drawTitle","setItems","updateItem","clearItems","itemGroup","updateTickStates","getItemStates","getSidePoint","getSideVector","getTextAnchor","getTextBaseline","processOverlap","getTickLineItems","tickLineItems","tickLineLength","tickSegment","getTickPoint","tickId","getSubTickLineItems","subTickLineItems","subCount","tickLineCount","getTickLineAttrs","tickItem","tickItems","defaultTickLineStyle","drawTick","tickLineGroup","drawTickLines","tickCfg","subTickLineItems_1","processTicks","optimizeTicks","drawLabels","applyTickStates","page_1","optimizedTicks","getLabelAttrs","defaultLabelStyle","afterProcessTicks_1","getTitleAttrs","titleCfg","titleHeight","titlePoint","getAxisVector","titleAttrs","titleShape","drawDescriptionIcon","descriptionShape","startX","x5","y5","x6","y6","x7","y7","labelStateStyle","tickLineId","tickLineShape","tickLineStateStyle","tickLineCfg","ellipseLabels","getDefault","ellipsisTail","ellipsisHead","ellipsisMiddle","getRotateAngle","isRotate","isOverlap","overlap","prevBBox","reserveOne","labelsGroup","autoHideCfg","hasHide","parityHide","firstBBox","equidistance","reserveFirst","reserveLast","reserveBoth","preLabel","equidistanceWithReverseBoth","labelRotate","setLabelsAngle","fixedAngle","customRotate","unfixedAngle","regionX","regionY","axisVector","normal","verticalVector","titleSpacing","canProcessOverlap","autoProcessOverlap","hasAdjusted","util","OverlapUtil","overlapCfg","verticalFactor_1","newAlign","large","sweep","vecLen","stops","Gradient","ATTR_MAP","shadowOpacity","SHADOW_DIMENSION","Shadow","_parseShadow","Arrow","_setDefaultPath","_setMarker","Clip","shapeEl","Pattern","Defs","defaultArrow","arrow","autoDraw","srcElement","tagName","AbstractCanvas","CrosshairBase","renderBackground","textId","LineCrosshair","HtmlCrosshair","crosshairTpl","textTpl","HtmlTheme","resetText","initCrossHair","crosshairEl","textEl","alignText","BACKGROUND_STYLE","LINE_STYLE","AREA_STYLE","pointsToPath","dataToPath","getSmoothLinePath","linePathToAreaPath","areaPath","lineYPx","lineY","getAreaLineY","Trend","isArea","DEFAULT_HANDLER_STYLE","Handler","FOREGROUND_STYLE","HANDLER_STYLE","TEXT_STYLE","onMouseDown","prevX","pageX","prevY","pageY","containerDOM","getContainerDOM","onMouseMove","onMouseUp","offsetXRange","adjustOffsetRange","updateStartEnd","updateUI","setRange","oldStart","oldEnd","newStart","newEnd","validCfg","minHandler","maxHandler","trend","silent","handlerWidth","handlerHeight","foregroundShape","minTextShape","maxTextShape","_dodgeText","minAttrs","maxAttrs","foreground","offsetRange","minBBox","maxBBox","GridBase","alternateColor","closed","getLineType","drawGrid","getAlternatePath","prePoints","getGridPath","reversePoints","nextPath","getPathStyle","preItem","lineId","gridPath","regionId","drawAlternateRegion","lineType","sweepFlag_1","LegendBase","getDrawPoint","setDrawPoint","resetDraw","drawLegendContent","DEFAULT_PAGE_NAVIGATOR","ROTATE_MAP","up","down","currentPageIndex","totalPagesCnt","pageWidth","pageHeight","onNavigationBack","updateNavigation","getCurrentNavigationMatrix","onNavigationAfter","itemWidth","itemHeight","itemBackground","alignRight","itemElement","offsetGroup","drawItem","getItemHeight","processItems","drawItems","itemContainerGroup","wrapped","subGroup","adjustNavigation","drawMarker","markerAttrs","drawItemText","textName","xPosition","drawRadio","radioCfg","showRadio","radioShape","tip","groupId","subContainer","getLimitItemWidth","curX","markerShape","itemMarkerSpacing","nameShape","valueShape","applyItemStates","subGroups","navigation","drawNavigation","navigationBBox","widthLimit","maxRow","maxRowHeight_1","navigationX_1","shouldWrap","cntPerPage_1","styleCfg","arrowStyle","leftArrow","drawArrow","leftArrowBBox","rightArrow","cursorX","updateArrowPath","itemStates_1","elName","ContinueLegend","getCurrentValue","resetTrackClip","resetHandlers","bindSliderEvent","bindRailEvent","bindTrackEvent","drawRail","fixedElements","resetTrack","bindHandlersEvent","getValueByCanvasPoint","curValue","curDiff","dValue","drawLabel","labelAlign","labelFormatter","alignAttrs","getLabelAlignAttrs","getRailPath","railCfg","getTrackColor","getTrackPath","getRailShape","getClipTrackAttrs","railBBox","getRailBBox","getPointByValue","getTrackAttrs","trackCfg","trackId","trackShape","trackAttrs","getRailCanvasBBox","isVertcal","resetHandler","getHandlerPath","handlerCfg","oneSixthWidth","triangleX","triangleY","handlerShape","railShape","minLabel","maxLabel","fixedVertail","fixedHorizontal","fitRailLength","minLabelBBox","maxLabelBBox","lengthField","changeRailLength","changeRailPosition","railHeight","maxLabelWidth","CssConst","xCrosshairTpl","yCrosshairTpl","crosshairsRegion","TooltipTheme","renderCustomContent","resetTitle","renderItems","clearCrosshairs","setTitle","clearItemDoms","setCrossHairsVisible","xCrosshairDom","yCrosshairDom","getHtmlContentNode","cacheDoms","limitBox","getPointByPosition","outSides","getOutSides","getAlignPoint","resetCrosshairs","curContainer","replaceChild","titleDom","listDom","innerText","crosshairBox","resetCrosshair","croshairDom","checkCrosshair","domName","tplName","constName","substituteObj","domStr","itemDom","getRefXY","preTest","_clearFrame","curShape","_getRefreshRegion","drawFrame","clearAnimationFrame","_startDraw","_drawAll","_drawRegion","drawFrameCallback","DEFAULT_THEME","onStartEvent","isMobile","startPos","bindLaterEvent","endPos","updateThumbOffset","onTrackClick","newOffset","validateRange","onThumbMouseOver","onThumbMouseOut","originalValue","minThumbLen","renderTrackShape","renderThumbShape","themeSize","thumbShape","emitOffsetChange","adjustDataArray","marginRatio","customOffset","xDimensionLegenth","groupDataArray","frameIndex","getDistribution","valueArr","valIndex","getDodgeOffset","tickLength","getIntervalOnlyOffset","getDodgeOnlyOffset","getIntervalAndDodgeOffset","normalizedIntervalPadding","normalizedDodgePadding","geomWidth","normalizedMaxWidht","normalizedMinWidht","adjustGroup","getAdjustOffset","Cache","processStack","processOneDimStack","positive","negative","xKey","newXValue","stackHeight","stackValue","getXValuesMaxMap","off_1","getDimMaxValue","dimValues","flattenValues","G2","en_US_1","zh_CN_1","lab_1","Lab","bidirectional_bar_1","BidirectionalBar","box_1","Box","bullet_1","Bullet","chord_1","Chord","circle_packing_1","CirclePacking","dual_axes_1","DualAxes","FUNNEL_CONVERSATION_FIELD","heatmap_1","liquid_1","Liquid","mix_1","radar_1","Radar","radial_bar_1","RadialBar","rose_1","Rose","sankey_1","Sankey","sunburst_1","Sunburst","Treemap","venn_1","Venn","waterfall_1","Waterfall","WordCloud","plugin_1","EN_US_LOCALE","ZH_CN_LOCALE","adaptors","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","runClearTimeout","Item","nextTick","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","flows","getAllElements","getAllGeometriesRecursively","labelOptions","context_1","getCanvasContext","matrix_util_1","points2Path","drawDot","defaultDotPatternCfg","dotCfg","dots_1","Path2D","defaultLinePatternCfg","lineCfg","drawSquare","strokeRect","defaultSquarePatternCfg","squareCfg","squares","squares_1","general","increase","decrease","waterfall","otherAdaptor","stepType","ver","_sensorPool","sensor","getSensor","removeSensor","Sensors","_id","_sensors","_constant","clean","sensorId","newId","createSensor","_object","_resizeObserver","ResizeObserver","_debounce","whenDestroy","resizeListener","listener","contentDocument","newSensor","disconnect","observe","Stage","notice","DEV","BETA","STABLE","multiView","viewOfG2","multiPlot","plots","BUTTON_ACTION_CONFIG","buttonStyle","drawText","INTERACTION_MAP","getStartStages","disable","getConversionTagOptionsWithDefaults","horizontal","headSize","elemPrev","elemNext","pointPrev","pointNext","totalWidth","renderArrowTag","textWidth","cWidth","cEnd","textAdjusted","renderTextTag","disabled","preItemX","preItemY","rendering","conversionTag_1","STEP","stepRatio","STEP_RATIO","COORD_START_ANGLE","COORD_END_ANGLE","INTERVAL","START_ANGLE","END_ANGLE","marker_active_1","MarkerActiveAction","getView","InteractionAction","getActiveElements","item_1","getActiveElementLabels","transfrom","getAnnotations","_view","getInitialAnnotation","initialAnnotation","colorField_1","initialStatistic","d3_regression_1","REGRESSION_MAP","exp","regressionExp","regressionLinear","loess","regressionLoess","regressionLog","poly","regressionPoly","regressionPow","quad","regressionQuad","xScaleView","yScaleView","pathData","algorithm","customEquation","getRegressionEquation","reg","safeFormat","rSquared","coefficients","xFieldValue","yFieldValue","xIsPositiveNumber","yIsPositiveNumber","getMetaMinMax","fieldMeta","getCustomValue","_slicedToArray","_arrayWithHoles","_arr","_n","_s","err","_iterableToArrayLimit","_nonIterableRest","xv","yv","Float64Array","ux","uy","visitPoints","iterations","determination","uY","predict","SSE","SST","sse","sst","interpose","xmin","xmax","LOG10E","iter","found","mp","ols","uX","uXY","uX2","slope","YL","XY","XYL","X2Y","ly","_ols2","X2","intercept","bandwidth","_points2","bw","yhat","residuals","robustWeights","W","denom","tricube","xkw","updateInterval","medianResidual","_w","logarithmic","lb","lx","quadratic","X3","X4","n0","X2X2","polynomial","_o","lhs","rhs","coef","gaussianElimination","uncenter","YS","Association","getAssociationItems","linkField","firstViewData","secondViewData","firstView","secondView","aliasMap","metaKey","leftGeometry","rightGeometry","leftLabelCfg","positionMap_1","outliersView","yFieldName","outliersPoint","outliersField","outliersStyle","outliersViewData","syncName","bulletStyle","extData","rangeGeometry","measureGeometry","targetGeometry","chordLayoutInputData","chordLayout","nodesData","edgesData","chordData","nodeGeometry","nodeView","edgeGeometry","edgeView","edgeOptions","sourceWeight","targetWeight","chordLayoutOptions","nodeById","forIn","inEdges","outEdges","frequency","processGraph","localeCompare","sortNodes","nodePaddingRatio_1","margin_1","nodeWidthRatio_1","totalValue_1","deltaX","deltaX_1","layoutNodes","valueById_1","sId","tId","sNode","tNode","sValue","currentSValue","sStart","sEnd","tValue","currentTValue","tStart","tEnd","locatingEdges","diameter","tempAppendPadding","appendPaddingByDrilldown","resolvePaddingForCircle","finalSize","circleSize","nameFormatter","valueFormatter","adaptorInteraction","pack_1","tempPadding","wSize","hSize","restWidthPadding","restHeightPadding","packLayout","legend_1","option_1","render_sider_1","geometryOptions","allLine","createViews","SORT_MAP","drawSingleGeometry","themeColor","groupScale","leftView","rightView","leftLegend_1","rightLegend_1","leftItems","getViewLegendItems","rightItems","isGeometry","viewId","yF","legendItem_1","doSliderFilter","FIELD_KEY","adjust_1","legendItemName","attrItems","sliderValue","utils_3","facetAdaptor","facetType","restFacetCfg","viewOptions","execViewAdaptor","plotOptions","sizeRatio","heatmapStyle","checkedSizeRatio","dautm","maxSideLength","sideLength","liquidStyle","areaOptions","radar_tooltip_action_1","RadarTooltipAction","RadarTooltipController","cfgTitle","hintItems","title_1","result_1","displayTitle","TooltipController","getTooltipController","maxAngle","actualData","getStackedData","getScaleMax","intervalGeometry","yData","formatRadian","stackedData","valueItem","sectorStyle","helper_1","edgeState","isLast","nodesView","edgesView","nodeState","nodeDraggable","nodeInteractions","edgeInteractions","getNodes","graphMatrix","removedData","visited","DFS","dfsNode","ALIGN_METHOD","getNodeAlignFunction","sankeyLayoutOptions","layoutData","sankey","extent","sankeyProcessor","align_1","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","defaultNodes","graph","defaultLinks","computeLinkBreadths","nodes_1","linkSort","nodes_2","computeNodeLinks","nodes_3","fixedValue","sumBy","computeNodeValues","maxDepth","maxValueBy","computeNodeDepths","computeNodeHeights","columns","nodes_4","columns_1","computeNodeLayers","minValueBy","columns_2","nodes_6","nodes_5","reorderLinks","initializeNodeBreadths","relaxRightToLeft","relaxLeftToRight","computeNodeBreadths","targetTop","dy_1","reorderNodeLinks","resolveCollisions","column_2","sourceTop","dy_2","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","dy_3","dy_4","targetLinks_1","sourceLinks_1","nodes_7","node_drag_1","SankeyNodeDragAction","isDragging","isNodeElement","getNodeView","getEdgeView","getCurrentDatumIdx","currentElementIdx","prevNodeAnimateCfg","prevEdgeAnimateCfg","prevDatum","datumGap_1","nextDatum","edgeData","pathFormatter","partition_1","activeDepth","transData","rectStyle","viewZoomInteraction","colorMap","colorPalette","setsField","getColorMap","LEGEND_SPACE","currSets","sets","filterSets","islegalSets","vennData","layoutVennData","colorOptions","map_1","transformColor","customLabelInfo","vennInteraction","MAP_1","active_1","highlight_1","selected_1","VennElementActive","VennElementHighlight","VennElementSelected","VennElementSingleSelected","syncElementsPos","ElementSelectedAction","ElementSingleSelectedAction","VennLabel","path_util_1","fillAttrs","blend_1","diagram_1","colorPaletteLen","colorArr","blend","solution","venn","scaleSolution","textCenters","computeTextCentres","setCircles","intersectionAreaPath","legalArr","testArr","color_util_1","blendObject","screen","overlay","darken","lighten","dodge","burn","colorToArr","rgbaArr","innerBlend","c0","blendRgbArr","g0","g1","fmin_1","circleintersection_1","circleMargin","interior","exterior","computeTextCentre","valid","areaStats","circlePath","areas","overlapped","circleids","circleid","getOverlappingCircles","areaids","exclude","overlaps","setid","centre","circleFromPath","tokens","wide","initialLayout","bestInitialLayout","loss","lossFunction","ids","pairs","addMissingAreas","setids","positions","setid_1","distanceFromIntersectArea","getDistanceMatrices","distances","constraints","greedyLayout","constrained","constrainedMDSLayout","restarts","matrices","norm","xj","yj","dij","constrainedMDSGradient","setOverlaps","rowid","mostOverlapped","positioned","isPositioned","positionSet","setIndex","extraPoints","bestLoss","bestPoint","localLoss","orientateCircles","orientation","orientationOrder","largestX","largestY","disjointCluster","maxDistance","xRoot","yRoot","disjointClusters","getBoundingBox","xRange","yRange","normalizeSolution","clusters","returnBounds","addCluster","centreing","xScaling","yScaling","scaling","TOOLTIP_FIELDS","violinView","boxView","minMaxView","quantileView","medianView","legendField_1","legendOptions","LN_2","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","quickselect","sd","quantileSelect","quantileIndex","indices","multiQuantileSelect","results","localeTotalLabel","colorMapping","Y_FIELD_META","labelMode","leaderLineCfg","linkPath","catch","cloudFont","cloudFontSize","cloudFontNormal","cloudRotate","cloudPadding","archimedeanSpiral","cloudText","cloudCanvas","cloud","board","dt","cloudCollide","sprite","sw","msx","contextAndRatio","willReadFrequently","zeroArray","tags","cloudSprite","hasImage","cloudBounds","_tags","_bounds","can","w32","cxt","imageData","spirals","tagCloud","cloudRadians","maxh","sr","cr","wcr","wsr","hcr","hsr","cw","xoff","yoff","seen","seenRow","archimedean","rectangular","sign","getTextAttrs","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","objectToString","baseGetTag","arrayEach","iteratee","createBaseFor","baseFor","fromRight","keysFunc","iterable","baseTimes","baseIsArguments","reIsUint","isIndex","isLength","typedArrayTags","baseIsTypedArray","baseUnary","nodeIsTypedArray","isTypedArray","arrayLikeKeys","inherited","isArr","isArg","isBuff","skipIndexes","overArg","nativeKeys","baseKeys","createBaseEach","baseEach","eachFunc","collection","castFunction","listCacheClear","__data__","eq","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entry","stackClear","stackDelete","stackGet","stackHas","uid","coreJsData","maskSrcKey","IE_PROTO","isMasked","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","nativeCreate","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","LARGE_ARRAY_SIZE","setCacheAdd","setCacheHas","SetCache","arraySome","cacheHas","equalArrays","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","Uint8Array","mapToArray","setToArray","symbolProto","symbolValueOf","equalByTag","byteLength","byteOffset","buffer","stacked","arrayPush","baseGetAllKeys","symbolsFunc","arrayFilter","resIndex","stubArray","nativeGetSymbols","getSymbols","getAllKeys","equalObjects","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","TAU","mapToEllipse","cosphi","sinphi","centerx","centery","approxUnitArc","ang1","ang2","vectorAngle","vx","vy","arcToBezier","xAxisRotation","largeArcFlag","pxp","pyp","rxsq","rysq","pxpsq","pypsq","radicant","centerxp","centeryp","vx1","vy1","vx2","vy2","getArcCenter","arcToCubic","LAF","SF","quadToCubic","lineToCubic","segmentToCubic","needZCommandIndexes","allPathCommands","pathCommand","zCommandIndexes","ni","pathIntersection","path2Curve"],"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 = 200);\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/******************************************************************************\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, SuppressedError, Symbol */\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\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: false } : 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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export * from './data';\nexport { deepAssign } from './deep-assign';\nexport { getContainerSize } from './dom';\nexport { flow } from './flow';\nexport * from './geometry';\nexport { invariant, LEVEL, log } from './invariant';\nexport { kebabCase } from './kebab-case';\nexport { transformLabel } from './label';\nexport { measureTextWidth } from './measure-text';\nexport { isBetween, isRealNumber } from './number';\nexport * from './padding';\nexport { getSplinePath } from './path';\nexport { pick } from './pick';\nexport { renderGaugeStatistic, renderStatistic } from './statistic';\nexport { template } from './template';\nexport { addViewAnimation, findViewById, getSiblingViews, getViews } from './view';\n",null,null,null,"import * as glMatrix from \"./common.js\";\n/**\n * 3x3 Matrix\n * @module mat3\n */\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(9);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n }\n\n out[0] = 1;\n out[4] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {ReadonlyMat4} a the source 4x4 matrix\n * @returns {mat3} out\n */\n\nexport function fromMat4(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[4];\n out[4] = a[5];\n out[5] = a[6];\n out[6] = a[8];\n out[7] = a[9];\n out[8] = a[10];\n return out;\n}\n/**\n * Creates a new mat3 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat3} a matrix to clone\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Create a new mat3 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} A new mat3\n */\n\nexport function fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set the components of a mat3 to the given values\n *\n * @param {mat3} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} out\n */\n\nexport function set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\n\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a12 = a[5];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a01;\n out[5] = a[7];\n out[6] = a02;\n out[7] = a12;\n } else {\n out[0] = a[0];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a[1];\n out[4] = a[4];\n out[5] = a[7];\n out[6] = a[2];\n out[7] = a[5];\n out[8] = a[8];\n }\n\n return out;\n}\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b01 = a22 * a11 - a12 * a21;\n var b11 = -a22 * a10 + a12 * a20;\n var b21 = a21 * a10 - a11 * a20; // Calculate the determinant\n\n var det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n out[0] = a11 * a22 - a12 * a21;\n out[1] = a02 * a21 - a01 * a22;\n out[2] = a01 * a12 - a02 * a11;\n out[3] = a12 * a20 - a10 * a22;\n out[4] = a00 * a22 - a02 * a20;\n out[5] = a02 * a10 - a00 * a12;\n out[6] = a10 * a21 - a11 * a20;\n out[7] = a01 * a20 - a00 * a21;\n out[8] = a00 * a11 - a01 * a10;\n return out;\n}\n/**\n * Calculates the determinant of a mat3\n *\n * @param {ReadonlyMat3} a the source matrix\n * @returns {Number} determinant of a\n */\n\nexport function determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);\n}\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b00 = b[0],\n b01 = b[1],\n b02 = b[2];\n var b10 = b[3],\n b11 = b[4],\n b12 = b[5];\n var b20 = b[6],\n b21 = b[7],\n b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to translate\n * @param {ReadonlyVec2} v vector to translate by\n * @returns {mat3} out\n */\n\nexport function translate(out, a, v) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n x = v[0],\n y = v[1];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function rotate(out, a, rad) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\n\nexport function scale(out, a, v) {\n var x = v[0],\n y = v[1];\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.translate(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat3} out\n */\n\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = v[0];\n out[7] = v[1];\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.rotate(dest, dest, rad);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function fromRotation(out, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = -s;\n out[4] = c;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.scale(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat3} out\n */\n\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = v[1];\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the values from a mat2d into a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to copy\n * @returns {mat3} out\n **/\n\nexport function fromMat2d(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = 0;\n out[3] = a[2];\n out[4] = a[3];\n out[5] = 0;\n out[6] = a[4];\n out[7] = a[5];\n out[8] = 1;\n return out;\n}\n/**\n * Calculates a 3x3 matrix from the given quaternion\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat3} out\n */\n\nexport function fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[3] = yx - wz;\n out[6] = zx + wy;\n out[1] = yx + wz;\n out[4] = 1 - xx - zz;\n out[7] = zy - wx;\n out[2] = zx - wy;\n out[5] = zy + wx;\n out[8] = 1 - xx - yy;\n return out;\n}\n/**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyMat4} a Mat4 to derive the normal matrix from\n *\n * @returns {mat3} out\n */\n\nexport function normalFromMat4(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n return out;\n}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */\n\nexport function projection(out, width, height) {\n out[0] = 2 / width;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = -2 / height;\n out[5] = 0;\n out[6] = -1;\n out[7] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat3\n *\n * @param {ReadonlyMat3} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\nexport function str(a) {\n return \"mat3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat3\n *\n * @param {ReadonlyMat3} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\nexport function frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);\n}\n/**\n * Adds two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat3} out\n */\n\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n return out;\n}\n/**\n * Adds two mat3's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat3} out the receiving vector\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat3} out\n */\n\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7],\n a8 = a[8];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8));\n}\n/**\n * Alias for {@link mat3.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link mat3.subtract}\n * @function\n */\n\nexport var sub = subtract;","import EE from '@antv/event-emitter';\nimport { Chart, Element, Event, View } from '@antv/g2';\nimport { each } from '@antv/util';\nimport { bind } from 'size-sensor';\nimport { Annotation, Options, Size, StateCondition, StateName, StateObject } from '../types';\nimport { deepAssign, getAllElementsRecursively, getContainerSize, 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[], view?: View): void {\n view = view ? view : this.chart;\n const incoming = [...annotations];\n const controller = view.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 view.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","/**\n * view 中三层 group 分层 key\n */\nexport enum LAYER {\n /** 前景层 */\n FORE = 'fore',\n /** 中间层 */\n MID = 'mid',\n /** 背景层 */\n BG = 'bg',\n}\n\n/**\n * 组件在画布的布局方位 12 方位\n */\nexport enum DIRECTION {\n TOP = 'top',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n RIGHT = 'right',\n RIGHT_TOP = 'right-top',\n RIGHT_BOTTOM = 'right-bottom',\n LEFT = 'left',\n LEFT_TOP = 'left-top',\n LEFT_BOTTOM = 'left-bottom',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right',\n RADIUS = 'radius',\n CIRCLE = 'circle',\n // no direction information\n NONE = 'none',\n}\n\n/**\n * 组件的类型,可能会影响到布局算法\n */\nexport enum COMPONENT_TYPE {\n /** axis 组件 */\n AXIS = 'axis',\n /** grid 组件 */\n GRID = 'grid',\n /** legend 组件 */\n LEGEND = 'legend',\n /** tooltip 组件 */\n TOOLTIP = 'tooltip',\n /** annotation 组件 */\n ANNOTATION = 'annotation',\n /** 缩略轴组件 */\n SLIDER = 'slider',\n /** 滚动条组件 */\n SCROLLBAR = 'scrollbar',\n /** 其他组件,自定义组件 */\n OTHER = 'other',\n}\n\n/**\n * 三层 group 的 z index\n */\nexport const GROUP_Z_INDEX = {\n FORE: 3,\n MID: 2,\n BG: 1,\n};\n\n/**\n * View 的生命周期阶段(和 3.x 的生命周期略有不同)\n * 我们需要先确定在那写场景需要用到生命周期,如果只是为了在生命周期插入一下什么组件之类的,那么在现有架构就是不需要的\n */\nexport enum VIEW_LIFE_CIRCLE {\n BEFORE_RENDER = 'beforerender',\n AFTER_RENDER = 'afterrender',\n\n BEFORE_PAINT = 'beforepaint',\n AFTER_PAINT = 'afterpaint',\n\n BEFORE_CHANGE_DATA = 'beforechangedata',\n AFTER_CHANGE_DATA = 'afterchangedata',\n\n BEFORE_CLEAR = 'beforeclear',\n AFTER_CLEAR = 'afterclear',\n\n BEFORE_DESTROY = 'beforedestroy',\n\n BEFORE_CHANGE_SIZE = 'beforechangesize',\n AFTER_CHANGE_SIZE = 'afterchangesize',\n}\n\n/**\n * geometry 的生命周期\n */\nexport enum GEOMETRY_LIFE_CIRCLE {\n BEFORE_DRAW_ANIMATE = 'beforeanimate',\n AFTER_DRAW_ANIMATE = 'afteranimate',\n\n BEFORE_RENDER_LABEL = 'beforerenderlabel',\n AFTER_RENDER_LABEL = 'afterrenderlabel',\n}\n\n/**\n * 绘图区的事件列表\n */\nexport enum PLOT_EVENTS {\n // mouse 事件\n MOUSE_ENTER = 'plot:mouseenter',\n MOUSE_DOWN = 'plot:mousedown',\n MOUSE_MOVE = 'plot:mousemove',\n MOUSE_UP = 'plot:mouseup',\n MOUSE_LEAVE = 'plot:mouseleave',\n // 移动端事件\n TOUCH_START = 'plot:touchstart',\n TOUCH_MOVE = 'plot:touchmove',\n TOUCH_END = 'plot:touchend',\n TOUCH_CANCEL = 'plot:touchcancel',\n // click 事件\n CLICK = 'plot:click',\n DBLCLICK = 'plot:dblclick',\n CONTEXTMENU = 'plot:contextmenu',\n\n LEAVE = 'plot:leave',\n ENTER = 'plot:enter',\n}\n\n/**\n * Element 图形交互状态\n */\nexport enum ELEMENT_STATE {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n SELECTED = 'selected',\n DEFAULT = 'default',\n}\n\n/** 参与分组的图形属性名 */\nexport const GROUP_ATTRS = ['color', 'shape', 'size'];\n/** 存储原始数据的字段名 */\nexport const FIELD_ORIGIN = '_origin';\n/** 最小的图表宽度 */\nexport const MIN_CHART_WIDTH = 1;\n/** 最小的图表高度 */\nexport const MIN_CHART_HEIGHT = 1;\n/** 辅助组件占图表的尺寸的最大比例:如图表上方的图例最多占图表高度的25% */\nexport const COMPONENT_MAX_VIEW_PERCENTAGE = 0.25;\n","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 { MIN_CHART_HEIGHT, MIN_CHART_WIDTH } from '../constant';\nimport { Size } from '../interface';\n\n/**\n * get the element's bounding size\n * @param ele dom element\n * @returns the element width and height\n */\nfunction getElementSize(ele: HTMLElement): Size {\n const style = getComputedStyle(ele);\n\n return {\n width:\n (ele.clientWidth || parseInt(style.width, 10)) -\n parseInt(style.paddingLeft, 10) -\n parseInt(style.paddingRight, 10),\n height:\n (ele.clientHeight || parseInt(style.height, 10)) -\n parseInt(style.paddingTop, 10) -\n parseInt(style.paddingBottom, 10),\n };\n}\n\n/**\n * is value a valid number\n * @param v the input value\n * @returns whether it is a number\n */\nfunction isNumber(v: any): boolean {\n return typeof v === 'number' && !isNaN(v);\n}\n\n/**\n * @ignore\n * calculate the chart size\n * @param ele DOM element\n * @param autoFit should auto fit\n * @param width chart width which is set by user\n * @param height chart height which is set by user\n * @returns the chart width and height\n */\nexport function getChartSize(ele: HTMLElement, autoFit: boolean, width: number, height: number): Size {\n let w = width;\n let h = height;\n\n if (autoFit) {\n const size = getElementSize(ele);\n\n w = size.width ? size.width : w;\n h = size.height ? size.height : h;\n }\n\n return {\n width: Math.max(isNumber(w) ? w : MIN_CHART_WIDTH, MIN_CHART_WIDTH),\n height: Math.max(isNumber(h) ? h : MIN_CHART_HEIGHT, MIN_CHART_HEIGHT),\n };\n}\n\n/**\n * @ignore\n * remove html element from its parent\n * @param dom\n */\nexport function removeDom(dom: HTMLElement) {\n const parent = dom.parentNode;\n\n if (parent) {\n parent.removeChild(dom);\n }\n}\n\n/** @ignore */\nexport { createDom, modifyCSS } from '@antv/dom-util';\n","import EE from '@antv/event-emitter';\n\ninterface BaseCfg {\n visible?: boolean;\n}\n\n/**\n * G2 Chart、View、Geometry 以及 Element 等的基类,提供事件以及一些通用的方法。\n */\nexport default class Base extends EE {\n /** 是否可见 */\n public visible: boolean;\n /** 标识对象是否已销毁 */\n public destroyed: boolean = false;\n\n constructor(cfg: BaseCfg) {\n super();\n const { visible = true } = cfg;\n this.visible = visible;\n }\n\n /**\n * 显示。\n */\n public show() {\n const visible = this.visible;\n if (!visible) {\n this.changeVisible(true);\n }\n }\n\n /**\n * 隐藏。\n */\n public hide() {\n const visible = this.visible;\n if (visible) {\n this.changeVisible(false);\n }\n }\n\n /**\n * 销毁。\n */\n public destroy() {\n this.off();\n this.destroyed = true;\n }\n\n /**\n * 显示或者隐藏。\n * @param visible\n * @returns\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.visible = visible;\n }\n}\n",null,null,null,null,null,null,null,"import { GeometryCfg } from './geometry/base';\nimport { IInteractionContext } from './interface';\n\n// 注册黑暗主题\nimport { registerTheme } from './core';\nimport { antvDark } from './theme/style-sheet/dark';\nimport { createThemeByStyleSheet } from './theme/util/create-by-style-sheet';\nregisterTheme('dark', createThemeByStyleSheet(antvDark));\n\n// 注册 G 渲染引擎\nimport * as CanvasEngine from '@antv/g-canvas';\nimport * as SVGEngine from '@antv/g-svg';\nimport { registerEngine } from './core';\n\nregisterEngine('canvas', CanvasEngine);\nregisterEngine('svg', SVGEngine);\n\n// 注册 G2 内置的 geometry\nimport { registerGeometry } from './core';\nimport Area, { AreaCfg } from './geometry/area';\nimport Edge from './geometry/edge';\nimport Heatmap from './geometry/heatmap';\nimport Interval, { IntervalCfg } from './geometry/interval';\nimport Line from './geometry/line';\nimport Path, { PathCfg } from './geometry/path';\nimport Point from './geometry/point';\nimport Polygon from './geometry/polygon';\nimport Schema from './geometry/schema';\nimport Violin from './geometry/violin';\n\nregisterGeometry('Polygon', Polygon);\nregisterGeometry('Interval', Interval);\nregisterGeometry('Schema', Schema);\nregisterGeometry('Path', Path);\nregisterGeometry('Point', Point);\nregisterGeometry('Line', Line);\nregisterGeometry('Area', Area);\nregisterGeometry('Edge', Edge);\nregisterGeometry('Heatmap', Heatmap);\nregisterGeometry('Violin', Violin);\n\n// 引入所有内置的 shapes\nimport './geometry/shape/area/line';\nimport './geometry/shape/area/smooth';\nimport './geometry/shape/area/smooth-line';\n\nimport './geometry/shape/edge/arc';\nimport './geometry/shape/edge/smooth';\nimport './geometry/shape/edge/vhv';\n\nimport './geometry/shape/interval/funnel';\nimport './geometry/shape/interval/hollow-rect';\nimport './geometry/shape/interval/line';\nimport './geometry/shape/interval/pyramid';\nimport './geometry/shape/interval/tick';\n\nimport './geometry/shape/line/step';\n\nimport './geometry/shape/point/hollow';\nimport './geometry/shape/point/image';\nimport './geometry/shape/point/solid';\n\nimport './geometry/shape/schema/box';\nimport './geometry/shape/schema/candle';\n\nimport './geometry/shape/polygon/square';\n\nimport './geometry/shape/violin/smooth';\nimport './geometry/shape/violin/hollow';\n\n// 注册 Geometry 内置的 label\nimport { registerGeometryLabel } from './core';\nimport GeometryLabel from './geometry/label/base';\nimport IntervalLabel from './geometry/label/interval';\nimport PieLabel from './geometry/label/pie';\nimport PolarLabel from './geometry/label/polar';\n\nregisterGeometryLabel('base', GeometryLabel);\nregisterGeometryLabel('interval', IntervalLabel);\nregisterGeometryLabel('pie', PieLabel);\nregisterGeometryLabel('polar', PolarLabel);\n\n// 注册 Geometry label 内置的布局函数\nimport { registerGeometryLabelLayout } from './core';\nimport { distribute } from './geometry/label/layout/pie/distribute';\nimport { pieOuterLabelLayout } from './geometry/label/layout/pie/outer';\nimport { pieSpiderLabelLayout } from './geometry/label/layout/pie/spider';\nimport { limitInCanvas } from './geometry/label/layout/limit-in-canvas';\nimport { limitInShape } from './geometry/label/layout/limit-in-shape';\nimport { fixedOverlap, overlap } from './geometry/label/layout/overlap';\nimport { hideOverlap } from './geometry/label/layout/hide-overlap';\nimport { adjustColor } from './geometry/label/layout/adjust-color';\nimport { intervalAdjustPosition } from './geometry/label/layout/interval/adjust-position';\nimport { intervalHideOverlap } from './geometry/label/layout/interval/hide-overlap';\nimport { pointAdjustPosition } from './geometry/label/layout/point/adjust-position';\nimport { pathAdjustPosition } from './geometry/label/layout/path/adjust-position';\nimport { limitInPlot } from './geometry/label/layout/limit-in-plot';\n\nregisterGeometryLabelLayout('overlap', overlap);\nregisterGeometryLabelLayout('distribute', distribute);\nregisterGeometryLabelLayout('fixed-overlap', fixedOverlap);\nregisterGeometryLabelLayout('hide-overlap', hideOverlap);\nregisterGeometryLabelLayout('limit-in-shape', limitInShape);\nregisterGeometryLabelLayout('limit-in-canvas', limitInCanvas);\nregisterGeometryLabelLayout('limit-in-plot', limitInPlot);\nregisterGeometryLabelLayout('pie-outer', pieOuterLabelLayout);\nregisterGeometryLabelLayout('adjust-color', adjustColor);\nregisterGeometryLabelLayout('interval-adjust-position', intervalAdjustPosition);\nregisterGeometryLabelLayout('interval-hide-overlap', intervalHideOverlap);\nregisterGeometryLabelLayout('point-adjust-position', pointAdjustPosition);\nregisterGeometryLabelLayout('pie-spider', pieSpiderLabelLayout);\nregisterGeometryLabelLayout('path-adjust-position', pathAdjustPosition);\n\n// 注册需要的动画执行函数\nimport { fadeIn, fadeOut } from './animate/animation/fade';\nimport { growInX, growInXY, growInY } from './animate/animation/grow-in';\nimport { pathIn } from './animate/animation/path-in';\nimport { positionUpdate } from './animate/animation/position-update';\nimport { scaleInX, scaleInY } from './animate/animation/scale-in';\nimport { sectorPathUpdate } from './animate/animation/sector-path-update';\nimport { waveIn } from './animate/animation/wave-in';\nimport { zoomIn, zoomOut } from './animate/animation/zoom';\nimport { registerAnimation } from './core';\n\nregisterAnimation('fade-in', fadeIn);\nregisterAnimation('fade-out', fadeOut);\nregisterAnimation('grow-in-x', growInX);\nregisterAnimation('grow-in-xy', growInXY);\nregisterAnimation('grow-in-y', growInY);\nregisterAnimation('scale-in-x', scaleInX);\nregisterAnimation('scale-in-y', scaleInY);\nregisterAnimation('wave-in', waveIn);\nregisterAnimation('zoom-in', zoomIn);\nregisterAnimation('zoom-out', zoomOut);\nregisterAnimation('position-update', positionUpdate);\nregisterAnimation('sector-path-update', sectorPathUpdate);\nregisterAnimation('path-in', pathIn);\n\n// 注册内置的 Facet\nimport { registerFacet } from './core';\nimport Circle from './facet/circle';\nimport List from './facet/list';\nimport Matrix from './facet/matrix';\nimport Mirror from './facet/mirror';\nimport Rect from './facet/rect';\nimport Tree from './facet/tree';\n\nregisterFacet('rect', Rect);\nregisterFacet('mirror', Mirror);\nregisterFacet('list', List);\nregisterFacet('matrix', Matrix);\nregisterFacet('circle', Circle);\nregisterFacet('tree', Tree);\n\n// 注册内置的 Component\nimport { registerComponentController } from './core';\n\nimport Annotation from './chart/controller/annotation';\nimport Axis from './chart/controller/axis';\nimport Legend from './chart/controller/legend';\nimport Slider from './chart/controller/slider';\nimport Tooltip from './chart/controller/tooltip';\nimport Scrollbar from './chart/controller/scrollbar';\n\n// register build-in components\nregisterComponentController('axis', Axis);\nregisterComponentController('legend', Legend);\nregisterComponentController('tooltip', Tooltip);\nregisterComponentController('annotation', Annotation);\nregisterComponentController('slider', Slider);\nregisterComponentController('scrollbar', Scrollbar);\n\n// 注册 Interaction Action\nimport { registerAction } from './core';\nimport ActiveRegion from './interaction/action/active-region';\nimport SiblingTooltip from './interaction/action/component/tooltip/sibling';\nimport TooltipAction from './interaction/action/component/tooltip/geometry';\nimport EllipsisTextAction from './interaction/action/component/tooltip/ellipsis-text';\n\nimport ElementActive from './interaction/action/element/active';\nimport ElementLinkByColor from './interaction/action/element/link-by-color';\nimport ElementRangeActive from './interaction/action/element/range-active';\nimport ElementSingleActive from './interaction/action/element/single-active';\n\nimport ElementHighlight from './interaction/action/element/highlight';\nimport ElementHighlightByColor from './interaction/action/element/highlight-by-color';\nimport ElementHighlightByX from './interaction/action/element/highlight-by-x';\n\nimport ElementRangeHighlight, { ELEMENT_RANGE_HIGHLIGHT_EVENTS } from './interaction/action/element/range-highlight';\nimport ElementSingleHighlight from './interaction/action/element/single-highlight';\n\nimport ElementRangeSelected from './interaction/action/element/range-selected';\nimport ElementSelected from './interaction/action/element/selected';\nimport ElementSingleSelected from './interaction/action/element/single-selected';\n\nimport ListActive from './interaction/action/component/list-active';\nimport ListHighlight from './interaction/action/component/list-highlight';\nimport ListSelected from './interaction/action/component/list-selected';\nimport ListUnchecked from './interaction/action/component/list-unchecked';\nimport ListChecked from './interaction/action/component/list-checked';\nimport ListFocus from './interaction/action/component/list-focus';\nimport ListRadio from './interaction/action/component/list-radio';\n\nimport CircleMask from './interaction/action/mask/circle';\nimport DimMask from './interaction/action/mask/dim-rect';\nimport PathMask from './interaction/action/mask/path';\nimport RectMask from './interaction/action/mask/rect';\nimport SmoothPathMask from './interaction/action/mask/smooth-path';\n\nimport RectMultiMask from './interaction/action/mask/multiple/rect';\nimport DimRectMultiMask from './interaction/action/mask/multiple/dim-rect';\nimport CircleMultiMask from './interaction/action/mask/multiple/circle';\nimport PathMultiMask from './interaction/action/mask/multiple/path';\nimport SmoothPathMultiMask from './interaction/action/mask/multiple/smooth-path';\n\nimport CursorAction from './interaction/action/cursor';\nimport DataFilter from './interaction/action/data/filter';\nimport DataRangeFilter, { BRUSH_FILTER_EVENTS } from './interaction/action/data/range-filter';\nimport SiblingFilter from './interaction/action/data/sibling-filter';\n\nimport ElementFilter from './interaction/action/element/filter';\nimport ElementSiblingFilter from './interaction/action/element/sibling-filter';\nimport ButtonAction from './interaction/action/view/button';\nimport ViewDrag from './interaction/action/view/drag';\nimport ViewMove from './interaction/action/view/move';\nimport ScaleTranslate from './interaction/action/view/scale-translate';\nimport ScaleZoom from './interaction/action/view/scale-zoom';\nimport MousewheelScroll from './interaction/action/view/mousewheel-scroll';\nimport AxisDescription from './interaction/action/component/axis/axis-description'\n\nregisterAction('tooltip', TooltipAction);\nregisterAction('sibling-tooltip', SiblingTooltip);\nregisterAction('ellipsis-text', EllipsisTextAction);\nregisterAction('element-active', ElementActive);\nregisterAction('element-single-active', ElementSingleActive);\nregisterAction('element-range-active', ElementRangeActive);\n\nregisterAction('element-highlight', ElementHighlight);\nregisterAction('element-highlight-by-x', ElementHighlightByX);\nregisterAction('element-highlight-by-color', ElementHighlightByColor);\n\nregisterAction('element-single-highlight', ElementSingleHighlight);\nregisterAction('element-range-highlight', ElementRangeHighlight);\nregisterAction('element-sibling-highlight', ElementRangeHighlight, {\n effectSiblings: true,\n effectByRecord: true,\n});\n\nregisterAction('element-selected', ElementSelected);\nregisterAction('element-single-selected', ElementSingleSelected);\nregisterAction('element-range-selected', ElementRangeSelected);\nregisterAction('element-link-by-color', ElementLinkByColor);\n\nregisterAction('active-region', ActiveRegion);\nregisterAction('list-active', ListActive);\nregisterAction('list-selected', ListSelected);\nregisterAction('list-highlight', ListHighlight);\nregisterAction('list-unchecked', ListUnchecked);\nregisterAction('list-checked', ListChecked);\nregisterAction('list-focus', ListFocus);\nregisterAction('list-radio', ListRadio);\n\nregisterAction('legend-item-highlight', ListHighlight, {\n componentNames: ['legend'],\n});\n\nregisterAction('axis-label-highlight', ListHighlight, {\n componentNames: ['axis'],\n});\nregisterAction('axis-description', AxisDescription)\n\nregisterAction('rect-mask', RectMask);\nregisterAction('x-rect-mask', DimMask, { dim: 'x' });\nregisterAction('y-rect-mask', DimMask, { dim: 'y' });\nregisterAction('circle-mask', CircleMask);\nregisterAction('path-mask', PathMask);\nregisterAction('smooth-path-mask', SmoothPathMask);\n\nregisterAction('rect-multi-mask', RectMultiMask);\nregisterAction('x-rect-multi-mask', DimRectMultiMask, { dim: 'x' });\nregisterAction('y-rect-multi-mask', DimRectMultiMask, { dim: 'y' });\nregisterAction('circle-multi-mask', CircleMultiMask);\nregisterAction('path-multi-mask', PathMultiMask);\nregisterAction('smooth-path-multi-mask', SmoothPathMultiMask);\n\nregisterAction('cursor', CursorAction);\nregisterAction('data-filter', DataFilter);\n\nregisterAction('brush', DataRangeFilter);\nregisterAction('brush-x', DataRangeFilter, { dims: ['x'] });\nregisterAction('brush-y', DataRangeFilter, { dims: ['y'] });\nregisterAction('sibling-filter', SiblingFilter);\nregisterAction('sibling-x-filter', SiblingFilter, { dims: 'x' });\nregisterAction('sibling-y-filter', SiblingFilter, { dims: 'y' });\n\nregisterAction('element-filter', ElementFilter);\nregisterAction('element-sibling-filter', ElementSiblingFilter);\nregisterAction('element-sibling-filter-record', ElementSiblingFilter, { byRecord: true });\n\nregisterAction('view-drag', ViewDrag);\nregisterAction('view-move', ViewMove);\n\nregisterAction('scale-translate', ScaleTranslate);\nregisterAction('scale-zoom', ScaleZoom);\nregisterAction('reset-button', ButtonAction, {\n name: 'reset-button',\n text: 'reset',\n});\n\nregisterAction('mousewheel-scroll', MousewheelScroll);\n\n// 注册默认的 Interaction 交互行为\nimport { registerInteraction } from './core';\nimport { isMultipleMask } from './interaction/action/util';\n\nfunction isPointInView(context: IInteractionContext) {\n return context.isInPlot();\n}\n\n// 注册 tooltip 的 interaction\nregisterInteraction('tooltip', {\n start: [\n { trigger: 'plot:mousemove', action: 'tooltip:show', throttle: { wait: 50, leading: true, trailing: false } },\n { trigger: 'plot:touchmove', action: 'tooltip:show', throttle: { wait: 50, leading: true, trailing: false } },\n ],\n end: [\n { trigger: 'plot:mouseleave', action: 'tooltip:hide' },\n { trigger: 'plot:leave', action: 'tooltip:hide' },\n { trigger: 'plot:touchend', action: 'tooltip:hide' },\n ],\n});\n\nregisterInteraction('ellipsis-text', {\n start: [\n {\n trigger: 'legend-item-name:mousemove',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'legend-item-name:touchstart',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'axis-label:mousemove',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'axis-label:touchstart',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n ],\n end: [\n { trigger: 'legend-item-name:mouseleave', action: 'ellipsis-text:hide' },\n { trigger: 'legend-item-name:touchend', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:mouseleave', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:mouseout', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:touchend', action: 'ellipsis-text:hide' },\n ],\n});\n\n// 移动到 element 上 active\nregisterInteraction('element-active', {\n start: [{ trigger: 'element:mouseenter', action: 'element-active:active' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-active:reset' }],\n});\n\n// 点击选中,允许取消\nregisterInteraction('element-selected', {\n start: [{ trigger: 'element:click', action: 'element-selected:toggle' }],\n});\n\n// hover highlight,允许取消\nregisterInteraction('element-highlight', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight:reset' }],\n});\n\n// hover highlight by x,允许取消\nregisterInteraction('element-highlight-by-x', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight-by-x:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight-by-x:reset' }],\n});\n\n// hover highlight by y,允许取消\nregisterInteraction('element-highlight-by-color', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight-by-color:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight-by-color:reset' }],\n});\n\n// legend hover,element active\nregisterInteraction('legend-active', {\n start: [{ trigger: 'legend-item:mouseenter', action: ['list-active:active', 'element-active:active'] }],\n end: [{ trigger: 'legend-item:mouseleave', action: ['list-active:reset', 'element-active:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('legend-highlight', {\n start: [\n { trigger: 'legend-item:mouseenter', action: ['legend-item-highlight:highlight', 'element-highlight:highlight'] },\n ],\n end: [{ trigger: 'legend-item:mouseleave', action: ['legend-item-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('axis-label-highlight', {\n start: [\n { trigger: 'axis-label:mouseenter', action: ['axis-label-highlight:highlight', 'element-highlight:highlight'] },\n ],\n end: [{ trigger: 'axis-label:mouseleave', action: ['axis-label-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('element-list-highlight', {\n start: [{ trigger: 'element:mouseenter', action: ['list-highlight:highlight', 'element-highlight:highlight'] }],\n end: [{ trigger: 'element:mouseleave', action: ['list-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// 框选\nregisterInteraction('element-range-highlight', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'mask:mouseenter', action: 'cursor:move' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n { trigger: 'mask:mouseleave', action: 'cursor:crosshair' },\n ],\n start: [\n {\n trigger: 'plot:mousedown',\n isEnable(context) {\n // 不要点击在 mask 上重新开始\n return !context.isInShape('mask');\n },\n action: ['rect-mask:start', 'rect-mask:show'],\n },\n {\n trigger: 'mask:dragstart',\n action: ['rect-mask:moveStart'],\n },\n ],\n processing: [\n {\n trigger: 'plot:mousemove',\n action: ['rect-mask:resize'],\n },\n {\n trigger: 'mask:drag',\n action: ['rect-mask:move'],\n },\n {\n trigger: 'mask:change',\n action: ['element-range-highlight:highlight'],\n },\n ],\n end: [\n { trigger: 'plot:mouseup', action: ['rect-mask:end'] },\n { trigger: 'mask:dragend', action: ['rect-mask:moveEnd'] },\n {\n trigger: 'document:mouseup',\n isEnable(context) {\n return !context.isInPlot();\n },\n action: ['element-range-highlight:clear', 'rect-mask:end', 'rect-mask:hide'],\n },\n ],\n rollback: [{ trigger: 'dblclick', action: ['element-range-highlight:clear', 'rect-mask:hide'] }],\n});\n\nregisterInteraction('brush', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['brush:start', 'rect-mask:start', 'rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: isPointInView,\n action: ['rect-mask:resize'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n isEnable: isPointInView,\n action: ['brush:filter', 'brush:end', 'rect-mask:end', 'rect-mask:hide', 'reset-button:show'],\n },\n ],\n rollback: [{ trigger: 'reset-button:click', action: ['brush:reset', 'reset-button:hide', 'cursor:crosshair'] }],\n});\n\nregisterInteraction('brush-visible', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'plot:mousedown',\n action: ['rect-mask:start', 'rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'plot:mousemove',\n action: ['rect-mask:resize'],\n },\n { trigger: 'mask:change', action: ['element-range-highlight:highlight'] },\n ],\n end: [\n {\n trigger: 'plot:mouseup',\n action: ['rect-mask:end', 'rect-mask:hide', 'element-filter:filter', 'element-range-highlight:clear'],\n },\n ],\n rollback: [\n {\n trigger: 'dblclick',\n action: ['element-filter:clear'],\n },\n ],\n});\n\nregisterInteraction('brush-x', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['brush-x:start', 'x-rect-mask:start', 'x-rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: isPointInView,\n action: ['x-rect-mask:resize'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n isEnable: isPointInView,\n action: ['brush-x:filter', 'brush-x:end', 'x-rect-mask:end', 'x-rect-mask:hide'],\n },\n ],\n rollback: [{ trigger: 'dblclick', action: ['brush-x:reset'] }],\n});\n\nregisterInteraction('element-path-highlight', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n { trigger: 'mousedown', isEnable: isPointInView, action: 'path-mask:start' },\n { trigger: 'mousedown', isEnable: isPointInView, action: 'path-mask:show' },\n ],\n processing: [{ trigger: 'mousemove', action: 'path-mask:addPoint' }],\n end: [{ trigger: 'mouseup', action: 'path-mask:end' }],\n rollback: [{ trigger: 'dblclick', action: 'path-mask:hide' }],\n});\n\nregisterInteraction('brush-x-multi', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'mask:mouseenter', action: 'cursor:move' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n { trigger: 'mask:mouseleave', action: 'cursor:crosshair' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['x-rect-multi-mask:start', 'x-rect-multi-mask:show'],\n },\n {\n trigger: 'mask:dragstart',\n action: ['x-rect-multi-mask:moveStart'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: (context) => !isMultipleMask(context),\n action: ['x-rect-multi-mask:resize'],\n },\n {\n trigger: 'multi-mask:change',\n action: 'element-range-highlight:highlight',\n },\n {\n trigger: 'mask:drag',\n action: ['x-rect-multi-mask:move'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n action: ['x-rect-multi-mask:end'],\n },\n { trigger: 'mask:dragend', action: ['x-rect-multi-mask:moveEnd'] },\n ],\n rollback: [\n {\n trigger: 'dblclick',\n action: ['x-rect-multi-mask:clear', 'cursor:crosshair'],\n },\n {\n trigger: 'multi-mask:clearAll',\n action: ['element-range-highlight:clear'],\n },\n {\n trigger: 'multi-mask:clearSingle',\n action: ['element-range-highlight:highlight'],\n },\n ],\n});\n\n// 点击选中,允许取消\nregisterInteraction('element-single-selected', {\n start: [{ trigger: 'element:click', action: 'element-single-selected:toggle' }],\n});\n\n// 筛选数据\nregisterInteraction('legend-filter', {\n showEnable: [\n { trigger: 'legend-item:mouseenter', action: ['cursor:pointer', 'list-radio:show'] },\n { trigger: 'legend-item:mouseleave', action: ['cursor:default', 'list-radio:hide'] },\n ],\n start: [\n {\n trigger: 'legend-item:click',\n isEnable: (context) => {\n return !context.isInShape('legend-item-radio');\n },\n action: ['legend-item-highlight:reset', 'element-highlight:reset', 'list-unchecked:toggle', 'data-filter:filter', 'list-radio:show'],\n },\n // 正反选数据: 只有当 radio === truthy 的时候才会有 legend-item-radio 这个元素\n {\n trigger: 'legend-item-radio:mouseenter',\n action: ['list-radio:showTip'],\n },\n {\n trigger: 'legend-item-radio:mouseleave',\n action: ['list-radio:hideTip'],\n },\n {\n trigger: 'legend-item-radio:click',\n action: ['list-focus:toggle', 'data-filter:filter', 'list-radio:show'],\n },\n ],\n});\n\n// 筛选数据\nregisterInteraction('continuous-filter', {\n start: [{ trigger: 'legend:valuechanged', action: 'data-filter:filter' }],\n});\n// 筛选数据\nregisterInteraction('continuous-visible-filter', {\n start: [{ trigger: 'legend:valuechanged', action: 'element-filter:filter' }],\n});\n\n// 筛选图形\nregisterInteraction('legend-visible-filter', {\n showEnable: [\n { trigger: 'legend-item:mouseenter', action: 'cursor:pointer' },\n { trigger: 'legend-item:mouseleave', action: 'cursor:default' },\n ],\n start: [{ trigger: 'legend-item:click', action: ['legend-item-highlight:reset', 'element-highlight:reset', 'list-unchecked:toggle', 'element-filter:filter'] }],\n});\n\n// 出现背景框\nregisterInteraction('active-region', {\n start: [{ trigger: 'plot:mousemove', action: 'active-region:show' }],\n end: [{ trigger: 'plot:mouseleave', action: 'active-region:hide' }],\n});\n\n// 显示坐标轴标题详情信息\nregisterInteraction('axis-description', {\n start: [{ trigger: 'axis-description:mousemove', action: 'axis-description:show' }],\n end: [{ trigger: 'axis-description:mouseleave', action: 'axis-description:hide' }]\n})\n\nfunction isWheelDown(event) {\n event.gEvent.preventDefault();\n return event.gEvent.originalEvent.deltaY > 0;\n}\nregisterInteraction('view-zoom', {\n start: [\n {\n trigger: 'plot:mousewheel',\n isEnable(context) {\n return isWheelDown(context.event);\n },\n action: 'scale-zoom:zoomOut',\n throttle: { wait: 100, leading: true, trailing: false },\n },\n {\n trigger: 'plot:mousewheel',\n isEnable(context) {\n return !isWheelDown(context.event);\n },\n action: 'scale-zoom:zoomIn',\n throttle: { wait: 100, leading: true, trailing: false },\n },\n ],\n});\n\nregisterInteraction('sibling-tooltip', {\n start: [{ trigger: 'plot:mousemove', action: 'sibling-tooltip:show' }],\n end: [{ trigger: 'plot:mouseleave', action: 'sibling-tooltip:hide' }],\n});\n\nregisterInteraction('plot-mousewheel-scroll', {\n start: [{ trigger: 'plot:mousewheel', action: 'mousewheel-scroll:scroll' }],\n});\n\n// 让 TS 支持 View 原型上添加的创建 Geometry 方法的智能提示\n/**\n * 往 View 原型上添加的创建 Geometry 的方法\n *\n * Tips:\n * view module augmentation, detail: http://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation\n */\ndeclare module './chart/view' {\n interface View {\n /**\n * 创建 Polygon 几何标记。\n * @param [cfg] 传入 Polygon 构造函数的配置。\n * @returns polygon 返回 Polygon 实例。\n */\n polygon(cfg?: Partial): Polygon;\n /**\n * 创建 Point 几何标记。\n * @param [cfg] 传入 Point 构造函数的配置。\n * @returns point 返回 Point 实例。\n */\n point(cfg?: Partial): Point;\n /**\n * 创建 Interval 几何标记。\n * @param [cfg] 传入 Interval 构造函数的配置。\n * @returns interval 返回 Interval 实例。\n */\n interval(cfg?: Partial): Interval;\n /**\n * 创建 Schema 几何标记。\n * @param [cfg] 传入 Schema 构造函数的配置。\n * @returns schema 返回 Schema 实例。\n */\n schema(cfg?: Partial): Schema;\n /**\n * 创建 Path 几何标记。\n * @param [cfg] 传入 Path 构造函数的配置。\n * @returns path 返回 Path 实例。\n */\n path(cfg?: Partial): Path;\n /**\n * 创建 Line 几何标记。\n * @param [cfg] 传入 Line 构造函数的配置。\n * @returns line 返回 Line 实例。\n */\n line(cfg?: Partial): Line;\n /**\n * 创建 Area 几何标记。\n * @param [cfg] 传入 Area 构造函数的配置。\n * @returns area 返回 Area 实例。\n */\n area(cfg?: Partial): Area;\n /**\n * 创建 Edge 几何标记。\n * @param [cfg] 传入 Edge 构造函数的配置。\n * @returns schema 返回 Edge 实例。\n */\n edge(cfg?: Partial): Edge;\n /**\n * 创建 Heatmap 几何标记。\n * @param [cfg] 传入 Heatmap 构造函数的配置。\n * @returns heatmap 返回 Heatmap 实例。\n */\n heatmap(cfg?: Partial): Heatmap;\n /**\n * 创建 Violin 几何标记。\n * @param [cfg] 传入 Violin 构造函数的配置。\n * @returns violin 返回 Violin 实例。\n */\n violin(cfg?: Partial): Violin;\n }\n}\n\n// 暴露一些常量\nexport { VIEW_LIFE_CIRCLE } from './constant';\n/** brush 范围筛选的一些事件常量 */\nexport { BRUSH_FILTER_EVENTS, ELEMENT_RANGE_HIGHLIGHT_EVENTS };\n\nexport * from './core';\n",null,null,null,null,"/* 依赖的模块,在这里统一引入,方便打包优化 */\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 { GROUP_ATTRS } from '../constant';\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 * using the scale type if user specified, otherwise infer the type\n */\nexport function inferScaleType(scale: Scale, scaleDef: ScaleOption = {}, attrType: string, geometryType: string): string {\n if (scaleDef.type) return scaleDef.type;\n // identity scale 直接返回\n // geometry 类型有: edge,heatmap,interval,line,path,point,polygon,schema,voilin等;理论上,interval 下,可以用 linear scale 作为分组字段\n if (scale.type !== 'identity' && GROUP_ATTRS.includes(attrType) && ['interval'].includes(geometryType)) {\n return 'cat';\n }\n return scale.isCategory ? 'cat' : scale.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 // 如果已经定义过这个度量 (fix-later 单纯从数据中,推断 scale type 是不精确的)\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 return getMaskBBoxByShape(maskShape, tolerance);\n}\n\n/**\n * 如果 mask BBox 过小则不返回\n */\nfunction isValidMaskBBox(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n const { width, height } = maskBBox;\n return width > 0 && height > 0 && (width >= tolerance || height >= tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask 的 canvasBBox\n * @param maskShape\n * @param tolerance\n * @returns\n */\nfunction getMaskBBoxByShape(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n return isValidMaskBBox(maskShape, tolerance) ? maskBBox : null;\n}\n\n/**\n * 获取 multiple 模式下 mask 的 canvasBBox 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskBBoxList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskBBoxByShape(maskShape, tolerance)).filter((bBox) => !!bBox);\n}\n\nfunction getMaskPath(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n return getMaskPathByMaskShape(maskShape, tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask path\n * @param maskShape\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMaskPathByMaskShape(maskShape, tolerance: number) {\n return isValidMaskBBox(maskShape, tolerance) ? maskShape.attr('path') : null;\n}\n\n/**\n * 获取 multiple 模式下 mask path 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskPathList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskPathByMaskShape(maskShape, tolerance));\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') || isMultipleMask(context);\n}\n\n/**\n * 是否由 multiple mask 触发\n * @param context\n * @returns\n */\nexport function isMultipleMask(context: IInteractionContext): boolean {\n return context.event.target?.get('name') === 'multi-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\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getMultiMaskedElements(context, tolerance);\n }\n\n // 正常模式下\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 * 获取 multiple 模式下被 mask 遮挡的 elements\n * @param context 上下文\n * @returns\n */\nfunction getMultiMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const { target } = context.event;\n if (target.get('type') === 'path') {\n const maskPathList = getMultiMaskPathList(context, tolerance);\n if (maskPathList.length > 0) {\n return maskPathList.flatMap((maskPath) => getElementsByPath(context.view, maskPath));\n }\n return null;\n }\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getIntersectElements(context.view, maskBBox));\n }\n return null;\n}\n\n/**\n * @ignore\n */\nexport function getSiblingMaskElements(context: IInteractionContext, sibling: View, tolerance: number) {\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getSiblingMultiMaskedElements(context, sibling, tolerance);\n }\n\n // 正常模式下\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getSiblingMaskElementsByBBox(maskBBox, context, sibling);\n}\n\n/**\n * 通过 mashBBox 获取 sibling 模式下被 mask 遮挡的 elements\n * @param maskBBox\n * @param context 上下文\n * @param sibling sibling view\n * @returns\n */\nfunction getSiblingMaskElementsByBBox(maskBBox, context: IInteractionContext, sibling: View) {\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 * 获取 sibling 模式下被 multiple mask 遮挡的 elements\n * @param context 上下文\n * @param sibling sibling view\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getSiblingMultiMaskedElements(context: IInteractionContext, sibling: View, tolerance: number): Element[] {\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getSiblingMaskElementsByBBox(maskBBox, context, sibling));\n }\n return null;\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 iconStyle: {\n fill: styleSheet.axisDescriptionIconFillColor\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 { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: 'transparent',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(0,0,0,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\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\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 /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\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 return { ...token, ...cfg };\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 get,\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, inferScaleType } 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 const tmpScaleDef = get(geometry.scaleDefs, tmpScale.field);\n const inferedScaleType = inferScaleType(tmpScale, tmpScaleDef, attribute.type, geometry.type);\n if (inferedScaleType !== 'cat') {\n // 如果指定字段是非 position 的,同时是连续的\n scale = tmpScale;\n break;\n }\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 // 刷新 tooltip (tooltip crosshairs 依赖 coordinate 位置)\n const tooltipController = this.controllers.find((c) => c.name === 'tooltip');\n tooltipController.update();\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 const components = this.getComponents();\n // 先全部清空,然后 render\n for (let i = 0; i < components.length; i++) {\n const co = components[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', 'axis-description'],\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, getCoordinateClipCfg } 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 const rootView = this.view.getRootView();\n const { limitInPlot } = rootView;\n for (const item of items) {\n const { x, y } = item;\n\n // 有裁剪就剪切\n if (limitInPlot || tooltipMarkersGroup?.getClip()) {\n const { type, attrs } = getCoordinateClipCfg(rootView.getCoordinate());\n tooltipMarkersGroup?.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n tooltipMarkersGroup?.setClip(undefined);\n }\n\n const theme = this.view.getTheme();\n const markerDefaultCfg = get(theme, ['components', 'tooltip', 'marker'], {});\n\n const attrs = {\n fill: item.color,\n symbol: 'circle',\n shadowColor: item.color,\n ...(isFunction(marker) ? { ...markerDefaultCfg, ...marker(item) } : 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 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 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 = [];\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 const { sortZIndex, zIndexReversed } = this.geometry;\n const idx = zIndexReversed ? this.geometry.elements.length - this.elementIndex : this.elementIndex;\n sortZIndex ? shape.setZIndex(idx) : shape.set('zIndex', idx);\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, GEOMETRY_LIFE_CIRCLE, 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 { inferScaleType } from '../util/scale';\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}\ninterface DimValuesMapType {\n [dim: string]: number[];\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 /** 用户自定义的dimValuesMap */\n dimValuesMap?: DimValuesMapType;\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 /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n sortZIndex?: boolean;\n /** 延迟渲染 Geometry 数据标签. 设置为 true 时,会在浏览器空闲时期被调用, 也可以指定具体 timeout 时间 */\n useDeferredLabel?: boolean | number;\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/**\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 /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n public sortZIndex?: boolean;\n protected useDeferredLabel?: null | number;\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 sortZIndex,\n useDeferredLabel,\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 this.sortZIndex = sortZIndex;\n this.useDeferredLabel = useDeferredLabel ? (typeof useDeferredLabel === 'number' ? useDeferredLabel : Infinity) : null;\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 const deferred = this.useDeferredLabel;\n const callback = (() => this.renderLabels(flatten(this.dataArray) as unknown as MappingDatum[], isUpdate)).bind(this);\n if (typeof deferred === 'number') {\n // Use `requestIdleCallback` to render labels in idle time (like react fiber)\n const timeout = (typeof deferred === 'number' && deferred !== Infinity) ? deferred : 0;\n if (!window.requestIdleCallback) {\n setTimeout(callback, timeout);\n } else {\n const options = timeout && timeout !== Infinity ? { timeout } : undefined;\n window.requestIdleCallback(callback, options);\n }\n } else {\n callback();\n }\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 const groupScales = this.groupScales;\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.set('zIndex', 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.set('zIndex', this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 全部 setZIndex 之后,再执行 sort\n if (this.container) {\n this.container.sort();\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 (!tmpMap[field] && GROUP_ATTRS.includes(attrType)) {\n const inferedScaleType = inferScaleType(scale, get(this.scaleDefs, field), attrType, this.type);\n if (inferedScaleType === 'cat') {\n this.groupScales.push(scale);\n tmpMap[field] = true;\n }\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 adjustCfg.dimValuesMap = {};\n //生成dimValuesMap\n if (xScale && xScale.values) {\n adjustCfg.dimValuesMap[xScale.field] = xScale.values.map((v) => xScale.translate(v));\n }\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 async renderLabels(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n let geometryLabel = this.geometryLabel;\n\n this.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_RENDER_LABEL);\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 await geometryLabel.render(mappingArray, isUpdate);\n\n // 将 label 同 element 进行关联\n const labelsMap = geometryLabel.labelsRenderer.shapesMap;\n // Store labels for every element.\n const elementLabels = new Map>();\n each(labelsMap, (labelGroup: IGroup, labelGroupId: string) => {\n const labelChildren = labelGroup.getChildren() || [];\n for (let j = 0; j < labelChildren.length; j++) {\n const labelShape = labelChildren[j];\n const element = this.elementsMap[labelShape.get('elementId') || labelGroupId.split(' ')[0]];\n if (element) {\n labelShape.cfg.name = ['element', 'label'];\n labelShape.cfg.element = element;\n const labels = elementLabels.get(element) || new Set();\n labels.add(labelGroup);\n elementLabels.set(element, labels);\n }\n }\n });\n for (const [element, labels] of elementLabels.entries()) {\n element.labelShape = [...labels];\n }\n\n this.emit(GEOMETRY_LIFE_CIRCLE.AFTER_RENDER_LABEL);\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';\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 getLabelBackgroundInfo(\n labelGroup: IGroup,\n labelItem: { rotate?: number;[key: string]: any },\n padding: number | number[] = [0, 0, 0, 0]\n): { x: number; y: number; width: number; height: number; rotation: number } {\n const content = labelGroup && 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 return { x: 0, y: 0, width: 0, height: 0, rotation: 0 };\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 { getLabelBackgroundInfo } 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\n constructor(cfg: LabelsGroupCfg) {\n const { layout, container } = cfg;\n\n this.layout = layout;\n this.container = container;\n }\n /**\n * 渲染文本\n */\n public async render(items: LabelItem[], shapes: Record, isUpdate: boolean = false) {\n const shapesMap = {};\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 shapesMap[item.id] = this.renderLabel(item, offscreenGroup);\n }\n }\n // [todo] Move layout into Worker.\n // step 2: 根据布局,调整 labels\n await this.doLayout(items, shapes, shapesMap);\n\n // step 3.1: 绘制 labelLine\n this.renderLabelLine(items, shapesMap);\n // step 3.2: 绘制 labelBackground\n this.renderLabelBackground(items, shapesMap);\n // step 4: 根据用户设置的偏移量调整 label\n this.adjustLabel(items, shapesMap);\n }\n\n // 进行添加、更新、销毁操作\n const lastShapesMap = 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 shapesMap[id] = currentShape; // 保存引用\n } else {\n // 新生成的 shape\n // If container has been destroyed, no need to render labels.\n if (this.container.destroyed) return;\n this.container.add(shape);\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.shapesMap = shapesMap;\n offscreenGroup.destroy();\n }\n\n /** 清除当前 labels */\n public clear() {\n this.container.clear();\n this.shapesMap = {};\n }\n\n /** 销毁 */\n public destroy() {\n this.container.destroy();\n this.shapesMap = null;\n }\n\n private renderLabel(cfg: LabelItem, container: IGroup): IGroup {\n const { id, elementId, data, mappingData, coordinate, animate, content, capture } = cfg;\n const shapeAppendCfg = {\n id,\n elementId,\n capture,\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 return labelGroup;\n }\n\n // 根据type对label布局\n private async doLayout(items: LabelItem[], shapes: Record, shapesMap: Record) {\n if (this.layout) {\n const layouts = isArray(this.layout) ? this.layout : [this.layout];\n await Promise.all(layouts.map((layout: GeometryLabelLayoutCfg) => {\n const layoutFn = getGeometryLabelLayout(get(layout, 'type', ''));\n if (!layoutFn) return;\n\n const labelShapes = [];\n const geometryShapes = [];\n each(shapesMap, (labelShape, id) => {\n labelShapes.push(labelShape);\n geometryShapes.push(shapes[labelShape.get('elementId')]);\n });\n // [todo] Refactor more layout into Worker.\n return layoutFn(items, labelShapes, geometryShapes, this.region, layout.cfg);\n }));\n }\n }\n\n private renderLabelLine(labelItems: LabelItem[], shapesMap) {\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 = 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[], shapesMap) {\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 = shapesMap[id];\n if (!labelGroup.destroyed) {\n const labelContentShape = labelGroup.getChildren()[0];\n if (labelContentShape) {\n const { rotation, ...box } = getLabelBackgroundInfo(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[], shapesMap) {\n each(items, (item) => {\n if (item) {\n const id = item.id;\n const labelGroup = 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, isArray } 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 (isArray(fromShape.getChildren()) && 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 async render(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n const labelItems = this.getLabelItems(mappingArray);\n const labelsRenderer = this.getLabelsRenderer();\n const shapes = this.getGeometryShapes();\n // 渲染文本\n await 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.2.11';\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 { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: '#141414',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(255,255,255,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\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\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 /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\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 return { ...token, ...cfg };\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 fillOpacity: 1,\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 // 同时存在 坐标系是否发生转置 和 y 镜像的时候\n const isReflectYTransposed = (coordinate.isTransposed && coordinate.isReflect('y'));\n const bump = isReflectYTransposed ? 0 : 1;\n const opposite = (r: number) => isReflectYTransposed ? -r : r;\n\n path.push(['M', p0.x, p1.y + opposite(r1)]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, bump, p0.x + r1, p1.y]);\n path.push(['L', p1.x - r2, p1.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, bump, p1.x, p1.y + opposite(r2)]);\n path.push(['L', p1.x, p0.y - opposite(r3)]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, bump, p1.x - r3, p0.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, bump, p0.x, p0.y - opposite(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 */\nfunction swap(p0: T, p1: T) {\n return [p1, p0];\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] = typeof radius === 'number' ? Array(4).fill(radius) : radius;\n\n if (coordinate.isTransposed) {\n [p1, p3] = swap(p1, p3);\n }\n\n /**\n * 存在镜像\n */\n if (coordinate.isReflect('y')) {\n [p0, p1] = swap(p0, p1);\n [p2, p3] = swap(p2, p3);\n }\n if (coordinate.isReflect('x')) {\n [p0, p3] = swap(p0, p3);\n [p1, p2] = swap(p1, p2);\n }\n\n const path = [];\n\n\n /**\n * p1 → p2\n * ↑ ↓\n * p0 ← p3\n *\n * 负数的情况,关键点会变成下面的形式\n *\n * p0 ← p3 p2 ← p1\n * ↓ ↑ ↓ ↑\n * p1 → p2 --> (转置下) p3 → p0\n */\n const abs = v => Math.abs(v);\n [r1, r2, r3, r4] = parseRadius([r1, r2, r3, r4], Math.min(abs(p3.x - p0.x), abs(p1.y - p0.y))).map(d => abs(d));\n\n if (coordinate.isTransposed) {\n [r1, r2, r3, r4] = [r4, r1, r2, r3]\n }\n\n if (p0.y < p1.y /** 负数情况 */) {\n path.push(['M', p3.x, p3.y + r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y + r4]);\n path.push(['L', p1.x, p1.y - r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0/** 逆时针 */, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y - r2]);\n path.push(['L', p3.x, p3.y + r3]);\n path.push(['z']);\n } else if (p3.x < p0.x) {\n path.push(['M', p2.x + r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x + r3, p3.y]);\n path.push(['L', p0.x - r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0, p1.x - r1, p1.y]);\n path.push(['L', p2.x + r2, p2.y]);\n path.push(['z']);\n } else {\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\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 name: 'interval-group',\n });\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 capture: false,\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 fillOpacity: 1,\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 capture: false,\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 { Point } from '../dependents';\n\ntype Vec2 = [number, number];\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n/**\n * 定义投影对象\n */\ntype Projection = { min: number; max: number };\n\nfunction dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n}\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: Item): 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 typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n}\n\nfunction isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n}\n\n/**\n * 快速判断两个无旋转矩形是否遮挡\n */\nexport function isIntersectRect(box1: Item, box2: Item, 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 intersect(box1: Item, box2: Item, margin: number = 0) {\n // 如果两个 box 中有一个是不合法的 box,也就是不会被渲染出来的,那么它们就不相交。\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // 如果两个矩形没有旋转,使用快速判断\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(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)) {\n return false;\n }\n }\n\n return true;\n}\n","import { isFunction } from '@antv/util';\n\nclass MyWorker {\n queue: any[] = [];\n worker: Worker;\n\n constructor(url) {\n this.worker = new Worker(url);\n this.worker.onmessage = (e: MessageEvent) => {\n this.queue.shift()?.resolve(e);\n };\n this.worker.onmessageerror = (e: MessageEvent) => {\n console.warn('[AntV G2] Web worker is not available');\n this.queue.shift()?.reject(e);\n };\n }\n\n post(params, onError?: () => any): Promise {\n return new Promise((resolve, reject) => {\n this.queue.push({ resolve, reject });\n try {\n this.worker.postMessage(params);\n } catch (e) {\n console.warn('[AntV G2] Web worker is not available');\n isFunction(onError) && onError();\n }\n });\n }\n\n destroy() {\n this.worker.terminate();\n }\n}\n\nexport function createWorker(f: any) {\n if (typeof window === 'undefined') return;\n\n let blob;\n try {\n blob = new Blob([f.toString()], { type: 'application/javascript' });\n } catch (e) {\n // @ts-ignore\n blob = new window.BlobBuilder();\n blob.append(f.toString());\n blob = blob.getBlob();\n }\n\n return new MyWorker(URL.createObjectURL(blob));\n}\n","const onmessage = function (e) {\n type Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n };\n\n // Copy from src/util/collision-detect.ts\n function generateUtils() {\n type Vec2 = [number, number];\n\n type Point = { x: number; y: number };\n\n /**\n * 定义投影对象\n */\n type Projection = { min: number; max: number };\n\n function dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n }\n /**\n * 1. 获取投影轴\n */\n function 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 * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\n function 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 */\n function getRectPoints(box: Item): 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 * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\n function 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.apply(null, scalars), max: Math.max.apply(null, scalars) };\n }\n\n function isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n }\n\n function isValidNumber(d: number) {\n return typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n }\n\n function isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n }\n\n function isIntersectRect(box1: Item, box2: Item, 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 function intersect(box1: Item, box2: Item, margin: number = 0) {\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // Quick detect, if rotation is null or zero.\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(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 if (!isProjectionOverlap(projection1, projection2)) return false;\n }\n\n return true;\n }\n return { intersect }\n }\n const { intersect } = generateUtils();\n\n // Label layouts.\n function hideOverlap(items: Item[]) {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n }\n\n const methods = {\n 'hide-overlap': hideOverlap,\n }\n\n // Main\n try {\n const eventData = JSON.parse(e.data);\n if (!eventData || !eventData.type || !methods[eventData.type]) return;\n\n const { type, items } = eventData;\n const result = methods[type](items);\n self.postMessage(result);\n } catch (e) {\n throw e;\n }\n}\n\nconst code = `\n self.onmessage = ${onmessage.toString()}\n`\nexport { code };\n","import { get, each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { intersect } from '../../../util/collision-detect';\nimport { LabelItem } from '../interface';\nimport { getLabelBackgroundInfo } from '../util';\nimport { createWorker } from '../util/createWorker';\nimport { code as layoutCode } from './worker/hide-overlap';\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n\nconst layout = (items: Item[]): Item[] => {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n};\n\nconst cache: Map = new Map();\nconst worker = createWorker(layoutCode);\n\n/**\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行隐藏(非移除)\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport async function hideOverlap(\n labelItems: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox\n) {\n const boxes = labels.map((d, idx) => ({\n ...getLabelBackgroundInfo(d, labelItems[idx], get(labelItems[idx], 'background.padding')),\n visible: true,\n }));\n const memoKey = JSON.stringify(boxes);\n const cb = (items: Item[]) => {\n cache.set(memoKey, items);\n each(items, ({ visible }, idx) => {\n const labelShape = labels[idx];\n if (visible) {\n labelShape?.show();\n } else {\n labelShape?.hide();\n }\n });\n return items;\n };\n if (cache.get(memoKey)) {\n cb(cache.get(memoKey));\n } else if (worker) {\n // Do layout in worker.\n try {\n const params = JSON.stringify({ type: 'hide-overlap', items: boxes });\n const res = await worker.post(params, () => cb(layout(boxes)));\n cb(Array.isArray(res.data) ? res.data : []);\n } catch (e) {\n console.error(e);\n cb(layout(boxes));\n }\n } else {\n // Normal layout in main thread.\n cb(layout(boxes));\n }\n}\n","import colorUtil from '@antv/color-util';\n\n// 内置的一些特殊设置\nconst preset = {\n '#5B8FF9': true,\n};\n\n// 根据YIQ亮度判断指定颜色取反色是不是白色\n// http://24ways.org/2010/calculating-color-contrast\n// http://www.w3.org/TR/AERT#color-contrast\nexport const isContrastColorWhite = (color: string): boolean => {\n const rgb = colorUtil.toRGB(color).toUpperCase();\n if (preset[rgb]) {\n return preset[rgb];\n }\n\n const [r, g, b] = colorUtil.rgb2arr(rgb);\n const isDark = (r * 299 + g * 587 + b * 114) / 1000 < 128;\n\n return isDark;\n};\n","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 { 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 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 { isString, memoize, values, toString } from '@antv/util';\nimport * as CSS from 'csstype';\nimport { getCanvasContext } from './context';\n\ntype FontFace = CSS.Properties;\n\ntype Font = Pick & {\n fontSize?: number;\n};\n\n/**\n * 计算文本在画布中的宽度\n */\nexport const measureTextWidth = memoize(\n (text: any, font: Font = {}): number => {\n const { fontSize, fontFamily, fontWeight, fontStyle, fontVariant } = font;\n const ctx = getCanvasContext();\n ctx!.font = [fontStyle, fontVariant, fontWeight, `${fontSize}px`, fontFamily].join(' ');\n return ctx!.measureText(isString(text) ? text : '').width;\n },\n (text: any, font: Font = {}) => [text, ...values(font)].join('')\n);\n\n/**\n * 获取文本的 ... 文本。\n * 算法(减少每次 measureText 的长度,measureText 的性能跟字符串时间相关):\n * 1. 先通过 STEP 逐步计算,找到最后一个小于 maxWidth 的字符串\n * 2. 然后对最后这个字符串二分计算\n * @param text 需要计算的文本, 由于历史原因 除了支持string,还支持空值,number和数组等\n * @param maxWidth\n * @param font\n */\nexport const getEllipsisText = (text: any, maxWidth: number, font?: Font) => {\n const STEP = 16; // 每次 16,调参工程师\n const DOT_WIDTH = measureTextWidth('...', font);\n\n let leftText;\n\n if (!isString(text)) {\n leftText = toString(text);\n } else {\n leftText = text;\n }\n\n let leftWidth = maxWidth;\n\n const r = []; // 最终的分段字符串\n let currentText;\n let currentWidth;\n\n if (measureTextWidth(text, font) <= maxWidth) {\n return text;\n }\n\n // 首先通过 step 计算,找出最大的未超出长度的\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, STEP);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n if (currentWidth > leftWidth) {\n break;\n }\n }\n\n r.push(currentText);\n\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(STEP);\n\n // 字符串整体没有超出\n if (!leftText) {\n return r.join('');\n }\n }\n\n // 最下的最后一个 STEP,使用 1 递增(用二分效果更高)\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, 1);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n break;\n }\n\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(1);\n\n if (!leftText) {\n return r.join('');\n }\n }\n\n return `${r.join('')}...`;\n};\n","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, isFunction } 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 // 当 startAngle, endAngle 接近相等时,不进行 endAngle = Math.PI * 1.5 防止变化从整个圆开始\n if (isNumberEqual(endAngle, Math.PI * -0.5) && !isNumberEqual(startAngle, endAngle)) {\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 */\nexport function 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(toAttrs);\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 isFunction(animateCfg.callback) && animateCfg.callback();\n },\n }\n );\n}\n","import { ext } from '@antv/matrix-util';\nimport { each, isFunction } 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 isFunction(animateCfg.callback) && animateCfg.callback();\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 let done = false;\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 done = true;\n }\n });\n }\n\n if (!done) {\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 // 不创建\n if (!cfg) {\n return null;\n }\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 if (isNaN(x) || isNaN(y)) {\n return null;\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 | null {\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 const { start, end, position } = option;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const textPoint = this.parsePosition(position);\n if (['arc', 'image', 'line', 'region', 'regionFilter'].includes(type) && (!sp || !ep)) {\n return null;\n } else if (['text', 'dataMarker', 'html'].includes(type) && !textPoint) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end, ...rest } = option as ArcOption;\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: sp,\n end: ep,\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end, ...rest } = option as LineOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\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: sp,\n end: ep,\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 ...textPoint,\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 ...textPoint,\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: sp,\n end: ep,\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 ...textPoint,\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 if (cfg) {\n omit(cfg, ['container']);\n }\n co.component.update({ ...(cfg || {}), visible: !!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