@visactor/vtable 1.6.0-alpha.5 → 1.6.0

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 (141) hide show
  1. package/cjs/ListTable.js +9 -9
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/components/title/title.js +3 -1
  4. package/cjs/components/title/title.js.map +1 -1
  5. package/cjs/core/BaseTable.d.ts +0 -2
  6. package/cjs/core/BaseTable.js +7 -10
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/style.js +1 -1
  9. package/cjs/core/style.js.map +1 -1
  10. package/cjs/core/tableHelper.d.ts +1 -1
  11. package/cjs/core/tableHelper.js +4 -5
  12. package/cjs/core/tableHelper.js.map +1 -1
  13. package/cjs/dataset/dataset-pivot-table.js +0 -1
  14. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  15. package/cjs/event/listener/table-group.js +4 -6
  16. package/cjs/event/listener/table-group.js.map +1 -1
  17. package/cjs/index.d.ts +5 -3
  18. package/cjs/index.js +25 -2
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/layout/pivot-header-layout.js +4 -2
  21. package/cjs/layout/pivot-header-layout.js.map +1 -1
  22. package/cjs/layout/simple-header-layout.js +4 -2
  23. package/cjs/layout/simple-header-layout.js.map +1 -1
  24. package/cjs/scenegraph/component/table-component.js +14 -18
  25. package/cjs/scenegraph/component/table-component.js.map +1 -1
  26. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +1 -1
  27. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  28. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +1 -4
  29. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +4 -59
  30. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +9 -1
  32. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  33. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  34. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  35. package/cjs/scenegraph/layout/compute-row-height.js +2 -2
  36. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  37. package/cjs/scenegraph/scenegraph.js +8 -5
  38. package/cjs/scenegraph/scenegraph.js.map +1 -1
  39. package/cjs/scenegraph/stick-text/index.js +5 -6
  40. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  41. package/cjs/scenegraph/utils/cell-border-stroke-width.js +14 -9
  42. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  43. package/cjs/scenegraph/utils/text-icon-layout.js +6 -4
  44. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  45. package/cjs/state/state.d.ts +2 -2
  46. package/cjs/state/state.js +4 -4
  47. package/cjs/state/state.js.map +1 -1
  48. package/cjs/themes/theme.js +0 -6
  49. package/cjs/themes/theme.js.map +1 -1
  50. package/cjs/tools/style.d.ts +1 -2
  51. package/cjs/tools/style.js +3 -9
  52. package/cjs/tools/style.js.map +1 -1
  53. package/cjs/ts-types/base-table.d.ts +0 -2
  54. package/cjs/ts-types/base-table.js.map +1 -1
  55. package/cjs/ts-types/column/style.d.ts +2 -2
  56. package/cjs/ts-types/column/style.js.map +1 -1
  57. package/cjs/ts-types/component/index.d.ts +1 -0
  58. package/cjs/ts-types/component/index.js +21 -0
  59. package/cjs/ts-types/component/index.js.map +1 -0
  60. package/cjs/ts-types/index.d.ts +1 -0
  61. package/cjs/ts-types/index.js +1 -1
  62. package/cjs/ts-types/index.js.map +1 -1
  63. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -0
  64. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  65. package/cjs/ts-types/table-engine.d.ts +1 -46
  66. package/cjs/ts-types/table-engine.js.map +1 -1
  67. package/cjs/ts-types/theme.d.ts +0 -2
  68. package/cjs/ts-types/theme.js.map +1 -1
  69. package/cjs/vrender.js.map +1 -1
  70. package/dist/vtable.js +309 -428
  71. package/dist/vtable.min.js +2 -2
  72. package/es/ListTable.js +9 -9
  73. package/es/ListTable.js.map +1 -1
  74. package/es/components/title/title.js +3 -1
  75. package/es/components/title/title.js.map +1 -1
  76. package/es/core/BaseTable.d.ts +0 -2
  77. package/es/core/BaseTable.js +9 -11
  78. package/es/core/BaseTable.js.map +1 -1
  79. package/es/core/style.js +1 -1
  80. package/es/core/style.js.map +1 -1
  81. package/es/core/tableHelper.d.ts +1 -1
  82. package/es/core/tableHelper.js +3 -5
  83. package/es/core/tableHelper.js.map +1 -1
  84. package/es/dataset/dataset-pivot-table.js +0 -1
  85. package/es/dataset/dataset-pivot-table.js.map +1 -1
  86. package/es/event/listener/table-group.js +4 -6
  87. package/es/event/listener/table-group.js.map +1 -1
  88. package/es/index.d.ts +5 -3
  89. package/es/index.js +5 -1
  90. package/es/index.js.map +1 -1
  91. package/es/layout/pivot-header-layout.js +4 -2
  92. package/es/layout/pivot-header-layout.js.map +1 -1
  93. package/es/layout/simple-header-layout.js +4 -2
  94. package/es/layout/simple-header-layout.js.map +1 -1
  95. package/es/scenegraph/component/table-component.js +14 -18
  96. package/es/scenegraph/component/table-component.js.map +1 -1
  97. package/es/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
  98. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  99. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +1 -4
  100. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +3 -52
  101. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  102. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +9 -1
  103. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  104. package/es/scenegraph/layout/compute-col-width.js +1 -3
  105. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  106. package/es/scenegraph/layout/compute-row-height.js +2 -2
  107. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  108. package/es/scenegraph/scenegraph.js +8 -5
  109. package/es/scenegraph/scenegraph.js.map +1 -1
  110. package/es/scenegraph/stick-text/index.js +5 -6
  111. package/es/scenegraph/stick-text/index.js.map +1 -1
  112. package/es/scenegraph/utils/cell-border-stroke-width.js +9 -6
  113. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  114. package/es/scenegraph/utils/text-icon-layout.js +6 -4
  115. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  116. package/es/state/state.d.ts +2 -2
  117. package/es/state/state.js +4 -4
  118. package/es/state/state.js.map +1 -1
  119. package/es/themes/theme.js +0 -6
  120. package/es/themes/theme.js.map +1 -1
  121. package/es/tools/style.d.ts +1 -2
  122. package/es/tools/style.js +2 -7
  123. package/es/tools/style.js.map +1 -1
  124. package/es/ts-types/base-table.d.ts +0 -2
  125. package/es/ts-types/base-table.js.map +1 -1
  126. package/es/ts-types/column/style.d.ts +2 -2
  127. package/es/ts-types/column/style.js.map +1 -1
  128. package/es/ts-types/component/index.d.ts +1 -0
  129. package/es/ts-types/component/index.js +2 -0
  130. package/es/ts-types/component/index.js.map +1 -0
  131. package/es/ts-types/index.d.ts +1 -0
  132. package/es/ts-types/index.js +2 -0
  133. package/es/ts-types/index.js.map +1 -1
  134. package/es/ts-types/list-table/layout-map/api.d.ts +1 -0
  135. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  136. package/es/ts-types/table-engine.d.ts +1 -46
  137. package/es/ts-types/table-engine.js.map +1 -1
  138. package/es/ts-types/theme.d.ts +0 -2
  139. package/es/ts-types/theme.js.map +1 -1
  140. package/es/vrender.js.map +1 -1
  141. package/package.json +8 -8
package/dist/vtable.js CHANGED
@@ -1837,11 +1837,11 @@
1837
1837
  }
1838
1838
 
1839
1839
  const epsilon = 1e-12;
1840
- const pi$1 = Math.PI;
1841
- const halfPi$2 = pi$1 / 2;
1842
- const tau = 2 * pi$1;
1840
+ const pi = Math.PI;
1841
+ const halfPi$1 = pi / 2;
1842
+ const tau = 2 * pi;
1843
1843
  const pi2 = 2 * Math.PI;
1844
- const abs$1 = Math.abs;
1844
+ const abs = Math.abs;
1845
1845
  const atan2 = Math.atan2;
1846
1846
  const cos = Math.cos;
1847
1847
  const max = Math.max;
@@ -1850,10 +1850,10 @@
1850
1850
  const sqrt = Math.sqrt;
1851
1851
  const pow = Math.pow;
1852
1852
  function acos(x) {
1853
- return x > 1 ? 0 : x < -1 ? pi$1 : Math.acos(x);
1853
+ return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
1854
1854
  }
1855
1855
  function asin(x) {
1856
- return x >= 1 ? halfPi$2 : x <= -1 ? -halfPi$2 : Math.asin(x);
1856
+ return x >= 1 ? halfPi$1 : x <= -1 ? -halfPi$1 : Math.asin(x);
1857
1857
  }
1858
1858
  function pointAt(x1, y1, x2, y2, t) {
1859
1859
  let x = x2,
@@ -1867,7 +1867,7 @@
1867
1867
  return dir1[0] * dir2[1] - dir1[1] * dir2[0];
1868
1868
  }
1869
1869
  function fuzzyEqualVec(a, b) {
1870
- return abs$1(a[0] - b[0]) + abs$1(a[1] - b[1]) < 1e-12;
1870
+ return abs(a[0] - b[0]) + abs(a[1] - b[1]) < 1e-12;
1871
1871
  }
1872
1872
  function getDecimalPlaces(n) {
1873
1873
  const dStr = n.toString().split(/[eE]/),
@@ -2896,9 +2896,9 @@
2896
2896
  A1B1 = vector(rect2[0], rect2[1]),
2897
2897
  B1C1 = vector(rect2[1], rect2[2]),
2898
2898
  deg11 = isDeg ? box1.angle : degreeToRadian$1(box1.angle);
2899
- let deg12 = isDeg ? box1.angle + halfPi$2 : degreeToRadian$1(90 - box1.angle);
2899
+ let deg12 = isDeg ? box1.angle + halfPi$1 : degreeToRadian$1(90 - box1.angle);
2900
2900
  const deg21 = isDeg ? box2.angle : degreeToRadian$1(box2.angle);
2901
- let deg22 = isDeg ? box2.angle + halfPi$2 : degreeToRadian$1(90 - box2.angle);
2901
+ let deg22 = isDeg ? box2.angle + halfPi$1 : degreeToRadian$1(90 - box2.angle);
2902
2902
  deg12 > pi2 && (deg12 -= pi2), deg22 > pi2 && (deg22 -= pi2);
2903
2903
  const isCover = (checkAxisRadius, deg, targetAxis1, targetAxis2) => {
2904
2904
  const checkAxis = [Math.cos(deg), Math.sin(deg)];
@@ -3272,7 +3272,7 @@
3272
3272
  function update(a) {
3273
3273
  x = r * Math.cos(a), y = r * Math.sin(a), x < xmin && (xmin = x), x > xmax && (xmax = x), y < ymin && (ymin = y), y > ymax && (ymax = y);
3274
3274
  }
3275
- if (update(sa), update(ea), ea !== sa) if ((sa %= tau) < 0 && (sa += tau), (ea %= tau) < 0 && (ea += tau), ea < sa && (ccw = !ccw, s = sa, sa = ea, ea = s), ccw) for (ea -= tau, s = sa - sa % halfPi$2, i = 0; i < 4 && s > ea; ++i, s -= halfPi$2) update(s);else for (s = sa - sa % halfPi$2 + halfPi$2, i = 0; i < 4 && s < ea; ++i, s += halfPi$2) update(s);
3275
+ if (update(sa), update(ea), ea !== sa) if ((sa %= tau) < 0 && (sa += tau), (ea %= tau) < 0 && (ea += tau), ea < sa && (ccw = !ccw, s = sa, sa = ea, ea = s), ccw) for (ea -= tau, s = sa - sa % halfPi$1, i = 0; i < 4 && s > ea; ++i, s -= halfPi$1) update(s);else for (s = sa - sa % halfPi$1 + halfPi$1, i = 0; i < 4 && s < ea; ++i, s += halfPi$1) update(s);
3276
3276
  this.bounds.add(cx + xmin, cy + ymin), this.bounds.add(cx + xmax, cy + ymax);
3277
3277
  }
3278
3278
  arcTo(x1, y1, x2, y2, radius) {
@@ -3439,7 +3439,7 @@
3439
3439
  th0 = Math.atan2(y0 - yc, x0 - xc);
3440
3440
  let th_arc = Math.atan2(y1 - yc, x1 - xc) - th0;
3441
3441
  th_arc < 0 && 1 === sweep ? th_arc += tau : th_arc > 0 && 0 === sweep && (th_arc -= tau);
3442
- const segs = Math.ceil(Math.abs(th_arc / (halfPi$2 + .001))),
3442
+ const segs = Math.ceil(Math.abs(th_arc / (halfPi$1 + .001))),
3443
3443
  result = [];
3444
3444
  for (let i = 0; i < segs; ++i) {
3445
3445
  const th2 = th0 + i * th_arc / segs,
@@ -3574,7 +3574,7 @@
3574
3574
  return this._validPoint() ? cubicLength(this.p0, this.p1, this.p2, this.p3) : 60;
3575
3575
  }
3576
3576
  calcProjLength(direction) {
3577
- return direction === Direction$2.ROW ? abs$1(this.p0.x - this.p3.x) : direction === Direction$2.COLUMN ? abs$1(this.p0.y - this.p3.y) : 0;
3577
+ return direction === Direction$2.ROW ? abs(this.p0.x - this.p3.x) : direction === Direction$2.COLUMN ? abs(this.p0.y - this.p3.y) : 0;
3578
3578
  }
3579
3579
  getAngleAt(t) {
3580
3580
  const minT = max(t - .01, 0),
@@ -3611,7 +3611,7 @@
3611
3611
  return this._validPoint() ? PointService.distancePP(this.p0, this.p1) : 60;
3612
3612
  }
3613
3613
  calcProjLength(direction) {
3614
- return direction === Direction$2.ROW ? abs$1(this.p0.x - this.p1.x) : direction === Direction$2.COLUMN ? abs$1(this.p0.y - this.p1.y) : 0;
3614
+ return direction === Direction$2.ROW ? abs(this.p0.x - this.p1.x) : direction === Direction$2.COLUMN ? abs(this.p0.y - this.p1.y) : 0;
3615
3615
  }
3616
3616
  }
3617
3617
 
@@ -3673,14 +3673,14 @@
3673
3673
  const sc = this.curves[0],
3674
3674
  ec = this.curves[this.curves.length - 1],
3675
3675
  endP = null !== (_a = ec.p3) && void 0 !== _a ? _a : ec.p1;
3676
- return abs$1(sc.p0.y - endP.y);
3676
+ return abs(sc.p0.y - endP.y);
3677
3677
  }
3678
3678
  if (direction === Direction$2.ROW) {
3679
3679
  if (!this.curves.length) return 0;
3680
3680
  const sc = this.curves[0],
3681
3681
  ec = this.curves[this.curves.length - 1],
3682
3682
  endP = null !== (_b = ec.p3) && void 0 !== _b ? _b : ec.p1;
3683
- return abs$1(sc.p0.x - endP.x);
3683
+ return abs(sc.p0.x - endP.x);
3684
3684
  }
3685
3685
  return Number.isFinite(this.length) || (this.length = this.curves.reduce((l, c) => l + c.getLength(), 0)), this.length;
3686
3686
  }
@@ -3705,7 +3705,7 @@
3705
3705
  for (let i = 0, n = points.length; i <= n; i++) i >= n === defined0 && ((defined0 = !defined0) ? path.lineStart() : path.lineEnd()), defined0 && path.point(points[i]);
3706
3706
  }
3707
3707
  function genSegContext(curveType, direction, points) {
3708
- const curveDirection = null != direction ? direction : abs$1(points[points.length - 1].x - points[0].x) > abs$1(points[points.length - 1].y - points[0].y) ? Direction$2.ROW : Direction$2.COLUMN;
3708
+ const curveDirection = null != direction ? direction : abs(points[points.length - 1].x - points[0].x) > abs(points[points.length - 1].y - points[0].y) ? Direction$2.ROW : Direction$2.COLUMN;
3709
3709
  return "monotoneY" === curveType ? new ReflectSegContext(curveType, curveDirection) : new SegContext(curveType, curveDirection);
3710
3710
  }
3711
3711
 
@@ -3967,7 +3967,7 @@
3967
3967
  startPoint: startPoint
3968
3968
  } = params;
3969
3969
  if (points.length < 2 - Number(!!startPoint)) return null;
3970
- const segContext = new SegContext("step", null != direction ? direction : abs$1(points[points.length - 1].x - points[0].x) > abs$1(points[points.length - 1].y - points[0].y) ? Direction$2.ROW : Direction$2.COLUMN);
3970
+ const segContext = new SegContext("step", null != direction ? direction : abs(points[points.length - 1].x - points[0].x) > abs(points[points.length - 1].y - points[0].y) ? Direction$2.ROW : Direction$2.COLUMN);
3971
3971
  return genStepTypeSegments(new Step$1(segContext, t, startPoint), points), segContext;
3972
3972
  }
