@pipsend/charts 2.3.15 → 2.3.16

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Pipsend Charts v2.3.15
3
+ * Pipsend Charts v2.3.16-dev+202610080459
4
4
  * Copyright (c) 2026 Pipsend
5
5
  * Licensed under MIT License
6
6
  * Built on TradingView Lightweight Charts™ (Apache 2.0)
@@ -4575,18 +4575,16 @@
4575
4575
  this._private__invalidateInternalHeightCache();
4576
4576
  }
4577
4577
  if (priceRange !== null) {
4578
- // keep current range is new is empty
4579
- if (priceRange._internal_minValue() === priceRange._internal_maxValue()) {
4580
- // if price range is degenerated to 1 point let's extend it by 10 min move values
4581
- // to avoid incorrect range and empty (blank) scale (in case of min tick much greater than 1)
4582
- const extendValue = 5 * this._internal_minMove();
4583
- if (this._internal_isLog()) {
4584
- priceRange = convertPriceRangeFromLog(priceRange, this._private__logFormula);
4585
- }
4586
- priceRange = new PriceRangeImpl(priceRange._internal_minValue() - extendValue, priceRange._internal_maxValue() + extendValue);
4587
- if (this._internal_isLog()) {
4588
- priceRange = convertPriceRangeToLog(priceRange, this._private__logFormula);
4589
- }
4578
+ // a range flat or narrower than 10 min moves leaves room for one tick mark at most,
4579
+ // so widen it around its center to keep a readable scale
4580
+ const isLog = this._internal_isLog();
4581
+ const rawRange = isLog ? convertPriceRangeFromLog(priceRange, this._private__logFormula) : priceRange;
4582
+ const minimumLength = this._internal_isPercentage() || this._internal_isIndexedTo100() ? 0 : 10 * this._internal_minMove();
4583
+ if (rawRange._internal_minValue() === rawRange._internal_maxValue() || rawRange._internal_length() < minimumLength) {
4584
+ const extendValue = Math.max(5 * this._internal_minMove(), minimumLength / 2);
4585
+ const center = (rawRange._internal_minValue() + rawRange._internal_maxValue()) / 2;
4586
+ const widened = new PriceRangeImpl(center - extendValue, center + extendValue);
4587
+ priceRange = isLog ? convertPriceRangeToLog(widened, this._private__logFormula) : widened;
4590
4588
  }
4591
4589
  if (this._internal_isLog()) {
4592
4590
  const rawRange = convertPriceRangeFromLog(priceRange, this._private__logFormula);
@@ -31448,7 +31446,7 @@
31448
31446
  * Returns the current version as a string. For example `'1.0.0'`.
31449
31447
  */
31450
31448
  function version() {
31451
- return "2.3.15";
31449
+ return "2.3.16-dev+202610080459";
31452
31450
  }
31453
31451
 
31454
31452
  var PipsendChartsModule = /*#__PURE__*/Object.freeze({
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Pipsend Charts v2.3.15
3
+ * Pipsend Charts v2.3.16-dev+202610080459
4
4
  * Copyright (c) 2026 Pipsend
5
5
  * Licensed under MIT License
6
6
  * Built on TradingView Lightweight Charts™ (Apache 2.0)
@@ -4572,18 +4572,16 @@ class PriceScale {
4572
4572
  this._private__invalidateInternalHeightCache();
4573
4573
  }
4574
4574
  if (priceRange !== null) {
4575
- // keep current range is new is empty
4576
- if (priceRange._internal_minValue() === priceRange._internal_maxValue()) {
4577
- // if price range is degenerated to 1 point let's extend it by 10 min move values
4578
- // to avoid incorrect range and empty (blank) scale (in case of min tick much greater than 1)
4579
- const extendValue = 5 * this._internal_minMove();
4580
- if (this._internal_isLog()) {
4581
- priceRange = convertPriceRangeFromLog(priceRange, this._private__logFormula);
4582
- }
4583
- priceRange = new PriceRangeImpl(priceRange._internal_minValue() - extendValue, priceRange._internal_maxValue() + extendValue);
4584
- if (this._internal_isLog()) {
4585
- priceRange = convertPriceRangeToLog(priceRange, this._private__logFormula);
4586
- }
4575
+ // a range flat or narrower than 10 min moves leaves room for one tick mark at most,
4576
+ // so widen it around its center to keep a readable scale
4577
+ const isLog = this._internal_isLog();
4578
+ const rawRange = isLog ? convertPriceRangeFromLog(priceRange, this._private__logFormula) : priceRange;
4579
+ const minimumLength = this._internal_isPercentage() || this._internal_isIndexedTo100() ? 0 : 10 * this._internal_minMove();
4580
+ if (rawRange._internal_minValue() === rawRange._internal_maxValue() || rawRange._internal_length() < minimumLength) {
4581
+ const extendValue = Math.max(5 * this._internal_minMove(), minimumLength / 2);
4582
+ const center = (rawRange._internal_minValue() + rawRange._internal_maxValue()) / 2;
4583
+ const widened = new PriceRangeImpl(center - extendValue, center + extendValue);
4584
+ priceRange = isLog ? convertPriceRangeToLog(widened, this._private__logFormula) : widened;
4587
4585
  }
4588
4586
  if (this._internal_isLog()) {
4589
4587
  const rawRange = convertPriceRangeFromLog(priceRange, this._private__logFormula);
@@ -31445,7 +31443,7 @@ const customSeriesDefaultOptions = {
31445
31443
  * Returns the current version as a string. For example `'1.0.0'`.
31446
31444
  */
31447
31445
  function version() {
31448
- return "2.3.15";
31446
+ return "2.3.16-dev+202610080459";
31449
31447
  }
31450
31448
 
31451
31449
  export { areaSeries as AreaSeries, ArrowTool, barSeries as BarSeries, baselineSeries as BaselineSeries, BrushTool, candlestickSeries as CandlestickSeries, CircleTool, ColorType, CrossLineTool, CrosshairMode, DEFAULT_SESSIONS, DraggablePriceLine, DrawingToolsManager, EXTENDED_FIBONACCI_RATIOS, FibonacciCalculator, FibonacciExtensionTool, FibonacciFanTool, FibonacciTool, GanttTool, histogramSeries as HistogramSeries, HorizontalLineTool, InteractiveLineManager, LastPriceAnimationMode, lineSeries as LineSeries, LineStyle, LineType, MismatchDirection, ParallelChannelTool, PitchforkTool, PolygonTool, PositionCalculator, PositionLine, PositionMarkersManager, PositionTool, PriceLineSource, PriceScaleMode, RectangleTool, RulerCalculator, RulerTool, STANDARD_FIBONACCI_RATIOS, TextTool, TickMarkType, TrackingModeExitMode, TradingSessionsIndicator, TrendLineTool, VerticalLineTool, VolumeProfileIndicator, applyADX, applyATR, applyBollingerBands, applyCCI, applyDonchianChannels, applyEMA, applyHeikinAshi, applyIchimoku, applyKeltnerChannels, applyMACD, applyMFI, applyOBV, applyParabolicSAR, applyPivotPoints, applyRSI, applySMA, applyStochastic, applySuperTrend, applyVWAP, applyVolume, applyWMA, applyWilliamsR, calculateHeikinAshi, calculatePipConfig, coordinateFromTime, createArrowTool, createBrushTool, createChart, createChartEx, createCircleTool, createCrossLineTool, createFibonacciExtensionTool, createFibonacciFanTool, createFibonacciTool, createGanttTool, createHorizontalLineTool, createImageWatermark, createInteractiveLineManager, createOptionsChart, createParallelChannelTool, createPitchforkTool, createPolygonTool, createPositionLine, createPositionMarkers, createPositionTool, createRectangleTool, createRulerTool, createSeriesMarkers, createTextTool, createTextWatermark, createTradingLine, createTradingSessionsIndicator, createTrendLineTool, createUpDownMarkers, createVerticalLineTool, createVolumeProfileIndicator, createYieldCurveChart, customSeriesDefaultOptions, defaultHorzScaleBehavior, getPipConfig, hideSeriesPaint, isBusinessDay, isUTCTimestamp, setSeriesVolumes, setVolumeProfileData, timeFromCoordinate, version };