@visactor/vrender-components 0.22.7-alpha.2 → 0.22.7-alpha.4

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 (104) hide show
  1. package/cjs/data-zoom/data-zoom.d.ts +1 -0
  2. package/cjs/data-zoom/data-zoom.js +19 -14
  3. package/cjs/data-zoom/data-zoom.js.map +1 -1
  4. package/cjs/index.d.ts +1 -1
  5. package/cjs/index.js +1 -1
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/marker/animate/animate.d.ts +3 -3
  8. package/cjs/marker/animate/animate.js.map +1 -1
  9. package/cjs/marker/animate/clip-in.d.ts +1 -1
  10. package/cjs/marker/animate/clip-in.js +3 -6
  11. package/cjs/marker/animate/clip-in.js.map +1 -1
  12. package/cjs/marker/animate/fade-in.d.ts +3 -3
  13. package/cjs/marker/animate/fade-in.js +4 -10
  14. package/cjs/marker/animate/fade-in.js.map +1 -1
  15. package/cjs/marker/animate/fade-out.d.ts +3 -3
  16. package/cjs/marker/animate/fade-out.js +4 -10
  17. package/cjs/marker/animate/fade-out.js.map +1 -1
  18. package/cjs/marker/arc-area.d.ts +5 -8
  19. package/cjs/marker/arc-area.js +39 -18
  20. package/cjs/marker/arc-area.js.map +1 -1
  21. package/cjs/marker/arc-line.d.ts +4 -6
  22. package/cjs/marker/arc-line.js +9 -12
  23. package/cjs/marker/arc-line.js.map +1 -1
  24. package/cjs/marker/area.d.ts +4 -6
  25. package/cjs/marker/area.js +32 -14
  26. package/cjs/marker/area.js.map +1 -1
  27. package/cjs/marker/base.d.ts +3 -2
  28. package/cjs/marker/base.js.map +1 -1
  29. package/cjs/marker/common-line.d.ts +7 -11
  30. package/cjs/marker/common-line.js +31 -11
  31. package/cjs/marker/common-line.js.map +1 -1
  32. package/cjs/marker/config.d.ts +0 -2
  33. package/cjs/marker/config.js +0 -2
  34. package/cjs/marker/config.js.map +1 -1
  35. package/cjs/marker/line.d.ts +4 -6
  36. package/cjs/marker/line.js +4 -10
  37. package/cjs/marker/line.js.map +1 -1
  38. package/cjs/marker/type.d.ts +16 -19
  39. package/cjs/marker/type.js.map +1 -1
  40. package/cjs/scrollbar/scrollbar.d.ts +1 -0
  41. package/cjs/scrollbar/scrollbar.js +17 -10
  42. package/cjs/scrollbar/scrollbar.js.map +1 -1
  43. package/cjs/slider/slider.d.ts +1 -0
  44. package/cjs/slider/slider.js +30 -22
  45. package/cjs/slider/slider.js.map +1 -1
  46. package/cjs/util/event.d.ts +1 -0
  47. package/cjs/util/event.js +14 -0
  48. package/cjs/util/event.js.map +1 -0
  49. package/dist/index.es.js +176 -208
  50. package/es/data-zoom/data-zoom.d.ts +1 -0
  51. package/es/data-zoom/data-zoom.js +18 -11
  52. package/es/data-zoom/data-zoom.js.map +1 -1
  53. package/es/index.d.ts +1 -1
  54. package/es/index.js +1 -1
  55. package/es/index.js.map +1 -1
  56. package/es/marker/animate/animate.d.ts +3 -3
  57. package/es/marker/animate/animate.js.map +1 -1
  58. package/es/marker/animate/clip-in.d.ts +1 -1
  59. package/es/marker/animate/clip-in.js +2 -6
  60. package/es/marker/animate/clip-in.js.map +1 -1
  61. package/es/marker/animate/fade-in.d.ts +3 -3
  62. package/es/marker/animate/fade-in.js +3 -11
  63. package/es/marker/animate/fade-in.js.map +1 -1
  64. package/es/marker/animate/fade-out.d.ts +3 -3
  65. package/es/marker/animate/fade-out.js +3 -11
  66. package/es/marker/animate/fade-out.js.map +1 -1
  67. package/es/marker/arc-area.d.ts +5 -8
  68. package/es/marker/arc-area.js +41 -19
  69. package/es/marker/arc-area.js.map +1 -1
  70. package/es/marker/arc-line.d.ts +4 -6
  71. package/es/marker/arc-line.js +9 -12
  72. package/es/marker/arc-line.js.map +1 -1
  73. package/es/marker/area.d.ts +4 -6
  74. package/es/marker/area.js +34 -15
  75. package/es/marker/area.js.map +1 -1
  76. package/es/marker/base.d.ts +3 -2
  77. package/es/marker/base.js.map +1 -1
  78. package/es/marker/common-line.d.ts +7 -11
  79. package/es/marker/common-line.js +34 -14
  80. package/es/marker/common-line.js.map +1 -1
  81. package/es/marker/config.d.ts +0 -2
  82. package/es/marker/config.js +0 -2
  83. package/es/marker/config.js.map +1 -1
  84. package/es/marker/line.d.ts +4 -6
  85. package/es/marker/line.js +4 -10
  86. package/es/marker/line.js.map +1 -1
  87. package/es/marker/type.d.ts +16 -19
  88. package/es/marker/type.js.map +1 -1
  89. package/es/scrollbar/scrollbar.d.ts +1 -0
  90. package/es/scrollbar/scrollbar.js +18 -9
  91. package/es/scrollbar/scrollbar.js.map +1 -1
  92. package/es/slider/slider.d.ts +1 -0
  93. package/es/slider/slider.js +31 -21
  94. package/es/slider/slider.js.map +1 -1
  95. package/es/util/event.d.ts +1 -0
  96. package/es/util/event.js +6 -0
  97. package/es/util/event.js.map +1 -0
  98. package/package.json +4 -4
  99. package/cjs/marker/mixin/label.d.ts +0 -16
  100. package/cjs/marker/mixin/label.js +0 -57
  101. package/cjs/marker/mixin/label.js.map +0 -1
  102. package/es/marker/mixin/label.d.ts +0 -16
  103. package/es/marker/mixin/label.js +0 -45
  104. package/es/marker/mixin/label.js.map +0 -1
