@visactor/vrender-components 0.16.1 → 0.16.2

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 (169) hide show
  1. package/cjs/axis/base.js +1 -0
  2. package/cjs/axis/base.js.map +1 -1
  3. package/cjs/axis/type.d.ts +1 -0
  4. package/cjs/axis/type.js.map +1 -1
  5. package/cjs/brush/brush.js +1 -0
  6. package/cjs/brush/brush.js.map +1 -1
  7. package/cjs/brush/type.d.ts +1 -0
  8. package/cjs/brush/type.js.map +1 -1
  9. package/cjs/checkbox/checkbox.d.ts +17 -0
  10. package/cjs/checkbox/checkbox.js +102 -0
  11. package/cjs/checkbox/checkbox.js.map +1 -0
  12. package/cjs/checkbox/index.d.ts +2 -0
  13. package/cjs/checkbox/index.js +21 -0
  14. package/cjs/checkbox/index.js.map +1 -0
  15. package/cjs/checkbox/type.d.ts +22 -0
  16. package/cjs/checkbox/type.js +5 -0
  17. package/cjs/checkbox/type.js.map +1 -0
  18. package/cjs/core/base.js +1 -1
  19. package/cjs/core/base.js.map +1 -1
  20. package/cjs/crosshair/base.js +2 -1
  21. package/cjs/data-zoom/data-zoom.js +1 -0
  22. package/cjs/data-zoom/data-zoom.js.map +1 -1
  23. package/cjs/data-zoom/type.d.ts +1 -0
  24. package/cjs/data-zoom/type.js.map +1 -1
  25. package/cjs/index.d.ts +2 -1
  26. package/cjs/index.js +2 -2
  27. package/cjs/index.js.map +1 -1
  28. package/cjs/indicator/index.js +1 -2
  29. package/cjs/jsx/component-type.js +2 -1
  30. package/cjs/label/base.js +1 -0
  31. package/cjs/label/base.js.map +1 -1
  32. package/cjs/label/type.d.ts +1 -0
  33. package/cjs/label/type.js.map +1 -1
  34. package/cjs/legend/color/color.js +4 -3
  35. package/cjs/legend/color/color.js.map +1 -1
  36. package/cjs/legend/constant.js +1 -2
  37. package/cjs/legend/discrete/discrete.js +8 -4
  38. package/cjs/legend/discrete/discrete.js.map +1 -1
  39. package/cjs/legend/size/size.js +4 -3
  40. package/cjs/legend/size/size.js.map +1 -1
  41. package/cjs/legend/type.d.ts +1 -0
  42. package/cjs/legend/type.js.map +1 -1
  43. package/cjs/link-path/index.js +2 -1
  44. package/cjs/marker/area.d.ts +4 -1
  45. package/cjs/marker/area.js +6 -0
  46. package/cjs/marker/area.js.map +1 -1
  47. package/cjs/marker/config.js +1 -1
  48. package/cjs/marker/index.js +1 -1
  49. package/cjs/marker/line.d.ts +4 -0
  50. package/cjs/marker/line.js +7 -1
  51. package/cjs/marker/line.js.map +1 -1
  52. package/cjs/marker/point.d.ts +2 -2
  53. package/cjs/marker/point.js.map +1 -1
  54. package/cjs/marker/type.d.ts +2 -2
  55. package/cjs/marker/type.js.map +1 -1
  56. package/cjs/pager/pager.js +2 -2
  57. package/cjs/pager/pager.js.map +1 -1
  58. package/cjs/pager/type.d.ts +1 -0
  59. package/cjs/pager/type.js.map +1 -1
  60. package/cjs/player/base-player.js +4 -2
  61. package/cjs/player/base-player.js.map +1 -1
  62. package/cjs/player/continuous-player.js +2 -2
  63. package/cjs/player/continuous-player.js.map +1 -1
  64. package/cjs/player/controller/controller.js +2 -2
  65. package/cjs/player/controller/controller.js.map +1 -1
  66. package/cjs/player/controller/type.d.ts +1 -0
  67. package/cjs/player/controller/type.js.map +1 -1
  68. package/cjs/player/discrete-player.js +2 -2
  69. package/cjs/player/discrete-player.js.map +1 -1
  70. package/cjs/player/type/base.d.ts +1 -0
  71. package/cjs/player/type/base.js.map +1 -1
  72. package/cjs/scrollbar/scrollbar.js +7 -5
  73. package/cjs/scrollbar/scrollbar.js.map +1 -1
  74. package/cjs/scrollbar/type.d.ts +1 -0
  75. package/cjs/scrollbar/type.js.map +1 -1
  76. package/cjs/segment/segment.js +3 -2
  77. package/cjs/segment/segment.js.map +1 -1
  78. package/cjs/segment/type.d.ts +6 -2
  79. package/cjs/segment/type.js.map +1 -1
  80. package/cjs/slider/slider.js +6 -3
  81. package/cjs/slider/slider.js.map +1 -1
  82. package/cjs/slider/type.d.ts +1 -0
  83. package/cjs/slider/type.js.map +1 -1
  84. package/dist/index.js +225 -20
  85. package/dist/index.min.js +1 -1
  86. package/es/axis/base.js +1 -0
  87. package/es/axis/base.js.map +1 -1
  88. package/es/axis/type.d.ts +1 -0
  89. package/es/axis/type.js.map +1 -1
  90. package/es/brush/brush.js +1 -0
  91. package/es/brush/brush.js.map +1 -1
  92. package/es/brush/type.d.ts +1 -0
  93. package/es/brush/type.js.map +1 -1
  94. package/es/checkbox/checkbox.d.ts +17 -0
  95. package/es/checkbox/checkbox.js +99 -0
  96. package/es/checkbox/checkbox.js.map +1 -0
  97. package/es/checkbox/index.d.ts +2 -0
  98. package/es/checkbox/index.js +4 -0
  99. package/es/checkbox/index.js.map +1 -0
  100. package/es/checkbox/type.d.ts +22 -0
  101. package/es/checkbox/type.js +1 -0
  102. package/es/checkbox/type.js.map +1 -0
  103. package/es/core/base.js +1 -1
  104. package/es/core/base.js.map +1 -1
  105. package/es/crosshair/base.js +2 -1
  106. package/es/data-zoom/data-zoom.js +1 -0
  107. package/es/data-zoom/data-zoom.js.map +1 -1
  108. package/es/data-zoom/type.d.ts +1 -0
  109. package/es/data-zoom/type.js.map +1 -1
  110. package/es/index.d.ts +2 -1
  111. package/es/index.js +3 -1
  112. package/es/index.js.map +1 -1
  113. package/es/indicator/index.js +1 -2
  114. package/es/jsx/component-type.js +2 -1
  115. package/es/label/base.js +1 -0
  116. package/es/label/base.js.map +1 -1
  117. package/es/label/type.d.ts +1 -0
  118. package/es/label/type.js.map +1 -1
  119. package/es/legend/color/color.js +4 -3
  120. package/es/legend/color/color.js.map +1 -1
  121. package/es/legend/constant.js +1 -2
  122. package/es/legend/discrete/discrete.js +8 -4
  123. package/es/legend/discrete/discrete.js.map +1 -1
  124. package/es/legend/size/size.js +4 -3
  125. package/es/legend/size/size.js.map +1 -1
  126. package/es/legend/type.d.ts +1 -0
  127. package/es/legend/type.js.map +1 -1
  128. package/es/link-path/index.js +2 -1
  129. package/es/marker/area.d.ts +4 -1
  130. package/es/marker/area.js +6 -0
  131. package/es/marker/area.js.map +1 -1
  132. package/es/marker/config.js +1 -1
  133. package/es/marker/index.js +1 -1
  134. package/es/marker/line.d.ts +4 -0
  135. package/es/marker/line.js +7 -1
  136. package/es/marker/line.js.map +1 -1
  137. package/es/marker/point.d.ts +2 -2
  138. package/es/marker/point.js.map +1 -1
  139. package/es/marker/type.d.ts +2 -2
  140. package/es/marker/type.js.map +1 -1
  141. package/es/pager/pager.js +2 -2
  142. package/es/pager/pager.js.map +1 -1
  143. package/es/pager/type.d.ts +1 -0
  144. package/es/pager/type.js.map +1 -1
  145. package/es/player/base-player.js +4 -2
  146. package/es/player/base-player.js.map +1 -1
  147. package/es/player/continuous-player.js +2 -2
  148. package/es/player/continuous-player.js.map +1 -1
  149. package/es/player/controller/controller.js +2 -2
  150. package/es/player/controller/controller.js.map +1 -1
  151. package/es/player/controller/type.d.ts +1 -0
  152. package/es/player/controller/type.js.map +1 -1
  153. package/es/player/discrete-player.js +2 -2
  154. package/es/player/discrete-player.js.map +1 -1
  155. package/es/player/type/base.d.ts +1 -0
  156. package/es/player/type/base.js.map +1 -1
  157. package/es/scrollbar/scrollbar.js +7 -5
  158. package/es/scrollbar/scrollbar.js.map +1 -1
  159. package/es/scrollbar/type.d.ts +1 -0
  160. package/es/scrollbar/type.js.map +1 -1
  161. package/es/segment/segment.js +4 -3
  162. package/es/segment/segment.js.map +1 -1
  163. package/es/segment/type.d.ts +6 -2
  164. package/es/segment/type.js.map +1 -1
  165. package/es/slider/slider.js +6 -3
  166. package/es/slider/slider.js.map +1 -1
  167. package/es/slider/type.d.ts +1 -0
  168. package/es/slider/type.js.map +1 -1
  169. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -15268,16 +15268,17 @@
