@visactor/vchart 1.13.11-alpha.1 → 1.13.11

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 (56) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +78 -23
  3. package/build/index.js +78 -23
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/histogram/base/histogram-base-transformer.js +1 -1
  7. package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  8. package/cjs/component/crosshair/interface/theme.d.ts +2 -0
  9. package/cjs/component/crosshair/interface/theme.js.map +1 -1
  10. package/cjs/component/crosshair/utils/common.js +9 -5
  11. package/cjs/component/crosshair/utils/common.js.map +1 -1
  12. package/cjs/component/data-zoom/data-filter-base-component.js +7 -6
  13. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  14. package/cjs/component/data-zoom/util.d.ts +1 -0
  15. package/cjs/component/data-zoom/util.js +13 -10
  16. package/cjs/component/data-zoom/util.js.map +1 -1
  17. package/cjs/component/tooltip/interface/theme.d.ts +3 -0
  18. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  19. package/cjs/component/tooltip/tooltip-transformer.js +3 -1
  20. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  21. package/cjs/core/index.d.ts +1 -1
  22. package/cjs/core/index.js +1 -1
  23. package/cjs/core/index.js.map +1 -1
  24. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +2 -3
  25. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  26. package/cjs/series/bar/bar.d.ts +3 -0
  27. package/cjs/series/bar/bar.js +28 -7
  28. package/cjs/series/bar/bar.js.map +1 -1
  29. package/cjs/series/bar/interface.d.ts +1 -0
  30. package/cjs/series/bar/interface.js.map +1 -1
  31. package/esm/chart/histogram/base/histogram-base-transformer.js +1 -1
  32. package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
  33. package/esm/component/crosshair/interface/theme.d.ts +2 -0
  34. package/esm/component/crosshair/interface/theme.js.map +1 -1
  35. package/esm/component/crosshair/utils/common.js +8 -4
  36. package/esm/component/crosshair/utils/common.js.map +1 -1
  37. package/esm/component/data-zoom/data-filter-base-component.js +6 -4
  38. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  39. package/esm/component/data-zoom/util.d.ts +1 -0
  40. package/esm/component/data-zoom/util.js +13 -9
  41. package/esm/component/data-zoom/util.js.map +1 -1
  42. package/esm/component/tooltip/interface/theme.d.ts +3 -0
  43. package/esm/component/tooltip/interface/theme.js.map +1 -1
  44. package/esm/component/tooltip/tooltip-transformer.js +3 -1
  45. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  46. package/esm/core/index.d.ts +1 -1
  47. package/esm/core/index.js +1 -1
  48. package/esm/core/index.js.map +1 -1
  49. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +2 -3
  50. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  51. package/esm/series/bar/bar.d.ts +3 -0
  52. package/esm/series/bar/bar.js +26 -7
  53. package/esm/series/bar/bar.js.map +1 -1
  54. package/esm/series/bar/interface.d.ts +1 -0
  55. package/esm/series/bar/interface.js.map +1 -1
  56. package/package.json +4 -4
package/build/index.es.js CHANGED
@@ -64117,7 +64117,7 @@ const registerVChartCore = () => {
64117
64117
  };
64118
64118
  registerVChartCore();
64119
64119
 
64120
- const version = "1.13.11-alpha.1";
64120
+ const version = "1.13.11";
64121
64121
 
