@tradecanvas/chart 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -9,7 +9,8 @@ export { LayoutManager } from './layout/LayoutManager.js';
9
9
  export * from './plugins/index.js';
10
10
  export { parseOHLCV, DragDropImporter } from './io/index.js';
11
11
  export type { ParseResult, DragDropImporterCallbacks } from './io/index.js';
12
- export type { OHLCBar, DataSeries, TimeFrame, ChartOptions, ChartType, Theme, ThemeName, ChartEventType, ChartEvent, ChartEventMap, IndicatorPlugin, IndicatorDescriptor, IndicatorConfig, IndicatorOutput, IndicatorValue, TauriBridgeOptions, ViewportState, CrosshairMovePayload, BarClickPayload, VisibleRangeChangePayload, OrderModifyPayload, OrderCancelPayload, PositionModifyPayload, PositionClosePayload, OrderPlacePayload, IndicatorChangePayload, ThemeChangePayload, StyleChangePayload, ResizePayload, ZoomChangePayload, PriceRangeChangePayload, DrawingCreatePayload, DrawingRemovePayload, SignalMarkerAddPayload, ChartContextArea, ChartContextMenuPayload, PriceAxisAddPayload, SignalMarkerRemovePayload, TradeZoneAddPayload, TradeZoneRemovePayload, DrawingToolType, DrawingState, DrawingStyle, DrawingPlugin, DrawingDescriptor, FeaturesConfig, SessionBreakOptions, PriceAxisOptions, TimeAxisOptions, AnchorPoint, PanelPosition, PanelConfig, ResolvedLayout, TradingOrder, TradingPosition, DepthData, DepthLevel, TradingConfig, OrderSide, OrderType, OrderStatus, OrderLabel, OrderPlaceIntent, OrderModifyIntent, OrderCancelIntent, PositionModifyIntent, PositionCloseIntent, PositionReverseIntent, TimeInForce, FillReason, ExecutionAdapter, ExecutionConfig, ExecutionEvent, ExecutionEventType, ExecutionListener, FillEvent, ExecutionError, Locale, LocaleStrings, MarketConfig, MarketType, StockExchange, MarketColorScheme, TradingSession, PriceLimitInfo, DataAdapter, DataAdapterConfig, DataAdapterEventType, StreamConfig, ConnectionState, ConnectionInfo, RawTick, AggregatedBar, ReconnectConfig, ResolvedIndicatorStyle, IndicatorStyleConfig, IndicatorPlotStyle, ChartStyleKey, ChartStyleOverrides, ChartStyleOverridesPatch, ResolvedChartStyle, ResolvedLineLook, StyleLayer, StyleValueKind, PaneStyle, WatermarkConfig, GridOptions, CrosshairOptions, SignalMarker, SignalDirection, SignalMarkerStyle, TradeZone, TradeZoneDirection, TradeZoneStyle, } from '@tradecanvas/commons';
12
+ export type { OHLCBar, DataSeries, TimeFrame, ChartOptions, ChartType, Theme, ThemeName, ChartEventType, ChartEvent, ChartEventMap, IndicatorPlugin, IndicatorDescriptor, IndicatorConfig, IndicatorOutput, IndicatorValue, TauriBridgeOptions, ViewportState, CrosshairMovePayload, BarClickPayload, VisibleRangeChangePayload, OrderModifyPayload, OrderCancelPayload, PositionModifyPayload, PositionClosePayload, OrderPlacePayload, IndicatorChangePayload, ThemeChangePayload, StyleChangePayload, ResizePayload, ZoomChangePayload, PriceRangeChangePayload, DrawingCreatePayload, DrawingRemovePayload, SignalMarkerAddPayload, ChartContextArea, ChartContextMenuPayload, PriceAxisAddPayload, SignalMarkerRemovePayload, TradeZoneAddPayload, TradeZoneRemovePayload, DrawingToolType, DrawingState, DrawingStyle, DrawingPlugin, DrawingDescriptor, FeaturesConfig, SessionBreakOptions, PriceAxisOptions, TimeAxisOptions, AnchorPoint, PanelPosition, PanelConfig, ResolvedLayout, TradingOrder, TradingPosition, DepthData, DepthLevel, TradingConfig, OrderSide, OrderType, OrderStatus, OrderLabel, OrderPlaceIntent, OrderModifyIntent, OrderCancelIntent, PositionModifyIntent, PositionCloseIntent, PositionReverseIntent, TimeInForce, FillReason, ExecutionAdapter, ExecutionConfig, ExecutionEvent, ExecutionEventType, ExecutionListener, FillEvent, ExecutionError, Locale, LocaleStrings, MarketConfig, MarketType, StockExchange, MarketColorScheme, TradingSession, PriceLimitInfo, DataAdapter, DataAdapterConfig, DataAdapterEventType, StreamConfig, ConnectionState, ConnectionInfo, RawTick, AggregatedBar, ReconnectConfig, ResolvedIndicatorStyle, IndicatorStyleConfig, IndicatorPlotStyle, ChartStyleKey, ChartStyleOverrides, ChartStyleOverridesPatch, ResolvedChartStyle, ResolvedLineLook, StyleLayer, StyleValueKind, PaneStyle, WatermarkConfig, GridOptions, CrosshairOptions, SignalMarker, SignalDirection, SignalMarkerStyle, TradeZone, TradeZoneDirection, TradeZoneStyle, CandlePatternInfo, CandlePatternMatch, CandlePatternOptions, CandlePatternDirection, CandlePatternKind, } from '@tradecanvas/commons';
13
+ export { detectCandlePatterns, CANDLE_PATTERNS } from '@tradecanvas/core';
13
14
  export { DARK_THEME, LIGHT_THEME, DARK_TERMINAL, TC_PALETTE, TC_SERIES_COLORS, volumeColor, VOLUME_ALPHA, CHART_STYLE_KEYS, DEFAULT_DRAWING_STYLE, DEFAULT_TRADING_CONFIG, DEFAULT_SIGNAL_STYLE, DEFAULT_TRADE_ZONE_STYLE, TIMEFRAMES_CRYPTO, TIMEFRAMES_STOCK, TIMEFRAMES_FOREX, DEFAULT_TIMEFRAME_FAVORITES, } from '@tradecanvas/commons';
14
15
  export { normalizeBarTime, normalizeBar, barsAreDaily } from '@tradecanvas/commons';
15
16
  export { parseTimeframe, isTimeFrame, timeframeToMs, resampleBars, pickBaseTimeframe, isValidTimeZone, zoneOffsetMinutes, offsetAt, wallToUtc, } from '@tradecanvas/commons';
@@ -55,9 +56,9 @@ export type { LayoutSessionHost, LayoutSessionOptions } from './state/LayoutSess
55
56
  export { localStorageLayouts, memoryLayouts } from './state/layoutStorage.js';
