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

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 (98) hide show
  1. package/cjs/index.d.ts +1 -1
  2. package/cjs/index.js +1 -1
  3. package/cjs/index.js.map +1 -1
  4. package/cjs/marker/animate/animate.d.ts +3 -3
  5. package/cjs/marker/animate/animate.js.map +1 -1
  6. package/cjs/marker/animate/clip-in.d.ts +1 -1
  7. package/cjs/marker/animate/clip-in.js +3 -6
  8. package/cjs/marker/animate/clip-in.js.map +1 -1
  9. package/cjs/marker/animate/fade-in.d.ts +3 -3
  10. package/cjs/marker/animate/fade-in.js +4 -10
  11. package/cjs/marker/animate/fade-in.js.map +1 -1
  12. package/cjs/marker/animate/fade-out.d.ts +3 -3
  13. package/cjs/marker/animate/fade-out.js +4 -10
  14. package/cjs/marker/animate/fade-out.js.map +1 -1
  15. package/cjs/marker/arc-area.d.ts +5 -8
  16. package/cjs/marker/arc-area.js +39 -18
  17. package/cjs/marker/arc-area.js.map +1 -1
  18. package/cjs/marker/arc-line.d.ts +4 -6
  19. package/cjs/marker/arc-line.js +9 -12
  20. package/cjs/marker/arc-line.js.map +1 -1
  21. package/cjs/marker/area.d.ts +4 -6
  22. package/cjs/marker/area.js +32 -14
  23. package/cjs/marker/area.js.map +1 -1
  24. package/cjs/marker/base.d.ts +3 -2
  25. package/cjs/marker/base.js.map +1 -1
  26. package/cjs/marker/common-line.d.ts +7 -11
  27. package/cjs/marker/common-line.js +31 -11
  28. package/cjs/marker/common-line.js.map +1 -1
  29. package/cjs/marker/config.d.ts +0 -2
  30. package/cjs/marker/config.js +0 -2
  31. package/cjs/marker/config.js.map +1 -1
  32. package/cjs/marker/line.d.ts +4 -6
  33. package/cjs/marker/line.js +4 -10
  34. package/cjs/marker/line.js.map +1 -1
  35. package/cjs/marker/type.d.ts +16 -19
  36. package/cjs/marker/type.js.map +1 -1
  37. package/cjs/scrollbar/scrollbar.d.ts +1 -0
  38. package/cjs/scrollbar/scrollbar.js +17 -10
  39. package/cjs/scrollbar/scrollbar.js.map +1 -1
  40. package/cjs/slider/slider.d.ts +1 -0
  41. package/cjs/slider/slider.js +30 -22
  42. package/cjs/slider/slider.js.map +1 -1
  43. package/cjs/util/event.d.ts +1 -0
  44. package/cjs/util/event.js +14 -0
  45. package/cjs/util/event.js.map +1 -0
  46. package/dist/index.es.js +160 -195
  47. package/es/index.d.ts +1 -1
  48. package/es/index.js +1 -1
  49. package/es/index.js.map +1 -1
  50. package/es/marker/animate/animate.d.ts +3 -3
  51. package/es/marker/animate/animate.js.map +1 -1
  52. package/es/marker/animate/clip-in.d.ts +1 -1
  53. package/es/marker/animate/clip-in.js +2 -6
  54. package/es/marker/animate/clip-in.js.map +1 -1
  55. package/es/marker/animate/fade-in.d.ts +3 -3
  56. package/es/marker/animate/fade-in.js +3 -11
  57. package/es/marker/animate/fade-in.js.map +1 -1
  58. package/es/marker/animate/fade-out.d.ts +3 -3
  59. package/es/marker/animate/fade-out.js +3 -11
  60. package/es/marker/animate/fade-out.js.map +1 -1
  61. package/es/marker/arc-area.d.ts +5 -8
  62. package/es/marker/arc-area.js +41 -19
  63. package/es/marker/arc-area.js.map +1 -1
  64. package/es/marker/arc-line.d.ts +4 -6
  65. package/es/marker/arc-line.js +9 -12
  66. package/es/marker/arc-line.js.map +1 -1
  67. package/es/marker/area.d.ts +4 -6
  68. package/es/marker/area.js +34 -15
  69. package/es/marker/area.js.map +1 -1
  70. package/es/marker/base.d.ts +3 -2
  71. package/es/marker/base.js.map +1 -1
  72. package/es/marker/common-line.d.ts +7 -11
  73. package/es/marker/common-line.js +34 -14
  74. package/es/marker/common-line.js.map +1 -1
  75. package/es/marker/config.d.ts +0 -2
  76. package/es/marker/config.js +0 -2
  77. package/es/marker/config.js.map +1 -1
  78. package/es/marker/line.d.ts +4 -6
  79. package/es/marker/line.js +4 -10
  80. package/es/marker/line.js.map +1 -1
  81. package/es/marker/type.d.ts +16 -19
  82. package/es/marker/type.js.map +1 -1
  83. package/es/scrollbar/scrollbar.d.ts +1 -0
  84. package/es/scrollbar/scrollbar.js +18 -9
  85. package/es/scrollbar/scrollbar.js.map +1 -1
  86. package/es/slider/slider.d.ts +1 -0
  87. package/es/slider/slider.js +31 -21
  88. package/es/slider/slider.js.map +1 -1
  89. package/es/util/event.d.ts +1 -0
  90. package/es/util/event.js +6 -0
  91. package/es/util/event.js.map +1 -0
  92. package/package.json +4 -4
  93. package/cjs/marker/mixin/label.d.ts +0 -16
  94. package/cjs/marker/mixin/label.js +0 -57
  95. package/cjs/marker/mixin/label.js.map +0 -1
  96. package/es/marker/mixin/label.d.ts +0 -16
  97. package/es/marker/mixin/label.js +0 -45
  98. 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'];
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;
@@ -23998,30 +24003,21 @@ function commonLineClipIn(line, label, duration, delay, easing) {
23998
24003
  .to({ clipRange: 1 }, stepDuration, easing);
23999
24004
  });
24000
24005
  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
- });
24006
+ graphicFadeIn(label.getTextShape(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing);
24007
+ graphicFadeIn(label.getBgRect(), delay + startSymbolDuration + lineDuration + endSymbolDuration, labelDuration, easing);
24006
24008
  }
24007
24009
 
24008
24010
  function commonLineFadeIn(line, label, duration, delay, easing) {
24009
24011
  segmentFadeIn(line, delay, duration, easing);
24010
- array(label).forEach(labelNode => {
24011
- tagFadeIn(labelNode, delay, duration, easing);
24012
- });
24012
+ tagFadeIn(label, delay, duration, easing);
24013
24013
  }
24014
24014
  function areaFadeIn(area, label, duration, delay, easing) {
24015
24015
  graphicFadeIn(area, delay, duration, easing);
24016
- array(label).forEach(labelNode => {
24017
- tagFadeIn(labelNode, delay, duration, easing);
24018
- });
24016
+ tagFadeIn(label, delay, duration, easing);
24019
24017
  }
24020
24018
  function arcAreaFadeIn(area, label, duration, delay, easing) {
24021
24019
  graphicFadeIn(area, delay, duration, easing);
24022
- array(label).forEach(labelNode => {
24023
- tagFadeIn(labelNode, delay, duration, easing);
24024
- });
24020
+ tagFadeIn(label, delay, duration, easing);
24025
24021
  }
24026
24022
  function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
24027
24023
  var _a;
