tvcharts 0.6.59 → 0.6.61

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 (37) hide show
  1. package/dist/echarts.js +652 -154
  2. package/dist/echarts.js.map +3 -3
  3. package/index.js +2 -2
  4. package/lib/chart/boxes/BoxesLayout.js +191 -0
  5. package/lib/chart/boxes/BoxesPath.js +78 -0
  6. package/lib/chart/boxes/BoxesSeries.js +118 -0
  7. package/lib/chart/boxes/BoxesView.js +164 -0
  8. package/lib/chart/boxes/install.js +51 -0
  9. package/lib/chart/boxes/util.js +72 -0
  10. package/lib/chart/boxes.js +46 -0
  11. package/lib/chart/mineLines/LinesPath.js +45 -45
  12. package/lib/chart/mineLines/MineLinesLayout.js +2 -2
  13. package/lib/chart/mineLines/MineLinesSeries.js +4 -4
  14. package/lib/chart/mineLines/MineLinesView.js +2 -2
  15. package/lib/component/dataZoom/AxisProxy.js +9 -2
  16. package/lib/component/dataZoom/DataZoomModel.js +3 -0
  17. package/lib/component/dataZoom/InsideZoomView.js +10 -0
  18. package/lib/coord/cartesian/Cartesian2D.js +1 -1
  19. package/lib/export/charts.js +1 -0
  20. package/lib/model/Global.js +1 -0
  21. package/lib/model/Series.js +1 -0
  22. package/package.json +1 -1
  23. package/types/dist/charts.d.ts +1 -1
  24. package/types/dist/components.d.ts +1 -1
  25. package/types/dist/echarts.d.ts +1 -0
  26. package/types/dist/renderers.d.ts +1 -1
  27. package/types/dist/shared.d.ts +7 -4
  28. package/types/src/chart/boxes/BoxesLayout.d.ts +3 -0
  29. package/types/src/chart/boxes/BoxesPath.d.ts +18 -0
  30. package/types/src/chart/boxes/BoxesSeries.d.ts +71 -0
  31. package/types/src/chart/boxes/BoxesView.d.ts +17 -0
  32. package/types/src/chart/boxes/install.d.ts +2 -0
  33. package/types/src/chart/boxes/util.d.ts +4 -0
  34. package/types/src/chart/boxes.d.ts +1 -0
  35. package/types/src/chart/mineLines/MineLinesSeries.d.ts +1 -0
  36. package/types/src/export/charts.d.ts +1 -0
  37. package/types/src/model/Series.d.ts +1 -0
package/dist/echarts.js CHANGED
@@ -16277,6 +16277,8 @@ var BUILTIN_CHARTS_MAP = {
16277
16277
  linesPlot: "LinesPlotChart",
16278
16278
  strategy: "StrategyChart",
16279
16279
  mineLines: "MineLinesChart",
16280
+ lineFills: "LineFillsChart",
16281
+ boxes: "BoxesChart",
16280
16282
  labels: "LabelsChart",
16281
16283
  hlines: "HLinesChart",
16282
16284
  fills: "FillsChart",
@@ -20062,6 +20064,7 @@ var SERIES_UNIVERSAL_TRANSITION_PROP = "__universalTransitionEnabled";
20062
20064
  var SeriesModel2 = class extends Component_default {
20063
20065
  constructor() {
20064
20066
  super(...arguments);
20067
+ this.xFilterMode = "none";
20065
20068
  this._selectedDataIndicesMap = {};
20066
20069
  }
20067
20070
  init(option, parentModel, ecModel) {
@@ -38577,7 +38580,7 @@ var Cartesian2D = class extends Cartesian_default {
38577
38580
  const yAxis = this.getAxis("y");
38578
38581
  const baseValue = this.getBaseValue();
38579
38582
  out2[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp2));
38580
- out2[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp2, baseValue));
38583
+ out2[1] = Math.max(yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp2, baseValue)), -1e3);
38581
38584
  return out2;
38582
38585
  }
