@visactor/vchart 1.13.11 → 1.13.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +299 -162
  3. package/build/index.js +299 -162
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/component/brush/brush.d.ts +1 -1
  7. package/cjs/component/brush/brush.js +18 -15
  8. package/cjs/component/brush/brush.js.map +1 -1
  9. package/cjs/component/crosshair/base.js +4 -3
  10. package/cjs/component/crosshair/base.js.map +1 -1
  11. package/cjs/component/crosshair/cartesian.js +3 -2
  12. package/cjs/component/crosshair/cartesian.js.map +1 -1
  13. package/cjs/component/crosshair/interface/common.d.ts +3 -1
  14. package/cjs/component/crosshair/interface/common.js.map +1 -1
  15. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  16. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  17. package/cjs/component/crosshair/utils/cartesian.js +15 -13
  18. package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
  19. package/cjs/component/marker/utils.js +14 -9
  20. package/cjs/component/marker/utils.js.map +1 -1
  21. package/cjs/core/expression-function.js +1 -2
  22. package/cjs/core/index.d.ts +1 -1
  23. package/cjs/core/index.js +1 -1
  24. package/cjs/core/index.js.map +1 -1
  25. package/cjs/core/interface.js +2 -1
  26. package/esm/component/brush/brush.d.ts +1 -1
  27. package/esm/component/brush/brush.js +18 -15
  28. package/esm/component/brush/brush.js.map +1 -1
  29. package/esm/component/crosshair/base.js +4 -3
  30. package/esm/component/crosshair/base.js.map +1 -1
  31. package/esm/component/crosshair/cartesian.js +3 -2
  32. package/esm/component/crosshair/cartesian.js.map +1 -1
  33. package/esm/component/crosshair/interface/common.d.ts +3 -1
  34. package/esm/component/crosshair/interface/common.js.map +1 -1
  35. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  36. package/esm/component/crosshair/interface/spec.js.map +1 -1
  37. package/esm/component/crosshair/utils/cartesian.js +15 -13
  38. package/esm/component/crosshair/utils/cartesian.js.map +1 -1
  39. package/esm/component/marker/utils.js +15 -8
  40. package/esm/component/marker/utils.js.map +1 -1
  41. package/esm/core/expression-function.js +1 -2
  42. package/esm/core/index.d.ts +1 -1
  43. package/esm/core/index.js +1 -1
  44. package/esm/core/index.js.map +1 -1
  45. package/esm/core/interface.js +2 -1
  46. package/package.json +15 -15
package/build/index.es.js CHANGED
@@ -7840,11 +7840,14 @@ class Container {
7840
7840
  const ContributionProvider = Symbol("ContributionProvider");
7841
7841
  class ContributionProviderCache {
7842
7842
  constructor(serviceIdentifier, container) {
7843
- this.serviceIdentifier = serviceIdentifier, this.container = container;
7843
+ this.serviceIdentifier = serviceIdentifier, this.container = container, ContributionStore.setStore(this.serviceIdentifier, this);
7844
7844
  }
7845
7845
  getContributions() {
7846
7846
  return this.caches || (this.caches = [], this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier))), this.caches;
7847
7847
  }
7848
+ refresh() {
7849
+ this.caches && (this.caches.length = 0, this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier)));
7850
+ }
7848
7851
  }
