@visactor/vchart 1.13.10-alpha.0 → 1.13.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +302 -43
  3. package/build/index.js +303 -42
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/mosaic/mosaic-transformer.js +1 -1
  7. package/cjs/chart/mosaic/mosaic-transformer.js.map +1 -1
  8. package/cjs/chart/mosaic/mosaic.js.map +1 -1
  9. package/cjs/component/tooltip/tooltip.js +5 -7
  10. package/cjs/component/tooltip/tooltip.js.map +1 -1
  11. package/cjs/core/index.d.ts +2 -2
  12. package/cjs/core/index.js +12 -2
  13. package/cjs/core/index.js.map +1 -1
  14. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -0
  15. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +3 -0
  16. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  17. package/cjs/series/mosaic/interface.d.ts +1 -0
  18. package/cjs/series/mosaic/interface.js.map +1 -1
  19. package/cjs/series/mosaic/mosaic.d.ts +2 -0
  20. package/cjs/series/mosaic/mosaic.js +5 -2
  21. package/cjs/series/mosaic/mosaic.js.map +1 -1
  22. package/cjs/typings/tooltip/handler.d.ts +1 -0
  23. package/cjs/typings/tooltip/handler.js.map +1 -1
  24. package/cjs/util/data.js +7 -3
  25. package/cjs/util/data.js.map +1 -1
  26. package/esm/chart/mosaic/mosaic-transformer.js +1 -1
  27. package/esm/chart/mosaic/mosaic-transformer.js.map +1 -1
  28. package/esm/chart/mosaic/mosaic.js.map +1 -1
  29. package/esm/component/tooltip/tooltip.js +5 -7
  30. package/esm/component/tooltip/tooltip.js.map +1 -1
  31. package/esm/core/index.d.ts +2 -2
  32. package/esm/core/index.js +2 -2
  33. package/esm/core/index.js.map +1 -1
  34. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -0
  35. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +3 -0
  36. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  37. package/esm/series/mosaic/interface.d.ts +1 -0
  38. package/esm/series/mosaic/interface.js.map +1 -1
  39. package/esm/series/mosaic/mosaic.d.ts +2 -0
  40. package/esm/series/mosaic/mosaic.js +5 -2
  41. package/esm/series/mosaic/mosaic.js.map +1 -1
  42. package/esm/typings/tooltip/handler.d.ts +1 -0
  43. package/esm/typings/tooltip/handler.js.map +1 -1
  44. package/esm/util/data.js +6 -3
  45. package/esm/util/data.js.map +1 -1
  46. package/package.json +12 -12
package/build/index.es.js CHANGED
@@ -12656,6 +12656,60 @@ class DefaultTicker extends EventEmitter {
12656
12656
  }
12657
12657
  }
12658
12658
 
12659
+ class ManualTickHandler {
12660
+ constructor() {
12661
+ this.time = 0;
12662
+ }
12663
+ static Avaliable() {
12664
+ return !0;
12665
+ }
12666
+ avaliable() {
12667
+ return ManualTickHandler.Avaliable();
12668
+ }
12669
+ tick(interval, cb) {
12670
+ this.time = Math.max(0, interval + this.time), cb(this, {
12671
+ once: !0
12672
+ });
12673
+ }
12674
+ tickTo(t, cb) {
12675
+ this.time = Math.max(0, t), cb(this, {
12676
+ once: !0
12677
+ });
12678
+ }
12679
+ release() {
12680
+ this.timerId > 0 && (this.timerId = -1);
12681
+ }
12682
+ getTime() {
12683
+ return this.time;
12684
+ }
12685
+ }
12686
+
12687
+ class ManualTicker extends DefaultTicker {
12688
+ set mode(m) {
12689
+ this.setupTickHandler();
12690
+ }
12691
+ get mode() {
12692
+ return this._mode;
12693
+ }
12694
+ initHandler() {
12695
+ return this.mode = "manual", null;
12696
+ }
12697
+ setupTickHandler() {
12698
+ const handler = new ManualTickHandler();
12699
+ return this._mode = "manual", this.tickerHandler && this.tickerHandler.release(), this.tickerHandler = handler, !0;
12700
+ }
12701
+ tickAt(time) {
12702
+ this.tickerHandler.tick(time - Math.max(this.lastFrameTime, 0), handler => {
12703
+ this.handleTick(handler, {
12704
+ once: !0
12705
+ });
12706
+ });
12707
+ }
12708
+ ifCanStop() {
12709
+ return !1;
12710
+ }
12711
+ }
12712
+
12659
12713
  class Easing {
12660
12714
  constructor() {}
12661
12715
  static linear(t) {
@@ -13365,6 +13419,186 @@ class InputText extends ACustomAnimate {
13365
13419
  } else out.text = this.toText.substr(0, count);
13366
13420
  }
13367
13421
  }