package/dist/index.es.js CHANGED
@@ -14909,6 +14909,13 @@ const SCROLLBAR_START_EVENT = 'scrollDown';
14909
14909
  const SCROLLBAR_EVENT = 'scrollDrag';
14910
14910
  const SCROLLBAR_END_EVENT = 'scrollUp';
14911
14911
 
14912
+ function getEndTriggersOfDrag() {
14913
+ if (vglobal.env === 'browser') {
14914
+ return ['pointerup', 'pointerleave', 'pointercancel'];
14915
+ }
14916
+ return ['pointerup', 'pointerleave', 'pointerupoutside'];
14917
+ }
14918
+
14912
14919
  const delayMap$2 = {
14913
14920
  debounce: debounce,
14914
14921
  throttle: throttle
@@ -14942,6 +14949,7 @@ class ScrollBar extends AbstractComponent {
14942
14949
  }
14943
14950
  };
14944
14951
  this._onSliderPointerDown = (e) => {
14952
+ this._clearDragEvents();
14945
14953
  const { stopSliderDownPropagation = true } = this.attribute;
14946
14954
  if (stopSliderDownPropagation) {
14947
14955
  e.stopPropagation();
@@ -14953,15 +14961,12 @@ class ScrollBar extends AbstractComponent {
14953
14961
  pos: this._prePos,
14954
14962
  event: e
14955
14963
  });
14956
- if (vglobal.env === 'browser') {
14957
- vglobal.addEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
14958
- vglobal.addEventListener('pointerup', this._onSliderPointerUp);
14959
- }
14960
- else {
14961
- this.stage.addEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
14962
- this.stage.addEventListener('pointerup', this._onSliderPointerUp);
14963
- this.stage.addEventListener('pointerupoutside', this._onSliderPointerUp);
14964
- }
14964
+ const triggers = getEndTriggersOfDrag();
14965
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
14966
+ obj.addEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
14967
+ triggers.forEach((trigger) => {
14968
+ obj.addEventListener(trigger, this._onSliderPointerUp);
14969
+ });
14965
14970
  };
14966
14971
  this._computeScrollValue = (e) => {
14967
14972
  const { direction } = this.attribute;
@@ -15005,15 +15010,7 @@ class ScrollBar extends AbstractComponent {
15005
15010
  pre: preRange,
15006
15011
  value: clampRange(range, limitRange[0], limitRange[1])
15007
15012
  });
15008
- if (vglobal.env === 'browser') {
15009
- vglobal.removeEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
15010
- vglobal.removeEventListener('pointerup', this._onSliderPointerUp);
15011
- }
15012
- else {
15013
- this.stage.removeEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
15014
- this.stage.removeEventListener('pointerup', this._onSliderPointerUp);
15015
- this.stage.removeEventListener('pointerupoutside', this._onSliderPointerUp);
15016
- }
15013
+ this._clearDragEvents();
15017
15014
  };
15018
15015
  }