64122
64122
  const addVChartProperty = (data, op) => {
64123
64123
  const context = op.beforeCall();
@@ -67706,7 +67706,8 @@ function getDatumByValue(data, value, startField, endField) {
67706
67706
  const getCartesianCrosshairTheme = (chartTheme, chartSpec) => {
67707
67707
  var _a, _b;
67708
67708
  const axes = array((_a = chartSpec.axes) !== null && _a !== void 0 ? _a : []);
67709
- const { bandField, linearField, xField, yField } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67709
+ const crosshairTheme = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67710
+ const { bandField, linearField, xField, yField, trigger, triggerOff } = crosshairTheme;
67710
67711
  const xAxis = axes.find(axis => isXAxis(axis.orient));
67711
67712
  let newXField;
67712
67713
  if (isValid$1(xAxis)) {
@@ -67725,13 +67726,15 @@ const getCartesianCrosshairTheme = (chartTheme, chartSpec) => {
67725
67726
  }
67726
67727
  return {
67727
67728
  xField: newXField,
67728
- yField: newYField
67729
+ yField: newYField,
67730
+ trigger,
67731
+ triggerOff
67729
67732
  };
67730
67733
  };
67731
67734
  const getPolarCrosshairTheme = (chartTheme, chartSpec) => {
67732
67735
  var _a, _b;
67733
67736
  const axes = array((_a = chartSpec.axes) !== null && _a !== void 0 ? _a : []);
67734
- const { bandField, linearField, categoryField, valueField } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67737
+ const { bandField, linearField, categoryField, valueField, trigger, triggerOff } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67735
67738
  const angleAxis = axes.find(axis => axis.orient === 'angle');
67736
67739
  let newAngleField;
67737
67740
  if (isValid$1(angleAxis)) {
@@ -67750,7 +67753,9 @@ const getPolarCrosshairTheme = (chartTheme, chartSpec) => {
67750
67753
  }
67751
67754
  return {
67752
67755
  categoryField: newAngleField,
67753
- valueField: newRadiusField
67756
+ valueField: newRadiusField,
67757
+ trigger,
67758
+ triggerOff
67754
67759
  };
67755
67760
  };
67756
67761
 
@@ -72736,6 +72741,26 @@ class BarSeries extends CartesianSeries {
72736
72741
  this._barMarkType = "rect";
72737
72742
  this.transformerConstructor = BarSeriesSpecTransformer;
72738
72743
  this._bandPosition = 0;
72744
+ this._getLinearBarRange = (start, end) => {
72745
+ let [x, x1] = [start, end].sort((a, b) => a - b);
72746
+ const realBarWidth = x1 - x;
72747
+ if (this._spec.barGap) {
72748
+ const halfBarGap = this._spec.barGap * 0.5;
72749
+ const tempX = x + halfBarGap;
72750
+ const tempX1 = x1 - halfBarGap;
72751
+ x = tempX;
72752
+ x1 = tempX1;
72753
+ }
72754
+ const curBarWidth = x1 - x;
72755
+ const barMinWidth = getActualNumValue(this._spec.barMinWidth || 2, realBarWidth);
72756
+ if (curBarWidth < barMinWidth) {
72757
+ const widthDiff = barMinWidth - curBarWidth;
72758
+ const halfWidthDiff = widthDiff / 2;
72759
+ x -= halfWidthDiff;
72760
+ x1 += halfWidthDiff;
72761
+ }
72762
+ return [x, x1];
72763
+ };
72739
72764
  this._getBarXStart = (datum, scale, useWholeRange) => {
72740
72765
  if (this._shouldDoPreCalculate()) {
72741
72766
  this._calculateStackRectPosition(false);
@@ -72753,6 +72778,11 @@ class BarSeries extends CartesianSeries {
72753
72778
  }
72754
72779
  return valueInScaleRange(this._dataToPosX1(datum), scale, useWholeRange);
72755
72780
  };
72781
+ this._getLinearBarXRange = (datum, scale, useWholeRange) => {
72782
+ const x = valueInScaleRange(this._dataToPosX(datum), scale, useWholeRange);
72783
+ const x1 = valueInScaleRange(this._dataToPosX1(datum), scale, useWholeRange);
72784
+ return this._getLinearBarRange(x, x1);
72785
+ };
72756
72786
  this._getBarYStart = (datum, scale) => {
72757
72787
  if (this._shouldDoPreCalculate()) {
72758
72788
  this._calculateStackRectPosition(true);
@@ -72770,6 +72800,11 @@ class BarSeries extends CartesianSeries {
72770
72800
  }
72771
72801
  return valueInScaleRange(this._dataToPosY1(datum), scale);
72772
72802
  };
72803
+ this._getLinearBarYRange = (datum, scale, useWholeRange) => {
72804
+ const y = valueInScaleRange(this._dataToPosY(datum), scale, useWholeRange);
72805
+ const y1 = valueInScaleRange(this._dataToPosY1(datum), scale, useWholeRange);
72806
+ return this._getLinearBarRange(y, y1);
72807
+ };
72773
72808
  this._getBarBackgroundXStart = (scale) => {
72774
72809
  const range = scale.range();
72775
72810
  const min = Math.min(range[0], range[range.length - 1]);
@@ -73137,8 +73172,8 @@ class BarSeries extends CartesianSeries {
73137
73172
  if (this.direction === "horizontal") {
73138
73173
  const yChannels = isValid$1(this._fieldY2)
73139
73174
  ? {
73140
- y: (datum) => valueInScaleRange(this._dataToPosY(datum), yScale, true),
73141
- y1: (datum) => valueInScaleRange(this._dataToPosY1(datum), yScale, true)
73175
+ y: (datum) => this._getLinearBarYRange(datum, yScale, true)[0],
73176
+ y1: (datum) => this._getLinearBarYRange(datum, yScale, true)[1]
73142
73177
  }
73143
73178
  : {
73144
73179
  y: (datum) => valueInScaleRange(this._dataToPosY(datum) - this._getBarWidth(this._yAxisHelper) / 2, yScale, true),
@@ -73150,8 +73185,8 @@ class BarSeries extends CartesianSeries {
73150
73185
  else {
73151
73186
  const xChannels = isValid$1(this._fieldX2)
73152
73187
  ? {
73153
- x: (datum) => valueInScaleRange(this._dataToPosX(datum), xScale, true),
73154
- x1: (datum) => valueInScaleRange(this._dataToPosX1(datum), xScale, true)
73188
+ x: (datum) => this._getLinearBarXRange(datum, xScale, true)[0],
73189
+ x1: (datum) => this._getLinearBarXRange(datum, xScale, true)[1]
73155
73190
  }
73156
73191
  : {
73157
73192
  x: (datum) => valueInScaleRange(this._dataToPosX(datum) - this._getBarWidth(this._xAxisHelper) / 2, xScale, true),
@@ -91655,7 +91690,7 @@ class BaseHistogramChartSpecTransformer extends CartesianChartSpecTransformer {
91655
91690
  spec.axes.forEach((axis) => (axis.type = 'linear'));
91656
91691
  }
91657
91692
  _getDefaultSeriesSpec(spec) {
91658
- return super._getDefaultSeriesSpec(spec, ['x2Field', 'y2Field', 'barMinHeight', 'barBackground']);
91693
+ return super._getDefaultSeriesSpec(spec, ['x2Field', 'y2Field', 'barMinHeight', 'barBackground', 'barGap']);
91659
91694
  }
91660
91695
  }
91661
91696
 
@@ -94176,11 +94211,13 @@ class TooltipSpecTransformer extends BaseComponentSpecTransformer {
94176
94211
  return false;
94177
94212
  }
94178
94213
  _initTheme(spec, chartSpec) {
94179
- var _a;
94214
+ var _a, _b, _c;
94180
94215
  const { spec: newSpec, theme } = super._initTheme(spec, chartSpec);
94181
94216
  newSpec.style = mergeSpec({}, this._theme, newSpec.style);
94182
94217
  newSpec.offset = mergeSpec({}, theme.offset, spec.offset);
94183
94218
  newSpec.transitionDuration = (_a = spec.transitionDuration) !== null && _a !== void 0 ? _a : theme.transitionDuration;
94219
+ newSpec.trigger = (_b = spec.trigger) !== null && _b !== void 0 ? _b : theme.trigger;
94220
+ newSpec.triggerOff = (_c = spec.triggerOff) !== null && _c !== void 0 ? _c : theme.triggerOff;
94184
94221
  return { spec: newSpec, theme };
94185
94222
  }
94186
94223
  _transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo) {
@@ -96029,10 +96066,12 @@ const dataFilterWithNewDomain = (data, op) => {
96029
96066
  return data.filter(filter);
96030
96067
  };
96031
96068
  const dataFilterComputeDomain = (data, op) => {
96032
- const { stateFields, valueFields, dataCollection } = op.input;
96069
+ const { stateFields, valueFields, dataCollection, isCategoryState } = op.input;
96033
96070
  const { stateField, valueField } = op.output;
96034
96071
  const resultObj = {};
96035
96072
  const resultData = [];
96073
+ const stateValues = [];
96074
+ let hasLockDomain = false;
96036
96075
  dataCollection.forEach((dv, i) => {
96037
96076
  var _a;
96038
96077
  if (isNil$1(stateFields[i])) {
@@ -96040,14 +96079,19 @@ const dataFilterComputeDomain = (data, op) => {
96040
96079
  }
96041
96080
  const stateFieldInfo = (_a = dv.getFields()) === null || _a === void 0 ? void 0 : _a[stateFields[i]];
96042
96081
  if (stateFieldInfo && stateFieldInfo.lockStatisticsByDomain) {
96082
+ hasLockDomain = true;
96043
96083
  stateFieldInfo.domain.forEach((d) => {
96044
- resultObj[d] = 0;
96084
+ if (isNil$1(resultObj[d])) {
96085
+ stateValues.push(d);
96086
+ resultObj[d] = 0;
96087
+ }
96045
96088
  });
96046
96089
  }
96047
96090
  dv.latestData.forEach((d) => {
96048
96091
  array(stateFields[i]).forEach(state => {
96049
96092
  if (!isNil$1(d[state])) {
96050
96093
  if (isNil$1(resultObj[d[state]])) {
96094
+ stateValues.push(d[state]);
96051
96095
  resultObj[d[state]] = 0;
96052
96096
  }
96053
96097
  if (!isNil$1(valueFields[i])) {
@@ -96057,10 +96101,15 @@ const dataFilterComputeDomain = (data, op) => {
96057
96101
  });
96058
96102
  });
96059
96103
  });
96060
- Object.keys(resultObj).forEach((d, i) => {
96061
- const res = { [stateField]: d };
96104
+ const sortedStateValues = hasLockDomain
96105
+ ? stateValues
96106
+ : isCategoryState === false
96107
+ ? stateValues.sort((a, b) => a - b)
96108
+ : Object.keys(resultObj);
96109
+ sortedStateValues.forEach(state => {
96110
+ const res = { [stateField]: state };
96062
96111
  if (valueField) {
96063
- res[valueField] = resultObj[d];
96112
+ res[valueField] = resultObj[state];
96064
96113
  }
96065
96114
  resultData.push(res);
96066
96115
  });
@@ -96410,6 +96459,7 @@ class DataFilterBaseComponent extends BaseComponent {
96410
96459
  const dataCollection = [];
96411
96460
  const stateFields = [];
96412
96461
  const valueFields = [];
96462
+ let isCategoryState;
96413
96463
  if (this._relatedAxisComponent) {
96414
96464
  const originalStateFields = {};
96415
96465
  eachSeries(this._regions, s => {
@@ -96435,8 +96485,6 @@ class DataFilterBaseComponent extends BaseComponent {
96435
96485
  ? xAxisHelper
96436
96486
  : yAxisHelper;
96437
96487
  const valueAxisHelper = stateAxisHelper === xAxisHelper ? yAxisHelper : xAxisHelper;
96438
- const isValidateValueAxis = isContinuous(valueAxisHelper.getScale(0).type);
96439
- const isValidateStateAxis = isContinuous(stateAxisHelper.getScale(0).type);
96440
96488
  dataCollection.push(s.getRawData());
96441
96489
  const seriesSpec = s.getSpec();
96442
96490
  const xField = s.coordinate === 'cartesian'
@@ -96447,7 +96495,8 @@ class DataFilterBaseComponent extends BaseComponent {
96447
96495
  : array((_b = seriesSpec.radiusField) !== null && _b !== void 0 ? _b : seriesSpec.valueField);
96448
96496
  originalStateFields[s.id] =
96449
96497
  s.type === 'link' ? ['from_xField'] : stateAxisHelper === xAxisHelper ? xField : yField;
96450
- if (isValidateStateAxis) {
96498
+ if (isContinuous(stateAxisHelper.getScale(0).type)) {
96499
+ isCategoryState = false;
96451
96500
  stateFields.push(originalStateFields[s.id]);
96452
96501
  }
96453
96502
  else {
@@ -96455,7 +96504,7 @@ class DataFilterBaseComponent extends BaseComponent {
96455
96504
  }
96456
96505
  if (this._valueField) {
96457
96506
  const valueField = s.type === 'link' ? ['from_yField'] : valueAxisHelper === xAxisHelper ? xField : yField;
96458
- if (isValidateValueAxis) {
96507
+ if (isContinuous(valueAxisHelper.getScale(0).type)) {
96459
96508
  valueFields.push(...valueField);
96460
96509
  }
96461
96510
  }
@@ -96487,7 +96536,8 @@ class DataFilterBaseComponent extends BaseComponent {
96487
96536
  input: {
96488
96537
  dataCollection: dataCollection,
96489
96538
  stateFields,
96490
- valueFields
96539
+ valueFields,
96540
+ isCategoryState
96491
96541
  },
96492
96542
  output: {
96493
96543
  stateField: this._stateField,
@@ -103068,12 +103118,18 @@ class DomTooltipHandler extends BaseTooltipHandler {
103068
103118
  const rowStyle = this._domStyle.row;
103069
103119
  const chilren = [...this._rootDom.children];
103070
103120
  let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));
103121
+ let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));
103071
103122
  if (!titleDom && title.visible !== false) {
103072
103123
  titleDom = document.createElement('h2');
103073
103124
  const span = document.createElement('span');
103074
103125
  titleDom.appendChild(span);
103075
103126
  titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);
103076
- this._rootDom.appendChild(titleDom);
103127
+ if (this._rootDom.firstChild) {
103128
+ this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);
103129
+ }
103130
+ else {
103131
+ this._rootDom.appendChild(titleDom);
103132
+ }
103077
103133
  }
103078
103134
  if (titleDom && title.visible !== false) {
103079
103135
  setStyleToDom(titleDom, Object.assign(Object.assign(Object.assign({}, this._domStyle.title), (hasContent ? rowStyle : { marginBottom: '0px' })), { marginTop: '0px' }));
@@ -103082,7 +103138,6 @@ class DomTooltipHandler extends BaseTooltipHandler {
103082
103138
  else if (titleDom && title.visible === false) {
103083
103139
  titleDom.parentNode.removeChild(titleDom);
103084
103140
  }
103085
- let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));
103086
103141
  const columns = ['shape', 'key', 'value'];
103087
103142
  if (!contentDom && hasContent) {
103088
103143
  contentDom = document.createElement('div');
package/build/index.js CHANGED
@@ -64123,7 +64123,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
64123
64123
  };
64124
64124
  registerVChartCore();
64125
64125
 
64126
- const version = "1.13.11-alpha.1";
64126
+ const version = "1.13.11";
64127
64127
 
64128
64128
  const addVChartProperty = (data, op) => {
64129
64129
  const context = op.beforeCall();
@@ -67712,7 +67712,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67712
67712
  const getCartesianCrosshairTheme = (chartTheme, chartSpec) => {
67713
67713
  var _a, _b;
67714
67714
  const axes = array((_a = chartSpec.axes) !== null && _a !== void 0 ? _a : []);
67715
- const { bandField, linearField, xField, yField } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67715
+ const crosshairTheme = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67716
+ const { bandField, linearField, xField, yField, trigger, triggerOff } = crosshairTheme;
67716
67717
  const xAxis = axes.find(axis => isXAxis(axis.orient));
67717
67718
  let newXField;
67718
67719
  if (isValid$1(xAxis)) {
@@ -67731,13 +67732,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67731
67732
  }
67732
67733
  return {
67733
67734
  xField: newXField,
67734
- yField: newYField
67735
+ yField: newYField,
67736
+ trigger,
67737
+ triggerOff
67735
67738
  };
67736
67739
  };
67737
67740
  const getPolarCrosshairTheme = (chartTheme, chartSpec) => {
67738
67741
  var _a, _b;
67739
67742
  const axes = array((_a = chartSpec.axes) !== null && _a !== void 0 ? _a : []);
67740
- const { bandField, linearField, categoryField, valueField } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67743
+ const { bandField, linearField, categoryField, valueField, trigger, triggerOff } = (_b = getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme)) !== null && _b !== void 0 ? _b : {};
67741
67744
  const angleAxis = axes.find(axis => axis.orient === 'angle');
67742
67745
  let newAngleField;
67743
67746
  if (isValid$1(angleAxis)) {
@@ -67756,7 +67759,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67756
67759
  }
67757
67760
  return {
67758
67761
  categoryField: newAngleField,
67759
- valueField: newRadiusField
67762
+ valueField: newRadiusField,
67763
+ trigger,
67764
+ triggerOff
67760
67765
  };
67761
67766
  };
67762
67767
 
@@ -72742,6 +72747,26 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
72742
72747
  this._barMarkType = "rect";
72743
72748
  this.transformerConstructor = BarSeriesSpecTransformer;
72744
72749
  this._bandPosition = 0;
72750
+ this._getLinearBarRange = (start, end) => {
72751
+ let [x, x1] = [start, end].sort((a, b) => a - b);
72752
+ const realBarWidth = x1 - x;
72753
+ if (this._spec.barGap) {
72754
+ const halfBarGap = this._spec.barGap * 0.5;
72755
+ const tempX = x + halfBarGap;
72756
+ const tempX1 = x1 - halfBarGap;
72757
+ x = tempX;
72758
+ x1 = tempX1;
72759
+ }
72760
+ const curBarWidth = x1 - x;
72761
+ const barMinWidth = getActualNumValue(this._spec.barMinWidth || 2, realBarWidth);
72762
+ if (curBarWidth < barMinWidth) {
72763
+ const widthDiff = barMinWidth - curBarWidth;
72764
+ const halfWidthDiff = widthDiff / 2;
72765
+ x -= halfWidthDiff;
72766
+ x1 += halfWidthDiff;
72767
+ }
72768
+ return [x, x1];
72769
+ };
72745
72770
  this._getBarXStart = (datum, scale, useWholeRange) => {
72746
72771
  if (this._shouldDoPreCalculate()) {
72747
72772
  this._calculateStackRectPosition(false);
@@ -72759,6 +72784,11 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
72759
72784
  }
72760
72785
  return valueInScaleRange(this._dataToPosX1(datum), scale, useWholeRange);
72761
72786
  };
72787
+ this._getLinearBarXRange = (datum, scale, useWholeRange) => {
72788
+ const x = valueInScaleRange(this._dataToPosX(datum), scale, useWholeRange);
72789
+ const x1 = valueInScaleRange(this._dataToPosX1(datum), scale, useWholeRange);
72790
+ return this._getLinearBarRange(x, x1);
72791
+ };
72762
72792
  this._getBarYStart = (datum, scale) => {
72763
72793
  if (this._shouldDoPreCalculate()) {
72764
72794
  this._calculateStackRectPosition(true);
@@ -72776,6 +72806,11 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
72776
72806
  }
72777
72807
  return valueInScaleRange(this._dataToPosY1(datum), scale);
72778
72808
  };
72809
+ this._getLinearBarYRange = (datum, scale, useWholeRange) => {
72810
+ const y = valueInScaleRange(this._dataToPosY(datum), scale, useWholeRange);
72811
+ const y1 = valueInScaleRange(this._dataToPosY1(datum), scale, useWholeRange);
72812
+ return this._getLinearBarRange(y, y1);
72813
+ };
72779
72814
  this._getBarBackgroundXStart = (scale) => {
72780
72815
  const range = scale.range();
72781
72816
  const min = Math.min(range[0], range[range.length - 1]);
@@ -73143,8 +73178,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
73143
73178
  if (this.direction === "horizontal") {
73144
73179
  const yChannels = isValid$1(this._fieldY2)
73145
73180
  ? {
73146
- y: (datum) => valueInScaleRange(this._dataToPosY(datum), yScale, true),
73147
- y1: (datum) => valueInScaleRange(this._dataToPosY1(datum), yScale, true)
73181
+ y: (datum) => this._getLinearBarYRange(datum, yScale, true)[0],
73182
+ y1: (datum) => this._getLinearBarYRange(datum, yScale, true)[1]
73148
73183
  }
73149
73184
  : {
73150
73185
  y: (datum) => valueInScaleRange(this._dataToPosY(datum) - this._getBarWidth(this._yAxisHelper) / 2, yScale, true),
@@ -73156,8 +73191,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
73156
73191
  else {
73157
73192
  const xChannels = isValid$1(this._fieldX2)
73158
73193
  ? {
73159
- x: (datum) => valueInScaleRange(this._dataToPosX(datum), xScale, true),
73160
- x1: (datum) => valueInScaleRange(this._dataToPosX1(datum), xScale, true)
73194
+ x: (datum) => this._getLinearBarXRange(datum, xScale, true)[0],
73195
+ x1: (datum) => this._getLinearBarXRange(datum, xScale, true)[1]
73161
73196
  }
73162
73197
  : {
73163
73198
  x: (datum) => valueInScaleRange(this._dataToPosX(datum) - this._getBarWidth(this._xAxisHelper) / 2, xScale, true),
@@ -91661,7 +91696,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
91661
91696
  spec.axes.forEach((axis) => (axis.type = 'linear'));
91662
91697
  }
91663
91698
  _getDefaultSeriesSpec(spec) {
91664
- return super._getDefaultSeriesSpec(spec, ['x2Field', 'y2Field', 'barMinHeight', 'barBackground']);
91699
+ return super._getDefaultSeriesSpec(spec, ['x2Field', 'y2Field', 'barMinHeight', 'barBackground', 'barGap']);
91665
91700
  }
91666
91701
  }
91667
91702
 
@@ -94182,11 +94217,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
94182
94217
  return false;
94183
94218
  }
94184
94219
  _initTheme(spec, chartSpec) {
94185
- var _a;
94220
+ var _a, _b, _c;
94186
94221
  const { spec: newSpec, theme } = super._initTheme(spec, chartSpec);
94187
94222
  newSpec.style = mergeSpec({}, this._theme, newSpec.style);
94188
94223
  newSpec.offset = mergeSpec({}, theme.offset, spec.offset);
94189
94224
  newSpec.transitionDuration = (_a = spec.transitionDuration) !== null && _a !== void 0 ? _a : theme.transitionDuration;
94225
+ newSpec.trigger = (_b = spec.trigger) !== null && _b !== void 0 ? _b : theme.trigger;
94226
+ newSpec.triggerOff = (_c = spec.triggerOff) !== null && _c !== void 0 ? _c : theme.triggerOff;
94190
94227
  return { spec: newSpec, theme };
94191
94228
  }
94192
94229
  _transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo) {
@@ -96035,10 +96072,12 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96035
96072
  return data.filter(filter);
96036
96073
  };
96037
96074
  const dataFilterComputeDomain = (data, op) => {
96038
- const { stateFields, valueFields, dataCollection } = op.input;
96075
+ const { stateFields, valueFields, dataCollection, isCategoryState } = op.input;
96039
96076
  const { stateField, valueField } = op.output;
96040
96077
  const resultObj = {};
96041
96078
  const resultData = [];
96079
+ const stateValues = [];
96080
+ let hasLockDomain = false;
96042
96081
  dataCollection.forEach((dv, i) => {
96043
96082
  var _a;
96044
96083
  if (isNil$1(stateFields[i])) {
@@ -96046,14 +96085,19 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96046
96085
  }
96047
96086
  const stateFieldInfo = (_a = dv.getFields()) === null || _a === void 0 ? void 0 : _a[stateFields[i]];
96048
96087
  if (stateFieldInfo && stateFieldInfo.lockStatisticsByDomain) {
96088
+ hasLockDomain = true;
96049
96089
  stateFieldInfo.domain.forEach((d) => {
96050
- resultObj[d] = 0;
96090
+ if (isNil$1(resultObj[d])) {
96091
+ stateValues.push(d);
96092
+ resultObj[d] = 0;
96093
+ }
96051
96094
  });
96052
96095
  }
96053
96096
  dv.latestData.forEach((d) => {
96054
96097
  array(stateFields[i]).forEach(state => {
96055
96098
  if (!isNil$1(d[state])) {
96056
96099
  if (isNil$1(resultObj[d[state]])) {
96100
+ stateValues.push(d[state]);
96057
96101
  resultObj[d[state]] = 0;
96058
96102
  }
96059
96103
  if (!isNil$1(valueFields[i])) {
@@ -96063,10 +96107,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96063
96107
  });
96064
96108
  });
96065
96109
  });
96066
- Object.keys(resultObj).forEach((d, i) => {
96067
- const res = { [stateField]: d };
96110
+ const sortedStateValues = hasLockDomain
96111
+ ? stateValues
96112
+ : isCategoryState === false
96113
+ ? stateValues.sort((a, b) => a - b)
96114
+ : Object.keys(resultObj);
96115
+ sortedStateValues.forEach(state => {
96116
+ const res = { [stateField]: state };
96068
96117
  if (valueField) {
96069
- res[valueField] = resultObj[d];
96118
+ res[valueField] = resultObj[state];
96070
96119
  }
96071
96120
  resultData.push(res);
96072
96121
  });
@@ -96416,6 +96465,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96416
96465
  const dataCollection = [];
96417
96466
  const stateFields = [];
96418
96467
  const valueFields = [];
96468
+ let isCategoryState;
96419
96469
  if (this._relatedAxisComponent) {
96420
96470
  const originalStateFields = {};
96421
96471
  eachSeries(this._regions, s => {
@@ -96441,8 +96491,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96441
96491
  ? xAxisHelper
96442
96492
  : yAxisHelper;
96443
96493
  const valueAxisHelper = stateAxisHelper === xAxisHelper ? yAxisHelper : xAxisHelper;
96444
- const isValidateValueAxis = isContinuous(valueAxisHelper.getScale(0).type);
96445
- const isValidateStateAxis = isContinuous(stateAxisHelper.getScale(0).type);
96446
96494
  dataCollection.push(s.getRawData());
96447
96495
  const seriesSpec = s.getSpec();
96448
96496
  const xField = s.coordinate === 'cartesian'
@@ -96453,7 +96501,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96453
96501
  : array((_b = seriesSpec.radiusField) !== null && _b !== void 0 ? _b : seriesSpec.valueField);
96454
96502
  originalStateFields[s.id] =
96455
96503
  s.type === 'link' ? ['from_xField'] : stateAxisHelper === xAxisHelper ? xField : yField;
96456
- if (isValidateStateAxis) {
96504
+ if (isContinuous(stateAxisHelper.getScale(0).type)) {
96505
+ isCategoryState = false;
96457
96506
  stateFields.push(originalStateFields[s.id]);
96458
96507
  }
96459
96508
  else {
@@ -96461,7 +96510,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96461
96510
  }
96462
96511
  if (this._valueField) {
96463
96512
  const valueField = s.type === 'link' ? ['from_yField'] : valueAxisHelper === xAxisHelper ? xField : yField;
96464
- if (isValidateValueAxis) {
96513
+ if (isContinuous(valueAxisHelper.getScale(0).type)) {
96465
96514
  valueFields.push(...valueField);
96466
96515
  }
96467
96516
  }
@@ -96493,7 +96542,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
96493
96542
  input: {
96494
96543
  dataCollection: dataCollection,
96495
96544
  stateFields,
96496
- valueFields
96545
+ valueFields,
96546
+ isCategoryState
96497
96547
  },
96498
96548
  output: {
96499
96549
  stateField: this._stateField,
@@ -103074,12 +103124,18 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
103074
103124
  const rowStyle = this._domStyle.row;
103075
103125
  const chilren = [...this._rootDom.children];
103076
103126
  let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));
103127
+ let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));
103077
103128
  if (!titleDom && title.visible !== false) {
103078
103129
  titleDom = document.createElement('h2');
103079
103130
  const span = document.createElement('span');
103080
103131
  titleDom.appendChild(span);
103081
103132
  titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);
103082
- this._rootDom.appendChild(titleDom);
103133
+ if (this._rootDom.firstChild) {
103134
+ this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);
103135
+ }
103136
+ else {
103137
+ this._rootDom.appendChild(titleDom);
103138
+ }
103083
103139
  }
103084
103140
  if (titleDom && title.visible !== false) {
103085
103141
  setStyleToDom(titleDom, Object.assign(Object.assign(Object.assign({}, this._domStyle.title), (hasContent ? rowStyle : { marginBottom: '0px' })), { marginTop: '0px' }));
@@ -103088,7 +103144,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
103088
103144
  else if (titleDom && title.visible === false) {
103089
103145
  titleDom.parentNode.removeChild(titleDom);
103090
103146
  }
103091
- let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));
103092
103147
  const columns = ['shape', 'key', 'value'];
103093
103148
  if (!contentDom && hasContent) {
103094
103149
  contentDom = document.createElement('div');