56
57
  export type { LayoutStorage, SavedLayout, SavedLayoutSummary } from './state/layoutStorage.js';
57
58
  export type { GridLayout, GridCellConfig, ChartGridOptions } from './grid/ChartGrid.js';
58
- export { SparklineChart, DepthChart, EquityCurveChart, HeatmapChart, WaterfallChart, GaugeChart, PerformanceDashboard, BarChart, DonutChart, ScatterChart, HistogramChart, CalendarChart, MatrixChart } from './finance/index.js';
59
- export { histogramBins, niceScale, correlationMatrix } from '@tradecanvas/core';
59
+ export { SparklineChart, DepthChart, EquityCurveChart, HeatmapChart, WaterfallChart, GaugeChart, PerformanceDashboard, BarChart, DonutChart, ScatterChart, HistogramChart, CalendarChart, MatrixChart, CounterClockChart } from './finance/index.js';
60
+ export { histogramBins, niceScale, correlationMatrix, counterClockPoints, counterClockPhase } from '@tradecanvas/core';
60
61
  export { toEquityPoints, computeDrawdownCurve, computeMonthlyReturns, selectKeyStats, } from './finance/index.js';
61
62
  export type { PerformanceDashboardOptions, PerformanceResult, EquitySample, RiskMetricsLike, DashboardStat, } from './finance/index.js';