15019
15016
  setScrollRange(range, render = true) {
@@ -15146,6 +15143,14 @@ class ScrollBar extends AbstractComponent {
15146
15143
  ? clampRange([x1 + min * width, x1 + max * width], x1, width - sliderSize)
15147
15144
  : clampRange([y1 + min * height, y1 + max * height], y1, height - sliderSize);
15148
15145
  }
15146
+ _clearDragEvents() {
15147
+ const triggers = getEndTriggersOfDrag();
15148
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
15149
+ obj.removeEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
15150
+ triggers.forEach((trigger) => {
15151
+ obj.removeEventListener(trigger, this._onSliderPointerUp);
15152
+ });
15153
+ }
15149
15154
  _reset() {
15150
15155
  this._sliderRenderBounds = null;
15151
15156
  this._sliderLimitRange = null;
@@ -23011,6 +23016,7 @@ class DataZoom extends AbstractComponent {
23011
23016
  };
23012
23017
  this._statePointToData = state => state;
23013
23018
  this._onHandlerPointerDown = (e, tag) => {
23019
+ this._clearDragEvents();
23014
23020
  e.stopPropagation();
23015
23021
  if (tag === 'start') {
23016
23022
  this._activeTag = DataZoomActiveTag.startHandler;
@@ -23035,11 +23041,12 @@ class DataZoom extends AbstractComponent {
23035
23041
  this._activeState = true;
23036
23042
  this._activeCache.startPos = this.eventPosToStagePos(e);
23037
23043
  this._activeCache.lastPos = this.eventPosToStagePos(e);
23038
- if (vglobal.env === 'browser') {
23039
- vglobal.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23040
- vglobal.addEventListener('pointerup', this._onHandlerPointerUp);
23041
- }
23042
- this.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23044
+ const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;
23045
+ const triggers = getEndTriggersOfDrag();
23046
+ evtTarget.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23047
+ triggers.forEach((trigger) => {
23048
+ evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
23049
+ });
23043
23050
  };
23044
23051
  this._pointerMove = (e) => {
23045
23052
  e.stopPropagation();
@@ -23107,12 +23114,7 @@ class DataZoom extends AbstractComponent {
23107
23114
  end: this.state.end,
23108
23115
  tag: this._activeTag
23109
23116
  });
23110
- if (vglobal.env === 'browser') {
23111
- vglobal.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23112
- vglobal.removeEventListener('pointerup', this._onHandlerPointerUp);
23113
- }
23114
- this.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23115
- this.removeEventListener('pointerup', this._onHandlerPointerUp);
23117
+ this._clearDragEvents();
23116
23118
  };
23117
23119
  const { position, showDetail } = attributes;
23118
23120
  this._activeCache.startPos = position;
@@ -23160,8 +23162,6 @@ class DataZoom extends AbstractComponent {
23160
23162
  if (this._selectedPreviewGroup) {
23161
23163
  this._selectedPreviewGroup.addEventListener('pointerdown', (e) => this._onHandlerPointerDown(e, selectedTag));
23162
23164
  }
23163
- this.addEventListener('pointerup', this._onHandlerPointerUp);
23164
- this.addEventListener('pointerupoutside', this._onHandlerPointerUp);
23165
23165
  if (showDetail === 'auto') {
23166
23166
  this.addEventListener('pointerenter', this._onHandlerPointerEnter);
23167
23167
  this.addEventListener('pointerleave', this._onHandlerPointerLeave);
@@ -23193,6 +23193,14 @@ class DataZoom extends AbstractComponent {
23193
23193
  var _a, _b;
23194
23194
  return (_b = (_a = this.stage) === null || _a === void 0 ? void 0 : _a.eventPointTransform(e)) !== null && _b !== void 0 ? _b : { x: 0, y: 0 };
23195
23195
  }
23196
+ _clearDragEvents() {
23197
+ const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;
23198
+ const triggers = getEndTriggersOfDrag();
23199
+ evtTarget.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
23200
+ triggers.forEach((trigger) => {
23201
+ evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
23202
+ });
23203
+ }
23196
23204
  _onHandlerPointerEnter(e) {
23197
23205
  e.stopPropagation();
23198
23206
  this._showText = true;
@@ -23998,30 +24006,21 @@ function commonLineClipIn(line, label, duration, delay, easing) {
23998
24006
  .to({ clipRange: 1 }, stepDuration, easing);
23999
24007
  });
24000
24008
  graphicFadeIn(line.endSymbol, delay + startSymbolDuration + lineDuration, endSymbolDuration, easing);
24001
- array(label).forEach(labelNode => {
24002
- const delayTime = delay + startSymbolDuration + lineDuration + endSymbolDuration;
24003
- graphicFadeIn(labelNode.getTextShape(), delayTime, labelDuration, easing);
24004
- graphicFadeIn(labelNode.getBgRect(), delayTime, labelDuration, easing);
24005
- });
24009
+ graphicFadeIn(label.getTextShape(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing);
24010
+ graphicFadeIn(label.getBgRect(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing);
24006
24011
  }
24007
24012
 
24008
24013
  function commonLineFadeIn(line, label, duration, delay, easing) {
24009
24014
  segmentFadeIn(line, delay, duration, easing);
24010
- array(label).forEach(labelNode => {
24011
- tagFadeIn(labelNode, delay, duration, easing);
24012
- });
24015
+ tagFadeIn(label, delay, duration, easing);
24013
24016
  }
24014
24017
  function areaFadeIn(area, label, duration, delay, easing) {
24015
24018
  graphicFadeIn(area, delay, duration, easing);
24016
- array(label).forEach(labelNode => {
24017
- tagFadeIn(labelNode, delay, duration, easing);
24018
- });
24019
+ tagFadeIn(label, delay, duration, easing);
24019
24020
  }
24020
24021
  function arcAreaFadeIn(area, label, duration, delay, easing) {
24021
24022
  graphicFadeIn(area, delay, duration, easing);
24022
- array(label).forEach(labelNode => {
24023
- tagFadeIn(labelNode, delay, duration, easing);
24024
- });
24023
+ tagFadeIn(label, delay, duration, easing);
24025
24024
  }
24026
24025
  function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
24027
24026
  var _a;
@@ -24037,21 +24036,15 @@ function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
24037
24036
 
24038
24037
  function commonLineFadeOut(line, label, duration, delay, easing) {
24039
24038
  segmentFadeOut(line, delay, duration, easing);
24040
- array(label).forEach(labelNode => {
24041
- tagFadeOut(labelNode, delay, duration, easing);
24042
- });
24039
+ tagFadeOut(label, delay, duration, easing);
24043
24040
  }
24044
24041
  function areaFadeOut(area, label, duration, delay, easing) {
24045
24042
  graphicFadeOut(area, delay, duration, easing);
24046
- array(label).forEach(labelNode => {
24047
- tagFadeOut(labelNode, delay, duration, easing);
24048
- });
24043
+ tagFadeOut(label, delay, duration, easing);
24049
24044
  }
24050
24045
  function arcAreaFadeOut(area, label, duration, delay, easing) {
24051
24046
  graphicFadeOut(area, delay, duration, easing);
24052
- array(label).forEach(labelNode => {
24053
- tagFadeOut(labelNode, delay, duration, easing);
24054
- });
24047
+ tagFadeOut(label, delay, duration, easing);
24055
24048
  }
24056
24049
  function pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing) {
24057
24050
  var _a;
@@ -24205,48 +24198,6 @@ const DefaultExitMarkerAnimation = {
24205
24198
  delay: 0
24206
24199
  };
24207
24200
 
24208
- class MarkLabelMixin {
24209
- getLabel() {
24210
- return this._label;
24211
- }
24212
- _addMarkLabels(container, labelName, defaultLabelAttrs) {
24213
- const { label, state } = this.attribute;
24214
- const labelStates = array(state === null || state === void 0 ? void 0 : state.label);
24215
- const labelBackgroundStates = array(state === null || state === void 0 ? void 0 : state.labelBackground);
24216
- const labelShapes = array(label).map((labelAttrs, index) => {
24217
- var _a, _b;
24218
- const finalLabelAttrs = merge({}, defaultLabelAttrs, labelAttrs);
24219
- const markLabel = new Tag(Object.assign(Object.assign({}, finalLabelAttrs), { state: {
24220
- panel: merge({}, DEFAULT_STATES$2, (_a = labelBackgroundStates[index]) !== null && _a !== void 0 ? _a : last(labelBackgroundStates)),
24221
- text: merge({}, DEFAULT_STATES$2, (_b = labelStates[index]) !== null && _b !== void 0 ? _b : last(labelStates))
24222
- } }));
24223
- markLabel.name = labelName;
24224
- container.add(markLabel);
24225
- this.setLabelPos(markLabel, finalLabelAttrs);
24226
- return markLabel;
24227
- });
24228
- this._label = array(labelShapes).length === 1 ? labelShapes[0] : labelShapes;
24229
- }
24230
- _updateMarkLabels(defaultLabelAttrs) {
24231
- const { label, state } = this.attribute;
24232
- const labelShapes = array(this._label);
24233
- const labelStates = array(state === null || state === void 0 ? void 0 : state.label);
24234
- const labelBackgroundStates = array(state === null || state === void 0 ? void 0 : state.labelBackground);
24235
- if (labelShapes.length) {
24236
- const labels = array(label);
24237
- labelShapes.forEach((labelItem, index) => {
24238
- var _a, _b;
24239
- const finalLabelAttrs = merge({}, defaultLabelAttrs, labels[index]);
24240
- labelItem.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, finalLabelAttrs), { state: {
24241
- panel: merge({}, DEFAULT_STATES$2, (_a = labelBackgroundStates[index]) !== null && _a !== void 0 ? _a : last(labelBackgroundStates)),
24242
- text: merge({}, DEFAULT_STATES$2, (_b = labelStates[index]) !== null && _b !== void 0 ? _b : last(labelStates))
24243
- } }));
24244
- this.setLabelPos(labelItem, finalLabelAttrs);
24245
- });
24246
- }
24247
- }
24248
- }
24249
-
24250
24201
  class MarkCommonLine extends Marker {
24251
24202
  constructor() {
24252
24203
  super(...arguments);
@@ -24257,17 +24208,20 @@ class MarkCommonLine extends Marker {
24257
24208
  getLine() {
24258
24209
  return this._line;
24259
24210
  }
24260
- setLabelPos(labelNode, labelAttrs) {
24261
- const { limitRect } = this.attribute;
24262
- const { position, confine, autoRotate } = labelAttrs;
24263
- const labelPoint = this.getPointAttrByPosition(position, labelAttrs);
24211
+ getLabel() {
24212
+ return this._label;
24213
+ }
24214
+ setLabelPos() {
24215
+ const { label = {}, limitRect } = this.attribute;
24216
+ const { position, confine, autoRotate } = label;
24217
+ const labelPoint = this.getPointAttrByPosition(position);
24264
24218
  const labelAngle = position.toString().toLocaleLowerCase().includes('start')
24265
24219
  ? this._line.getStartAngle() || 0
24266
24220
  : this._line.getEndAngle() || 0;
24267
- labelNode.setAttributes(Object.assign(Object.assign({}, labelPoint.position), { angle: autoRotate ? this.getRotateByAngle(labelPoint.angle, labelAttrs) : 0, textStyle: Object.assign(Object.assign({}, this.getTextStyle(position, labelAngle, autoRotate)), labelAttrs.textStyle) }));
24221
+ this._label.setAttributes(Object.assign(Object.assign({}, labelPoint.position), { angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0, textStyle: Object.assign(Object.assign({}, this.getTextStyle(position, labelAngle, autoRotate)), label.textStyle) }));
24268
24222
  if (limitRect && confine) {
24269
24223
  const { x, y, width, height } = limitRect;
24270
- limitShapeInBounds(labelNode, {
24224
+ limitShapeInBounds(this._label, {
24271
24225
  x1: x,
24272
24226
  y1: y,
24273
24227
  x2: x + width,
@@ -24276,18 +24230,32 @@ class MarkCommonLine extends Marker {
24276
24230
  }
24277
24231
  }
24278
24232
  initMarker(container) {
24233
+ const { label, state } = this.attribute;
24279
24234
  const line = this.createSegment();
24280
24235
  line.name = 'mark-common-line-line';
24281
24236
  this._line = line;
24282
24237
  container.add(line);
24283
- this.addMarkLineLabels(container);
24238
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
24239
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24240
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24241
+ } }));
24242
+ markLabel.name = 'mark-common-line-label';
24243
+ this._label = markLabel;
24244
+ container.add(markLabel);
24245
+ this.setLabelPos();
24284
24246
  }
24285
24247
  updateMarker() {
24248
+ const { label, state } = this.attribute;
24286
24249
  this.setLineAttributes();
24287
- this.updateMarkLineLabels();
24250
+ if (this._label) {
24251
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
24252
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24253
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24254
+ } }));
24255
+ this.setLabelPos();
24256
+ }
24288
24257
  }
24289
24258
  }
24290
- mixin(MarkCommonLine, MarkLabelMixin);
24291
24259
 
24292
24260
  const FUZZY_EQUAL_DELTA = 0.001;
24293
24261
  const DEFAULT_MARK_LINE_THEME = {
@@ -24476,7 +24444,6 @@ const DEFAULT_MARK_ARC_LINE_THEME = {
24476
24444
  lineWidth: 0
24477
24445
  },
24478
24446
  label: {
24479
- autoRotate: true,
24480
24447
  position: IMarkCommonArcLabelPosition.arcOuterMiddle,
24481
24448
  refX: 0,
24482
24449
  refY: 0,
@@ -24531,7 +24498,6 @@ const DEFAULT_MARK_AREA_THEME = {
24531
24498
  const DEFAULT_MARK_ARC_AREA_THEME = {
24532
24499
  interactive: true,
24533
24500
  label: {
24534
- autoRotate: true,
24535
24501
  position: IMarkCommonArcLabelPosition.arcOuterMiddle,
24536
24502
  textStyle: {
24537
24503
  fill: '#fff',
@@ -24790,9 +24756,10 @@ class MarkLine extends MarkCommonLine {
24790
24756
  super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkLine.defaultAttributes, attributes));
24791
24757
  this.name = 'markLine';
24792
24758
  }
24793
- getPointAttrByPosition(position, labelAttrs) {
24759
+ getPointAttrByPosition(position) {
24794
24760
  var _a;
24795
- const { refX = 0, refY = 0 } = labelAttrs;
24761
+ const { label = {} } = this.attribute;
24762
+ const { refX = 0, refY = 0 } = label;
24796
24763
  const points = this._line.getMainSegmentPoints();
24797
24764
  const lineEndAngle = (_a = this._line.getEndAngle()) !== null && _a !== void 0 ? _a : 0;
24798
24765
  const labelAngle = isPostiveXAxis(lineEndAngle) ? lineEndAngle : lineEndAngle;
@@ -24824,10 +24791,10 @@ class MarkLine extends MarkCommonLine {
24824
24791
  angle: labelAngle
24825
24792
  };
24826
24793
  }
24827
- getRotateByAngle(angle, labelAttrs) {
24794
+ getRotateByAngle(angle) {
24828
24795
  var _a;
24829
24796
  const itemAngle = isPostiveXAxis(angle) ? angle : angle - Math.PI;
24830
- return itemAngle + ((_a = labelAttrs.refAngle) !== null && _a !== void 0 ? _a : 0);
24797
+ return itemAngle + ((_a = this.attribute.label.refAngle) !== null && _a !== void 0 ? _a : 0);
24831
24798
  }
24832
24799
  getTextStyle(position, labelAngle, autoRotate) {
24833
24800
  if (fuzzyEqualNumber(Math.abs(labelAngle), Math.PI / 2, FUZZY_EQUAL_DELTA) ||
@@ -24898,12 +24865,6 @@ class MarkLine extends MarkCommonLine {
24898
24865
  });
24899
24866
  return validFlag;
24900
24867
  }
24901
- addMarkLineLabels(container) {
24902
- this._addMarkLabels(container, 'mark-common-line-label', MarkLine.defaultAttributes.label);
24903
- }
24904
- updateMarkLineLabels() {
24905
- this._updateMarkLabels(MarkLine.defaultAttributes.label);
24906
- }
24907
24868
  }
24908
24869
  MarkLine.defaultAttributes = DEFAULT_MARK_LINE_THEME;
24909
24870
 
@@ -24920,6 +24881,9 @@ class MarkArea extends Marker {
24920
24881
  getArea() {
24921
24882
  return this._area;
24922
24883
  }
24884
+ getLabel() {
24885
+ return this._label;
24886
+ }
24923
24887
  constructor(attributes, options) {
24924
24888
  super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArea.defaultAttributes, attributes));
24925
24889
  this.name = 'markArea';
@@ -24946,15 +24910,16 @@ class MarkArea extends Marker {
24946
24910
  }
24947
24911
  return result;
24948
24912
  }
24949
- setLabelPos(labelNode, labelAttrs) {
24913
+ setLabelPos() {
24950
24914
  var _a;
24951
- if (this._area) {
24952
- const labelPosition = (_a = labelAttrs.position) !== null && _a !== void 0 ? _a : 'middle';
24915
+ if (this._label && this._area) {
24916
+ const { label = {} } = this.attribute;
24917
+ const labelPosition = (_a = label.position) !== null && _a !== void 0 ? _a : 'middle';
24953
24918
  const labelPoint = this.getPointAttrByPosition(labelPosition);
24954
- labelNode.setAttributes(Object.assign(Object.assign({}, labelPoint), { textStyle: Object.assign(Object.assign({}, DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), labelAttrs.textStyle) }));
24955
- if (this.attribute.limitRect && labelAttrs.confine) {
24919
+ this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), { textStyle: Object.assign(Object.assign({}, DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), label.textStyle) }));
24920
+ if (this.attribute.limitRect && label.confine) {
24956
24921
  const { x, y, width, height } = this.attribute.limitRect;
24957
- limitShapeInBounds(labelNode, {
24922
+ limitShapeInBounds(this._label, {
24958
24923
  x1: x,
24959
24924
  y1: y,
24960
24925
  x2: x + width,
@@ -24964,21 +24929,34 @@ class MarkArea extends Marker {
24964
24929
  }
24965
24930
  }
24966
24931
  initMarker(container) {
24967
- const { points, areaStyle, state } = this.attribute;
24932
+ const { points, label, areaStyle, state } = this.attribute;
24968
24933
  const area = graphicCreator.polygon(Object.assign({ points: points }, areaStyle));
24969
24934
  area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
24970
24935
  area.name = 'mark-area-polygon';
24971
24936
  this._area = area;
24972
24937
  container.add(area);
24973
- this._addMarkLabels(container, 'mark-area-label', MarkArea.defaultAttributes.label);
24938
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
24939
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24940
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24941
+ } }));
24942
+ markLabel.name = 'mark-area-label';
24943
+ this._label = markLabel;
24944
+ container.add(markLabel);
24945
+ this.setLabelPos();
24974
24946
  }
24975
24947
  updateMarker() {
24976
- const { points, areaStyle, state } = this.attribute;
24948
+ const { points, label, areaStyle, state } = this.attribute;
24977
24949
  if (this._area) {
24978
24950
  this._area.setAttributes(Object.assign({ points: points }, areaStyle));
24979
24951
  this._area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
24980
24952
  }
24981
- this._updateMarkLabels(MarkArea.defaultAttributes.label);
24953
+ if (this._label) {
24954
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
24955
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24956
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24957
+ } }));
24958
+ }
24959
+ this.setLabelPos();
24982
24960
  }
24983
24961
  isValidPoints() {
24984
24962
  const { points } = this.attribute;
@@ -24996,7 +24974,6 @@ class MarkArea extends Marker {
24996
24974
  }
24997
24975
  }
24998
24976
  MarkArea.defaultAttributes = DEFAULT_MARK_AREA_THEME;
24999
- mixin(MarkArea, MarkLabelMixin);
25000
24977
 
25001
24978
  loadMarkArcLineComponent();
25002
24979
  function registerMarkArcLineAnimate() {
@@ -25009,12 +24986,14 @@ class MarkArcLine extends MarkCommonLine {
25009
24986
  }
25010
24987
  }
25011
24988
  constructor(attributes, options) {
25012
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes));
24989
+ super((options === null || options === void 0 ? void 0 : options.skipDefault)
24990
+ ? attributes
24991
+ : merge({}, MarkArcLine.defaultAttributes, attributes, { label: { autoRotate: true } }));
25013
24992
  this.name = 'markArcLine';
25014
24993
  }
25015
- getPointAttrByPosition(direction, labelAttrs) {
25016
- const { center, radius, startAngle, endAngle } = this.attribute;
25017
- const { refX = 0, refY = 0 } = labelAttrs;
24994
+ getPointAttrByPosition(direction) {
24995
+ const { center, radius, startAngle, endAngle, label } = this.attribute;
24996
+ const { refX = 0, refY = 0 } = label;
25018
24997
  let angle;
25019
24998
  switch (direction) {
25020
24999
  case IMarkCommonArcLabelPosition.arcInnerStart:
@@ -25046,9 +25025,9 @@ class MarkArcLine extends MarkCommonLine {
25046
25025
  getTextStyle(position) {
25047
25026
  return DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[position];
25048
25027
  }
25049
- getRotateByAngle(angle, labelAttrs) {
25028
+ getRotateByAngle(angle) {
25050
25029
  var _a;
25051
- return angle - Math.PI / 2 + ((_a = labelAttrs.refAngle) !== null && _a !== void 0 ? _a : 0);
25030
+ return angle - Math.PI / 2 + ((_a = this.attribute.label.refAngle) !== null && _a !== void 0 ? _a : 0);
25052
25031
  }
25053
25032
  createSegment() {
25054
25033
  const { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle, state } = this
@@ -25091,12 +25070,6 @@ class MarkArcLine extends MarkCommonLine {
25091
25070
  isValidPoints() {
25092
25071
  return true;
25093
25072
  }
25094
- addMarkLineLabels(container) {
25095
- this._addMarkLabels(container, 'mark-common-line-label', MarkArcLine.defaultAttributes.label);
25096
- }
25097
- updateMarkLineLabels() {
25098
- this._updateMarkLabels(MarkArcLine.defaultAttributes.label);
25099
- }
25100
25073
  }
25101
25074
  MarkArcLine.defaultAttributes = DEFAULT_MARK_ARC_LINE_THEME;
25102
25075
 
@@ -25113,15 +25086,20 @@ class MarkArcArea extends Marker {
25113
25086
  getArea() {
25114
25087
  return this._area;
25115
25088
  }
25089
+ getLabel() {
25090
+ return this._label;
25091
+ }
25116
25092
  constructor(attributes, options) {
25117
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes));
25093
+ super((options === null || options === void 0 ? void 0 : options.skipDefault)
25094
+ ? attributes
25095
+ : merge({}, MarkArcArea.defaultAttributes, attributes, { label: { autoRotate: true } }));
25118
25096
  this.name = 'markArcArea';
25119
25097
  this.defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;
25120
25098
  this.defaultExitAnimation = DefaultExitMarkerAnimation;
25121
25099
  }
25122
- getPointAttrByPosition(position, labelAttrs) {
25123
- const { center, innerRadius, outerRadius, startAngle, endAngle } = this.attribute;
25124
- const { refX = 0, refY = 0 } = labelAttrs;
25100
+ getPointAttrByPosition(position) {
25101
+ const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute;
25102
+ const { refX = 0, refY = 0 } = label;
25125
25103
  let radius;
25126
25104
  let angle;
25127
25105
  switch (position) {
@@ -25165,15 +25143,16 @@ class MarkArcArea extends Marker {
25165
25143
  angle
25166
25144
  };
25167
25145
  }
25168
- setLabelPos(labelNode, labelAttrs) {
25146
+ setLabelPos() {
25169
25147
  var _a;
25170
- if (this._area) {
25171
- const { position: labelPosition = 'arcInnerMiddle', autoRotate } = labelAttrs;
25172
- const labelAttr = this.getPointAttrByPosition(labelPosition, labelAttrs);
25173
- labelNode.setAttributes(Object.assign(Object.assign({}, labelAttr.position), { angle: autoRotate ? labelAttr.angle - Math.PI / 2 + ((_a = labelAttrs.refAngle) !== null && _a !== void 0 ? _a : 0) : 0, textStyle: Object.assign(Object.assign({}, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition]), labelAttrs.textStyle) }));
25174
- if (this.attribute.limitRect && labelAttrs.confine) {
25148
+ if (this._label && this._area) {
25149
+ const { label = {} } = this.attribute;
25150
+ const { position: labelPosition = 'arcInnerMiddle', autoRotate } = label;
25151
+ const labelAttr = this.getPointAttrByPosition(labelPosition);
25152
+ this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), { angle: autoRotate ? labelAttr.angle - Math.PI / 2 + ((_a = label.refAngle) !== null && _a !== void 0 ? _a : 0) : 0, textStyle: Object.assign(Object.assign({}, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition]), label.textStyle) }));
25153
+ if (this.attribute.limitRect && label.confine) {
25175
25154
  const { x, y, width, height } = this.attribute.limitRect;
25176
- limitShapeInBounds(labelNode, {
25155
+ limitShapeInBounds(this._label, {
25177
25156
  x1: x,
25178
25157
  y1: y,
25179
25158
  x2: x + width,
@@ -25183,7 +25162,7 @@ class MarkArcArea extends Marker {
25183
25162
  }
25184
25163
  }
25185
25164
  initMarker(container) {
25186
- const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, state } = this
25165
+ const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this
25187
25166
  .attribute;
25188
25167
  const area = graphicCreator.arc(Object.assign({ x: center.x, y: center.y, innerRadius,
25189
25168
  outerRadius,
@@ -25193,7 +25172,14 @@ class MarkArcArea extends Marker {
25193
25172
  area.name = 'polar-mark-area-area';
25194
25173
  this._area = area;
25195
25174
  container.add(area);
25196
- this._addMarkLabels(container, 'mark-area-label', MarkArcArea.defaultAttributes.label);
25175
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
25176
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
25177
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
25178
+ } }));
25179
+ markLabel.name = 'mark-area-label';
25180
+ this._label = markLabel;
25181
+ container.add(markLabel);
25182
+ this.setLabelPos();
25197
25183
  }
25198
25184
  updateMarker() {
25199
25185
  const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this
@@ -25205,14 +25191,19 @@ class MarkArcArea extends Marker {
25205
25191
  endAngle }, areaStyle));
25206
25192
  this._area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
25207
25193
  }
25208
- this._updateMarkLabels(MarkArcArea.defaultAttributes.label);
25194
+ if (this._label) {
25195
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
25196
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
25197
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
25198
+ } }));
25199
+ this.setLabelPos();
25200
+ }
25209
25201
  }
25210
25202
  isValidPoints() {
25211
25203
  return true;
25212
25204
  }
25213
25205
  }
25214
25206
  MarkArcArea.defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;
25215
- mixin(MarkArcArea, MarkLabelMixin);
25216
25207
 
25217
25208
  loadMarkPointComponent();
25218
25209
  function registerMarkPointAnimate() {
@@ -27234,23 +27225,17 @@ class Slider extends AbstractComponent {
27234
27225
  };
27235
27226
  this._onHandlerPointerdown = (e) => {
27236
27227
  e.stopPropagation();
27228
+ this._clearAllDragEvents();
27237
27229
  this._isChanging = true;
27238
27230
  const { x, y } = this.stage.eventPointTransform(e);
27239
27231
  this._currentHandler = e.target;
27240
27232
  this._prePos = this._isHorizontal ? x : y;
27241
- if (vglobal.env === 'browser') {
27242
- vglobal.addEventListener('pointermove', this._onHandlerPointerMove, {
27243
- capture: true
27244
- });
27245
- vglobal.addEventListener('pointerup', this._onHandlerPointerUp);
27246
- }
27247
- else {
27248
- this.stage.addEventListener('pointermove', this._onHandlerPointerMove, {
27249
- capture: true
27250
- });
27251
- this.stage.addEventListener('pointerup', this._onHandlerPointerUp);
27252
- this.stage.addEventListener('pointerupoutside', this._onHandlerPointerUp);
27253
- }
27233
+ const triggers = getEndTriggersOfDrag();
27234
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27235
+ obj.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
27236
+ triggers.forEach((trigger) => {
27237
+ obj.addEventListener(trigger, this._onHandlerPointerUp);
27238
+ });
27254
27239
  };
27255
27240
  this._onHandlerPointerMove = (e) => {
27256
27241
  var _a, _b;
@@ -27293,38 +27278,20 @@ class Slider extends AbstractComponent {
27293
27278
  e.preventDefault();
27294
27279
  this._isChanging = false;
27295
27280
  this._currentHandler = null;
27296
- if (vglobal.env === 'browser') {
27297
- vglobal.removeEventListener('pointermove', this._onHandlerPointerMove, {
27298
- capture: true
27299
- });
27300
- vglobal.removeEventListener('pointerup', this._onHandlerPointerUp);
27301
- }
27302
- else {
27303
- this.stage.removeEventListener('pointermove', this._onHandlerPointerMove, {
27304
- capture: true
27305
- });
27306
- this.stage.removeEventListener('pointerup', this._onHandlerPointerUp);
27307
- this.stage.removeEventListener('pointerupoutside', this._onHandlerPointerUp);
27308
- }
27281
+ this._clearAllDragEvents();
27309
27282
  };
27310
27283
  this._onTrackPointerdown = (e) => {
27311
27284
  e.stopPropagation();
27285
+ this._clearAllDragEvents();
27312
27286
  this._isChanging = true;
27313
27287
  const { x, y } = this.stage.eventPointTransform(e);
27314
27288
  this._prePos = this._isHorizontal ? x : y;
27315
- if (vglobal.env === 'browser') {
27316
- vglobal.addEventListener('pointermove', this._onTrackPointerMove, {
27317
- capture: true
27318
- });
27319
- vglobal.addEventListener('pointerup', this._onTrackPointerUp);
27320
- }
27321
- else {
27322
- this.stage.addEventListener('pointermove', this._onTrackPointerMove, {
27323
- capture: true
27324
- });
27325
- this.stage.addEventListener('pointerup', this._onTrackPointerUp);
27326
- this.stage.addEventListener('pointerupoutside', this._onTrackPointerUp);
27327
- }
27289
+ const triggers = getEndTriggersOfDrag();
27290
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27291
+ obj.addEventListener('pointermove', this._onTrackPointerMove, { capture: true });
27292
+ triggers.forEach((trigger) => {
27293
+ obj.addEventListener(trigger, this._onTrackPointerUp);
27294
+ });
27328
27295
  };
27329
27296
  this._onTrackPointerMove = (e) => {
27330
27297
  e.stopPropagation();
@@ -27381,22 +27348,11 @@ class Slider extends AbstractComponent {
27381
27348
  this._onTrackPointerUp = (e) => {
27382
27349
  e.preventDefault();
27383
27350
  this._isChanging = false;
27384
- if (vglobal.env === 'browser') {
27385
- vglobal.removeEventListener('pointermove', this._onTrackPointerMove, {
27386
- capture: true
27387
- });
27388
- vglobal.removeEventListener('pointerup', this._onTrackPointerUp);
27389
- }
27390
- else {
27391
- this.stage.removeEventListener('pointermove', this._onTrackPointerMove, {
27392
- capture: true
27393
- });
27394
- this.stage.removeEventListener('pointerup', this._onTrackPointerUp);
27395
- this.stage.removeEventListener('pointerupoutside', this._onTrackPointerUp);
27396
- }
27351
+ this._clearAllDragEvents();
27397
27352
  };
27398
27353
  this._onRailPointerDown = (e) => {
27399
27354
  e.stopPropagation();
27355
+ this._clearAllDragEvents();
27400
27356
  this._isChanging = true;
27401
27357
  const { railWidth, railHeight, min, max } = this.attribute;
27402
27358
  if (max === min) {
@@ -27784,6 +27740,18 @@ class Slider extends AbstractComponent {
27784
27740
  this._mainContainer.addEventListener('pointermove', this._onTooltipUpdate);
27785
27741
  this._mainContainer.addEventListener('pointerleave', this._onTooltipHide);
27786
27742
  }
27743
+ _clearAllDragEvents() {
27744
+ const triggers = getEndTriggersOfDrag();
27745
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27746
+ obj.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
27747
+ triggers.forEach((trigger) => {
27748
+ obj.removeEventListener(trigger, this._onHandlerPointerUp);
27749
+ });
27750
+ obj.removeEventListener('pointermove', this._onTrackPointerMove, { capture: true });
27751
+ triggers.forEach((trigger) => {
27752
+ obj.removeEventListener(trigger, this._onTrackPointerUp);
27753
+ });
27754
+ }
27787
27755
  _updateTrack() {
27788
27756
  const { inverse, railWidth, railHeight } = this.attribute;
27789
27757
  const startHandler = this._startHandler;
@@ -31517,6 +31485,6 @@ StoryLabelItem.defaultAttributes = {
31517
31485
  theme: 'default'
31518
31486
  };
31519
31487
 
31520
- const version = "0.22.7-alpha.2";
31488
+ const version = "0.22.7-alpha.4";
31521
31489
 
31522
31490
  export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PolygonSectorCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SizeContinuousLegend, Slider, StoryLabelItem, Switch, SymbolLabel, Tag, Timeline, Title, Tooltip, TopZIndex, VTag, WeatherBox, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getAxisBreakSymbolAttrs, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, hasOverlap, htmlAttributeTransform, initTextMeasure, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, loadScrollbar, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, scrollbarModule, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, textIntersect, ticks, traverseGroup, version };