7849
7852
  function bindContributionProvider(bind, id) {
7850
7853
  bind(ContributionProvider).toDynamicValue(_ref => {
@@ -7862,6 +7865,20 @@ function bindContributionProviderNoSingletonScope(bind, id) {
7862
7865
  return new ContributionProviderCache(id, container);
7863
7866
  }).whenTargetNamed(id);
7864
7867
  }
7868
+ class ContributionStore {
7869
+ static getStore(id) {
7870
+ return this.store.get(id);
7871
+ }
7872
+ static setStore(id, cache) {
7873
+ this.store.set(id, cache);
7874
+ }
7875
+ static refreshAllContributions() {
7876
+ this.store.forEach(cache => {
7877
+ cache.refresh();
7878
+ });
7879
+ }
7880
+ }
7881
+ ContributionStore.store = new Map();
7865
7882
 
7866
7883
  class Hook {
7867
7884
  constructor(args, name) {
@@ -7928,6 +7945,48 @@ const EnvContribution = Symbol.for("EnvContribution");
7928
7945
  const VGlobal = Symbol.for("VGlobal");
7929
7946
  const DEFAULT_TEXT_FONT_FAMILY$1 = "PingFang SC,Helvetica Neue,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol";
7930
7947
 
7948
+ class EventListenerManager {
7949
+ constructor() {
7950
+ this._listenerMap = new Map(), this._eventListenerTransformer = event => event;
7951
+ }
7952
+ setEventListenerTransformer(transformer) {
7953
+ this._eventListenerTransformer = transformer || (event => event);
7954
+ }
7955
+ addEventListener(type, listener, options) {
7956
+ if (!listener) return;
7957
+ const wrappedListener = event => {
7958
+ const transformedEvent = this._eventListenerTransformer(event);
7959
+ "function" == typeof listener ? listener(transformedEvent) : listener.handleEvent && listener.handleEvent(transformedEvent);
7960
+ };
7961
+ this._listenerMap.has(type) || this._listenerMap.set(type, new Map()), this._listenerMap.get(type).set(listener, wrappedListener), this._nativeAddEventListener(type, wrappedListener, options);
7962
+ }
7963
+ removeEventListener(type, listener, options) {
7964
+ var _a;
7965
+ if (!listener) return;
7966
+ const wrappedListener = null === (_a = this._listenerMap.get(type)) || void 0 === _a ? void 0 : _a.get(listener);
7967
+ wrappedListener && (this._nativeRemoveEventListener(type, wrappedListener, options), this._listenerMap.get(type).delete(listener), 0 === this._listenerMap.get(type).size && this._listenerMap.delete(type));
7968
+ }
7969
+ dispatchEvent(event) {
7970
+ return this._nativeDispatchEvent(event);
7971
+ }
7972
+ clearAllEventListeners() {
7973
+ this._listenerMap.forEach((listenersMap, type) => {
7974
+ listenersMap.forEach((wrappedListener, originalListener) => {
7975
+ this._nativeRemoveEventListener(type, wrappedListener, void 0);
7976
+ });
7977
+ }), this._listenerMap.clear();
7978
+ }
7979
+ _nativeAddEventListener(type, listener, options) {
7980
+ throw new Error("_nativeAddEventListener must be implemented by derived classes");
7981
+ }
7982
+ _nativeRemoveEventListener(type, listener, options) {
7983
+ throw new Error("_nativeRemoveEventListener must be implemented by derived classes");
7984
+ }
7985
+ _nativeDispatchEvent(event) {
7986
+ throw new Error("_nativeDispatchEvent must be implemented by derived classes");
7987
+ }
7988
+ }
7989
+
7931
7990
  var __decorate$1B = undefined && undefined.__decorate || function (decorators, target, key, desc) {
7932
7991
  var d,
7933
7992
  c = arguments.length,
@@ -7968,7 +8027,7 @@ var __decorate$1B = undefined && undefined.__decorate || function (decorators, t
7968
8027
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7969
8028
  });
7970
8029
  };
7971
- let DefaultGlobal = class {
8030
+ let DefaultGlobal = class extends EventListenerManager {
7972
8031
  get env() {
7973
8032
  return this._env;
7974
8033
  }
@@ -8012,10 +8071,19 @@ let DefaultGlobal = class {
8012
8071
  this._env || this.setEnv("browser"), this.envContribution.applyStyles = support;
8013
8072
  }
8014
8073
  constructor(contributions) {
8015
- this.contributions = contributions, this._isImageAnonymous = !0, this.id = Generator.GenAutoIncrementId(), this.hooks = {
8074
+ super(), this.contributions = contributions, this._isImageAnonymous = !0, this.eventListenerTransformer = event => event, this.id = Generator.GenAutoIncrementId(), this.hooks = {
8016
8075
  onSetEnv: new SyncHook(["lastEnv", "env", "global"])
8017
8076
  }, this.measureTextMethod = "native", this.optimizeVisible = !1;
8018
8077
  }
8078
+ _nativeAddEventListener(type, listener, options) {
8079
+ return this._env || this.setEnv("browser"), this.envContribution.addEventListener(type, listener, options);
8080
+ }
8081
+ _nativeRemoveEventListener(type, listener, options) {
8082
+ return this._env || this.setEnv("browser"), this.envContribution.removeEventListener(type, listener, options);
8083
+ }
8084
+ _nativeDispatchEvent(event) {
8085
+ return this._env || this.setEnv("browser"), this.envContribution.dispatchEvent(event);
8086
+ }
8019
8087
  bindContribution(params) {
8020
8088
  const promiseArr = [];
8021
8089
  if (this.contributions.getContributions().forEach(contribution => {
@@ -8056,15 +8124,6 @@ let DefaultGlobal = class {
8056
8124
  releaseCanvas(canvas) {
8057
8125
  return this._env || this.setEnv("browser"), this.envContribution.releaseCanvas(canvas);
8058
8126
  }
8059
- addEventListener(type, listener, options) {
8060
- return this._env || this.setEnv("browser"), this.envContribution.addEventListener(type, listener, options);
8061
- }
8062
- removeEventListener(type, listener, options) {
8063
- return this._env || this.setEnv("browser"), this.envContribution.removeEventListener(type, listener, options);
8064
- }
8065
- dispatchEvent(event) {
8066
- return this._env || this.setEnv("browser"), this.envContribution.dispatchEvent(event);
8067
- }
8068
8127
  getRequestAnimationFrame() {
8069
8128
  return this._env || this.setEnv("browser"), this.envContribution.getRequestAnimationFrame();
8070
8129
  }
@@ -11093,7 +11152,7 @@ var __decorate$1y = undefined && undefined.__decorate || function (decorators, t
11093
11152
  };
11094
11153
  const VWindow = Symbol.for("VWindow");
11095
11154
  const WindowHandlerContribution = Symbol.for("WindowHandlerContribution");
11096
- let DefaultWindow = class {
11155
+ let DefaultWindow = class extends EventListenerManager {
11097
11156
  get width() {
11098
11157
  if (this._handler) {
11099
11158
  const wh = this._handler.getWH();
@@ -11112,7 +11171,7 @@ let DefaultWindow = class {
11112
11171
  return this._handler.getDpr();
11113
11172
  }
11114
11173
  constructor() {
11115
- this.hooks = {
11174
+ super(), this.hooks = {
11116
11175
  onChange: new SyncHook(["x", "y", "width", "height"])
11117
11176
  }, this.active = () => {
11118
11177
  const global = this.global;
@@ -11120,6 +11179,15 @@ let DefaultWindow = class {
11120
11179
  container.getNamed(WindowHandlerContribution, global.env).configure(this, global), this.actived = !0;
11121
11180
  }, this._uid = Generator.GenAutoIncrementId(), this.global = application.global, this.postInit();
11122
11181
  }
11182
+ _nativeAddEventListener(type, listener, options) {
11183
+ return this._handler.addEventListener(type, listener, options);
11184
+ }
11185
+ _nativeRemoveEventListener(type, listener, options) {
11186
+ return this._handler.removeEventListener(type, listener, options);
11187
+ }
11188
+ _nativeDispatchEvent(event) {
11189
+ return this._handler.dispatchEvent(event);
11190
+ }
11123
11191
  postInit() {
11124
11192
  this.global.hooks.onSetEnv.tap("window", this.active), this.active();
11125
11193
  }
@@ -11159,7 +11227,7 @@ let DefaultWindow = class {
11159
11227
  throw new Error("暂不支持");
11160
11228
  }
11161
11229
  release() {
11162
- return this.global.hooks.onSetEnv.unTap("window", this.active), this._handler.releaseWindow();
11230
+ return this.global.hooks.onSetEnv.unTap("window", this.active), this.clearAllEventListeners(), this._handler.releaseWindow();
11163
11231
  }
11164
11232
  getContext() {
11165
11233
  return this._handler.getContext();
@@ -11170,15 +11238,6 @@ let DefaultWindow = class {
11170
11238
  getImageBuffer(type) {
11171
11239
  return this._handler.getImageBuffer ? this._handler.getImageBuffer(type) : null;
11172
11240
  }
11173
- addEventListener(type, listener, options) {
11174
- return this._handler.addEventListener(type, listener, options);
11175
- }
11176
- removeEventListener(type, listener, options) {
11177
- return this._handler.removeEventListener(type, listener, options);
11178
- }
11179
- dispatchEvent(event) {
11180
- return this._handler.dispatchEvent(event);
11181
- }
11182
11241
  getBoundingClientRect() {
11183
11242
  return this._handler.getBoundingClientRect();
11184
11243
  }
@@ -12387,19 +12446,17 @@ class EventSystem {
12387
12446
  globalObj: globalObj,
12388
12447
  domElement: domElement
12389
12448
  } = this;
12390
- this.supportsPointerEvents ? (globalObj.getDocument() ? (globalObj.getDocument().addEventListener("pointermove", this.onPointerMove, !0), globalObj.getDocument().addEventListener("pointerup", this.onPointerUp, !0)) : (domElement.addEventListener("pointermove", this.onPointerMove, !0), domElement.addEventListener("pointerup", this.onPointerUp, !0)), domElement.addEventListener("pointerdown", this.onPointerDown, !0), domElement.addEventListener("pointerleave", this.onPointerOverOut, !0), domElement.addEventListener("pointerover", this.onPointerOverOut, !0)) : (globalObj.getDocument() ? (globalObj.getDocument().addEventListener("mousemove", this.onPointerMove, !0), globalObj.getDocument().addEventListener("mouseup", this.onPointerUp, !0)) : (domElement.addEventListener("mousemove", this.onPointerMove, !0), domElement.addEventListener("mouseup", this.onPointerUp, !0)), domElement.addEventListener("mousedown", this.onPointerDown, !0), domElement.addEventListener("mouseout", this.onPointerOverOut, !0), domElement.addEventListener("mouseover", this.onPointerOverOut, !0)), this.supportsTouchEvents && (domElement.addEventListener("touchstart", this.onPointerDown, !0), domElement.addEventListener("touchend", this.onPointerUp, !0), domElement.addEventListener("touchmove", this.onPointerMove, !0)), domElement.addEventListener("wheel", this.onWheel, {
12449
+ this.supportsPointerEvents ? (globalObj.getDocument() ? (globalObj.addEventListener("pointermove", this.onPointerMove, !0), globalObj.addEventListener("pointerup", this.onPointerUp, !0)) : (domElement.addEventListener("pointermove", this.onPointerMove, !0), domElement.addEventListener("pointerup", this.onPointerUp, !0)), domElement.addEventListener("pointerdown", this.onPointerDown, !0), domElement.addEventListener("pointerleave", this.onPointerOverOut, !0), domElement.addEventListener("pointerover", this.onPointerOverOut, !0)) : (globalObj.getDocument() ? (globalObj.addEventListener("mousemove", this.onPointerMove, !0), globalObj.addEventListener("mouseup", this.onPointerUp, !0)) : (domElement.addEventListener("mousemove", this.onPointerMove, !0), domElement.addEventListener("mouseup", this.onPointerUp, !0)), domElement.addEventListener("mousedown", this.onPointerDown, !0), domElement.addEventListener("mouseout", this.onPointerOverOut, !0), domElement.addEventListener("mouseover", this.onPointerOverOut, !0)), this.supportsTouchEvents && (domElement.addEventListener("touchstart", this.onPointerDown, !0), domElement.addEventListener("touchend", this.onPointerUp, !0), domElement.addEventListener("touchmove", this.onPointerMove, !0)), domElement.addEventListener("wheel", this.onWheel, {
12391
12450
  capture: !0
12392
12451
  }), this.eventsAdded = !0;
12393
12452
  }
12394
12453
  removeEvents() {
12395
- var _a;
12396
12454
  if (!this.eventsAdded || !this.domElement) return;
12397
12455
  const {
12398
- globalObj: globalObj,
12399
- domElement: domElement
12400
- } = this,
12401
- globalDocument = null !== (_a = globalObj.getDocument()) && void 0 !== _a ? _a : domElement;
12402
- this.supportsPointerEvents ? (globalDocument.removeEventListener("pointermove", this.onPointerMove, !0), globalDocument.removeEventListener("pointerup", this.onPointerUp, !0), domElement.removeEventListener("pointerdown", this.onPointerDown, !0), domElement.removeEventListener("pointerleave", this.onPointerOverOut, !0), domElement.removeEventListener("pointerover", this.onPointerOverOut, !0)) : (globalDocument.removeEventListener("mousemove", this.onPointerMove, !0), globalDocument.removeEventListener("mouseup", this.onPointerUp, !0), domElement.removeEventListener("mousedown", this.onPointerDown, !0), domElement.removeEventListener("mouseout", this.onPointerOverOut, !0), domElement.removeEventListener("mouseover", this.onPointerOverOut, !0)), this.supportsTouchEvents && (domElement.removeEventListener("touchstart", this.onPointerDown, !0), domElement.removeEventListener("touchend", this.onPointerUp, !0), domElement.removeEventListener("touchmove", this.onPointerMove, !0)), domElement.removeEventListener("wheel", this.onWheel, !0), this.domElement = null, this.eventsAdded = !1;
12456
+ globalObj: globalObj,
12457
+ domElement: domElement
12458
+ } = this;
12459
+ this.supportsPointerEvents ? (globalObj.getDocument() ? (globalObj.removeEventListener("pointermove", this.onPointerMove, !0), globalObj.removeEventListener("pointerup", this.onPointerUp, !0)) : (domElement.removeEventListener("pointermove", this.onPointerMove, !0), domElement.removeEventListener("pointerup", this.onPointerUp, !0)), domElement.removeEventListener("pointerdown", this.onPointerDown, !0), domElement.removeEventListener("pointerleave", this.onPointerOverOut, !0), domElement.removeEventListener("pointerover", this.onPointerOverOut, !0)) : (globalObj.getDocument() ? (globalObj.removeEventListener("mousemove", this.onPointerMove, !0), globalObj.removeEventListener("mouseup", this.onPointerUp, !0)) : (domElement.removeEventListener("mousemove", this.onPointerMove, !0), domElement.removeEventListener("mouseup", this.onPointerUp, !0)), domElement.removeEventListener("mousedown", this.onPointerDown, !0), domElement.removeEventListener("mouseout", this.onPointerOverOut, !0), domElement.removeEventListener("mouseover", this.onPointerOverOut, !0)), this.supportsTouchEvents && (domElement.removeEventListener("touchstart", this.onPointerDown, !0), domElement.removeEventListener("touchend", this.onPointerUp, !0), domElement.removeEventListener("touchmove", this.onPointerMove, !0)), domElement.removeEventListener("wheel", this.onWheel, !0), this.domElement = null, this.eventsAdded = !1;
12403
12460
  }
12404
12461
  mapToViewportPoint(event) {
12405
12462
  return this.domElement.pointTransform ? this.domElement.pointTransform(event.x, event.y) : event;
@@ -13653,23 +13710,27 @@ class TagPointsUpdate extends ACustomAnimate {
13653
13710
  isValidNumber$1(lastClipRange * this.clipRange) && (this.clipRange *= lastClipRange);
13654
13711
  }
13655
13712
  onUpdate(end, ratio, out) {
13656
- if (this.points = this.points.map((point, index) => {
13657
- const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
13658
- return newPoint.context = point.context, newPoint;
13659
- }), this.clipRange) {
13660
- if (this.shrinkClipRange) return void (end ? (out.points = this.toPoints, out.clipRange = 1) : (out.points = this.fromPoints, out.clipRange = this.clipRange - (this.clipRange - this.shrinkClipRange) * ratio));
13661
- out.clipRange = this.clipRange + (1 - this.clipRange) * ratio;
13662
- }
13663
- if (this.segmentsCache && this.to.segments) {
13664
- let start = 0;
13665
- out.segments = this.to.segments.map((segment, index) => {
13666
- const end = start + this.segmentsCache[index],
13667
- points = this.points.slice(start, end);
13668
- return start = end, Object.assign(Object.assign({}, segment), {
13669
- points: points
13713
+ if (end) Object.keys(this.to).forEach(k => {
13714
+ out[k] = this.to[k];
13715
+ });else {
13716
+ if (this.points = this.points.map((point, index) => {
13717
+ const newPoint = pointInterpolation(this.interpolatePoints[index][0], this.interpolatePoints[index][1], ratio);
13718
+ return newPoint.context = point.context, newPoint;
13719
+ }), this.clipRange) {
13720
+ if (this.shrinkClipRange) return void (end ? (out.points = this.toPoints, out.clipRange = 1) : (out.points = this.fromPoints, out.clipRange = this.clipRange - (this.clipRange - this.shrinkClipRange) * ratio));
13721
+ out.clipRange = this.clipRange + (1 - this.clipRange) * ratio;
13722
+ }
13723
+ if (this.segmentsCache && this.to.segments) {
13724
+ let start = 0;
13725
+ out.segments = this.to.segments.map((segment, index) => {
13726
+ const end = start + this.segmentsCache[index],
13727
+ points = this.points.slice(start, end);
13728
+ return start = end, Object.assign(Object.assign({}, segment), {
13729
+ points: points
13730
+ });
13670
13731
  });
13671
- });
13672
- } else out.points = this.points;
13732
+ } else out.points = this.points;
13733
+ }
13673
13734
  }
13674
13735
  }
13675
13736
  class ClipGraphicAnimate extends ACustomAnimate {
@@ -21074,6 +21135,9 @@ class BaseRender {
21074
21135
  init(contributions) {
21075
21136
  contributions && (this._renderContribitions = contributions.getContributions()), this._renderContribitions || (this._renderContribitions = []), this.builtinContributions || (this.builtinContributions = []), this.builtinContributions.push(defaultBaseClipRenderBeforeContribution), this.builtinContributions.push(defaultBaseClipRenderAfterContribution), this.builtinContributions.forEach(item => this._renderContribitions.push(item)), this._renderContribitions.length && (this._renderContribitions.sort((a, b) => b.order - a.order), this._beforeRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.beforeFillStroke), this._afterRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.afterFillStroke));
21076
21137
  }
21138
+ reInit() {
21139
+ this.init(this.graphicRenderContributions);
21140
+ }
21077
21141
  beforeRenderStep(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, params) {
21078
21142
  this._beforeRenderContribitions && this._beforeRenderContribitions.forEach(c => {
21079
21143
  if (c.supportedAppName && graphic.stage && graphic.stage.params && graphic.stage.params.context && graphic.stage.params.context.appName) {
@@ -21243,8 +21307,8 @@ var __decorate$1s = undefined && undefined.__decorate || function (decorators, t
21243
21307
  };
21244
21308
  };
21245
21309
  let DefaultCanvasArcRender = class extends BaseRender {
21246
- constructor(arcRenderContribitions) {
21247
- super(), this.arcRenderContribitions = arcRenderContribitions, this.numberType = ARC_NUMBER_TYPE, this.builtinContributions = [defaultArcRenderContribution, defaultArcBackgroundRenderContribution, defaultArcTextureRenderContribution], this.init(arcRenderContribitions);
21310
+ constructor(graphicRenderContributions) {
21311
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = ARC_NUMBER_TYPE, this.builtinContributions = [defaultArcRenderContribution, defaultArcBackgroundRenderContribution, defaultArcTextureRenderContribution], this.init(graphicRenderContributions);
21248
21312
  }
21249
21313
  drawArcTailCapPath(arc, context, cx, cy, outerRadius, innerRadius, _sa, _ea) {
21250
21314
  const capAngle = _ea - _sa,
@@ -21419,8 +21483,8 @@ var __decorate$1r = undefined && undefined.__decorate || function (decorators, t
21419
21483
  };
21420
21484
  };
21421
21485
  let DefaultCanvasCircleRender = class extends BaseRender {
21422
- constructor(circleRenderContribitions) {
21423
- super(), this.circleRenderContribitions = circleRenderContribitions, this.numberType = CIRCLE_NUMBER_TYPE, this.builtinContributions = [defaultCircleRenderContribution, defaultCircleBackgroundRenderContribution, defaultCircleTextureRenderContribution], this.init(circleRenderContribitions);
21486
+ constructor(graphicRenderContributions) {
21487
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = CIRCLE_NUMBER_TYPE, this.builtinContributions = [defaultCircleRenderContribution, defaultCircleBackgroundRenderContribution, defaultCircleTextureRenderContribution], this.init(graphicRenderContributions);
21424
21488
  }
21425
21489
  drawShape(circle, context, x, y, drawContext, params, fillCb, strokeCb) {
21426
21490
  const circleAttribute = getTheme$1(circle, null == params ? void 0 : params.theme).circle,
@@ -21806,8 +21870,8 @@ var __decorate$1p = undefined && undefined.__decorate || function (decorators, t
21806
21870
  };
21807
21871
  };
21808
21872
  let DefaultCanvasAreaRender = class extends BaseRender {
21809
- constructor(areaRenderContribitions) {
21810
- super(), this.areaRenderContribitions = areaRenderContribitions, this.numberType = AREA_NUMBER_TYPE, this.builtinContributions = [defaultAreaTextureRenderContribution, defaultAreaBackgroundRenderContribution], this.init(areaRenderContribitions);
21873
+ constructor(graphicRenderContributions) {
21874
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = AREA_NUMBER_TYPE, this.builtinContributions = [defaultAreaTextureRenderContribution, defaultAreaBackgroundRenderContribution], this.init(graphicRenderContributions);
21811
21875
  }
21812
21876
  drawLinearAreaHighPerformance(area, context, fill, stroke, fillOpacity, strokeOpacity, offsetX, offsetY, areaAttribute, drawContext, params, fillCb, strokeCb) {
21813
21877
  var _a, _b, _c;
@@ -22050,8 +22114,8 @@ var __decorate$1o = undefined && undefined.__decorate || function (decorators, t
22050
22114
  };
22051
22115
  };
22052
22116
  let DefaultCanvasPathRender = class extends BaseRender {
22053
- constructor(pathRenderContribitions) {
22054
- super(), this.pathRenderContribitions = pathRenderContribitions, this.numberType = PATH_NUMBER_TYPE, this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution], this.init(pathRenderContribitions);
22117
+ constructor(graphicRenderContributions) {
22118
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = PATH_NUMBER_TYPE, this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution], this.init(graphicRenderContributions);
22055
22119
  }
22056
22120
  drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
22057
22121
  var _a, _b, _c;
@@ -22106,8 +22170,8 @@ var __decorate$1n = undefined && undefined.__decorate || function (decorators, t
22106
22170
  };
22107
22171
  };
22108
22172
  let DefaultCanvasRectRender = class extends BaseRender {
22109
- constructor(rectRenderContribitions) {
22110
- super(), this.rectRenderContribitions = rectRenderContribitions, this.type = "rect", this.numberType = RECT_NUMBER_TYPE, this.builtinContributions = [defaultRectRenderContribution, defaultRectBackgroundRenderContribution, defaultRectTextureRenderContribution], this.init(rectRenderContribitions);
22173
+ constructor(graphicRenderContributions) {
22174
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.type = "rect", this.numberType = RECT_NUMBER_TYPE, this.builtinContributions = [defaultRectRenderContribution, defaultRectBackgroundRenderContribution, defaultRectTextureRenderContribution], this.init(graphicRenderContributions);
22111
22175
  }
22112
22176
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb) {
22113
22177
  var _a;
@@ -22178,8 +22242,8 @@ var __decorate$1m = undefined && undefined.__decorate || function (decorators, t
22178
22242
  };
22179
22243
  };
22180
22244
  let DefaultCanvasSymbolRender = class extends BaseRender {
22181
- constructor(symbolRenderContribitions) {
22182
- super(), this.symbolRenderContribitions = symbolRenderContribitions, this.numberType = SYMBOL_NUMBER_TYPE, this.builtinContributions = [defaultSymbolRenderContribution, defaultSymbolBackgroundRenderContribution, defaultSymbolTextureRenderContribution, defaultSymbolClipRangeStrokeRenderContribution], this.init(symbolRenderContribitions);
22245
+ constructor(graphicRenderContributions) {
22246
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = SYMBOL_NUMBER_TYPE, this.builtinContributions = [defaultSymbolRenderContribution, defaultSymbolBackgroundRenderContribution, defaultSymbolTextureRenderContribution, defaultSymbolClipRangeStrokeRenderContribution], this.init(graphicRenderContributions);
22183
22247
  }
22184
22248
  drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb) {
22185
22249
  var _a;
@@ -22350,8 +22414,8 @@ var __decorate$1l = undefined && undefined.__decorate || function (decorators, t
22350
22414
  };
22351
22415
  };
22352
22416
  let DefaultCanvasTextRender = class extends BaseRender {
22353
- constructor(textRenderContribitions) {
22354
- super(), this.textRenderContribitions = textRenderContribitions, this.numberType = TEXT_NUMBER_TYPE, this.builtinContributions = [defaultTextBackgroundRenderContribution], this.init(textRenderContribitions);
22417
+ constructor(graphicRenderContributions) {
22418
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = TEXT_NUMBER_TYPE, this.builtinContributions = [defaultTextBackgroundRenderContribution], this.init(graphicRenderContributions);
22355
22419
  }
22356
22420
  drawShape(text, context, x, y, drawContext, params, fillCb, strokeCb) {
22357
22421
  var _a, _b, _c;
@@ -22555,8 +22619,8 @@ var __decorate$1k = undefined && undefined.__decorate || function (decorators, t
22555
22619
  };
22556
22620
  };
22557
22621
  let DefaultCanvasPolygonRender = class extends BaseRender {
22558
- constructor(polygonRenderContribitions) {
22559
- super(), this.polygonRenderContribitions = polygonRenderContribitions, this.numberType = POLYGON_NUMBER_TYPE, this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution], this.init(polygonRenderContribitions);
22622
+ constructor(graphicRenderContributions) {
22623
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = POLYGON_NUMBER_TYPE, this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution], this.init(graphicRenderContributions);
22560
22624
  }
22561
22625
  drawShape(polygon, context, x, y, drawContext, params, fillCb, strokeCb) {
22562
22626
  const polygonAttribute = getTheme$1(polygon, null == params ? void 0 : params.theme).polygon,
@@ -22611,6 +22675,9 @@ let DefaultCanvasGroupRender = class {
22611
22675
  constructor(groupRenderContribitions) {
22612
22676
  this.groupRenderContribitions = groupRenderContribitions, this.numberType = GROUP_NUMBER_TYPE;
22613
22677
  }
22678
+ reInit() {
22679
+ this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [], this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);
22680
+ }
22614
22681
  drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb) {
22615
22682
  const groupAttribute = getTheme$1(group, null == params ? void 0 : params.theme).group,
22616
22683
  {
@@ -22741,8 +22808,8 @@ var __decorate$1i = undefined && undefined.__decorate || function (decorators, t
22741
22808
  };
22742
22809
  const repeatStr = ["", "repeat-x", "repeat-y", "repeat"];
22743
22810
  let DefaultCanvasImageRender = class extends BaseRender {
22744
- constructor(imageRenderContribitions) {
22745
- super(), this.imageRenderContribitions = imageRenderContribitions, this.numberType = IMAGE_NUMBER_TYPE, this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution], this.init(imageRenderContribitions);
22811
+ constructor(graphicRenderContributions) {
22812
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = IMAGE_NUMBER_TYPE, this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution], this.init(graphicRenderContributions);
22746
22813
  }
22747
22814
  drawShape(image, context, x, y, drawContext, params, fillCb, strokeCb) {
22748
22815
  const imageAttribute = getTheme$1(image).image,
@@ -23069,6 +23136,9 @@ let DefaultRenderService = class {
23069
23136
  afterDraw(params) {
23070
23137
  this.drawContribution.afterDraw && this.drawContribution.afterDraw(this, Object.assign({}, this.drawParams));
23071
23138
  }
23139
+ reInit() {
23140
+ this.drawContribution.reInit();
23141
+ }
23072
23142
  render(groups, params) {
23073
23143
  this.renderTreeRoots = groups, this.drawParams = params;
23074
23144
  const updateBounds = params.updateBounds;
@@ -23470,6 +23540,11 @@ let DefaultDrawContribution = class {
23470
23540
  constructor(contributions, drawItemInterceptorContributions) {
23471
23541
  this.contributions = contributions, this.drawItemInterceptorContributions = drawItemInterceptorContributions, this.currentRenderMap = new Map(), this.defaultRenderMap = new Map(), this.styleRenderMap = new Map(), this.dirtyBounds = new Bounds(), this.backupDirtyBounds = new Bounds(), this.global = application.global, this.layerService = application.layerService, isArray$1(this.contributions) || (this.contributions = [this.contributions]), this.init();
23472
23542
  }
23543
+ reInit() {
23544
+ this.init(), this.contributions.forEach(item => {
23545
+ item.reInit();
23546
+ });
23547
+ }
23473
23548
  init() {
23474
23549
  this.contributions.forEach(item => {
23475
23550
  if (item.style) {
@@ -24589,6 +24664,9 @@ class Stage extends Group$1 {
24589
24664
  getPickerService() {
24590
24665
  return this.pickerService || (this.pickerService = container.get(PickerService)), this.pickerService;
24591
24666
  }
24667
+ reInit() {
24668
+ this.renderService.reInit(), this.pickerService.reInit();
24669
+ }
24592
24670
  }
24593
24671
 
24594
24672
  function createStage(params) {
@@ -25186,6 +25264,9 @@ let DefaultPickService = class {
25186
25264
  constructor(pickItemInterceptorContributions, pickServiceInterceptorContributions) {
25187
25265
  this.pickItemInterceptorContributions = pickItemInterceptorContributions, this.pickServiceInterceptorContributions = pickServiceInterceptorContributions, this.type = "default", this.global = application.global;
25188
25266
  }
25267
+ reInit() {
25268
+ this._init();
25269
+ }
25189
25270
  _init() {
25190
25271
  this.InterceptorContributions = this.pickItemInterceptorContributions.getContributions().sort((a, b) => a.order - b.order), this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions.getContributions().sort((a, b) => a.order - b.order);
25191
25272
  }
@@ -25354,6 +25435,7 @@ let DefaultCanvasGlyphRender = class {
25354
25435
  constructor() {
25355
25436
  this.numberType = GLYPH_NUMBER_TYPE;
25356
25437
  }
25438
+ reInit() {}
25357
25439
  drawShape(glyph, context, x, y, drawContext, params, fillCb, strokeCb) {
25358
25440
  drawContext.drawContribution && glyph.getSubGraphic().forEach(item => {
25359
25441
  const renderer = drawContext.drawContribution.getRenderContribution(item);
@@ -26578,6 +26660,18 @@ class AbstractComponent extends Group$1 {
26578
26660
  const changeEvent = new CustomEvent(eventName, details);
26579
26661
  changeEvent.manager = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.eventSystem.manager, this.dispatchEvent(changeEvent);
26580
26662
  }
26663
+ eventPosToStagePos(e) {
26664
+ var _a, _b;
26665
+ const result = {
26666
+ x: 0,
26667
+ y: 0
26668
+ },
26669
+ stagePoints = null !== (_b = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.eventPointTransform(e)) && void 0 !== _b ? _b : {
26670
+ x: 0,
26671
+ y: 0
26672
+ };
26673
+ return this.globalTransMatrix.transformPoint(stagePoints, result), result;
26674
+ }
26581
26675
  }
26582
26676
 
26583
26677
  const MathPickerContribution = Symbol.for("MathPickerContribution");
@@ -35342,7 +35436,7 @@ const labelOverlap = function (prevLabel, nextLabel) {
35342
35436
  const MIN_TICK_GAP = 12;
35343
35437
  const calculateFlushPos = (basePosition, size, rangePosition, otherEnd) => rangePosition < basePosition ? Math.max(basePosition - size / 2, rangePosition) : rangePosition > basePosition ? Math.min(basePosition - size / 2, rangePosition - size) : rangePosition < otherEnd ? rangePosition : rangePosition - size;
35344
35438
  const getCartesianLabelBounds = (scale, domain, op) => {
35345
- var _a;
35439
+ var _a, _b, _c;
35346
35440
  const {
35347
35441
  labelStyle: labelStyle,
35348
35442
  axisOrientType: axisOrientType,
@@ -35358,27 +35452,32 @@ const getCartesianLabelBounds = (scale, domain, op) => {
35358
35452
  scaleY = 0;
35359
35453
  isHorizontal || (isVertical ? (scaleX = 0, scaleY = 1) : startAngle && (scaleX = Math.cos(startAngle), scaleY = -Math.sin(startAngle)));
35360
35454
  const textMeasure = initTextMeasure$1(labelStyle),
35361
- range = scale.range(),
35362
- labelBoundsList = domain.map((v, i) => {
35363
- var _a, _b;
35364
- const str = labelFormatter ? labelFormatter(v) : `${v}`,
35365
- {
35366
- width: width,
35367
- height: height
35368
- } = textMeasure.quickMeasure(str),
35369
- textWidth = Math.max(width, 12),
35370
- textHeight = Math.max(height, 12),
35371
- pos = scale.scale(v),
35372
- baseTextX = scaleX * pos,
35373
- baseTextY = scaleY * pos;
35374
- let align,
35375
- baseline,
35376
- textX = baseTextX,
35377
- textY = baseTextY;
35378
- labelFlush && isHorizontal && 0 === i ? textX = calculateFlushPos(baseTextX, textWidth, range[0], range[range.length - 1]) : labelFlush && isHorizontal && i === domain.length - 1 ? textX = calculateFlushPos(baseTextX, textWidth, range[range.length - 1], range[0]) : align = null !== (_a = labelStyle.textAlign) && void 0 !== _a ? _a : "center", "right" === align ? textX -= textWidth : "center" === align && (textX -= textWidth / 2), labelFlush && isVertical && 0 === i ? textY = calculateFlushPos(baseTextY, textHeight, range[0], range[range.length - 1]) : labelFlush && isVertical && i === domain.length - 1 ? textY = calculateFlushPos(baseTextY, textHeight, range[range.length - 1], range[0]) : baseline = null !== (_b = labelStyle.textBaseline) && void 0 !== _b ? _b : "middle", "bottom" === baseline ? textY -= textHeight : "middle" === baseline && (textY -= textHeight / 2);
35379
- const bounds = new AABBBounds().set(textX, textY, textX + textWidth, textY + textHeight);
35380
- return labelAngle && bounds.rotate(labelAngle, baseTextX, baseTextY), bounds;
35381
- });
35455
+ range = scale.range();
35456
+ let labelBoundsList = [];
35457
+ for (let i = 0; i < domain.length; i++) {
35458
+ const v = domain[i],
35459
+ str = labelFormatter ? labelFormatter(v) : `${v}`;
35460
+ if (isPlainObject$1(str)) {
35461
+ labelBoundsList = void 0;
35462
+ break;
35463
+ }
35464
+ const {
35465
+ width: width,
35466
+ height: height
35467
+ } = textMeasure.quickMeasure(str),
35468
+ textWidth = Math.max(width, 12),
35469
+ textHeight = Math.max(height, 12),
35470
+ pos = scale.scale(v),
35471
+ baseTextX = scaleX * pos,
35472
+ baseTextY = scaleY * pos;
35473
+ let align,
35474
+ baseline,
35475
+ textX = baseTextX,
35476
+ textY = baseTextY;
35477
+ labelFlush && isHorizontal && 0 === i ? textX = calculateFlushPos(baseTextX, textWidth, range[0], range[range.length - 1]) : labelFlush && isHorizontal && i === domain.length - 1 ? textX = calculateFlushPos(baseTextX, textWidth, range[range.length - 1], range[0]) : align = null !== (_b = labelStyle.textAlign) && void 0 !== _b ? _b : "center", "right" === align ? textX -= textWidth : "center" === align && (textX -= textWidth / 2), labelFlush && isVertical && 0 === i ? textY = calculateFlushPos(baseTextY, textHeight, range[0], range[range.length - 1]) : labelFlush && isVertical && i === domain.length - 1 ? textY = calculateFlushPos(baseTextY, textHeight, range[range.length - 1], range[0]) : baseline = null !== (_c = labelStyle.textBaseline) && void 0 !== _c ? _c : "middle", "bottom" === baseline ? textY -= textHeight : "middle" === baseline && (textY -= textHeight / 2);
35478
+ const bounds = new AABBBounds().set(textX, textY, textX + textWidth, textY + textHeight);
35479
+ labelAngle && bounds.rotate(labelAngle, baseTextX, baseTextY), labelBoundsList.push(bounds);
35480
+ }
35382
35481
  return labelBoundsList;
35383
35482
  };
35384
35483
  const isAxisHorizontal = axisOrientType => ["bottom", "top", "z"].includes(axisOrientType);
@@ -36427,7 +36526,7 @@ function forceItemVisible(sourceItem, items, check, comparator) {
36427
36526
  }
36428
36527
  }
36429
36528
  const continuousTicks = (scale, op) => {
36430
- var _a, _b;
36529
+ var _a, _b, _c, _d;
36431
36530
  if (!isContinuous(scale.type)) return convertDomainToTickData(scale.domain());
36432
36531
  const range = scale.range(),
36433
36532
  rangeSize = Math.abs(range[range.length - 1] - range[0]);
@@ -36479,23 +36578,25 @@ const continuousTicks = (scale, op) => {
36479
36578
  step = Math.floor(scaleTicks.length * MIN_FONT_SIZE / rangeSize);
36480
36579
  scaleTicks.forEach((tick, index) => {
36481
36580
  index % step != 0 && index !== scaleTicks.length - 1 || samplingScaleTicks.push(tick);
36482
- }), items = getCartesianLabelBounds(scale, samplingScaleTicks, op).map((bounds, i) => ({
36581
+ }), items = null === (_c = getCartesianLabelBounds(scale, samplingScaleTicks, op)) || void 0 === _c ? void 0 : _c.map((bounds, i) => ({
36483
36582
  AABBBounds: bounds,
36484
36583
  value: samplingScaleTicks[i]
36485
36584
  }));
36486
- } else items = getCartesianLabelBounds(scale, scaleTicks, op).map((bounds, i) => ({
36585
+ } else items = null === (_d = getCartesianLabelBounds(scale, scaleTicks, op)) || void 0 === _d ? void 0 : _d.map((bounds, i) => ({
36487
36586
  AABBBounds: bounds,
36488
36587
  value: scaleTicks[i]
36489
36588
  }));
36490
- const firstSourceItem = items[0],
36491
- lastSourceItem = last(items),
36492
- samplingMethod = breakData && breakData() ? methods$1.greedy : methods$1.parity;
36493
- for (; items.length >= 3 && hasOverlap$1(items, labelGap);) items = samplingMethod(items, labelGap);
36494
- const checkFirst = op.labelFirstVisible;
36495
- let checkLast = op.labelLastVisible;
36496
- textIntersect(firstSourceItem, lastSourceItem, labelGap) && items.includes(lastSourceItem) && items.length > 1 && checkFirst && checkLast && (items.splice(items.indexOf(lastSourceItem), 1), checkLast = !1), forceItemVisible(firstSourceItem, items, checkFirst, item => textIntersect(item, firstSourceItem, labelGap)), forceItemVisible(lastSourceItem, items, checkLast, item => textIntersect(item, lastSourceItem, labelGap) || !(!checkFirst || item === firstSourceItem) && textIntersect(item, firstSourceItem, labelGap), !0);
36497
- const ticks = items.map(item => item.value);
36498
- ticks.length < 3 && labelFlush && (ticks.length > 1 && ticks.pop(), last(ticks) !== last(scaleTicks) && ticks.push(last(scaleTicks))), scaleTicks = ticks;
36589
+ if (items) {
36590
+ const firstSourceItem = items[0],
36591
+ lastSourceItem = last(items),
36592
+ samplingMethod = breakData && breakData() ? methods$1.greedy : methods$1.parity;
36593
+ for (; items.length >= 3 && hasOverlap$1(items, labelGap);) items = samplingMethod(items, labelGap);
36594
+ const checkFirst = op.labelFirstVisible;
36595
+ let checkLast = op.labelLastVisible;
36596
+ textIntersect(firstSourceItem, lastSourceItem, labelGap) && items.includes(lastSourceItem) && items.length > 1 && checkFirst && checkLast && (items.splice(items.indexOf(lastSourceItem), 1), checkLast = !1), forceItemVisible(firstSourceItem, items, checkFirst, item => textIntersect(item, firstSourceItem, labelGap)), forceItemVisible(lastSourceItem, items, checkLast, item => textIntersect(item, lastSourceItem, labelGap) || !(!checkFirst || item === firstSourceItem) && textIntersect(item, firstSourceItem, labelGap), !0);
36597
+ const ticks = items.map(item => item.value);
36598
+ ticks.length < 3 && labelFlush && (ticks.length > 1 && ticks.pop(), last(ticks) !== last(scaleTicks) && ticks.push(last(scaleTicks))), scaleTicks = ticks;
36599
+ }
36499
36600
  }
36500
36601
  return convertDomainToTickData(scaleTicks);
36501
36602
  };
@@ -36509,7 +36610,10 @@ const methods$1 = {
36509
36610
  }
36510
36611
  };
36511
36612
 
36512
- const getOneDimensionalLabelBounds = (scale, domain, op, isHorizontal) => getCartesianLabelBounds(scale, domain, op).map(bounds => isHorizontal ? [bounds.x1, bounds.x2, bounds.width()] : [bounds.y1, bounds.y2, bounds.height()]),
36613
+ const getOneDimensionalLabelBounds = (scale, domain, op, isHorizontal) => {
36614
+ const labelBoundsList = getCartesianLabelBounds(scale, domain, op);
36615
+ return labelBoundsList && labelBoundsList.map(bounds => isHorizontal ? [bounds.x1, bounds.x2, bounds.width()] : [bounds.y1, bounds.y2, bounds.height()]);
36616
+ },
36513
36617
  boundsOverlap = function (prevBounds, nextBounds) {
36514
36618
  let gap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
36515
36619
  return Math.max(prevBounds[0], nextBounds[0]) - gap / 2 <= Math.min(prevBounds[1], nextBounds[1]) + gap / 2;
@@ -36543,23 +36647,27 @@ const linearDiscreteTicks = (scale, op) => {
36543
36647
  rangeStart = minInArray(range),
36544
36648
  rangeEnd = maxInArray(range);
36545
36649
  if (domain.length <= rangeSize / fontSize) {
36546
- const incrementUnit = (rangeEnd - rangeStart) / domain.length,
36547
- labelBoundsList = getOneDimensionalLabelBounds(scale, domain, op, isHorizontal),
36548
- minBoundsLength = Math.min(...labelBoundsList.map(bounds => bounds[2])),
36549
- stepResult = getStep$1(domain, labelBoundsList, labelGap, op.labelLastVisible, Math.floor(minBoundsLength / incrementUnit), !1);
36550
- scaleTicks = scale.stepTicks(stepResult.step), op.labelLastVisible && (stepResult.delCount && (scaleTicks = scaleTicks.slice(0, scaleTicks.length - stepResult.delCount)), scaleTicks.push(domain[domain.length - 1]));
36650
+ const labelBoundsList = getOneDimensionalLabelBounds(scale, domain, op, isHorizontal);
36651
+ if (labelBoundsList) {
36652
+ const minBoundsLength = Math.min(...labelBoundsList.map(bounds => bounds[2])),
36653
+ incrementUnit = (rangeEnd - rangeStart) / domain.length,
36654
+ stepResult = getStep$1(domain, labelBoundsList, labelGap, op.labelLastVisible, Math.floor(minBoundsLength / incrementUnit), !1);
36655
+ scaleTicks = scale.stepTicks(stepResult.step), op.labelLastVisible && (stepResult.delCount && (scaleTicks = scaleTicks.slice(0, scaleTicks.length - stepResult.delCount)), scaleTicks.push(domain[domain.length - 1]));
36656
+ }
36551
36657
  } else {
36552
36658
  const tempDomain = [domain[0], domain[Math.floor(domain.length / 2)], domain[domain.length - 1]],
36553
36659
  tempList = getOneDimensionalLabelBounds(scale, tempDomain, op, isHorizontal);
36554
- let maxBounds = null;
36555
- tempList.forEach(current => {
36556
- maxBounds ? maxBounds[2] < current[2] && (maxBounds = current) : maxBounds = current;
36557
- });
36558
- const step = rangeEnd - rangeStart - labelGap > 0 ? Math.ceil(domain.length * (labelGap + maxBounds[2]) / (rangeEnd - rangeStart - labelGap)) : domain.length - 1;
36559
- scaleTicks = scale.stepTicks(step), !op.labelLastVisible || scaleTicks.length && scaleTicks[scaleTicks.length - 1] === domain[domain.length - 1] || (scaleTicks.length && Math.abs(scale.scale(scaleTicks[scaleTicks.length - 1]) - scale.scale(domain[domain.length - 1])) < maxBounds[2] && (scaleTicks = scaleTicks.slice(0, -1)), scaleTicks.push(domain[domain.length - 1]));
36660
+ if (tempList) {
36661
+ let maxBounds = null;
36662
+ tempList.forEach(current => {
36663
+ maxBounds ? maxBounds[2] < current[2] && (maxBounds = current) : maxBounds = current;
36664
+ });
36665
+ const step = rangeEnd - rangeStart - labelGap > 0 ? Math.ceil(domain.length * (labelGap + maxBounds[2]) / (rangeEnd - rangeStart - labelGap)) : domain.length - 1;
36666
+ scaleTicks = scale.stepTicks(step), !op.labelLastVisible || scaleTicks.length && scaleTicks[scaleTicks.length - 1] === domain[domain.length - 1] || (scaleTicks.length && Math.abs(scale.scale(scaleTicks[scaleTicks.length - 1]) - scale.scale(domain[domain.length - 1])) < maxBounds[2] && (scaleTicks = scaleTicks.slice(0, -1)), scaleTicks.push(domain[domain.length - 1]));
36667
+ }
36560
36668
  }
36561
- } else scaleTicks = scale.domain();
36562
- return convertDomainToTickData(scaleTicks);
36669
+ }
36670
+ return isNil$1(scaleTicks) && (scaleTicks = scale.domain()), convertDomainToTickData(scaleTicks);
36563
36671
  };
36564
36672
  const getStep$1 = (domain, labelBoundsList, labelGap, labelLastVisible, defaultStep, areAllBoundsSame) => {
36565
36673
  let resultDelCount = 0,
@@ -39525,13 +39633,6 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39525
39633
  end: end
39526
39634
  }));
39527
39635
  }
39528
- eventPosToStagePos(e) {
39529
- var _a, _b;
39530
- return null !== (_b = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.eventPointTransform(e)) && void 0 !== _b ? _b : {
39531
- x: 0,
39532
- y: 0
39533
- };
39534
- }
39535
39636
  _clearDragEvents() {
39536
39637
  const evtTarget = "browser" === vglobal.env ? vglobal : this.stage,
39537
39638
  triggers = getEndTriggersOfDrag();
@@ -39690,7 +39791,13 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39690
39791
  } = this.attribute.startTextStyle;
39691
39792
  if (new Bounds().set(x1, y1, x2, y2).intersects(endTextBounds)) {
39692
39793
  const direction = "bottom" === this.attribute.orient || "right" === this.attribute.orient ? -1 : 1;
39693
- this._isHorizontal ? this._startText.setAttribute("dy", startTextDy + direction * Math.abs(endTextBounds.y1 - endTextBounds.y2)) : this._startText.setAttribute("dx", startTextDx + direction * Math.abs(endTextBounds.x1 - endTextBounds.x2));
39794
+ if (this._isHorizontal) {
39795
+ const boundsYDiff = Math.abs(endTextBounds.y1 - endTextBounds.y2);
39796
+ this._startText.setAttribute("dy", startTextDy + direction * (Number.isFinite(boundsYDiff) ? boundsYDiff : 0));
39797
+ } else {
39798
+ const boundsXDiff = Math.abs(endTextBounds.x1 - endTextBounds.x2);
39799
+ this._startText.setAttribute("dx", startTextDx + direction * (Number.isFinite(boundsXDiff) ? boundsXDiff : 0));
39800
+ }
39694
39801
  } else this._isHorizontal ? this._startText.setAttribute("dy", startTextDy) : this._startText.setAttribute("dx", startTextDx);
39695
39802
  }
39696
39803
  getLayoutAttrFromConfig() {
@@ -44885,8 +44992,7 @@ const delayMap$1 = {
44885
44992
  loadBrushComponent();
44886
44993
  let Brush$1 = class Brush extends AbstractComponent {
44887
44994
  constructor(attributes, options) {
44888
- super((null == options ? void 0 : options.skipDefault) ? attributes : merge$1({}, Brush.defaultAttributes, attributes)), this.name = "brush", this._activeDrawState = !1, this._cacheDrawPoints = [], this._activeMoveState = !1, this._operatingMaskMoveDx = 0, this._operatingMaskMoveDy = 0, this._operatingMaskMoveRangeX = [-1 / 0, 1 / 0], this._operatingMaskMoveRangeY = [-1 / 0, 1 / 0], this._brushMaskAABBBoundsDict = {}, this._firstUpdate = !0, this._onBrushStart = e => {
44889
- if (this._outOfInteractiveRange(e)) return void (this._isEmptyMask() || (this._clearMask(), this._dispatchBrushEvent(IOperateType.brushClear, e)));
44995
+ super((null == options ? void 0 : options.skipDefault) ? attributes : merge$1({}, Brush.defaultAttributes, attributes)), this.name = "brush", this._activeBrushState = !1, this._activeDrawState = !1, this._cacheDrawPoints = [], this._activeMoveState = !1, this._operatingMaskMoveDx = 0, this._operatingMaskMoveDy = 0, this._operatingMaskMoveRangeX = [-1 / 0, 1 / 0], this._operatingMaskMoveRangeY = [-1 / 0, 1 / 0], this._brushMaskAABBBoundsDict = {}, this._firstUpdate = !0, this._onBrushStart = e => {
44890
44996
  const {
44891
44997
  updateTrigger = DEFAULT_BRUSH_ATTRIBUTES.updateTrigger,
44892
44998
  endTrigger = DEFAULT_BRUSH_ATTRIBUTES.endTrigger,
@@ -44914,7 +45020,7 @@ let Brush$1 = class Brush extends AbstractComponent {
44914
45020
  brushMode: brushMode
44915
45021
  } = this.attribute,
44916
45022
  pos = this.eventPosToStagePos(e);
44917
- this._cacheDrawPoints.push(pos), "single" === brushMode && this._clearMask(), this._addBrushMask(), this._dispatchBrushEvent(IOperateType.drawStart, e), 1 === Object.keys(this._brushMaskAABBBoundsDict).length && this._dispatchBrushEvent(IOperateType.brushActive, e);
45023
+ this._cacheDrawPoints.push(pos), "single" === brushMode && this._clearMask(), this._addBrushMask(), this._dispatchBrushEvent(IOperateType.drawStart, e), this._activeBrushState = !1;
44918
45024
  }
44919
45025
  _initMove(e) {
44920
45026
  var _a, _b;
@@ -44944,7 +45050,8 @@ let Brush$1 = class Brush extends AbstractComponent {
44944
45050
  var _a;
44945
45051
  const pos = this.eventPosToStagePos(e),
44946
45052
  {
44947
- brushType: brushType
45053
+ brushType: brushType,
45054
+ sizeThreshold = DEFAULT_SIZE_THRESHOLD
44948
45055
  } = this.attribute,
44949
45056
  cacheLength = this._cacheDrawPoints.length;
44950
45057
  if (cacheLength > 0) {
@@ -44953,7 +45060,16 @@ let Brush$1 = class Brush extends AbstractComponent {
44953
45060
  }
44954
45061
  "polygon" === brushType || cacheLength <= 1 ? this._cacheDrawPoints.push(pos) : this._cacheDrawPoints[cacheLength - 1] = pos;
44955
45062
  const maskPoints = this._computeMaskPoints();
44956
- this._operatingMask.setAttribute("points", maskPoints), this._dispatchBrushEvent(IOperateType.drawing, e);
45063
+ this._operatingMask.setAttribute("points", maskPoints);
45064
+ const {
45065
+ x: x1,
45066
+ y: y1
45067
+ } = this._startPos,
45068
+ {
45069
+ x: x2,
45070
+ y: y2
45071
+ } = this.eventPosToStagePos(e);
45072
+ (Math.abs(x2 - x1) > sizeThreshold || Math.abs(y1 - y2) > sizeThreshold) && (1 !== Object.keys(this._brushMaskAABBBoundsDict).length || this._activeBrushState ? this._dispatchBrushEvent(IOperateType.drawing, e) : (this._activeBrushState = !0, this._dispatchBrushEvent(IOperateType.brushActive, e)));
44957
45073
  }
44958
45074
  _moving(e) {
44959
45075
  const startPos = this._cacheMovePoint,
@@ -45093,9 +45209,6 @@ let Brush$1 = class Brush extends AbstractComponent {
45093
45209
  pos = this.eventPosToStagePos(e);
45094
45210
  return pos.x > maxX || pos.x < minX || pos.y > maxY || pos.y < minY;
45095
45211
  }
45096
- eventPosToStagePos(e) {
45097
- return this.stage.eventPointTransform(e);
45098
- }
45099
45212
  _dispatchBrushEvent(operateType, e) {
45100
45213
  this._dispatchEvent(operateType, {
45101
45214
  operateMask: this._operatingMask,
@@ -45104,7 +45217,7 @@ let Brush$1 = class Brush extends AbstractComponent {
45104
45217
  });
45105
45218
  }
45106
45219
  _clearMask() {
45107
- this._brushMaskAABBBoundsDict = {}, this._container.incrementalClearChild(), this._operatingMask = null;
45220
+ this._brushMaskAABBBoundsDict = {}, this._container.removeAllChild(), this._operatingMask = null;
45108
45221
  }
45109
45222
  _isEmptyMask() {
45110
45223
  return isEmpty(this._brushMaskAABBBoundsDict) || Object.keys(this._brushMaskAABBBoundsDict).every(key => this._brushMaskAABBBoundsDict[key].empty());
@@ -64117,7 +64230,7 @@ const registerVChartCore = () => {
64117
64230
  };
64118
64231
  registerVChartCore();
64119
64232
 
64120
- const version = "1.13.11";
64233
+ const version = "1.13.12";
64121
64234
 
64122
64235
  const addVChartProperty = (data, op) => {
64123
64236
  const context = op.beforeCall();
@@ -95170,7 +95283,7 @@ class BaseCrossHair extends BaseComponent {
95170
95283
  }
95171
95284
  }
95172
95285
  _parseField(field, fieldName) {
95173
- var _a, _b;
95286
+ var _a, _b, _c;
95174
95287
  const hair = {};
95175
95288
  const { line = {}, label = {}, visible } = field;
95176
95289
  hair.visible = visible;
@@ -95181,7 +95294,7 @@ class BaseCrossHair extends BaseComponent {
95181
95294
  else {
95182
95295
  const style = line.style || {};
95183
95296
  const { stroke, fill, lineWidth } = style;
95184
- const _c = style, { strokeOpacity, fillOpacity, opacity } = _c, restStyle = __rest$e(_c, ["strokeOpacity", "fillOpacity", "opacity"]);
95297
+ const _d = style, { strokeOpacity, fillOpacity, opacity } = _d, restStyle = __rest$e(_d, ["strokeOpacity", "fillOpacity", "opacity"]);
95185
95298
  const isLineType = hair.type === 'line';
95186
95299
  let finalOpacity = isLineType ? strokeOpacity : fillOpacity;
95187
95300
  if (isNumber$1(opacity)) {
@@ -95209,8 +95322,9 @@ class BaseCrossHair extends BaseComponent {
95209
95322
  }
95210
95323
  if (!!label.visible) {
95211
95324
  const labelBackground = label.labelBackground || {};
95325
+ const syncAxisLabelAngle = (_c = label.syncAxisLabelAngle) !== null && _c !== void 0 ? _c : false;
95212
95326
  const labelStyle = label.style || {};
95213
- const _d = labelBackground.style || {}, { fill: rectFill = 'rgba(47, 59, 82, 0.9)', stroke: rectStroke, outerBorder } = _d, rectStyle = __rest$e(_d, ["fill", "stroke", "outerBorder"]);
95327
+ const _e = labelBackground.style || {}, { fill: rectFill = 'rgba(47, 59, 82, 0.9)', stroke: rectStroke, outerBorder } = _e, rectStyle = __rest$e(_e, ["fill", "stroke", "outerBorder"]);
95214
95328
  hair.label = {
95215
95329
  visible: true,
95216
95330
  formatMethod: label.formatMethod,
@@ -95218,6 +95332,7 @@ class BaseCrossHair extends BaseComponent {
95218
95332
  minWidth: labelBackground.minWidth,
95219
95333
  maxWidth: labelBackground.maxWidth,
95220
95334
  padding: labelBackground.padding,
95335
+ syncAxisLabelAngle,
95221
95336
  textStyle: Object.assign(Object.assign({ fontSize: 14, pickable: false }, labelStyle), { fill: labelStyle.fill || '#fff', stroke: get$1(labelStyle, 'stroke') }),
95222
95337
  panel: (isBoolean$1(labelBackground.visible) ? labelBackground.visible : !!labelBackground)
95223
95338
  ? Object.assign({ visible: true, pickable: false, fill: rectFill, stroke: rectStroke, outerBorder: Object.assign({ stroke: rectFill, distance: 0, lineWidth: 3 }, outerBorder) }, rectStyle) : { visible: false },
@@ -95310,9 +95425,11 @@ const layoutByValue$1 = (stateByField, series, layoutStartPoint, enableRemain =
95310
95425
  layoutStartPoint = { x: 0, y: 0 };
95311
95426
  }
95312
95427
  Object.keys(stateByField).forEach(field => {
95428
+ var _a, _b, _c, _d, _e;
95313
95429
  const { currentValue, cacheInfo, labelsComp, attributes, coordKey } = stateByField[field];
95314
95430
  let axis = null;
95315
95431
  let coord = 0;
95432
+ let axisLabel = null;
95316
95433
  if (currentValue.size) {
95317
95434
  const item = Array.from(currentValue.values())[0];
95318
95435
  coord =
@@ -95320,6 +95437,8 @@ const layoutByValue$1 = (stateByField, series, layoutStartPoint, enableRemain =
95320
95437
  item.axis.getLayoutStartPoint()[coordKey] -
95321
95438
  layoutStartPoint[coordKey];
95322
95439
  axis = item.axis;
95440
+ axisLabel = (_e = (_d = (_c = (_b = (_a = axis
95441
+ .getVRenderComponents()[0]) === null || _a === void 0 ? void 0 : _a.children[0]) === null || _b === void 0 ? void 0 : _b.children[0]) === null || _c === void 0 ? void 0 : _c.getChildByName('axis-label-container')) === null || _d === void 0 ? void 0 : _d.getChildByName('axis-label-container-layer-0')) === null || _e === void 0 ? void 0 : _e.children[0];
95323
95442
  }
95324
95443
  const isVisible = !!currentValue.size && Number.isFinite(coord) && !Number.isNaN(coord);
95325
95444
  const useCache = enableRemain && !isVisible && isValid$1(cacheInfo);
@@ -95337,7 +95456,8 @@ const layoutByValue$1 = (stateByField, series, layoutStartPoint, enableRemain =
95337
95456
  }, {})
95338
95457
  : null,
95339
95458
  visible: isVisible,
95340
- axis
95459
+ axis,
95460
+ axisLabel: axisLabel
95341
95461
  };
95342
95462
  if (newCacheInfo) {
95343
95463
  newCacheInfo._isCache = useCache;
@@ -95346,7 +95466,7 @@ const layoutByValue$1 = (stateByField, series, layoutStartPoint, enableRemain =
95346
95466
  let offsetSize = 0;
95347
95467
  if (attributes) {
95348
95468
  currentValue.forEach(({ axis, datum: value = '' }) => {
95349
- var _a;
95469
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
95350
95470
  let niceLabelFormatter = null;
95351
95471
  const scale = axis.getScale();
95352
95472
  if (isDiscrete(scale.type)) {
@@ -95375,36 +95495,37 @@ const layoutByValue$1 = (stateByField, series, layoutStartPoint, enableRemain =
95375
95495
  if (newCacheInfo && ((_a = attributes.label) === null || _a === void 0 ? void 0 : _a.visible) && !useCache) {
95376
95496
  const labelOffset = getAxisLabelOffset(axis.getSpec());
95377
95497
  const axisOrient = axis.getOrient();
95498
+ const syncAxisLabelAngle = (_b = attributes.label) === null || _b === void 0 ? void 0 : _b.syncAxisLabelAngle;
95378
95499
  if (newCacheInfo.labels[axisOrient]) {
95379
95500
  newCacheInfo.labels[axisOrient].visible = true;
95380
95501
  newCacheInfo.labels[axisOrient].text = value;
95381
95502
  if (axisOrient === 'left') {
95382
95503
  newCacheInfo.labels[axisOrient].dx = -labelOffset;
95383
95504
  newCacheInfo.labelsTextStyle[axisOrient] = {
95384
- textAlign: 'right',
95385
- textBaseline: 'middle'
95505
+ textAlign: syncAxisLabelAngle && axisLabel ? ((_c = axisLabel.attribute.textAlign) !== null && _c !== void 0 ? _c : 'right') : 'right',
95506
+ textBaseline: syncAxisLabelAngle && axisLabel ? ((_d = axisLabel.attribute.textBaseline) !== null && _d !== void 0 ? _d : 'middle') : 'middle'
95386
95507
  };
95387
95508
  }
95388
95509
  else if (axisOrient === 'right') {
95389
95510
  newCacheInfo.labels[axisOrient].dx = labelOffset;
95390
95511
  newCacheInfo.labelsTextStyle[axisOrient] = {
95391
- textAlign: 'left',
95392
- textBaseline: 'middle'
95512
+ textAlign: syncAxisLabelAngle && axisLabel ? ((_e = axisLabel.attribute.textAlign) !== null && _e !== void 0 ? _e : 'left') : 'left',
95513
+ textBaseline: syncAxisLabelAngle && axisLabel ? ((_f = axisLabel.attribute.textBaseline) !== null && _f !== void 0 ? _f : 'middle') : 'middle'
95393
95514
  };
95394
95515
  }
95395
95516
  else if (axisOrient === 'top') {
95396
95517
  newCacheInfo.labels[axisOrient].y = 0;
95397
95518
  newCacheInfo.labels[axisOrient].dy = -labelOffset;
95398
95519
  newCacheInfo.labelsTextStyle[axisOrient] = {
95399
- textAlign: 'center',
95400
- textBaseline: 'bottom'
95520
+ textAlign: syncAxisLabelAngle && axisLabel ? ((_g = axisLabel.attribute.textAlign) !== null && _g !== void 0 ? _g : 'center') : 'center',
95521
+ textBaseline: syncAxisLabelAngle && axisLabel ? ((_h = axisLabel.attribute.textBaseline) !== null && _h !== void 0 ? _h : 'bottom') : 'bottom'
95401
95522
  };
95402
95523
  }
95403
95524
  else if (axisOrient === 'bottom') {
95404
95525
  newCacheInfo.labels[axisOrient].dy = labelOffset;
95405
95526
  newCacheInfo.labelsTextStyle[axisOrient] = {
95406
- textAlign: 'center',
95407
- textBaseline: 'top'
95527
+ textAlign: syncAxisLabelAngle && axisLabel ? ((_j = axisLabel.attribute.textAlign) !== null && _j !== void 0 ? _j : 'center') : 'center',
95528
+ textBaseline: syncAxisLabelAngle && axisLabel ? ((_k = axisLabel.attribute.textBaseline) !== null && _k !== void 0 ? _k : 'top') : 'top'
95408
95529
  };
95409
95530
  }
95410
95531
  newCacheInfo.labels[axisOrient].defaultFormatter = niceLabelFormatter;
@@ -95648,9 +95769,9 @@ class CartesianCrossHair extends BaseCrossHair {
95648
95769
  const positionAttribute = layoutCrosshair$1(this._stateByField[field]);
95649
95770
  this._updateCrosshairByField(field, positionAttribute);
95650
95771
  Object.keys(labels).forEach(labelKey => {
95651
- var _a;
95772
+ var _a, _b, _c;
95652
95773
  if (labels[labelKey].visible) {
95653
- const updateAttrs = Object.assign(Object.assign(Object.assign({ [coordKey]: coord + bandSize / 2 }, labels[labelKey]), attributes.label), { textStyle: Object.assign(Object.assign({}, (_a = attributes.label) === null || _a === void 0 ? void 0 : _a.textStyle), labelsTextStyle[labelKey]), zIndex: this.labelZIndex, visible: true });
95774
+ const updateAttrs = Object.assign(Object.assign(Object.assign({ [coordKey]: coord + bandSize / 2 }, labels[labelKey]), attributes.label), { angle: attributes.label.syncAxisLabelAngle ? ((_b = (_a = cacheInfo.axisLabel) === null || _a === void 0 ? void 0 : _a.attribute.angle) !== null && _b !== void 0 ? _b : 0) : 0, textStyle: Object.assign(Object.assign({}, (_c = attributes.label) === null || _c === void 0 ? void 0 : _c.textStyle), labelsTextStyle[labelKey]), zIndex: this.labelZIndex, visible: true });
95654
95775
  this._updateCrosshairLabel(labelsComp[labelKey], updateAttrs, label => {
95655
95776
  label.name = `crosshair-${field.replace('Field', '')}-${labelKey}-label`;
95656
95777
  labelsComp[labelKey] = label;
@@ -97656,7 +97777,9 @@ function getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStar
97656
97777
  x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;
97657
97778
  }
97658
97779
  else {
97659
- x = relativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;
97780
+ x =
97781
+ convertDatumToValue(relativeSeries.getXAxisHelper(), [datum.x]) +
97782
+ regionStartLayoutStartPoint.x;
97660
97783
  }
97661
97784
  return x;
97662
97785
  }
@@ -97671,7 +97794,9 @@ function getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionSta
97671
97794
  y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;
97672
97795
  }
97673
97796
  else {
97674
- y = relativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;
97797
+ y =
97798
+ convertDatumToValue(relativeSeries.getYAxisHelper(), [datum.y]) +
97799
+ regionStartLayoutStartPoint.y;
97675
97800
  }
97676
97801
  return y;
97677
97802
  }
@@ -97681,7 +97806,7 @@ function getAngleValue(datum, angleDomain, autoRange, refSeries) {
97681
97806
  isNumber$1(datum.angle) &&
97682
97807
  isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&
97683
97808
  ((_b = (_a = relativeSeries.angleAxisHelper) === null || _a === void 0 ? void 0 : _a.setExtendDomain) === null || _b === void 0 ? void 0 : _b.call(_a, 'marker_angleAxis_extend', datum.angle));
97684
- return relativeSeries.angleAxisHelper.dataToPosition([datum.angle]);
97809
+ return convertDatumToValue(relativeSeries.angleAxisHelper, [datum.angle]);
97685
97810
  }
97686
97811
  function getRadiusValue(datum, radiusDomain, autoRange, refSeries) {
97687
97812
  var _a, _b;
@@ -97689,11 +97814,18 @@ function getRadiusValue(datum, radiusDomain, autoRange, refSeries) {
97689
97814
  isNumber$1(datum.radius) &&
97690
97815
  isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&
97691
97816
  ((_b = (_a = relativeSeries.radiusAxisHelper) === null || _a === void 0 ? void 0 : _a.setExtendDomain) === null || _b === void 0 ? void 0 : _b.call(_a, 'marker_radiusAxis_extend', datum.radius));
97692
- return relativeSeries.radiusAxisHelper.dataToPosition([datum.radius]);
97817
+ return convertDatumToValue(relativeSeries.radiusAxisHelper, [datum.radius]);
97693
97818
  }
97694
97819
  function convertPercentToValue(percent, relativeLength) {
97695
97820
  return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;
97696
97821
  }
97822
+ function convertDatumToValue(axisHelper, datum) {
97823
+ const scale = axisHelper.getScale(0);
97824
+ if (isContinuous(scale.type) && scale.domain()[0] === scale.domain()[1] && datum[0] !== scale.domain()[0]) {
97825
+ return NaN;
97826
+ }
97827
+ return axisHelper.dataToPosition(datum);
97828
+ }
97697
97829
  function isAggrSpec(spec) {
97698
97830
  return AGGR_TYPE.includes(spec);
97699
97831
  }
@@ -97858,8 +97990,8 @@ function cartesianCoordinateLayout(data, relativeSeries, autoRange, coordinatesO
97858
97990
  isNeedExtendDomain(yDomain, yValue[0], autoRange) &&
97859
97991
  ((_d = (_c = refRelativeSeries.getYAxisHelper()) === null || _c === void 0 ? void 0 : _c.setExtendDomain) === null || _d === void 0 ? void 0 : _d.call(_c, 'marker_yAxis_extend', yValue[0]));
97860
97992
  points.push({
97861
- x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x + offsetX,
97862
- y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y + offsetY
97993
+ x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,
97994
+ y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY
97863
97995
  });
97864
97996
  });
97865
97997
  return points;
@@ -97883,8 +98015,8 @@ function polarCoordinateLayout(data, relativeSeries, autoRange) {
97883
98015
  isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&
97884
98016
  ((_d = (_c = refRelativeSeries.radiusAxisHelper) === null || _c === void 0 ? void 0 : _c.setExtendDomain) === null || _d === void 0 ? void 0 : _d.call(_c, 'marker_yAxis_extend', radiusValue[0]));
97885
98017
  points.push({
97886
- angle: refRelativeSeries.angleAxisHelper.dataToPosition(angleValue),
97887
- radius: refRelativeSeries.radiusAxisHelper.dataToPosition(radiusValue)
98018
+ angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),
98019
+ radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)
97888
98020
  });
97889
98021
  });
97890
98022
  return points;
@@ -100638,7 +100770,6 @@ class Brush extends BaseComponent {
100638
100770
  this._linkedInBrushElementsMap = {};
100639
100771
  this._linkedOutOfBrushElementsMap = {};
100640
100772
  this._cacheInteractiveRangeAttrs = [];
100641
- this._needDisablePickable = false;
100642
100773
  this._releatedAxes = [];
100643
100774
  this._regionAxisMap = {};
100644
100775
  this._axisDataZoomMap = {};
@@ -100794,34 +100925,36 @@ class Brush extends BaseComponent {
100794
100925
  this._emitEvent(ChartEvent.brushActive, region);
100795
100926
  });
100796
100927
  brush.addEventListener(IOperateType.drawStart, (e) => {
100928
+ this._setRegionMarkPickable(region, true);
100797
100929
  this._emitEvent(ChartEvent.brushStart, region);
100798
100930
  });
100799
100931
  brush.addEventListener(IOperateType.moveStart, (e) => {
100932
+ this._setRegionMarkPickable(region, true);
100800
100933
  this._emitEvent(ChartEvent.brushStart, region);
100801
100934
  });
100802
100935
  brush.addEventListener(IOperateType.drawing, (e) => {
100803
- this._needDisablePickable = true;
100936
+ this._setRegionMarkPickable(region, false);
100804
100937
  this._handleBrushChange(region, e);
100805
100938
  this._emitEvent(ChartEvent.brushChange, region);
100806
100939
  });
100807
100940
  brush.addEventListener(IOperateType.moving, (e) => {
100941
+ this._setRegionMarkPickable(region, false);
100808
100942
  this._handleBrushChange(region, e);
100809
100943
  this._emitEvent(ChartEvent.brushChange, region);
100810
100944
  });
100811
100945
  brush.addEventListener(IOperateType.brushClear, (e) => {
100946
+ this._setRegionMarkPickable(region, true);
100812
100947
  this._initMarkBrushState(componentIndex, '');
100813
- this._needDisablePickable = false;
100814
100948
  this._emitEvent(ChartEvent.brushClear, region);
100815
100949
  });
100816
100950
  brush.addEventListener(IOperateType.drawEnd, (e) => {
100817
100951
  var _a;
100818
- this._needDisablePickable = false;
100952
+ this._setRegionMarkPickable(region, true);
100819
100953
  const { operateMask } = e.detail;
100820
100954
  if ((_a = this._spec) === null || _a === void 0 ? void 0 : _a.onBrushEnd) {
100821
100955
  if (this._spec.onBrushEnd(e) === true) {
100822
100956
  this.clearGraphic();
100823
100957
  this._initMarkBrushState(componentIndex, '');
100824
- this._needDisablePickable = false;
100825
100958
  this._emitEvent(ChartEvent.brushClear, region);
100826
100959
  }
100827
100960
  else {
@@ -100838,6 +100971,7 @@ class Brush extends BaseComponent {
100838
100971
  }
100839
100972
  });
100840
100973
  brush.addEventListener(IOperateType.moveEnd, (e) => {
100974
+ this._setRegionMarkPickable(region, true);
100841
100975
  const { operateMask } = e.detail;
100842
100976
  const inBrushData = this._extendDataInBrush(this._inBrushElementsMap);
100843
100977
  if (!this._spec.zoomWhenEmpty && inBrushData.length > 0) {
@@ -100965,7 +101099,6 @@ class Brush extends BaseComponent {
100965
101099
  this._outOfBrushElementsMap[elementKey] = el;
100966
101100
  delete this._inBrushElementsMap[operateMask.name][elementKey];
100967
101101
  }
100968
- graphicItem.setAttribute('pickable', !this._needDisablePickable);
100969
101102
  });
100970
101103
  });
100971
101104
  }
@@ -101024,7 +101157,6 @@ class Brush extends BaseComponent {
101024
101157
  el.addState(OUT_BRUSH_STATE);
101025
101158
  this._linkedOutOfBrushElementsMap[elementKey] = el;
101026
101159
  }
101027
- graphicItem.setAttribute('pickable', !this._needDisablePickable);
101028
101160
  });
101029
101161
  });
101030
101162
  }
@@ -101106,6 +101238,12 @@ class Brush extends BaseComponent {
101106
101238
  });
101107
101239
  });
101108
101240
  }
101241
+ _setRegionMarkPickable(region, pickable) {
101242
+ region
101243
+ .getGroupMark()
101244
+ .getProduct()
101245
+ .elements.forEach(el => el.getGraphicItem().setAttribute('childrenPickable', pickable));
101246
+ }
101109
101247
  _stateClamp(state) {
101110
101248
  return Math.min(Math.max(0, state), 1);
101111
101249
  }
@@ -101185,7 +101323,6 @@ class Brush extends BaseComponent {
101185
101323
  const container = this.getContainer();
101186
101324
  this._brushComponents.forEach((brush, index) => {
101187
101325
  this._initMarkBrushState(index, '');
101188
- this._needDisablePickable = false;
101189
101326
  brush.removeAllChild();
101190
101327
  brush.releaseBrushEvents();
101191
101328
  if (container) {