62
- export type { BaseFinanceChartOptions, SparklineOptions, DepthChartOptions, EquityPoint, EquityCurveOptions, HeatmapCell, HeatmapOptions, WaterfallBar, WaterfallOptions, GaugeZone, GaugeOptions, ChartSeries, BarHit, BarChartOptions, DonutSlice, DonutChartOptions, ScatterPoint, ScatterSeries, ScatterChartOptions, HistogramMarker, HistogramBin, HistogramOptions, ColorScale, CalendarDay, CalendarChartOptions, MatrixCell, MatrixChartOptions, } from '@tradecanvas/commons';
63
+ export type { BaseFinanceChartOptions, SparklineOptions, DepthChartOptions, EquityPoint, EquityCurveOptions, HeatmapCell, HeatmapOptions, WaterfallBar, WaterfallOptions, GaugeZone, GaugeOptions, ChartSeries, BarHit, BarChartOptions, DonutSlice, DonutChartOptions, ScatterPoint, ScatterSeries, ScatterChartOptions, HistogramMarker, HistogramBin, HistogramOptions, ColorScale, CalendarDay, CalendarChartOptions, MatrixCell, MatrixChartOptions, CounterClockPoint, CounterClockOptions, } from '@tradecanvas/commons';
63
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAG5E,YAAY,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,MAAM,EACN,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,OAAO,EACP,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EACjH,qBAAqB,EAAE,sBAAsB,EAC7C,oBAAoB,EAAE,wBAAwB,EAC9C,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,2BAA2B,GACnF,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EACL,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAC3E,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,GACxD,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG7H,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxH,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGzH,OAAO,EACL,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAChG,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAC3D,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAC/D,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,GACtF,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1T,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,aAAa,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjM,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClK,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG7G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9G,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3I,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/H,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzF,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3F,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrP,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,EACN,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as ee, n as te, o as ne, p as re, r as ie, s as ae, t as oe, u as se, v as ce, x as le, y as ue } from "./LayoutSession-CMgqwsEU.js";
2
- import { CHART_STYLE_KEYS as de, DARK_TERMINAL as fe, DARK_THEME as pe, DARK_THEME as me, DEFAULT_DRAWING_STYLE as he, DEFAULT_RECONNECT as ge, DEFAULT_SIGNAL_STYLE as _e, DEFAULT_STREAM_CONFIG as ve, DEFAULT_TIMEFRAME_FAVORITES as ye, DEFAULT_TRADE_ZONE_STYLE as be, DEFAULT_TRADING_CONFIG as xe, HNX_SESSIONS as Se, HOSE_SESSIONS as d, LIGHT_THEME as f, LIGHT_THEME as p, MARKET_CRYPTO as m, MARKET_HNX as h, MARKET_HOSE as g, MARKET_HOSE_ETF as _, MARKET_NYSE as v, MARKET_UPCOM as y, MARKET_VN30F as b, PRICE_SOURCES as x, TC_PALETTE as S, TC_SERIES_COLORS as C, TIMEFRAMES_CRYPTO as w, TIMEFRAMES_FOREX as T, TIMEFRAMES_STOCK as E, UPCOM_SESSIONS as D, VN30F_SESSIONS as O, VN_COLORS as k, VOLUME_ALPHA as A, barsAreDaily as j, computePriceLimits as Ce, createVNTheme as we, formatFraction as Te, formatNumber as Ee, formatVND as De, formatVolumeLoc as Oe, fractionTick as ke, getCurrentSession as Ae, getLocale as je, indicatorSource as Me, isPriceSource as Ne, isTimeFrame as Pe, isValidTimeZone as Fe, marketStatus as Ie, normalizeBar as Le, normalizeBarTime as Re, offsetAt as ze, parseIndicatorSource as Be, parseTimeframe as Ve, pickBaseTimeframe as He, priceFormatterFor as Ue, priceStepAt as We, rankSymbols as Ge, readNews as Ke, readQuote as qe, registerLocale as Je, resampleBars as Ye, roundToPriceStep as Xe, scaleMarketPrices as Ze, setLocale as Qe, sourcePrice as $e, stepDecimals as et, t as tt, tickBarCount as nt, timeframeBucketStart as rt, timeframeToMs as it, vn30fContracts as at, vn30fLastTradingDay as ot, volumeColor as st, wallToUtc as ct, zoneOffsetMinutes as lt } from "@tradecanvas/commons";
3
- import { AlertManager as ut, Animator as dt, BarCountdown as ft, BaseFinanceChart as M, BinanceAdapter as pt, BybitAdapter as mt, ChartLegend as ht, ChartStateManager as gt, CoinbaseAdapter as _t, CompareRenderer as vt, CrosshairTooltip as yt, CurrentPriceLine as bt, DEFAULT_LEGEND_CONFIG as xt, DEFAULT_MAX_WEBGL_CHARTS as St, DEFAULT_SESSION_HOURS as Ct, DataExporter as wt, DrawingBase as Tt, Easing as Et, FinanceCrosshair as N, GROUP_HEADER as Dt, IndicatorBase as Ot, IndicatorValueMap as kt, KeyboardHandler as At, KrakenAdapter as jt, MAX_ALERT_BARS as Mt, MIN_ALERT_BARS as Nt, MockAdapter as Pt, PaperExecutionAdapter as Ft, PollingAdapter as P, RANGE_PRESETS as It, ReplayManager as Lt, ResamplingAdapter as Rt, Screenshot as zt, SessionBreaks as Bt, SessionShading as Vt, SignalMarkerManager as Ht, StreamManager as Ut, TickAggregator as Wt, TickBarAdapter as Gt, TickBarBuilder as Kt, TradeZoneManager as qt, UndoRedoManager as Jt, VolumeRenderer as Yt, Watermark as Xt, WebSocketAdapter as Zt, barIndexToTime as Qt, barIndexToX as $t, barIndexToX as F, canvasMeasure as en, computeBarLayout as tn, computeCalendarLayout as nn, computeDonutLayout as rn, computeHistogramLayout as an, computeMatrixLayout as on, computeScatterLayout as sn, correlationMatrix as cn, formatTooltipTime as ln, histogramBins as un, hitBar as I, hitDay as L, hitMatrixCell as R, hitSlice as z, isPriceLevelAlert as dn, layoutGroupedTreemap as fn, layoutSquarifiedTreemap as pn, layoutUniformGrid as mn, lttbDownsample as hn, lttbVisibleIndices as gn, nearestPoint as B, niceScale as _n, priceToY as vn, priceToYMapper as yn, priceToYMapper as bn, rangePresetStart as xn, renderBarChart as Sn, renderCalendar as Cn, renderDepthChart as wn, renderDonut as Tn, renderEquityCurve as En, renderGauge as Dn, renderHeatmap as On, renderHistogram as kn, renderMatrix as An, renderScatter as jn, renderSparkline as Mn, renderWaterfall as Nn, servesTimeframe as Pn, setMaxWebGLCharts as Fn, timeToX as In, timestampToBarIndex as Ln, timestampToBarIndex as Rn, toHeikinAshi as zn, toKagi as Bn, toLineBreak as Vn, toPointAndFigure as Hn, toRangeBars as Un, toRenko as Wn, withResampling as Gn, withTickBars as Kn, xToBarIndex as qn, xToBarIndex as V, xToTime as Jn, yToPrice as Yn, yToPrice as Xn } from "@tradecanvas/core";
1
+ import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as ee, n as te, o as ne, p as re, r as ie, s as ae, t as oe, u as se, v as ce, x as le, y as ue } from "./LayoutSession-B7RJJGZJ.js";
2
+ import { CHART_STYLE_KEYS as de, DARK_TERMINAL as fe, DARK_THEME as pe, DARK_THEME as me, DEFAULT_DRAWING_STYLE as he, DEFAULT_RECONNECT as ge, DEFAULT_SIGNAL_STYLE as _e, DEFAULT_STREAM_CONFIG as ve, DEFAULT_TIMEFRAME_FAVORITES as ye, DEFAULT_TRADE_ZONE_STYLE as be, DEFAULT_TRADING_CONFIG as xe, HNX_SESSIONS as Se, HOSE_SESSIONS as Ce, LIGHT_THEME as d, LIGHT_THEME as f, MARKET_CRYPTO as p, MARKET_HNX as m, MARKET_HOSE as h, MARKET_HOSE_ETF as g, MARKET_NYSE as _, MARKET_UPCOM as v, MARKET_VN30F as y, PRICE_SOURCES as b, TC_PALETTE as x, TC_SERIES_COLORS as S, TIMEFRAMES_CRYPTO as C, TIMEFRAMES_FOREX as w, TIMEFRAMES_STOCK as T, UPCOM_SESSIONS as E, VN30F_SESSIONS as D, VN_COLORS as O, VOLUME_ALPHA as k, barsAreDaily as A, computePriceLimits as we, createVNTheme as Te, formatFraction as Ee, formatNumber as De, formatVND as Oe, formatVolumeLoc as ke, fractionTick as Ae, getCurrentSession as je, getLocale as Me, indicatorSource as Ne, isPriceSource as Pe, isTimeFrame as Fe, isValidTimeZone as Ie, marketStatus as Le, normalizeBar as Re, normalizeBarTime as ze, offsetAt as Be, parseIndicatorSource as Ve, parseTimeframe as He, pickBaseTimeframe as Ue, priceFormatterFor as We, priceStepAt as Ge, rankSymbols as Ke, readNews as qe, readQuote as Je, registerLocale as Ye, resampleBars as Xe, roundToPriceStep as Ze, scaleMarketPrices as Qe, setLocale as $e, sourcePrice as et, stepDecimals as tt, t as nt, tickBarCount as rt, timeframeBucketStart as it, timeframeToMs as at, vn30fContracts as ot, vn30fLastTradingDay as st, volumeColor as ct, wallToUtc as lt, zoneOffsetMinutes as ut } from "@tradecanvas/commons";
3
+ import { AlertManager as dt, Animator as ft, BarCountdown as pt, BaseFinanceChart as j, BinanceAdapter as mt, BybitAdapter as ht, CANDLE_PATTERNS as gt, ChartLegend as _t, ChartStateManager as vt, CoinbaseAdapter as yt, CompareRenderer as bt, CrosshairTooltip as xt, CurrentPriceLine as St, DEFAULT_LEGEND_CONFIG as Ct, DEFAULT_MAX_WEBGL_CHARTS as wt, DEFAULT_SESSION_HOURS as Tt, DataExporter as Et, DrawingBase as Dt, Easing as Ot, FinanceCrosshair as M, GROUP_HEADER as kt, IndicatorBase as At, IndicatorValueMap as jt, KeyboardHandler as Mt, KrakenAdapter as Nt, MAX_ALERT_BARS as Pt, MIN_ALERT_BARS as Ft, MockAdapter as It, PaperExecutionAdapter as Lt, PollingAdapter as Rt, RANGE_PRESETS as zt, ReplayManager as Bt, ResamplingAdapter as Vt, Screenshot as Ht, SessionBreaks as Ut, SessionShading as Wt, SignalMarkerManager as N, StreamManager as Gt, TickAggregator as Kt, TickBarAdapter as qt, TickBarBuilder as Jt, TradeZoneManager as Yt, UndoRedoManager as Xt, VolumeRenderer as Zt, Watermark as Qt, WebSocketAdapter as $t, barIndexToTime as en, barIndexToX as tn, barIndexToX as P, canvasMeasure as nn, computeBarLayout as rn, computeCalendarLayout as an, computeCounterClockLayout as on, computeDonutLayout as sn, computeHistogramLayout as cn, computeMatrixLayout as ln, computeScatterLayout as un, correlationMatrix as dn, counterClockPhase as fn, counterClockPhase as pn, counterClockPoints as mn, counterClockPoints as hn, detectCandlePatterns as gn, formatTooltipTime as _n, histogramBins as vn, hitBar as F, hitDay as I, hitMatrixCell as L, hitSlice as R, isPriceLevelAlert as yn, layoutGroupedTreemap as bn, layoutSquarifiedTreemap as xn, layoutUniformGrid as Sn, lttbDownsample as Cn, lttbVisibleIndices as wn, nearestCounterClockPoint as z, nearestPoint as B, niceScale as Tn, priceToY as En, priceToYMapper as Dn, priceToYMapper as On, rangePresetStart as kn, renderBarChart as An, renderCalendar as jn, renderCounterClock as Mn, renderDepthChart as Nn, renderDonut as Pn, renderEquityCurve as Fn, renderGauge as In, renderHeatmap as Ln, renderHistogram as Rn, renderMatrix as zn, renderScatter as Bn, renderSparkline as Vn, renderWaterfall as Hn, servesTimeframe as Un, setMaxWebGLCharts as Wn, shownCount as Gn, timeToX as Kn, timestampToBarIndex as qn, timestampToBarIndex as Jn, toHeikinAshi as Yn, toKagi as Xn, toLineBreak as Zn, toPointAndFigure as Qn, toRangeBars as $n, toRenko as er, withResampling as tr, withTickBars as nr, xToBarIndex as rr, xToBarIndex as V, xToTime as ir, yToPrice as ar, yToPrice as or } from "@tradecanvas/core";
4
4
  //#region src/frameworks/syncIndicators.ts