15268
15268
  key: "createCommonPattern",
15269
15269
  value: function createCommonPattern(size, padding, color, targetContext, cb) {
15270
15270
  var r = (size - 2 * padding) / 2,
15271
+ dpr = targetContext.dpr,
15271
15272
  canvas = canvasAllocate.allocate({
15272
15273
  width: size,
15273
15274
  height: size,
15274
- dpr: 1
15275
+ dpr: dpr
15275
15276
  }),
15276
15277
  ctx = canvas.getContext("2d");
15277
15278
  if (!ctx) return null;
15278
- ctx.clearRect(0, 0, size, size), cb(r, ctx);
15279
+ ctx.inuse = !0, ctx.clearMatrix(), ctx.setTransformForCurrent(!0), ctx.clearRect(0, 0, size, size), cb(r, ctx);
15279
15280
  var pattern = targetContext.createPattern(canvas.nativeCanvas, "repeat");
15280
- return canvasAllocate.free(canvas), pattern;
15281
+ return pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0])), canvasAllocate.free(canvas), pattern;
15281
15282
  }
15282
15283
  }, {
15283
15284
  key: "createCirclePattern",
@@ -18501,7 +18502,8 @@
18501
18502
  'clip',
18502
18503
  'pickable',
18503
18504
  'childrenPickable',
18504
- 'zIndex'
18505
+ 'zIndex',
18506
+ 'cursor'
18505
18507
  ];