38583
38586
  clampData(data, out2) {
@@ -56116,9 +56119,7 @@ function install25(registers) {
56116
56119
  registers.registerLayout(StrategyLayout_default);
56117
56120
  }
56118
56121
 
56119
- // src/chart/mineLines/LinesPath.ts
56120
- var LinesPathShape = class {
56121
- };
56122
+ // src/chart/mineLines/util.ts
56122
56123
  function findIntersectionPoint(A, B, rectangle) {
56123
56124
  const [xA, yA] = A;
56124
56125
  const [xB, yB] = B;
@@ -56140,7 +56141,7 @@ function getArrowPoints(fromX, fromY, toX, toY, arrowAngle = Math.PI / 4) {
56140
56141
  const dx = toX - fromX;
56141
56142
  const dy = toY - fromY;
56142
56143
  const length2 = Math.sqrt(dx * dx + dy * dy);
56143
- if (length2 <= 24) {
56144
+ if (length2 <= 20) {
56144
56145
  return;
56145
56146
  }
56146
56147
  const arrowLength = Math.min(Math.floor(length2 / 3), 30);
@@ -56154,6 +56155,36 @@ function getArrowPoints(fromX, fromY, toX, toY, arrowAngle = Math.PI / 4) {
56154
56155
  const point2Y = toY - arrowLength * (normalizedDirectionY * Math.cos(-arrowAngle) - perpendicularY * Math.sin(-arrowAngle));
56155
56156
  return [point1X, point1Y, toX, toY, point2X, point2Y];
56156
56157
  }
56158
+ function getDrawLine(params) {
56159
+ const {extend: extend2, height, width, startPoint, endPoint} = params;
56160
+ const rect = {
56161
+ left: 0,
56162
+ bottom: 0,
56163
+ top: height,
56164
+ right: width
56165
+ };
56166
+ switch (extend2) {
56167
+ case "left": {
56168
+ const pointC = findIntersectionPoint(startPoint, endPoint, rect);
56169
+ return [pointC, endPoint];
56170
+ }
56171
+ case "right": {
56172
+ const pointB = findIntersectionPoint(endPoint, startPoint, rect);
56173
+ return [startPoint, pointB];
56174
+ }
56175
+ case "both": {
56176
+ const pointC = findIntersectionPoint(startPoint, endPoint, rect);
56177
+ const pointB = findIntersectionPoint(endPoint, startPoint, rect);
56178
+ return [pointC, pointB];
56179
+ }
56180
+ default:
56181
+ return [startPoint, endPoint];
56182
+ }
56183
+ }
56184
+
56185
+ // src/chart/mineLines/LinesPath.ts
56186
+ var LinesPathShape = class {
56187
+ };
56157
56188
  function drawArrow(params) {
56158
56189
  const {lineStyle, fromX, fromY, toX, toY, path} = params;
56159
56190
  switch (lineStyle) {
@@ -56199,40 +56230,6 @@ function drawArrow(params) {
56199
56230
  break;
56200
56231
  }
56201
56232
  }
56202
- function drawLine(params) {
56203
- const {extent: extent3, fromX, fromY, toX, toY, path, height, width} = params;
56204
- const rect = {
56205
- left: 0,
56206
- bottom: 0,
56207
- top: height,
56208
- right: width
56209
- };
56210
- switch (extent3) {
56211
- case "left": {
56212
- const pointC = findIntersectionPoint([fromX, fromY], [toX, toY], rect);
56213
- path.moveTo(pointC[0], pointC[1]);
56214
- path.lineTo(toX, toY);
56215
- break;
56216
- }
56217
- case "right": {
56218
- const pointB = findIntersectionPoint([toX, toY], [fromX, fromY], rect);
56219
- path.moveTo(fromX, fromY);
56220
- path.lineTo(pointB[0], pointB[1]);
56221
- break;
56222
- }
56223
- case "both": {
56224
- const pointC = findIntersectionPoint([fromX, fromY], [toX, toY], rect);
56225
- const pointB = findIntersectionPoint([toX, toY], [fromX, fromY], rect);
56226
- path.moveTo(pointC[0], pointC[1]);
56227
- path.lineTo(pointB[0], pointB[1]);
56228
- break;
56229
- }
56230
- default:
56231
- path.moveTo(fromX, fromY);
56232
- path.lineTo(toX, toY);
56233
- break;
56234
- }
56235
- }
56236
56233
  var LinesPath = class extends Path_default {
56237
56234
  constructor(opts) {
56238
56235
  super(opts);
@@ -56241,23 +56238,22 @@ var LinesPath = class extends Path_default {
56241
56238
  return new LinesPathShape();
56242
56239
  }
56243
56240
  buildPath(path, shape) {
56244
- const {points: points4, lineStyle, extent: extent3, rectWidth, rectHeight} = shape;
56241
+ const {points: points4, lineStyle, extend: extend2, rectWidth, rectHeight} = shape;
56245
56242
  for (let i = 0; i < points4.length; ) {
56246
56243
  const x1 = points4[i++];
56247
56244
  const y1 = points4[i++];
56248
56245
  const x2 = points4[i++];
56249
56246
  const y2 = points4[i++];
56250
56247
  drawArrow({lineStyle, fromX: x1, fromY: y1, toX: x2, toY: y2, path});
56251
- drawLine({
56252
- extent: extent3,
56253
- fromX: x1,
56254
- fromY: y1,
56255
- toX: x2,
56256
- toY: y2,
56257
- path,
56248
+ const [startPoint, endPoint] = getDrawLine({
56249
+ extend: extend2,
56250
+ startPoint: [x1, y1],
56251
+ endPoint: [x2, y2],
56258
56252
  width: rectWidth,
56259
56253
  height: rectHeight
56260
56254
  });
56255
+ path.moveTo(startPoint[0], startPoint[1]);
56256
+ path.lineTo(endPoint[0], endPoint[1]);
56261
56257
  }
56262
56258
  }
56263
56259
  };
@@ -56266,9 +56262,9 @@ var LinesPath_default = LinesPath;
56266
56262
  // src/chart/mineLines/MineLinesView.ts
56267
56263
  function getLineDashByLineStyle(lineStyle) {
56268
56264
  if (lineStyle === "style_dashed") {
56269
- return [5, 5];
56265
+ return [8, 8];
56270
56266
  } else if (lineStyle === "style_dotted") {
56271
- return [2, 2];
56267
+ return [4, 4];
56272
56268
  }
56273
56269
  return "solid";
56274
56270
  }
@@ -56309,11 +56305,11 @@ var MineLinesView2 = class extends Chart_default {
56309
56305
  const rectWidth = api2.getWidth();
56310
56306
  const rectHeight = api2.getHeight();
56311
56307
  each(linesPointById, function(item, key) {
56312
- const [color2, width, lineStyle, extent3] = key.split(":");
56308
+ const [color2, width, lineStyle, extend2] = key.split(":");
56313
56309
  const el = new LinesPath_default({
56314
56310
  shape: {
56315
56311
  points: item,
56316
- extent: extent3,
56312
+ extend: extend2,
56317
56313
  lineStyle,
56318
56314
  rectWidth,
56319
56315
  rectHeight
@@ -56346,6 +56342,7 @@ var MineLinesSeriesModel2 = class extends Series_default {
56346
56342
  constructor() {
56347
56343
  super(...arguments);
56348
56344
  this.type = MineLinesSeriesModel2.type;
56345
+ this.xFilterMode = "weakFilter";
56349
56346
  this.dataIndexById = {};
56350
56347
  }
56351
56348
  getInitialData(option) {
@@ -56395,9 +56392,9 @@ MineLinesSeriesModel.defaultOption = {
56395
56392
  legendHoverLink: true,
56396
56393
  xAxisIndex: 0,
56397
56394
  yAxisIndex: 0,
56398
- dimensions: ["x1", "x2", "y1", "y2"],
56395
+ dimensions: ["extend", "x1", "x2", "y1", "y2"],
56399
56396
  encode: {
56400
- x: ["x1", "x2"],
56397
+ x: ["extend", "x1", "x2"],
56401
56398
  y: ["y1", "y2"]
56402
56399
  },
56403
56400
  large: true,
@@ -56436,8 +56433,8 @@ var MineLinesLayout = {
56436
56433
  const coordDims = ["x", "y"];
56437
56434
  const cDimsI = map(data.mapDimensionsAll(coordDims[cDimIdx]), data.getDimensionIndex, data);
56438
56435
  const vDimsI = map(data.mapDimensionsAll(coordDims[vDimIdx]), data.getDimensionIndex, data);
56439
- const x1DimI = cDimsI[0];
56440
- const x2DimI = cDimsI[1];
56436
+ const x1DimI = cDimsI[1];
56437
+ const x2DimI = cDimsI[2];
56441
56438
  const y1DimI = vDimsI[0];
56442
56439
  const y2DimI = vDimsI[1];
56443
56440
  if (cDimsI.length < 2 || vDimsI.length < 2) {
@@ -56481,6 +56478,488 @@ function install26(registers) {
56481
56478
  registers.registerLayout(MineLinesLayout_default);
56482
56479
  }
56483
56480
 
56481
+ // src/chart/lineFills/LineFillsPath.ts
56482
+ var LineFillsPathShape = class {
56483
+ };
56484
+ var LineFillsPath = class extends Path_default {
56485
+ constructor(opts) {
56486
+ super(opts);
56487
+ }
56488
+ getDefaultShape() {
56489
+ return new LineFillsPathShape();
56490
+ }
56491
+ buildPath(path, shape) {
56492
+ const {points: points4} = shape;
56493
+ for (let i = 0; i < points4.length; ) {
56494
+ const x1 = points4[i++];
56495
+ const y1 = points4[i++];
56496
+ const x2 = points4[i++];
56497
+ const y2 = points4[i++];
56498
+ const x3 = points4[i++];
56499
+ const y3 = points4[i++];
56500
+ const x4 = points4[i++];
56501
+ const y4 = points4[i++];
56502
+ path.moveTo(x1, y1);
56503
+ path.lineTo(x2, y2);
56504
+ path.lineTo(x3, y3);
56505
+ path.lineTo(x4, y4);
56506
+ path.lineTo(x1, y1);
56507
+ }
56508
+ }
56509
+ };
56510
+ var LineFillsPath_default = LineFillsPath;
56511
+
56512
+ // src/chart/lineFills/LineFillsView.ts
56513
+ var LineFillsView2 = class extends Chart_default {
56514
+ constructor() {
56515
+ super(...arguments);
56516
+ this.type = LineFillsView2.type;
56517
+ }
56518
+ init() {
56519
+ }
56520
+ render(seriesModel, ecModel, api2) {
56521
+ const data = seriesModel.getData();
56522
+ this._renderLines(data, seriesModel, api2);
56523
+ const clipPath = seriesModel.get("clip", true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);
56524
+ if (clipPath) {
56525
+ this.group.setClipPath(clipPath);
56526
+ } else {
56527
+ this.group.removeClipPath();
56528
+ }
56529
+ }
56530
+ _getClipShape(seriesModel) {
56531
+ if (!seriesModel.get("clip", true)) {
56532
+ return;
56533
+ }
56534
+ const coordSys = seriesModel.coordinateSystem;
56535
+ return coordSys && coordSys.getArea && coordSys.getArea(0.1);
56536
+ }
56537
+ _renderLines(data, seriesModel, api2) {
56538
+ if (!this._linesGroup) {
56539
+ this._linesGroup = new Group_default();
56540
+ this.group.add(this._linesGroup);
56541
+ } else {
56542
+ this._linesGroup.removeAll();
56543
+ }
56544
+ const linesGroup = this._linesGroup;
56545
+ const z2 = seriesModel.get("z2");
56546
+ const linesPointById = data.getLayout("linesPointById");
56547
+ each(linesPointById, function(item, color2) {
56548
+ const el = new LineFillsPath_default({
56549
+ shape: {
56550
+ points: item
56551
+ },
56552
+ style: {
56553
+ fill: color2,
56554
+ stroke: "none"
56555
+ },
56556
+ z2
56557
+ });
56558
+ linesGroup.add(el);
56559
+ });
56560
+ }
56561
+ remove(ecModel, api2) {
56562
+ this._linesGroup && this._linesGroup.removeAll();
56563
+ this._linesGroup = null;
56564
+ }
56565
+ dispose(ecModel, api2) {
56566
+ this.remove(ecModel, api2);
56567
+ }
56568
+ };
56569
+ var LineFillsView = LineFillsView2;
56570
+ LineFillsView.type = "lineFills";
56571
+ var LineFillsView_default = LineFillsView;
56572
+
56573
+ // src/chart/lineFills/LineFillsSeries.ts
56574
+ var LineFillsSeriesModel2 = class extends Series_default {
56575
+ constructor() {
56576
+ super(...arguments);
56577
+ this.type = LineFillsSeriesModel2.type;
56578
+ this.dataIndexById = {};
56579
+ }
56580
+ getInitialData(option) {
56581
+ if (true) {
56582
+ const coordSys = option.coordinateSystem;
56583
+ if (coordSys !== "polar" && coordSys !== "cartesian2d") {
56584
+ throw new Error("LineFills not support coordinateSystem besides cartesian and polar");
56585
+ }
56586
+ }
56587
+ this.computedDataIndexById(option);
56588
+ return createSeriesData_default(null, this, {
56589
+ useEncodeDefaulter: true
56590
+ });
56591
+ }
56592
+ getZLevelKey() {
56593
+ return this.getData().count() > this.getProgressiveThreshold() ? this.id : "";
56594
+ }
56595
+ computedDataIndexById(option) {
56596
+ const dataIndexById = {};
56597
+ each(option.data, function(item, index) {
56598
+ dataIndexById[item.id] = index;
56599
+ });
56600
+ this.dataIndexById = dataIndexById;
56601
+ }
56602
+ getResetData(data) {
56603
+ const dataIndexById = this.dataIndexById;
56604
+ const that = this;
56605
+ each(data, function(item) {
56606
+ const index = dataIndexById[item.id];
56607
+ if (typeof index === "number") {
56608
+ that.option.data[index] = item;
56609
+ } else {
56610
+ that.option.data.push(item);
56611
+ }
56612
+ });
56613
+ this.computedDataIndexById(this.option);
56614
+ return this.option.data;
56615
+ }
56616
+ };
56617
+ var LineFillsSeriesModel = LineFillsSeriesModel2;
56618
+ LineFillsSeriesModel.type = "series.lineFills";
56619
+ LineFillsSeriesModel.dependencies = ["grid", "polar"];
56620
+ LineFillsSeriesModel.defaultOption = {
56621
+ coordinateSystem: "cartesian2d",
56622
+ z: 2,
56623
+ z2: 0,
56624
+ legendHoverLink: true,
56625
+ xAxisIndex: 0,
56626
+ yAxisIndex: 0,
56627
+ large: true,
56628
+ largeThreshold: 600,
56629
+ clip: true,
56630
+ notFilterData: true
56631
+ };
56632
+ var LineFillsSeries_default = LineFillsSeriesModel;
56633
+
56634
+ // src/chart/lineFills/LineFillsLayout.ts
56635
+ function optimizePoint2(point1, point2, lineWidth) {
56636
+ const notOptimize = lineWidth % 2 === 0;
56637
+ if (notOptimize) {
56638
+ return;
56639
+ }
56640
+ if (point1[0] === point2[0]) {
56641
+ point2[0] = point1[0] = Math.floor(point1[0]) + 0.5;
56642
+ }
56643
+ if (point1[1] === point2[1]) {
56644
+ point2[1] = point1[1] = Math.floor(point1[1]) + 0.5;
56645
+ }
56646
+ }
56647
+ var LineFillsLayout = {
56648
+ seriesType: "lineFills",
56649
+ plan: createRenderPlanner(),
56650
+ reset: function(seriesModel, ecModel, api2) {
56651
+ const coordSys = seriesModel.coordinateSystem;
56652
+ if (!coordSys) {
56653
+ if (true) {
56654
+ error("The lines series must have a coordinate system.");
56655
+ }
56656
+ return;
56657
+ }
56658
+ const data = seriesModel.getData();
56659
+ const width = api2.getWidth();
56660
+ const height = api2.getHeight();
56661
+ return {
56662
+ progress(params, mineLinesData) {
56663
+ const linesPointById = {};
56664
+ for (let i = params.start; i < params.end; i++) {
56665
+ const itemModel = data.getItemModel(i);
56666
+ const {color: color2} = itemModel.get("itemStyle");
56667
+ if (!color2) {
56668
+ continue;
56669
+ }
56670
+ const line1 = itemModel.get("line1");
56671
+ const startPoint1 = coordSys.dataToPoint([line1.value[0], line1.value[2]]);
56672
+ const endPoint1 = coordSys.dataToPoint([line1.value[1], line1.value[3]]);
56673
+ optimizePoint2(startPoint1, endPoint1, line1.itemStyle.width);
56674
+ const [extendStart1, extendEnd1] = getDrawLine({
56675
+ width,
56676
+ height,
56677
+ extend: line1.itemStyle.extend,
56678
+ startPoint: startPoint1,
56679
+ endPoint: endPoint1
56680
+ });
56681
+ const line2 = itemModel.get("line2");
56682
+ const startPoint2 = coordSys.dataToPoint([line2.value[0], line2.value[2]]);
56683
+ const endPoint2 = coordSys.dataToPoint([line2.value[1], line2.value[3]]);
56684
+ optimizePoint2(startPoint2, endPoint2, line2.itemStyle.width);
56685
+ const [extendStart2, extendEnd2] = getDrawLine({
56686
+ width,
56687
+ height,
56688
+ extend: line2.itemStyle.extend,
56689
+ startPoint: startPoint2,
56690
+ endPoint: endPoint2
56691
+ });
56692
+ const points4 = linesPointById[color2] || [];
56693
+ points4.push(...extendStart1, ...extendEnd1, ...extendEnd2, ...extendStart2);
56694
+ linesPointById[color2] = points4;
56695
+ }
56696
+ data.setLayout({
56697
+ linesPointById
56698
+ });
56699
+ }
56700
+ };
56701
+ }
56702
+ };
56703
+ var LineFillsLayout_default = LineFillsLayout;
56704
+
56705
+ // src/chart/lineFills/install.ts
56706
+ function install27(registers) {
56707
+ registers.registerChartView(LineFillsView_default);
56708
+ registers.registerSeriesModel(LineFillsSeries_default);
56709
+ registers.registerLayout(LineFillsLayout_default);
56710
+ }
56711
+
56712
+ // src/chart/boxes/BoxesPath.ts
56713
+ var BoxesPathShape = class {
56714
+ };
56715
+ var BoxesPath = class extends Path_default {
56716
+ constructor(opts) {
56717
+ super(opts);
56718
+ }
56719
+ getDefaultShape() {
56720
+ return new BoxesPathShape();
56721
+ }
56722
+ buildPath(path, shape) {
56723
+ const {points: points4} = shape;
56724
+ for (let i = 0; i < points4.length; ) {
56725
+ const left = points4[i++];
56726
+ const right = points4[i++];
56727
+ const top = points4[i++];
56728
+ const bottom = points4[i++];
56729
+ path.moveTo(left, top);
56730
+ path.lineTo(right, top);
56731
+ path.lineTo(right, bottom);
56732
+ path.lineTo(left, bottom);
56733
+ path.closePath();
56734
+ }
56735
+ }
56736
+ };
56737
+ var BoxesPath_default = BoxesPath;
56738
+
56739
+ // src/chart/boxes/BoxesView.ts
56740
+ function getLineDashByLineStyle2(lineStyle) {
56741
+ if (lineStyle === "style_dashed") {
56742
+ return [8, 8];
56743
+ } else if (lineStyle === "style_dotted") {
56744
+ return [4, 4];
56745
+ }
56746
+ return "solid";
56747
+ }
56748
+ var BoxesView2 = class extends Chart_default {
56749
+ constructor() {
56750
+ super(...arguments);
56751
+ this.type = BoxesView2.type;
56752
+ }
56753
+ init() {
56754
+ }
56755
+ render(seriesModel, ecModel) {
56756
+ const data = seriesModel.getData();
56757
+ this._renderLines(data, seriesModel);
56758
+ const clipPath = seriesModel.get("clip", true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);
56759
+ if (clipPath) {
56760
+ this.group.setClipPath(clipPath);
56761
+ } else {
56762
+ this.group.removeClipPath();
56763
+ }
56764
+ }
56765
+ _getClipShape(seriesModel) {
56766
+ if (!seriesModel.get("clip", true)) {
56767
+ return;
56768
+ }
56769
+ const coordSys = seriesModel.coordinateSystem;
56770
+ return coordSys && coordSys.getArea && coordSys.getArea(0.1);
56771
+ }
56772
+ _renderLines(data, seriesModel) {
56773
+ if (!this._linesGroup) {
56774
+ this._linesGroup = new Group_default();
56775
+ this.group.add(this._linesGroup);
56776
+ } else {
56777
+ this._linesGroup.removeAll();
56778
+ }
56779
+ const linesGroup = this._linesGroup;
56780
+ const z2 = seriesModel.get("z2");
56781
+ const linesPointById = data.getLayout("linesPointById");
56782
+ each(linesPointById, function(item, key) {
56783
+ const [color2, width, lineStyle, fill] = key.split(":");
56784
+ const el = new BoxesPath_default({
56785
+ shape: {
56786
+ points: item
56787
+ },
56788
+ style: {
56789
+ fill: fill || "none",
56790
+ stroke: color2,
56791
+ lineWidth: +width,
56792
+ lineDash: getLineDashByLineStyle2(lineStyle)
56793
+ },
56794
+ z2
56795
+ });
56796
+ linesGroup.add(el);
56797
+ });
56798
+ }
56799
+ remove(ecModel, api2) {
56800
+ this._linesGroup && this._linesGroup.removeAll();
56801
+ this._linesGroup = null;
56802
+ }
56803
+ dispose(ecModel, api2) {
56804
+ this.remove(ecModel, api2);
56805
+ }
56806
+ };
56807
+ var BoxesView = BoxesView2;
56808
+ BoxesView.type = "boxes";
56809
+ var BoxesView_default = BoxesView;
56810
+
56811
+ // src/chart/boxes/BoxesSeries.ts
56812
+ var BoxesSeriesModel2 = class extends Series_default {
56813
+ constructor() {
56814
+ super(...arguments);
56815
+ this.type = BoxesSeriesModel2.type;
56816
+ this.xFilterMode = "weakFilter";
56817
+ this.dataIndexById = {};
56818
+ }
56819
+ getInitialData(option) {
56820
+ if (true) {
56821
+ const coordSys = option.coordinateSystem;
56822
+ if (coordSys !== "polar" && coordSys !== "cartesian2d") {
56823
+ throw new Error("Boxes not support coordinateSystem besides cartesian and polar");
56824
+ }
56825
+ }
56826
+ this.computedDataIndexById(option);
56827
+ return createSeriesData_default(null, this, {
56828
+ useEncodeDefaulter: true
56829
+ });
56830
+ }
56831
+ getZLevelKey() {
56832
+ return this.getData().count() > this.getProgressiveThreshold() ? this.id : "";
56833
+ }
56834
+ computedDataIndexById(option) {
56835
+ const dataIndexById = {};
56836
+ each(option.data, function(item, index) {
56837
+ dataIndexById[item.id] = index;
56838
+ });
56839
+ this.dataIndexById = dataIndexById;
56840
+ }
56841
+ getResetData(data) {
56842
+ const dataIndexById = this.dataIndexById;
56843
+ const that = this;
56844
+ each(data, function(item) {
56845
+ const index = dataIndexById[item.id];
56846
+ if (typeof index === "number") {
56847
+ that.option.data[index] = item;
56848
+ } else {
56849
+ that.option.data.push(item);
56850
+ }
56851
+ });
56852
+ this.computedDataIndexById(this.option);
56853
+ return this.option.data;
56854
+ }
56855
+ };
56856
+ var BoxesSeriesModel = BoxesSeriesModel2;
56857
+ BoxesSeriesModel.type = "series.boxes";
56858
+ BoxesSeriesModel.dependencies = ["grid", "polar"];
56859
+ BoxesSeriesModel.defaultOption = {
56860
+ coordinateSystem: "cartesian2d",
56861
+ z: 2,
56862
+ z2: 0,
56863
+ legendHoverLink: true,
56864
+ xAxisIndex: 0,
56865
+ yAxisIndex: 0,
56866
+ dimensions: ["extend", "left", "right", "top", "bottom"],
56867
+ encode: {
56868
+ x: ["extend", "left", "right"],
56869
+ y: ["top", "bottom"]
56870
+ },
56871
+ large: true,
56872
+ largeThreshold: 600,
56873
+ clip: true
56874
+ };
56875
+ var BoxesSeries_default = BoxesSeriesModel;
56876
+
56877
+ // src/chart/boxes/BoxesLayout.ts
56878
+ function optimizePoint3(point1, point2, lineWidth) {
56879
+ const notOptimize = lineWidth % 2 === 0;
56880
+ if (notOptimize) {
56881
+ return;
56882
+ }
56883
+ point2[0] = point1[0] = Math.floor(point1[0]) + 0.5;
56884
+ point2[1] = point1[1] = Math.floor(point1[1]) + 0.5;
56885
+ }
56886
+ var BoxesLayout = {
56887
+ seriesType: "boxes",
56888
+ plan: createRenderPlanner(),
56889
+ reset: function(seriesModel, ecModel, api2) {
56890
+ const coordSys = seriesModel.coordinateSystem;
56891
+ if (!coordSys) {
56892
+ if (true) {
56893
+ error("The lines series must have a coordinate system.");
56894
+ }
56895
+ return;
56896
+ }
56897
+ const data = seriesModel.getData();
56898
+ const cDimIdx = 0;
56899
+ const vDimIdx = 1;
56900
+ const coordDims = ["x", "y"];
56901
+ const cDimsI = map(data.mapDimensionsAll(coordDims[cDimIdx]), data.getDimensionIndex, data);
56902
+ const vDimsI = map(data.mapDimensionsAll(coordDims[vDimIdx]), data.getDimensionIndex, data);
56903
+ const x1DimI = cDimsI[1];
56904
+ const x2DimI = cDimsI[2];
56905
+ const y1DimI = vDimsI[0];
56906
+ const y2DimI = vDimsI[1];
56907
+ if (cDimsI.length < 2 || vDimsI.length < 2) {
56908
+ return;
56909
+ }
56910
+ const width = api2.getWidth();
56911
+ const extendLeft = -50;
56912
+ const extendRight = width + 50;
56913
+ function getHExtend(left, right, extend2) {
56914
+ switch (extend2) {
56915
+ case "left":
56916
+ return [extendLeft, right];
56917
+ case "right":
56918
+ return [left, extendRight];
56919
+ case "both":
56920
+ return [extendLeft, extendRight];
56921
+ }
56922
+ return [left, right];
56923
+ }
56924
+ return {
56925
+ progress(params, boxesData) {
56926
+ const store = boxesData.getStore();
56927
+ const linesPointById = {};
56928
+ for (let i = params.start; i < params.end; i++) {
56929
+ const x1Val = store.get(x1DimI, i);
56930
+ const x2Val = store.get(x2DimI, i);
56931
+ const y1Val = store.get(y1DimI, i);
56932
+ const y2Val = store.get(y2DimI, i);
56933
+ const startPoint = coordSys.dataToPoint([x1Val, y1Val]);
56934
+ const endPoint = coordSys.dataToPoint([x2Val, y2Val]);
56935
+ const itemModel = data.getItemModel(i);
56936
+ const {border_width, border_color, style, extend: extend2, bgcolor} = itemModel.get("itemStyle");
56937
+ if (!border_color) {
56938
+ continue;
56939
+ }
56940
+ const key = `${border_color}:${border_width}:${style}:${bgcolor}`;
56941
+ const points4 = linesPointById[key] || [];
56942
+ optimizePoint3(startPoint, endPoint, border_width);
56943
+ const [left, right] = getHExtend(startPoint[0], endPoint[0], extend2);
56944
+ points4.push(left, right, startPoint[1], endPoint[1]);
56945
+ linesPointById[key] = points4;
56946
+ }
56947
+ data.setLayout({
56948
+ linesPointById
56949
+ });
56950
+ }
56951
+ };
56952
+ }
56953
+ };
56954
+ var BoxesLayout_default = BoxesLayout;
56955
+
56956
+ // src/chart/boxes/install.ts
56957
+ function install28(registers) {
56958
+ registers.registerChartView(BoxesView_default);
56959
+ registers.registerSeriesModel(BoxesSeries_default);
56960
+ registers.registerLayout(BoxesLayout_default);
56961
+ }
56962
+
56484
56963
  // src/chart/labels/LabelsSeries.ts
56485
56964
  var LabelsSeriesModel2 = class extends Series_default {
56486
56965
  constructor() {
@@ -57113,7 +57592,7 @@ var labelsLayout = {
57113
57592
  var labelsLayout_default = labelsLayout;
57114
57593
 
57115
57594
  // src/chart/labels/install.ts
57116
- function install27(registers) {
57595
+ function install29(registers) {
57117
57596
  registers.registerSeriesModel(LabelsSeries_default);
57118
57597
  registers.registerChartView(LabelsView_default);
57119
57598
  registers.registerLayout(labelsLayout_default);
@@ -57248,7 +57727,7 @@ var hLinesLayout = {
57248
57727
  var hLinesLayout_default = hLinesLayout;
57249
57728
 
57250
57729
  // src/chart/hlines/install.ts
57251
- function install28(registers) {
57730
+ function install30(registers) {
57252
57731
  registers.registerChartView(HLinesView_default);
57253
57732
  registers.registerSeriesModel(HLinesSeries_default);
57254
57733
  registers.registerLayout(hLinesLayout_default);
@@ -57531,7 +58010,7 @@ var fillsLayout = {
57531
58010
  var fillsLayout_default = fillsLayout;
57532
58011
 
57533
58012
  // src/chart/fills/install.ts
57534
- function install29(registers) {
58013
+ function install31(registers) {
57535
58014
  registers.registerChartView(FillsView_default);
57536
58015
  registers.registerSeriesModel(FillsSeries_default);
57537
58016
  registers.registerLayout(fillsLayout_default);
@@ -57735,7 +58214,7 @@ var bgColorLayout = {
57735
58214
  var BgColorLayout_default = bgColorLayout;
57736
58215
 
57737
58216
  // src/chart/bgColor/install.ts
57738
- function install30(registers) {
58217
+ function install32(registers) {
57739
58218
  registers.registerChartView(BgColorView_default);
57740
58219
  registers.registerSeriesModel(BgColorSeries_default);
57741
58220
  registers.registerLayout(BgColorLayout_default);
@@ -58133,7 +58612,7 @@ HeatmapSeriesModel.defaultOption = {
58133
58612
  var HeatmapSeries_default = HeatmapSeriesModel;
58134
58613
 
58135
58614
  // src/chart/heatmap/install.ts
58136
- function install31(registers) {
58615
+ function install33(registers) {
58137
58616
  registers.registerChartView(HeatmapView_default);
58138
58617
  registers.registerSeriesModel(HeatmapSeries_default);
58139
58618
  }
@@ -58696,7 +59175,7 @@ PictorialBarSeriesModel.defaultOption = inheritDefaultOption(BaseBarSeries_defau
58696
59175
  var PictorialBarSeries_default = PictorialBarSeriesModel;
58697
59176
 
58698
59177
  // src/chart/bar/installPictorialBar.ts
58699
- function install32(registers) {
59178
+ function install34(registers) {
58700
59179
  registers.registerChartView(PictorialBarView_default);
58701
59180
  registers.registerSeriesModel(PictorialBarSeries_default);
58702
59181
  registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, curry(layout2, "pictorialBar"));
@@ -59097,7 +59576,7 @@ function computeBaseline(data) {
59097
59576
  }
59098
59577
 
59099
59578
  // src/chart/themeRiver/install.ts
59100
- function install33(registers) {
59579
+ function install35(registers) {
59101
59580
  registers.registerChartView(ThemeRiverView_default);
59102
59581
  registers.registerSeriesModel(ThemeRiverSeries_default);
59103
59582
  registers.registerLayout(themeRiverLayout);
@@ -59735,7 +60214,7 @@ function sunburstVisual(ecModel) {
59735
60214
  }
59736
60215
 
59737
60216
  // src/chart/sunburst/install.ts
59738
- function install34(registers) {
60217
+ function install36(registers) {
59739
60218
  registers.registerChartView(SunburstView_default);
59740
60219
  registers.registerSeriesModel(SunburstSeries_default);
59741
60220
  registers.registerLayout(curry(sunburstLayout, "sunburst"));
@@ -61183,7 +61662,7 @@ function hasOwnPathData(shape) {
61183
61662
  }
61184
61663
 
61185
61664
  // src/chart/custom/install.ts
61186
- function install35(registers) {
61665
+ function install37(registers) {
61187
61666
  registers.registerChartView(CustomView_default);
61188
61667
  registers.registerSeriesModel(CustomSeries_default);
61189
61668
  }
@@ -61911,7 +62390,7 @@ var AxisPointerModel_default = AxisPointerModel;
61911
62390
 
61912
62391
  // src/component/axisPointer/globalListener.ts
61913
62392
  var inner12 = makeInner();
61914
- var each10 = each;
62393
+ var each11 = each;
61915
62394
  function register(key, api2, handler) {
61916
62395
  if (env_default.node) {
61917
62396
  return;
@@ -61935,7 +62414,7 @@ function initGlobalListeners(zr, api2) {
61935
62414
  function useHandler(eventType, cb) {
61936
62415
  zr.on(eventType, function(e2) {
61937
62416
  const dis = makeDispatchAction(api2);
61938
- each10(inner12(zr).records, function(record) {
62417
+ each11(inner12(zr).records, function(record) {
61939
62418
  record && cb(record, e2, dis.dispatchAction);
61940
62419
  });
61941
62420
  dispatchTooltipFinally(dis.pendings, api2);
@@ -62404,7 +62883,7 @@ function illegalPoint(point) {
62404
62883
  }
62405
62884
 
62406
62885
  // src/component/axisPointer/install.ts
62407
- function install36(registers) {
62886
+ function install38(registers) {
62408
62887
  AxisView_default.registerAxisPointerClass("CartesianAxisPointer", CartesianAxisPointer_default);
62409
62888
  registers.registerComponentModel(AxisPointerModel_default);
62410
62889
  registers.registerComponentView(AxisPointerView_default);
@@ -62433,9 +62912,9 @@ function install36(registers) {
62433
62912
  }
62434
62913
 
62435
62914
  // src/component/grid/install.ts
62436
- function install37(registers) {
62915
+ function install39(registers) {
62437
62916
  use(install6);
62438
- use(install36);
62917
+ use(install38);
62439
62918
  }
62440
62919
 
62441
62920
  // src/component/axisPointer/PolarAxisPointer.ts
@@ -63489,8 +63968,8 @@ var PolarView2 = class extends Component_default2 {
63489
63968
  };
63490
63969
  var PolarView = PolarView2;
63491
63970
  PolarView.type = "polar";
63492
- function install38(registers) {
63493
- use(install36);
63971
+ function install40(registers) {
63972
+ use(install38);
63494
63973
  AxisView_default.registerAxisPointerClass("PolarAxisPointer", PolarAxisPointer_default);
63495
63974
  registers.registerCoordinateSystem("polar", polarCreator_default);
63496
63975
  registers.registerComponentModel(PolarModel_default);
@@ -63953,8 +64432,8 @@ var SingleView2 = class extends Component_default2 {
63953
64432
  };
63954
64433
  var SingleView = SingleView2;
63955
64434
  SingleView.type = "single";
63956
- function install39(registers) {
63957
- use(install36);
64435
+ function install41(registers) {
64436
+ use(install38);
63958
64437
  AxisView_default.registerAxisPointerClass("SingleAxisPointer", SingleAxisPointer_default);
63959
64438
  registers.registerComponentView(SingleView);
63960
64439
  registers.registerComponentView(SingleAxisView_default);
@@ -64644,7 +65123,7 @@ function getCoordSys5(finder) {
64644
65123
  var Calendar_default = Calendar;
64645
65124
 
64646
65125
  // src/component/calendar/install.ts
64647
- function install40(registers) {
65126
+ function install42(registers) {
64648
65127
  registers.registerComponentModel(CalendarModel_default);
64649
65128
  registers.registerComponentView(CalendarView_default);
64650
65129
  registers.registerCoordinateSystem("calendar", Calendar_default);
@@ -65033,7 +65512,7 @@ function setEventData(el, graphicModel, elOption) {
65033
65512
  }
65034
65513
 
65035
65514
  // src/component/graphic/install.ts
65036
- function install41(registers) {
65515
+ function install43(registers) {
65037
65516
  registers.registerComponentModel(GraphicComponentModel);
65038
65517
  registers.registerComponentView(GraphicComponentView);
65039
65518
  registers.registerPreprocessor(function(option) {
@@ -65512,7 +65991,7 @@ SelectDataZoomView.type = "dataZoom.select";
65512
65991
  var SelectZoomView_default = SelectDataZoomView;
65513
65992
 
65514
65993
  // src/component/dataZoom/AxisProxy.ts
65515
- var each11 = each;
65994
+ var each12 = each;
65516
65995
  var asc2 = asc;
65517
65996
  var leftMinVisibleBarCount = 2;
65518
65997
  var rightMinVisibleBarCount = 2;
@@ -65567,7 +66046,7 @@ var AxisProxy = class {
65567
66046
  const percentWindow = [];
65568
66047
  const valueWindow = [];
65569
66048
  let hasPropModeValue;
65570
- each11(["start", "end"], function(prop, idx) {
66049
+ each12(["start", "end"], function(prop, idx) {
65571
66050
  let boundPercent = opt[prop];
65572
66051
  let boundValue = opt[prop + "Value"];
65573
66052
  if (rangePropMode[idx] === "percent") {
@@ -65665,15 +66144,15 @@ var AxisProxy = class {
65665
66144
  if (filterMode === "none") {
65666
66145
  return;
65667
66146
  }
65668
- each11(seriesModels, function(seriesModel) {
66147
+ each12(seriesModels, function(seriesModel) {
65669
66148
  let seriesData = seriesModel.getData();
65670
66149
  const dataDims = seriesData.mapDimensionsAll(axisDim);
65671
66150
  if (!dataDims.length || seriesModel.get("notFilterData")) {
65672
66151
  return;
65673
66152
  }
65674
66153
  const filterDataDims = seriesModel.getFilterDataDims?.();
65675
- const xWeakFilter = seriesModel.xFilterMode === "weakFilter" && axisDim === "x";
65676
- if (filterMode === "weakFilter" || xWeakFilter) {
66154
+ const isXWeakFilter = seriesModel.xFilterMode === "weakFilter" && axisDim === "x";
66155
+ if (filterMode === "weakFilter" || isXWeakFilter) {
65677
66156
  const store = seriesData.getStore();
65678
66157
  const dataDimIndices = map(dataDims, (dim) => seriesData.getDimensionIndex(dim), seriesData);
65679
66158
  seriesData.filterSelf(function(dataIndex) {
@@ -65681,7 +66160,14 @@ var AxisProxy = class {
65681
66160
  let rightOut;
65682
66161
  let hasValue;
65683
66162
  for (let i = 0; i < dataDims.length; i++) {
66163
+ const dim = dataDims[i];
65684
66164
  const value = store.get(dataDimIndices[i], dataIndex);
66165
+ if (dim === "extend") {
66166
+ if (value) {
66167
+ return true;
66168
+ }
66169
+ continue;
66170
+ }
65685
66171
  const thisHasValue = !isNaN(value);
65686
66172
  const thisLeftOut = value < valueWindow[0];
65687
66173
  const thisRightOut = value > valueWindow[1];
@@ -65696,7 +66182,7 @@ var AxisProxy = class {
65696
66182
  });
65697
66183
  } else {
65698
66184
  const offset = seriesModel.get("offset");
65699
- each11(dataDims, function(dim) {
66185
+ each12(dataDims, function(dim) {
65700
66186
  if (filterMode === "empty") {
65701
66187
  seriesModel.setData(seriesData = seriesData.map(dim, function(value) {
65702
66188
  return !isInWindow(value) ? NaN : value;
@@ -65722,7 +66208,7 @@ var AxisProxy = class {
65722
66208
  }
65723
66209
  });
65724
66210
  }
65725
- each11(dataDims, function(dim) {
66211
+ each12(dataDims, function(dim) {
65726
66212
  seriesData.setApproximateExtent(valueWindow, dim);
65727
66213
  });
65728
66214
  });
@@ -65737,7 +66223,7 @@ var AxisProxy = class {
65737
66223
  const minMaxSpan = this._minMaxSpan = {};
65738
66224
  const dataZoomModel = this._dataZoomModel;
65739
66225
  const dataExtent = this._dataExtent;
65740
- each11(["min", "max"], function(minMax) {
66226
+ each12(["min", "max"], function(minMax) {
65741
66227
  let percentSpan = dataZoomModel.get(minMax + "Span");
65742
66228
  let valueSpan = dataZoomModel.get(minMax + "ValueSpan");
65743
66229
  valueSpan != null && (valueSpan = this.getAxisModel().axis.scale.parse(valueSpan));
@@ -65773,7 +66259,7 @@ function calculateDataExtent(axisProxy, axisDim, seriesModels) {
65773
66259
  const dataExtent = [Infinity, -Infinity];
65774
66260
  const axisModel = axisProxy.getAxisModel();
65775
66261
  const dataFromSeriesName = axisModel.axis.model.get("dataFromSeriesName");
65776
- each11(seriesModels, function(seriesModel) {
66262
+ each12(seriesModels, function(seriesModel) {
65777
66263
  if (dataFromSeriesName && seriesModel.name !== dataFromSeriesName) {
65778
66264
  return;
65779
66265
  }
@@ -65906,7 +66392,7 @@ function installCommon(registers) {
65906
66392
  }
65907
66393
 
65908
66394
  // src/component/dataZoom/installDataZoomSelect.ts
65909
- function install42(registers) {
66395
+ function install44(registers) {
65910
66396
  registers.registerComponentModel(SelectZoomModel_default);
65911
66397
  registers.registerComponentView(SelectZoomView_default);
65912
66398
  installCommon(registers);
@@ -66793,11 +67279,11 @@ registerAction({
66793
67279
  var DataView_default = DataView;
66794
67280
 
66795
67281
  // src/component/dataZoom/history.ts
66796
- var each12 = each;
67282
+ var each13 = each;
66797
67283
  var inner16 = makeInner();
66798
67284
  function push(ecModel, newSnapshot) {
66799
67285
  const storedSnapshots = getStoreSnapshots(ecModel);
66800
- each12(newSnapshot, function(batchItem, dataZoomId) {
67286
+ each13(newSnapshot, function(batchItem, dataZoomId) {
66801
67287
  let i = storedSnapshots.length - 1;
66802
67288
  for (; i >= 0; i--) {
66803
67289
  const snapshot = storedSnapshots[i];
@@ -66824,7 +67310,7 @@ function pop(ecModel) {
66824
67310
  const head = storedSnapshots[storedSnapshots.length - 1];
66825
67311
  storedSnapshots.length > 1 && storedSnapshots.pop();
66826
67312
  const snapshot = {};
66827
- each12(head, function(batchItem, dataZoomId) {
67313
+ each13(head, function(batchItem, dataZoomId) {
66828
67314
  for (let i = storedSnapshots.length - 1; i >= 0; i--) {
66829
67315
  batchItem = storedSnapshots[i][dataZoomId];
66830
67316
  if (batchItem) {
@@ -67137,7 +67623,7 @@ function getSize2(xyMinMax) {
67137
67623
  var BrushTargetManager_default = BrushTargetManager;
67138
67624
 
67139
67625
  // src/component/toolbox/feature/DataZoom.ts
67140
- var each13 = each;
67626
+ var each14 = each;
67141
67627
  var DATA_ZOOM_ID_BASE = makeInternalComponentId("toolbox-dataZoom_");
67142
67628
  var DataZoomFeature = class extends ToolboxFeature {
67143
67629
  render(featureModel, ecModel, api2, payload) {
@@ -67205,7 +67691,7 @@ var DataZoomFeature = class extends ToolboxFeature {
67205
67691
  }
67206
67692
  _dispatchZoomAction(snapshot) {
67207
67693
  const batch = [];
67208
- each13(snapshot, function(batchItem, dataZoomId) {
67694
+ each14(snapshot, function(batchItem, dataZoomId) {
67209
67695
  batch.push(clone(batchItem));
67210
67696
  });
67211
67697
  batch.length && this.api.dispatchAction({
@@ -67288,8 +67774,8 @@ registerInternalOptionCreator("dataZoom", function(ecModel) {
67288
67774
  const dzOptions = [];
67289
67775
  const finder = makeAxisFinder(dzFeatureModel);
67290
67776
  const finderResult = parseFinder(ecModel, finder);
67291
- each13(finderResult.xAxisModels, (axisModel) => buildInternalOptions(axisModel, "xAxis", "xAxisIndex"));
67292
- each13(finderResult.yAxisModels, (axisModel) => buildInternalOptions(axisModel, "yAxis", "yAxisIndex"));
67777
+ each14(finderResult.xAxisModels, (axisModel) => buildInternalOptions(axisModel, "xAxis", "xAxisIndex"));
67778
+ each14(finderResult.yAxisModels, (axisModel) => buildInternalOptions(axisModel, "yAxis", "yAxisIndex"));
67293
67779
  function buildInternalOptions(axisModel, axisMainType, axisIndexPropName) {
67294
67780
  const axisIndex = axisModel.componentIndex;
67295
67781
  const newOpt = {
@@ -67306,7 +67792,7 @@ registerInternalOptionCreator("dataZoom", function(ecModel) {
67306
67792
  var DataZoom_default = DataZoomFeature;
67307
67793
 
67308
67794
  // src/component/toolbox/install.ts
67309
- function install43(registers) {
67795
+ function install45(registers) {
67310
67796
  registers.registerComponentModel(ToolboxModel_default);
67311
67797
  registers.registerComponentView(ToolboxView_default);
67312
67798
  registerFeature("saveAsImage", SaveAsImage_default);
@@ -67314,7 +67800,7 @@ function install43(registers) {
67314
67800
  registerFeature("dataView", DataView_default);
67315
67801
  registerFeature("dataZoom", DataZoom_default);
67316
67802
  registerFeature("restore", Restore_default);
67317
- use(install42);
67803
+ use(install44);
67318
67804
  }
67319
67805
 
67320
67806
  // src/component/tooltip/TooltipModel.ts
@@ -68482,8 +68968,8 @@ function findComponentReference(payload, ecModel, api2) {
68482
68968
  var TooltipView_default = TooltipView;
68483
68969
 
68484
68970
  // src/component/tooltip/install.ts
68485
- function install44(registers) {
68486
- use(install36);
68971
+ function install46(registers) {
68972
+ use(install38);
68487
68973
  registers.registerComponentModel(TooltipModel_default);
68488
68974
  registers.registerComponentView(TooltipView_default);
68489
68975
  registers.registerAction({
@@ -68541,7 +69027,7 @@ function removeDuplicate(arr) {
68541
69027
  }
68542
69028
 
68543
69029
  // src/visual/visualSolution.ts
68544
- var each14 = each;
69030
+ var each15 = each;
68545
69031
  function hasKeys(obj) {
68546
69032
  if (obj) {
68547
69033
  for (const name in obj) {
@@ -68553,9 +69039,9 @@ function hasKeys(obj) {
68553
69039
  }
68554
69040
  function createVisualMappings(option, stateList, supplementVisualOption) {
68555
69041
  const visualMappings = {};
68556
- each14(stateList, function(state) {
69042
+ each15(stateList, function(state) {
68557
69043
  const mappings = visualMappings[state] = createMappings();
68558
- each14(option[state], function(visualData, visualType) {
69044
+ each15(option[state], function(visualData, visualType) {
68559
69045
  if (!VisualMapping_default.isValidType(visualType)) {
68560
69046
  return;
68561
69047
  }
@@ -69099,7 +69585,7 @@ var BrushFeature = class extends ToolboxFeature {
69099
69585
  var Brush_default = BrushFeature;
69100
69586
 
69101
69587
  // src/component/brush/install.ts
69102
- function install45(registers) {
69588
+ function install47(registers) {
69103
69589
  registers.registerComponentView(BrushView_default);
69104
69590
  registers.registerComponentModel(BrushModel_default);
69105
69591
  registers.registerPreprocessor(brushPreprocessor);
@@ -69246,7 +69732,7 @@ var TitleView2 = class extends Component_default2 {
69246
69732
  };
69247
69733
  var TitleView = TitleView2;
69248
69734
  TitleView.type = "title";
69249
- function install46(registers) {
69735
+ function install48(registers) {
69250
69736
  registers.registerComponentModel(TitleModel);
69251
69737
  registers.registerComponentView(TitleView);
69252
69738
  }
@@ -69611,7 +70097,7 @@ TableView.type = "table";
69611
70097
  var TableView_default = TableView;
69612
70098
 
69613
70099
  // src/component/table/install.ts
69614
- function install47(registers) {
70100
+ function install49(registers) {
69615
70101
  registers.registerComponentModel(TableModel_default);
69616
70102
  registers.registerComponentView(TableView_default);
69617
70103
  }
@@ -70465,7 +70951,7 @@ function has(obj, attr) {
70465
70951
  }
70466
70952
 
70467
70953
  // src/component/timeline/install.ts
70468
- function install48(registers) {
70954
+ function install50(registers) {
70469
70955
  registers.registerComponentModel(SliderTimelineModel_default);
70470
70956
  registers.registerComponentView(SliderTimelineView_default);
70471
70957
  registers.registerSubTypeDefaulter("timeline", function() {
@@ -70906,7 +71392,7 @@ function createData(coordSys, seriesModel, mpModel) {
70906
71392
  var MarkPointView_default = MarkPointView;
70907
71393
 
70908
71394
  // src/component/marker/installMarkPoint.ts
70909
- function install49(registers) {
71395
+ function install51(registers) {
70910
71396
  registers.registerComponentModel(MarkPointModel_default);
70911
71397
  registers.registerComponentView(MarkPointView_default);
70912
71398
  registers.registerPreprocessor(function(opt) {
@@ -71224,7 +71710,7 @@ function createList2(coordSys, seriesModel, mlModel) {
71224
71710
  var MarkLineView_default = MarkLineView;
71225
71711
 
71226
71712
  // src/component/marker/installMarkLine.ts
71227
- function install50(registers) {
71713
+ function install52(registers) {
71228
71714
  registers.registerComponentModel(MarkLineModel_default);
71229
71715
  registers.registerComponentView(MarkLineView_default);
71230
71716
  registers.registerPreprocessor(function(opt) {
@@ -71538,7 +72024,7 @@ function createList3(coordSys, seriesModel, maModel) {
71538
72024
  var MarkAreaView_default = MarkAreaView;
71539
72025
 
71540
72026
  // src/component/marker/installMarkArea.ts
71541
- function install51(registers) {
72027
+ function install53(registers) {
71542
72028
  registers.registerComponentModel(MarkAreaModel_default);
71543
72029
  registers.registerComponentView(MarkAreaView_default);
71544
72030
  registers.registerPreprocessor(function(opt) {
@@ -72181,7 +72667,7 @@ function updateLabel({x, y, labelData, markerModel, gridRect, position: position
72181
72667
  var MarkLabelView_default = MarkLabelView;
72182
72668
 
72183
72669
  // src/component/marker/installMarkLabel.ts
72184
- function install52(registers) {
72670
+ function install54(registers) {
72185
72671
  registers.registerComponentModel(MarkLabelModal_default);
72186
72672
  registers.registerComponentView(MarkLabelView_default);
72187
72673
  registers.registerPreprocessor(function(opt) {
@@ -72424,7 +72910,7 @@ var LegendModel_default = LegendModel;
72424
72910
 
72425
72911
  // src/component/legend/LegendView.ts
72426
72912
  var curry2 = curry;
72427
- var each15 = each;
72913
+ var each16 = each;
72428
72914
  var Group3 = Group_default;
72429
72915
  var LegendView2 = class extends Component_default2 {
72430
72916
  constructor() {
@@ -72488,7 +72974,7 @@ var LegendView2 = class extends Component_default2 {
72488
72974
  ecModel.eachRawSeries(function(seriesModel) {
72489
72975
  !seriesModel.get("legendHoverLink") && excludeSeriesId.push(seriesModel.id);
72490
72976
  });
72491
- each15(legendModel.getData(), function(legendItemModel, dataIndex) {
72977
+ each16(legendModel.getData(), function(legendItemModel, dataIndex) {
72492
72978
  const name = legendItemModel.get("name");
72493
72979
  if (!this.newlineDisabled && (name === "" || name === "\n")) {
72494
72980
  const g = new Group3();
@@ -72560,7 +73046,7 @@ var LegendView2 = class extends Component_default2 {
72560
73046
  }
72561
73047
  _createSelector(selector2, legendModel, api2, orient, selectorPosition) {
72562
73048
  const selectorGroup = this.getSelectorGroup();
72563
- each15(selector2, function createSelectorButton(selectorItem) {
73049
+ each16(selector2, function createSelectorButton(selectorItem) {
72564
73050
  const type = selectorItem.type;
72565
73051
  const labelText = new Text_default({
72566
73052
  style: {
@@ -72713,7 +73199,7 @@ function getLegendStyle(iconType, legendItemModel, lineVisualStyle, itemVisualSt
72713
73199
  if (style.lineWidth === "auto") {
72714
73200
  style.lineWidth = visualStyle.lineWidth > 0 ? 2 : 0;
72715
73201
  }
72716
- each15(style, (propVal, propName) => {
73202
+ each16(style, (propVal, propName) => {
72717
73203
  style[propName] === "inherit" && (style[propName] = visualStyle[propName]);
72718
73204
  });
72719
73205
  }
@@ -72863,7 +73349,7 @@ function installLegendAction(registers) {
72863
73349
  }
72864
73350
 
72865
73351
  // src/component/legend/installLegendPlain.ts
72866
- function install53(registers) {
73352
+ function install55(registers) {
72867
73353
  registers.registerComponentModel(LegendModel_default);
72868
73354
  registers.registerComponentView(LegendView_default);
72869
73355
  registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);
@@ -73193,17 +73679,17 @@ function installScrollableLegendAction(registers) {
73193
73679
  }
73194
73680
 
73195
73681
  // src/component/legend/installLegendScroll.ts
73196
- function install54(registers) {
73197
- use(install53);
73682
+ function install56(registers) {
73683
+ use(install55);
73198
73684
  registers.registerComponentModel(ScrollableLegendModel_default);
73199
73685
  registers.registerComponentView(ScrollableLegendView_default);
73200
73686
  installScrollableLegendAction(registers);
73201
73687
  }
73202
73688
 
73203
73689
  // src/component/legend/install.ts
73204
- function install55(registers) {
73205
- use(install53);
73206
- use(install54);
73690
+ function install57(registers) {
73691
+ use(install55);
73692
+ use(install56);
73207
73693
  }
73208
73694
 
73209
73695
  // src/component/dataZoom/InsideZoomModel.ts
@@ -73541,7 +74027,17 @@ function makeMover(getPercentDelta) {
73541
74027
  const barSpace = lastDistanceRange[0] ?? this.dataZoomModel.get("barSpace");
73542
74028
  const startLastBarRightSideDiffBarCount = lastDistanceRange[1] ?? this.dataZoomModel.get("lastBarRightSideDiffBarCount");
73543
74029
  const distanceBarCount = distance2 / barSpace;
73544
- const lastBarRightSideDiffBarCount = startLastBarRightSideDiffBarCount - distanceBarCount;
74030
+ const dataCount = axisModel.axis.scale.getAxisDataLen();
74031
+ const barCount = axisModel.axis.getExtent()[1] / barSpace;
74032
+ let lastBarRightSideDiffBarCount = startLastBarRightSideDiffBarCount - distanceBarCount;
74033
+ const maxRightOffsetBarCount = barCount - Math.min(2, dataCount);
74034
+ if (lastBarRightSideDiffBarCount > maxRightOffsetBarCount) {
74035
+ lastBarRightSideDiffBarCount = maxRightOffsetBarCount;
74036
+ }
74037
+ const minRightOffsetBarCount = -dataCount + Math.min(2, dataCount);
74038
+ if (lastBarRightSideDiffBarCount < minRightOffsetBarCount) {
74039
+ lastBarRightSideDiffBarCount = minRightOffsetBarCount;
74040
+ }
73545
74041
  distanceRange[0] = barSpace;
73546
74042
  distanceRange[1] = lastBarRightSideDiffBarCount;
73547
74043
  this.distanceRange = distanceRange;
@@ -73620,7 +74116,7 @@ var getDirectionInfo = {
73620
74116
  var InsideZoomView_default = InsideZoomView;
73621
74117
 
73622
74118
  // src/component/dataZoom/installDataZoomInside.ts
73623
- function install56(registers) {
74119
+ function install58(registers) {
73624
74120
  installCommon(registers);
73625
74121
  registers.registerComponentModel(InsideZoomModel_default);
73626
74122
  registers.registerComponentView(InsideZoomView_default);
@@ -74376,16 +74872,16 @@ function getCursor(orient) {
74376
74872
  var SliderZoomView_default = SliderZoomView;
74377
74873
 
74378
74874
  // src/component/dataZoom/installDataZoomSlider.ts
74379
- function install57(registers) {
74875
+ function install59(registers) {
74380
74876
  registers.registerComponentModel(SliderZoomModel_default);
74381
74877
  registers.registerComponentView(SliderZoomView_default);
74382
74878
  installCommon(registers);
74383
74879
  }
74384
74880
 
74385
74881
  // src/component/dataZoom/install.ts
74386
- function install58(registers) {
74387
- use(install56);
74388
- use(install57);
74882
+ function install60(registers) {
74883
+ use(install58);
74884
+ use(install59);
74389
74885
  }
74390
74886
 
74391
74887
  // src/visual/visualDefault.ts
@@ -74435,7 +74931,7 @@ var visualDefault_default = visualDefault;
74435
74931
  var mapVisual2 = VisualMapping_default.mapVisual;
74436
74932
  var eachVisual = VisualMapping_default.eachVisual;
74437
74933
  var isArray2 = isArray;
74438
- var each16 = each;
74934
+ var each17 = each;
74439
74935
  var asc3 = asc;
74440
74936
  var linearMap2 = linearMap;
74441
74937
  var VisualMapModel2 = class extends Component_default {
@@ -74585,7 +75081,7 @@ var VisualMapModel2 = class extends Component_default {
74585
75081
  let optAbsent = base3[stateAbsent];
74586
75082
  if (optExist && !optAbsent) {
74587
75083
  optAbsent = base3[stateAbsent] = {};
74588
- each16(optExist, function(visualData, visualType) {
75084
+ each17(optExist, function(visualData, visualType) {
74589
75085
  if (!VisualMapping_default.isValidType(visualType)) {
74590
75086
  return;
74591
75087
  }
@@ -74605,7 +75101,7 @@ var VisualMapModel2 = class extends Component_default {
74605
75101
  const inactiveColor = this.get("inactiveColor");
74606
75102
  const itemSymbol = this.getItemSymbol();
74607
75103
  const defaultSymbol = itemSymbol || "roundRect";
74608
- each16(this.stateList, function(state) {
75104
+ each17(this.stateList, function(state) {
74609
75105
  const itemSize = this.itemSize;
74610
75106
  let visuals = controller2[state];
74611
75107
  if (!visuals) {
@@ -74965,7 +75461,7 @@ function makeHighDownBatch(batch, visualMapModel) {
74965
75461
 
74966
75462
  // src/component/visualMap/ContinuousView.ts
74967
75463
  var linearMap3 = linearMap;
74968
- var each17 = each;
75464
+ var each18 = each;
74969
75465
  var mathMin11 = Math.min;
74970
75466
  var mathMax11 = Math.max;
74971
75467
  var HOVER_LINK_SIZE = 12;
@@ -75293,7 +75789,7 @@ var ContinuousView2 = class extends VisualMapView_default {
75293
75789
  const handleLabels = shapes.handleLabels;
75294
75790
  const itemSize = visualMapModel.itemSize;
75295
75791
  const dataExtent = visualMapModel.getExtent();
75296
- each17([0, 1], function(handleIndex) {
75792
+ each18([0, 1], function(handleIndex) {
75297
75793
  const handleThumb = handleThumbs[handleIndex];
75298
75794
  handleThumb.setStyle("fill", visualInRange.handlesColor[handleIndex]);
75299
75795
  handleThumb.y = handleEnds[handleIndex];
@@ -75599,13 +76095,13 @@ function getColorVisual(seriesModel, visualMapModel, value, valueState) {
75599
76095
  }
75600
76096
 
75601
76097
  // src/component/visualMap/preprocessor.ts
75602
- var each18 = each;
76098
+ var each19 = each;
75603
76099
  function visualMapPreprocessor(option) {
75604
76100
  let visualMap = option && option.visualMap;
75605
76101
  if (!isArray(visualMap)) {
75606
76102
  visualMap = visualMap ? [visualMap] : [];
75607
76103
  }
75608
- each18(visualMap, function(opt) {
76104
+ each19(visualMap, function(opt) {
75609
76105
  if (!opt) {
75610
76106
  return;
75611
76107
  }
@@ -75615,7 +76111,7 @@ function visualMapPreprocessor(option) {
75615
76111
  }
75616
76112
  const pieces = opt.pieces;
75617
76113
  if (pieces && isArray(pieces)) {
75618
- each18(pieces, function(piece) {
76114
+ each19(pieces, function(piece) {
75619
76115
  if (isObject(piece)) {
75620
76116
  if (has2(piece, "start") && !has2(piece, "min")) {
75621
76117
  piece.min = piece.start;
@@ -75650,7 +76146,7 @@ function installCommon2(registers) {
75650
76146
  }
75651
76147
 
75652
76148
  // src/component/visualMap/installVisualMapContinuous.ts
75653
- function install59(registers) {
76149
+ function install61(registers) {
75654
76150
  registers.registerComponentModel(ContinuousModel_default);
75655
76151
  registers.registerComponentView(ContinuousView_default);
75656
76152
  installCommon2(registers);
@@ -76090,16 +76586,16 @@ PiecewiseVisualMapView.type = "visualMap.piecewise";
76090
76586
  var PiecewiseView_default = PiecewiseVisualMapView;
76091
76587
 
76092
76588
  // src/component/visualMap/installVisualMapPiecewise.ts
76093
- function install60(registers) {
76589
+ function install62(registers) {
76094
76590
  registers.registerComponentModel(PiecewiseModel_default);
76095
76591
  registers.registerComponentView(PiecewiseView_default);
76096
76592
  installCommon2(registers);
76097
76593
  }
76098
76594
 
76099
76595
  // src/component/visualMap/install.ts
76100
- function install61(registers) {
76101
- use(install59);
76102
- use(install60);
76596
+ function install63(registers) {
76597
+ use(install61);
76598
+ use(install62);
76103
76599
  }
76104
76600
 
76105
76601
  // src/visual/aria.ts
@@ -76295,7 +76791,7 @@ function ariaPreprocessor(option) {
76295
76791
  }
76296
76792
 
76297
76793
  // src/component/aria/install.ts
76298
- function install62(registers) {
76794
+ function install64(registers) {
76299
76795
  registers.registerPreprocessor(ariaPreprocessor);
76300
76796
  registers.registerVisual(registers.PRIORITY.VISUAL.ARIA, ariaVisual);
76301
76797
  }
@@ -76633,7 +77129,7 @@ var sortTransform = {
76633
77129
  };
76634
77130
 
76635
77131
  // src/component/transform/install.ts
76636
- function install63(registers) {
77132
+ function install65(registers) {
76637
77133
  registers.registerTransform(filterTransform);
76638
77134
  registers.registerTransform(sortTransform);
76639
77135
  }
@@ -76671,7 +77167,7 @@ var DatasetView = class extends Component_default2 {
76671
77167
  }
76672
77168
  };
76673
77169
  DatasetView.type = "dataset";
76674
- function install64(registers) {
77170
+ function install66(registers) {
76675
77171
  registers.registerComponentModel(DatasetModel);
76676
77172
  registers.registerComponentView(DatasetView);
76677
77173
  }
@@ -78397,42 +78893,44 @@ use([
78397
78893
  install26,
78398
78894
  install27,
78399
78895
  install28,
78400
- install30,
78401
78896
  install29,
78402
- install31,
78897
+ install30,
78403
78898
  install32,
78899
+ install31,
78404
78900
  install33,
78405
78901
  install34,
78406
- install35
78902
+ install35,
78903
+ install36,
78904
+ install37
78407
78905
  ]);
78408
- use(install37);
78409
- use(install38);
78410
- use(install10);
78411
78906
  use(install39);
78412
- use(install17);
78413
78907
  use(install40);
78908
+ use(install10);
78414
78909
  use(install41);
78910
+ use(install17);
78911
+ use(install42);
78415
78912
  use(install43);
78416
- use(install44);
78417
- use(install36);
78418
78913
  use(install45);
78419
78914
  use(install46);
78915
+ use(install38);
78420
78916
  use(install47);
78421
78917
  use(install48);
78422
78918
  use(install49);
78423
78919
  use(install50);
78424
78920
  use(install51);
78425
78921
  use(install52);
78426
- use(install55);
78427
- use(install58);
78428
- use(install56);
78922
+ use(install53);
78923
+ use(install54);
78429
78924
  use(install57);
78430
- use(install61);
78431
- use(install59);
78432
78925
  use(install60);
78433
- use(install62);
78926
+ use(install58);
78927
+ use(install59);
78434
78928
  use(install63);
78929
+ use(install61);
78930
+ use(install62);
78435
78931
  use(install64);
78932
+ use(install65);
78933
+ use(install66);
78436
78934
  use(installUniversalTransition);
78437
78935
  use(installLabelLayout);
78438
78936