3973
3973
  function genStepTypeSegments(path, points) {
@@ -4453,13 +4453,13 @@
4453
4453
  if (!this.curves.length) return 0;
4454
4454
  const sc = this.curves[0],
4455
4455
  ec = this.curves[this.curves.length - 1];
4456
- return abs$1(sc.p0.y - ec.p1.y);
4456
+ return abs(sc.p0.y - ec.p1.y);
4457
4457
  }
4458
4458
  if (this.direction === Direction$2.ROW) {
4459
4459
  if (!this.curves.length) return 0;
4460
4460
  const sc = this.curves[0],
4461
4461
  ec = this.curves[this.curves.length - 1];
4462
- return abs$1(sc.p0.x - ec.p1.x);
4462
+ return abs(sc.p0.x - ec.p1.x);
4463
4463
  }
4464
4464
  return this.curves.reduce((l, c) => l + c.getLength(), 0);
4465
4465
  }
@@ -5455,13 +5455,13 @@
5455
5455
  if (x_ + cx > x) {
5456
5456
  let angle = Math.atan2(y, x_),
5457
5457
  dir = anticlockwise ? 1 : -1;
5458
- angle < 0 && (angle = pi2 + angle), (angle >= startAngle && angle <= endAngle || angle + pi2 >= startAngle && angle + pi2 <= endAngle) && (angle > pi$1 / 2 && angle < 1.5 * pi$1 && (dir = -dir), w += dir);
5458
+ angle < 0 && (angle = pi2 + angle), (angle >= startAngle && angle <= endAngle || angle + pi2 >= startAngle && angle + pi2 <= endAngle) && (angle > pi / 2 && angle < 1.5 * pi && (dir = -dir), w += dir);
5459
5459
  }
5460
5460
  }
5461
5461
  return w;
5462
5462
  }
5463
5463
  function modpi2(radian) {
5464
- return Math.round(radian / pi$1 * 1e8) / 1e8 % 2 * pi$1;
5464
+ return Math.round(radian / pi * 1e8) / 1e8 % 2 * pi;
5465
5465
  }
5466
5466
  function normalizeArcAngles(angles, anticlockwise) {
5467
5467
  let newStartAngle = modpi2(angles[0]);
@@ -7763,9 +7763,9 @@
7763
7763
  for (; startAngle < 0;) startAngle += pi2;
7764
7764
  for (; startAngle > endAngle;) endAngle += pi2;
7765
7765
  _coords[0].x = radius, _coords[1].y = radius, _coords[2].x = -radius, _coords[3].y = -radius;
7766
- const startIdx = Math.ceil(startAngle / halfPi$2) % 4,
7767
- endIdx = Math.ceil(endAngle / halfPi$2) % 4;
7768
- if (bounds.add(cos(startAngle) * radius, sin(startAngle) * radius), bounds.add(cos(endAngle) * radius, sin(endAngle) * radius), startIdx !== endIdx || endAngle - startAngle > pi$1) {
7766
+ const startIdx = Math.ceil(startAngle / halfPi$1) % 4,
7767
+ endIdx = Math.ceil(endAngle / halfPi$1) % 4;
7768
+ if (bounds.add(cos(startAngle) * radius, sin(startAngle) * radius), bounds.add(cos(endAngle) * radius, sin(endAngle) * radius), startIdx !== endIdx || endAngle - startAngle > pi) {
7769
7769
  let match = !1;
7770
7770
  for (let i = 0; i < indexList.length; i++) if (match || startIdx !== indexList[i]) {
7771
7771
  if (match && endIdx === indexList[i]) break;
@@ -8488,7 +8488,7 @@
8488
8488
  x = r * Math.sin(phi) * Math.cos(theta) + center.x,
8489
8489
  y = r * Math.cos(phi) + center.y,
8490
8490
  z = r * Math.sin(phi) * Math.sin(theta) + center.z;
8491
- for (out.x = x, out.y = y, out.z = z, out.alpha = theta + pi$1 / 2; out.alpha > pi2;) out.alpha -= pi2;
8491
+ for (out.x = x, out.y = y, out.z = z, out.alpha = theta + pi / 2; out.alpha > pi2;) out.alpha -= pi2;
8492
8492
  out.alpha = pi2 - out.alpha, out.zIndex = -1e4 * out.z, cb && cb(out);
8493
8493
  }
8494
8494
  }
@@ -11267,7 +11267,7 @@
11267
11267
  startAngle: startAngle,
11268
11268
  endAngle: endAngle
11269
11269
  } = arc.getParsedAngle(),
11270
- deltaAngle = abs$1(endAngle - startAngle),
11270
+ deltaAngle = abs(endAngle - startAngle),
11271
11271
  clockwise = endAngle > startAngle;
11272
11272
  let collapsedToLine = !1;
11273
11273
  if (outerRadius < innerRadius) {
@@ -11298,7 +11298,7 @@
11298
11298
  xire = innerRadius * cos(innerEndAngle),
11299
11299
  yire = innerRadius * sin(innerEndAngle);
11300
11300
  let xore, yore, xirs, yirs;
11301
- if ((maxInnerCornerRadius > epsilon || maxOuterCornerRadius > epsilon) && (xore = outerRadius * cos(outerEndAngle), yore = outerRadius * sin(outerEndAngle), xirs = innerRadius * cos(innerStartAngle), yirs = innerRadius * sin(innerStartAngle), deltaAngle < pi$1)) {
11301
+ if ((maxInnerCornerRadius > epsilon || maxOuterCornerRadius > epsilon) && (xore = outerRadius * cos(outerEndAngle), yore = outerRadius * sin(outerEndAngle), xirs = innerRadius * cos(innerStartAngle), yirs = innerRadius * sin(innerStartAngle), deltaAngle < pi)) {
11302
11302
  const oc = intersect$2(xors, yors, xirs, yirs, xore, yore, xire, yire);
11303
11303
  if (oc) {
11304
11304
  const ax = xors - oc[0],
@@ -13606,20 +13606,21 @@
13606
13606
  this.frame.lines.push(line), this.frame.actualHeight += line.height, this.y += line.height, this.lineBuffer.length = 0, this.lineWidth = this.maxAscent = this.maxDescent = this.maxAscentForBlank = this.maxDescentForBlank = 0;
13607
13607
  }
13608
13608
  deal(paragraph) {
13609
- paragraph instanceof RichTextIcon ? "horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : 0 === this.lineBuffer.length ? (this.store(paragraph), this.send()) : (this.send(), this.deal(paragraph)) : "number" != typeof this.width || this.width < 0 || (paragraph.newLine && this.send(), 0 !== paragraph.text.length && ("horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : this.lineWidth === this[this.directionKey.width] ? (this.send(), this.deal(paragraph)) : this.cut(paragraph)));
13609
+ let singleLine = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
13610
+ paragraph instanceof RichTextIcon ? "horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : 0 === this.lineBuffer.length ? (this.store(paragraph), this.send()) : (this.send(), this.deal(paragraph)) : "number" != typeof this.width || this.width < 0 || (paragraph.newLine && this.send(), 0 !== paragraph.text.length && ("horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : this.lineWidth === this[this.directionKey.width] ? (this.send(), this.deal(paragraph)) : this.cut(paragraph, singleLine)));
13610
13611
  }
13611
- cut(paragraph) {
13612
+ cut(paragraph, singleLine) {
13612
13613
  const availableWidth = this[this.directionKey.width] - this.lineWidth || 0,
13613
13614
  guessIndex = Math.ceil(availableWidth / paragraph[this.directionKey.width] * paragraph.length) || 0,
13614
13615
  index = getStrByWithCanvas(paragraph.text, availableWidth, paragraph.character, guessIndex, "break-word" === this.frame.wordBreak);
13615
13616
  if (0 !== index) {
13616
13617
  const [p1, p2] = seperateParagraph(paragraph, index);
13617
- this.store(p1), this.deal(p2);
13618
+ this.store(p1), singleLine ? this.send() : this.deal(p2);
13618
13619
  } else 0 !== this.lineBuffer.length && (this.send(), this.deal(paragraph));
13619
13620
  }
13620
13621
  }
13621
13622
 
13622
- const RICHTEXT_UPDATE_TAG_KEY = ["width", "height", "ellipsis", "wordBreak", "verticalDirection", "maxHeight", "maxWidth", "textAlign", "textBaseline", "textConfig", "layoutDirection", ...GRAPHIC_UPDATE_TAG_KEY];
13623
+ const RICHTEXT_UPDATE_TAG_KEY = ["width", "height", "ellipsis", "wordBreak", "verticalDirection", "maxHeight", "maxWidth", "textAlign", "textBaseline", "textConfig", "layoutDirection", "fill", "stroke", "fontSize", ...GRAPHIC_UPDATE_TAG_KEY];
13623
13624
  class RichText extends Graphic {
13624
13625
  constructor(params) {
13625
13626
  super(params), this.type = "richtext", this._currentHoverIcon = null, this.numberType = RICHTEXT_NUMBER_TYPE;
@@ -13791,7 +13792,7 @@
13791
13792
  skip = !1;
13792
13793
  for (let i = 0; i < paragraphs.length; i++) {
13793
13794
  const p = paragraphs[i];
13794
- skip ? (p.overflow = !0, p.left = 1 / 0, p.top = 1 / 0, !p.newLine && frame.lines[frame.lines.length - 1].paragraphs.push(p)) : wrapper.deal(p), frame.lines.length !== lineCount && (lineCount = frame.lines.length, wrapper.lineBuffer.length = 0, p.overflow = !0, p.left = 1e3, p.top = 1e3, frame.lines[frame.lines.length - 1].paragraphs.push(p), skip = !0), p.newLine && (skip = !1, wrapper.lineWidth = 0);
13795
+ skip ? (p.overflow = !0, p.left = 1 / 0, p.top = 1 / 0, !p.newLine && frame.lines[frame.lines.length - 1].paragraphs.push(p)) : wrapper.deal(p, !0), frame.lines.length !== lineCount && (lineCount = frame.lines.length, wrapper.lineBuffer.length = 0, p.overflow = !0, p.left = 1e3, p.top = 1e3, frame.lines[frame.lines.length - 1].paragraphs.push(p), skip = !0), p.newLine && (skip = !1, wrapper.lineWidth = 0), wrapper.send();
13795
13796
  }
13796
13797
  } else for (let i = 0; i < paragraphs.length; i++) wrapper.deal(paragraphs[i]);
13797
13798
  wrapper.send();
@@ -13832,10 +13833,11 @@
13832
13833
  let pickIcon;
13833
13834
  return frameCache.icons.forEach(icon => {
13834
13835
  var _a, _b;
13835
- icon.AABBBounds.containsPoint({
13836
+ const bounds = icon.AABBBounds.clone();
13837
+ bounds.translate(icon._marginArray[3], icon._marginArray[0]), bounds.containsPoint({
13836
13838
  x: point.x - x,
13837
13839
  y: point.y - y
13838
- }) && (pickIcon = icon, pickIcon.globalX = (null !== (_a = pickIcon.attribute.x) && void 0 !== _a ? _a : 0) + x, pickIcon.globalY = (null !== (_b = pickIcon.attribute.y) && void 0 !== _b ? _b : 0) + y);
13840
+ }) && (pickIcon = icon, pickIcon.globalX = (null !== (_a = pickIcon.attribute.x) && void 0 !== _a ? _a : 0) + x + icon._marginArray[3], pickIcon.globalY = (null !== (_b = pickIcon.attribute.y) && void 0 !== _b ? _b : 0) + y + icon._marginArray[0]);
13839
13841
  }), pickIcon;
13840
13842
  }
13841
13843
  getNoWorkAnimateAttr() {
@@ -14052,7 +14054,7 @@
14052
14054
  } = this.attribute,
14053
14055
  sign = endAngle - startAngle >= 0 ? 1 : -1,
14054
14056
  deltaAngle = endAngle - startAngle;
