tvcharts 0.6.82 → 0.6.83

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.
package/dist/echarts.js CHANGED
@@ -28002,6 +28002,10 @@ function getName(obj) {
28002
28002
  var OrdinalMeta_default = OrdinalMeta;
28003
28003
 
28004
28004
  // src/scale/helper.ts
28005
+ var defLogFormula = {
28006
+ logicalOffset: 4,
28007
+ coordOffset: 1e-4
28008
+ };
28005
28009
  function isValueNice(val) {
28006
28010
  const exp10 = Math.pow(10, quantityExponent(Math.abs(val)));
28007
28011
  const f = Math.abs(val / exp10);
@@ -28069,6 +28073,43 @@ function normalize2(val, extent3) {
28069
28073
  function scale3(val, extent3) {
28070
28074
  return val * (extent3[1] - extent3[0]) + extent3[0];
28071
28075
  }
28076
+ function toLog(price, logFormula) {
28077
+ const m2 = Math.abs(price);
28078
+ if (m2 < 1e-15) {
28079
+ return 0;
28080
+ }
28081
+ const res = Math.log10(m2 + logFormula.coordOffset) + logFormula.logicalOffset;
28082
+ return price < 0 ? -res : res;
28083
+ }
28084
+ function fromLog(logical, logFormula) {
28085
+ const m2 = Math.abs(logical);
28086
+ if (m2 < 1e-15) {
28087
+ return 0;
28088
+ }
28089
+ const res = Math.pow(10, m2 - logFormula.logicalOffset) - logFormula.coordOffset;
28090
+ return logical < 0 ? -res : res;
28091
+ }
28092
+ function logFormulaForPriceRange(range) {
28093
+ if (range === null) {
28094
+ return defLogFormula;
28095
+ }
28096
+ const diff = Math.abs(range[1] - range[0]);
28097
+ if (diff >= 1 || diff < 1e-15) {
28098
+ return defLogFormula;
28099
+ }
28100
+ const digits = Math.ceil(Math.abs(Math.log10(diff)));
28101
+ const logicalOffset = defLogFormula.logicalOffset + digits;
28102
+ const coordOffset = 1 / Math.pow(10, logicalOffset);
28103
+ return {
28104
+ logicalOffset,
28105
+ coordOffset
28106
+ };
28107
+ }
28108
+ function convertPriceRangeToLog(priceRange, logFormula) {
28109
+ const min3 = toLog(priceRange[0], logFormula);
28110
+ const max3 = toLog(priceRange[1], logFormula);
28111
+ return [min3, max3];
28112
+ }
28072
28113
 
28073
28114
  // src/scale/Ordinal.ts
28074
28115
  var OrdinalScale = class extends Scale_default {
@@ -29089,8 +29130,6 @@ var Time_default = TimeScale;
29089
29130
  var scaleProto = Scale_default.prototype;
29090
29131
  var intervalScaleProto = Interval_default.prototype;
29091
29132
  var roundingErrorFix = round;
29092
- var mathPow2 = Math.pow;
29093
- var mathLog = Math.log;
29094
29133
  var LogScale = class extends Scale_default {
29095
29134
  constructor() {
29096
29135
  super(...arguments);
@@ -29098,15 +29137,17 @@ var LogScale = class extends Scale_default {
29098
29137
  this.base = 10;
29099
29138
  this._originalScale = new Interval_default();
29100
29139
  this._interval = 0;
29140
+ this.logFormula = logFormulaForPriceRange(null);
29101
29141
  }
29102
29142
  getTicks(expandToNicedExtent) {
29103
29143
  const originalScale = this._originalScale;
29104
29144
  const extent3 = this._extent;
29105
29145
  const originalExtent = originalScale.getExtent();
29106
29146
  const ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);
29147
+ const logFormula = this.logFormula;
29107
29148
  return map(ticks, function(tick) {
29108
29149
  const val = tick.value;
29109
- let powVal = round(mathPow2(this.base, val));
29150
+ let powVal = fromLog(val, logFormula);
29110
29151
  powVal = val === extent3[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
29111
29152
  powVal = val === extent3[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
29112
29153
  return {
@@ -29115,16 +29156,15 @@ var LogScale = class extends Scale_default {
29115
29156
  }, this);
29116
29157
  }
29117
29158
  setExtent(start2, end2) {
29118
- const base2 = mathLog(this.base);
29119
- start2 = mathLog(Math.max(0, start2)) / base2;
29120
- end2 = mathLog(Math.max(0, end2)) / base2;
29159
+ this.logFormula = logFormulaForPriceRange([start2, end2]);
29160
+ [start2, end2] = convertPriceRangeToLog([start2, end2], this.logFormula);
29121
29161
  intervalScaleProto.setExtent.call(this, start2, end2);
29122
29162
  }
29123
29163
  getExtent() {
29124
29164
  const base2 = this.base;
29125
29165
  const extent3 = scaleProto.getExtent.call(this);
29126
- extent3[0] = mathPow2(base2, extent3[0]);
29127
- extent3[1] = mathPow2(base2, extent3[1]);
29166
+ extent3[0] = fromLog(extent3[0], this.logFormula);
29167
+ extent3[1] = fromLog(extent3[1], this.logFormula);
29128
29168
  const originalScale = this._originalScale;
29129
29169
  const originalExtent = originalScale.getExtent();
29130
29170
  this._fixMin && (extent3[0] = fixRoundingError(extent3[0], originalExtent[0]));
@@ -29133,9 +29173,8 @@ var LogScale = class extends Scale_default {
29133
29173
  }
29134
29174
  unionExtent(extent3) {
29135
29175
  this._originalScale.unionExtent(extent3);
29136
- const base2 = this.base;
29137
- extent3[0] = mathLog(extent3[0]) / mathLog(base2);
29138
- extent3[1] = mathLog(extent3[1]) / mathLog(base2);
29176
+ extent3[0] = toLog(extent3[0], this.logFormula);
29177
+ extent3[1] = toLog(extent3[1], this.logFormula);
29139
29178
  scaleProto.unionExtent.call(this, extent3);
29140
29179
  }
29141
29180
  unionExtentFromData(data, dim) {
@@ -29150,22 +29189,22 @@ var LogScale = class extends Scale_default {
29150
29189
  return val;
29151
29190
  }
29152
29191
  contain(val) {
29153
- val = mathLog(val) / mathLog(this.base);
29192
+ val = toLog(val, this.logFormula);
29154
29193
  return contain2(val, this._extent);
29155
29194
  }
29156
29195
  normalize(val) {
29157
- val = mathLog(val) / mathLog(this.base);
29196
+ val = toLog(val, this.logFormula);
29158
29197
  return normalize2(val, this._extent);
29159
29198
  }
29160
29199
  scale(val) {
29161
29200
  val = scale3(val, this._extent);
29162
- return mathPow2(this.base, val);
29201
+ return fromLog(val, this.logFormula);
29163
29202
  }
29164
29203
  restoreLogValue(value) {
29165
- return mathPow2(this.base, value);
29204
+ return fromLog(value, this.logFormula);
29166
29205
  }
29167
29206
  parseLogValue(val) {
29168
- return mathLog(val) / mathLog(this.base);
29207
+ return toLog(val, this.logFormula);
29169
29208
  }
29170
29209
  };
29171
29210
  LogScale.type = "log";
@@ -29298,6 +29337,7 @@ var ScaleRawExtentInfo = class {
29298
29337
  this._dataMin = dataExtent[0];
29299
29338
  this._dataMax = dataExtent[1];
29300
29339
  const isOrdinal = this._isOrdinal = scale4.type === "ordinal";
29340
+ this._isLog = scale4.type === "log";
29301
29341
  this._needCrossZero = scale4.type === "interval" && model.getNeedCrossZero && model.getNeedCrossZero();
29302
29342
  const modelMinRaw = this._modelMinRaw = model.get("min", true);
29303
29343
  if (isFunction(modelMinRaw)) {
@@ -29337,6 +29377,7 @@ var ScaleRawExtentInfo = class {
29337
29377
  }
29338
29378
  calculate() {
29339
29379
  const isOrdinal = this._isOrdinal;
29380
+ const isLog = this._isLog;
29340
29381
  const dataMin = this._dataMin;
29341
29382
  const dataMax = this._dataMax;
29342
29383
  const axisDataLen = this._axisDataLen;
@@ -39100,7 +39141,6 @@ function findAxisModels(seriesModel) {
39100
39141
  }
39101
39142
 
39102
39143
  // src/coord/axisAlignTicks.ts
39103
- var mathLog2 = Math.log;
39104
39144
  function alignScaleTicks(scale4, axisModel, alignToScale) {
39105
39145
  const intervalScaleProto3 = Interval_default.prototype;
39106
39146
  const alignToTicks = intervalScaleProto3.getTicks.call(alignToScale);
@@ -39112,8 +39152,8 @@ function alignScaleTicks(scale4, axisModel, alignToScale) {
39112
39152
  const isMinFixed = scaleExtent.fixMin;
39113
39153
  const isMaxFixed = scaleExtent.fixMax;
39114
39154
  if (scale4.type === "log") {
39115
- const logBase = mathLog2(scale4.base);
39116
- rawExtent = [mathLog2(rawExtent[0]) / logBase, mathLog2(rawExtent[1]) / logBase];
39155
+ const logFormula = scale4.logFormula;
39156
+ rawExtent = convertPriceRangeToLog(rawExtent, logFormula);
39117
39157
  }
39118
39158
  scale4.setExtent(rawExtent[0], rawExtent[1]);
39119
39159
  scale4.calcNiceExtent({
@@ -51556,7 +51596,7 @@ var AxisModel_default = ParallelAxisModel;
51556
51596
  var BRUSH_PANEL_GLOBAL = true;
51557
51597
  var mathMin10 = Math.min;
51558
51598
  var mathMax10 = Math.max;
51559
- var mathPow3 = Math.pow;
51599
+ var mathPow2 = Math.pow;
51560
51600
  var COVER_Z = 1e4;
51561
51601
  var UNSELECT_THRESHOLD = 6;
51562
51602
  var MIN_RESIZE_LINE_WIDTH = 6;
@@ -51802,7 +51842,7 @@ function shouldShowCover(controller) {
51802
51842
  const p1 = track[0];
51803
51843
  const dx = p2[0] - p1[0];
51804
51844
  const dy = p2[1] - p1[1];
51805
- const dist3 = mathPow3(dx * dx + dy * dy, 0.5);
51845
+ const dist3 = mathPow2(dx * dx + dy * dy, 0.5);
51806
51846
  return dist3 > UNSELECT_THRESHOLD;
51807
51847
  }
51808
51848
  function getTrackEnds(track) {