5
- function Zn(e) {
5
+ function sr(e) {
6
6
  let { id: t, params: n = {}, position: r = null } = typeof e == "string" ? { id: e } : e;
7
7
  return JSON.stringify([
8
8
  t,
@@ -10,9 +10,9 @@ function Zn(e) {
10
10
  r
11
11
  ]);
12
12
  }
13
- function Qn(e, t, n) {
13
+ function cr(e, t, n) {
14
14
  let r = /* @__PURE__ */ new Map(), i = t.map((e) => {
15
- let t = Zn(e), n = r.get(t) ?? 0;
15
+ let t = sr(e), n = r.get(t) ?? 0;
16
16
  return r.set(t, n + 1), {
17
17
  spec: e,
18
18
  key: `${t}#${n}`
@@ -27,18 +27,18 @@ function Qn(e, t, n) {
27
27
  }
28
28
  //#endregion
29
29
  //#region src/plugins/overlayScale.ts
30
- function $n(e) {
31
- let { viewport: t, data: n } = e, r = bn(t), i = n.length - 1, a = Math.max(0, Math.floor(t.visibleRange.from)), o = Math.min(i, Math.ceil(t.visibleRange.to)), s = (e) => n.length > 0 ? Rn(e, n) : e;
30
+ function lr(e) {
31
+ let { viewport: t, data: n } = e, r = On(t), i = n.length - 1, a = Math.max(0, Math.floor(t.visibleRange.from)), o = Math.min(i, Math.ceil(t.visibleRange.to)), s = (e) => n.length > 0 ? Jn(e, n) : e;
32
32
  return {
33
- timeToX: (e) => F(s(e), t),
33
+ timeToX: (e) => P(s(e), t),
34
34
  xToTime: (e) => {
35
35
  let r = V(e, t);
36
- return n.length > 0 ? Qt(r, n) : r;
36
+ return n.length > 0 ? en(r, n) : r;
37
37
  },
38
- indexToX: (e) => F(e, t),
38
+ indexToX: (e) => P(e, t),
39
39
  xToIndex: (e) => V(e, t),
40
40
  priceToY: r,
41
- yToPrice: (e) => Xn(e, t),
41
+ yToPrice: (e) => or(e, t),
42
42
  barWidth: t.barWidth,
43
43
  visible: o < a ? {
44
44
  from: 0,
@@ -84,7 +84,7 @@ var H = {
84
84
  cols: 2,
85
85
  rows: 3
86
86
  }
87
- }, er = class {
87
+ }, ur = class {
88
88
  root;
89
89
  cells = [];
90
90
  layout;
@@ -191,13 +191,13 @@ var H = {
191
191
  this.cells = [], this.root.remove();
192
192
  }
193
193
  }
194
- }, tr = class extends M {
194
+ }, dr = class extends j {
195
195
  options;
196
196
  constructor(e, t) {
197
197
  super(e, t.theme), this.options = t, this.requestRender();
198
198
  }
199
199
  renderChart(e, t, n, r) {
200
- Mn(e, t, n, this.options, r);
200
+ Vn(e, t, n, this.options, r);
201
201
  }
202
202
  update(e) {
203
203
  this.options = {
@@ -211,15 +211,15 @@ var H = {
211
211
  ...e
212
212
  }, this.requestRender();
213
213
  }
214
- }, nr = class extends M {
214
+ }, fr = class extends j {
215
215
  options;
216
216
  crosshair = null;
217
217
  constructor(e, t) {
218
- super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new N(this.canvas, () => this.requestRender())), this.requestRender();
218
+ super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new M(this.canvas, () => this.requestRender())), this.requestRender();
219
219
  }
220
220
  renderChart(e, t, n, r) {
221
221
  let i = this.crosshair?.getPosition() ?? null;
222
- wn(e, t, n, this.options, r, i);
222
+ Nn(e, t, n, this.options, r, i);
223
223
  }
224
224
  update(e) {
225
225
  this.options = {
@@ -236,15 +236,15 @@ var H = {
236
236
  destroy() {
237
237
  this.crosshair?.destroy(), super.destroy();
238
238
  }
239
- }, U = class extends M {
239
+ }, U = class extends j {
240
240
  options;
241
241
  crosshair = null;
242
242
  constructor(e, t) {
243
- super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new N(this.canvas, () => this.requestRender())), this.requestRender();
243
+ super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new M(this.canvas, () => this.requestRender())), this.requestRender();
244
244
  }
245
245
  renderChart(e, t, n, r) {
246
246
  let i = this.crosshair?.getPosition() ?? null;
247
- En(e, t, n, this.options, r, i);
247
+ Fn(e, t, n, this.options, r, i);
248
248
  }
249
249
  update(e, t) {
250
250
  this.options = {
@@ -264,7 +264,7 @@ var H = {
264
264
  destroy() {
265
265
  this.crosshair?.destroy(), super.destroy();
266
266
  }
267
- }, W = class extends M {
267
+ }, W = class extends j {
268
268
  options;
269
269
  crosshair = null;
270
270
  cachedRects = [];
@@ -274,7 +274,7 @@ var H = {
274
274
  lastLayoutHeight = 0;
275
275
  handleClick = null;
276
276
  constructor(e, t) {
277
- super(e, t.theme), this.options = t, this.currentData = t.data ?? [], t.crosshair !== !1 && (this.crosshair = new N(this.canvas, () => this.requestRender())), t.onCellClick && (this.handleClick = (e) => {
277
+ super(e, t.theme), this.options = t, this.currentData = t.data ?? [], t.crosshair !== !1 && (this.crosshair = new M(this.canvas, () => this.requestRender())), t.onCellClick && (this.handleClick = (e) => {
278
278
  let t = this.canvas.getBoundingClientRect(), n = e.clientX - t.left, r = e.clientY - t.top;
279
279
  this.onCanvasClick(n, r);
280
280
  }, this.canvas.addEventListener("click", this.handleClick)), this.applyLabel(), this.recomputeLayout(), this.requestRender();
@@ -291,20 +291,20 @@ var H = {
291
291
  height: this.height
292
292
  }, t = this.options.cellPadding ?? 2;
293
293
  if (this.lastLayoutWidth = this.width, this.lastLayoutHeight = this.height, this.cachedGroups = [], this.options.grouped) {
294
- let { groups: n, cells: r } = fn(this.currentData.map((e) => ({
294
+ let { groups: n, cells: r } = bn(this.currentData.map((e) => ({
295
295
  id: e.id,
296
296
  weight: e.weight ?? (Math.abs(e.value) || 1),
297
297
  group: e.group,
298
298
  value: e.value
299
- })), e, t, Dt);
299
+ })), e, t, kt);
300
300
  this.cachedRects = r, this.cachedGroups = n;
301
301
  } else if (this.options.weighted) {
302
302
  let n = this.currentData.map((e) => ({
303
303
  id: e.id,
304
304
  weight: e.weight ?? (Math.abs(e.value) || 1)
305
305
  }));
306
- this.cachedRects = pn(n, e, t);
307
- } else this.cachedRects = mn(this.currentData.map((e) => ({ id: e.id })), e, t);
306
+ this.cachedRects = xn(n, e, t);
307
+ } else this.cachedRects = Sn(this.currentData.map((e) => ({ id: e.id })), e, t);
308
308
  }
309
309
  onCanvasClick(e, t) {
310
310
  if (this.options.onCellClick) for (let n of this.cachedRects) {
@@ -319,7 +319,7 @@ var H = {
319
319
  renderChart(e, t, n, r) {
320
320
  (t !== this.lastLayoutWidth || n !== this.lastLayoutHeight) && this.recomputeLayout();
321
321
  let i = this.crosshair?.getPosition() ?? null;
322
- On(e, t, n, this.currentData, this.cachedRects, this.options, r, i, this.cachedGroups);
322
+ Ln(e, t, n, this.currentData, this.cachedRects, this.options, r, i, this.cachedGroups);
323
323
  }
324
324
  update(e) {
325
325
  this.currentData = e, this.options = {
@@ -336,15 +336,15 @@ var H = {
336
336
  destroy() {
337
337
  this.crosshair?.destroy(), this.handleClick && this.canvas.removeEventListener("click", this.handleClick), super.destroy();
338
338
  }
339
- }, rr = class extends M {
339
+ }, pr = class extends j {
340
340
  options;
341
341
  crosshair = null;
342
342
  constructor(e, t) {
343
- super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new N(this.canvas, () => this.requestRender())), this.requestRender();
343
+ super(e, t.theme), this.options = t, t.crosshair !== !1 && (this.crosshair = new M(this.canvas, () => this.requestRender())), this.requestRender();
344
344
  }
345
345
  renderChart(e, t, n, r) {
346
346
  let i = this.crosshair?.getPosition() ?? null;
347
- Nn(e, t, n, this.options, r, i);
347
+ Hn(e, t, n, this.options, r, i);
348
348
  }
349
349
  update(e) {
350
350
  this.options = {
@@ -361,12 +361,12 @@ var H = {
361
361
  destroy() {
362
362
  this.crosshair?.destroy(), super.destroy();
363
363
  }
364
- }, ir = 500;
365
- function ar(e) {
364
+ }, mr = 500;
365
+ function hr(e) {
366
366
  let t = 1 - e;
367
367
  return 1 - t * t * t;
368
368
  }
369
- var or = class extends M {
369
+ var gr = class extends j {
370
370
  options;
371
371
  currentValue;
372
372
  targetValue;
@@ -377,7 +377,7 @@ var or = class extends M {
377
377
  super(e, t.theme), this.options = t, this.currentValue = t.value, this.targetValue = t.value, this.requestRender();
378
378
  }
379
379
  renderChart(e, t, n, r) {
380
- Dn(e, t, n, this.options, r, this.currentValue);
380
+ In(e, t, n, this.options, r, this.currentValue);
381
381
  }
382
382
  setValue(e) {
383
383
  if (this.options.animate === !1) {
@@ -407,7 +407,7 @@ var or = class extends M {
407
407
  if (this.animationFrameId !== null) return;
408
408
  let e = () => {
409
409
  if (this.animationFrameId = null, this.animationStart === null) return;
410
- let t = this.options.animationDuration ?? ir, n = performance.now() - this.animationStart, r = Math.min(1, n / Math.max(1, t)), i = ar(r);
410
+ let t = this.options.animationDuration ?? mr, n = performance.now() - this.animationStart, r = Math.min(1, n / Math.max(1, t)), i = hr(r);
411
411
  this.currentValue = this.animationFrom + (this.targetValue - this.animationFrom) * i, this.requestRender(), r < 1 ? this.animationFrameId = requestAnimationFrame(e) : (this.currentValue = this.targetValue, this.animationStart = null);
412
412
  };
413
413
  this.animationFrameId = requestAnimationFrame(e);
@@ -418,7 +418,7 @@ var or = class extends M {
418
418
  destroy() {
419
419
  this.cancelAnimation(), super.destroy();
420
420
  }
421
- }, G = class extends M {
421
+ }, G = class extends j {
422
422
  options;
423
423
  layout = null;
424
424
  layoutFor = null;
@@ -433,11 +433,11 @@ var or = class extends M {
433
433
  this.canvas.style.cursor = this.hits(this.layout, e.clientX - t.left, e.clientY - t.top) ? "pointer" : "";
434
434
  };
435
435
  constructor(e, t) {
436
- super(e, t.theme), this.options = t, this.crosshair = new N(this.canvas, () => this.requestRender()), this.canvas.addEventListener("click", this.onClick), this.canvas.addEventListener("pointermove", this.onMove), this.applyLabel(), this.requestRender();
436
+ super(e, t.theme), this.options = t, this.crosshair = new M(this.canvas, () => this.requestRender()), this.canvas.addEventListener("click", this.onClick), this.canvas.addEventListener("pointermove", this.onMove), this.applyLabel(), this.requestRender();
437
437
  }
438
438
  renderChart(e, t, n, r) {
439
439
  let i = this.options.crosshair === !1 ? null : this.crosshair.getPosition(), a = this.layoutFor;
440
- (!this.layout || !a || a.options !== this.options || a.width !== t || a.height !== n || a.theme !== r) && (this.layout = this.compute(t, n, r, en(e, r)), this.layoutFor = {
440
+ (!this.layout || !a || a.options !== this.options || a.width !== t || a.height !== n || a.theme !== r) && (this.layout = this.compute(t, n, r, nn(e, r)), this.layoutFor = {
441
441
  options: this.options,
442
442
  width: t,
443
443
  height: n,
@@ -456,12 +456,12 @@ var or = class extends M {
456
456
  destroy() {
457
457
  this.crosshair.destroy(), this.canvas.removeEventListener("click", this.onClick), this.canvas.removeEventListener("pointermove", this.onMove), super.destroy();
458
458
  }
459
- }, sr = class extends G {
459
+ }, _r = class extends G {
460
460
  compute(e, t, n, r) {
461
- return tn(this.options, e, t, n, r);
461
+ return rn(this.options, e, t, n, r);
462
462
  }
463
463
  draw(e, t, n, r, i, a) {
464
- Sn(e, t, n, this.options, r, i, a);
464
+ An(e, t, n, this.options, r, i, a);
465
465
  }
466
466
  describe() {
467
467
  return `Bar chart of ${this.options.series.map((e) => e.name).join(", ")}, ${this.options.categories.length} categories`;
@@ -470,10 +470,10 @@ var or = class extends M {
470
470
  return this.options.onBarClick !== void 0;
471
471
  }
472
472
  hits(e, t, n) {
473
- return I(e, t, n) !== null;
473
+ return F(e, t, n) !== null;
474
474
  }
475
475
  clickAt(e, t, n) {
476
- let r = I(e, t, n);
476
+ let r = F(e, t, n);
477
477
  r && this.options.onBarClick?.({
478
478
  category: r.category,
479
479
  series: r.series,
@@ -487,12 +487,12 @@ var or = class extends M {
487
487
  series: t
488
488
  });
489
489
  }
490
- }, cr = class extends G {
490
+ }, vr = class extends G {
491
491
  compute(e, t, n, r) {
492
- return rn(this.options, e, t, n, r);
492
+ return sn(this.options, e, t, n, r);
493
493
  }
494
494
  draw(e, t, n, r, i, a) {
495
- Tn(e, t, n, this.options, r, i, a);
495
+ Pn(e, t, n, this.options, r, i, a);
496
496
  }
497
497
  describe() {
498
498
  let e = this.options.data.filter((e) => Number.isFinite(e.value) && e.value > 0).map((e) => e.label).join(", ");
@@ -502,21 +502,21 @@ var or = class extends M {
502
502
  return this.options.onSliceClick !== void 0;
503
503
  }
504
504
  hits(e, t, n) {
505
- return z(e, t, n) !== null;
505
+ return R(e, t, n) !== null;
506
506
  }
507
507
  clickAt(e, t, n) {
508
- let r = z(e, t, n);
508
+ let r = R(e, t, n);
509
509
  r && this.options.onSliceClick?.(r.slice);
510
510
  }
511
511
  update(e) {
512
512
  this.setOptions({ data: e });
513
513
  }
514
- }, lr = class extends G {
514
+ }, yr = class extends G {
515
515
  compute(e, t, n, r) {
516
- return sn(this.options, e, t, n, r);
516
+ return un(this.options, e, t, n, r);
517
517
  }
518
518
  draw(e, t, n, r, i, a) {
519
- jn(e, t, n, this.options, r, i, a);
519
+ Bn(e, t, n, this.options, r, i, a);
520
520
  }
521
521
  describe() {
522
522
  let e = this.options.series.reduce((e, t) => e + t.points.length, 0);
@@ -535,12 +535,12 @@ var or = class extends M {
535
535
  update(e) {
536
536
  this.setOptions({ series: e });
537
537
  }
538
- }, ur = class extends G {
538
+ }, br = class extends G {
539
539
  compute(e, t, n, r) {
540
- return an(this.options, e, t, n, r);
540
+ return cn(this.options, e, t, n, r);
541
541
  }
542
542
  draw(e, t, n, r, i, a) {
543
- kn(e, t, n, this.options, r, i, a);
543
+ Rn(e, t, n, this.options, r, i, a);
544
544
  }
545
545
  describe() {
546
546
  return `Histogram of ${this.options.values.length} values`;
@@ -555,12 +555,12 @@ var or = class extends M {
555
555
  update(e) {
556
556
  this.setOptions({ values: e });
557
557
  }
558
- }, dr = class extends G {
558
+ }, xr = class extends G {
559
559
  compute(e, t, n, r) {
560
- return nn(this.options, e, t, n, r);
560
+ return an(this.options, e, t, n, r);
561
561
  }
562
562
  draw(e, t, n, r, i, a) {
563
- Cn(e, t, n, this.options, r, i, a);
563
+ jn(e, t, n, this.options, r, i, a);
564
564
  }
565
565
  describe() {
566
566
  let e = this.options.data.map((e) => e.date).filter((e) => /^\d{4}-\d{2}-\d{2}$/.test(e)).sort(), t = this.options.from ?? e[0], n = this.options.to ?? e[e.length - 1];
@@ -570,21 +570,21 @@ var or = class extends M {
570
570
  return this.options.onDayClick !== void 0;
571
571
  }
572
572
  hits(e, t, n) {
573
- return L(e, t, n)?.day !== void 0;
573
+ return I(e, t, n)?.day !== void 0;
574
574
  }
575
575
  clickAt(e, t, n) {
576
- let r = L(e, t, n)?.day;
576
+ let r = I(e, t, n)?.day;
577
577
  r && this.options.onDayClick?.(r);
578
578
  }
579
579
  update(e) {
580
580
  this.setOptions({ data: e });
581
581
  }
582
- }, K = 12, fr = class extends G {
582
+ }, K = 12, Sr = class extends G {
583
583
  compute(e, t, n, r) {
584
- return on(this.options, e, t, n, r);
584
+ return ln(this.options, e, t, n, r);
585
585
  }
586
586
  draw(e, t, n, r, i, a) {
587
- An(e, t, n, this.options, r, i, a);
587
+ zn(e, t, n, this.options, r, i, a);
588
588
  }
589
589
  describe() {
590
590
  let { rows: e, columns: t } = this.options;
@@ -594,16 +594,42 @@ var or = class extends M {
594
594
  return this.options.onCellClick !== void 0;
595
595
  }
596
596
  hits(e, t, n) {
597
- return R(e, t, n) !== null;
597
+ return L(e, t, n) !== null;
598
598
  }
599
599
  clickAt(e, t, n) {
600
- let r = R(e, t, n);
600
+ let r = L(e, t, n);
601
601
  r && this.options.onCellClick?.(r.cell);
602
602
  }
603
603
  update(e) {
604
604
  this.setOptions({ values: e });
605
605
  }
606
- }, pr = [
606
+ }, Cr = class extends G {
607
+ compute(e, t, n, r) {
608
+ return on(this.options, e, t, n, r);
609
+ }
610
+ draw(e, t, n, r, i, a) {
611
+ Mn(e, t, n, this.options, r, i, a);
612
+ }
613
+ describe() {
614
+ return `Counter-clock chart of price against volume, ${this.options.period ?? 25}-bar averages`;
615
+ }
616
+ clickable() {
617
+ return this.options.onPointClick !== void 0;
618
+ }
619
+ hits(e, t, n) {
620
+ return z(e, t, n) !== null;
621
+ }
622
+ clickAt(e, t, n) {
623
+ let r = z(e, t, n);
624
+ r && this.options.onPointClick?.(r.point);
625
+ }
626
+ getPhase() {
627
+ return pn(hn(this.options.data, this.options.period ?? 25, Gn(this.options)));
628
+ }
629
+ update(e) {
630
+ this.setOptions({ data: e });
631
+ }
632
+ }, wr = [
607
633
  "Jan",
608
634
  "Feb",
609
635
  "Mar",
@@ -638,7 +664,7 @@ function Y(e) {
638
664
  if (e.length === 0) return [];
639
665
  let t = [];
640
666
  for (let n of e) {
641
- let e = rt(n.time, "1M"), r = t[t.length - 1];
667
+ let e = it(n.time, "1M"), r = t[t.length - 1];
642
668
  r && r.key === e ? r.close = n.equity : t.push({
643
669
  key: e,
644
670
  close: n.equity
@@ -651,7 +677,7 @@ function Y(e) {
651
677
  let a = new Date(e.key), o = a.getUTCFullYear(), s = a.getUTCMonth();
652
678
  r.push({
653
679
  id: `${o}-${String(s + 1).padStart(2, "0")}`,
654
- label: pr[s],
680
+ label: wr[s],
655
681
  group: String(o),
656
682
  value: i
657
683
  });
@@ -711,9 +737,9 @@ function Q(e) {
711
737
  //#endregion
712
738
  //#region src/finance/PerformanceDashboard.ts
713
739
  function $(e) {
714
- return !e || e === "dark" ? me : e === "light" ? p : e;
740
+ return !e || e === "dark" ? me : e === "light" ? f : e;
715
741
  }
716
- var mr = class {
742
+ var Tr = class {
717
743
  options;
718
744
  theme;
719
745
  root;
@@ -862,6 +888,6 @@ var mr = class {
862
888
  }
863
889
  };
864
890
  //#endregion
865
- export { ut as AlertManager, dt as Animator, sr as BarChart, ft as BarCountdown, pt as BinanceAdapter, mt as BybitAdapter, de as CHART_STYLE_KEYS, dr as CalendarChart, i as Chart, er as ChartGrid, ht as ChartLegend, gt as ChartStateManager, _t as CoinbaseAdapter, vt as CompareRenderer, yt as CrosshairTooltip, bt as CurrentPriceLine, fe as DARK_TERMINAL, pe as DARK_THEME, he as DEFAULT_DRAWING_STYLE, r as DEFAULT_HISTORY_PAGE_SIZE, xt as DEFAULT_LEGEND_CONFIG, St as DEFAULT_MAX_WEBGL_CHARTS, ge as DEFAULT_RECONNECT, Ct as DEFAULT_SESSION_HOURS, _e as DEFAULT_SIGNAL_STYLE, ve as DEFAULT_STREAM_CONFIG, ye as DEFAULT_TIMEFRAME_FAVORITES, be as DEFAULT_TRADE_ZONE_STYLE, xe as DEFAULT_TRADING_CONFIG, wt as DataExporter, e as DataManager, nr as DepthChart, cr as DonutChart, ne as DragDropImporter, Tt as DrawingBase, u as EXCHANGE_TIMEZONE, Et as Easing, U as EquityCurveChart, or as GaugeChart, le as HISTORY_RETRY_MS, Se as HNX_SESSIONS, d as HOSE_SESSIONS, W as HeatmapChart, ur as HistogramChart, Ot as IndicatorBase, kt as IndicatorValueMap, At as KeyboardHandler, jt as KrakenAdapter, f as LIGHT_THEME, ce as LayoutManager, oe as LayoutSession, m as MARKET_CRYPTO, h as MARKET_HNX, g as MARKET_HOSE, _ as MARKET_HOSE_ETF, v as MARKET_NYSE, y as MARKET_UPCOM, b as MARKET_VN30F, Mt as MAX_ALERT_BARS, te as MAX_LAYOUT_NAME, Nt as MIN_ALERT_BARS, fr as MatrixChart, Pt as MockAdapter, c as PLUGIN_API_VERSION, x as PRICE_SOURCES, Ft as PaperExecutionAdapter, mr as PerformanceDashboard, se as PluginManager, P as PollingAdapter, It as RANGE_PRESETS, Lt as ReplayManager, Rt as ResamplingAdapter, lr as ScatterChart, zt as Screenshot, Bt as SessionBreaks, Vt as SessionShading, Ht as SignalMarkerManager, tr as SparklineChart, Ut as StreamManager, S as TC_PALETTE, C as TC_SERIES_COLORS, w as TIMEFRAMES_CRYPTO, T as TIMEFRAMES_FOREX, E as TIMEFRAMES_STOCK, ue as ThemeManager, Wt as TickAggregator, Gt as TickBarAdapter, Kt as TickBarBuilder, qt as TradeZoneManager, D as UPCOM_SESSIONS, Jt as UndoRedoManager, O as VN30F_SESSIONS, k as VN_COLORS, A as VOLUME_ALPHA, Yt as VolumeRenderer, rr as WaterfallChart, Xt as Watermark, Zt as WebSocketAdapter, $t as barIndexToX, j as barsAreDaily, ie as cleanLayoutName, a as clearGlobalPlugins, J as computeDrawdownCurve, Y as computeMonthlyReturns, Ce as computePriceLimits, cn as correlationMatrix, we as createVNTheme, Te as formatFraction, Ee as formatNumber, ln as formatTooltipTime, De as formatVND, Oe as formatVolumeLoc, ke as fractionTick, Ae as getCurrentSession, o as getGlobalPlugins, je as getLocale, un as histogramBins, Me as indicatorSource, dn as isPriceLevelAlert, Ne as isPriceSource, Pe as isTimeFrame, Fe as isValidTimeZone, l as localStorageLayouts, hn as lttbDownsample, gn as lttbVisibleIndices, Ie as marketStatus, n as memoryLayouts, _n as niceScale, Le as normalizeBar, Re as normalizeBarTime, ze as offsetAt, $n as overlayScale, s as overlaysForLayer, Be as parseIndicatorSource, ae as parseOHLCV, Ve as parseTimeframe, He as pickBaseTimeframe, t as pluginKey, Ue as priceFormatterFor, We as priceStepAt, vn as priceToY, yn as priceToYMapper, xn as rangePresetStart, Ge as rankSymbols, Ke as readNews, qe as readQuote, Je as registerLocale, re as registerPlugin, Ye as resampleBars, Xe as roundToPriceStep, Ze as scaleMarketPrices, Q as selectKeyStats, Pn as servesTimeframe, Qe as setLocale, Fn as setMaxWebGLCharts, $e as sourcePrice, et as stepDecimals, Qn as syncIndicators, tt as t, nt as tickBarCount, In as timeToX, it as timeframeToMs, Ln as timestampToBarIndex, q as toEquityPoints, zn as toHeikinAshi, Bn as toKagi, Vn as toLineBreak, Hn as toPointAndFigure, Un as toRangeBars, Wn as toRenko, ee as unregisterPlugin, at as vn30fContracts, ot as vn30fLastTradingDay, st as volumeColor, ct as wallToUtc, Gn as withResampling, Kn as withTickBars, qn as xToBarIndex, Jn as xToTime, Yn as yToPrice, lt as zoneOffsetMinutes };
891
+ export { dt as AlertManager, ft as Animator, _r as BarChart, pt as BarCountdown, mt as BinanceAdapter, ht as BybitAdapter, gt as CANDLE_PATTERNS, de as CHART_STYLE_KEYS, xr as CalendarChart, i as Chart, ur as ChartGrid, _t as ChartLegend, vt as ChartStateManager, yt as CoinbaseAdapter, bt as CompareRenderer, Cr as CounterClockChart, xt as CrosshairTooltip, St as CurrentPriceLine, fe as DARK_TERMINAL, pe as DARK_THEME, he as DEFAULT_DRAWING_STYLE, r as DEFAULT_HISTORY_PAGE_SIZE, Ct as DEFAULT_LEGEND_CONFIG, wt as DEFAULT_MAX_WEBGL_CHARTS, ge as DEFAULT_RECONNECT, Tt as DEFAULT_SESSION_HOURS, _e as DEFAULT_SIGNAL_STYLE, ve as DEFAULT_STREAM_CONFIG, ye as DEFAULT_TIMEFRAME_FAVORITES, be as DEFAULT_TRADE_ZONE_STYLE, xe as DEFAULT_TRADING_CONFIG, Et as DataExporter, e as DataManager, fr as DepthChart, vr as DonutChart, ne as DragDropImporter, Dt as DrawingBase, u as EXCHANGE_TIMEZONE, Ot as Easing, U as EquityCurveChart, gr as GaugeChart, le as HISTORY_RETRY_MS, Se as HNX_SESSIONS, Ce as HOSE_SESSIONS, W as HeatmapChart, br as HistogramChart, At as IndicatorBase, jt as IndicatorValueMap, Mt as KeyboardHandler, Nt as KrakenAdapter, d as LIGHT_THEME, ce as LayoutManager, oe as LayoutSession, p as MARKET_CRYPTO, m as MARKET_HNX, h as MARKET_HOSE, g as MARKET_HOSE_ETF, _ as MARKET_NYSE, v as MARKET_UPCOM, y as MARKET_VN30F, Pt as MAX_ALERT_BARS, te as MAX_LAYOUT_NAME, Ft as MIN_ALERT_BARS, Sr as MatrixChart, It as MockAdapter, c as PLUGIN_API_VERSION, b as PRICE_SOURCES, Lt as PaperExecutionAdapter, Tr as PerformanceDashboard, se as PluginManager, Rt as PollingAdapter, zt as RANGE_PRESETS, Bt as ReplayManager, Vt as ResamplingAdapter, yr as ScatterChart, Ht as Screenshot, Ut as SessionBreaks, Wt as SessionShading, N as SignalMarkerManager, dr as SparklineChart, Gt as StreamManager, x as TC_PALETTE, S as TC_SERIES_COLORS, C as TIMEFRAMES_CRYPTO, w as TIMEFRAMES_FOREX, T as TIMEFRAMES_STOCK, ue as ThemeManager, Kt as TickAggregator, qt as TickBarAdapter, Jt as TickBarBuilder, Yt as TradeZoneManager, E as UPCOM_SESSIONS, Xt as UndoRedoManager, D as VN30F_SESSIONS, O as VN_COLORS, k as VOLUME_ALPHA, Zt as VolumeRenderer, pr as WaterfallChart, Qt as Watermark, $t as WebSocketAdapter, tn as barIndexToX, A as barsAreDaily, ie as cleanLayoutName, a as clearGlobalPlugins, J as computeDrawdownCurve, Y as computeMonthlyReturns, we as computePriceLimits, dn as correlationMatrix, fn as counterClockPhase, mn as counterClockPoints, Te as createVNTheme, gn as detectCandlePatterns, Ee as formatFraction, De as formatNumber, _n as formatTooltipTime, Oe as formatVND, ke as formatVolumeLoc, Ae as fractionTick, je as getCurrentSession, o as getGlobalPlugins, Me as getLocale, vn as histogramBins, Ne as indicatorSource, yn as isPriceLevelAlert, Pe as isPriceSource, Fe as isTimeFrame, Ie as isValidTimeZone, l as localStorageLayouts, Cn as lttbDownsample, wn as lttbVisibleIndices, Le as marketStatus, n as memoryLayouts, Tn as niceScale, Re as normalizeBar, ze as normalizeBarTime, Be as offsetAt, lr as overlayScale, s as overlaysForLayer, Ve as parseIndicatorSource, ae as parseOHLCV, He as parseTimeframe, Ue as pickBaseTimeframe, t as pluginKey, We as priceFormatterFor, Ge as priceStepAt, En as priceToY, Dn as priceToYMapper, kn as rangePresetStart, Ke as rankSymbols, qe as readNews, Je as readQuote, Ye as registerLocale, re as registerPlugin, Xe as resampleBars, Ze as roundToPriceStep, Qe as scaleMarketPrices, Q as selectKeyStats, Un as servesTimeframe, $e as setLocale, Wn as setMaxWebGLCharts, et as sourcePrice, tt as stepDecimals, cr as syncIndicators, nt as t, rt as tickBarCount, Kn as timeToX, at as timeframeToMs, qn as timestampToBarIndex, q as toEquityPoints, Yn as toHeikinAshi, Xn as toKagi, Zn as toLineBreak, Qn as toPointAndFigure, $n as toRangeBars, er as toRenko, ee as unregisterPlugin, ot as vn30fContracts, st as vn30fLastTradingDay, ct as volumeColor, lt as wallToUtc, tr as withResampling, nr as withTickBars, rr as xToBarIndex, ir as xToTime, ar as yToPrice, ut as zoneOffsetMinutes };
866
892
 
867
893
  //# sourceMappingURL=index.js.map