14055
- if (startAngle = clampAngleByRadian(startAngle), endAngle = startAngle + deltaAngle, cap && abs$1(deltaAngle) < pi2 - epsilon) {
14057
+ if (startAngle = clampAngleByRadian(startAngle), endAngle = startAngle + deltaAngle, cap && abs(deltaAngle) < pi2 - epsilon) {
14056
14058
  let startCap = 1,
14057
14059
  endCap = 1;
14058
14060
  cap.length && (startCap = Number(cap[0]), endCap = Number(cap[1]));
@@ -14094,7 +14096,7 @@
14094
14096
  const {
14095
14097
  padRadius = sqrt(outerRadius * outerRadius + innerRadius * innerRadius)
14096
14098
  } = this.attribute,
14097
- deltaAngle = abs$1(endAngle - startAngle);
14099
+ deltaAngle = abs(endAngle - startAngle);
14098
14100
  let outerStartAngle = startAngle,
14099
14101
  outerEndAngle = endAngle,
14100
14102
  innerStartAngle = startAngle,
@@ -14155,7 +14157,7 @@
14155
14157
  } = this.getParsedAngle();
14156
14158
  let innerRadius = attribute.innerRadius - (attribute.innerPadding || 0),
14157
14159
  outerRadius = attribute.outerRadius - (attribute.outerPadding || 0);
14158
- const deltaAngle = abs$1(endAngle - startAngle),
14160
+ const deltaAngle = abs(endAngle - startAngle),
14159
14161
  clockwise = endAngle > startAngle;
14160
14162
  if (outerRadius < innerRadius) {
14161
14163
  const temp = outerRadius;
@@ -15500,8 +15502,8 @@
15500
15502
  orientation: orientation,
15501
15503
  colorStops = []
15502
15504
  } = datum,
15503
- halfPi = pi$1 / 2,
15504
- sa = parseFloat(orientation.value) / 180 * pi$1 - halfPi;
15505
+ halfPi = pi / 2,
15506
+ sa = parseFloat(orientation.value) / 180 * pi - halfPi;
15505
15507
  return {
15506
15508
  gradient: "conical",
15507
15509
  x: .5,
@@ -15537,15 +15539,15 @@
15537
15539
  orientation: orientation,
15538
15540
  colorStops = []
15539
15541
  } = datum,
15540
- halfPi = pi$1 / 2;
15541
- let angle = "angular" === orientation.type ? parseFloat(orientation.value) / 180 * pi$1 : 0;
15542
+ halfPi = pi / 2;
15543
+ let angle = "angular" === orientation.type ? parseFloat(orientation.value) / 180 * pi : 0;
15542
15544
  for (; angle < 0;) angle += pi2;
15543
15545
  for (; angle > pi2;) angle -= pi2;
15544
15546
  let x0 = 0,
15545
15547
  y0 = 0,
15546
15548
  x1 = 0,
15547
15549
  y1 = 0;
15548
- return angle < halfPi ? (x0 = 0, y0 = 1, x1 = Math.sin(angle), y1 = Math.cos(angle)) : angle < pi$1 ? (x0 = 0, y0 = 0, x1 = Math.cos(angle - halfPi), y1 = Math.sin(angle - halfPi)) : angle < pi$1 + halfPi ? (x0 = 1, y0 = 0, x1 = x0 - Math.sin(angle - pi$1), y1 = Math.cos(angle - pi$1)) : (x0 = 1, x1 = x0 - Math.cos(angle - halfPi - pi$1), y1 -= Math.sin(angle - halfPi - pi$1)), {
15550
+ return angle < halfPi ? (x0 = 0, y0 = 1, x1 = Math.sin(angle), y1 = Math.cos(angle)) : angle < pi ? (x0 = 0, y0 = 0, x1 = Math.cos(angle - halfPi), y1 = Math.sin(angle - halfPi)) : angle < pi + halfPi ? (x0 = 1, y0 = 0, x1 = x0 - Math.sin(angle - pi), y1 = Math.cos(angle - pi)) : (x0 = 1, x1 = x0 - Math.cos(angle - halfPi - pi), y1 -= Math.sin(angle - halfPi - pi)), {
15549
15551
  gradient: "linear",
15550
15552
  x0: x0,
15551
15553
  y0: y0,
@@ -15995,10 +15997,10 @@
15995
15997
  }
15996
15998
  const defaultGroupBackgroundRenderContribution = new DefaultGroupBackgroundRenderContribution();
15997
15999
 
15998
- const halfPi$1 = pi$1 / 2;
15999
- function createRectPath$1(path, x, y, width, height, rectCornerRadius, edgeCb) {
16000
+ const halfPi = pi / 2;
16001
+ function createRectPath(path, x, y, width, height, rectCornerRadius, edgeCb) {
16000
16002
  let cornerRadius;
16001
- if (width < 0 && (x += width, width = -width), height < 0 && (y += height, height = -height), isNumber$4(rectCornerRadius, !0)) cornerRadius = [rectCornerRadius = abs$1(rectCornerRadius), rectCornerRadius, rectCornerRadius, rectCornerRadius];else if (Array.isArray(rectCornerRadius)) {
16003
+ if (width < 0 && (x += width, width = -width), height < 0 && (y += height, height = -height), isNumber$4(rectCornerRadius, !0)) cornerRadius = [rectCornerRadius = abs(rectCornerRadius), rectCornerRadius, rectCornerRadius, rectCornerRadius];else if (Array.isArray(rectCornerRadius)) {
16002
16004
  const cornerRadiusArr = rectCornerRadius;
16003
16005
  let cr0, cr1;
16004
16006
  switch (cornerRadiusArr.length) {
@@ -16006,14 +16008,14 @@
16006
16008
  cornerRadius = [0, 0, 0, 0];
16007
16009
  break;
16008
16010
  case 1:
16009
- cr0 = abs$1(cornerRadiusArr[0]), cornerRadius = [cr0, cr0, cr0, cr0];
16011
+ cr0 = abs(cornerRadiusArr[0]), cornerRadius = [cr0, cr0, cr0, cr0];
16010
16012
  break;
16011
16013
  case 2:
16012
16014
  case 3:
16013
- cr0 = abs$1(cornerRadiusArr[0]), cr1 = abs$1(cornerRadiusArr[1]), cornerRadius = [cr0, cr1, cr0, cr1];
16015
+ cr0 = abs(cornerRadiusArr[0]), cr1 = abs(cornerRadiusArr[1]), cornerRadius = [cr0, cr1, cr0, cr1];
16014
16016
  break;
16015
16017
  default:
16016
- cornerRadius = cornerRadiusArr, cornerRadius[0] = abs$1(cornerRadius[0]), cornerRadius[1] = abs$1(cornerRadius[1]), cornerRadius[2] = abs$1(cornerRadius[2]), cornerRadius[3] = abs$1(cornerRadius[3]);
16018
+ cornerRadius = cornerRadiusArr, cornerRadius[0] = abs(cornerRadius[0]), cornerRadius[1] = abs(cornerRadius[1]), cornerRadius[2] = abs(cornerRadius[2]), cornerRadius[3] = abs(cornerRadius[3]);
16017
16019
  }
16018
16020
  } else cornerRadius = [0, 0, 0, 0];
16019
16021
  if (width < 0 || cornerRadius[0] + cornerRadius[1] + cornerRadius[2] + cornerRadius[3] < 1e-12) return path.rect(x, y, width, height);
@@ -16029,24 +16031,25 @@
16029
16031
  leftBottomPoint1 = [leftBottom[0] + _cornerRadius[3], leftBottom[1]],
16030
16032
  leftBottomPoint2 = [leftBottom[0], leftBottom[1] - _cornerRadius[3]];
16031
16033
  if (path.moveTo(leftTopPoint1[0], leftTopPoint1[1]), edgeCb && edgeCb[0] ? edgeCb[0](leftTopPoint1[0], leftTopPoint1[1], rightTopPoint1[0], rightTopPoint1[1]) : path.lineTo(rightTopPoint1[0], rightTopPoint1[1]), !arrayEqual$1(rightTopPoint1, rightTopPoint2)) {
16034
+ edgeCb && edgeCb[0] && path.moveTo(rightTopPoint1[0], rightTopPoint1[1]);
16032
16035
  const centerX = rightTopPoint1[0],
16033
16036
  centerY = rightTopPoint1[1] + _cornerRadius[1];
16034
- path.arc(centerX, centerY, _cornerRadius[1], -halfPi$1, 0, !1);
16037
+ path.arc(centerX, centerY, _cornerRadius[1], -halfPi, 0, !1);
16035
16038
  }
16036
- if (edgeCb && edgeCb[1] ? edgeCb[1](rightTopPoint1[0], rightTopPoint1[1], rightBottomPoint2[0], rightBottomPoint2[1]) : path.lineTo(rightBottomPoint2[0], rightBottomPoint2[1]), !arrayEqual$1(rightBottomPoint1, rightBottomPoint2)) {
16039
+ if (edgeCb && edgeCb[1] ? edgeCb[1](rightTopPoint2[0], rightTopPoint2[1], rightBottomPoint2[0], rightBottomPoint2[1]) : path.lineTo(rightBottomPoint2[0], rightBottomPoint2[1]), !arrayEqual$1(rightBottomPoint1, rightBottomPoint2)) {
16037
16040
  const centerX = rightBottomPoint2[0] - _cornerRadius[2],
16038
16041
  centerY = rightBottomPoint2[1];
16039
- path.arc(centerX, centerY, _cornerRadius[2], 0, halfPi$1, !1);
16042
+ edgeCb && edgeCb[1] && path.moveTo(rightBottomPoint2[0], rightBottomPoint2[1]), path.arc(centerX, centerY, _cornerRadius[2], 0, halfPi, !1);
16040
16043
  }
16041
- if (edgeCb && edgeCb[2] ? edgeCb[2](rightBottomPoint2[0], rightBottomPoint2[1], leftBottomPoint1[0], leftBottomPoint1[1]) : path.lineTo(leftBottomPoint1[0], leftBottomPoint1[1]), !arrayEqual$1(leftBottomPoint1, leftBottomPoint2)) {
16044
+ if (edgeCb && edgeCb[2] ? edgeCb[2](rightBottomPoint1[0], rightBottomPoint1[1], leftBottomPoint1[0], leftBottomPoint1[1]) : path.lineTo(leftBottomPoint1[0], leftBottomPoint1[1]), !arrayEqual$1(leftBottomPoint1, leftBottomPoint2)) {
16042
16045
  const centerX = leftBottomPoint1[0],
16043
16046
  centerY = leftBottomPoint1[1] - _cornerRadius[3];
16044
- path.arc(centerX, centerY, _cornerRadius[3], halfPi$1, pi$1, !1);
16047
+ edgeCb && edgeCb[2] && path.moveTo(leftBottomPoint1[0], leftBottomPoint1[1]), path.arc(centerX, centerY, _cornerRadius[3], halfPi, pi, !1);
16045
16048
  }
16046
- if (edgeCb && edgeCb[3] ? edgeCb[3](leftBottomPoint1[0], leftBottomPoint1[1], leftTopPoint2[0], leftTopPoint2[1]) : path.lineTo(leftTopPoint2[0], leftTopPoint2[1]), !arrayEqual$1(leftTopPoint1, leftTopPoint2)) {
16049
+ if (edgeCb && edgeCb[3] ? edgeCb[3](leftBottomPoint2[0], leftBottomPoint2[1], leftTopPoint2[0], leftTopPoint2[1]) : path.lineTo(leftTopPoint2[0], leftTopPoint2[1]), !arrayEqual$1(leftTopPoint1, leftTopPoint2)) {
16047
16050
  const centerX = leftTopPoint1[0],
16048
16051
  centerY = leftTopPoint1[1] + _cornerRadius[0];
16049
- path.arc(centerX, centerY, _cornerRadius[0], pi$1, pi$1 + halfPi$1, !1);
16052
+ edgeCb && edgeCb[3] && path.moveTo(leftTopPoint2[0], leftTopPoint2[1]), path.arc(centerX, centerY, _cornerRadius[0], pi, pi + halfPi, !1);
16050
16053
  }
16051
16054
  return !edgeCb && path.closePath(), path;
16052
16055
  }
@@ -16095,7 +16098,7 @@
16095
16098
  nextX = x - d,
16096
16099
  nextY = y - d,
16097
16100
  dw = 2 * d;
16098
- if (0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(nextX, nextY, width + dw, height + dw)) : (context.beginPath(), createRectPath$1(context, nextX, nextY, width + dw, height + dw, cornerRadius)), context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute), strokeCb) strokeCb(context, outerBorder, rectAttribute.outerBorder);else if (doStrokeOuter) {
16101
+ if (0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(nextX, nextY, width + dw, height + dw)) : (context.beginPath(), createRectPath(context, nextX, nextY, width + dw, height + dw, cornerRadius)), context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute), strokeCb) strokeCb(context, outerBorder, rectAttribute.outerBorder);else if (doStrokeOuter) {
16099
16102
  const lastOpacity = rectAttribute.outerBorder.opacity;
16100
16103
  rectAttribute.outerBorder.opacity = opacity, context.setStrokeStyle(rect, outerBorder, (originX - x) / scaleX, (originY - y) / scaleY, rectAttribute.outerBorder), rectAttribute.outerBorder.opacity = lastOpacity, context.stroke();
16101
16104
  }
@@ -16108,7 +16111,7 @@
16108
16111
  nextX = x + d,
16109
16112
  nextY = y + d,
16110
16113
  dw = 2 * d;
16111
- if (0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(nextX, nextY, width - dw, height - dw)) : (context.beginPath(), createRectPath$1(context, nextX, nextY, width - dw, height - dw, cornerRadius)), context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute), strokeCb) strokeCb(context, innerBorder, rectAttribute.innerBorder);else if (doStrokeInner) {
16114
+ if (0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(nextX, nextY, width - dw, height - dw)) : (context.beginPath(), createRectPath(context, nextX, nextY, width - dw, height - dw, cornerRadius)), context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute), strokeCb) strokeCb(context, innerBorder, rectAttribute.innerBorder);else if (doStrokeInner) {
16112
16115
  const lastOpacity = rectAttribute.innerBorder.opacity;
16113
16116
  rectAttribute.innerBorder.opacity = opacity, context.setStrokeStyle(rect, innerBorder, (originX - x) / scaleX, (originY - y) / scaleY, rectAttribute.innerBorder), rectAttribute.innerBorder.opacity = lastOpacity, context.stroke();
16114
16117
  }
@@ -16148,7 +16151,7 @@
16148
16151
  if (context.setStrokeStyle(rect, rect.attribute, x, y, groupAttribute), !(0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num))) {
16149
16152
  let lastStroke,
16150
16153
  lastStrokeI = 0;
16151
- return createRectPath$1(context, x, y, width, height, cornerRadius, new Array(4).fill(0).map((_, i) => (x1, y1, x2, y2) => {
16154
+ return createRectPath(context, x, y, width, height, cornerRadius, new Array(4).fill(0).map((_, i) => (x1, y1, x2, y2) => {
16152
16155
  stroke[i] && (lastStrokeI === i - 1 && stroke[i] === lastStroke || (context.setStrokeStyle(rect, Object.assign(Object.assign({}, rect.attribute), {
16153
16156
  stroke: stroke[i]
16154
16157
  }), x, y, groupAttribute), context.beginPath(), context.moveTo(x1, y1), lastStroke = stroke[i]), lastStrokeI = i, context.lineTo(x2, y2), context.stroke(), 3 === i && context.beginPath());
@@ -16207,7 +16210,7 @@
16207
16210
  width: width,
16208
16211
  height: height
16209
16212
  } = getActualPosition(graphic);
16210
- cornerRadius ? createRectPath$1(context, x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY, cornerRadius) : context.rect(x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY), context.globalAlpha = 1, fill && (context.fillStyle = fill, context.fill()), stroke && lineWidth > 0 && (context.lineWidth = lineWidth, context.strokeStyle = stroke, context.stroke());
16213
+ cornerRadius ? createRectPath(context, x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY, cornerRadius) : context.rect(x - expandX, y - expandY, width + 2 * expandX, height + 2 * expandY), context.globalAlpha = 1, fill && (context.fillStyle = fill, context.fill()), stroke && lineWidth > 0 && (context.lineWidth = lineWidth, context.strokeStyle = stroke, context.stroke());
16211
16214
  } else {
16212
16215
  context.beginPath();
16213
16216
  const b = graphic.AABBBounds;
@@ -16335,7 +16338,7 @@
16335
16338
  startAngle = data.startAngle;
16336
16339
  let endAngle = data.endAngle;
16337
16340
  endAngle = _ea;
16338
- const deltaAngle = abs$1(endAngle - startAngle),
16341
+ const deltaAngle = abs(endAngle - startAngle),
16339
16342
  clockwise = endAngle > startAngle;
16340
16343
  let collapsedToLine = !1;
16341
16344
  if (outerRadius < innerRadius) {
@@ -16365,7 +16368,7 @@
16365
16368
  xire = innerRadius * cos(innerEndAngle),
16366
16369
  yire = innerRadius * sin(innerEndAngle);
16367
16370
  let xore, yore, xirs, yirs;
16368
- if ((maxInnerCornerRadius > epsilon || maxOuterCornerRadius > epsilon) && (xore = outerRadius * cos(outerEndAngle), yore = outerRadius * sin(outerEndAngle), xirs = innerRadius * cos(innerStartAngle), yirs = innerRadius * sin(innerStartAngle), deltaAngle < pi$1)) {
16371
+ if ((maxInnerCornerRadius > epsilon || maxOuterCornerRadius > epsilon) && (xore = outerRadius * cos(outerEndAngle), yore = outerRadius * sin(outerEndAngle), xirs = innerRadius * cos(innerStartAngle), yirs = innerRadius * sin(innerStartAngle), deltaAngle < pi)) {
16369
16372
  const oc = intersect$2(xors, yors, xirs, yirs, xore, yore, xire, yire);
16370
16373
  if (oc) {
16371
16374
  const ax = xors - oc[0],
@@ -16440,7 +16443,7 @@
16440
16443
  startAngle: startAngle,
16441
16444
  endAngle: endAngle
16442
16445
  } = arc.getParsedAngle();
16443
- abs$1(endAngle - startAngle) < pi2 - epsilon && (conicalOffset = sc || 0, fill.startAngle -= conicalOffset, fill.endAngle -= conicalOffset);
16446
+ abs(endAngle - startAngle) < pi2 - epsilon && (conicalOffset = sc || 0, fill.startAngle -= conicalOffset, fill.endAngle -= conicalOffset);
16444
16447
  }
16445
16448
  let beforeRenderContribitionsRuned = !1;
16446
16449
  const {
@@ -16457,7 +16460,7 @@
16457
16460
  startAngle: sa,
16458
16461
  endAngle: ea
16459
16462
  } = arc.getParsedAngle();
16460
- if (abs$1(ea - sa) >= pi2 - epsilon) {
16463
+ if (abs(ea - sa) >= pi2 - epsilon) {
16461
16464
  context.beginPath();
16462
16465
  const capAngle = Math.abs(outerRadius - innerRadius) / 2 / outerRadius,
16463
16466
  {
@@ -16882,8 +16885,8 @@
16882
16885
  curves: topCurves
16883
16886
  } = top,
16884
16887
  endP = null !== (_a = topCurves[topCurves.length - 1].p3) && void 0 !== _a ? _a : topCurves[topCurves.length - 1].p1,
16885
- xTotalLength = abs$1(endP.x - topCurves[0].p0.x),
16886
- yTotalLength = abs$1(endP.y - topCurves[0].p0.y);
16888
+ xTotalLength = abs(endP.x - topCurves[0].p0.x),
16889
+ yTotalLength = abs(endP.y - topCurves[0].p0.y);
16887
16890
  direction = null != direction ? direction : xTotalLength > yTotalLength ? Direction$2.ROW : Direction$2.COLUMN, Number.isFinite(xTotalLength) || (direction = Direction$2.COLUMN), Number.isFinite(yTotalLength) || (direction = Direction$2.ROW);
16888
16891
  const totalDrawLength = percent * (direction === Direction$2.ROW ? xTotalLength : yTotalLength);
16889
16892
  let drawedLengthUntilLast = 0,
@@ -17063,9 +17066,9 @@
17063
17066
  data = this.valid(area, areaAttribute, fillCb, strokeCb);
17064
17067
  if (!data) return;
17065
17068
  const {
17066
- doFill: doFill,
17067
- doStroke: doStroke
17069
+ doFill: doFill
17068
17070
  } = data,
17071
+ doStroke = data.doStroke && data.sVisible,
17069
17072
  {
17070
17073
  clipRange = areaAttribute.clipRange,
17071
17074
  closePath: closePath,
@@ -17194,8 +17197,8 @@
17194
17197
  const endSeg = segments[segments.length - 1];
17195
17198
  startP = segments[0].points[0], endP = endSeg.points[endSeg.points.length - 1];
17196
17199
  } else startP = points[0], endP = points[points.length - 1];
17197
- const xTotalLength = abs$1(endP.x - startP.x),
17198
- yTotalLength = abs$1(endP.y - startP.y);
17200
+ const xTotalLength = abs(endP.x - startP.x),
17201
+ yTotalLength = abs(endP.y - startP.y);
17199
17202
  direction = null == endP.x1 ? Direction$2.ROW : null == endP.y1 ? Direction$2.COLUMN : Number.isFinite(xTotalLength + yTotalLength) ? xTotalLength > yTotalLength ? Direction$2.ROW : Direction$2.COLUMN : Direction$2.ROW, drawAreaSegments(context.camera ? context : context.nativeContext, cache, clipRange, {
17200
17203
  offsetX: offsetX,
17201
17204
  offsetY: offsetY,
@@ -17333,7 +17336,7 @@
17333
17336
  if (!rect.valid || !visible) return;
17334
17337
  if (!doFill && !doStroke) return;
17335
17338
  if (!(fVisible || sVisible || fillCb || strokeCb || background)) return;
17336
- 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(x, y, width, height)) : (context.beginPath(), createRectPath$1(context, x, y, width, height, cornerRadius));
17339
+ 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(x, y, width, height)) : (context.beginPath(), createRectPath(context, x, y, width, height, cornerRadius));
17337
17340
  const doFillOrStroke = {
17338
17341
  doFill: doFill,
17339
17342
  doStroke: doStroke
@@ -17495,7 +17498,7 @@
17495
17498
  const {
17496
17499
  backgroundCornerRadius: backgroundCornerRadius
17497
17500
  } = graphic.attribute;
17498
- context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), context.fillStyle = background, backgroundCornerRadius ? (createRectPath$1(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius), context.fill()) : context.fillRect(b.x1, b.y1, b.width(), b.height()), context.highPerformanceRestore();
17501
+ context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), context.fillStyle = background, backgroundCornerRadius ? (createRectPath(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius), context.fill()) : context.fillRect(b.x1, b.y1, b.width(), b.height()), context.highPerformanceRestore();
17499
17502
  }
17500
17503
  shouldReCalBounds && boundsAllocate.free(b), restore();
17501
17504
  }
@@ -17871,7 +17874,7 @@
17871
17874
  context.disableFill = !0, context.disableStroke = !0, context.disableBeginPath = !0, path.forEach(g => {
17872
17875
  drawContext.drawContribution.getRenderContribution(g).draw(g, drawContext.renderService, drawContext, params);
17873
17876
  }), context.disableFill = disableFill, context.disableStroke = disableStroke, context.disableBeginPath = disableBeginPath;
17874
- } else 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(x, y, width, height)) : (context.beginPath(), createRectPath$1(context, x, y, width, height, cornerRadius));
17877
+ } else 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) ? (context.beginPath(), context.rect(x, y, width, height)) : (context.beginPath(), createRectPath(context, x, y, width, height, cornerRadius));
17875
17878
  this._groupRenderContribitions || (this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [], this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution));
17876
17879
  const doFillOrStroke = {
17877
17880
  doFill: doFill,
@@ -17960,7 +17963,7 @@
17960
17963
  const res = image.resources.get(url);
17961
17964
  if ("success" !== res.state) return;
17962
17965
  let needRestore = !1;
17963
- 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) || (context.beginPath(), createRectPath$1(context, x, y, width, height, cornerRadius), context.save(), context.clip(), needRestore = !0), context.setCommonStyle(image, image.attribute, x, y, imageAttribute);
17966
+ 0 === cornerRadius || isArray$3(cornerRadius) && cornerRadius.every(num => 0 === num) || (context.beginPath(), createRectPath(context, x, y, width, height, cornerRadius), context.save(), context.clip(), needRestore = !0), context.setCommonStyle(image, image.attribute, x, y, imageAttribute);
17964
17967
  let repeat = 0;
17965
17968
  if ("repeat" === repeatX && (repeat |= 1), "repeat" === repeatY && (repeat |= 2), repeat) {
17966
17969
  const pattern = context.createPattern(res.data, repeatStr[repeat]);
@@ -18042,7 +18045,7 @@
18042
18045
  const m = graphic.globalTransMatrix.getInverse();
18043
18046
  drawContribution.dirtyBounds.copy(drawContribution.backupDirtyBounds).transformWithMatrix(m), drawContribution.backupDirtyBounds.copy(drawContribution.dirtyBounds);
18044
18047
  }
18045
- return drawContribution.renderGroup(graphic.shadowRoot, drawContext, graphic.parent.globalTransMatrix), context.highPerformanceRestore(), drawContribution.dirtyBounds && drawContribution.backupDirtyBounds && (drawContribution.dirtyBounds.copy(tempDirtyBounds), drawContribution.backupDirtyBounds.copy(tempBackupDirtyBounds)), !0;
18048
+ return drawContribution.renderGroup(graphic.shadowRoot, drawContext, matrixAllocate.allocate(1, 0, 0, 1, 0, 0)), context.highPerformanceRestore(), drawContribution.dirtyBounds && drawContribution.backupDirtyBounds && (drawContribution.dirtyBounds.copy(tempDirtyBounds), drawContribution.backupDirtyBounds.copy(tempBackupDirtyBounds)), !0;
18046
18049
  }
18047
18050
  }