18506
18508
  class AbstractComponent extends Group {
18507
18509
  constructor(attributes, mode = '2d') {
@@ -18641,11 +18643,11 @@
18641
18643
  this._onSliderPointerUp = (e) => {
18642
18644
  e.preventDefault();
18643
18645
  if (vglobal.env === 'browser') {
18644
- vglobal.removeEventListener('pointermove', this._onSliderPointerMove);
18646
+ vglobal.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });
18645
18647
  vglobal.removeEventListener('pointerup', this._onSliderPointerUp);
18646
18648
  }
18647
18649
  else {
18648
- this._slider.removeEventListener('pointermove', this._onSliderPointerMove);
18650
+ this._slider.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });
18649
18651
  this._slider.removeEventListener('pointerup', this._onSliderPointerUp);
18650
18652
  this._slider.removeEventListener('pointerupoutside', this._onSliderPointerUp);
18651
18653
  }
@@ -18679,6 +18681,9 @@
18679
18681
  return this.attribute.range;
18680
18682
  }
18681
18683
  bindEvents() {
18684
+ if (this.attribute.disableTriggerEvent) {
18685
+ return;
18686
+ }
18682
18687
  if (this._rail) {
18683
18688
  this._rail.addEventListener('pointerdown', this._onRailPointerDown);
18684
18689
  }
@@ -20371,6 +20376,9 @@
20371
20376
  this._renderLabels(labels);
20372
20377
  }
20373
20378
  _bindEvent(target) {
20379
+ if (this.attribute.disableTriggerEvent) {
20380
+ return;
20381
+ }
20374
20382
  if (!target) {
20375
20383
  return;
20376
20384
  }
@@ -21986,7 +21994,7 @@
21986
21994
  });