@@ -24037,21 +24033,15 @@ function pointFadeIn(itemLine, decorativeLine, item, duration, delay, easing) {
24037
24033
 
24038
24034
  function commonLineFadeOut(line, label, duration, delay, easing) {
24039
24035
  segmentFadeOut(line, delay, duration, easing);
24040
- array(label).forEach(labelNode => {
24041
- tagFadeOut(labelNode, delay, duration, easing);
24042
- });
24036
+ tagFadeOut(label, delay, duration, easing);
24043
24037
  }
24044
24038
  function areaFadeOut(area, label, duration, delay, easing) {
24045
24039
  graphicFadeOut(area, delay, duration, easing);
24046
- array(label).forEach(labelNode => {
24047
- tagFadeOut(labelNode, delay, duration, easing);
24048
- });
24040
+ tagFadeOut(label, delay, duration, easing);
24049
24041
  }
24050
24042
  function arcAreaFadeOut(area, label, duration, delay, easing) {
24051
24043
  graphicFadeOut(area, delay, duration, easing);
24052
- array(label).forEach(labelNode => {
24053
- tagFadeOut(labelNode, delay, duration, easing);
24054
- });
24044
+ tagFadeOut(label, delay, duration, easing);
24055
24045
  }
24056
24046
  function pointFadeOut(itemLine, decorativeLine, item, duration, delay, easing) {
24057
24047
  var _a;
@@ -24205,48 +24195,6 @@ const DefaultExitMarkerAnimation = {
24205
24195
  delay: 0
24206
24196
  };
24207
24197
 
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
24198
  class MarkCommonLine extends Marker {
24251
24199
  constructor() {
24252
24200
  super(...arguments);
@@ -24257,17 +24205,20 @@ class MarkCommonLine extends Marker {
24257
24205
  getLine() {
24258
24206
  return this._line;
24259
24207
  }
24260
- setLabelPos(labelNode, labelAttrs) {
24261
- const { limitRect } = this.attribute;
24262
- const { position, confine, autoRotate } = labelAttrs;
24263
- const labelPoint = this.getPointAttrByPosition(position, labelAttrs);
24208
+ getLabel() {
24209
+ return this._label;
24210
+ }
24211
+ setLabelPos() {
24212
+ const { label = {}, limitRect } = this.attribute;
24213
+ const { position, confine, autoRotate } = label;
24214
+ const labelPoint = this.getPointAttrByPosition(position);
24264
24215
  const labelAngle = position.toString().toLocaleLowerCase().includes('start')
24265
24216
  ? this._line.getStartAngle() || 0
24266
24217
  : 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) }));
24218
+ 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
24219
  if (limitRect && confine) {
24269
24220
  const { x, y, width, height } = limitRect;
24270
- limitShapeInBounds(labelNode, {
24221
+ limitShapeInBounds(this._label, {
24271
24222
  x1: x,
24272
24223
  y1: y,
24273
24224
  x2: x + width,
@@ -24276,18 +24227,32 @@ class MarkCommonLine extends Marker {
24276
24227
  }
24277
24228
  }
24278
24229
  initMarker(container) {
24230
+ const { label, state } = this.attribute;
24279
24231
  const line = this.createSegment();
24280
24232
  line.name = 'mark-common-line-line';
24281
24233
  this._line = line;
24282
24234
  container.add(line);
24283
- this.addMarkLineLabels(container);
24235
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
24236
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24237
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24238
+ } }));
24239
+ markLabel.name = 'mark-common-line-label';
24240
+ this._label = markLabel;
24241
+ container.add(markLabel);
24242
+ this.setLabelPos();
24284
24243
  }
24285
24244
  updateMarker() {
24245
+ const { label, state } = this.attribute;
24286
24246
  this.setLineAttributes();
24287
- this.updateMarkLineLabels();
24247
+ if (this._label) {
24248
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
24249
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24250
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24251
+ } }));
24252
+ this.setLabelPos();
24253
+ }
24288
24254
  }
24289
24255
  }
24290
- mixin(MarkCommonLine, MarkLabelMixin);
24291
24256
 
24292
24257
  const FUZZY_EQUAL_DELTA = 0.001;