18048
18051
  class DebugDrawItemInterceptorContribution {
@@ -21856,7 +21859,7 @@
21856
21859
  if (margin && (x += icon._marginArray[3], y += icon._marginArray[0]), icon._hovered) {
21857
21860
  const expandX = (backgroundWidth - width) / 2,
21858
21861
  expandY = (backgroundHeight - height) / 2;
21859
- 0 === backgroundRadius ? (context.beginPath(), context.rect(x - expandX, y - expandY, backgroundWidth, backgroundHeight)) : (context.beginPath(), createRectPath$1(context, x - expandX, y - expandY, backgroundWidth, backgroundHeight, backgroundRadius)), backgroundFill && (context.globalAlpha = backgroundFillOpacity, context.fillStyle = backgroundFill, context.fill()), backgroundStroke && (context.globalAlpha = backgroundStrokeOpacity, context.strokeStyle = backgroundStroke, context.stroke());
21862
+ 0 === backgroundRadius ? (context.beginPath(), context.rect(x - expandX, y - expandY, backgroundWidth, backgroundHeight)) : (context.beginPath(), createRectPath(context, x - expandX, y - expandY, backgroundWidth, backgroundHeight, backgroundRadius)), backgroundFill && (context.globalAlpha = backgroundFillOpacity, context.fillStyle = backgroundFill, context.fill()), backgroundStroke && (context.globalAlpha = backgroundStrokeOpacity, context.strokeStyle = backgroundStroke, context.stroke());
21860
21863
  }
21861
21864
  const res = url && (null === (_a = null == icon ? void 0 : icon.resources) || void 0 === _a ? void 0 : _a.get(url));
21862
21865
  res && "success" === res.state && (context.globalAlpha = opacity, context.drawImage(res.data, x, y, width, height));
@@ -22023,7 +22026,7 @@
22023
22026
  startAngle: startAngle,
22024
22027
  endAngle: endAngle
22025
22028
  } = arc.getParsedAngle(),
22026
- deltaAngle = abs$1(endAngle - startAngle),
22029
+ deltaAngle = abs(endAngle - startAngle),
22027
22030
  clockwise = endAngle > startAngle;
22028
22031
  let collapsedToLine = !1;
22029
22032
  if (outerRadius < innerRadius) {
@@ -22052,7 +22055,7 @@
22052
22055
  startAngle: startAngle,
22053
22056
  endAngle: endAngle
22054
22057
  } = arc.getParsedAngle(),
22055
- deltaAngle = abs$1(endAngle - startAngle),
22058
+ deltaAngle = abs(endAngle - startAngle),
22056
22059
  clockwise = endAngle > startAngle;
22057
22060
  let collapsedToLine = !1;
22058
22061
  if (radius <= epsilon) context.moveTo(cx, cy, z1);else if (deltaAngle >= pi2 - epsilon) context.moveTo(cx + radius * cos(startAngle), cy + radius * sin(startAngle), z1), context.arc(cx, cy, radius, startAngle, endAngle, !clockwise, z1), context.lineTo(cx + radius * cos(endAngle), cy + radius * sin(endAngle), z2), context.arc(cx, cy, radius, endAngle, startAngle, clockwise, z2);else {
@@ -24970,7 +24973,7 @@
24970
24973
  const outP = [0, 0, 0],
24971
24974
  addArcToBezierPath = (bezierPath, startAngle, endAngle, cx, cy, rx, ry, clockwise) => {
24972
24975
  if (clockwise) for (; endAngle > startAngle;) endAngle -= pi2;else for (; endAngle < startAngle;) endAngle += pi2;
24973
- const step = pi$1 / 3 * (endAngle > startAngle ? 1 : -1);
24976
+ const step = pi / 3 * (endAngle > startAngle ? 1 : -1);
24974
24977
  let sa = startAngle,
24975
24978
  ea = sa;
24976
24979
  for (; ea !== endAngle;) {
@@ -25378,7 +25381,7 @@
25378
25381
  opacity = defaultParams.opacity,
25379
25382
  fill = defaultParams.fill
25380
25383
  } = attribute;
25381
- fillOpacity > 1e-12 && opacity > 1e-12 ? (_context.globalAlpha = fillOpacity * opacity * this.baseGlobalAlpha, _context.fillStyle = createColor(this, fill, params, offsetX, offsetY)) : _context.globalAlpha = fillOpacity * opacity * this.baseGlobalAlpha;
25384
+ _context.globalAlpha = fillOpacity * opacity * this.baseGlobalAlpha, fillOpacity > 1e-12 && opacity > 1e-12 && (_context.fillStyle = createColor(this, fill, params, offsetX, offsetY));
25382
25385
  }
25383
25386
  setShadowBlendStyle(params, attribute, defaultParams) {
25384
25387
  if (Array.isArray(defaultParams)) {
@@ -25421,7 +25424,7 @@
25421
25424
  strokeOpacity = defaultParams.strokeOpacity,
25422
25425
  opacity = defaultParams.opacity
25423
25426
  } = attribute;
25424
- if (strokeOpacity > 1e-12 && opacity > 1e-12) {
25427
+ if (_context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha, strokeOpacity > 1e-12 && opacity > 1e-12) {
25425
25428
  const {
25426
25429
  lineWidth = defaultParams.lineWidth,
25427
25430
  stroke = defaultParams.stroke,
@@ -25430,7 +25433,7 @@
25430
25433
  lineCap = defaultParams.lineCap,
25431
25434
  miterLimit = defaultParams.miterLimit
25432
25435
  } = attribute;
25433
- _context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha, _context.lineWidth = getScaledStroke(this, lineWidth, this.dpr), _context.strokeStyle = createColor(this, stroke, params, offsetX, offsetY), _context.lineJoin = lineJoin, lineDash && _context.setLineDash(lineDash), _context.lineCap = lineCap, _context.miterLimit = miterLimit;
25436
+ _context.lineWidth = getScaledStroke(this, lineWidth, this.dpr), _context.strokeStyle = createColor(this, stroke, params, offsetX, offsetY), _context.lineJoin = lineJoin, lineDash && _context.setLineDash(lineDash), _context.lineCap = lineCap, _context.miterLimit = miterLimit;
25434
25437
  }
25435
25438
  }
25436
25439
  setTextStyleWithoutAlignBaseline(params, defaultParams, z) {
@@ -30441,10 +30444,11 @@
30441
30444
  return this._textShape;
30442
30445
  }
30443
30446
  constructor(attributes, options) {
30444
- super((null == options ? void 0 : options.skipDefault) ? attributes : merge$1({}, Tag.defaultAttributes, attributes)), this.name = "tag";
30447
+ super((null == options ? void 0 : options.skipDefault) ? attributes : merge$1({}, Tag.defaultAttributes, attributes)), this.name = "tag", this._tagStates = [], this._rectStates = [], this._symbolStates = [], this._textStates = [];
30445
30448
  }
30446
30449
  render() {
30447
30450
  var _a, _b, _c;
30451
+ this.cacheStates();
30448
30452
  const {
30449
30453
  text = "",
30450
30454
  textStyle = {},
@@ -30609,7 +30613,24 @@
30609
30613
  this._bgRect = bgRect;
30610
30614
  }
30611
30615
  }
30612
- this._textShape = textShape;
30616
+ this._textShape = textShape, this._symbol = symbol, this.resetStates();
30617
+ }
30618
+ initAttributes(params, options) {
30619
+ params = (null == options ? void 0 : options.skipDefault) ? params : merge$1({}, Tag.defaultAttributes, params), super.initAttributes(params), this.render();
30620
+ }
30621
+ addState(stateName, keepCurrentStates, hasAnimation) {
30622
+ super.addState(stateName, keepCurrentStates, hasAnimation), this._textShape && this._textShape.addState(stateName, keepCurrentStates, hasAnimation), this._bgRect && this._bgRect.addState(stateName, keepCurrentStates, hasAnimation), this._symbol && this._symbol.addState(stateName, keepCurrentStates, hasAnimation);
30623
+ }
30624
+ removeState(stateName, hasAnimation) {
30625
+ super.removeState(stateName, hasAnimation), this._textShape && this._textShape.removeState(stateName, hasAnimation), this._bgRect && this._bgRect.removeState(stateName, hasAnimation), this._symbol && this._symbol.removeState(stateName, hasAnimation);
30626
+ }
30627
+ cacheStates() {
30628
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
30629
+ this._tagStates = null !== (_b = null === (_a = this.currentStates) || void 0 === _a ? void 0 : _a.slice()) && void 0 !== _b ? _b : [], this._rectStates = null !== (_e = null === (_d = null === (_c = this._bgRect) || void 0 === _c ? void 0 : _c.currentStates) || void 0 === _d ? void 0 : _d.slice()) && void 0 !== _e ? _e : [], this._symbolStates = null !== (_h = null === (_g = null === (_f = this._symbol) || void 0 === _f ? void 0 : _f.currentStates) || void 0 === _g ? void 0 : _g.slice()) && void 0 !== _h ? _h : [], this._textStates = null !== (_l = null === (_k = null === (_j = this._textShape) || void 0 === _j ? void 0 : _j.currentStates) || void 0 === _k ? void 0 : _k.slice()) && void 0 !== _l ? _l : [], this.clearStates(), null === (_m = this._bgRect) || void 0 === _m || _m.clearStates(), null === (_o = this._symbol) || void 0 === _o || _o.clearStates(), null === (_p = this._textShape) || void 0 === _p || _p.clearStates();
30630
+ }
30631
+ resetStates() {
30632
+ var _a, _b, _c;
30633
+ this._tagStates.length && this.useStates(this._tagStates), this._rectStates.length && (null === (_a = this._bgRect) || void 0 === _a || _a.useStates(this._rectStates)), this._symbolStates.length && (null === (_b = this._symbol) || void 0 === _b || _b.useStates(this._symbolStates)), this._textStates.length && (null === (_c = this._textShape) || void 0 === _c || _c.useStates(this._textStates));
30613
30634
  }
30614
30635
  };
30615
30636
  Tag$1.defaultAttributes = {
@@ -30822,19 +30843,19 @@
30822
30843
  switch (position) {
30823
30844
  case "tl":
30824
30845
  return {
30825
- angle: pi$1 / 2 * 3,
30846
+ angle: pi / 2 * 3,
30826
30847
  offset: [width / 4, height + sizeH],
30827
30848
  rectOffset: [-width / 4, -height - size[1]]
30828
30849
  };
30829
30850
  case "top":
30830
30851
  return {
30831
- angle: pi$1 / 2 * 3,
30852
+ angle: pi / 2 * 3,
30832
30853
  offset: [width / 2, height + sizeH],
30833
30854
  rectOffset: [0, -height - size[1]]
30834
30855
  };
30835
30856
  case "tr":
30836
30857
  return {
30837
- angle: pi$1 / 2 * 3,
30858
+ angle: pi / 2 * 3,
30838
30859
  offset: [width / 4 * 3, height + sizeH],
30839
30860
  rectOffset: [width / 4 * 3, -height - size[1]]
30840
30861
  };
@@ -30858,37 +30879,37 @@
30858
30879
  };
30859
30880
  case "bl":
30860
30881
  return {
30861
- angle: pi$1 / 2,
30882
+ angle: pi / 2,
30862
30883
  offset: [width / 4, -sizeH],
30863
30884
  rectOffset: [-width / 4, -height - size[1]]
30864
30885
  };
30865
30886
  case "bottom":
30866
30887
  return {
30867
- angle: pi$1 / 2,
30888
+ angle: pi / 2,
30868
30889
  offset: [width / 2, -sizeH],
30869
30890
  rectOffset: [0, -height - size[1]]
30870
30891
  };
30871
30892
  case "br":
30872
30893
  return {
30873
- angle: pi$1 / 2,
30894
+ angle: pi / 2,
30874
30895
  offset: [width / 4 * 3, -sizeH],
30875
30896
  rectOffset: [width / 4 * 3, -height - size[1]]
30876
30897
  };
30877
30898
  case "lt":
30878
30899
  return {
30879
- angle: pi$1,
30900
+ angle: pi,
30880
30901
  offset: [width + sizeH, height / 5],
30881
30902
  rectOffset: [-width / 4, -height - size[1]]
30882
30903
  };
30883
30904
  case "left":
30884
30905
  return {
30885
- angle: pi$1,
30906
+ angle: pi,
30886
30907
  offset: [width + sizeH, height / 2],
30887
30908
  rectOffset: [0, -height - size[1]]
30888
30909
  };
30889
30910
  case "lb":
30890
30911
  return {
30891
- angle: pi$1,
30912
+ angle: pi,
30892
30913
  offset: [width + sizeH, height / 5 * 4],
30893
30914
  rectOffset: [width / 4 * 3, -height - size[1]]
30894
30915
  };
@@ -31821,17 +31842,23 @@
31821
31842
  };