21987
21995
  }
21988
21996
  else {
21989
- const line = createLine(Object.assign(Object.assign({ points: this._clipPoints(this.attribute.points) }, vutils.array(lineStyle)[0]), { fill: false }));
21997
+ const line = createPolygon(Object.assign(Object.assign({ points: this._clipPoints(this.attribute.points) }, vutils.array(lineStyle)[0]), { fill: false, closePath: false }));
21990
21998
  line.name = `${this.name}-line`;
21991
21999
  line.id = this._getNodeId('line');
21992
22000
  if (!vutils.isEmpty(state === null || state === void 0 ? void 0 : state.line)) {
@@ -22305,6 +22313,9 @@
22305
22313
  this._bindEvent();
22306
22314
  }
22307
22315
  _bindEvent() {
22316
+ if (this.attribute.disableTriggerEvent) {
22317
+ return;
22318
+ }
22308
22319
  const { hover, select } = this.attribute;
22309
22320
  if (hover) {
22310
22321
  this._innerView.addEventListener('pointermove', this._onHover);
@@ -24289,6 +24300,9 @@
24289
24300
  vutils.isFunction(updateStateCallback) && (this._updateStateCallback = updateStateCallback);
24290
24301
  }
24291
24302
  bindEvents() {
24303
+ if (this.attribute.disableTriggerEvent) {
24304
+ return;
24305
+ }
24292
24306
  const { showDetail, brushSelect } = this.attribute;
24293
24307
  if (this._startHandler) {
24294
24308
  this._startHandler.addEventListener('pointerdown', (e) => this._onHandlerPointerDown(e, 'start'));
@@ -25137,6 +25151,12 @@
25137
25151
  }
25138
25152
 
25139
25153
  class MarkLine extends Marker {
25154
+ getLine() {
25155
+ return this._line;
25156
+ }
25157
+ getLabel() {
25158
+ return this._label;
25159
+ }
25140
25160
  constructor(attributes) {
25141
25161
  super(vutils.merge({}, MarkLine.defaultAttributes, attributes));
25142
25162
  }
@@ -25217,6 +25237,12 @@
25217
25237
  MarkLine.defaultAttributes = DEFAULT_MARK_LINE_THEME;
25218
25238
 
25219
25239
  class MarkArea extends Marker {
25240
+ getArea() {
25241
+ return this._area;
25242
+ }
25243
+ getLabel() {
25244
+ return this._label;
25245
+ }
25220
25246
  constructor(attributes) {
25221
25247
  super(vutils.merge({}, MarkArea.defaultAttributes, attributes));
25222
25248
  }
@@ -25633,6 +25659,9 @@
25633
25659
  this._bindEvents();
25634
25660
  }
25635
25661
  _bindEvents() {
25662
+ if (this.attribute.disableTriggerEvent) {
25663
+ return;
25664
+ }
25636
25665
  if (this.preHandler) {
25637
25666
  this.preHandler.addEventListener('pointerenter', this._onHover);
25638
25667
  this.preHandler.addEventListener('pointerleave', this._onUnHover);
@@ -26010,6 +26039,9 @@
26010
26039
  }
26011
26040
  }
26012
26041
  _bindEvents() {
26042
+ if (this.attribute.disableTriggerEvent) {
26043
+ return;
26044
+ }
26013
26045
  if (!this._itemsContainer) {
26014
26046
  return;
26015
26047
  }
@@ -26143,7 +26175,7 @@
26143
26175
  }
26144
26176
  _renderPager(isHorizontal) {
26145
26177
  const renderStartY = this._title ? this._title.AABBBounds.height() + vutils.get(this.attribute, 'title.space', 8) : 0;
26146
- const { maxWidth, maxHeight, maxCol = 1, maxRow = 2, item = {}, pager = {} } = this.attribute;
26178
+ const { maxWidth, maxHeight, maxCol = 1, maxRow = 2, item = {}, pager = {}, disableTriggerEvent } = this.attribute;
26147
26179
  const { spaceCol = DEFAULT_ITEM_SPACE_COL, spaceRow = DEFAULT_ITEM_SPACE_ROW } = item;
26148
26180
  const itemsContainer = this._itemsContainer;
26149
26181
  const { animation = true, animationDuration = 450, animationEasing = 'quadIn', space: pagerSpace = DEFAULT_PAGER_SPACE } = pager, pageStyle = __rest(pager, ["animation", "animationDuration", "animationEasing", "space"]);
@@ -26154,12 +26186,12 @@
26154
26186
  let startY = 0;
26155
26187
  let pages = 1;
26156
26188
  if (isHorizontal) {
26157
- pagerComp = new Pager(Object.assign({ layout: maxRow === 1 ? 'horizontal' : 'vertical', total: 99 }, vutils.merge({
26189
+ pagerComp = new Pager(Object.assign(Object.assign({ layout: maxRow === 1 ? 'horizontal' : 'vertical', total: 99 }, vutils.merge({
26158
26190
  handler: {
26159
26191
  preShape: 'triangleUp',
26160
26192
  nextShape: 'triangleDown'
26161
26193
  }
26162
- }, pageStyle)));
26194
+ }, pageStyle)), { disableTriggerEvent }));
26163
26195
  this._pager = pagerComp;
26164
26196
  this._innerView.add(pagerComp);
26165
26197
  pageHeight = (maxRow - 1) * spaceRow + this._itemHeight * maxRow;
@@ -26190,7 +26222,7 @@
26190
26222
  });
26191
26223
  }
26192
26224
  else {
26193
- pagerComp = new Pager(Object.assign({ layout: 'horizontal', total: 99 }, pageStyle));
26225
+ pagerComp = new Pager(Object.assign({ layout: 'horizontal', total: 99, disableTriggerEvent }, pageStyle));
26194
26226
  this._pager = pagerComp;
26195
26227
  this._innerView.add(pagerComp);
26196
26228
  pageWidth = this._itemMaxWidth * maxCol + (maxCol - 1) * spaceCol;
@@ -26621,11 +26653,15 @@
26621
26653
  this._onTrackPointerUp = (e) => {
26622
26654
  e.preventDefault();
26623
26655
  if (vglobal.env === 'browser') {
26624
- vglobal.removeEventListener('pointermove', this._onTrackPointerMove);
26656
+ vglobal.removeEventListener('pointermove', this._onTrackPointerMove, {
26657
+ capture: true
26658
+ });
26625
26659
  vglobal.removeEventListener('pointerup', this._onTrackPointerUp);
26626
26660
  }
26627
26661
  else {
26628
- this._track.removeEventListener('pointermove', this._onTrackPointerMove);
26662
+ this._track.removeEventListener('pointermove', this._onTrackPointerMove, {
26663
+ capture: true
26664
+ });
26629
26665
  this._track.removeEventListener('pointerup', this._onTrackPointerUp);
26630
26666
  this._track.removeEventListener('pointerupoutside', this._onTrackPointerUp);
26631
26667
  }
@@ -26896,6 +26932,9 @@
26896
26932
  return textShape;
26897
26933
  }
26898
26934
  _bindEvents() {
26935
+ if (this.attribute.disableTriggerEvent) {
26936
+ return;
26937
+ }
26899
26938
  const { slidable, range } = this.attribute;
26900
26939
  if (slidable) {
26901
26940
  if (this._startHandler) {
@@ -27105,7 +27144,7 @@
27105
27144
  this._updateColor();
27106
27145
  }
27107
27146
  _renderContent() {
27108
- const { colors, slidable, layout, align, min, max, value, railWidth, railHeight, showHandler = true, handlerSize, handlerStyle, railStyle, trackStyle, startText, endText, handlerText, showTooltip, tooltip } = this.attribute;
27147
+ const { colors, slidable, layout, align, min, max, value, railWidth, railHeight, showHandler = true, handlerSize, handlerStyle, railStyle, trackStyle, startText, endText, handlerText, showTooltip, tooltip, disableTriggerEvent } = this.attribute;
27109
27148
  const domain = [];
27110
27149
  const step = (max - min) / (colors.length - 1);
27111
27150
  for (let i = 0; i < colors.length; i++) {
@@ -27136,7 +27175,8 @@
27136
27175
  endText,
27137
27176
  handlerText,
27138
27177
  showTooltip,
27139
- tooltip
27178
+ tooltip,
27179
+ disableTriggerEvent
27140
27180
  });
27141
27181
  this._innerView.add(slider);
27142
27182
  this._slider = slider;
@@ -27145,6 +27185,9 @@
27145
27185
  this._updateColor();
27146
27186
  }
27147
27187
  _bindEvents() {
27188
+ if (this.attribute.disableTriggerEvent) {
27189
+ return;
27190
+ }
27148
27191
  if (this._slider) {
27149
27192
  this._slider.addEventListener('change', this._onSliderChange);
27150
27193
  }
@@ -27295,7 +27338,7 @@
27295
27338
  this._slider.setValue(value);
27296
27339
  }
27297
27340
  _renderContent() {
27298
- const { slidable, layout, align, min, max, value, railWidth, railHeight, showHandler = true, handlerSize, handlerStyle, railStyle, trackStyle, startText, endText, handlerText, showTooltip, tooltip, sizeBackground } = this.attribute;
27341
+ const { slidable, layout, align, min, max, value, railWidth, railHeight, showHandler = true, handlerSize, handlerStyle, railStyle, trackStyle, startText, endText, handlerText, showTooltip, tooltip, sizeBackground, disableTriggerEvent } = this.attribute;
27299
27342
  const mainContainer = createGroup({
27300
27343
  x: 0,
27301
27344
  y: 0
@@ -27325,7 +27368,8 @@
27325
27368
  endText,
27326
27369
  handlerText,
27327
27370
  showTooltip,
27328
- tooltip
27371
+ tooltip,
27372
+ disableTriggerEvent
27329
27373
  });
27330
27374
  mainContainer.add(slider);
27331
27375
  let start = 0;
@@ -27359,6 +27403,9 @@
27359
27403
  this._slider = slider;
27360
27404
  }
27361
27405
  _bindEvents() {
27406
+ if (this.attribute.disableTriggerEvent) {
27407
+ return;
27408
+ }
27362
27409
  if (this._slider) {
27363
27410
  this._slider.addEventListener('change', this._onSliderChange);
27364
27411
  }
@@ -27874,6 +27921,9 @@
27874
27921
  }
27875
27922
  };
27876
27923
  this._initEvents = () => {
27924
+ if (this.attribute.disableTriggerEvent) {
27925
+ return;
27926
+ }
27877
27927
  this._playController.addEventListener('pointerdown', (e) => {
27878
27928
  e.stopPropagation();
27879
27929
  if (this._isPaused === true) {
@@ -28071,7 +28121,8 @@
28071
28121
  range: false,
28072
28122
  handlerText: { visible: false },
28073
28123
  startText: { visible: false },
28074
- endText: { visible: false }
28124
+ endText: { visible: false },
28125
+ disableTriggerEvent: this.attribute.disableTriggerEvent
28075
28126
  };
28076
28127
  if (isHorizontal(this._orient)) {
28077
28128
  const railWidth = Math.max(0, this._layoutInfo.slider.size);
@@ -28105,7 +28156,8 @@
28105
28156
  start: this._start,
28106
28157
  pause: this._pause,
28107
28158
  forward: this._forward,
28108
- backward: this._backward
28159
+ backward: this._backward,
28160
+ disableTriggerEvent: this.attribute.disableTriggerEvent
28109
28161
  };
28110
28162
  if (isHorizontal(this._orient)) {
28111
28163
  attrs.layout = 'horizontal';
@@ -28258,6 +28310,9 @@
28258
28310
  this._slider.setAttribute('value', this._dataIndex);
28259
28311
  };
28260
28312
  this._initEvents = () => {
28313
+ if (this.attribute.disableTriggerEvent) {
28314
+ return;
28315
+ }
28261
28316
  this._controller.addEventListener(ControllerEventEnum.OnPlay, (e) => {
28262
28317
  e.stopPropagation();
28263
28318
  this.play();
@@ -28406,6 +28461,9 @@
28406
28461
  }
28407
28462
  };
28408
28463
  this._initEvents = () => {
28464
+ if (this.attribute.disableTriggerEvent) {
28465
+ return;
28466
+ }
28409
28467
  this._controller.addEventListener(ControllerEventEnum.OnPlay, (e) => {
28410
28468
  e.stopPropagation();
28411
28469
  this.play();
@@ -28633,6 +28691,9 @@
28633
28691
  };
28634
28692
  }
28635
28693
  bindBrushEvents() {
28694
+ if (this.attribute.disableTriggerEvent) {
28695
+ return;
28696
+ }
28636
28697
  const { delayType = 'throttle', delayTime = 0, trigger = DEFAULT_BRUSH_ATTRIBUTES.trigger, updateTrigger = DEFAULT_BRUSH_ATTRIBUTES.updateTrigger, endTrigger = DEFAULT_BRUSH_ATTRIBUTES.endTrigger, resetTrigger = DEFAULT_BRUSH_ATTRIBUTES.resetTrigger } = this.attribute;
28637
28698
  this.stage.addEventListener(trigger, this._onBrushStart);
28638
28699
  this.stage.addEventListener(updateTrigger, delayMap[delayType](this._onBrushing, delayTime));
@@ -29243,13 +29304,157 @@
29243
29304
  return new Tag(params ? params.attribute : {});
29244
29305
  }
29245
29306
 
29246
- const version = "0.16.1";
29307
+ const svg = '<svg width="200" height="200" viewBox="0 0 1024 1024" fill="#fff" xmlns="http://www.w3.org/2000/svg"><path d="M877.44815445 206.10060629a64.72691371 64.72691371 0 0 0-95.14856334 4.01306852L380.73381888 685.46812814 235.22771741 533.48933518a64.72691371 64.72691371 0 0 0-92.43003222-1.03563036l-45.82665557 45.82665443a64.72691371 64.72691371 0 0 0-0.90617629 90.61767965l239.61903446 250.10479331a64.72691371 64.72691371 0 0 0 71.19960405 15.14609778 64.33855261 64.33855261 0 0 0 35.08198741-21.23042702l36.24707186-42.71976334 40.5190474-40.77795556-3.36579926-3.49525333 411.40426297-486.74638962a64.72691371 64.72691371 0 0 0-3.88361443-87.64024149l-45.3088404-45.43829334z"></path></svg>';
29308
+ class CheckBox extends AbstractComponent {
29309
+ constructor(attributes) {
29310
+ super(vutils.merge({}, CheckBox.defaultAttributes, attributes));
29311
+ this.renderGroup();
29312
+ this.onBeforeAttributeUpdate = (val, attributes, key) => {
29313
+ if ('interactive' in val) {
29314
+ this.setAttribute('pickable', val.interactive);
29315
+ }
29316
+ if ('disabled' in val) {
29317
+ this.setAttribute('cursor', val.disable ? this.attribute.disableCursor : this.attribute.cursor);
29318
+ }
29319
+ return undefined;
29320
+ };
29321
+ this.addEventListener('click', this.handleClick);
29322
+ }
29323
+ render() {
29324
+ this.removeAllChild();
29325
+ this.renderBox();
29326
+ this.renderIcon();
29327
+ this.renderText();
29328
+ this.layout();
29329
+ }
29330
+ renderBox() {
29331
+ this._box = new Rect(vutils.merge({}, this.attribute.box));
29332
+ if (this.attribute.checked && this.attribute.disabled) {
29333
+ this._box.setAttributes({
29334
+ fill: this.attribute.box.disableCheckedFill,
29335
+ stroke: this.attribute.box.disableCheckedStroke
29336
+ });
29337
+ }
29338
+ else if (this.attribute.checked) {
29339
+ this._box.setAttributes({
29340
+ fill: this.attribute.box.checkedFill,
29341
+ stroke: this.attribute.box.checkedStroke
29342
+ });
29343
+ }
29344
+ this.appendChild(this._box);
29345
+ }
29346
+ renderIcon() {
29347
+ this._icon = new Image(vutils.merge({}, this.attribute.icon));
29348
+ if (!this.attribute.checked) {
29349
+ this._icon.setAttribute('visible', false);
29350
+ }
29351
+ this.appendChild(this._icon);
29352
+ }
29353
+ renderText() {
29354
+ this._text = new WrapText(vutils.merge({}, this.attribute.text));
29355
+ if (this.attribute.disabled) {
29356
+ this._text.setAttribute('fill', this.attribute.text.disableFill);
29357
+ }
29358
+ this.appendChild(this._text);
29359
+ }
29360
+ renderGroup() {
29361
+ if (!this.attribute.interactive) {
29362
+ this.setAttribute('pickable', false);
29363
+ }
29364
+ if (this.attribute.disabled) {
29365
+ this.setAttribute('cursor', this.attribute.disableCursor);
29366
+ }
29367
+ }
29368
+ layout() {
29369
+ const boxHeight = this.attribute.box.height;
29370
+ const iconHeight = this.attribute.icon.height;
29371
+ const textHeight = this._text.AABBBounds.height();
29372
+ const maxHeight = Math.max(boxHeight, iconHeight, textHeight);
29373
+ const boxY = maxHeight / 2 - boxHeight / 2;
29374
+ const iconY = maxHeight / 2 - iconHeight / 2;
29375
+ const textY = maxHeight / 2 - textHeight / 2;
29376
+ const boxWidth = this.attribute.box.width;
29377
+ const iconWidth = this.attribute.icon.width;
29378
+ const maxWidth = Math.max(boxWidth, iconWidth);
29379
+ const boxX = maxWidth / 2 - boxWidth / 2;
29380
+ const iconX = maxWidth / 2 - iconWidth / 2;
29381
+ const textX = maxWidth + this.attribute.spaceBetweenTextAndIcon;
29382
+ this._box.setAttributes({
29383
+ x: boxX,
29384
+ y: boxY
29385
+ });
29386
+ this._icon.setAttributes({
29387
+ x: iconX,
29388
+ y: iconY
29389
+ });
29390
+ this._text.setAttributes({
29391
+ x: textX,
29392
+ y: textY
29393
+ });
29394
+ }
29395
+ handleClick() {
29396
+ var _a;
29397
+ if (this.attribute.disabled) {
29398
+ return;
29399
+ }
29400
+ else if (this.attribute.checked) {
29401
+ this.setAttribute('checked', false);
29402
+ }
29403
+ else {
29404
+ this.setAttribute('checked', true);
29405
+ }
29406
+ const changeEvent = new CustomEvent('checkbox_state_change', {
29407
+ eventType: 'checkbox_state_change',
29408
+ checked: this.attribute.checked
29409
+ });
29410
+ changeEvent.manager = (_a = this.stage) === null || _a === void 0 ? void 0 : _a.eventSystem.manager;
29411
+ this.dispatchEvent(changeEvent);
29412
+ }
29413
+ }
29414
+ CheckBox.defaultAttributes = {
29415
+ interactive: true,
29416
+ disabled: false,
29417
+ checked: false,
29418
+ cursor: 'pointer',
29419
+ disableCursor: 'not-allowed',
29420
+ spaceBetweenTextAndIcon: 8,
29421
+ text: {
29422
+ text: 'text',
29423
+ fontSize: 14,
29424
+ fill: '#000',
29425
+ disableFill: 'rgb(201,205,212)',
29426
+ textBaseline: 'top',
29427
+ pickable: false
29428
+ },
29429
+ icon: {
29430
+ image: svg,
29431
+ width: 10,
29432
+ height: 10,
29433
+ pickable: false
29434
+ },
29435
+ box: {
29436
+ width: 14,
29437
+ height: 14,
29438
+ cornerRadius: 2,
29439
+ fill: '#fff',
29440
+ stroke: 'rgb(229,230,235)',
29441
+ disableFill: 'rgb(242,243,245)',
29442
+ checkedFill: 'rgb(22, 93, 255)',
29443
+ checkedStroke: 'rgb(22, 93, 255)',
29444
+ disableCheckedFill: 'rgb(148, 191, 255)',
29445
+ disableCheckedStroke: 'rgb(148, 191, 255)',
29446
+ pickable: false
29447
+ }
29448
+ };
29449
+
29450
+ const version = "0.16.2";
29247
29451
 
29248
29452
  exports.AbstractComponent = AbstractComponent;
29249
29453
  exports.ArcInfo = ArcInfo;
29250
29454
  exports.ArcLabel = ArcLabel;
29251
29455
  exports.BasePlayer = BasePlayer;
29252
29456
  exports.Brush = Brush;
29457
+ exports.CheckBox = CheckBox;
29253
29458
  exports.CircleAxis = CircleAxis;
29254
29459
  exports.CircleAxisGrid = CircleAxisGrid;
29255
29460
  exports.CircleCrosshair = CircleCrosshair;