24293
24258
  const DEFAULT_MARK_LINE_THEME = {
@@ -24476,7 +24441,6 @@ const DEFAULT_MARK_ARC_LINE_THEME = {
24476
24441
  lineWidth: 0
24477
24442
  },
24478
24443
  label: {
24479
- autoRotate: true,
24480
24444
  position: IMarkCommonArcLabelPosition.arcOuterMiddle,
24481
24445
  refX: 0,
24482
24446
  refY: 0,
@@ -24531,7 +24495,6 @@ const DEFAULT_MARK_AREA_THEME = {
24531
24495
  const DEFAULT_MARK_ARC_AREA_THEME = {
24532
24496
  interactive: true,
24533
24497
  label: {
24534
- autoRotate: true,
24535
24498
  position: IMarkCommonArcLabelPosition.arcOuterMiddle,
24536
24499
  textStyle: {
24537
24500
  fill: '#fff',
@@ -24790,9 +24753,10 @@ class MarkLine extends MarkCommonLine {
24790
24753
  super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkLine.defaultAttributes, attributes));
24791
24754
  this.name = 'markLine';
24792
24755
  }
24793
- getPointAttrByPosition(position, labelAttrs) {
24756
+ getPointAttrByPosition(position) {
24794
24757
  var _a;
24795
- const { refX = 0, refY = 0 } = labelAttrs;
24758
+ const { label = {} } = this.attribute;
24759
+ const { refX = 0, refY = 0 } = label;
24796
24760
  const points = this._line.getMainSegmentPoints();
24797
24761
  const lineEndAngle = (_a = this._line.getEndAngle()) !== null && _a !== void 0 ? _a : 0;
24798
24762
  const labelAngle = isPostiveXAxis(lineEndAngle) ? lineEndAngle : lineEndAngle;
@@ -24824,10 +24788,10 @@ class MarkLine extends MarkCommonLine {
24824
24788
  angle: labelAngle
24825
24789
  };
24826
24790
  }
24827
- getRotateByAngle(angle, labelAttrs) {
24791
+ getRotateByAngle(angle) {
24828
24792
  var _a;
24829
24793
  const itemAngle = isPostiveXAxis(angle) ? angle : angle - Math.PI;
24830
- return itemAngle + ((_a = labelAttrs.refAngle) !== null && _a !== void 0 ? _a : 0);
24794
+ return itemAngle + ((_a = this.attribute.label.refAngle) !== null && _a !== void 0 ? _a : 0);
24831
24795
  }
24832
24796
  getTextStyle(position, labelAngle, autoRotate) {
24833
24797
  if (fuzzyEqualNumber(Math.abs(labelAngle), Math.PI / 2, FUZZY_EQUAL_DELTA) ||
@@ -24898,12 +24862,6 @@ class MarkLine extends MarkCommonLine {
24898
24862
  });
24899
24863
  return validFlag;
24900
24864
  }
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
24865
  }
24908
24866
  MarkLine.defaultAttributes = DEFAULT_MARK_LINE_THEME;
24909
24867
 
@@ -24920,6 +24878,9 @@ class MarkArea extends Marker {
24920
24878
  getArea() {
24921
24879
  return this._area;
24922
24880
  }
24881
+ getLabel() {
24882
+ return this._label;
24883
+ }
24923
24884
  constructor(attributes, options) {
24924
24885
  super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArea.defaultAttributes, attributes));
24925
24886
  this.name = 'markArea';
@@ -24946,15 +24907,16 @@ class MarkArea extends Marker {
24946
24907
  }
24947
24908
  return result;
24948
24909
  }
24949
- setLabelPos(labelNode, labelAttrs) {
24910
+ setLabelPos() {
24950
24911
  var _a;
24951
- if (this._area) {
24952
- const labelPosition = (_a = labelAttrs.position) !== null && _a !== void 0 ? _a : 'middle';
24912
+ if (this._label && this._area) {
24913
+ const { label = {} } = this.attribute;
24914
+ const labelPosition = (_a = label.position) !== null && _a !== void 0 ? _a : 'middle';
24953
24915
  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) {
24916
+ this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), { textStyle: Object.assign(Object.assign({}, DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), label.textStyle) }));
24917
+ if (this.attribute.limitRect && label.confine) {
24956
24918
  const { x, y, width, height } = this.attribute.limitRect;
24957
- limitShapeInBounds(labelNode, {
24919
+ limitShapeInBounds(this._label, {
24958
24920
  x1: x,
24959
24921
  y1: y,
24960
24922
  x2: x + width,
@@ -24964,21 +24926,34 @@ class MarkArea extends Marker {
24964
24926
  }
24965
24927
  }
24966
24928
  initMarker(container) {
24967
- const { points, areaStyle, state } = this.attribute;
24929
+ const { points, label, areaStyle, state } = this.attribute;
24968
24930
  const area = graphicCreator.polygon(Object.assign({ points: points }, areaStyle));
24969
24931
  area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
24970
24932
  area.name = 'mark-area-polygon';
24971
24933
  this._area = area;
24972
24934
  container.add(area);
24973
- this._addMarkLabels(container, 'mark-area-label', MarkArea.defaultAttributes.label);
24935
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
24936
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24937
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24938
+ } }));
24939
+ markLabel.name = 'mark-area-label';
24940
+ this._label = markLabel;
24941
+ container.add(markLabel);
24942
+ this.setLabelPos();
24974
24943
  }
24975
24944
  updateMarker() {
24976
- const { points, areaStyle, state } = this.attribute;
24945
+ const { points, label, areaStyle, state } = this.attribute;
24977
24946
  if (this._area) {
24978
24947
  this._area.setAttributes(Object.assign({ points: points }, areaStyle));
24979
24948
  this._area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
24980
24949
  }
24981
- this._updateMarkLabels(MarkArea.defaultAttributes.label);
24950
+ if (this._label) {
24951
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
24952
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
24953
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
24954
+ } }));
24955
+ }
24956
+ this.setLabelPos();
24982
24957
  }
24983
24958
  isValidPoints() {
24984
24959
  const { points } = this.attribute;
@@ -24996,7 +24971,6 @@ class MarkArea extends Marker {
24996
24971
  }
24997
24972
  }
24998
24973
  MarkArea.defaultAttributes = DEFAULT_MARK_AREA_THEME;
24999
- mixin(MarkArea, MarkLabelMixin);
25000
24974
 
25001
24975
  loadMarkArcLineComponent();
25002
24976
  function registerMarkArcLineAnimate() {
@@ -25009,12 +24983,14 @@ class MarkArcLine extends MarkCommonLine {
25009
24983
  }
25010
24984
  }
25011
24985
  constructor(attributes, options) {
25012
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes));
24986
+ super((options === null || options === void 0 ? void 0 : options.skipDefault)
24987
+ ? attributes
24988
+ : merge({}, MarkArcLine.defaultAttributes, attributes, { label: { autoRotate: true } }));
25013
24989
  this.name = 'markArcLine';
25014
24990
  }
25015
- getPointAttrByPosition(direction, labelAttrs) {
25016
- const { center, radius, startAngle, endAngle } = this.attribute;
25017
- const { refX = 0, refY = 0 } = labelAttrs;
24991
+ getPointAttrByPosition(direction) {
24992
+ const { center, radius, startAngle, endAngle, label } = this.attribute;
24993
+ const { refX = 0, refY = 0 } = label;
25018
24994
  let angle;
25019
24995
  switch (direction) {
25020
24996
  case IMarkCommonArcLabelPosition.arcInnerStart:
@@ -25046,9 +25022,9 @@ class MarkArcLine extends MarkCommonLine {
25046
25022
  getTextStyle(position) {
25047
25023
  return DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[position];
25048
25024
  }
25049
- getRotateByAngle(angle, labelAttrs) {
25025
+ getRotateByAngle(angle) {
25050
25026
  var _a;
25051
- return angle - Math.PI / 2 + ((_a = labelAttrs.refAngle) !== null && _a !== void 0 ? _a : 0);
25027
+ return angle - Math.PI / 2 + ((_a = this.attribute.label.refAngle) !== null && _a !== void 0 ? _a : 0);
25052
25028
  }
25053
25029
  createSegment() {
25054
25030
  const { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle, state } = this
@@ -25091,12 +25067,6 @@ class MarkArcLine extends MarkCommonLine {
25091
25067
  isValidPoints() {
25092
25068
  return true;
25093
25069
  }
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
25070
  }
25101
25071
  MarkArcLine.defaultAttributes = DEFAULT_MARK_ARC_LINE_THEME;
25102
25072
 
@@ -25113,15 +25083,20 @@ class MarkArcArea extends Marker {
25113
25083
  getArea() {
25114
25084
  return this._area;
25115
25085
  }
25086
+ getLabel() {
25087
+ return this._label;
25088
+ }
25116
25089
  constructor(attributes, options) {
25117
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes));
25090
+ super((options === null || options === void 0 ? void 0 : options.skipDefault)
25091
+ ? attributes
25092
+ : merge({}, MarkArcArea.defaultAttributes, attributes, { label: { autoRotate: true } }));
25118
25093
  this.name = 'markArcArea';
25119
25094
  this.defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;
25120
25095
  this.defaultExitAnimation = DefaultExitMarkerAnimation;
25121
25096
  }
25122
- getPointAttrByPosition(position, labelAttrs) {
25123
- const { center, innerRadius, outerRadius, startAngle, endAngle } = this.attribute;
25124
- const { refX = 0, refY = 0 } = labelAttrs;
25097
+ getPointAttrByPosition(position) {
25098
+ const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute;
25099
+ const { refX = 0, refY = 0 } = label;
25125
25100
  let radius;
25126
25101
  let angle;
25127
25102
  switch (position) {
@@ -25165,15 +25140,16 @@ class MarkArcArea extends Marker {
25165
25140
  angle
25166
25141
  };
25167
25142
  }
25168
- setLabelPos(labelNode, labelAttrs) {
25143
+ setLabelPos() {
25169
25144
  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) {
25145
+ if (this._label && this._area) {
25146
+ const { label = {} } = this.attribute;
25147
+ const { position: labelPosition = 'arcInnerMiddle', autoRotate } = label;
25148
+ const labelAttr = this.getPointAttrByPosition(labelPosition);
25149
+ 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) }));
25150
+ if (this.attribute.limitRect && label.confine) {
25175
25151
  const { x, y, width, height } = this.attribute.limitRect;
25176
- limitShapeInBounds(labelNode, {
25152
+ limitShapeInBounds(this._label, {
25177
25153
  x1: x,
25178
25154
  y1: y,
25179
25155
  x2: x + width,
@@ -25183,7 +25159,7 @@ class MarkArcArea extends Marker {
25183
25159
  }
25184
25160
  }
25185
25161
  initMarker(container) {
25186
- const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, state } = this
25162
+ const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this
25187
25163
  .attribute;
25188
25164
  const area = graphicCreator.arc(Object.assign({ x: center.x, y: center.y, innerRadius,
25189
25165
  outerRadius,
@@ -25193,7 +25169,14 @@ class MarkArcArea extends Marker {
25193
25169
  area.name = 'polar-mark-area-area';
25194
25170
  this._area = area;
25195
25171
  container.add(area);
25196
- this._addMarkLabels(container, 'mark-area-label', MarkArcArea.defaultAttributes.label);
25172
+ const markLabel = new Tag(Object.assign(Object.assign({}, label), { state: {
25173
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
25174
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
25175
+ } }));
25176
+ markLabel.name = 'mark-area-label';
25177
+ this._label = markLabel;
25178
+ container.add(markLabel);
25179
+ this.setLabelPos();
25197
25180
  }
25198
25181
  updateMarker() {
25199
25182
  const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this
@@ -25205,14 +25188,19 @@ class MarkArcArea extends Marker {
25205
25188
  endAngle }, areaStyle));
25206
25189
  this._area.states = merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.area);
25207
25190
  }
25208
- this._updateMarkLabels(MarkArcArea.defaultAttributes.label);
25191
+ if (this._label) {
25192
+ this._label.setAttributes(Object.assign(Object.assign({ dx: 0, dy: 0 }, label), { state: {
25193
+ panel: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.labelBackground),
25194
+ text: merge({}, DEFAULT_STATES$2, state === null || state === void 0 ? void 0 : state.label)
25195
+ } }));
25196
+ this.setLabelPos();
25197
+ }
25209
25198
  }
25210
25199
  isValidPoints() {
25211
25200
  return true;
25212
25201
  }
25213
25202
  }
25214
25203
  MarkArcArea.defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;
25215
- mixin(MarkArcArea, MarkLabelMixin);
25216
25204
 
25217
25205
  loadMarkPointComponent();
25218
25206
  function registerMarkPointAnimate() {
@@ -27234,23 +27222,17 @@ class Slider extends AbstractComponent {
27234
27222
  };
27235
27223
  this._onHandlerPointerdown = (e) => {
27236
27224
  e.stopPropagation();
27225
+ this._clearAllDragEvents();
27237
27226
  this._isChanging = true;
27238
27227
  const { x, y } = this.stage.eventPointTransform(e);
27239
27228
  this._currentHandler = e.target;
27240
27229
  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
- }
27230
+ const triggers = getEndTriggersOfDrag();
27231
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27232
+ obj.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
27233
+ triggers.forEach((trigger) => {
27234
+ obj.addEventListener(trigger, this._onHandlerPointerUp);
27235
+ });
27254
27236
  };
27255
27237
  this._onHandlerPointerMove = (e) => {
27256
27238
  var _a, _b;
@@ -27293,38 +27275,20 @@ class Slider extends AbstractComponent {
27293
27275
  e.preventDefault();
27294
27276
  this._isChanging = false;
27295
27277
  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
- }
27278
+ this._clearAllDragEvents();
27309
27279
  };
27310
27280
  this._onTrackPointerdown = (e) => {
27311
27281
  e.stopPropagation();
27282
+ this._clearAllDragEvents();
27312
27283
  this._isChanging = true;
27313
27284
  const { x, y } = this.stage.eventPointTransform(e);
27314
27285
  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
- }
27286
+ const triggers = getEndTriggersOfDrag();
27287
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27288
+ obj.addEventListener('pointermove', this._onTrackPointerMove, { capture: true });
27289
+ triggers.forEach((trigger) => {
27290
+ obj.addEventListener(trigger, this._onTrackPointerUp);
27291
+ });
27328
27292
  };
27329
27293
  this._onTrackPointerMove = (e) => {
27330
27294
  e.stopPropagation();
@@ -27381,22 +27345,11 @@ class Slider extends AbstractComponent {
27381
27345
  this._onTrackPointerUp = (e) => {
27382
27346
  e.preventDefault();
27383
27347
  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
- }
27348
+ this._clearAllDragEvents();
27397
27349
  };
27398
27350
  this._onRailPointerDown = (e) => {
27399
27351
  e.stopPropagation();
27352
+ this._clearAllDragEvents();
27400
27353
  this._isChanging = true;
27401
27354
  const { railWidth, railHeight, min, max } = this.attribute;
27402
27355
  if (max === min) {
@@ -27784,6 +27737,18 @@ class Slider extends AbstractComponent {
27784
27737
  this._mainContainer.addEventListener('pointermove', this._onTooltipUpdate);
27785
27738
  this._mainContainer.addEventListener('pointerleave', this._onTooltipHide);
27786
27739
  }
27740
+ _clearAllDragEvents() {
27741
+ const triggers = getEndTriggersOfDrag();
27742
+ const obj = vglobal.env === 'browser' ? vglobal : this.stage;
27743
+ obj.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
27744
+ triggers.forEach((trigger) => {
27745
+ obj.removeEventListener(trigger, this._onHandlerPointerUp);
27746
+ });
27747
+ obj.removeEventListener('pointermove', this._onTrackPointerMove, { capture: true });
27748
+ triggers.forEach((trigger) => {
27749
+ obj.removeEventListener(trigger, this._onTrackPointerUp);
27750
+ });
27751
+ }
27787
27752
  _updateTrack() {
27788
27753
  const { inverse, railWidth, railHeight } = this.attribute;
27789
27754
  const startHandler = this._startHandler;
@@ -31517,6 +31482,6 @@ StoryLabelItem.defaultAttributes = {
31517
31482
  theme: 'default'
31518
31483
  };
31519
31484
 
31520
- const version = "0.22.7-alpha.2";
31485
+ const version = "0.22.7-alpha.3";
31521
31486
 
31522
31487
  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 };
package/es/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.22.7-alpha.2";
1
+ export declare const version = "0.22.7-alpha.3";
2
2
  export * from './core/base';
3
3
  export * from './core/type';
4
4
  export * from './scrollbar';
package/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const version = "0.22.7-alpha.2";
1
+ export const version = "0.22.7-alpha.3";
2
2
 
3
3
  export * from "./core/base";
4
4