31822
31843
  }
31823
31844
  labeling(textBounds, graphicBounds, position, offset) {}
31845
+ _getLabelLinePoints(text, baseMark) {
31846
+ return connectLineBetweenBounds(text.AABBBounds, null == baseMark ? void 0 : baseMark.AABBBounds);
31847
+ }
31824
31848
  _createLabelLine(text, baseMark) {
31825
- const points = connectLineBetweenBounds(text.AABBBounds, null == baseMark ? void 0 : baseMark.AABBBounds);
31849
+ const points = this._getLabelLinePoints(text, baseMark);
31826
31850
  if (points) {
31827
- const line = graphicCreator.line({
31828
- points: points
31829
- });
31830
- if (null == line ? void 0 : line.customShape) {
31851
+ const lineGraphic = graphicCreator.line({
31852
+ points: points
31853
+ }),
31854
+ {
31855
+ line = {}
31856
+ } = text.attribute;
31857
+ if (line.customShape) {
31831
31858
  const customShape = line.customShape;
31832
- line.pathProxy = attrs => customShape(text.attribute, attrs, new CustomPath2D());
31859
+ lineGraphic.pathProxy = attrs => customShape(text.attribute, attrs, new CustomPath2D());
31833
31860
  }
31834
- return baseMark && baseMark.attribute.fill && line.setAttribute("stroke", baseMark.attribute.fill), this.attribute.line && !isEmpty$1(this.attribute.line.style) && line.setAttributes(this.attribute.line.style), this._setStatesOfLabelLine(line), line;
31861
+ return baseMark && baseMark.attribute.fill && lineGraphic.setAttribute("stroke", baseMark.attribute.fill), this.attribute.line && !isEmpty$1(this.attribute.line.style) && lineGraphic.setAttributes(this.attribute.line.style), this._setStatesOfLabelLine(lineGraphic), lineGraphic;
31835
31862
  }
31836
31863
  }
31837
31864
  render() {
@@ -32465,7 +32492,7 @@
32465
32492
  points: basedArc.pointA && basedArc.pointB && basedArc.pointC ? [basedArc.pointA, basedArc.pointB, basedArc.pointC] : void 0,
32466
32493
  line: basedArc.labelLine
32467
32494
  };
32468
- labels[i].setAttributes(labelAttribute);
32495
+ "richtext" === labels[i].type && (labelAttribute.width = basedArc.labelLimit), labels[i].setAttributes(labelAttribute);
32469
32496
  }
32470
32497
  }
32471
32498
  return labels;
@@ -32888,29 +32915,22 @@
32888
32915
  checkBoundsOverlap(lastBounds, bounds) ? arcs[i].labelVisible = !1 : lastBounds = bounds;
32889
32916
  }
32890
32917
  }
32918
+ _getLabelLinePoints(text, baseMark) {
32919
+ return text.attribute.points;
32920
+ }
32891
32921
  _createLabelLine(text, baseMark) {
32892
- var _a, _b, _c, _d, _e, _f, _g;
32922
+ var _a, _b, _c, _d, _e;
32893
32923
  const {
32894
- points: points,
32895
32924
  line = {},
32896
- visible: visible,
32897
- fill: fill
32925
+ visible: visible
32898
32926
  } = text.attribute,
32899
- labelLine = text.attribute.points ? graphicCreator.line({
32900
- visible: null === (_c = null !== (_a = line.visible && visible) && void 0 !== _a ? _a : null === (_b = text.attribute) || void 0 === _b ? void 0 : _b.visible) || void 0 === _c || _c,
32901
- stroke: null !== (_e = null === (_d = line.style) || void 0 === _d ? void 0 : _d.stroke) && void 0 !== _e ? _e : fill,
32902
- lineWidth: null !== (_g = null === (_f = line.style) || void 0 === _f ? void 0 : _f.lineWidth) && void 0 !== _g ? _g : 1,
32903
- points: points,
32904
- curveType: line.smooth ? "basis" : null
32905
- }) : void 0;
32906
- if (labelLine) {
32907
- if (null == line ? void 0 : line.customShape) {
32908
- const customShape = line.customShape;
32909
- labelLine.pathProxy = attrs => customShape(text.attribute, attrs, new CustomPath2D());
32910
- }
32911
- this._setStatesOfLabelLine(labelLine);
32912
- }
32913
- return labelLine;
32927
+ lineGraphic = super._createLabelLine(text, baseMark);
32928
+ return lineGraphic && (lineGraphic.setAttributes({
32929
+ visible: null === (_c = null !== (_a = line.visible && visible) && void 0 !== _a ? _a : null === (_b = text.attribute) || void 0 === _b ? void 0 : _b.visible) || void 0 === _c || _c,
32930
+ lineWidth: null !== (_e = null === (_d = line.style) || void 0 === _d ? void 0 : _d.lineWidth) && void 0 !== _e ? _e : 1
32931
+ }), line.smooth && lineGraphic.setAttributes({
32932
+ curveType: "basis"
32933
+ })), lineGraphic;
32914
32934
  }
32915
32935
  computeRadius(r, width, height, k) {
32916
32936
  return this.computeLayoutRadius(width || 0, height || 0) * r * (isNil$3(k) ? 1 : k);
@@ -32938,7 +32958,8 @@
32938
32958
  fontSize: 14,
32939
32959
  fontWeight: "normal",
32940
32960
  fillOpacity: 1,
32941
- boundsPadding: [-1, 0, -1, 0]
32961
+ boundsPadding: [-1, 0, -1, 0],
32962
+ ellipsis: !0
32942
32963
  },
32943
32964
  position: "outside",
32944
32965
  line: {
@@ -33455,6 +33476,21 @@
33455
33476
  labelPoint = getVerticalCoord(point, getCircleVerticalVector(labelOffset, point, center, inside));
33456
33477
  return getCircleLabelPosition(labelPoint, getCircleVerticalVector(labelOffset || 1, labelPoint, center, inside), text, style);
33457
33478
  }
33479
+ function getCirclePoints(center, count, radius, startAngle, endAngle) {
33480
+ const points = [],
33481
+ range = endAngle - startAngle;
33482
+ for (let i = 0; i < count; i++) {
33483
+ const angle = startAngle + i * range / count;
33484
+ points.push(polarToCartesian$1(center, radius, angle));
33485
+ }
33486
+ return points;
33487
+ }
33488
+ function getPolygonPath(points, closed) {
33489
+ let path = "";
33490
+ return 0 === points.length || (points.forEach((point, index) => {
33491
+ 0 === index ? path = `M${point.x},${point.y}` : path += `L${point.x},${point.y}`;
33492
+ }), closed && (path += "Z")), path;
33493
+ }
33458
33494
 
33459
33495
  const dispatchHoverState = (e, container, lastHover) => {
33460
33496
  const target = e.target;
@@ -33525,7 +33561,8 @@
33525
33561
  axisContainer = graphicCreator.group({
33526
33562
  x: 0,
33527
33563
  y: 0,
33528
- zIndex: 1
33564
+ zIndex: 1,
33565
+ pickable: !1
33529
33566
  });
33530
33567
  if (axisContainer.name = AXIS_ELEMENT_NAME.axisContainer, axisContainer.id = this._getNodeId("container"), axisContainer.setMode(this.mode), this.axisContainer = axisContainer, container.add(axisContainer), line && line.visible && this.renderLine(axisContainer), items && items.length && (this.data = this._transformItems(items[0]), tick && tick.visible && this.renderTicks(axisContainer), label && label.visible)) {
33531
33568
  const labelGroup = graphicCreator.group({
@@ -33657,7 +33694,7 @@
33657
33694
  const vec = this.getVerticalVector(length, inside, point);
33658
33695
  let alpha = 0,
33659
33696
  beta = 0;
33660
- abs$1(vec[0]) > abs$1(vec[1]) ? alpha = pi$1 / 2 * (endPoint.x > point.x ? 1 : -1) : beta = pi$1 / 2 * (endPoint.y > point.y ? -1 : 1), tickLineItems.push({
33697
+ abs(vec[0]) > abs(vec[1]) ? alpha = pi / 2 * (endPoint.x > point.x ? 1 : -1) : beta = pi / 2 * (endPoint.y > point.y ? -1 : 1), tickLineItems.push({
33661
33698
  start: point,
33662
33699
  end: endPoint,
33663
33700
  value: tickValue,
@@ -34476,19 +34513,27 @@
34476
34513
  center: center,
34477
34514
  innerRadius = 0,
34478
34515
  line = {},
34479
- inside = !1
34516
+ inside = !1,
34517
+ sides: sides
34480
34518
  } = this.attribute;
34481
- let arcRadius = radius,
34519
+ let lineGraphic,
34520
+ arcRadius = radius,
34482
34521
  arcInnerRadius = innerRadius;
34483
- inside && innerRadius > 0 && (arcRadius = innerRadius, arcInnerRadius = 0);
34484
- const arcAttrs = Object.assign(Object.assign(Object.assign({}, center), {
34522
+ if (inside && innerRadius > 0 && (arcRadius = innerRadius, arcInnerRadius = 0), isValidNumber$3(sides) && sides >= 3) {
34523
+ const gridPoints = getCirclePoints(center, sides, arcRadius, startAngle, endAngle);
34524
+ lineGraphic = graphicCreator.path(Object.assign(Object.assign({}, line.style), {
34525
+ path: getPolygonPath(gridPoints, !0)
34526
+ }));
34527
+ } else {
34528
+ const arcAttrs = Object.assign(Object.assign(Object.assign({}, center), {
34485
34529
  startAngle: startAngle,
34486
34530
  endAngle: endAngle,
34487
34531
  radius: arcRadius,
34488
34532
  innerRadius: arcInnerRadius
34489
- }), line.style),
34490
- axisLine = graphicCreator.circle(arcAttrs);
34491
- axisLine.name = AXIS_ELEMENT_NAME.line, axisLine.id = this._getNodeId("line"), isEmpty$1(line.state) || (axisLine.states = merge$1({}, DEFAULT_STATES$1, line.state)), container.add(axisLine);
34533
+ }), line.style);
34534
+ lineGraphic = graphicCreator.circle(arcAttrs);
34535
+ }
34536
+ lineGraphic.name = AXIS_ELEMENT_NAME.line, lineGraphic.id = this._getNodeId("line"), isEmpty$1(line.state) || (lineGraphic.states = merge$1({}, DEFAULT_STATES$1, line.state)), container.add(lineGraphic);
34492
34537
  }
34493
34538
  getTitleAttribute() {
34494
34539
  var _a, _b, _c;
@@ -34642,7 +34687,7 @@
34642
34687
  onStart() {
34643
34688
  let duration = this.duration,
34644
34689
  easing = this.easing;
34645
- Object.keys(this._newElementAttrMap).forEach(id => {
34690
+ this._newElementAttrMap && Object.keys(this._newElementAttrMap).forEach(id => {
34646
34691
  var _a;
34647
34692
  const {
34648
34693
  node: node,
@@ -35454,12 +35499,6 @@
35454
35499
  return convertDomainToTickData(scale.domain());
35455
35500
  };
35456
35501
 
35457
- function getLinePath(points, closed) {
35458
- let path = "";
35459
- return 0 === points.length || (points.forEach((point, index) => {
35460
- 0 === index ? path = `M${point.x},${point.y}` : path += `L${point.x},${point.y}`;
35461
- }), closed && (path += "Z")), path;
35462
- }
35463
35502
  function getArcPath(center, points, reverse, closed) {
35464
35503
  let path = "";
35465
35504
  if (!center || 0 === points.length) return path;
@@ -35482,7 +35521,7 @@
35482
35521
  const fromStart = from[0],
35483
35522
  toEnd = reversePoints[0],
35484
35523
  center = attribute.center;
35485
- regionPath = getLinePath(from, !!closed), nextPath = getLinePath(reversePoints, !!closed);
35524
+ regionPath = getPolygonPath(from, !!closed), nextPath = getPolygonPath(reversePoints, !!closed);
35486
35525
  const toEndRadius = PointService.distancePP(toEnd, center),
35487
35526
  fromStartRadius = PointService.distancePP(fromStart, center);
35488
35527
  regionPath += `A${toEndRadius},${toEndRadius},0,0,1,${toEnd.x},${toEnd.y}L${toEnd.x},${toEnd.y}`, nextPath += `A${fromStartRadius},${fromStartRadius},0,0,0,${fromStart.x},${fromStart.y}`;
@@ -35491,7 +35530,7 @@
35491
35530
  center: center
35492
35531
  } = attribute;
35493
35532
  regionPath = getArcPath(center, from, !1, !!closed), nextPath = getArcPath(center, reversePoints, !0, !!closed);
35494
- } else "line" !== type && "polygon" !== type || (regionPath = getLinePath(from, !!closed), nextPath = getLinePath(reversePoints, !!closed));
35533
+ } else "line" !== type && "polygon" !== type || (regionPath = getPolygonPath(from, !!closed), nextPath = getPolygonPath(reversePoints, !!closed));
35495
35534
  return closed ? regionPath += nextPath : (nextPath = "L" + nextPath.substring(1), regionPath += nextPath, regionPath += "Z"), regionPath;
35496
35535
  }
35497
35536
  class BaseGrid extends AbstractComponent {
@@ -35552,7 +35591,7 @@
35552
35591
  points: points
35553
35592
  } = item;
35554
35593
  let path = "";
35555
- if ("line" === type || "polygon" === type) path = getLinePath(points, !!closed);else if ("circle" === type) {
35594
+ if ("line" === type || "polygon" === type) path = getPolygonPath(points, !!closed);else if ("circle" === type) {
35556
35595
  const {
35557
35596
  center: center
35558
35597
  } = this.attribute;
@@ -35578,14 +35617,14 @@
35578
35617
  x: points[0].x + dir_x * ratio,
35579
35618
  y: points[0].y + dir_y * ratio
35580
35619
  });
35581
- const path = getLinePath(nextPoints, !!closed),
35582
- deltaX = abs$1(nextPoints[0].x - nextPoints[1].x),
35583
- deltaY = abs$1(nextPoints[0].y - nextPoints[1].y),
35620
+ const path = getPolygonPath(nextPoints, !!closed),
35621
+ deltaX = abs(nextPoints[0].x - nextPoints[1].x),
35622
+ deltaY = abs(nextPoints[0].y - nextPoints[1].y),
35584
35623
  shape = graphicCreator.path(Object.assign({
35585
35624
  path: path,
35586
35625
  z: 0,
35587
- alpha: deltaX > deltaY ? (points[1].x - points[0].x > 0 ? -1 : 1) * pi$1 / 2 : 0,
35588
- beta: deltaX < deltaY ? -pi$1 / 2 : 0,
35626
+ alpha: deltaX > deltaY ? (points[1].x - points[0].x > 0 ? -1 : 1) * pi / 2 : 0,
35627
+ beta: deltaX < deltaY ? -pi / 2 : 0,
35589
35628
  anchor3d: deltaX > deltaY ? [nextPoints[0].x, 0] : [0, nextPoints[0].y]
35590
35629
  }, isFunction$3(style) ? merge$1({}, this.skipDefault ? null : BaseGrid.defaultAttributes.style, style(item, index)) : style));
35591
35630
  shape.name = `${name}-line`, shape.id = this._getNodeId(`${name}-path-${id}`), container.add(shape);
@@ -35628,15 +35667,6 @@
35628
35667
  }
35629
35668
  };
35630
35669
 
35631
- function getCirclePoints(center, count, radius, startAngle, endAngle) {
35632
- const points = [],
35633
- range = endAngle - startAngle;
35634
- for (let i = 0; i < count; i++) {
35635
- const angle = startAngle + i * range / count;
35636
- points.push(polarToCartesian$1(center, radius, angle));
35637
- }
35638
- return points;
35639
- }
35640
35670
  loadLineAxisGridComponent();
35641
35671
  class LineAxisGrid extends BaseGrid {
35642
35672
  constructor(attributes, options) {
@@ -35651,12 +35681,13 @@
35651
35681
  gridPoints = [point, this.getVerticalCoord(point, length, !0)];
35652
35682
  } else if ("circle" === gridType || "polygon" === gridType) {
35653
35683
  const {
35654
- center: center,
35655
- sides = 6,
35656
- startAngle = POLAR_START_ANGLE,
35657
- endAngle = POLAR_END_ANGLE
35658
- } = this.attribute;
35659
- gridPoints = getCirclePoints(center, sides, PointService.distancePP(center, point), startAngle, endAngle);
35684
+ center: center,
35685
+ sides = 6,
35686
+ startAngle = POLAR_START_ANGLE,
35687
+ endAngle = POLAR_END_ANGLE
35688
+ } = this.attribute,
35689
+ distance = PointService.distancePP(center, point);
35690
+ gridPoints = getCirclePoints(center, sides, distance, startAngle, endAngle);
35660
35691
  }
35661
35692
  return gridPoints;
35662
35693
  }
@@ -39043,12 +39074,13 @@
39043
39074
  _createPager(compStyle) {
39044
39075
  var _a, _b;
39045
39076
  const {
39046
- disableTriggerEvent: disableTriggerEvent,
39047
- maxRow: maxRow
39048
- } = this.attribute;
39077
+ disableTriggerEvent: disableTriggerEvent,
39078
+ maxRow: maxRow
39079
+ } = this.attribute,
39080
+ estimateTotal = num => num <= 99 ? 99 : num <= 999 ? 999 : 9999;
39049
39081
  return this._itemContext.isHorizontal ? new Pager(Object.assign(Object.assign({
39050
39082
  layout: 1 === maxRow ? "horizontal" : "vertical",
39051
- total: 99
39083
+ total: estimateTotal(this._itemContext.pages)
39052
39084
  }, merge$1({
39053
39085
  handler: {
39054
39086
  preShape: "triangleUp",
@@ -39059,7 +39091,7 @@
39059
39091
  disableTriggerEvent: disableTriggerEvent
39060
39092
  })) : new Pager(Object.assign({
39061
39093
  layout: "horizontal",
39062
- total: 99,
39094
+ total: estimateTotal(this._itemContext.pages),
39063
39095
  disableTriggerEvent: disableTriggerEvent,
39064
39096
  defaultCurrent: null === (_b = this.attribute.pager) || void 0 === _b ? void 0 : _b.defaultCurrent
39065
39097
  }, compStyle));
@@ -42069,18 +42101,14 @@
42069
42101
  delay = percent * (1 === size ? 0 : 400 / (size - 1)),
42070
42102
  delayNormal = percent * (1 === size ? 0 : 240 / (size - 1));
42071
42103
  this._symbolGroup.forEachChildren((symbol, i) => {
42072
- const originAttrs = Object.assign({}, symbol.attribute);
42073
- symbol.setAttributes({
42104
+ const originAttrs = {};
42105
+ Object.keys(activeSymbolStyle).forEach(k => {
42106
+ originAttrs[k] = symbol.attribute[k];
42107
+ }), symbol.setAttributes({
42074
42108
  opacity: 0
42075
42109
  }), symbol.animate().wait(symbolDelay + delay * i).to({
42076
42110
  opacity: 1
42077
- }, perSymbolDuration, easing), symbol.animate().wait(symbolNormalDelay + delayNormal * i).to(Object.assign({
42078
- scaleX: 1.8,
42079
- scaleY: 1.8
42080
- }, activeSymbolStyle), perSymbolNormalDuration, easing).to(Object.assign({
42081
- scaleX: 1,
42082
- scaleY: 1
42083
- }, originAttrs), perSymbolNormalDuration, easing);
42111
+ }, perSymbolDuration, easing), symbol.animate().wait(symbolNormalDelay + delayNormal * i).to(Object.assign({}, activeSymbolStyle), perSymbolNormalDuration, easing).to(Object.assign({}, originAttrs), perSymbolNormalDuration, easing);
42084
42112
  });
42085
42113
  }
42086
42114
  if (this._labelGroup) {
@@ -42088,8 +42116,10 @@
42088
42116
  delay = percent * (1 === size ? 0 : 400 / (size - 1)),
42089
42117
  delayNormal = percent * (1 === size ? 0 : 240 / (size - 1));
42090
42118
  this._labelGroup.forEachChildren((label, i) => {
42091
- const originAttrs = Object.assign({}, label.attribute);
42092
- label.setAttributes({
42119
+ const originAttrs = {};
42120
+ Object.keys(activeLabelStyle).forEach(k => {
42121
+ originAttrs[k] = label.attribute[k];
42122
+ }), label.setAttributes({
42093
42123
  opacity: 0
42094
42124
  }), label.animate().wait(symbolDelay + delay * i).to({
42095
42125
  opacity: 1
@@ -42102,7 +42132,6 @@
42102
42132
  }
42103
42133
  }
42104
42134
  goto(flag, animateConfig) {
42105
- var _a;
42106
42135
  let {
42107
42136
  clipRange: clipRange
42108
42137
  } = this.attribute;
@@ -42121,16 +42150,15 @@
42121
42150
  });
42122
42151
  let i = 0;
42123
42152
  for (; i < this._timesPercent.length && !(clipRange < this._timesPercent[i]); i++);
42124
- const nextClipRange = flag > 0 ? this._timesPercent[i] : this._timesPercent[i - 1] || 0;
42153
+ const nextClipRange = flag > 0 ? this._timesPercent[i] || 1 : this._timesPercent[i - 1] || 0;
42125
42154
  if (animation) {
42126
42155
  const {
42127
- duration = 1e3,
42128
- easing = "quadOut"
42129
- } = animateConfig,
42130
- actDuration = Math.abs(nextClipRange - clipRange) / (this._timesPercent[i] - (null !== (_a = this._timesPercent[i - 1]) && void 0 !== _a ? _a : 0)) * duration;
42156
+ duration = 1e3,
42157
+ easing = "quadOut"
42158
+ } = animateConfig;
42131
42159
  this.animate().to({
42132
42160
  clipRange: nextClipRange
42133
- }, actDuration, easing);
42161
+ }, duration, easing);
42134
42162
  } else this.setAttributes({
42135
42163
  clipRange: nextClipRange
42136
42164
  });
@@ -42152,7 +42180,8 @@
42152
42180
  symbolType: "circle"
42153
42181
  },
42154
42182
  activeSymbolStyle: {
42155
- fill: "orange"
42183
+ fill: "orange",
42184
+ size: 16
42156
42185
  },
42157
42186
  lineStyle: {
42158
42187
  lineDash: [2, 2],
@@ -42256,6 +42285,9 @@
42256
42285
  y: textY
42257
42286
  });
42258
42287
  }
42288
+ initAttributes(params, options) {
42289
+ params = (null == options ? void 0 : options.skipDefault) ? params : merge$1({}, CheckBox.defaultAttributes, params), super.initAttributes(params), this.renderGroup(), this.render();
42290
+ }
42259
42291
  }
42260
42292
  CheckBox.defaultAttributes = {
42261
42293
  interactive: !0,
@@ -42348,6 +42380,9 @@
42348
42380
  y: textY
42349
42381
  });
42350
42382
  }
42383
+ initAttributes(params, options) {
42384
+ params = (null == options ? void 0 : options.skipDefault) ? params : merge$1({}, Radio.defaultAttributes, params), super.initAttributes(params), this.renderGroup(), this.render();
42385
+ }
42351
42386
  }
42352
42387
  Radio.defaultAttributes = {
42353
42388
  interactive: !0,
@@ -42433,7 +42468,7 @@
42433
42468
  }
42434
42469
  };
42435
42470
 
42436
- const version$1 = "0.19.24-alpha.3";
42471
+ const version$1 = "0.19.25-alpha.2";
42437
42472
 
42438
42473
  let registed = false;
42439
42474
  function registerForVrender() {
@@ -42923,7 +42958,7 @@
42923
42958
  createPyramid3d: createPyramid3d,
42924
42959
  createRect: createRect,
42925
42960
  createRect3d: createRect3d,
42926
- createRectPath: createRectPath$1,
42961
+ createRectPath: createRectPath,
42927
42962
  createRichText: createRichText,
42928
42963
  createShadowRoot: createShadowRoot,
42929
42964
  createStage: createStage,
@@ -42997,6 +43032,7 @@
42997
43032
  genStepTypeSegments: genStepTypeSegments,
42998
43033
  getAttributeFromDefaultAttrList: getAttributeFromDefaultAttrList,
42999
43034
  getCircleLabelPosition: getCircleLabelPosition,
43035
+ getCirclePoints: getCirclePoints,
43000
43036
  getCircleVerticalVector: getCircleVerticalVector,
43001
43037
  getConicGradientAt: getConicGradientAt,
43002
43038
  getContextFont: getContextFont$1,
@@ -43008,6 +43044,7 @@
43008
43044
  getModelMatrix: getModelMatrix,
43009
43045
  getNoneGroupMarksByName: getNoneGroupMarksByName,
43010
43046
  getPolarAngleLabelPosition: getPolarAngleLabelPosition,
43047
+ getPolygonPath: getPolygonPath,
43011
43048
  getRichTextBounds: getRichTextBounds,
43012
43049
  getScaledStroke: getScaledStroke,
43013
43050
  getSizeHandlerPath: getSizeHandlerPath,
@@ -43718,10 +43755,6 @@
43718
43755
  return t => (d.setTime(aVal * (1 - t) + bVal * t), d);
43719
43756
  }
43720
43757
 
43721
- const pi = Math.PI;
43722
- const halfPi = pi / 2;
43723
- const abs = Math.abs;
43724
-
43725
43758
  function transformBoundsWithMatrix(out, bounds, matrix) {
43726
43759
  const {
43727
43760
  x1: x1,
@@ -45248,18 +45281,6 @@
45248
45281
 
45249
45282
  overflow: hidden; // for react-vtable dom custom element
45250
45283
  }
45251
-
45252
- .vtable-gantt {
45253
- /* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */
45254
- /* overflow: auto; */
45255
- position: absolute;
45256
- width: 100%;
45257
- height: 100%;
45258
- text-align: left;
45259
- -webkit-font-smoothing:auto;
45260
-
45261
- overflow: hidden; // for react-vtable dom custom element
45262
- }
45263
45284
  .vtable .table-component-container {
45264
45285
  pointer-events: none;
45265
45286
  overflow: hidden;
@@ -45297,18 +45318,8 @@
45297
45318
  document.head.appendChild(styleElement);
45298
45319
  }
45299
45320
 
45300
- function getHorizontalScrollBarSize(scrollStyle) {
45301
- if (scrollStyle?.hoverOn ||
45302
- (scrollStyle?.horizontalVisible && scrollStyle?.horizontalVisible === 'none') ||
45303
- (!scrollStyle?.horizontalVisible && scrollStyle?.visible === 'none')) {
45304
- return 0;
45305
- }
45306
- return scrollStyle?.width ?? 7;
45307
- }
45308
- function getVerticalScrollBarSize(scrollStyle) {
45309
- if (scrollStyle?.hoverOn ||
45310
- (scrollStyle?.verticalVisible && scrollStyle?.verticalVisible === 'none') ||
45311
- (!scrollStyle?.verticalVisible && scrollStyle?.visible === 'none')) {
45321
+ function getScrollBarSize(scrollStyle) {
45322
+ if (scrollStyle?.hoverOn || scrollStyle?.visible === 'none') {
45312
45323
  return 0;
45313
45324
  }
45314
45325
  return scrollStyle?.width ?? 7;
@@ -47180,12 +47191,6 @@
47180
47191
  get visible() {
47181
47192
  return scroll.visible ?? 'scrolling';
47182
47193
  },
47183
- get verticalVisible() {
47184
- return scroll.verticalVisible;
47185
- },
47186
- get horizontalVisible() {
47187
- return scroll.horizontalVisible;
47188
- },
47189
47194
  get width() {
47190
47195
  return scroll.width ?? 7;
47191
47196
  },
@@ -49976,10 +49981,10 @@
49976
49981
  return couldBeValidNumber(v.substring(0, v.length - 1));
49977
49982
  }
49978
49983
 
49979
- function createRootElement(padding, className = 'vtable') {
49984
+ function createRootElement(padding) {
49980
49985
  const element = document.createElement('div');
49981
49986
  element.setAttribute('tabindex', '0');
49982
- element.classList.add(className);
49987
+ element.classList.add('vtable');
49983
49988
  element.style.outline = 'none';
49984
49989
  element.style.margin = `${padding.top}px ${padding.right}px ${padding.bottom}px ${padding.left}px`;
49985
49990
  const width = (element.offsetWidth || element.parentElement?.offsetWidth || 1) - 1;
@@ -50195,13 +50200,7 @@
50195
50200
  underlineDash,
50196
50201
  underlineOffset,
50197
50202
  lineThrough: lineThrough ? textDecorationWidth : undefined,
50198
- ellipsis: textOverflow === 'clip'
50199
- ? ''
50200
- : textOverflow === 'ellipsis'
50201
- ? '...'
50202
- : isValid$1(textOverflow)
50203
- ? textOverflow
50204
- : undefined
50203
+ ellipsis: !textOverflow || textOverflow === 'clip' ? undefined : textOverflow === 'ellipsis' ? '...' : textOverflow
50205
50204
  },
50206
50205
  group: {
50207
50206
  fill: bgColor,
@@ -51638,11 +51637,12 @@
51638
51637
  }
51639
51638
 
51640
51639
  function getCellBorderStrokeWidth(col, row, cellTheme, table) {
51640
+ const frameBorderLineWidths = style.toBoxArray(table.internalProps.theme.frameStyle?.borderLineWidth ?? [null]);
51641
51641
  let strokeArrayWidth = cellTheme?.group?.strokeArrayWidth ?? undefined;
51642
51642
  if (table.theme.cellInnerBorder) {
51643
51643
  return strokeArrayWidth;
51644
51644
  }
51645
- if (col === 0) {
51645
+ if (col === 0 && frameBorderLineWidths[3]) {
51646
51646
  strokeArrayWidth = strokeArrayWidth ?? [
51647
51647
  cellTheme?.group?.lineWidth,
51648
51648
  cellTheme?.group?.lineWidth,
@@ -51651,7 +51651,7 @@
51651
51651
  ];
51652
51652
  strokeArrayWidth[3] = 0;
51653
51653
  }
51654
- if (col === table.colCount - 1) {
51654
+ if (col === table.colCount - 1 && frameBorderLineWidths[1]) {
51655
51655
  strokeArrayWidth = strokeArrayWidth ?? [
51656
51656
  cellTheme?.group?.lineWidth,
51657
51657
  cellTheme?.group?.lineWidth,
@@ -51660,7 +51660,7 @@
51660
51660
  ];
51661
51661
  strokeArrayWidth[1] = 0;
51662
51662
  }
51663
- if (row === 0) {
51663
+ if (row === 0 && frameBorderLineWidths[0]) {
51664
51664
  strokeArrayWidth = strokeArrayWidth ?? [
51665
51665
  cellTheme?.group?.lineWidth,
51666
51666
  cellTheme?.group?.lineWidth,
@@ -51669,7 +51669,7 @@
51669
51669
  ];
51670
51670
  strokeArrayWidth[0] = 0;
51671
51671
  }
51672
- if (row === table.rowCount - 1) {
51672
+ if (row === table.rowCount - 1 && frameBorderLineWidths[2]) {
51673
51673
  strokeArrayWidth = strokeArrayWidth ?? [
51674
51674
  cellTheme?.group?.lineWidth,
51675
51675
  cellTheme?.group?.lineWidth,
@@ -52210,11 +52210,13 @@
52210
52210
  let rightIconHeight = 0;
52211
52211
  cellGroup.forEachChildren((iconMark) => {
52212
52212
  if (iconMark.role === 'icon-left') {
52213
- leftIconWidth += iconMark.AABBBounds.width();
52213
+ leftIconWidth +=
52214
+ iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);
52214
52215
  leftIconHeight = Math.max(leftIconHeight, iconMark.AABBBounds.height());
52215
52216
  }
52216
52217
  else if (iconMark.role === 'icon-right') {
52217
- rightIconWidth += iconMark.AABBBounds.width();
52218
+ rightIconWidth +=
52219
+ iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);
52218
52220
  rightIconHeight = Math.max(rightIconHeight, iconMark.AABBBounds.height());
52219
52221
  }
52220
52222
  });
@@ -52226,7 +52228,7 @@
52226
52228
  oldTextHeight = textMark.AABBBounds.height();
52227
52229
  textMark.setAttribute('maxLineWidth', distWidth -
52228
52230
  leftIconWidth -
52229
- rightIconHeight -
52231
+ rightIconWidth -
52230
52232
  (padding[1] + padding[3]) -
52231
52233
  (textMark.attribute.dx ?? 0) -
52232
52234
  (scene.table.theme._contentOffset ?? 0));
@@ -52234,12 +52236,12 @@
52234
52236
  }
52235
52237
  else if (textMark instanceof RichText) {
52236
52238
  oldTextHeight = textMark.AABBBounds.height();
52237
- textMark.setAttribute('width', distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3]));
52239
+ textMark.setAttribute('width', distWidth - leftIconWidth - rightIconWidth - (padding[1] + padding[3]));
52238
52240
  contentHeight = textMark.AABBBounds.height();
52239
52241
  }
52240
52242
  else if (cellContent) {
52241
52243
  oldTextHeight = cellContent.AABBBounds.height();
52242
- cellContent.updateWidth(distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3]));
52244
+ cellContent.updateWidth(distWidth - leftIconWidth - rightIconWidth - (padding[1] + padding[3]));
52243
52245
  contentHeight = cellContent.AABBBounds.height();
52244
52246
  }
52245
52247
  const oldCellHeight = Math.round(Math.max(leftIconHeight, rightIconHeight, oldTextHeight) + padding[0] + padding[2]);
@@ -53986,7 +53988,7 @@
53986
53988
  };
53987
53989
  if (isFunction$1(customLayout)) {
53988
53990
  const customLayoutObj = customLayout(arg);
53989
- if (customLayoutObj.rootContainer instanceof Group$2) {
53991
+ if (customLayoutObj.rootContainer) {
53990
53992
  customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);
53991
53993
  dealPercentCalc(customLayoutObj.rootContainer, table.getColWidth(col), 0);
53992
53994
  customLayoutObj.rootContainer.setStage(table.scenegraph.stage);
@@ -55567,9 +55569,7 @@
55567
55569
  const oldVerticalBarPos = this.table.stateManager.scroll.verticalBarPos;
55568
55570
  const theme = this.table.theme;
55569
55571
  const width = theme.scrollStyle?.width;
55570
- const visible1 = theme.scrollStyle?.visible;
55571
- const horizontalVisible = theme.scrollStyle?.horizontalVisible ?? visible1;
55572
- const verticalVisible = theme.scrollStyle?.verticalVisible ?? visible1;
55572
+ const visible = theme.scrollStyle?.visible;
55573
55573
  const tableWidth = Math.ceil(this.table.scenegraph.tableGroup.attribute.width);
55574
55574
  const tableHeight = Math.ceil(this.table.scenegraph.tableGroup.attribute.height);
55575
55575
  const totalHeight = this.table.getAllRowsHeight();
@@ -55598,14 +55598,14 @@
55598
55598
  y: attrY,
55599
55599
  width: tableWidth - frozenColsWidth - rightFrozenColsWidth,
55600
55600
  range: [0, rangeEnd],
55601
- visible: horizontalVisible === 'always'
55601
+ visible: visible === 'always'
55602
55602
  });
55603
55603
  const bounds = this.hScrollBar.AABBBounds && this.hScrollBar.globalAABBBounds;
55604
55604
  this.hScrollBar._viewPosition = {
55605
55605
  x: bounds.x1,
55606
55606
  y: bounds.y1
55607
55607
  };
55608
- if (horizontalVisible === 'always') {
55608
+ if (visible === 'always') {
55609
55609
  this.hScrollBar.showAll();
55610
55610
  }
55611
55611
  }
@@ -55636,14 +55636,14 @@
55636
55636
  y: frozenRowsHeight + (!hoverOn ? this.table.scenegraph.tableGroup.attribute.y : 0),
55637
55637
  height: tableHeight - frozenRowsHeight - bottomFrozenRowsHeight,
55638
55638
  range: [0, rangeEnd],
55639
- visible: verticalVisible === 'always'
55639
+ visible: visible === 'always'
55640
55640
  });
55641
55641
  const bounds = this.vScrollBar.AABBBounds && this.vScrollBar.globalAABBBounds;
55642
55642
  this.vScrollBar._viewPosition = {
55643
55643
  x: bounds.x1,
55644
55644
  y: bounds.y1
55645
55645
  };
55646
- if (verticalVisible === 'always') {
55646
+ if (visible === 'always') {
55647
55647
  this.vScrollBar.showAll();
55648
55648
  }
55649
55649
  }
@@ -55806,9 +55806,8 @@
55806
55806
  }
55807
55807
  }
55808
55808
  hideVerticalScrollBar() {
55809
- const visible1 = this.table.theme.scrollStyle.visible;
55810
- const verticalVisible = this.table.theme.scrollStyle.verticalVisible ?? visible1;
55811
- if (verticalVisible !== 'focus' && verticalVisible !== 'scrolling') {
55809
+ const visable = this.table.theme.scrollStyle.visible;
55810
+ if (visable !== 'focus' && visable !== 'scrolling') {
55812
55811
  return;
55813
55812
  }
55814
55813
  this.vScrollBar.setAttribute('visible', false);
@@ -55816,9 +55815,8 @@
55816
55815
  this.table.scenegraph.updateNextFrame();
55817
55816
  }
55818
55817
  showVerticalScrollBar() {
55819
- const visible1 = this.table.theme.scrollStyle.visible;
55820
- const verticalVisible = this.table.theme.scrollStyle.verticalVisible ?? visible1;
55821
- if (verticalVisible !== 'focus' && verticalVisible !== 'scrolling') {
55818
+ const visable = this.table.theme.scrollStyle.visible;
55819
+ if (visable !== 'focus' && visable !== 'scrolling') {
55822
55820
  return;
55823
55821
  }
55824
55822
  this.vScrollBar.setAttribute('visible', true);
@@ -55826,9 +55824,8 @@
55826
55824
  this.table.scenegraph.updateNextFrame();
55827
55825
  }
55828
55826
  hideHorizontalScrollBar() {
55829
- const visible1 = this.table.theme.scrollStyle.visible;
55830
- const horizontalVisible = this.table.theme.scrollStyle.horizontalVisible ?? visible1;
55831
- if (horizontalVisible !== 'focus' && horizontalVisible !== 'scrolling') {
55827
+ const visable = this.table.theme.scrollStyle.visible;
55828
+ if (visable !== 'focus' && visable !== 'scrolling') {
55832
55829
  return;
55833
55830
  }
55834
55831
  this.hScrollBar.setAttribute('visible', false);
@@ -55836,9 +55833,8 @@
55836
55833
  this.table.scenegraph.updateNextFrame();
55837
55834
  }
55838
55835
  showHorizontalScrollBar() {
55839
- const visible1 = this.table.theme.scrollStyle.visible;
55840
- const horizontalVisible = this.table.theme.scrollStyle.horizontalVisible ?? visible1;
55841
- if (horizontalVisible !== 'focus' && horizontalVisible !== 'scrolling') {
55836
+ const visable = this.table.theme.scrollStyle.visible;
55837
+ if (visable !== 'focus' && visable !== 'scrolling') {
55842
55838
  return;
55843
55839
  }
55844
55840
  this.hScrollBar.setAttribute('visible', true);
@@ -57417,7 +57413,7 @@
57417
57413
  }
57418
57414
  const { width: widthFroDraw, height: heightFroDraw } = getCellSizeForDraw(group, Math.ceil(width), Math.ceil(height), bottomRight);
57419
57415
  if (cornerRadius) {
57420
- createRectPath$1(context, x, y, widthFroDraw + deltaWidth, heightFroDraw + deltaHeight, cornerRadius);
57416
+ createRectPath(context, x, y, widthFroDraw + deltaWidth, heightFroDraw + deltaHeight, cornerRadius);
57421
57417
  }
57422
57418
  else {
57423
57419
  context.rect(x, y, widthFroDraw, heightFroDraw);
@@ -57800,119 +57796,6 @@
57800
57796
  context.setLineDash([]);
57801
57797
  context.closePath();
57802
57798
  }
57803
- function createRectPath(path, x, y, width, height, rectCornerRadius, edgeCb) {
57804
- if (width < 0) {
57805
- x += width;
57806
- width = -width;
57807
- }
57808
- if (height < 0) {
57809
- y += height;
57810
- height = -height;
57811
- }
57812
- let cornerRadius;
57813
- if (isNumber$2(rectCornerRadius, true)) {
57814
- rectCornerRadius = abs(rectCornerRadius);
57815
- cornerRadius = [
57816
- rectCornerRadius,
57817
- rectCornerRadius,
57818
- rectCornerRadius,
57819
- rectCornerRadius
57820
- ];
57821
- }
57822
- else if (Array.isArray(rectCornerRadius)) {
57823
- const cornerRadiusArr = rectCornerRadius;
57824
- let cr0;
57825
- let cr1;
57826
- switch (cornerRadiusArr.length) {
57827
- case 0:
57828
- cornerRadius = [0, 0, 0, 0];
57829
- break;
57830
- case 1:
57831
- cr0 = abs(cornerRadiusArr[0]);
57832
- cornerRadius = [cr0, cr0, cr0, cr0];
57833
- break;
57834
- case 2:
57835
- case 3:
57836
- cr0 = abs(cornerRadiusArr[0]);
57837
- cr1 = abs(cornerRadiusArr[1]);
57838
- cornerRadius = [cr0, cr1, cr0, cr1];
57839
- break;
57840
- default:
57841
- cornerRadius = cornerRadiusArr;
57842
- cornerRadius[0] = abs(cornerRadius[0]);
57843
- cornerRadius[1] = abs(cornerRadius[1]);
57844
- cornerRadius[2] = abs(cornerRadius[2]);
57845
- cornerRadius[3] = abs(cornerRadius[3]);
57846
- break;
57847
- }
57848
- }
57849
- else {
57850
- cornerRadius = [0, 0, 0, 0];
57851
- }
57852
- if (width < 0 || cornerRadius[0] + cornerRadius[1] + cornerRadius[2] + cornerRadius[3] < 1e-12) {
57853
- return path.rect(x, y, width, height);
57854
- }
57855
- const [leftTop, rightTop, rightBottom, leftBottom] = [
57856
- [x, y],
57857
- [x + width, y],
57858
- [x + width, y + height],
57859
- [x, y + height]
57860
- ];
57861
- const maxCornerRadius = Math.min(width / 2, height / 2);
57862
- const _cornerRadius = [
57863
- Math.min(maxCornerRadius, cornerRadius[0]),
57864
- Math.min(maxCornerRadius, cornerRadius[1]),
57865
- Math.min(maxCornerRadius, cornerRadius[2]),
57866
- Math.min(maxCornerRadius, cornerRadius[3])
57867
- ];
57868
- const leftTopPoint1 = [leftTop[0] + _cornerRadius[0], leftTop[1]];
57869
- const leftTopPoint2 = [leftTop[0], leftTop[1] + _cornerRadius[0]];
57870
- const rightTopPoint1 = [rightTop[0] - _cornerRadius[1], rightTop[1]];
57871
- const rightTopPoint2 = [rightTop[0], rightTop[1] + _cornerRadius[1]];
57872
- const rightBottomPoint1 = [rightBottom[0] - _cornerRadius[2], rightBottom[1]];
57873
- const rightBottomPoint2 = [rightBottom[0], rightBottom[1] - _cornerRadius[2]];
57874
- const leftBottomPoint1 = [leftBottom[0] + _cornerRadius[3], leftBottom[1]];
57875
- const leftBottomPoint2 = [leftBottom[0], leftBottom[1] - _cornerRadius[3]];
57876
- path.moveTo(leftTopPoint1[0], leftTopPoint1[1]);
57877
- edgeCb && edgeCb[0]
57878
- ? edgeCb[0](leftTopPoint1[0], leftTopPoint1[1], rightTopPoint1[0], rightTopPoint1[1])
57879
- : path.lineTo(rightTopPoint1[0], rightTopPoint1[1]);
57880
- if (!arrayEqual(rightTopPoint1, rightTopPoint2)) {
57881
- path.moveTo(rightTopPoint1[0], rightTopPoint1[1]);
57882
- const centerX = rightTopPoint1[0];
57883
- const centerY = rightTopPoint1[1] + _cornerRadius[1];
57884
- path.arc(centerX, centerY, _cornerRadius[1], -halfPi, 0, false);
57885
- }
57886
- edgeCb && edgeCb[1]
57887
- ? edgeCb[1](rightTopPoint2[0], rightTopPoint2[1], rightBottomPoint2[0], rightBottomPoint2[1])
57888
- : path.lineTo(rightBottomPoint2[0], rightBottomPoint2[1]);
57889
- if (!arrayEqual(rightBottomPoint1, rightBottomPoint2)) {
57890
- const centerX = rightBottomPoint2[0] - _cornerRadius[2];
57891
- const centerY = rightBottomPoint2[1];
57892
- path.moveTo(rightBottomPoint2[0], rightBottomPoint2[1]);
57893
- path.arc(centerX, centerY, _cornerRadius[2], 0, halfPi, false);
57894
- }
57895
- edgeCb && edgeCb[2]
57896
- ? edgeCb[2](rightBottomPoint1[0], rightBottomPoint1[1], leftBottomPoint1[0], leftBottomPoint1[1])
57897
- : path.lineTo(leftBottomPoint1[0], leftBottomPoint1[1]);
57898
- if (!arrayEqual(leftBottomPoint1, leftBottomPoint2)) {
57899
- const centerX = leftBottomPoint1[0];
57900
- const centerY = leftBottomPoint1[1] - _cornerRadius[3];
57901
- path.moveTo(leftBottomPoint1[0], leftBottomPoint1[1]);
57902
- path.arc(centerX, centerY, _cornerRadius[3], halfPi, pi, false);
57903
- }
57904
- edgeCb && edgeCb[3]
57905
- ? edgeCb[3](leftBottomPoint2[0], leftBottomPoint2[1], leftTopPoint2[0], leftTopPoint2[1])
57906
- : path.lineTo(leftTopPoint2[0], leftTopPoint2[1]);
57907
- if (!arrayEqual(leftTopPoint1, leftTopPoint2)) {
57908
- const centerX = leftTopPoint1[0];
57909
- const centerY = leftTopPoint1[1] + _cornerRadius[0];
57910
- path.moveTo(leftTopPoint2[0], leftTopPoint2[1]);
57911
- path.arc(centerX, centerY, _cornerRadius[0], pi, pi + halfPi, false);
57912
- }
57913
- !edgeCb && path.closePath();
57914
- return path;
57915
- }
57916
57799
 
57917
57800
  let loadingImage;
57918
57801
  let VTableDrawItemInterceptorContribution = class VTableDrawItemInterceptorContribution {
@@ -58410,7 +58293,7 @@
58410
58293
  };
58411
58294
  if (isFunction$1(customLayout)) {
58412
58295
  const customLayoutObj = customLayout(arg);
58413
- if (customLayoutObj.rootContainer instanceof Group$2) {
58296
+ if (customLayoutObj.rootContainer) {
58414
58297
  customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);
58415
58298
  dealPercentCalc(customLayoutObj.rootContainer, 0, table.getRowHeight(row));
58416
58299
  const setedWidth = customLayoutObj.rootContainer.attribute.width;
@@ -59677,7 +59560,7 @@
59677
59560
  }
59678
59561
  [colStart, colEnd].forEach((col) => {
59679
59562
  const style = table._getCellStyle(col, row);
59680
- if (style?.textStick) {
59563
+ if (style?.textStick && style?.textStick !== 'vertical') {
59681
59564
  const cellGroup = table.scenegraph.getCell(col, row);
59682
59565
  adjustCellContentHorizontalLayout(cellGroup, frozenColsWidth + table.tableX, table.tableNoFrameWidth - table.getRightFrozenColsWidth() + table.tableX, changedCells, style?.textStickBaseOnAlign, table);
59683
59566
  }
@@ -59689,7 +59572,9 @@
59689
59572
  }
59690
59573
  [rowStart, rowEnd].forEach((row) => {
59691
59574
  const style = table._getCellStyle(col, row);
59692
- if (style?.textStick && table.internalProps.layoutMap.rowHierarchyType !== 'tree') {
59575
+ if (style?.textStick &&
59576
+ table.internalProps.layoutMap.rowHierarchyType !== 'tree' &&
59577
+ style?.textStick !== 'horizontal') {
59693
59578
  const cellGroup = table.scenegraph.getCell(col, row);
59694
59579
  adjustCellContentVerticalLayout(cellGroup, frozenRowsHeight + table.tableY, table.tableNoFrameHeight - table.getBottomFrozenRowsHeight() + table.tableY, changedCells, style?.textStickBaseOnAlign, table);
59695
59580
  }
@@ -59701,19 +59586,19 @@
59701
59586
  }
59702
59587
  [rowStart, rowEnd].forEach((row) => {
59703
59588
  const style = table._getCellStyle(col, row);
59704
- if (style?.textStick) {
59589
+ if (style?.textStick && style?.textStick !== 'horizontal') {
59705
59590
  const cellGroup = table.scenegraph.getCell(col, row);
59706
59591
  adjustCellContentVerticalLayout(cellGroup, frozenRowsHeight + table.tableY, table.tableNoFrameHeight - table.getBottomFrozenRowsHeight() + table.tableY, changedCells, style?.textStickBaseOnAlign, table);
59707
59592
  }
59708
59593
  });
59709
59594
  }
59710
- for (let row = rowStart; row < rowEnd; row++) {
59595
+ for (let row = rowStart; row <= rowEnd; row++) {
59711
59596
  if (colEnd < colStart) {
59712
59597
  break;
59713
59598
  }
59714
59599
  [colStart, colEnd].forEach((col) => {
59715
59600
  const style = table._getCellStyle(col, row);
59716
- if (table._getCellStyle(col, row)?.textStick) {
59601
+ if (style?.textStick && style?.textStick !== 'vertical') {
59717
59602
  const cellGroup = table.scenegraph.getCell(col, row);
59718
59603
  adjustCellContentHorizontalLayout(cellGroup, frozenColsWidth + table.tableX, table.tableNoFrameWidth - table.getRightFrozenColsWidth() + table.tableX, changedCells, style?.textStickBaseOnAlign, table);
59719
59604
  }
@@ -63956,7 +63841,9 @@
63956
63841
  this.updateNextFrame();
63957
63842
  }
63958
63843
  updateCellContentWhileResize(col, row) {
63959
- const type = this.table.getBodyColumnType(col, row);
63844
+ const type = this.table.isHeader(col, row)
63845
+ ? this.table._getHeaderLayoutMap(col, row).headerType
63846
+ : this.table.getBodyColumnType(col, row);
63960
63847
  const cellGroup = this.getCell(col, row);
63961
63848
  if (type === 'image' || type === 'video') {
63962
63849
  updateImageCellContentWhileResize(cellGroup, col, row, 0, 0, this.table);
@@ -64242,12 +64129,13 @@
64242
64129
  updateDomContainer() {
64243
64130
  const { headerDomContainer, bodyDomContainer } = this.table.internalProps;
64244
64131
  if (headerDomContainer) {
64245
- headerDomContainer.style.width = `${headerDomContainer.parentElement?.offsetWidth ?? 1 - 1}px`;
64132
+ headerDomContainer.style.width = `${(headerDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;
64246
64133
  headerDomContainer.style.height = `${this.table.getFrozenRowsHeight()}px`;
64247
64134
  }
64248
64135
  if (bodyDomContainer) {
64249
- bodyDomContainer.style.width = `${bodyDomContainer.parentElement?.offsetWidth ?? 1 - 1}px`;
64250
- bodyDomContainer.style.height = `${bodyDomContainer.parentElement?.offsetHeight ?? 1 - 1 - this.table.getFrozenRowsHeight()}px`;
64136
+ const totalFrozenRowsHeight = this.table.getFrozenRowsHeight() + this.table.getBottomFrozenRowsHeight();
64137
+ bodyDomContainer.style.width = `${(bodyDomContainer.parentElement?.offsetWidth ?? 1) - 1}px`;
64138
+ bodyDomContainer.style.height = `${(bodyDomContainer.parentElement?.offsetHeight ?? 1) - 1 - totalFrozenRowsHeight}px`;
64251
64139
  bodyDomContainer.style.top = `${this.table.getFrozenRowsHeight()}px`;
64252
64140
  }
64253
64141
  }
@@ -66394,7 +66282,7 @@
66394
66282
  this.checkHorizontalScrollBarEnd();
66395
66283
  }
66396
66284
  }
66397
- setScrollTop(top, triggerEvent = true) {
66285
+ setScrollTop(top) {
66398
66286
  const totalHeight = this.table.getAllRowsHeight();
66399
66287
  const sizeTolerance = this.table.options.customConfig?._disableColumnAndRowSizeRound ? 1 : 0;
66400
66288
  top = Math.max(0, Math.min(top, totalHeight - this.table.scenegraph.height - sizeTolerance));
@@ -66410,7 +66298,7 @@
66410
66298
  this.table.scenegraph.setY(-top);
66411
66299
  const yRatio = top / (totalHeight - this.table.scenegraph.height);
66412
66300
  this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio);
66413
- if (oldVerticalBarPos !== top && triggerEvent) {
66301
+ if (oldVerticalBarPos !== top) {
66414
66302
  this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
66415
66303
  scrollTop: this.scroll.verticalBarPos,
66416
66304
  scrollLeft: this.scroll.horizontalBarPos,
@@ -66424,7 +66312,7 @@
66424
66312
  this.checkVerticalScrollBarEnd();
66425
66313
  }
66426
66314
  }
66427
- setScrollLeft(left, triggerEvent = true) {
66315
+ setScrollLeft(left) {
66428
66316
  this.table.scrollLeft;
66429
66317
  const totalWidth = this.table.getAllColsWidth();
66430
66318
  this.table.getFrozenColsWidth();
@@ -66442,7 +66330,7 @@
66442
66330
  this.table.scenegraph.setX(-left);
66443
66331
  const xRatio = left / (totalWidth - this.table.scenegraph.width);
66444
66332
  this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio);
66445
- if (oldHorizontalBarPos !== left && triggerEvent) {
66333
+ if (oldHorizontalBarPos !== left) {
66446
66334
  this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
66447
66335
  scrollTop: this.scroll.verticalBarPos,
66448
66336
  scrollLeft: this.scroll.horizontalBarPos,
@@ -67057,12 +66945,8 @@
67057
66945
  }
67058
66946
  });
67059
66947
  table.scenegraph.tableGroup.addEventListener('pointerenter', (e) => {
67060
- if ((table.theme.scrollStyle.horizontalVisible && table.theme.scrollStyle.horizontalVisible === 'focus') ||
67061
- (!table.theme.scrollStyle.horizontalVisible && table.theme.scrollStyle.visible === 'focus')) {
66948
+ if (table.theme.scrollStyle.visible === 'focus') {
67062
66949
  stateManager.showHorizontalScrollBar();
67063
- }
67064
- if ((table.theme.scrollStyle.verticalVisible && table.theme.scrollStyle.verticalVisible === 'focus') ||
67065
- (!table.theme.scrollStyle.verticalVisible && table.theme.scrollStyle.visible === 'focus')) {
67066
66950
  stateManager.showVerticalScrollBar();
67067
66951
  }
67068
66952
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_TABLE)) {
@@ -67076,12 +66960,8 @@
67076
66960
  stateManager.updateInteractionState(InteractionState.default);
67077
66961
  stateManager.updateCursor();
67078
66962
  }
67079
- if ((table.theme.scrollStyle.horizontalVisible && table.theme.scrollStyle.horizontalVisible === 'focus') ||
67080
- (!table.theme.scrollStyle.horizontalVisible && table.theme.scrollStyle.visible === 'focus')) {
66963
+ if (table.theme.scrollStyle.visible === 'focus') {
67081
66964
  stateManager.hideHorizontalScrollBar();
67082
- }
67083
- if ((table.theme.scrollStyle.verticalVisible && table.theme.scrollStyle.verticalVisible === 'focus') ||
67084
- (!table.theme.scrollStyle.verticalVisible && table.theme.scrollStyle.visible === 'focus')) {
67085
66965
  stateManager.hideVerticalScrollBar();
67086
66966
  }
67087
66967
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {
@@ -73222,12 +73102,11 @@
73222
73102
  eventManager;
73223
73103
  editorManager;
73224
73104
  _pixelRatio;
73225
- canvasSizeSeted;
73226
73105
  static get EVENT_TYPE() {
73227
73106
  return TABLE_EVENT_TYPE;
73228
73107
  }
73229
73108
  options;
73230
- version = "1.6.0-alpha.5";
73109
+ version = "1.6.0";
73231
73110
  pagination;
73232
73111
  id = `VTable${Date.now()}`;
73233
73112
  headerStyleCache;
@@ -73271,9 +73150,6 @@
73271
73150
  padding.right && (this.padding.right = padding.right);
73272
73151
  }
73273
73152
  }
73274
- if (isValid$1(canvasHeight) && isValid$1(canvasWidth)) {
73275
- this.canvasSizeSeted = true;
73276
- }
73277
73153
  this.tableNoFrameWidth = 0;
73278
73154
  this.tableNoFrameHeight = 0;
73279
73155
  this.canvasWidth = canvasWidth;
@@ -73413,7 +73289,7 @@
73413
73289
  }, options.tooltip);
73414
73290
  if (internalProps.tooltip.renderMode === 'html') {
73415
73291
  const TooltipHandler = Factory.getComponent('tooltipHandler');
73416
- internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine);
73292
+ TooltipHandler && (internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine));
73417
73293
  }
73418
73294
  internalProps.menu = Object.assign({
73419
73295
  renderMode: 'html'
@@ -73444,11 +73320,6 @@
73444
73320
  get canvas() {
73445
73321
  return this.internalProps.canvas;
73446
73322
  }
73447
- setCanvasSize(canvasWidth, canvasHeight) {
73448
- this.canvasWidth = canvasWidth;
73449
- this.canvasHeight = canvasHeight;
73450
- this.resize();
73451
- }
73452
73323
  resize() {
73453
73324
  this._updateSize();
73454
73325
  this.internalProps.legends?.forEach(legend => {
@@ -73723,22 +73594,16 @@
73723
73594
  const element = this.getElement();
73724
73595
  let widthWithoutPadding = 0;
73725
73596
  let heightWithoutPadding = 0;
73726
- if (this.canvasSizeSeted) {
73727
- widthWithoutPadding = this.canvasWidth;
73728
- heightWithoutPadding = this.canvasHeight;
73729
- }
73730
- else {
73731
- if (element.parentElement) {
73732
- const computedStyle = element.parentElement.style || window.getComputedStyle(element.parentElement);
73733
- widthWithoutPadding =
73734
- element.parentElement.offsetWidth -
73735
- parseInt(computedStyle.paddingLeft || '0px', 10) -
73736
- parseInt(computedStyle.paddingRight || '0px', 10);
73737
- heightWithoutPadding =
73738
- element.parentElement.offsetHeight -
73739
- parseInt(computedStyle.paddingTop || '0px', 10) -
73740
- parseInt(computedStyle.paddingBottom || '0px', 20);
73741
- }
73597
+ if (element.parentElement) {
73598
+ const computedStyle = element.parentElement.style || window.getComputedStyle(element.parentElement);
73599
+ widthWithoutPadding =
73600
+ element.parentElement.offsetWidth -
73601
+ parseInt(computedStyle.paddingLeft || '0px', 10) -
73602
+ parseInt(computedStyle.paddingRight || '0px', 10);
73603
+ heightWithoutPadding =
73604
+ element.parentElement.offsetHeight -
73605
+ parseInt(computedStyle.paddingTop || '0px', 10) -
73606
+ parseInt(computedStyle.paddingBottom || '0px', 20);
73742
73607
  }
73743
73608
  const width1 = widthWithoutPadding ?? 1 - 1;
73744
73609
  const height1 = heightWithoutPadding ?? 1 - 1;
@@ -73771,8 +73636,8 @@
73771
73636
  widthP = this.canvasWidth - 1;
73772
73637
  heightP = this.canvasHeight - 1;
73773
73638
  }
73774
- const width = Math.floor(widthP - getVerticalScrollBarSize(this.getTheme().scrollStyle));
73775
- const height = Math.floor(heightP - getHorizontalScrollBarSize(this.getTheme().scrollStyle));
73639
+ const width = Math.floor(widthP - getScrollBarSize(this.getTheme().scrollStyle));
73640
+ const height = Math.floor(heightP - getScrollBarSize(this.getTheme().scrollStyle));
73776
73641
  if (this.internalProps.theme?.frameStyle) {
73777
73642
  const lineWidths = toBoxArray(this.internalProps.theme.frameStyle?.borderLineWidth ?? [null]);
73778
73643
  const shadowWidths = toBoxArray(this.internalProps.theme.frameStyle?.shadowBlur ?? [0]);
@@ -74851,7 +74716,7 @@
74851
74716
  return body?.define;
74852
74717
  }
74853
74718
  getBodyColumnType(col, row) {
74854
- const cellType = this.internalProps.layoutMap.getBody(col, row).cellType;
74719
+ const cellType = this.internalProps.layoutMap.getBody(col, row)?.cellType ?? 'text';
74855
74720
  return getProp('cellType', { cellType }, col, row, this);
74856
74721
  }
74857
74722
  getCellType(col, row) {
@@ -77098,6 +76963,7 @@
77098
76963
  title: seriesNumber.title,
77099
76964
  define: seriesNumber,
77100
76965
  cellType: seriesNumber.cellType ?? 'text',
76966
+ headerType: rowSeriesNumber.cellType ?? 'text',
77101
76967
  style: seriesNumber.style,
77102
76968
  width: seriesNumber.width,
77103
76969
  format: seriesNumber.format,
@@ -77115,6 +76981,7 @@
77115
76981
  title: rowSeriesNumber.title,
77116
76982
  define: rowSeriesNumber,
77117
76983
  cellType: rowSeriesNumber.cellType ?? 'text',
76984
+ headerType: rowSeriesNumber.cellType ?? 'text',
77118
76985
  style: rowSeriesNumber.style,
77119
76986
  width: rowSeriesNumber.width,
77120
76987
  format: rowSeriesNumber.format,
@@ -79294,8 +79161,8 @@
79294
79161
  if (table.transpose) {
79295
79162
  table.rowCount = layoutMap.rowCount ?? 0;
79296
79163
  table.colCount = layoutMap.colCount ?? 0;
79297
- table.frozenRowCount = 0;
79298
79164
  this.internalProps.frozenColCount = Math.max((layoutMap.headerLevelCount ?? 0) + layoutMap.leftRowSeriesNumberColumnCount, this.options.frozenColCount ?? 0);
79165
+ this.internalProps.frozenRowCount = this.options.frozenRowCount ?? 0;
79299
79166
  if (table.bottomFrozenRowCount !== (this.options.bottomFrozenRowCount ?? 0)) {
79300
79167
  table.bottomFrozenRowCount = this.options.bottomFrozenRowCount ?? 0;
79301
79168
  }
@@ -82765,6 +82632,7 @@
82765
82632
  constructor(titleOption, table) {
82766
82633
  this.table = table;
82767
82634
  this._titleOption = titleOption;
82635
+ this._titleOption.orient = titleOption.orient ?? 'top';
82768
82636
  if (titleOption.visible !== false) {
82769
82637
  this._titleComponent = this._createOrUpdateTitleComponent(this._getTitleAttrs());
82770
82638
  }
@@ -85057,7 +84925,15 @@
85057
84925
  });
85058
84926
  percentCompleteBarGroup.addChild(barPosi);
85059
84927
  const lineLeft = barRightToLeft ? barRectNega.left : barRectPosi.left;
85060
- const lineStrokeColor = getOrApply(barAxisColor);
84928
+ const lineStrokeColor = getOrApply(barAxisColor, {
84929
+ col,
84930
+ row,
84931
+ table,
84932
+ context: null,
84933
+ value,
84934
+ dataValue,
84935
+ percentile: positiveRate
84936
+ });
85061
84937
  const line = createLine({
85062
84938
  x: 0,
85063
84939
  y: 0,
@@ -85693,6 +85569,7 @@
85693
85569
  title: seriesNumber.title,
85694
85570
  define: seriesNumber,
85695
85571
  cellType: seriesNumber.cellType ?? 'text',
85572
+ headerType: seriesNumber.cellType ?? 'text',
85696
85573
  width: seriesNumber.width,
85697
85574
  style: seriesNumber.style,
85698
85575
  format: seriesNumber.format,
@@ -85708,6 +85585,7 @@
85708
85585
  title: rowSeriesNumber.title,
85709
85586
  define: rowSeriesNumber,
85710
85587
  cellType: rowSeriesNumber.cellType ?? 'text',
85588
+ headerType: rowSeriesNumber.cellType ?? 'text',
85711
85589
  style: rowSeriesNumber.style,
85712
85590
  width: rowSeriesNumber.width,
85713
85591
  format: rowSeriesNumber.format,
@@ -93011,7 +92889,7 @@
93011
92889
  }
93012
92890
 
93013
92891
  registerForVrender();
93014
- const version = "1.6.0-alpha.5";
92892
+ const version = "1.6.0";
93015
92893
  function getIcons() {
93016
92894
  return get$2();
93017
92895
  }
@@ -93023,9 +92901,12 @@
93023
92901
  exports.DataStatistics = DataStatistics;
93024
92902
  exports.ListTable = ListTableAll;
93025
92903
  exports.ListTableSimple = ListTableSimple;
92904
+ exports.PIVOT_CHART_EVENT_TYPE = PIVOT_CHART_EVENT_TYPE;
92905
+ exports.PIVOT_TABLE_EVENT_TYPE = PIVOT_TABLE_EVENT_TYPE;
93026
92906
  exports.PivotChart = PivotChart;
93027
92907
  exports.PivotTable = PivotTableAll;
93028
92908
  exports.PivotTableSimple = PivotTableSimple;
92909
+ exports.TABLE_EVENT_TYPE = TABLE_EVENT_TYPE;
93029
92910
  exports.TYPES = index$1;
93030
92911
  exports.VArc = VArc;
93031
92912
  exports.VArea = VArea;