13422
+ class StreamLight extends ACustomAnimate {
13423
+ constructor(from, to, duration, easing, params) {
13424
+ super(from, to, duration, easing, params);
13425
+ }
13426
+ getEndProps() {
13427
+ return {};
13428
+ }
13429
+ onStart() {
13430
+ this.target && ("rect" === this.target.type ? this.onStartRect() : "line" === this.target.type ? this.onStartLineOrArea("line") : "area" === this.target.type && this.onStartLineOrArea("area"));
13431
+ }
13432
+ onStartLineOrArea(type) {
13433
+ var _a;
13434
+ const root = this.target.attachShadow(),
13435
+ line = application.graphicService.creator[type](Object.assign({}, null === (_a = this.params) || void 0 === _a ? void 0 : _a.attribute));
13436
+ this[type] = line, line.pathProxy = new CustomPath2D(), root.add(line);
13437
+ }
13438
+ onStartRect() {
13439
+ var _a, _b, _c;
13440
+ const root = this.target.attachShadow(),
13441
+ isHorizontal = null === (_b = null === (_a = this.params) || void 0 === _a ? void 0 : _a.isHorizontal) || void 0 === _b || _b,
13442
+ sizeAttr = isHorizontal ? "height" : "width",
13443
+ otherSizeAttr = isHorizontal ? "width" : "height",
13444
+ size = this.target.AABBBounds[sizeAttr](),
13445
+ y = isHorizontal ? 0 : this.target.AABBBounds.y1,
13446
+ rect = application.graphicService.creator.rect(Object.assign(Object.assign({
13447
+ [sizeAttr]: size,
13448
+ fill: "#bcdeff",
13449
+ shadowBlur: 30,
13450
+ shadowColor: "#bcdeff"
13451
+ }, null === (_c = this.params) || void 0 === _c ? void 0 : _c.attribute), {
13452
+ x: 0,
13453
+ y: y,
13454
+ [otherSizeAttr]: 0
13455
+ }));
13456
+ this.rect = rect, root.add(rect);
13457
+ }
13458
+ onBind() {}
13459
+ onEnd() {
13460
+ this.target.detachShadow();
13461
+ }
13462
+ onUpdate(end, ratio, out) {
13463
+ return this.rect ? this.onUpdateRect(end, ratio, out) : this.line || this.area ? this.onUpdateLineOrArea(end, ratio, out) : void 0;
13464
+ }
13465
+ onUpdateRect(end, ratio, out) {
13466
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
13467
+ const isHorizontal = null === (_b = null === (_a = this.params) || void 0 === _a ? void 0 : _a.isHorizontal) || void 0 === _b || _b,
13468
+ parentAttr = this.target.attribute;
13469
+ if (isHorizontal) {
13470
+ const parentWidth = null !== (_d = null !== (_c = parentAttr.width) && void 0 !== _c ? _c : Math.abs(parentAttr.x1 - parentAttr.x)) && void 0 !== _d ? _d : 250,
13471
+ streamLength = null !== (_f = null === (_e = this.params) || void 0 === _e ? void 0 : _e.streamLength) && void 0 !== _f ? _f : parentWidth,
13472
+ maxLength = null !== (_j = null === (_h = null === (_g = this.params) || void 0 === _g ? void 0 : _g.attribute) || void 0 === _h ? void 0 : _h.width) && void 0 !== _j ? _j : 60,
13473
+ startX = -maxLength,
13474
+ currentX = startX + (streamLength - startX) * ratio,
13475
+ x = Math.max(currentX, 0),
13476
+ w = Math.min(Math.min(currentX + maxLength, maxLength), streamLength - currentX),
13477
+ width = w + x > parentWidth ? Math.max(parentWidth - x, 0) : w;
13478
+ this.rect.setAttributes({
13479
+ x: x,
13480
+ width: width,
13481
+ dx: Math.min(parentAttr.x1 - parentAttr.x, 0)
13482
+ }, !1, {
13483
+ type: AttributeUpdateType.ANIMATE_PLAY,
13484
+ animationState: {
13485
+ ratio: ratio,
13486
+ end: end
13487
+ }
13488
+ });
13489
+ } else {
13490
+ const parentHeight = null !== (_l = null !== (_k = parentAttr.height) && void 0 !== _k ? _k : Math.abs(parentAttr.y1 - parentAttr.y)) && void 0 !== _l ? _l : 250,
13491
+ streamLength = null !== (_o = null === (_m = this.params) || void 0 === _m ? void 0 : _m.streamLength) && void 0 !== _o ? _o : parentHeight,
13492
+ maxLength = null !== (_r = null === (_q = null === (_p = this.params) || void 0 === _p ? void 0 : _p.attribute) || void 0 === _q ? void 0 : _q.height) && void 0 !== _r ? _r : 60,
13493
+ currentY = parentHeight - (streamLength + maxLength) * ratio;
13494
+ let y = Math.min(currentY, parentHeight);
13495
+ const h = Math.min(parentHeight - currentY, maxLength);
13496
+ let height;
13497
+ y <= 0 ? (height = Math.max(y + h, 0), y = 0) : height = h, this.rect.setAttributes({
13498
+ y: y,
13499
+ height: height,
13500
+ dy: Math.min(parentAttr.y1 - parentAttr.y, 0)
13501
+ }, !1, {
13502
+ type: AttributeUpdateType.ANIMATE_PLAY,
13503
+ animationState: {
13504
+ ratio: ratio,
13505
+ end: end
13506
+ }
13507
+ });
13508
+ }
13509
+ }
13510
+ onUpdateLineOrArea(end, ratio, out) {
13511
+ const target = this.line || this.area;
13512
+ if (!target) return;
13513
+ const customPath = target.pathProxy,
13514
+ targetLine = this.target;
13515
+ targetLine.cache || targetLine.cacheArea ? this._onUpdateLineOrAreaWithCache(customPath, targetLine, end, ratio, out) : this._onUpdateLineWithoutCache(customPath, targetLine, end, ratio, out);
13516
+ const targetAttrs = targetLine.attribute;
13517
+ target.setAttributes(Object.assign({
13518
+ stroke: targetAttrs.stroke
13519
+ }, target.attribute)), target.addUpdateBoundTag();
13520
+ }
13521
+ _onUpdateLineOrAreaWithCache(customPath, g, end, ratio, out) {
13522
+ var _a, _b;
13523
+ if (customPath.clear(), "line" === g.type) {
13524
+ let cache = g.cache;
13525
+ Array.isArray(cache) || (cache = [cache]);
13526
+ const totalLen = cache.reduce((l, c) => l + c.getLength(), 0),
13527
+ curves = [];
13528
+ return cache.forEach(c => {
13529
+ c.curves.forEach(ci => curves.push(ci));
13530
+ }), this._updateCurves(customPath, curves, totalLen, ratio);
13531
+ }
13532
+ if ("area" === g.type && (null === (_b = null === (_a = g.cacheArea) || void 0 === _a ? void 0 : _a.top) || void 0 === _b ? void 0 : _b.curves)) {
13533
+ const cache = g.cacheArea,
13534
+ totalLen = cache.top.curves.reduce((a, b) => a + b.getLength(), 0);
13535
+ return this._updateCurves(customPath, cache.top.curves, totalLen, ratio);
13536
+ }
13537
+ }
13538
+ _updateCurves(customPath, curves, totalLen, ratio) {
13539
+ var _a, _b;
13540
+ const startLen = totalLen * ratio,
13541
+ endLen = Math.min(null !== (_b = startLen + (null === (_a = this.params) || void 0 === _a ? void 0 : _a.streamLength)) && void 0 !== _b ? _b : 10, totalLen);
13542
+ let lastLen = 0,
13543
+ start = !1;
13544
+ for (let i = 0; i < curves.length; i++) if (!1 !== curves[i].defined) {
13545
+ const curveItem = curves[i],
13546
+ len = curveItem.getLength(),
13547
+ startPercent = 1 - (lastLen + len - startLen) / len;
13548
+ let curveForStart,
13549
+ endPercent = 1 - (lastLen + len - endLen) / len;
13550
+ if (lastLen < startLen && lastLen + len > startLen) if (start = !0, curveItem.p2 && curveItem.p3) {
13551
+ const [_, curve2] = divideCubic(curveItem, startPercent);
13552
+ customPath.moveTo(curve2.p0.x, curve2.p0.y), curveForStart = curve2;
13553
+ } else {
13554
+ const p = curveItem.getPointAt(startPercent);
13555
+ customPath.moveTo(p.x, p.y);
13556
+ }
13557
+ if (lastLen < endLen && lastLen + len > endLen) {
13558
+ if (curveItem.p2 && curveItem.p3) {
13559
+ curveForStart && (endPercent = (endLen - startLen) / curveForStart.getLength());
13560
+ const [curve1] = divideCubic(curveForStart || curveItem, endPercent);
13561
+ customPath.bezierCurveTo(curve1.p1.x, curve1.p1.y, curve1.p2.x, curve1.p2.y, curve1.p3.x, curve1.p3.y);
13562
+ } else {
13563
+ const p = curveItem.getPointAt(endPercent);
13564
+ customPath.lineTo(p.x, p.y);
13565
+ }
13566
+ break;
13567
+ }
13568
+ if (start) if (curveItem.p2 && curveItem.p3) {
13569
+ const curve = curveForStart || curveItem;
13570
+ customPath.bezierCurveTo(curve.p1.x, curve.p1.y, curve.p2.x, curve.p2.y, curve.p3.x, curve.p3.y);
13571
+ } else customPath.lineTo(curveItem.p1.x, curveItem.p1.y);
13572
+ lastLen += len;
13573
+ }
13574
+ }
13575
+ _onUpdateLineWithoutCache(customPath, line, end, ratio, out) {
13576
+ var _a, _b;
13577
+ const {
13578
+ points: points,
13579
+ curveType: curveType
13580
+ } = line.attribute;
13581
+ if (!points || points.length < 2 || "linear" !== curveType) return;
13582
+ let totalLen = 0;
13583
+ for (let i = 1; i < points.length; i++) totalLen += PointService.distancePP(points[i], points[i - 1]);
13584
+ const startLen = totalLen * ratio,
13585
+ endLen = Math.min(null !== (_b = startLen + (null === (_a = this.params) || void 0 === _a ? void 0 : _a.streamLength)) && void 0 !== _b ? _b : 10, totalLen),
13586
+ nextPoints = [];
13587
+ let lastLen = 0;
13588
+ for (let i = 1; i < points.length; i++) {
13589
+ const len = PointService.distancePP(points[i], points[i - 1]);
13590
+ if (lastLen < startLen && lastLen + len > startLen && nextPoints.push(PointService.pointAtPP(points[i - 1], points[i], 1 - (lastLen + len - startLen) / len)), lastLen < endLen && lastLen + len > endLen) {
13591
+ nextPoints.push(PointService.pointAtPP(points[i - 1], points[i], 1 - (lastLen + len - endLen) / len));
13592
+ break;
13593
+ }
13594
+ nextPoints.length && nextPoints.push(points[i]), lastLen += len;
13595
+ }
13596
+ if (nextPoints.length && !(nextPoints.length < 2)) {
13597
+ customPath.clear(), customPath.moveTo(nextPoints[0].x, nextPoints[0].y);
13598
+ for (let i = 1; i < nextPoints.length; i++) customPath.lineTo(nextPoints[i].x, nextPoints[i].y);
13599
+ }
13600
+ }
13601
+ }
13368
13602
  class TagPointsUpdate extends ACustomAnimate {
13369
13603
  constructor(from, to, duration, easing, params) {
13370
13604
  var _a, _b;
@@ -48434,11 +48668,20 @@ function stackMosaic(s, stackCache, mosaicData) {
48434
48668
  const mosaicStackData = {
48435
48669
  key: `${stackCache.groupField}`,
48436
48670
  values: groupValues.map(group => {
48671
+ var _a, _b;
48437
48672
  const groupValues = stackCache.nodes[group];
48673
+ let value;
48674
+ if (s.bandWidthField) {
48675
+ value =
48676
+ (_b = (_a = groupValues.values.find(v => isValid$1(v[s.bandWidthField]))) === null || _a === void 0 ? void 0 : _a[s.bandWidthField]) !== null && _b !== void 0 ? _b : groupValues.total;
48677
+ }
48678
+ else {
48679
+ value = groupValues.total;
48680
+ }
48438
48681
  return {
48439
48682
  groupValue: group,
48440
- value: groupValues.total,
48441
- end: groupValues.total
48683
+ value,
48684
+ end: value
48442
48685
  };
48443
48686
  })
48444
48687
  };
@@ -49318,6 +49561,7 @@ const isStopsEqual = (prev, next) => {
49318
49561
  if (prev === next) return !0;
49319
49562
  if (typeof prev != typeof next) return !1;
49320
49563
  if (isString$1(prev)) return !1;
49564
+ if (isArray$1(prev)) return prev.length === next.length && prev.every((prevEntry, index) => isColorAttrEqual(prevEntry, next[index]));
49321
49565
  if (prev.gradient !== next.gradient) return !1;
49322
49566
  const prevKeys = Object.keys(prev),
49323
49567
  nextKeys = Object.keys(next);
@@ -49915,7 +50159,7 @@ class ElementHighlight extends BaseInteraction {
49915
50159
  if (element) {
49916
50160
  const hasActiveElement = this._marks && this._marks.includes(element.mark);
49917
50161
  "view" !== this._resetType || hasActiveElement ? "self" === this._resetType && hasActiveElement && this.resetAll() : this.resetAll();
49918
- }
50162
+ } else "view" === this._resetType && this.resetAll();
49919
50163
  }, this.options = Object.assign({}, ElementHighlight.defaultOptions, options), this._marks = view.getMarksBySelector(this.options.selector), this._stateMarks = groupMarksByState(this._marks, [this.options.highlightState, this.options.blurState]);
49920
50164
  }
49921
50165
  getStartState() {
@@ -55897,26 +56141,29 @@ const growPointsOut = (element, options, animationParameters) => ({
55897
56141
  points: getCenterPoints(element, options)
55898
56142
  }
55899
56143
  });
55900
- const changePointsX = (element, options, animationParameters) => element.getGraphicAttribute("points", !1).map(point => {
56144
+ const changePointsX = (element, options, animationParameters) => {
55901
56145
  var _a;
55902
- if (options && "negative" === options.orient) {
55903
- let groupRight = animationParameters.width;
55904
- return animationParameters.group && (groupRight = null !== (_a = animationParameters.groupWidth) && void 0 !== _a ? _a : animationParameters.group.getBounds().width(), animationParameters.groupWidth = groupRight), Object.assign(Object.assign({}, point), {
55905
- x: groupRight,
56146
+ return (null !== (_a = element.getGraphicAttribute("points", !1)) && void 0 !== _a ? _a : []).map(point => {
56147
+ var _a;
56148
+ if (options && "negative" === options.orient) {
56149
+ let groupRight = animationParameters.width;
56150
+ return animationParameters.group && (groupRight = null !== (_a = animationParameters.groupWidth) && void 0 !== _a ? _a : animationParameters.group.getBounds().width(), animationParameters.groupWidth = groupRight), Object.assign(Object.assign({}, point), {
56151
+ x: groupRight,
56152
+ y: point.y,
56153
+ x1: groupRight,
56154
+ y1: point.y1,
56155
+ defined: !1 !== point.defined
56156
+ });
56157
+ }
56158
+ return Object.assign(Object.assign({}, point), {
56159
+ x: 0,
55906
56160
  y: point.y,
55907
- x1: groupRight,
56161
+ x1: 0,
55908
56162
  y1: point.y1,
55909
56163
  defined: !1 !== point.defined
55910
56164
  });
55911
- }
55912
- return Object.assign(Object.assign({}, point), {
55913
- x: 0,
55914
- y: point.y,
55915
- x1: 0,
55916
- y1: point.y1,
55917
- defined: !1 !== point.defined
55918
56165
  });
55919
- });
56166
+ };
55920
56167
  const growPointsXIn = (element, options, animationParameters) => ({
55921
56168
  from: {
55922
56169
  points: changePointsX(element, options, animationParameters)
@@ -55933,26 +56180,29 @@ const growPointsXOut = (element, options, animationParameters) => ({
55933
56180
  points: changePointsX(element, options, animationParameters)
55934
56181
  }
55935
56182
  });
55936
- const changePointsY = (element, options, animationParameters) => element.getGraphicAttribute("points", !1).map(point => {
56183
+ const changePointsY = (element, options, animationParameters) => {
55937
56184
  var _a;
55938
- if (options && "negative" === options.orient) {
55939
- let groupBottom = animationParameters.height;
55940
- return animationParameters.group && (groupBottom = null !== (_a = animationParameters.groupHeight) && void 0 !== _a ? _a : animationParameters.group.getBounds().height(), animationParameters.groupHeight = groupBottom), Object.assign(Object.assign({}, point), {
56185
+ return (null !== (_a = element.getGraphicAttribute("points", !1)) && void 0 !== _a ? _a : []).map(point => {
56186
+ var _a;
56187
+ if (options && "negative" === options.orient) {
56188
+ let groupBottom = animationParameters.height;
56189
+ return animationParameters.group && (groupBottom = null !== (_a = animationParameters.groupHeight) && void 0 !== _a ? _a : animationParameters.group.getBounds().height(), animationParameters.groupHeight = groupBottom), Object.assign(Object.assign({}, point), {
56190
+ x: point.x,
56191
+ y: groupBottom,
56192
+ x1: point.x1,
56193
+ y1: groupBottom,
56194
+ defined: !1 !== point.defined
56195
+ });
56196
+ }
56197
+ return Object.assign(Object.assign({}, point), {
55941
56198
  x: point.x,
55942
- y: groupBottom,
56199
+ y: 0,
55943
56200
  x1: point.x1,
55944
- y1: groupBottom,
56201
+ y1: 0,
55945
56202
  defined: !1 !== point.defined
55946
56203
  });
55947
- }
55948
- return Object.assign(Object.assign({}, point), {
55949
- x: point.x,
55950
- y: 0,
55951
- x1: point.x1,
55952
- y1: 0,
55953
- defined: !1 !== point.defined
55954
56204
  });
55955
- });
56205
+ };
55956
56206
  const growPointsYIn = (element, options, animationParameters) => ({
55957
56207
  from: {
55958
56208
  points: changePointsY(element, options, animationParameters)
@@ -63867,7 +64117,7 @@ const registerVChartCore = () => {
63867
64117
  };
63868
64118
  registerVChartCore();
63869
64119
 
63870
- const version = "1.13.10-alpha.0";
64120
+ const version = "1.13.10";
63871
64121
 
63872
64122
  const addVChartProperty = (data, op) => {
63873
64123
  const context = op.beforeCall();
@@ -90003,11 +90253,14 @@ class MosaicSeries extends BarSeries {
90003
90253
  this.type = SeriesTypeEnum.mosaic;
90004
90254
  this.transformerConstructor = BarSeriesSpecTransformer;
90005
90255
  }
90256
+ get bandWidthField() {
90257
+ return this._bandWidthField;
90258
+ }
90006
90259
  getStack() {
90007
90260
  return true;
90008
90261
  }
90009
90262
  getPercent() {
90010
- return !!this.getSeriesField();
90263
+ return this._spec.percent;
90011
90264
  }
90012
90265
  getGroupFields() {
90013
90266
  return this.direction === 'vertical' ? this._specXField : this._specYField;
@@ -90031,6 +90284,9 @@ class MosaicSeries extends BarSeries {
90031
90284
  this.setFieldX(MOSAIC_CAT_END_PERCENT);
90032
90285
  this.setFieldX2(MOSAIC_CAT_START_PERCENT);
90033
90286
  }
90287
+ if (this._spec.bandWidthField) {
90288
+ this._bandWidthField = this._spec.bandWidthField;
90289
+ }
90034
90290
  }
90035
90291
  parseLabelStyle(labelStyle, labelSpec) {
90036
90292
  if ((labelSpec === null || labelSpec === void 0 ? void 0 : labelSpec.filterByGroup) && isNil$1(labelStyle.dataFilter)) {
@@ -94256,18 +94512,17 @@ class Tooltip extends BaseComponent {
94256
94512
  if (!this._needInitEventOfTooltip) {
94257
94513
  return;
94258
94514
  }
94259
- const container = (_b = (_a = this.tooltipHandler).getTooltipContainer) === null || _b === void 0 ? void 0 : _b.call(_a);
94260
- const element = container === null || container === void 0 ? void 0 : container.firstChild;
94261
- if (element) {
94262
- element.addEventListener('pointerenter', () => {
94515
+ const container = (_b = (_a = this.tooltipHandler).getRootDom) === null || _b === void 0 ? void 0 : _b.call(_a);
94516
+ if (container) {
94517
+ container.addEventListener('pointerenter', () => {
94263
94518
  var _a;
94264
94519
  if (!this._enterable) {
94265
94520
  return;
94266
94521
  }
94267
94522
  this._isEnterTooltip = true;
94268
- const rect = (_a = element.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(element);
94523
+ const rect = (_a = container.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(container);
94269
94524
  if (rect) {
94270
- this._cacheEnterableRect = { x: rect.x, y: rect.y, width: rect.width, height: rect.height };
94525
+ this._cacheEnterableRect = { width: rect.width, height: rect.height };
94271
94526
  }
94272
94527
  if (this._outTimer) {
94273
94528
  clearTimeout(this._outTimer);
@@ -94278,14 +94533,14 @@ class Tooltip extends BaseComponent {
94278
94533
  this._showTimer = null;
94279
94534
  }
94280
94535
  });
94281
- element.addEventListener('pointerleave', () => {
94536
+ container.addEventListener('pointerleave', () => {
94282
94537
  var _a, _b, _c;
94283
94538
  if (!this._enterable) {
94284
94539
  return;
94285
94540
  }
94286
94541
  this._isEnterTooltip = false;
94287
94542
  if (this._cacheEnterableRect) {
94288
- const newRect = (_a = element.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(element);
94543
+ const newRect = (_a = container.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(container);
94289
94544
  if (newRect &&
94290
94545
  Object.keys(this._cacheEnterableRect).every(k => this._cacheEnterableRect[k] === newRect[k])) {
94291
94546
  this._cacheEnterableRect = null;
@@ -102699,6 +102954,9 @@ class DomTooltipHandler extends BaseTooltipHandler {
102699
102954
  this._rootDom.style.visibility = _value ? 'visible' : 'hidden';
102700
102955
  }
102701
102956
  }
102957
+ getRootDom() {
102958
+ return this._rootDom;
102959
+ }
102702
102960
  constructor() {
102703
102961
  super(DomTooltipHandler.type);
102704
102962
  this.type = TooltipHandlerType.dom;
@@ -103631,7 +103889,8 @@ class MosaicChartSpecTransformer extends CartesianChartSpecTransformer {
103631
103889
  'barBackground',
103632
103890
  'barMinHeight',
103633
103891
  'stackCornerRadius',
103634
- 'bar'
103892
+ 'bar',
103893
+ 'bandWidthField'
103635
103894
  ]);
103636
103895
  }
103637
103896
  transformSpec(spec) {
@@ -104104,4 +104363,4 @@ const registerMediaQuery = () => {
104104
104363
  registerChartPlugin(MediaQuery);
104105
104364
  };
104106
104365
 
104107
- export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PictogramChart, PictogramSeries, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, alternatingWave, builtinThemes, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, functionTransform, getActualColor, getCartesianDimensionInfo, getColorSchemeBySeries, getDataScheme, getFieldAlias, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, mergeFields, particleEffect, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPictogramChart, registerPictogramSeries, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };
104366
+ export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PictogramChart, PictogramSeries, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, alternatingWave, builtinThemes, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, functionTransform, getActualColor, getCartesianDimensionInfo, getColorSchemeBySeries, getDataScheme, getFieldAlias, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, mergeFields, particleEffect, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPictogramChart, registerPictogramSeries, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };