@tradecanvas/chart 1.4.0 → 1.7.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/LICENSE +21 -21
- package/README.md +910 -858
- package/dist/Chart.d.ts +606 -23
- package/dist/Chart.d.ts.map +1 -1
- package/dist/DataManager.d.ts +5 -0
- package/dist/DataManager.d.ts.map +1 -1
- package/dist/HistoryPager.d.ts +58 -0
- package/dist/HistoryPager.d.ts.map +1 -0
- package/dist/LayoutSession-CTZB90NX.cjs +2 -0
- package/dist/LayoutSession-CTZB90NX.cjs.map +1 -0
- package/dist/LayoutSession-CWn3sdbs.js +3967 -0
- package/dist/LayoutSession-CWn3sdbs.js.map +1 -0
- package/dist/ThemeManager.d.ts +5 -1
- package/dist/ThemeManager.d.ts.map +1 -1
- package/dist/chartA11y.d.ts +59 -0
- package/dist/chartA11y.d.ts.map +1 -0
- package/dist/charts/ChartTypeStrategy.d.ts +5 -4
- package/dist/charts/ChartTypeStrategy.d.ts.map +1 -1
- package/dist/grid/ChartGrid.d.ts +6 -1
- package/dist/grid/ChartGrid.d.ts.map +1 -1
- package/dist/i18n-CiQ8EDVs.js +1469 -0
- package/dist/i18n-CiQ8EDVs.js.map +1 -0
- package/dist/i18n-WsLA9SmD.cjs +2 -0
- package/dist/i18n-WsLA9SmD.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -31
- package/dist/index.js.map +1 -1
- package/dist/indicatorLabel.d.ts +7 -0
- package/dist/indicatorLabel.d.ts.map +1 -0
- package/dist/layout/LayoutManager.d.ts +50 -0
- package/dist/layout/LayoutManager.d.ts.map +1 -1
- package/dist/layout/priceAxisWidth.d.ts +2 -0
- package/dist/layout/priceAxisWidth.d.ts.map +1 -1
- package/dist/regularHours.d.ts +10 -0
- package/dist/regularHours.d.ts.map +1 -0
- package/dist/state/LayoutSession.d.ts +101 -0
- package/dist/state/LayoutSession.d.ts.map +1 -0
- package/dist/state/layoutStorage.d.ts +46 -0
- package/dist/state/layoutStorage.d.ts.map +1 -0
- package/dist/trading/wireExecution.d.ts +7 -3
- package/dist/trading/wireExecution.d.ts.map +1 -1
- package/dist/widget/ChartWidget.d.ts +219 -10
- package/dist/widget/ChartWidget.d.ts.map +1 -1
- package/dist/widget/ChartWidgetGrid.d.ts +166 -0
- package/dist/widget/ChartWidgetGrid.d.ts.map +1 -0
- package/dist/widget/DrawingTemplateStore.d.ts +29 -8
- package/dist/widget/DrawingTemplateStore.d.ts.map +1 -1
- package/dist/widget/WatchlistStore.d.ts +65 -0
- package/dist/widget/WatchlistStore.d.ts.map +1 -0
- package/dist/widget/WidgetAccountPanel.d.ts +72 -0
- package/dist/widget/WidgetAccountPanel.d.ts.map +1 -0
- package/dist/widget/WidgetAlertsPanel.d.ts +50 -3
- package/dist/widget/WidgetAlertsPanel.d.ts.map +1 -1
- package/dist/widget/WidgetBracketBar.d.ts +3 -1
- package/dist/widget/WidgetBracketBar.d.ts.map +1 -1
- package/dist/widget/WidgetChartNav.d.ts +36 -0
- package/dist/widget/WidgetChartNav.d.ts.map +1 -0
- package/dist/widget/WidgetCommandPalette.d.ts +3 -1
- package/dist/widget/WidgetCommandPalette.d.ts.map +1 -1
- package/dist/widget/WidgetContextMenu.d.ts +40 -0
- package/dist/widget/WidgetContextMenu.d.ts.map +1 -0
- package/dist/widget/WidgetDataWindow.d.ts +3 -1
- package/dist/widget/WidgetDataWindow.d.ts.map +1 -1
- package/dist/widget/WidgetDepthLadder.d.ts +3 -1
- package/dist/widget/WidgetDepthLadder.d.ts.map +1 -1
- package/dist/widget/WidgetDrawingSettings.d.ts +108 -0
- package/dist/widget/WidgetDrawingSettings.d.ts.map +1 -0
- package/dist/widget/WidgetDrawingSidebar.d.ts +14 -1
- package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
- package/dist/widget/WidgetDrawingStyle.d.ts +3 -1
- package/dist/widget/WidgetDrawingStyle.d.ts.map +1 -1
- package/dist/widget/WidgetDropdown.d.ts.map +1 -1
- package/dist/widget/WidgetGoToDate.d.ts +5 -4
- package/dist/widget/WidgetGoToDate.d.ts.map +1 -1
- package/dist/widget/WidgetHistoryPill.d.ts +23 -0
- package/dist/widget/WidgetHistoryPill.d.ts.map +1 -0
- package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
- package/dist/widget/WidgetIndicatorLegend.d.ts +31 -1
- package/dist/widget/WidgetIndicatorLegend.d.ts.map +1 -1
- package/dist/widget/WidgetIndicatorSettings.d.ts +62 -7
- package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
- package/dist/widget/WidgetIntervalInput.d.ts +34 -0
- package/dist/widget/WidgetIntervalInput.d.ts.map +1 -0
- package/dist/widget/WidgetLayoutsDialog.d.ts +39 -0
- package/dist/widget/WidgetLayoutsDialog.d.ts.map +1 -0
- package/dist/widget/WidgetLayoutsUI.d.ts +37 -0
- package/dist/widget/WidgetLayoutsUI.d.ts.map +1 -0
- package/dist/widget/WidgetNamePrompt.d.ts +31 -0
- package/dist/widget/WidgetNamePrompt.d.ts.map +1 -0
- package/dist/widget/WidgetObjectTree.d.ts +21 -3
- package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
- package/dist/widget/WidgetOrderTicket.d.ts +49 -0
- package/dist/widget/WidgetOrderTicket.d.ts.map +1 -0
- package/dist/widget/WidgetReplayBar.d.ts +15 -0
- package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
- package/dist/widget/WidgetSettings.d.ts +13 -1
- package/dist/widget/WidgetSettings.d.ts.map +1 -1
- package/dist/widget/WidgetStatusBar.d.ts +3 -0
- package/dist/widget/WidgetStatusBar.d.ts.map +1 -1
- package/dist/widget/WidgetStyles.d.ts +3 -1
- package/dist/widget/WidgetStyles.d.ts.map +1 -1
- package/dist/widget/WidgetSymbolInfo.d.ts +64 -0
- package/dist/widget/WidgetSymbolInfo.d.ts.map +1 -0
- package/dist/widget/WidgetSymbolSearch.d.ts +26 -5
- package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
- package/dist/widget/WidgetToolbar.d.ts +30 -1
- package/dist/widget/WidgetToolbar.d.ts.map +1 -1
- package/dist/widget/WidgetWatchlist.d.ts +53 -13
- package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
- package/dist/widget/chartMenu.d.ts +40 -0
- package/dist/widget/chartMenu.d.ts.map +1 -0
- package/dist/widget/drawingMenu.d.ts +21 -0
- package/dist/widget/drawingMenu.d.ts.map +1 -0
- package/dist/widget/focusTrap.d.ts +8 -0
- package/dist/widget/focusTrap.d.ts.map +1 -0
- package/dist/widget/i18n.d.ts +20 -89
- package/dist/widget/i18n.d.ts.map +1 -1
- package/dist/widget/iconSet.d.ts.map +1 -1
- package/dist/widget/index.cjs +4294 -3028
- package/dist/widget/index.cjs.map +1 -1
- package/dist/widget/index.d.ts +15 -1
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +6326 -1185
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/indicatorTemplates.d.ts +24 -0
- package/dist/widget/indicatorTemplates.d.ts.map +1 -0
- package/dist/widget/keyTarget.d.ts +11 -0
- package/dist/widget/keyTarget.d.ts.map +1 -0
- package/dist/widget/legendValues.d.ts +11 -6
- package/dist/widget/legendValues.d.ts.map +1 -1
- package/dist/widget/locales/ar.d.ts +4 -0
- package/dist/widget/locales/ar.d.ts.map +1 -0
- package/dist/widget/locales/de.d.ts +4 -0
- package/dist/widget/locales/de.d.ts.map +1 -0
- package/dist/widget/locales/en.d.ts +722 -0
- package/dist/widget/locales/en.d.ts.map +1 -0
- package/dist/widget/locales/es.d.ts +4 -0
- package/dist/widget/locales/es.d.ts.map +1 -0
- package/dist/widget/locales/fr.d.ts +4 -0
- package/dist/widget/locales/fr.d.ts.map +1 -0
- package/dist/widget/locales/he.d.ts +4 -0
- package/dist/widget/locales/he.d.ts.map +1 -0
- package/dist/widget/locales/id.d.ts +4 -0
- package/dist/widget/locales/id.d.ts.map +1 -0
- package/dist/widget/locales/index.cjs +2 -0
- package/dist/widget/locales/index.cjs.map +1 -0
- package/dist/widget/locales/index.d.ts +33 -0
- package/dist/widget/locales/index.d.ts.map +1 -0
- package/dist/widget/locales/index.js +10089 -0
- package/dist/widget/locales/index.js.map +1 -0
- package/dist/widget/locales/ja.d.ts +4 -0
- package/dist/widget/locales/ja.d.ts.map +1 -0
- package/dist/widget/locales/ko.d.ts +4 -0
- package/dist/widget/locales/ko.d.ts.map +1 -0
- package/dist/widget/locales/pt.d.ts +4 -0
- package/dist/widget/locales/pt.d.ts.map +1 -0
- package/dist/widget/locales/ru.d.ts +4 -0
- package/dist/widget/locales/ru.d.ts.map +1 -0
- package/dist/widget/locales/th.d.ts +4 -0
- package/dist/widget/locales/th.d.ts.map +1 -0
- package/dist/widget/locales/tr.d.ts +4 -0
- package/dist/widget/locales/tr.d.ts.map +1 -0
- package/dist/widget/locales/vi.d.ts +4 -0
- package/dist/widget/locales/vi.d.ts.map +1 -0
- package/dist/widget/locales/zh.d.ts +4 -0
- package/dist/widget/locales/zh.d.ts.map +1 -0
- package/dist/widget/locales/zhHant.d.ts +4 -0
- package/dist/widget/locales/zhHant.d.ts.map +1 -0
- package/dist/widget/orderTicket.d.ts +27 -0
- package/dist/widget/orderTicket.d.ts.map +1 -0
- package/dist/widget/settingsControls.d.ts +24 -0
- package/dist/widget/settingsControls.d.ts.map +1 -0
- package/dist/widget/types.d.ts +182 -6
- package/dist/widget/types.d.ts.map +1 -1
- package/dist/widget/widgetConfig.d.ts.map +1 -1
- package/dist/widget/widgetLayout.d.ts +22 -0
- package/dist/widget/widgetLayout.d.ts.map +1 -0
- package/dist/widget/widgetLocales.d.ts +17 -0
- package/dist/widget/widgetLocales.d.ts.map +1 -0
- package/dist/widget/widgetTimeframes.d.ts +8 -0
- package/dist/widget/widgetTimeframes.d.ts.map +1 -1
- package/dist/widget/widgetTimezones.d.ts +32 -0
- package/dist/widget/widgetTimezones.d.ts.map +1 -0
- package/dist/widget/widgetUI.d.ts +126 -0
- package/dist/widget/widgetUI.d.ts.map +1 -0
- package/package.json +8 -3
- package/dist/DragDropImporter-C5kgfbET.cjs +0 -2
- package/dist/DragDropImporter-C5kgfbET.cjs.map +0 -1
- package/dist/DragDropImporter-Dd9Mud5J.js +0 -2099
- package/dist/DragDropImporter-Dd9Mud5J.js.map +0 -1
- package/dist/charts/IndicatorPriceRange.d.ts +0 -20
- package/dist/charts/IndicatorPriceRange.d.ts.map +0 -1
package/dist/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../src/Chart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../src/Chart.ts"],"names":[],"mappings":"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"}
|
package/dist/DataManager.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ export declare class DataManager {
|
|
|
3
3
|
private data;
|
|
4
4
|
getData(): DataSeries;
|
|
5
5
|
setData(data: DataSeries): void;
|
|
6
|
+
/**
|
|
7
|
+
* Add older bars in front: those before the first loaded bar, in time
|
|
8
|
+
* order, one per time, repaired like `setData`. Returns how many were added.
|
|
9
|
+
*/
|
|
10
|
+
prependBars(bars: readonly OHLCBar[]): number;
|
|
6
11
|
appendBar(bar: OHLCBar): void;
|
|
7
12
|
updateLastBar(bar: OHLCBar): void;
|
|
8
13
|
updateLastBarFromTick(tick: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../src/DataManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAmChE,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAkB;IAE9B,OAAO,IAAI,UAAU;IAIrB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAe/B,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAK7B,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAUjC,qBAAqB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOnF,SAAS,IAAI,MAAM;IAInB,KAAK,IAAI,IAAI;CAGd"}
|
|
1
|
+
{"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../src/DataManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAmChE,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAkB;IAE9B,OAAO,IAAI,UAAU;IAIrB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAe/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM;IAoB7C,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAK7B,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAUjC,qBAAqB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOnF,SAAS,IAAI,MAAM;IAInB,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { HistoryLoadPayload, OHLCBar } from '@tradecanvas/commons';
|
|
2
|
+
export type { HistoryLoadPayload };
|
|
3
|
+
/**
|
|
4
|
+
* Loads up to `limit` bars older than `before` (the oldest loaded bar's time,
|
|
5
|
+
* in the bars' own unit), oldest first. An empty result means the history
|
|
6
|
+
* starts here.
|
|
7
|
+
*/
|
|
8
|
+
export type HistoryLoader = (before: number, limit: number) => Promise<OHLCBar[]>;
|
|
9
|
+
/** How long to wait after a failed page before the view asks again; doubles with each failure. */
|
|
10
|
+
export declare const HISTORY_RETRY_MS = 5000;
|
|
11
|
+
/** Longest wait between automatic retries. */
|
|
12
|
+
export declare const HISTORY_RETRY_MAX_MS = 60000;
|
|
13
|
+
/** Failures in a row after which only an explicit `loadMore` tries again. */
|
|
14
|
+
export declare const HISTORY_MAX_AUTO_FAILURES = 5;
|
|
15
|
+
export declare const DEFAULT_HISTORY_PAGE_SIZE = 500;
|
|
16
|
+
export interface HistoryPagerHost {
|
|
17
|
+
/** Time of the oldest loaded bar, or null without data. */
|
|
18
|
+
oldestTime(): number | null;
|
|
19
|
+
/** Put a page in front of the data; returns how many bars it added. */
|
|
20
|
+
prepend(bars: OHLCBar[]): number;
|
|
21
|
+
emit(payload: HistoryLoadPayload): void;
|
|
22
|
+
now?(): number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Pages older bars in as the view nears the start of the loaded data. One
|
|
26
|
+
* request at a time; a page that arrives after the series changed (`reset`)
|
|
27
|
+
* or the loader was replaced is dropped. An empty page ends the paging until
|
|
28
|
+
* the next series. After a failure the view waits before asking again,
|
|
29
|
+
* longer each time, and gives up asking after a few failures in a row.
|
|
30
|
+
*/
|
|
31
|
+
export declare class HistoryPager {
|
|
32
|
+
private readonly host;
|
|
33
|
+
private loader;
|
|
34
|
+
private pageSize;
|
|
35
|
+
private loading;
|
|
36
|
+
private exhausted;
|
|
37
|
+
private failures;
|
|
38
|
+
private retryAt;
|
|
39
|
+
/** Bumped whenever an in-flight page must be dropped. */
|
|
40
|
+
private seq;
|
|
41
|
+
constructor(host: HistoryPagerHost);
|
|
42
|
+
setLoader(loader: HistoryLoader | null, pageSize?: number): void;
|
|
43
|
+
hasLoader(): boolean;
|
|
44
|
+
/** A new series: drop any page in flight and allow paging again. */
|
|
45
|
+
reset(): void;
|
|
46
|
+
isLoading(): boolean;
|
|
47
|
+
/** False once a page came back empty. */
|
|
48
|
+
hasMore(): boolean;
|
|
49
|
+
/** Load a page when fewer than `ahead` bars are left of the first visible one. */
|
|
50
|
+
maybeLoad(firstVisible: number, ahead: number): void;
|
|
51
|
+
/** Load one page now, whatever the wait after a failure. Resolves to the number of bars added. */
|
|
52
|
+
loadMore(): Promise<number>;
|
|
53
|
+
private canLoad;
|
|
54
|
+
/** A listener that throws must not stall the paging: report it and go on. */
|
|
55
|
+
private emit;
|
|
56
|
+
private now;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=HistoryPager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HistoryPager.d.ts","sourceRoot":"","sources":["../src/HistoryPager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAExE,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAElF,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,uEAAuE;IACvE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,GAAG,CAAC,IAAI,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,IAAI;IATjC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,yDAAyD;IACzD,OAAO,CAAC,GAAG,CAAK;gBAEa,IAAI,EAAE,gBAAgB;IAEnD,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,SAA4B,GAAG,IAAI;IAMnF,SAAS,IAAI,OAAO;IAIpB,oEAAoE;IACpE,KAAK,IAAI,IAAI;IAQb,SAAS,IAAI,OAAO;IAIpB,yCAAyC;IACzC,OAAO,IAAI,OAAO;IAIlB,kFAAkF;IAClF,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpD,kGAAkG;IAC5F,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAiCjC,OAAO,CAAC,OAAO;IAIf,6EAA6E;IAC7E,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,GAAG;CAGZ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require(`@tradecanvas/commons`),t=require(`@tradecanvas/core`);var n=864e5,r=10;function i(i,a){let o=i?.timezone;if(!o||!(0,e.isValidTimeZone)(o)||a.length<2)return null;let s=(i?.sessions??[]).flatMap(t=>{let n=(0,e.sessionMinute)(t.start),r=(0,e.sessionMinute)(t.end);return n===null||r===null?[]:[{startMinute:n,endMinute:r}]});if(s.length===0)return null;let c=1/0;for(let t=Math.max(1,a.length-r);t<a.length;t++){let n=(0,e.normalizeBarTime)(a[t].time)-(0,e.normalizeBarTime)(a[t-1].time);n>0&&n<c&&(c=n)}if(!(c<n))return null;let l={timeZone:o,windows:s,startMinute:s[0].startMinute,endMinute:s[s.length-1].endMinute};return n=>(0,t.isRegularSession)((0,e.normalizeBarTime)(n),l)}var a={role:`chart`,summary:`{what}. Last price {close}.`,empty:`Chart, no data.`,view:`Showing {count} bars, {from} to {to}. High {high}, low {low}.`,bar:`{time}: open {open}, high {high}, low {low}, close {close}, volume {volume}.`,keys:`Arrow keys scroll and zoom, Home and End go to the start and the end. Comma and period read the bars one at a time.`},o=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e),s=[`role`,`aria-roledescription`,`aria-label`,`aria-describedby`],c=400,l=1e3,u=class{live;help;labels;cursor=null;viewTimer=null;before=new Map;summaryAt=0;summaryTimer=null;onBlur=()=>{this.cursor=null,this.source.showBar(null)};constructor(e,t,n={}){this.container=e,this.source=t,this.labels={...a,...n};for(let t of s)this.before.set(t,e.getAttribute(t));e.setAttribute(`role`,`application`),this.help=d(`div`,`tc-sr-only`),this.help.id=`tc-chart-keys-${Math.random().toString(36).slice(2,10)}`,e.setAttribute(`aria-describedby`,this.help.id),this.live=d(`div`,`tc-sr-only tc-sr-live`),this.live.setAttribute(`aria-live`,`polite`),this.live.setAttribute(`aria-atomic`,`true`),e.append(this.help,this.live),e.addEventListener(`blur`,this.onBlur),this.applyLabels()}setLabels(e){this.labels={...a,...e},this.applyLabels()}refresh(e=!1){let t=l-(Date.now()-this.summaryAt);if(e||t<=0||this.container.getAttribute(`aria-label`)===this.labels.empty){this.summaryTimer&&clearTimeout(this.summaryTimer),this.summaryTimer=null,this.summaryAt=Date.now(),this.container.setAttribute(`aria-label`,this.summary());return}this.summaryTimer??=setTimeout(()=>{this.summaryTimer=null,this.refresh(!0)},t)}viewMoved(){this.cursor=null,this.viewTimer&&clearTimeout(this.viewTimer),this.viewTimer=setTimeout(()=>{this.viewTimer=null,this.say(this.viewText())},c)}readBar(e){let t=this.source.bars();if(t.length===0){this.say(this.labels.empty);return}let{to:n}=this.source.visibleRange(),r=Math.max(0,Math.min(t.length-1,Math.floor(n)));this.cursor=this.cursor===null?r:Math.max(0,Math.min(t.length-1,this.cursor+e));let i=t[this.cursor];this.source.showBar(i.time);let a=this.source.formatPrice;this.say(o(this.labels.bar,{time:this.source.formatTime(i.time),open:a(i.open),high:a(i.high),low:a(i.low),close:a(i.close),volume:f(i.volume??0)}))}destroy(){this.viewTimer&&clearTimeout(this.viewTimer),this.summaryTimer&&clearTimeout(this.summaryTimer),this.container.removeEventListener(`blur`,this.onBlur);for(let[e,t]of this.before)t===null?this.container.removeAttribute(e):this.container.setAttribute(e,t);this.help.remove(),this.live.remove()}applyLabels(){this.container.setAttribute(`aria-roledescription`,this.labels.role),this.help.textContent=this.labels.keys,this.refresh(!0)}summary(){let e=this.source.bars();if(e.length===0)return this.labels.empty;let t=this.source.chartType(),n=[this.source.symbol(),this.labels.typeName?this.labels.typeName(t):t,this.source.timeframe()].filter(Boolean).join(`, `);return o(this.labels.summary,{what:n,close:this.source.formatPrice(e[e.length-1].close)})}viewText(){let e=this.source.bars();if(e.length===0)return this.labels.empty;let t=this.source.visibleRange(),n=Math.max(0,Math.min(e.length-1,Math.ceil(t.from))),r=Math.max(n,Math.min(e.length-1,Math.floor(t.to))),i=-1/0,a=1/0;for(let t=n;t<=r;t++)i=Math.max(i,e[t].high),a=Math.min(a,e[t].low);return o(this.labels.view,{count:r-n+1,from:this.source.formatTime(e[n].time),to:this.source.formatTime(e[r].time),high:this.source.formatPrice(i),low:this.source.formatPrice(a)})}say(e){this.live.textContent=e}};function d(e,t){let n=document.createElement(e);return n.className=t,Object.assign(n.style,{position:`absolute`,width:`1px`,height:`1px`,margin:`-1px`,padding:`0`,overflow:`hidden`,clip:`rect(0 0 0 0)`,whiteSpace:`nowrap`,border:`0`}),n}function f(e){return Number.isInteger(e)?String(e):e.toFixed(2)}function p(e,t,n,r){let i=Object.keys(n||t).map(e=>t[e]).filter(e=>typeof e==`number`&&Number.isFinite(e)).slice(0,3).map(e=>String(Number(e.toFixed(4)))),a=typeof t.symbol==`string`&&t.symbol?[t.symbol]:[];return[e===`spread`&&t.mode===`ratio`?`Ratio`:r??e.toUpperCase(),...a,...i].join(` `)}function m(e){switch(e){case`candlestick`:case`heikinAshi`:case`lineBreak`:case`rangeBars`:return new t.CandlestickRenderer;case`line`:return new t.LineRenderer;case`area`:return new t.AreaRenderer;case`bar`:return new t.BarRenderer;case`hollowCandle`:return new t.HollowCandleRenderer;case`baseline`:return new t.BaselineRenderer;case`renko`:return new t.RenkoRenderer;case`kagi`:return new t.KagiRenderer;case`pointAndFigure`:return new t.PointAndFigureRenderer;case`volumeCandles`:return new t.VolumeCandleRenderer;case`equivolume`:return new t.EquivolumeRenderer;case`hlcArea`:return new t.HLCAreaRenderer;case`stepLine`:return new t.StepLineRenderer;case`lineWithMarkers`:return new t.LineWithMarkersRenderer;case`hiLo`:return new t.HiLoRenderer;default:return new t.CandlestickRenderer}}function h(e,n,r={}){if(n.length===0)return n;switch(e){case`heikinAshi`:return(0,t.toHeikinAshi)(n);case`renko`:{let e=r.renko?.boxSize;return typeof e==`number`?(0,t.toRenko)(n,{brickSize:e}):(0,t.toRenko)(n,{brickSize:0,useATR:!0,atrPeriod:r.renko?.atrPeriod??14})}case`lineBreak`:return(0,t.toLineBreak)(n,r.lineBreak?.lines??3);case`kagi`:return(0,t.toKagi)(n,r.kagi?.reversal??4,r.kagi?.reversalType??`percent`);case`pointAndFigure`:{let e=r.pointAndFigure?.boxSize;return(0,t.toPointAndFigure)(n,typeof e==`number`?e:v(n)*.01,r.pointAndFigure?.reversal??3)}case`rangeBars`:{let e=r.rangeBars?.range;return(0,t.toRangeBars)(n,{rangeSize:typeof e==`number`?e:v(n)*.005})}default:return n}}function g(e){switch(e){case`heikinAshi`:case`renko`:case`lineBreak`:case`kagi`:case`pointAndFigure`:case`rangeBars`:return!0;default:return!1}}function _(e){return e!==`heikinAshi`&&g(e)}function v(e){let t=0;for(let n of e)t+=n.close;return t/e.length}function ee(e,t){let n=t?.(e);return n?n.createRenderer():m(e)}function te(e,t,n,r){if(t.length===0)return t;let i=n?.(e);return i?.transform?i.transform(t):h(e,t,r)}var ne=class{timer=null;delayMs=0;key=null;constructor(e){this.save=e}enable(e,t){this.key=e,this.delayMs=t}disable(){this.key=null,this.delayMs=0,this.cancel()}schedule(){this.delayMs<=0||!this.key||(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.key&&this.save(this.key)},this.delayMs))}cancel(){this.timer&&=(clearTimeout(this.timer),null)}isEnabled(){return this.delayMs>0&&this.key!==null}hasPending(){return this.timer!==null}};function y(e){if(!e||typeof e.time!=`number`||!Number.isFinite(e.time))return!1;let{open:t,high:n,low:r,close:i}=e;return!(!isFinite(t)||!isFinite(n)||!isFinite(r)||!isFinite(i)||t<0||n<0||r<0||i<0||n<r||e.volume!==void 0&&(!isFinite(e.volume)||e.volume<0))}function b(e){return e.volume!==void 0&&e.high>=e.open&&e.high>=e.close&&e.low<=e.open&&e.low<=e.close}function x(e){return{...e,high:Math.max(e.open,e.high,e.low,e.close),low:Math.min(e.open,e.high,e.low,e.close),volume:e.volume===void 0?0:Math.max(0,e.volume)}}var S=class{data=[];getData(){return this.data}setData(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];y(r)&&t.push(b(r)?r:x(r))}this.data=t}prependBars(e){let t=this.data.length>0?this.data[0].time:1/0,n=[];for(let r=0;r<e.length;r++){let i=e[r];!y(i)||i.time>=t||n.push(b(i)?i:x(i))}if(n.length===0)return 0;n.sort((e,t)=>e.time-t.time);let r=0;for(let e=0;e<n.length;e++)r>0&&n[r-1].time===n[e].time||(n[r++]=n[e]);return n.length=r,this.data=n.concat(this.data),r}appendBar(e){y(e)&&this.data.push(x(e))}updateLastBar(e){if(!y(e))return;let t=x(e);if(this.data.length===0){this.data.push(t);return}this.data[this.data.length-1]=t}updateLastBarFromTick(t){this.data.length!==0&&(!isFinite(t.price)||t.price<0||t.volume!==void 0&&(!isFinite(t.volume)||t.volume<0)||(this.data[this.data.length-1]=(0,e.mergeBar)(this.data[this.data.length-1],t)))}getLength(){return this.data.length}clear(){this.data=[]}},C=5e3,re=6e4,ie=500,ae=class{loader=null;pageSize=500;loading=!1;exhausted=!1;failures=0;retryAt=0;seq=0;constructor(e){this.host=e}setLoader(e,t=500){this.loader=e,this.pageSize=Math.max(1,Math.floor(t)),this.reset()}hasLoader(){return this.loader!==null}reset(){this.seq++,this.loading=!1,this.exhausted=!1,this.failures=0,this.retryAt=0}isLoading(){return this.loading}hasMore(){return!this.exhausted}maybeLoad(e,t){e>=t||!this.canLoad()||this.failures>=5||this.now()<this.retryAt||this.loadMore()}async loadMore(){let e=this.loader,t=this.host.oldestTime();if(!e||!this.canLoad()||t===null)return 0;let n=this.seq;this.loading=!0,this.emit({state:`loading`,count:0});let r;try{r=await e(t,this.pageSize)}catch(e){return n===this.seq?(this.loading=!1,this.failures++,this.retryAt=this.now()+Math.min(re,C*2**(this.failures-1)),this.emit({state:`error`,count:0,error:e instanceof Error?e.message:String(e)}),0):0}if(n!==this.seq)return 0;this.loading=!1,this.failures=0,this.retryAt=0;let i=this.host.prepend(r);return i===0?(this.exhausted=!0,this.emit({state:`end`,count:0})):this.emit({state:`loaded`,count:i}),i}canLoad(){return this.loader!==null&&!this.loading&&!this.exhausted}emit(e){try{this.host.emit(e)}catch(e){console.error(`[TradeCanvas] A historyLoad listener threw:`,e)}}now(){return this.host.now?this.host.now():Date.now()}},oe=class{theme;shape=null;constructor(t){!t||t===`dark`?this.theme={...e.DARK_THEME}:t===`light`?this.theme={...e.LIGHT_THEME}:this.theme={...t}}getTheme(){return this.theme}setTheme(t){t===`dark`?this.theme={...e.DARK_THEME}:t===`light`?this.theme={...e.LIGHT_THEME}:this.theme={...t},this.shape&&(this.theme={...this.theme,shape:{...this.theme.shape,...this.shape}})}setShape(e){this.shape=e?{...e}:null,this.theme={...this.theme,shape:e?{...this.theme.shape,...e}:this.theme.shape}}},se=200,ce=80,w=e=>e.position===`top`||e.position===`bottom`,le=class{panels=[];containerWidth=0;containerHeight=0;priceAxisWidth=e.PRICE_AXIS_WIDTH;leftAxisWidth=0;maximized=null;resize(e,t){this.containerWidth=e,this.containerHeight=t}addPanel(t,n=`bottom`,r){this.maximized=null;let i=n===`left`||n===`right`;this.panels.push({id:t,position:n,size:r??(i?se:e.DEFAULT_PANEL_HEIGHT),minSize:i?ce:e.MIN_PANEL_HEIGHT,content:{type:`indicator`,indicatorInstanceId:t}})}renamePanel(e,t){let n=this.panels.find(t=>t.id===e);n&&(n.id=t,n.content={...n.content,indicatorInstanceId:t},this.maximized===e&&(this.maximized=t))}removePanel(e){this.panels=this.panels.filter(t=>t.id!==e),this.maximized===e&&(this.maximized=null)}setPanelCollapsed(e,t){let n=this.panels.find(t=>t.id===e);return!n||!w(n)||this.maximized===null&&!!n.collapsed===t?!1:(this.maximized=null,n.collapsed=t||void 0,!0)}isPanelCollapsed(e){return!!this.panels.find(t=>t.id===e)?.collapsed}isPanelShownCollapsed(e){let t=this.panels.find(t=>t.id===e);return!t||!w(t)?!1:this.maximized===null?!!t.collapsed:this.maximized!==e}setPanelScale(e,t){let n=this.panels.find(t=>t.id===e);if(!n)return!1;let r=!1;return t.log!==void 0&&!!n.logScale!==t.log&&(n.logScale=t.log||void 0,r=!0),t.invert!==void 0&&!!n.invertScale!==t.invert&&(n.invertScale=t.invert||void 0,r=!0),t.percent!==void 0&&!!n.percentScale!==t.percent&&(n.percentScale=t.percent||void 0,r=!0),r}canMovePanel(e,t){let n=this.panels.find(t=>t.id===e);if(!n)return!1;let r=this.panels.filter(e=>e.position===n.position);return r[r.indexOf(n)+t]!==void 0}setMaximizedPanel(e){let t=e===null?null:this.panels.find(t=>t.id===e);return e!==null&&(!t||!w(t))||this.maximized===e?!1:(this.maximized=e,t&&(t.collapsed=void 0),!0)}getMaximizedPanel(){return this.maximized}movePanel(e,t){let n=this.panels.find(t=>t.id===e);if(!n)return!1;let r=this.panels.filter(e=>e.position===n.position),i=r[r.indexOf(n)+t];if(!i)return!1;let a=this.panels.indexOf(n),o=this.panels.indexOf(i),s=[...this.panels];return s[a]=i,s[o]=n,this.panels=s,!0}orderPanels(e){let t=t=>{let n=e.indexOf(t.id);return n<0?e.length+this.panels.indexOf(t):n};this.panels=[...this.panels].sort((e,n)=>t(e)-t(n))}shownSize(e,t){return w(e)?this.maximized?e.id===this.maximized?t:20:e.collapsed?20:e.size:e.size}setPanelPosition(t,n){let r=this.panels.find(e=>e.id===t);if(r){let i=r.position===`left`||r.position===`right`,a=n===`left`||n===`right`;r.position=n,i!==a&&(r.size=a?se:e.DEFAULT_PANEL_HEIGHT,r.minSize=a?ce:e.MIN_PANEL_HEIGHT),a&&(r.collapsed=void 0,this.maximized===t&&(this.maximized=null))}}setPanelSize(t,n){let r=this.panels.find(e=>e.id===t);if(r){let t=w(r)?this.containerHeight-e.TIME_AXIS_HEIGHT-48:this.containerWidth/2,i=t>r.minSize?Math.min(n,t):n;r.size=Math.max(r.minSize,i),r.collapsed=void 0,this.maximized=null}}setPriceAxisWidth(e){this.priceAxisWidth=e}setLeftAxisWidth(e){this.leftAxisWidth=Math.max(0,e)}getPanels(){return this.panels}resolve(){let t=this.panels.filter(e=>e.position===`left`),n=this.panels.filter(e=>e.position===`right`),r=this.panels.filter(e=>e.position===`top`),i=this.panels.filter(e=>e.position===`bottom`),a=(r.length+i.length-1)*20,o=this.maximized?this.panels.find(e=>e.id===this.maximized):void 0,s=Math.max(o?.minSize??0,this.containerHeight-e.TIME_AXIS_HEIGHT-48-a),c=e=>this.shownSize(e,s),l=t.reduce((e,t)=>e+t.size,0),u=n.reduce((e,t)=>e+t.size,0),d=r.reduce((e,t)=>e+c(t),0),f=i.reduce((e,t)=>e+c(t),0),p=l+this.leftAxisWidth,m={x:p,y:d,width:Math.max(0,this.containerWidth-p-u-this.priceAxisWidth),height:Math.max(0,this.containerHeight-d-f-e.TIME_AXIS_HEIGHT)},h=[],g=[],_=0;for(let n of t)h.push({config:n,rect:{x:_,y:0,width:n.size,height:this.containerHeight-e.TIME_AXIS_HEIGHT}}),g.push({panelId:n.id,rect:{x:_+n.size-2,y:0,width:4,height:this.containerHeight},orientation:`vertical`}),_+=n.size;let v=0;for(let e of r){let t=c(e);h.push({config:e,rect:{x:p,y:v,width:m.width,height:t}}),g.push({panelId:e.id,rect:{x:p,y:v+t-2,width:m.width,height:4},orientation:`horizontal`}),v+=t}v=m.y+m.height;for(let e of i){let t=c(e);h.push({config:e,rect:{x:p,y:v,width:m.width,height:t}}),g.push({panelId:e.id,rect:{x:p,y:v-2,width:m.width,height:4},orientation:`horizontal`}),v+=t}_=p+m.width+this.priceAxisWidth;for(let t of n)h.push({config:t,rect:{x:_,y:0,width:t.size,height:this.containerHeight-e.TIME_AXIS_HEIGHT}}),g.push({panelId:t.id,rect:{x:_-2,y:0,width:4,height:this.containerHeight},orientation:`vertical`}),_+=t.size;return{mainChartRect:m,panels:h,dividers:g}}getMainChartRect(){return this.resolve().mainChartRect}},ue=14,de=14,fe=22,T=4;function E(t){let{min:n,max:r,lastPrice:i,locale:a,fontFamily:o,fontSizeSmall:s,measure:c}=t,l=(0,e.autoPricePrecision)(n,r),u=t.tagPrecision??l,d=i===null?[n,r]:[n,r,i],f=e.PRICE_AXIS_WIDTH;for(let n of d){if(!Number.isFinite(n))continue;let r=t.format?t.format(n):(0,e.formatPrice)(n,l,a),i=t.format?r:(0,e.formatPrice)(n,u,a);f=Math.max(f,c(r,`500 ${s}px ${o}`)+ue,c(i,`bold 11px ${o}`)+de,c(i,`600 ${s}px ${o}`)+fe)}return f<=e.PRICE_AXIS_WIDTH?e.PRICE_AXIS_WIDTH:Math.ceil(f/T)*T}function D(e,t){return t>e||t<=e-12?t:e}var pe=class{netY=0;travelX=0;engaged=!1;reset(){this.netY=0,this.travelX=0,this.engaged=!1}step(e,t,n){if(this.engaged)return!0;if(this.netY+=t,this.travelX+=Math.abs(e),!n)this.engaged=!0;else{let e=Math.abs(this.netY);this.engaged=e>24&&e>=this.travelX*.5}return this.engaged}},me=1;function O(e,t){return e.filter(e=>(e.descriptor.layer??`overlay`)===t)}function k(e){switch(e.kind){case`indicator`:return`indicator:${e.plugin.descriptor.id}`;case`drawing`:return`drawing:${e.plugin.descriptor.type}`;case`chartType`:return`chartType:${e.plugin.descriptor.type}`;case`overlay`:return`overlay:${e.plugin.descriptor.id}`}}var A=new Map;function he(e){A.set(k(e),e)}function ge(e){return A.delete(e)}function j(){return[...A.values()]}function _e(){A.clear()}var M=class{plugins=new Map;constructor(e,t={}){if(this.indicatorEngine=e,t.inheritGlobal!==!1)for(let e of j())this.add(e);for(let e of t.plugins??[])this.add(e)}register(e){this.add(e)}unregister(e){return this.plugins.delete(e)}list(){return[...this.plugins.values()]}registerIndicator(e){this.add({kind:`indicator`,plugin:e})}getChartType(e){let t=this.plugins.get(`chartType:${e}`);return t?.kind===`chartType`?t.plugin:void 0}getOverlays(){let e=[];for(let t of this.plugins.values())t.kind===`overlay`&&e.push(t.plugin);return e}add(e){this.plugins.set(k(e),e),e.kind===`indicator`&&this.indicatorEngine.register(e.plugin)}},N={orderPlace:(e,t)=>e.placeOrder(t),orderModify:(e,t)=>e.modifyOrder(t),orderCancel:(e,t)=>e.cancelOrder(t),positionModify:(e,t)=>e.modifyPosition(t),positionClose:(e,t)=>e.closePosition(t),positionReverse:(e,t,n)=>ve(e,t,n)};async function ve(e,t,n){let{reversing:r}=n;if(!r.has(t.positionId)){r.add(t.positionId);try{if(e.reversePosition){await e.reversePosition(t);return}let r=n.positions().find(e=>e.id===t.positionId);if(!r)throw Error(`No position ${t.positionId} to reverse`);let i=r.quantity-(r.closedQuantity??0);if(!(i>0))throw Error(`Position ${t.positionId} has nothing open to reverse`);await e.closePosition({positionId:r.id});try{await e.placeOrder({side:r.side===`buy`?`sell`:`buy`,type:`market`,price:r.entryPrice,quantity:i})}catch(e){throw Error(`Position ${t.positionId} was closed, but the order the other way failed`,{cause:e})}}finally{r.delete(t.positionId)}}}function ye(e,t){let n=[],r=null,i={positions:()=>r??t.getPositions?.()??[],reversing:new Set},a=e=>t.setOrders(e.data??[]),o=e=>{r=e.data??[],t.setPositions([...r])},s=e=>t.onError(e.data??{message:`Execution error`}),c=e=>{e.data&&t.onFill?.(e.data)};e.on(`orders`,a),e.on(`positions`,o),e.on(`error`,s),e.on(`fill`,c),n.push(()=>e.off(`orders`,a),()=>e.off(`positions`,o),()=>e.off(`error`,s),()=>e.off(`fill`,c));for(let r of Object.keys(N)){let a=N[r],o=t.onIntent(r,n=>{Promise.resolve(a(e,n,i)).catch(e=>t.onError({message:`Execution command failed: ${r}`,cause:e}))});n.push(o)}return()=>{for(let e of n)e()}}var be={min:0,max:100},P=0xe8d4a51000,xe=`exchange`;function F(t){if(typeof t==`string`&&t!==`exchange`&&!(0,e.isValidTimeZone)(t))throw RangeError(`Unknown time zone: ${t}`);if(typeof t==`number`&&!Number.isFinite(t))throw RangeError(`Invalid UTC offset: ${t}`)}var Se=2,I=.08,L=800,Ce=20,we=8,Te=class{static version=`1.7.0`;engine;viewport;dataManager;themeManager;layoutManager;pluginManager;indicatorEngine;drawingManager;drawingRenderer;tradingManager;tradingRenderer;eventBus;streamManager=null;executionAdapter=null;execTeardown=null;autoScrollOnNewBar=!0;displayDataCache=null;indicatorUpdateFrom=null;resolvedLayoutCache=null;panelInfoCache=null;renderScheduled=!1;priceAxisWidth=e.PRICE_AXIS_WIDTH;measureCtx;containerSizeCache=null;containerSizeCacheTime=0;lastEmittedRange=null;lastEmittedPriceRange=null;lastEmittedBarWidth=null;chartLegend;watermark;barCountdown;unrestoredIndicators=[];indicatorHistoryDepth=0;removedDrawingAlerts=new Map;zoomAreaMode=!1;priceAxisAddButton=new t.PriceAxisAddButton;displayTz=null;timezoneSetting=null;symbolInfo=null;symbolInfoSeq=0;sessionBreaks;sessionShading;hostSessionHours={...t.DEFAULT_SESSION_HOURS};compareRenderer;countdownInterval=null;volumeRenderer;volumeProfile;marketProfile;depthHeatmap;periodLevels;pivotMarkers;alertManager;signalMarkerManager;tradeZoneManager;measureOverlay;selectionBoxOverlay=new t.SelectionBoxOverlay;replayManager;replayBarUnsub=null;replaySeeking=!1;replaySession=null;replayStepsSeries=null;replayCoarse=null;undoRedoManager;autoSaveScheduler=new ne(e=>this.saveState(e));animator;crosshairTooltip;pinnedTooltip;interactionManager;crosshairHandler;chartRenderer;chartTypeOptions={};mainSeriesVisible=!0;priceLines=new t.PriceLines;symbolSeries=new t.SymbolSeriesStore;extendedHours=!0;replayRestarting=!1;fullSeries=null;requestedSymbols=new Set;gridRenderer;priceAxis;leftPriceAxis=new t.PriceAxis;leftScaleRequested=!1;leftAxisWidth=e.PRICE_AXIS_WIDTH;leftViewport=null;timeAxis;options;features;marketConfig=null;container;currentPriceLine;numberLocale;marketPricePrecision=null;priceFormatter=null;priceUnit=null;paneTitles=!0;defaultAutoScale;keyboardHandler=null;a11y=null;onWindowKeyDown=null;currentSymbol=``;streamTimeframe=null;announcedSymbol=null;announcedTimeframe=null;streamAdapter=null;history;historyFromStream=!1;hostHistoryLoader=!1;snapshotKey=null;historyCheckQueued=!1;constructor(n,r){r.timeZone!=null&&F(r.timeZone),this.container=n,this.options={...r,chartType:r.chartType??`candlestick`},this.numberLocale=r.numberLocale??`en-US`,this.defaultAutoScale=r.autoScale!==!1;let i=r.features??{};this.features={drawings:i.drawings??!0,drawingTools:i.drawingTools??[],drawingMagnet:i.drawingMagnet??!0,drawingUndoRedo:i.drawingUndoRedo??!0,trading:i.trading??!0,tradingContextMenu:i.tradingContextMenu??!1,priceAxisAddButton:i.priceAxisAddButton??!1,indicators:i.indicators??!0,indicatorIds:i.indicatorIds??[],panning:i.panning??!0,zooming:i.zooming??!0,crosshair:i.crosshair??!0,crosshairTooltip:i.crosshairTooltip??!0,keyboard:i.keyboard??!0,priceAxis:i.priceAxis??!0,timeAxis:i.timeAxis??!0,grid:i.grid??r.grid?.visible??!0,legend:i.legend??!0,indicatorValueLabels:i.indicatorValueLabels??!0,volume:i.volume??!0,watermark:i.watermark??!0,saveLoad:i.saveLoad??!0,screenshot:i.screenshot??!0,alerts:i.alerts??!0,replay:i.replay??!0,sessionBreaks:i.sessionBreaks??!0,barCountdown:i.barCountdown??!0,compareSymbols:i.compareSymbols??!0,dataExport:i.dataExport??!0,logScale:i.logScale??!0,timeframes:i.timeframes??[],defaultTimeframeFavorites:i.defaultTimeframeFavorites??[]},n.style.position=`relative`,n.style.overflow=`hidden`,n.tabIndex=0,n.style.outline=`none`,this.dataManager=new S,this.history=new ae({oldestTime:()=>this.dataManager.getData()[0]?.time??null,prepend:e=>this.prependBars(e),emit:e=>this.eventBus.emit(`historyLoad`,e)}),this.themeManager=new oe(r.theme),this.layoutManager=new le,this.indicatorEngine=new t.IndicatorEngine,this.pluginManager=new M(this.indicatorEngine,{plugins:r.plugins}),this.eventBus=new t.EventBus,(0,t.registerBuiltInIndicators)(this.indicatorEngine),this.indicatorEngine.register(new t.CompareSymbolIndicator(this.symbolSeries)),this.indicatorEngine.register(new t.SpreadIndicator(this.symbolSeries)),this.drawingManager=new t.DrawingManager,(0,t.registerBuiltInDrawingTools)(this.drawingManager),this.drawingRenderer=new t.DrawingRenderer(this.drawingManager),this.drawingManager.setRequestRender(()=>{this.syncRenderContext(),this.engine.requestRender(e.LayerType.Overlay),this.scheduleAutoSave()}),this.drawingManager.setEventCallback((e,t)=>{this.followDrawingAlerts(e,t?.id),this.eventBus.emit(e,t),(e===`drawingCreate`||e===`drawingUpdate`||e===`drawingRemove`)&&this.announceStateChange()}),this.drawingManager.setToolFilter(e=>this.features.drawings&&(this.features.drawingTools.length===0||this.features.drawingTools.includes(e))),this.undoRedoManager=new t.UndoRedoManager;let a=``;this.undoRedoManager.setOnChange(()=>{let{canUndo:e,canRedo:t}=this.undoRedoManager.getState(),n=`${e}|${t}`;n!==a&&(a=n,this.eventBus.emit(`historyChange`,{canUndo:e,canRedo:t}))}),this.drawingManager.setUndoRedoManager(this.undoRedoManager),this.drawingManager.setSelectionListener(e=>this.eventBus.emit(`drawingSelect`,{ids:e,primary:e[0]??null})),this.drawingManager.setForeignHistory((e,t)=>{e.type===`custom`?e.custom?.[t]():this.applyIndicatorStep(e,t)}),this.drawingManager.setDataGetter(()=>this.dataManager.getData()),this.drawingManager.setDisplayDataGetter(()=>this.getDisplayData()),r.crosshair?.mode===`magnet`&&this.features.drawingMagnet&&this.drawingManager.setMagnetMode(`magnet`),this.tradingManager=new t.TradingManager({enabled:this.features.trading,contextMenu:{enabled:this.features.tradingContextMenu}}),this.tradingRenderer=new t.TradingRenderer(this.tradingManager),this.tradingManager.setContainer(n),this.tradingManager.setRequestRender(()=>this.engine.requestRender(e.LayerType.Overlay)),this.tradingManager.setEventCallback((e,t)=>{this.eventBus.emit(e,t)}),this.engine=new t.RenderEngine(n);let o=this.engine.dprManager.getContainerSize();if(this.viewport=new t.Viewport(o.width,o.height,r.minBarSpacing??2,r.maxBarSpacing??30,r.rightMargin??5),this.viewport.setPanLimits({freePan:r.freePan??!0,minVisibleBars:r.panLimits?.minVisibleBars??3}),this.layoutManager.resize(o.width,o.height),this.engine.onContainerResize=e=>{if(e.width<=0||e.height<=0)return;let t=this.viewport.isAtEnd();this.viewport.resize(e.width,e.height),this.layoutManager.resize(e.width,e.height),this.updateViewportAndRender(t)},this.chartRenderer=this.createChartRenderer(this.options.chartType),this.gridRenderer=new t.GridRenderer,r.grid?.visible===!1&&this.gridRenderer.setVisible(!1),this.priceAxis=new t.PriceAxis,this.priceAxis.setLocale(this.numberLocale),this.leftPriceAxis.setLocale(this.numberLocale),this.timeAxis=new t.TimeAxis,this.crosshairHandler=new t.CrosshairHandler,this.crosshairHandler.setLocale(this.numberLocale),r.crosshair?.mode&&this.crosshairHandler.setMode(r.crosshair.mode),this.crosshairHandler.setCallback((e,n)=>{if(e!==null&&n){let r=this.dataManager.getData(),i=e<r.length?r[e]:void 0;this.chartLegend.setHoverBar(i??null);let a=this.viewport.getState(),o=n.y>=a.chartRect.y&&n.y<=a.chartRect.y+a.chartRect.height;i&&o&&this.features.crosshairTooltip?this.crosshairTooltip.show(n,i,this.themeManager.getTheme(),this.cachedContainerSize(),{prevClose:e>0?r[e-1]?.close:void 0,priceRange:a.priceRange,plot:a.chartRect,barStepMs:(0,t.barTimeStepMs)(r)}):this.crosshairTooltip.hide(),this.pinnedTooltip.isPinned()&&this.pinnedTooltip.reposition(this.viewport.getState(),i??null,e,this.themeManager.getTheme()),this.eventBus.emit(`crosshairMove`,{point:n,bar:i,barIndex:e})}else this.crosshairTooltip.hide(),this.chartLegend.setHoverBar(null),this.eventBus.emit(`crosshairLeave`,{})}),this.chartLegend=new t.ChartLegend,this.chartLegend.setChartType(this.options.chartType),this.chartLegend.setLocale(this.numberLocale),this.watermark=new t.Watermark,r.watermark&&this.watermark.setConfig(r.watermark),this.volumeRenderer=new t.VolumeRenderer,this.volumeProfile=new t.VolumeProfileRenderer,this.marketProfile=new t.MarketProfileRenderer,this.depthHeatmap=new t.DepthHeatmapRenderer,this.periodLevels=new t.PeriodLevelsRenderer,this.pivotMarkers=new t.PivotMarkersRenderer,this.barCountdown=new t.BarCountdown,this.barCountdown.setVisible(this.features.barCountdown),this.sessionBreaks=new t.SessionBreaks,this.sessionBreaks.setLocale(this.numberLocale),this.sessionShading=new t.SessionShading,this.compareRenderer=new t.CompareRenderer,r.sessionBreaks?this.sessionBreaks.setConfig({visible:r.sessionBreaks.visible??!0,color:r.sessionBreaks.color,lineStyle:r.sessionBreaks.lineStyle,lineWidth:r.sessionBreaks.lineWidth}):r.features?.sessionBreaks!==!1&&this.sessionBreaks.setVisible(!0),r.logScale&&this.features.logScale&&this.viewport.setLogScale(!0),this.animator=new t.Animator,this.crosshairTooltip=new t.CrosshairTooltip,this.crosshairTooltip.create(n),this.crosshairTooltip.setLocale(this.numberLocale),this.pinnedTooltip=new t.PinnedTooltip,this.pinnedTooltip.create(n),r.priceFormat&&this.applyPriceFormat(r.priceFormat),r.chartTypeOptions&&(this.chartTypeOptions=(0,e.readChartTypeOptions)(r.chartTypeOptions)),r.highLowLines&&this.priceLines.setHighLow(!0),r.shapes&&this.themeManager.setShape(R(r.shapes)),this.priceLines.setPriceText(e=>this.formatPrice(e)),r.extendedHours===!1&&(this.extendedHours=!1),r.timeFormatter&&this.applyTimeFormatter(r.timeFormatter),this.keyboardHandler=new t.KeyboardHandler({scrollBars:e=>{let t=this.viewport.getState().barWidth+this.viewport.getState().barSpacing;this.viewport.scrollBy(e*t),this.updateViewportAndRender()},zoom:e=>{let t=this.viewport.getState().chartRect.width;this.viewport.zoom(e,t/2),this.updateViewportAndRender()},goToStart:()=>{this.viewport.scrollBy(-1/0),this.updateViewportAndRender()},goToEnd:()=>{this.viewport.scrollToEnd(),this.updateViewportAndRender()},fitContent:()=>this.fitContent()}),this.keyboardHandler.setEnabled(this.features.keyboard),r.a11y!==!1){this.a11y=new u(n,{symbol:()=>this.currentSymbol||this.symbolInfo?.symbol||``,timeframe:()=>this.streamTimeframe??``,chartType:()=>this.options.chartType??`candlestick`,bars:()=>this.getDisplayData(),visibleRange:()=>this.viewport.getState().visibleRange,formatPrice:e=>this.formatPrice(e),formatTime:t=>(0,e.zonedDateFormatter)(this.numberLocale||`en-US`,{dateStyle:`medium`,timeStyle:`short`},this.displayTz)(t>P?t:t*1e3),showBar:e=>this.setCrosshairTime(e)},r.a11y?.labels);for(let e of[`dataUpdate`,`chartTypeChange`,`symbolChange`,`timeframeChange`])this.eventBus.on(e,()=>this.a11y?.refresh(e!==`dataUpdate`))}if(this.onWindowKeyDown=e=>{if(!this.keyboardHandler)return;let t=document.activeElement;if(!(t&&t!==this.container&&!this.container.contains(t))&&!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))&&!(t&&t!==this.container&&t.matches(`button, a[href], select, [role="button"], [role="menuitem"]`))){if(this.a11y&&this.features.keyboard&&(e.key===`,`||e.key===`.`)&&!e.ctrlKey&&!e.metaKey&&!e.altKey){e.preventDefault(),this.a11y.readBar(e.key===`.`?1:-1);return}this.keyboardHandler.handleKey(e)&&(e.preventDefault(),this.a11y?.viewMoved())}},window.addEventListener(`keydown`,this.onWindowKeyDown),this.currentPriceLine=new t.CurrentPriceLine,this.currentPriceLine.setLocale(this.numberLocale),this.priceAxis.setReservedPriceProvider(()=>this.currentPriceLine.isVisible()?this.currentPriceLine.getPrice():null),this.alertManager=new t.AlertManager,this.alertManager.setDrawingLevels(e=>this.drawingLevelsNow(e)),this.alertManager.setRequestRender(()=>this.engine.requestRender(e.LayerType.Overlay)),this.alertManager.on(`triggered`,e=>{this.eventBus.emit(`alertTriggered`,B(e)),this.eventBus.emit(`dataUpdate`,{alert:`triggered`,alertId:e.id,price:e.price,message:e.message})}),this.alertManager.on(`added`,e=>{this.eventBus.emit(`alertAdd`,B(e))}),this.alertManager.on(`removed`,e=>{this.eventBus.emit(`alertRemove`,{id:e})}),this.alertManager.on(`expired`,e=>{this.eventBus.emit(`alertExpired`,B(e))}),this.alertManager.on(`updated`,e=>{this.eventBus.emit(`alertUpdate`,B(e))}),this.signalMarkerManager=new t.SignalMarkerManager,this.signalMarkerManager.setRequestRender(()=>this.engine.requestRender(e.LayerType.Overlay)),this.signalMarkerManager.setDataGetter(()=>this.dataManager.getData()),this.signalMarkerManager.on(`added`,e=>{this.eventBus.emit(`signalMarkerAdd`,{id:e.id,source:e.source,direction:e.direction})}),this.signalMarkerManager.on(`removed`,e=>{this.eventBus.emit(`signalMarkerRemove`,{id:e})}),this.tradeZoneManager=new t.TradeZoneManager,this.tradeZoneManager.setRequestRender(()=>this.engine.requestRender(e.LayerType.Overlay)),this.tradeZoneManager.setDataGetter(()=>this.dataManager.getData()),this.tradeZoneManager.on(`added`,e=>{this.eventBus.emit(`tradeZoneAdd`,{id:e.id,direction:e.direction})}),this.tradeZoneManager.on(`removed`,e=>{this.eventBus.emit(`tradeZoneRemove`,{id:e})}),this.replayManager=new t.ReplayManager,this.replayManager.on(`stateChange`,e=>{this.replayRestarting||this.eventBus.emit(`replayState`,{state:e})}),this.measureOverlay=new t.MeasureOverlay,this.interactionManager=new t.InteractionManager(n),this.features.panning){let e=new pe;this.interactionManager.setPanHandler(new t.PanHandler((t,n)=>{t&&this.viewport.scrollBy(t),e.step(t,n,this.options.autoScale!==!1)&&n&&(this.options.autoScale=!1,this.viewport.panPriceRange(n)),this.updateViewportAndRender()},()=>e.reset()))}if(this.interactionManager.setAxisStrips(()=>({plot:this.viewport.getState().chartRect,timeAxisTop:this.timeAxisTop(),left:{width:this.isLeftPriceScaleShown()?this.leftAxisWidth:0,scales:!this.indicatorEngine.hasLeftScaleOverlays()}})),this.features.zooming){this.interactionManager.setZoomHandler(new t.ZoomHandler((e,t)=>{this.viewport.zoom(e,t-this.viewport.getState().chartRect.x),this.updateViewportAndRender()}));let e=new t.AxisDragHandler(e=>{this.options.autoScale=!1,this.viewport.scalePriceRange(e),this.syncRenderContext(),this.engine.requestRender(),this.emitViewportEvents()},e=>{let t=this.viewport.getState().chartRect.width;this.viewport.zoom(1/e-1,t/2),this.updateViewportAndRender()});this.interactionManager.setAxisDragHandler(e,()=>this.viewport.getState(),e=>{e===`price`?(this.options.autoScale=!0,this.updateViewportAndRender()):this.fitContent()})}if(this.features.crosshair&&this.interactionManager.setCrosshairHandler(this.crosshairHandler),this.features.drawings&&(this.interactionManager.setDrawingManager(this.drawingManager,()=>({...this.viewport.getState(),data:this.getDisplayData()})),this.interactionManager.setDrawingDoubleClick(e=>this.eventBus.emit(`drawingDoubleClick`,{id:e})),this.interactionManager.setDrawingContextMenu((e,t)=>{this.drawingManager.select(e)&&this.eventBus.emit(`drawingContextMenu`,{id:e,x:t.x,y:t.y})})),this.interactionManager.setChartContextMenu((e,t)=>this.eventBus.hasListeners(`chartContextMenu`)?(this.eventBus.emit(`chartContextMenu`,this.contextAt(e,t)),!0):!1),this.priceAxisAddButton.setEnabled(this.features.priceAxisAddButton&&this.features.crosshair),this.interactionManager.setPriceAxisAddButton(this.priceAxisAddButton,e=>{let n=(0,t.yToPrice)(e.y,this.viewport.getState());Number.isFinite(n)&&this.eventBus.emit(`priceAxisAdd`,{price:n,x:e.x,y:e.y})}),this.features.trading&&this.interactionManager.setTradingManager(this.tradingManager,()=>({...this.viewport.getState(),data:this.getDisplayData()})),this.features.alerts){let e=new t.AlertDragHandler(this.alertManager,()=>this.viewport.getState());this.interactionManager.setAlertDragHandler(e)}let s=new t.PaneResizeHandler;s.configure(()=>this.getResolvedLayout(),(e,t)=>this.setPanelSize(e,t)),this.interactionManager.setPaneResizeHandler(s),this.interactionManager.setAltClickHandler(t=>{let n=this.getDisplayData();if(n.length===0)return;let r=this.viewport.getState(),i=r.barWidth+r.barSpacing,a=Math.round((r.offset+t.x)/i);a<0||a>=n.length||(this.pinnedTooltip.isPinned()&&this.pinnedTooltip.getPinnedIndex()===a?this.pinnedTooltip.unpin():this.pinnedTooltip.pin(n[a],a,this.themeManager.getTheme()),this.pinnedTooltip.reposition(this.viewport.getState(),this.dataManager.getData()[a]??null,a,this.themeManager.getTheme()),this.engine.requestRender(e.LayerType.Overlay))}),this.interactionManager.setSignalMarkerHitTest(e=>this.eventBus.hasListeners(`signalMarkerHover`)||this.eventBus.hasListeners(`signalMarkerClick`)?this.signalMarkerManager.markerAt(e,this.viewport.getState()):null,(e,t)=>this.eventBus.emit(`signalMarkerHover`,{marker:e,x:t.x,y:t.y}),()=>this.eventBus.hasListeners(`signalMarkerClick`)),this.interactionManager.setClickHandler(e=>{let n=this.getDisplayData(),r=this.eventBus.hasListeners(`signalMarkerClick`)?this.signalMarkerManager.markerAt(e,this.viewport.getState()):null;if(r){this.eventBus.emit(`signalMarkerClick`,{marker:r,x:e.x,y:e.y});return}if(this.eventBus.emit(`click`,{x:e.x,y:e.y}),n.length===0)return;let i=(0,t.xToBarIndex)(e.x,this.viewport.getState());i<0||i>=n.length||this.eventBus.emit(`barClick`,{bar:n[i],barIndex:i,point:e})}),this.interactionManager.setEscapeHandler(()=>{if(this.zoomAreaMode){this.setZoomAreaMode(!1);return}if(this.features.trading&&this.tradingManager.isBracketActive()){this.tradingManager.cancelBracket(),this.eventBus.emit(`dataUpdate`,{bracket:`cancelled`});return}this.pinnedTooltip.isPinned()&&(this.pinnedTooltip.unpin(),this.engine.requestRender(e.LayerType.Overlay))}),this.interactionManager.setConfirmHandler(()=>this.features.trading&&this.tradingManager.isBracketActive()?(this.tradingManager.confirmBracket(),!0):!1),this.interactionManager.setMeasureHandlers({begin:e=>{this.measureOverlay.begin(e,this.viewport.getState(),this.getDisplayData())},move:e=>{this.measureOverlay.update(e,this.viewport.getState(),this.getDisplayData())},end:()=>{this.measureOverlay.end()}});let c=e=>{let t=this.viewport.getState().chartRect;return{x:Math.max(t.x,Math.min(t.x+t.width,e.x)),y:Math.max(t.y,Math.min(t.y+t.height,e.y))}};this.interactionManager.setBoxSelectHandlers({begin:e=>this.selectionBoxOverlay.begin(c(e)),move:e=>this.selectionBoxOverlay.update(c(e)),end:()=>{let t=this.selectionBoxOverlay.end();if(t&&this.zoomAreaMode){if(t.x1-t.x0<we)return;this.zoomToBox(t),this.setZoomAreaMode(!1);return}if(!t||!this.features.drawings)return;let n={...this.viewport.getState(),data:this.getDisplayData()};t.isClick?this.drawingManager.toggleSelectionAt({x:t.x1,y:t.y1},n):this.drawingManager.selectInRect(t,n),this.engine.requestRender(e.LayerType.Overlay)},cancel:()=>{this.selectionBoxOverlay.cancel(),this.setZoomAreaMode(!1)}}),this.interactionManager.setOverlayDirtyCallback(t=>{this.engine.requestRender(t?e.LayerType.Hover:e.LayerType.Overlay)}),this.interactionManager.attach(),r.timeZone!==void 0&&r.timeZone!==null&&this.setTimezone(r.timeZone),r.leftPriceScale&&(this.leftScaleRequested=!0),this.syncRenderContext(),this.engine.start()}setData(e){this.loadSeries(e,!1)}loadSeries(e,t){this.snapshotKey=null,this.endReplaySession(),this.history.reset(),this.dataManager.setData(this.regularOnly(e)),this.crosshairHandler.setData(this.dataManager.getData()),this.displayDataCache=null,this.sessionBreaks.invalidateCache(),this.options.autoScale=this.defaultAutoScale,t||this.alertManager.clearLastValues(),this.recalcIndicators(this.dataManager.getData()),e.length>0&&this.currentPriceLine.setPrice(e[e.length-1].close),this.updateViewportAndRender(!0),this.eventBus.emit(`dataUpdate`,{length:e.length})}prependBars(e){if(this.replaySession)return 0;let n=null;if(this.fullSeries){let t=this.fullSeries[0]?.time,r=new Set,i=e.filter(e=>V(e)&&(t===void 0||e.time<t)&&!r.has(e.time)&&r.add(e.time)).sort((e,t)=>e.time-t.time);this.fullSeries=[...i,...this.fullSeries];let a=this.sessionKeep(this.fullSeries);n=i.length,e=a?i.filter(e=>a(e.time)):i}let r=this.getDisplayData(),i=Math.max(0,Math.min(r.length-1,Math.floor(this.viewport.getState().visibleRange.from))),a=r[i]?.time,o=this.dataManager.prependBars(e);if(o===0)return n??0;let s=this.dataManager.getData();if(this.crosshairHandler.setData(s),this.displayDataCache=null,this.sessionBreaks.invalidateCache(),this.pinnedTooltip.isPinned()&&this.pinnedTooltip.unpin(),this.measureOverlay.end(),this.recalcIndicators(s),a!==void 0){let e=Math.round((0,t.timestampToBarIndex)(a,this.getDisplayData()));this.viewport.prependBars(e-i)}return this.updateViewportAndRender(),n??o}mergeSnapshot(e){let t=this.fullSeries??this.dataManager.getData(),n=e[0]?.time,r=0;for(;n!==void 0&&r<t.length&&t[r].time<n;)r++;if(r===0||r===t.length){this.setData(e);return}let i=this.viewport.isAtEnd();this.dataManager.setData(this.regularOnly(t.slice(0,r).concat(e)));let a=this.dataManager.getData();this.crosshairHandler.setData(a),this.displayDataCache=null,this.sessionBreaks.invalidateCache(),this.recalcIndicators(a),a.length>0&&this.currentPriceLine.setPrice(a[a.length-1].close),this.updateViewportAndRender(i),this.eventBus.emit(`dataUpdate`,{length:a.length})}setHistoryLoader(e,t){this.historyFromStream=!1,this.hostHistoryLoader=e!==null,this.history.setLoader(e,t?.pageSize),this.checkHistory()}loadMoreHistory(){return this.replaySession?Promise.resolve(0):this.history.loadMore()}hasMoreHistory(){return this.history.hasLoader()&&this.history.hasMore()}isLoadingHistory(){return this.history.isLoading()}checkHistory(){this.historyCheckQueued||!this.history.hasLoader()||(this.historyCheckQueued=!0,queueMicrotask(()=>{if(this.historyCheckQueued=!1,this.replaySession||!this.history.hasLoader()||_(this.options.chartType))return;let{from:e,to:t}=this.viewport.getState().visibleRange;this.history.maybeLoad(Math.max(0,Math.floor(e)),Math.max(Ce,t-e))}))}useStreamHistory(n,r){if(this.hostHistoryLoader)return;let i=(0,t.withResampling)(n),a=i.fetchHistoryBefore,o=this.streamTimeframe;if(!a||o===null||(0,e.tickBarCount)(o)!==null){this.historyFromStream&&this.history.setLoader(null),this.historyFromStream=!1;return}let s=this.currentSymbol;this.history.setLoader((e,t)=>a.call(i,s,o,e,t),r),this.historyFromStream=!0,this.checkHistory()}appendBar(e){if(this.replaySession){this.replaySession.live.appendBar(e);return}if(!this.takeBar(e,`append`))return;let t=this.autoScrollOnNewBar&&this.viewport.isAtEnd();this.dataManager.appendBar(e);let n=this.dataManager.getData();this.crosshairHandler.setData(n),this.displayDataCache=null,this.recalcIndicatorsFrom(n,n.length-2),this.updateViewportAndRender(t)}appendBars(e){if(e.length===0)return;if(this.replaySession){for(let t of e)this.replaySession.live.appendBar(t);return}if(e=e.filter(e=>this.takeBar(e,`append`)),e.length===0)return;let t=this.viewport.isAtEnd(),n=this.dataManager.getLength()-1;for(let t of e)this.dataManager.appendBar(t);this.displayDataCache=null,this.recalcIndicatorsFrom(this.dataManager.getData(),n),this.crosshairHandler.setData(this.dataManager.getData()),this.updateViewportAndRender(t)}updateLastBar(e){if(this.replaySession){this.replaySession.live.updateLastBar(e);return}if(!this.takeBar(e,`update`)){this.currentPriceLine.setPrice(e.close),this.scheduleRender();return}this.dataManager.updateLastBar(e),this.currentPriceLine.setPrice(e.close),this.options.chartType!==`candlestick`&&this.options.chartType!==`line`&&this.options.chartType!==`area`&&this.options.chartType!==`bar`&&this.options.chartType!==`hollowCandle`&&(this.displayDataCache=null);let t=this.dataManager.getData();this.recalcIndicatorsFrom(t,t.length-1),this.scheduleRender()}updateLastBarFromTick(e){if(this.replaySession){this.replaySession.live.updateLastBarFromTick(e),Number.isFinite(e.price)&&(this.replaySession.price={price:e.price});return}let t=this.fullSeries?this.sessionKeep(this.fullSeries):null;if(t&&!t(e.time)){this.currentPriceLine.setPrice(e.price),this.scheduleRender();return}this.dataManager.updateLastBarFromTick(e),this.currentPriceLine.setPrice(e.price);let n=this.fullSeries,r=this.dataManager.getData()[this.dataManager.getLength()-1];n&&r&&n.length>0&&n[n.length-1].time===r.time&&(n[n.length-1]=r),this.options.chartType!==`candlestick`&&this.options.chartType!==`line`&&this.options.chartType!==`area`&&this.options.chartType!==`bar`&&this.options.chartType!==`hollowCandle`&&(this.displayDataCache=null);let i=this.dataManager.getData();this.recalcIndicatorsFrom(i,i.length-1),this.scheduleRender()}setChartType(e){let t=this.options.chartType??`candlestick`;this.options.chartType=e,this.chartRenderer=this.createChartRenderer(e),this.chartLegend.setChartType(e),this.displayDataCache=null,this.updateViewportAndRender(!0),this.markStateChanged(),e!==t&&this.eventBus.emit(`chartTypeChange`,{type:e,previous:t})}setChartTypeOptions(t){this.chartTypeOptions={...this.chartTypeOptions,...(0,e.readChartTypeOptions)(t)},this.displayDataCache=null,this.updateViewportAndRender(!0),this.markStateChanged()}getChartTypeOptions(){return(0,e.readChartTypeOptions)(this.chartTypeOptions)}setExtendedHours(e){e!==this.extendedHours&&(this.extendedHours=e,this.reapplyExtendedHours(),this.markStateChanged())}isExtendedHoursVisible(){return this.extendedHours}sessionKeep(e){return this.extendedHours?null:i(this.symbolInfo,e)}shownBars(e){let t=this.sessionKeep(e);return t?e.filter(e=>t(e.time)):e.slice()}regularOnly(e){let t=this.sessionKeep(e);return this.fullSeries=t?e.slice():null,t?e.filter(e=>t(e.time)):e}placeStreamBar(e){let t=W(this.dataManager.getData(),e);return t===`stale`?!1:(t===`append`?this.dataManager.appendBar(e):this.dataManager.updateLastBar(e),!0)}takeBar(e,t){if(!this.fullSeries&&!this.extendedHours&&!this.replaySession){let n=this.dataManager.getData(),r=n.slice(-12),i=t===`append`||r.length===0?[...r,e]:[...r.slice(0,-1),e];if(this.sessionKeep(i)){this.fullSeries=n.slice();let e=this.sessionKeep(this.fullSeries.length>1?this.fullSeries:i);e&&n.some(t=>!e(t.time))&&(this.dataManager.setData(n.filter(t=>e(t.time))),this.displayDataCache=null)}}let n=this.fullSeries;if(!n)return!0;t===`append`||n.length===0?n.push(e):n[n.length-1]=e;let r=this.sessionKeep(n);return!r||r(e.time)}reapplyExtendedHours(){if(this.replaySession)return;let e=this.fullSeries??this.dataManager.getData().slice();if(!this.fullSeries&&!this.sessionKeep(e))return;this.dataManager.setData(this.regularOnly(e));let t=this.dataManager.getData();this.crosshairHandler.setData(t),this.displayDataCache=null,this.sessionBreaks.invalidateCache(),this.recalcIndicators(t),this.updateViewportAndRender(!0),this.eventBus.emit(`dataUpdate`,{length:t.length})}quoteLines(){return this.priceLines.setQuoteShown(this.replaySession===null),this.priceLines}setShapes(e){let t=R(e);t.tagRadius!==void 0&&(this.themeManager.setShape({...this.themeManager.getTheme().shape,...t}),this.syncRenderContext(),this.engine.requestRender())}getShapes(){return{...this.themeManager.getTheme().shape}}setMainSeriesVisible(e){this.mainSeriesVisible=e,this.syncRenderContext(),this.engine.requestRender()}isMainSeriesVisible(){return this.mainSeriesVisible}setHighLowLines(e){this.priceLines.setHighLow(e),this.engine.requestRender()}isHighLowLinesVisible(){return this.priceLines.isHighLowVisible()}setBidAsk(t){this.priceLines.setBidAsk(t),this.engine.requestRender(e.LayerType.Overlay)}getBidAsk(){return this.priceLines.getBidAsk()}addIndicator(e,t={},n=`bottom`,r={}){return this.recordIndicators(void 0,()=>this.addIndicatorNow(e,t,n,r))}addIndicatorNow(e,t,n,r){if(!this.features.indicators||this.features.indicatorIds.length>0&&!this.features.indicatorIds.includes(e))return null;let i=this.indicatorEngine.getAvailableIndicators().find(t=>t.id===e),a=i?this.paneFor(i,t,r.pane):null,o=this.indicatorEngine.addIndicator(e,t,this.dataManager.getData(),{...a?{pane:a}:{},...r.scale===`left`?{scale:`left`}:{},...r.instanceId?{instanceId:r.instanceId}:{}});return i?.placement===`panel`&&!a&&this.layoutManager.addPanel(o,n),this.updateViewportAndRender(),this.eventBus.emit(`indicatorAdd`,{instanceId:o,id:e}),this.markStateChanged(),this.requestMissingSymbols(o),o}setSymbolSeries(e,t){e=e.trim(),this.symbolSeries.set(e,t),this.requestedSymbols.delete(e);let n=this.dataManager.getData(),r=!1;for(let t of this.indicatorEngine.getActiveIndicators())!z.has(t.id)||String(t.params.symbol??``).trim()!==e.trim()||(this.indicatorEngine.updateIndicator(t.instanceId,{},n),r=!0);r&&(this.announceIndicatorUpdate(0),this.updateViewportAndRender())}forgetUnreadSymbols(){let e=new Set(this.getRequiredSymbols());for(let t of this.requestedSymbols)e.has(t)||this.requestedSymbols.delete(t)}getSymbolSeries(e){return this.symbolSeries.get(e)??null}getRequiredSymbols(){let e=new Set;for(let t of this.indicatorEngine.getActiveIndicators()){let n=t.params.symbol;z.has(t.id)&&typeof n==`string`&&n.trim()&&e.add(n.trim())}return[...e]}requestMissingSymbols(e){this.forgetUnreadSymbols();let t=this.indicatorEngine.getIndicatorConfig(e),n=t&&z.has(t.id)&&typeof t.params.symbol==`string`?t.params.symbol.trim():``;!n||this.symbolSeries.has(n)||this.requestedSymbols.has(n)||(this.requestedSymbols.add(n),this.eventBus.emit(`symbolSeriesRequest`,{symbol:n}))}updateIndicator(e,t){this.recordIndicators(e,()=>this.updateIndicatorNow(e,t))}updateIndicatorNow(n,r){let i=this.indicatorEngine.getIndicatorDescriptor(n),a=i?(0,t.sourceParam)(i):null,o=a?this.indicatorEngine.getIndicatorConfig(n)?.params[a]:void 0;this.indicatorEngine.updateIndicator(n,r,this.dataManager.getData()),this.announceIndicatorUpdate(0),this.markStateChanged(),this.eventBus.emit(`indicatorChange`,{instanceId:n,change:`params`}),this.requestMissingSymbols(n);let s=this.indicatorEngine.getIndicatorConfig(n);if(i?.placement===`overlay`&&s&&a&&s.params[a]!==o){let t=(0,e.parseIndicatorSource)(s.params[a]),r=t?this.paneHostOf(t.instanceId,n):(0,e.parseIndicatorSource)(o)?null:s.pane??null;(r??void 0)!==s.pane&&(this.indicatorEngine.setPane(n,r),this.eventBus.emit(`indicatorChange`,{instanceId:n,change:`pane`}))}this.updateViewportAndRender()}paneFor(n,r,i,a){if(i)return this.paneHostOf(i,a);if(n.placement!==`overlay`)return null;let o=(0,t.sourceParam)(n),s=o?(0,e.parseIndicatorSource)(r[o]):null;return s?this.paneHostOf(s.instanceId,a):null}paneHostOf(e,t){if(e===t)return null;if(this.layoutManager.getPanels().some(t=>t.id===e))return e;let n=this.indicatorEngine.getIndicatorConfig(e)?.pane;return n&&n!==t?n:null}getIndicatorLevels(e){return this.indicatorEngine.getLevels(e)}setIndicatorScale(e,t){return this.recordIndicators(e,()=>this.setIndicatorScaleNow(e,t))}setIndicatorScaleNow(e,t){return this.indicatorEngine.setScale(e,t)?(this.updateViewportAndRender(),this.markStateChanged(),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`scale`}),!0):!1}getIndicatorScale(e){return this.indicatorEngine.getIndicatorConfig(e)?.scale===`left`?`left`:`right`}setLeftPriceScaleVisible(e){this.leftScaleRequested=e,this.updateViewportAndRender()}isLeftPriceScaleShown(){return this.features.priceAxis!==!1&&(this.leftScaleRequested||this.indicatorEngine.hasLeftScaleOverlays())}getLeftPriceRange(){return this.leftViewport?{...this.leftViewport.priceRange}:null}computeLeftViewport(){if(!this.isLeftPriceScaleShown())return null;let e=this.viewport.getState();if(!this.indicatorEngine.hasLeftScaleOverlays())return e;let t=this.indicatorEngine.getOverlayPriceRange(e.visibleRange.from,e.visibleRange.to,`left`);if(!t)return e;let n=t.max-t.min||Math.abs(t.max)||1;return{...e,priceRange:{min:t.min-n*I,max:t.max+n*I},logScale:!1,scaleMode:`regular`,invertScale:!1,formatPrice:void 0,priceUnit:void 0}}setIndicatorLevels(e,t){this.recordIndicators(e,()=>this.setIndicatorLevelsNow(e,t))}setIndicatorLevelsNow(e,t){this.indicatorEngine.setLevels(e,t)&&(this.updateViewportAndRender(),this.markStateChanged(),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`levels`}))}removeIndicator(e){this.recordIndicators(void 0,()=>this.removeIndicatorNow(e))}removeIndicatorNow(e){if(!this.indicatorEngine.getIndicatorConfig(e))return;let t=[e,...this.indicatorEngine.getDependents(e)];for(let e of t.reverse())this.detachIndicator(e);this.markStateChanged(),this.updateViewportAndRender()}detachIndicator(e){if(!this.indicatorEngine.getIndicatorConfig(e))return;let t=this.layoutManager.getPanels().find(t=>t.id===e),n=this.indicatorEngine.getPaneMembers(e),r=t?n.find(e=>this.indicatorEngine.getIndicatorDescriptor(e)?.placement===`panel`)??null:null;this.indicatorEngine.removeIndicator(e),r?(this.indicatorEngine.setPane(r,null),this.layoutManager.renamePanel(e,r)):this.layoutManager.removePanel(e);for(let e of n)e!==r&&this.indicatorEngine.setPane(e,r),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`pane`});this.eventBus.emit(`indicatorRemove`,{instanceId:e}),this.forgetUnreadSymbols()}getIndicatorStyle(e){return this.indicatorEngine.getIndicatorStyle(e)}getIndicatorOutput(e){return this.indicatorEngine.getOutput(e)}registerIndicator(e){this.pluginManager.registerIndicator(e)}get plugins(){return this.pluginManager}static indicators(){let e=new t.IndicatorEngine;return(0,t.registerBuiltInIndicators)(e),e.getAvailableIndicators()}setPanelPosition(e,t){this.layoutManager.setPanelPosition(e,t),this.updateViewportAndRender(),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`pane`})}setPanelSize(e,t){this.layoutManager.setPanelSize(e,t),this.updateViewportAndRender(),this.eventBus.emit(`paneResize`,{instanceId:e,size:t}),this.markStateChanged()}moveIndicatorToPane(e,t){return this.recordIndicators(e,()=>this.moveIndicatorToPaneNow(e,t))}canMoveIndicatorToPane(e,t){return this.paneMoveHost(e,t)!==void 0}paneMoveHost(n,r){let i=this.indicatorEngine.getIndicatorConfig(n),a=this.indicatorEngine.getIndicatorDescriptor(n);if(!i||!a)return;let o=(0,t.sourceParam)(a);if(a.placement===`overlay`&&o&&(0,e.parseIndicatorSource)(i.params[o]))return;if(r===`price`)return a.placement===`overlay`&&i.pane?null:void 0;if(r===`new`){let e=this.layoutManager.getPanels().some(e=>e.id===n);return a.placement===`panel`&&!e?null:void 0}let s=this.paneHostOf(r,n);return s&&s!==i.pane&&s!==n?s:void 0}moveIndicatorToPaneNow(e,t){let n=this.paneMoveHost(e,t),r=this.indicatorEngine.getIndicatorConfig(e);if(n===void 0||!r)return!1;let i=r.pane,a=this.layoutManager.getPanels().some(t=>t.id===e),o=new Set([e]);if(a){let t=this.indicatorEngine.getPaneMembers(e),r=new Set(this.indicatorEngine.getDependents(e)),i=t.filter(e=>!r.has(e)),a=i.find(e=>this.indicatorEngine.getIndicatorDescriptor(e)?.placement===`panel`)??null;if(a){this.indicatorEngine.setPane(a,null),this.layoutManager.renamePanel(e,a);for(let e of i)e!==a&&this.indicatorEngine.setPane(e,a)}else{this.layoutManager.removePanel(e);for(let e of i)this.indicatorEngine.setPane(e,null)}for(let i of t)r.has(i)&&this.indicatorEngine.setPane(i,n??e),o.add(i)}if(this.indicatorEngine.setPane(e,n),t===`new`){this.layoutManager.addPanel(e,`bottom`);for(let t of this.indicatorEngine.getDependents(e))this.indicatorEngine.getIndicatorConfig(t)?.pane===i&&(this.indicatorEngine.setPane(t,e),o.add(t))}for(let e of o)this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`pane`});return this.updateViewportAndRender(),this.markStateChanged(),!0}setPaneCollapsed(e,t){let n=this.paneOf(e);return this.recordIndicators(n,()=>this.paneChange(n,`collapsed`,()=>this.layoutManager.setPanelCollapsed(n,t)))}isPaneCollapsed(e){return this.layoutManager.isPanelShownCollapsed(this.paneOf(e))}setMaximizedPane(e){let t=e===null?null:this.paneOf(e),n=t??this.layoutManager.getMaximizedPanel()??``;return this.recordIndicators(n,()=>this.paneChange(n,`maximized`,()=>this.layoutManager.setMaximizedPanel(t)))}getMaximizedPane(){return this.layoutManager.getMaximizedPanel()}setPaneScale(e,t){let n=this.paneOf(e);return this.recordIndicators(n,()=>this.paneChange(n,`scale`,()=>this.layoutManager.setPanelScale(n,t)))}getPaneScale(e){let t=this.layoutManager.getPanels().find(t=>t.id===this.paneOf(e));return{log:!!t?.logScale,invert:!!t?.invertScale,percent:!!t?.percentScale}}paneBaseline(e,t,n){let r=this.indicatorEngine.getOutput(e)?.series,i=this.indicatorEngine.getIndicatorDescriptor(e);if(!r||!i)return;let a=i.plots?.[0]?.key;for(let e=Math.max(0,t);e<=n&&e<r.length;e++){let t=r[e];if(!t)continue;let n=a===void 0?Object.values(t).find(e=>typeof e==`number`&&Number.isFinite(e)):t[a];if(typeof n==`number`&&Number.isFinite(n)&&n!==0)return n}}movePane(e,t){let n=this.paneOf(e);return this.recordIndicators(n,()=>this.paneChange(n,`order`,()=>this.layoutManager.movePanel(n,t)))}canMovePane(e,t){return this.layoutManager.canMovePanel(this.paneOf(e),t)}paneOf(e){return this.indicatorEngine.getIndicatorConfig(e)?.pane??e}paneChange(e,t,n){return n()?(this.updateViewportAndRender(),this.eventBus.emit(`paneChange`,{instanceId:e,change:t}),this.markStateChanged(),!0):!1}getIndicatorPanes(){return this.buildPanelRenderInfos().map(e=>({instanceId:e.instanceId,instanceIds:[e.instanceId,...e.members??[]],rect:{...e.rect}}))}setIndicatorValueLabelsVisible(e){this.features.indicatorValueLabels=e,this.syncRenderContext(),this.engine.requestRender()}setPaneTitlesVisible(e){this.paneTitles=e,this.engine.requestRender()}getLegendBottom(){let e=this.viewport.getState().chartRect.y;return this.features.legend?e+this.chartLegend.getHeight():e}isTimeAligned(){return _(this.options.chartType)?!1:this.getDisplayData().length===this.dataManager.getLength()}roundPrice(t){if(!Number.isFinite(t))return t;let n=this.symbolInfo?.minTick??this.priceUnit??void 0;if(n!==void 0&&n>0)return Number((Math.round(t/n)*n).toFixed((0,e.stepDecimals)(n)));let{min:r,max:i}=this.viewport.getState().priceRange;return Number(t.toFixed(this.marketPricePrecision??(0,e.autoPricePrecision)(r,i)))}setPriceFormat(e){this.applyPriceFormat(e),this.updateViewportAndRender()}getPriceFormatter(){return this.priceFormatter}applyPriceFormat(t){this.priceFormatter=(0,e.priceFormatterFor)(t),this.priceUnit=t&&typeof t!=`function`?(0,e.fractionTick)(t):null,this.viewport.setPriceFormat(this.priceFormatter,this.priceUnit),this.crosshairTooltip.setPriceFormatter(this.priceFormatter),this.pinnedTooltip.setPriceFormatter(this.priceFormatter)}setTimeFormatter(e){this.applyTimeFormatter(e),this.engine.requestRender()}applyTimeFormatter(e){this.timeAxis.setTimeFormatter(e),this.crosshairHandler.setTimeFormatter(e),this.crosshairTooltip.setTimeFormatter(e)}formatPrice(t){if(this.priceFormatter)return this.priceFormatter(t);let{min:n,max:r}=this.viewport.getState().priceRange;return(0,e.formatPrice)(t,this.marketPricePrecision??(0,e.autoPricePrecision)(n,r),this.numberLocale)}setDrawingTool(e){this.features.drawings&&(e&&this.features.drawingTools.length>0&&!this.features.drawingTools.includes(e)||(e&&this.setZoomAreaMode(!1),this.drawingManager.setActiveTool(e)))}getDrawingTool(){return this.drawingManager.getActiveTool()}setStayInDrawingMode(e){this.drawingManager.setStayInDrawingMode(e)}isStayInDrawingMode(){return this.drawingManager.isStayInDrawingMode()}copyDrawings(){return this.drawingManager.copySelection()}pasteDrawings(){return this.features.drawings?this.drawingManager.paste():[]}setDrawingStyle(e){this.drawingManager.setStyle(e)}getDrawingStyle(){return this.drawingManager.getActiveStyle()}getSelectedDrawingId(){return this.drawingManager.getSelectedDrawingId()}setSelectedDrawingStyle(e,t){return this.drawingManager.setSelectedDrawingStyle(e,t)}getDrawings(){return this.drawingManager.getDrawings()}setDrawings(e){this.drawingManager.setDrawings(e),this.dropOrphanDrawingAlerts(),this.announceStateChange()}addDrawing(e){if(!this.features.drawings)return null;let t=this.drawingManager.addDrawing(e);return this.markStateChanged(),t}autoFib(){if(!this.features.drawings)return null;let e=this.getDisplayData(),n=this.viewport.getState(),r=(0,t.findDominantSwing)(e,n.visibleRange.from,n.visibleRange.to);return r?this.addDrawing({type:`fibRetracement`,anchors:[r[0],r[1]]}):null}removeDrawing(e){this.drawingManager.removeDrawing(e)}removeDrawings(e){return this.drawingManager.removeDrawings(e)}getDrawingToolDescriptor(e){let t=this.drawingManager.getDescriptor(e);return t?structuredClone(t):null}getDrawingOptionDefs(e){return this.drawingManager.getOptionDefs(e)}getDrawingOptions(e){return this.drawingManager.getDrawingOptions(e)}setDrawingOptions(e,t){return this.updateDrawing(e,{options:t})}updateDrawing(e,t){let n=this.drawingManager.updateDrawing(e,t);return n&&this.markStateChanged(),n}beginDrawingEdit(e){return this.drawingManager.beginEdit(e)}endDrawingEdit(e,t={}){this.drawingManager.endEdit(e,t),this.markStateChanged()}setDrawingToolDefaults(e,t){this.drawingManager.setToolDefaults(e,t)}getDrawingToolDefaults(e){return this.drawingManager.getToolDefaults(e)}setDrawingVisible(e,t){this.drawingManager.setDrawingVisible(e,t)}setDrawingLocked(e,t){this.drawingManager.setDrawingLocked(e,t)}setDrawingsVisible(e,t){this.drawingManager.setDrawingsVisible(e,t)}setDrawingsLocked(e,t){this.drawingManager.setDrawingsLocked(e,t)}clearDrawings(){this.drawingManager.clearDrawings(),this.dropOrphanDrawingAlerts()}registerDrawingTool(e){this.drawingManager.register(e)}undo(){return this.features.drawingUndoRedo?this.drawingManager.undo():!1}redo(){return this.features.drawingUndoRedo?this.drawingManager.redo():!1}selectDrawing(e){let t=this.drawingManager.select(e);return t&&this.engine.requestRender(),t}getUndoRedoState(){return this.undoRedoManager.getState()}recordUndo(e){if(!this.features.drawingUndoRedo||typeof e?.undo!=`function`||typeof e.redo!=`function`)return;let t=performance.now(),n=this.undoRedoManager.last();if(e.subject!==void 0&&n?.type===`custom`&&n.custom?.subject===e.subject&&t-n.custom.at<L){this.undoRedoManager.replaceLast({...n,custom:{undo:n.custom.undo,redo:e.redo,subject:e.subject,at:t}});return}this.undoRedoManager.push({type:`custom`,before:null,after:null,custom:{undo:e.undo,redo:e.redo,subject:e.subject,at:t}})}setDrawingMagnet(e){this.setDrawingMagnetMode(e?`weak`:`off`)}getDrawingMagnet(){return this.drawingManager.getMagnetMode()!==`none`}setDrawingMagnetMode(e){let t=this.features.drawingMagnet&&e!==`off`;this.drawingManager.setMagnetMode(t?e===`strong`?`strong`:`magnet`:`none`)}getDrawingMagnetMode(){let e=this.drawingManager.getMagnetMode();return e===`none`?`off`:e===`strong`?`strong`:`weak`}contextAt(e,n){let r={...this.viewport.getState(),data:this.getDisplayData()},i={area:e,x:n.x,y:n.y};if((e===`plot`||e===`priceAxis`)&&(i.price=(0,t.yToPrice)(n.y,r)),(e===`plot`||e===`timeAxis`)&&r.data.length>0&&(i.time=(0,t.xToTime)(n.x,r)),e===`pane`){let e=this.getIndicatorPanes().find(e=>n.y>=e.rect.y&&n.y<=e.rect.y+e.rect.height);e&&(i.pane=e.instanceId)}return i}setPriceAxisAddButton(t){this.features.priceAxisAddButton=t,this.priceAxisAddButton.setEnabled(t&&this.features.crosshair),this.engine.requestRender(e.LayerType.Overlay)}setEraserMode(e){e&&this.setZoomAreaMode(!1),this.drawingManager.setEraser(e&&this.features.drawings)}isEraserMode(){return this.drawingManager.isEraser()}setZoomAreaMode(e){e!==this.zoomAreaMode&&(this.zoomAreaMode=e,e&&(this.drawingManager.setEraser(!1),this.drawingManager.setActiveTool(null)),this.interactionManager?.setZoomAreaMode(e),this.eventBus.emit(`toolModeChange`,{zoomArea:e}))}isZoomAreaMode(){return this.zoomAreaMode}zoomToBox(e){let n={...this.viewport.getState(),data:this.getDisplayData()};this.setVisibleRange((0,t.xToTime)(e.x0,n),(0,t.xToTime)(e.x1,n))}lockAllDrawings(){this.drawingManager.lockAllDrawings()}unlockAllDrawings(){this.drawingManager.unlockAllDrawings()}hideAllDrawings(){this.drawingManager.hideAllDrawings()}showAllDrawings(){this.drawingManager.showAllDrawings()}duplicateDrawing(e){let t=e??this.drawingManager.getSelectedDrawingId();return t?this.drawingManager.duplicateDrawing(t):null}exportVisibleData(e=`csv`,t,n={}){this.features.dataExport&&this.download(e,t,{...n,range:`visible`})}exportAllData(e=`csv`,t,n={}){this.features.dataExport&&this.download(e,t,{...n,range:`all`})}getExportData(e={}){let t=this.dataManager.getData(),n=0,r=t.length-1;if(e.range===`visible`){let{visibleRange:e}=this.viewport.getState();n=Math.max(0,e.from),r=Math.min(t.length-1,e.to)}let i=t.slice(n,r+1);if(e.indicators===!1)return{bars:i,columns:[]};let a=[];for(let e of this.indicatorEngine.getActiveIndicators()){let t=this.indicatorEngine.getOutput(e.instanceId)?.series;if(!t)continue;let r=p(e.id,e.params,e.descriptor.defaultConfig,e.descriptor.shortName),o=e.descriptor.plots??Object.keys(t.find(e=>e)??{}).map(e=>({key:e,title:e}));for(let e of o){let s=o.length>1?` ${e.title??e.key}`:``;a.push({name:`${r}${s}`,values:i.map((r,i)=>t[n+i]?.[e.key]??null)})}}let o=new Map;for(let e of a){let t=(o.get(e.name)??0)+1;o.set(e.name,t),t>1&&(e.name=`${e.name} (${t})`)}return{bars:i,columns:a}}getExportText(e=`csv`,n={}){let{bars:r,columns:i}=this.getExportData(n);return e===`json`?t.DataExporter.toJSON(r,i):t.DataExporter.toCSV(r,i)}download(e,n,r){let i=this.getExportText(e,r);e===`json`?t.DataExporter.download(i,n??`chart-data.json`,`application/json`):t.DataExporter.download(i,n??`chart-data.csv`,`text/csv`)}setAutoSave(e,t=5e3){this.autoSaveScheduler.enable(e,t)}disableAutoSave(){this.autoSaveScheduler.disable()}scheduleAutoSave(){this.autoSaveScheduler.schedule()}markStateChanged(){this.scheduleAutoSave(),this.announceStateChange()}announceStateChange(){this.eventBus.hasListeners(`stateChange`)&&this.eventBus.emit(`stateChange`,{})}getAvailableIndicators(){return this.indicatorEngine.getAvailableIndicators()}getIndicatorInputs(e){let t=this.indicatorEngine.getAvailableIndicators().find(t=>t.id===e);return t?{id:t.id,params:t.defaultConfig}:null}getActiveIndicators(){return this.indicatorEngine.getActiveIndicators()}setIndicatorVisible(e,t){this.recordIndicators(e,()=>this.setIndicatorVisibleNow(e,t))}setIndicatorVisibleNow(e,t){this.indicatorEngine.setVisible(e,t)!==null&&(this.updateViewportAndRender(),this.markStateChanged(),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`visible`}))}getIndicatorConfig(e){let t=this.indicatorEngine.getIndicatorConfig(e);return t?{id:t.id,params:{...t.params}}:null}updateIndicatorStyle(e,t){this.recordIndicators(e,()=>this.updateIndicatorStyleNow(e,t))}updateIndicatorStyleNow(e,t){this.indicatorEngine.updateIndicatorStyle(e,t),this.engine.requestRender(),this.markStateChanged(),this.eventBus.emit(`indicatorChange`,{instanceId:e,change:`style`})}setOrders(e){this.features.trading&&(this.tradingManager.setOrders(e),this.eventBus.emit(`ordersChange`,{orders:e}))}startBracket(e,t){if(!this.features.trading)return!1;let n=this.dataManager.getData(),r=t??(n.length>0?n[n.length-1].close:null);return r===null?!1:(this.tradingManager.startBracket(e,r),!0)}cancelBracket(){this.features.trading&&this.tradingManager.cancelBracket()}confirmBracket(){return this.features.trading?this.tradingManager.confirmBracket():!1}isBracketActive(){return this.features.trading&&this.tradingManager.isBracketActive()}startOrderDraft(e,t){if(!this.features.trading)return!1;let n=this.dataManager.getData(),r=t??(n.length>0?n[n.length-1].close:null);return r===null?!1:(this.tradingManager.startOrderDraft(e,r),!0)}cancelOrderDraft(){this.features.trading&&this.tradingManager.cancelOrderDraft()}confirmOrderDraft(){return this.features.trading?this.tradingManager.confirmOrderDraft():!1}isOrderDraftActive(){return this.features.trading&&this.tradingManager.isOrderDraftActive()}placeOrderIntent(e){this.features.trading&&this.eventBus.emit(`orderPlace`,e)}setPositions(e){this.features.trading&&(this.tradingManager.setPositions(e),this.eventBus.emit(`positionsChange`,{positions:e}))}getOrders(){return this.tradingManager.getOrders()}getPositions(){return this.tradingManager.getPositions()}getFills(){return this.tradingManager.getFills()}getRealisedPnl(){return this.tradingManager.getRealisedPnl()}addFill(e){this.features.trading&&(this.tradingManager.addFill(e),this.eventBus.emit(`executionFill`,e))}clearFills(){this.tradingManager.setFills([])}cancelOrderIntent(e){this.features.trading&&this.eventBus.emit(`orderCancel`,{orderId:e})}closePositionIntent(e){this.features.trading&&this.eventBus.emit(`positionClose`,{positionId:e})}reversePositionIntent(e){this.features.trading&&this.eventBus.emit(`positionReverse`,{positionId:e})}modifyPositionIntent(e){this.features.trading&&this.eventBus.emit(`positionModify`,e)}setDepthData(e){this.features.trading&&this.tradingManager.setDepthData(e)}setCurrentPrice(e,t){this.followLivePrice(e),this.replaySession?this.replaySession.price={price:e}:(this.currentPriceLine.setPrice(e),this.scheduleRender())}replayTrades(){return this.replaySession!==null&&this.executionAdapter?.setMarkPrice!==void 0}followLivePrice(e){this.replayTrades()||this.tradingManager.setCurrentPrice(e),this.features.alerts&&this.checkAlerts(e)}checkAlerts(e){let t=this.replaySession?this.replaySession.live.getData():this.dataManager.getData();this.alertManager.setBarTime(t.length>0?t[t.length-1].time:null);let n=new Map([[`price`,e]]);this.replaySession||this.collectIndicatorValues(n),this.alertManager.checkChannels(n,{together:!0}),this.alertManager.checkDrawings(e)}collectIndicatorValues(e){let t=this.dataManager.getData();if(t.length===0)return;let n=t.length-1,r=this.alertManager.getAlerts().flatMap(e=>e.target?[e.channel,e.target]:[e.channel]);for(let t of r){if(e.has(t))continue;let r=t.indexOf(`:`);if(r<0)continue;let i=this.indicatorEngine.getOutput(t.slice(0,r))?.series?.[n]?.[t.slice(r+1)];typeof i==`number`&&Number.isFinite(i)&&e.set(t,i)}}setTradingConfig(e){this.features.trading&&this.tradingManager.setConfig(e)}async connect(n){if(!(0,t.servesTimeframe)(n.adapter,n.timeframe))throw RangeError(`${n.adapter.name} cannot serve the ${n.timeframe} timeframe`);this.snapshotKey=null,this.replayStop(),this.disconnectStream(),this.streamManager=new t.StreamManager,this.streamManager.on(`snapshot`,e=>{let t=`${this.currentSymbol}|${this.streamTimeframe}`;this.replaySession?this.replaySession.live.setData(e):t===this.snapshotKey&&this.dataManager.getLength()>0?this.mergeSnapshot(e):this.setData(e),this.snapshotKey=t,this.useStreamHistory(n.adapter,n.historyPageSize)}),this.streamManager.on(`barClose`,e=>{if(this.replaySession){this.replaySession.live.appendBar(e);return}let t=W(this.fullSeries??this.dataManager.getData(),e);if(t===`stale`||!this.takeBar(e,t))return;let n=this.autoScrollOnNewBar&&this.viewport.isAtEnd();if(!this.placeStreamBar(e))return;let r=this.dataManager.getData();this.crosshairHandler.setData(r),this.displayDataCache=null,this.recalcIndicatorsFrom(r,r.length-2),this.updateViewportAndRender(n)}),this.streamManager.on(`barUpdate`,e=>{if(this.replaySession){this.replaySession.live.updateLastBar(e);return}this.currentPriceLine.setPrice(e.close);let t=W(this.fullSeries??this.dataManager.getData(),e);if(t===`stale`||!this.takeBar(e,t)||!this.placeStreamBar(e)){this.scheduleRender();return}let n=this.dataManager.getData();this.recalcIndicatorsFrom(n,n.length-1),this.scheduleRender()}),this.setBidAsk(null),this.streamManager.on(`quote`,e=>{let t=this.priceLines.getBidAsk();this.setBidAsk({bid:e.bid??t?.bid,ask:e.ask??t?.ask})}),this.streamManager.on(`priceChange`,({price:t,previousClose:n})=>{if(this.followLivePrice(t),this.replaySession){this.replaySession.price={price:t,previousClose:n??void 0};return}this.currentPriceLine.setPrice(t,n??void 0),this.engine.requestRender(e.LayerType.Overlay)}),this.streamManager.on(`connectionChange`,e=>{this.eventBus.emit(`dataUpdate`,{connection:e})}),this.streamManager.on(`error`,e=>{this.eventBus.emit(`dataUpdate`,{error:e.message})}),this.autoScrollOnNewBar=n.autoScroll!==!1,this.setStreamTarget(n.symbol,n.timeframe),this.streamAdapter=n.adapter;let r=this.streamManager;if(this.resolveStreamSymbol(n.adapter,n.symbol),await r.connect(n),this.streamManager!==r)return;let i=(0,e.timeframeToMs)(n.timeframe);this.barCountdown.setTimeframeMs(i),this.countdownInterval&&clearInterval(this.countdownInterval),this.countdownInterval=setInterval(()=>{this.barCountdown.isVisible()&&this.engine.requestRender(e.LayerType.Hover)},1e3)}setStreamTarget(e,t){let n=this.announcedSymbol,r=this.announcedTimeframe;this.currentSymbol=e,this.streamTimeframe=t,e!==n&&(this.announcedSymbol=e,this.eventBus.emit(`symbolChange`,{symbol:e,previous:n})),t!==r&&(this.announcedTimeframe=t,this.eventBus.emit(`timeframeChange`,{timeframe:t,previous:r}))}async switchStream(n,r){if(!this.streamManager)return;let i=this.streamAdapter;if(i&&!(0,t.servesTimeframe)(i,r))throw RangeError(`${i.name} cannot serve the ${r} timeframe`);this.setStreamTarget(n,r),this.historyFromStream&&this.history.setLoader(null),this.barCountdown.setTimeframeMs((0,e.timeframeToMs)(r)),i&&this.resolveStreamSymbol(i,n),await this.streamManager.switchTo(n,r)}isTimeframeAllowed(e){let t=this.features.timeframes;return t.length===0||t.includes(e)}async setTimeframe(e){if(!this.streamManager)throw Error(`No active stream. Call connect() first.`);this.isTimeframeAllowed(e)&&await this.switchStream(this.currentSymbol,e)}disconnectStream(){this.symbolInfoSeq++,this.priceLines.setBidAsk(null),this.streamManager&&=(this.streamManager.dispose(),null),this.historyFromStream&&=(this.history.setLoader(null),!1),this.streamAdapter=null}connectExecution(e,t={}){if(!this.features.trading)throw Error(`connectExecution requires features.trading to be enabled`);this.disconnectExecution(),this.executionAdapter=e,this.execTeardown=ye(e,{onIntent:(e,t)=>{let n=e=>t(e.payload);return this.eventBus.on(e,n),()=>this.eventBus.off(e,n)},setOrders:e=>this.setOrders(e),setPositions:e=>this.setPositions(e),onError:e=>this.eventBus.emit(`executionError`,e),onFill:e=>{this.tradingManager.addFill(e),this.eventBus.emit(`executionFill`,e)},getPositions:()=>this.tradingManager.getPositions()}),Promise.resolve(e.connect(t)).catch(e=>this.eventBus.emit(`executionError`,{message:`Execution connect failed`,cause:e}))}disconnectExecution(){this.returnMarkToLive(),this.execTeardown&&=(this.execTeardown(),null),this.executionAdapter&&=(this.executionAdapter.disconnect(),null)}getExecutionAdapter(){return this.executionAdapter}setBarCountdownVisible(t){this.barCountdown.setVisible(t&&this.features.barCountdown),this.engine.requestRender(e.LayerType.Hover)}setSessionBreaksVisible(t){this.sessionBreaks.setVisible(t),this.engine.requestRender(e.LayerType.Background)}addCompareSymbol(e,t,n,r){this.features.compareSymbols&&(this.compareRenderer.addSymbol({id:e,label:t,data:n,color:r,visible:!0}),this.updateViewportAndRender())}removeCompareSymbol(e){this.compareRenderer.removeSymbol(e),this.updateViewportAndRender()}updateCompareData(e,t){this.compareRenderer.setSymbolData(e,t),this.updateViewportAndRender()}setCompareMode(e){this.compareRenderer.setMode(e),this.updateViewportAndRender()}clearCompareSymbols(){this.compareRenderer.clear(),this.updateViewportAndRender()}setLogScale(e){e&&!this.features.logScale||(this.viewport.setLogScale(e),this.updateViewportAndRender())}isLogScale(){return this.viewport.isLogScale()}setInvertScale(e){this.viewport.setInvertScale(e),this.updateViewportAndRender()}isInvertScale(){return this.viewport.isInvertScale()}setScaleMode(e){e===`logarithmic`&&!this.features.logScale||(this.viewport.setScaleMode(e),this.updateViewportAndRender())}getScaleMode(){return this.viewport.getScaleMode()}setSessionBreaksConfig(t){this.sessionBreaks.setConfig(t),this.engine.requestRender(e.LayerType.Background)}getConnectionState(){return this.streamManager?.getConnectionState()??`disconnected`}getConnectionInfo(){return this.streamManager?.getConnectionInfo()??{state:`disconnected`}}setAutoScroll(e){this.autoScrollOnNewBar=e}scrollTo(e){let t=this.dataManager.getData();for(let n=0;n<t.length;n++)if(t[n].time>=e){let e=this.viewport.getState().barWidth+this.viewport.getState().barSpacing;this.viewport.scrollBy(n*e-this.viewport.getState().offset),this.updateViewportAndRender();return}}goToTime(e){let n=this.getDisplayData();if(n.length===0||!Number.isFinite(e))return-1;let r=Math.max(0,Math.min(n.length-1,Math.floor((0,t.timestampToBarIndex)(e,n)))),i=this.viewport.getState(),a=r*(i.barWidth+i.barSpacing)+i.barWidth/2-i.chartRect.width/2;return this.viewport.scrollBy(a-i.offset),this.updateViewportAndRender(),r}setVisibleRangePreset(e){let n=this.getDisplayData();if(n.length===0)return;let r=n.length-1,i=n[r].time>P?1:1e3,a=(0,t.rangePresetStart)(e,n[r].time*i,this.displayTz),o=a===null?null:a/i;if(o===null||o<n[0].time){this.fitContent();return}let s=(0,t.timestampToBarIndex)(o,n),c=Math.min(r,e===`YTD`?Math.ceil(s):Math.floor(s)+1);this.viewport.zoomToBarRange(c,r+this.viewport.getRightMargin()),this.viewport.scrollToEnd(),this.updateViewportAndRender()}scrollToEnd(){this.viewport.scrollToEnd(),this.updateViewportAndRender()}scrollBars(e){if(!Number.isFinite(e)||e===0)return;let{barWidth:t,barSpacing:n}=this.viewport.getState();this.viewport.scrollBy(e*(t+n)),this.updateViewportAndRender()}setVisibleRange(e,n){let r=this.dataManager.getData();if(r.length===0)return;let i=(0,t.timestampToBarIndex)(Math.min(e,n),r),a=(0,t.timestampToBarIndex)(Math.max(e,n),r);this.viewport.zoomToBarRange(i,a),this.updateViewportAndRender()}setPanLimits(e){this.viewport.setPanLimits(e),this.updateViewportAndRender()}zoomIn(){let e=this.viewport.getState().chartRect.width;this.viewport.zoom(.2,e/2),this.updateViewportAndRender()}zoomOut(){let e=this.viewport.getState().chartRect.width;this.viewport.zoom(-.2,e/2),this.updateViewportAndRender()}fitContent(){let e=this.dataManager.getLength();e!==0&&(this.viewport.zoomToBarRange(0,e-1+this.viewport.getRightMargin()),this.viewport.scrollToEnd(),this.updateViewportAndRender())}on(e,t){this.eventBus.on(e,t)}off(e,t){this.eventBus.off(e,t)}enableTauriBridge(e){this.eventBus.enableTauriBridge({enabled:!0,...e})}disableTauriBridge(){this.eventBus.disableTauriBridge()}setTheme(e){this.themeManager.setTheme(e),this.syncRenderContext(),this.container.style.backgroundColor=this.themeManager.getTheme().background,this.engine.requestRender(),this.eventBus.emit(`themeChange`,{theme:e}),this.markStateChanged()}getTheme(){return this.themeManager.getTheme()}setWatermark(t,n){this.watermark.setConfig({text:t,...n}),this.engine.requestRender(e.LayerType.Background)}setAutoScale(e){this.options.autoScale=e,this.defaultAutoScale=e,this.updateViewportAndRender()}isAutoScale(){return this.options.autoScale!==!1}setCrosshairMode(t){this.crosshairHandler.setMode(t),this.engine.requestRender(e.LayerType.Hover)}getCrosshairMode(){return this.crosshairHandler.getMode()}setCrosshairPosition(t){t?this.crosshairHandler.onPointerMove(t):this.crosshairHandler.onPointerLeave(),this.engine.requestRender(e.LayerType.Hover)}setCrosshairTime(n){let r=this.getDisplayData(),i=n===null||r.length===0?null:Math.floor((0,t.timestampToBarIndex)(n,r));i!==this.crosshairHandler.getSyncedSlot()&&(this.crosshairHandler.setSyncedSlot(i),this.engine.requestRender(e.LayerType.Hover))}getData(){return this.dataManager.getData()}setGridVisible(t){this.gridRenderer.setVisible(t),this.engine.requestRender(e.LayerType.Background)}isGridVisible(){return this.gridRenderer.isVisible()}setVolumeVisible(t){this.volumeRenderer.setVisible(t),this.engine.requestRender(e.LayerType.Main)}setVolumeProfileVisible(t){this.volumeProfile.setVisible(t),this.engine.requestRender(e.LayerType.Main)}isVolumeProfileVisible(){return this.volumeProfile.isVisible()}setVolumeProfileConfig(t){t.buckets!==void 0&&this.volumeProfile.setBuckets(t.buckets),t.widthRatio!==void 0&&this.volumeProfile.setWidthRatio(t.widthRatio),t.opacity!==void 0&&this.volumeProfile.setOpacity(t.opacity),t.highlightPoC!==void 0&&this.volumeProfile.setHighlightPoC(t.highlightPoC),this.engine.requestRender(e.LayerType.Main)}setMarketProfileVisible(t){this.marketProfile.setVisible(t),this.engine.requestRender(e.LayerType.Main)}isMarketProfileVisible(){return this.marketProfile.isVisible()}setMarketProfileConfig(t){t.buckets!==void 0&&this.marketProfile.setBuckets(t.buckets),t.widthRatio!==void 0&&this.marketProfile.setWidthRatio(t.widthRatio),t.opacity!==void 0&&this.marketProfile.setOpacity(t.opacity),t.valueAreaPct!==void 0&&this.marketProfile.setValueAreaPct(t.valueAreaPct),t.highlightPoC!==void 0&&this.marketProfile.setHighlightPoC(t.highlightPoC),t.showStats!==void 0&&this.marketProfile.setShowStats(t.showStats),t.splitBySession!==void 0&&this.marketProfile.setSplitBySession(t.splitBySession),t.letters!==void 0&&this.marketProfile.setLetters(t.letters),this.engine.requestRender(e.LayerType.Main)}getMarketProfileStats(){return this.marketProfile.getStats()}setDepthHeatmapVisible(t){this.depthHeatmap.setVisible(t),this.engine.requestRender(e.LayerType.Main)}isDepthHeatmapVisible(){return this.depthHeatmap.isVisible()}setDepthHeatmapConfig(t){t.opacity!==void 0&&this.depthHeatmap.setOpacity(t.opacity),t.capacity!==void 0&&this.depthHeatmap.setCapacity(t.capacity),this.engine.requestRender(e.LayerType.Main)}pushDepthSnapshot(t){let n=this.dataManager.getData();n.length!==0&&(this.depthHeatmap.push(n[n.length-1].time,t),this.depthHeatmap.isVisible()&&this.engine.requestRender(e.LayerType.Main))}clearDepthHeatmap(){this.depthHeatmap.clear(),this.engine.requestRender(e.LayerType.Main)}setPeriodLevelsVisible(t){this.periodLevels.setVisible(t),this.engine.requestRender(e.LayerType.Main)}isPeriodLevelsVisible(){return this.periodLevels.isVisible()}setPeriodLevelsPeriod(t){this.periodLevels.setPeriod(t),this.engine.requestRender(e.LayerType.Main)}setTimezone(e){F(e),this.timezoneSetting=e,this.applyTimezone()}getTimezone(){return this.timezoneSetting}getEffectiveTimezone(){return this.displayTz}applyTimezone(){let t=this.symbolInfo?.timezone,n=this.timezoneSetting===`exchange`?t&&(0,e.isValidTimeZone)(t)?t:`UTC`:this.timezoneSetting;this.displayTz=n,this.timeAxis.setTimezoneOffset(n),this.crosshairHandler.setTimezoneOffset(n),this.crosshairTooltip.setTimezoneOffset(n),this.pinnedTooltip.setTimezone(n),this.sessionBreaks.setTimezone(n),this.engine.requestRender()}setSymbolInfo(t){this.symbolInfo=t?{...t,sessions:t.sessions?.map(e=>({...e}))}:null,this.marketConfig?.pricePrecision===void 0&&this.applyPricePrecision(this.symbolInfo?.pricePrecision??null);let n=(this.symbolInfo?.sessions??[]).flatMap(t=>{let n=(0,e.sessionMinute)(t.start),r=(0,e.sessionMinute)(t.end);return n===null||r===null?[]:[{startMinute:n,endMinute:r}]}),r=this.symbolInfo?.timezone;this.sessionShading.replaceConfig(n.length>0&&r&&(0,e.isValidTimeZone)(r)?{timeZone:r,windows:n,startMinute:n[0].startMinute,endMinute:n[n.length-1].endMinute}:this.hostSessionHours),this.timezoneSetting===`exchange`&&this.applyTimezone(),this.reapplyExtendedHours(),this.updateViewportAndRender(),this.eventBus.emit(`symbolInfoChange`,{info:this.symbolInfo})}getSymbolInfo(){return this.symbolInfo}resolveStreamSymbol(e,t){let n=e.resolveSymbol?.bind(e);if(!n)return;let r=++this.symbolInfoSeq;this.symbolInfo&&this.symbolInfo.symbol!==t&&this.setSymbolInfo(null),Promise.resolve().then(()=>n(t)).then(e=>{e&&r===this.symbolInfoSeq&&this.currentSymbol===t&&this.setSymbolInfo(e)},e=>{r===this.symbolInfoSeq&&console.warn(`No symbol info for "${t}":`,e)})}setTimezoneOffset(e){this.setTimezone(e)}setPivotMarkersVisible(t){this.pivotMarkers.setVisible(t),this.engine.requestRender(e.LayerType.Overlay)}isPivotMarkersVisible(){return this.pivotMarkers.isVisible()}setPivotMarkersConfig(t){(t.left!==void 0||t.right!==void 0)&&this.pivotMarkers.setStrength(t.left??5,t.right??t.left??5),t.showLabels!==void 0&&this.pivotMarkers.setShowLabels(t.showLabels),t.structureLabels!==void 0&&this.pivotMarkers.setStructureLabels(t.structureLabels),this.engine.requestRender(e.LayerType.Overlay)}setSessionShadingVisible(t){this.sessionShading.setVisible(t),this.engine.requestRender(e.LayerType.Background)}isSessionShadingVisible(){return this.sessionShading.isVisible()}setSessionShadingConfig(n){this.hostSessionHours=(0,t.mergeSessionHours)(this.hostSessionHours,n),this.sessionShading.replaceConfig(this.hostSessionHours),this.engine.requestRender(e.LayerType.Background)}setTooltipVisible(e){e||this.crosshairTooltip.hide()}setLegend(t){this.chartLegend.setConfig(t),this.engine.requestRender(e.LayerType.Hover)}setSymbolName(t){this.chartLegend.setSymbol(t),this.engine.requestRender(e.LayerType.Hover)}setStatusText(t){this.chartLegend.setStatusText(t),this.engine.requestRender(e.LayerType.Hover)}screenshot(e){this.features.screenshot&&t.Screenshot.download(this.container,e,this.themeManager.getTheme().background)}async copyScreenshot(){if(!this.features.screenshot)return!1;try{let e=await t.Screenshot.toBlob(this.container,this.themeManager.getTheme().background),n=globalThis.ClipboardItem;return!e||!navigator.clipboard?.write||!n?!1:(await navigator.clipboard.write([new n({"image/png":e})]),!0)}catch{return!1}}screenshotDataURL(){return this.features.screenshot?t.Screenshot.toDataURL(this.container,this.themeManager.getTheme().background):null}async screenshotBlob(){return this.features.screenshot?t.Screenshot.toBlob(this.container,this.themeManager.getTheme().background):null}addAlert(e,t=`crossing`,n,r=`price`,i,a={}){if(!this.features.alerts)return null;let o=this.alertManager.addAlert(e,t,n,!1,r,i,a);return this.markStateChanged(),o}removeAlert(e){this.alertManager.removeAlert(e),this.markStateChanged()}getSelectedDrawingIds(){return this.drawingManager.getSelectedDrawingIds()}moveDrawing(e,t){let n=this.drawingManager.moveDrawing(e,t);return n&&this.markStateChanged(),n}groupDrawings(e,t){let n=this.drawingManager.groupDrawings(e,t);return n&&this.markStateChanged(),n}ungroupDrawings(e){return this.afterDrawingChange(this.drawingManager.ungroup(e))}renameDrawingGroup(e,t){return this.afterDrawingChange(this.drawingManager.renameGroup(e,t))}setDrawingGroupVisible(e,t){return this.afterDrawingChange(this.drawingManager.setGroupVisible(e,t))}setDrawingGroupLocked(e,t){return this.afterDrawingChange(this.drawingManager.setGroupLocked(e,t))}getDrawingGroups(){return this.drawingManager.getGroups()}afterDrawingChange(e){return e&&this.markStateChanged(),e}canAddDrawingAlert(e){return this.features.alerts&&this.drawingLevelsNow(e)!==null}drawingLevelsNow(e){let t=this.replaySession?this.replaySession.live.getData():this.getDisplayData();if(t.length===0)return null;let n={...this.viewport.getState(),data:t};return this.drawingManager.priceAt(e,t[t.length-1].time,n)}followDrawingAlerts(e,t){if(!(!t||!this.alertManager)){if(e===`drawingRemove`){let e=this.alertManager.takeDrawingAlerts(t);e.length>0&&this.removedDrawingAlerts.set(t,e)}else if(e===`drawingCreate`){let e=this.removedDrawingAlerts.get(t);if(!e)return;this.removedDrawingAlerts.delete(t),this.alertManager.restoreAlerts(e)}}}dropOrphanDrawingAlerts(){this.removedDrawingAlerts.clear(),this.alertManager&&this.alertManager.pruneDrawingAlerts(new Set(this.drawingManager.getDrawings().map(e=>e.id)))>0&&this.markStateChanged()}addDrawingAlert(e,t={}){if(!this.canAddDrawingAlert(e))return null;let n=this.alertManager.addDrawingAlert(e,t.condition??`crossing`,t.message,t.repeating??!1,t.label);return this.markStateChanged(),n}getAlerts(){return this.alertManager.getAlerts()}clearAlerts(){this.alertManager.clearAlerts(),this.markStateChanged()}saveAlerts(e){this.alertManager.saveToStorage(e)}loadAlerts(t){this.alertManager.loadFromStorage(t),this.alertManager.pruneDrawingAlerts(new Set(this.drawingManager.getDrawings().map(e=>e.id))),this.engine.requestRender(e.LayerType.Overlay)}addSignalMarker(e){return this.signalMarkerManager.addMarker(e)}removeSignalMarker(e){this.signalMarkerManager.removeMarker(e)}getSignalMarkers(){return this.signalMarkerManager.getMarkers()}setSignalMarkers(e){this.signalMarkerManager.setMarkers(e)}clearSignalMarkers(){this.signalMarkerManager.clearMarkers()}setSignalMarkerStyle(e){this.signalMarkerManager.setStyle(e)}addTradeZone(e){return this.tradeZoneManager.addZone(e)}updateTradeZone(e,t){this.tradeZoneManager.updateZone(e,t)}removeTradeZone(e){this.tradeZoneManager.removeZone(e)}getTradeZones(){return this.tradeZoneManager.getZones()}setTradeZones(e){this.tradeZoneManager.setZones(e)}clearTradeZones(){this.tradeZoneManager.clearZones()}setTradeZoneStyle(e){this.tradeZoneManager.setStyle(e)}replayStart(e){if(!this.features.replay)return;if(this.history.reset(),!this.replaySession){if(this.dataManager.getLength()===0)return;let e=new S;e.setData(this.fullSeries??this.dataManager.getData()),this.replaySession={live:e,price:null,fedTime:null}}let t=this.shownBars(this.replaySession.live.getData()),{steps:n,...r}=e??{},i=n?Ne(n,t):null;this.replayStepsSeries=i,this.replayCoarse=t,this.options.autoScale=!0,this.replayRestarting=!0;try{this.replayManager.load(i??t)}finally{this.replayRestarting=!1}i&&r.startIndex!==void 0&&(r.startIndex=H(i,t,r.startIndex)),this.replayBarUnsub?.();let a=-1,o=-1,s=null,c=i??t;this.replayBarUnsub=this.replayManager.on(`bar`,({index:e})=>{let n=e,r=t[e];if(i){let c=i[e];n=Pe(t,c.time),s=s!==null&&o===e-1&&n===a-1&&s?U(s,c):Fe(t[n],i,e),r=s}o=e;let l=n+1,u=a>0&&l>=a&&this.dataManager.getLength()===a,d=!(u&&!this.replaySeeking)||this.autoScrollOnNewBar&&this.viewport.isAtEnd();if(u){i&&l>a&&this.dataManager.updateLastBar(t[a-1]);for(let e=a;e<l-1;e++)this.dataManager.appendBar(t[e]);l>a?this.dataManager.appendBar(r):this.dataManager.updateLastBar(r),this.recalcIndicatorsFrom(this.dataManager.getData(),Math.max(0,a-1))}else this.dataManager.setData([...t.slice(0,n),r]),this.recalcIndicators(this.dataManager.getData());a=l,this.currentPriceLine.setPrice(r.close,n>0?t[n-1].close:void 0),this.crosshairHandler.setData(this.dataManager.getData()),this.displayDataCache=null,this.updateViewportAndRender(d),this.feedReplaySteps(c,e);let f=c[e+1]?.time??c[e].time+(e>0?c[e].time-c[e-1].time:0);this.eventBus.emit(`replayStep`,{barIndex:n,time:t[n].time,until:f})}),this.replayManager.play(r)}replaySeekToTime(e){if(!this.replaySession||!this.replayCoarse)return;let t=this.replayStepsSeries??this.replayCoarse,n=0,r=t.length-1;for(;n<r;){let i=n+r+1>>1;t[i].time<e?n=i:r=i-1}this.replaySeek(n)}feedReplayPrice(e,t){let n=this.executionAdapter;n?.setMarkPrice&&(n.setMarkPrice(e,t),this.tradingManager.setCurrentPrice(e))}returnMarkToLive(){let e=this.replaySession;if(!e||!this.replayTrades())return;let t=e.live.getData(),n=e.price?.price??t[t.length-1]?.close;n!==void 0&&this.feedReplayPrice(n)}feedReplaySteps(e,t){let n=this.replaySession,r=this.executionAdapter,i=e[t];if(!n||!r?.setMarkPrice||!i)return;if(n.fedTime===null){n.fedTime=i.time,this.feedReplayPrice(i.close,i.time);return}if(i.time<=n.fedTime)return;let a=e.slice(Ae(e,n.fedTime),t+1);n.fedTime=i.time;let o=Math.ceil(a.length/ke);for(let e=0;e<a.length;e+=o)for(let[t,n]of je(a.slice(e,e+o)))r.setMarkPrice(t,n);this.tradingManager.setCurrentPrice(i.close)}getReplayBarIndex(){if(!this.replaySession)return-1;let{current:e}=this.replayManager.getProgress(),t=this.replayStepsSeries;return t&&this.replayCoarse?Pe(this.replayCoarse,t[e]?.time??-1/0):e}replaySeekToBar(e){let t=this.replayStepsSeries;this.replaySeek(t&&this.replayCoarse?H(t,this.replayCoarse,e):e)}replayPause(){this.replayManager.pause()}replayResume(){this.replayManager.resume()}replayStop(){let e=this.replaySession;this.endReplaySession(),e&&(this.loadSeries(e.live.getData(),!0),e.price&&this.currentPriceLine.setPrice(e.price.price,e.price.previousClose))}isReplayActive(){return this.replaySession!==null}getPlotRect(){let{x:e,y:t,width:n,height:r}=this.viewport.getState().chartRect;return{x:e,y:t,width:n,height:r}}endReplaySession(){this.replaySession&&(this.returnMarkToLive(),this.replaySession=null,this.replayStepsSeries=null,this.replayCoarse=null,this.replayBarUnsub?.(),this.replayBarUnsub=null,this.replayManager.stop())}replaySeek(e){this.replaySeeking=!0;try{this.replayManager.seekTo(e)}finally{this.replaySeeking=!1}}setReplaySpeed(e){this.replayManager.setSpeed(e)}getReplayState(){return this.replayManager.getState()}getReplayProgress(){return this.replayManager.getProgress()}captureSnapshot(){return t.ChartStateManager.capture({getDrawings:()=>this.getDrawings(),getTheme:()=>this.getTheme(),getAlerts:()=>this.getAlerts(),getIndicators:()=>this.getIndicatorSetup()},{chartType:this.options.chartType,chartTypeOptions:this.getChartTypeOptions(),symbol:this.currentSymbol||void 0})}restoreIndicators(t,n){let r=Ee(t),i=new Map;this.unrestoredIndicators=[];let a=new Set(this.indicatorEngine.getAvailableIndicators().map(e=>e.id)),o=[],s=new Set;if(n){let e=new Map(r.map(e=>[e.instanceId,e])),t=this.getIndicatorSetup();for(let n of t){let t=e.get(n.instanceId);t&&De(n,t)&&s.add(n.instanceId)}for(let e of t)s.has(e.instanceId)||this.removeIndicator(e.instanceId);for(let e of[...s])this.indicatorEngine.getIndicatorConfig(e)||s.delete(e)}else for(let e of this.indicatorEngine.getActiveIndicators())this.removeIndicator(e.instanceId);let c=t=>{let n={...t};for(let[t,r]of Object.entries(n)){let a=(0,e.parseIndicatorSource)(r),o=a&&i.get(a.instanceId);o&&(n[t]=(0,e.indicatorSource)(o,a.key))}return n};for(let e of r){let t=null;if(s.has(e.instanceId)){t=e.instanceId;let n=this.indicatorEngine.getIndicatorConfig(t)?.params??{},r={};for(let[t,i]of Object.entries(c(e.params)))n[t]!==i&&(r[t]=i);Object.keys(r).length>0&&this.updateIndicator(t,r)}else{let r=[`top`,`bottom`,`left`,`right`].find(t=>t===e.position)??`bottom`;try{if(!a.has(e.id))throw Error(`no such indicator is registered`);let o=e.pane?i.get(e.pane):void 0;t=this.addIndicatorNow(e.id,c(e.params),r,{...o?{pane:o}:{},...e.scale===`left`?{scale:`left`}:{},...n?{instanceId:e.instanceId}:{}})}catch(t){console.warn(`Layout indicator "${e.id}" kept but not shown:`,t)}}if(!t){this.unrestoredIndicators.push(e);continue}i.set(e.instanceId,t),o.push([e,t]),this.restoreLooks(t,e)}return this.restorePanes(o),this.updateViewportAndRender(),i}restoreLooks(e,t){let n=this.indicatorEngine.getIndicatorStyle(e);t.style&&JSON.stringify({...n,...t.style})!==JSON.stringify(n)&&this.updateIndicatorStyle(e,t.style);let r=this.indicatorEngine.getIndicatorConfig(e);(t.visible??!0)!==(r?.visible??!0)&&this.setIndicatorVisible(e,t.visible??!0);let i=t.levels??null;JSON.stringify(i)!==JSON.stringify(r?.levels??null)&&this.setIndicatorLevels(e,i)}restorePanes(e){for(let[t,n]of e)t.paneSize!==void 0&&this.layoutManager.setPanelSize(n,t.paneSize),(t.paneSize!==void 0||t.paneCollapsed)&&this.layoutManager.setPanelCollapsed(n,!!t.paneCollapsed),t.paneSize!==void 0&&this.layoutManager.setPanelScale(n,{log:!!t.paneLog,invert:!!t.paneInvert,percent:!!t.panePercent});let t=e.filter(([e])=>e.paneOrder!==void 0).sort(([e],[t])=>(e.paneOrder??0)-(t.paneOrder??0)).map(([,e])=>e);t.length>1&&this.layoutManager.orderPanels(t);let n=e.find(([e])=>e.paneMaximized);this.layoutManager.setMaximizedPanel(n?n[1]:null)}getIndicatorSetup(){let e=this.layoutManager.getPanels(),t=this.layoutManager.getMaximizedPanel();return[...this.indicatorEngine.getActiveIndicators().map(n=>{let r=e.find(e=>e.id===n.instanceId),i=this.indicatorEngine.getIndicatorConfig(n.instanceId);return{id:n.id,instanceId:n.instanceId,params:{...n.params},position:r?.position,style:this.indicatorEngine.getIndicatorStyle(n.instanceId)??void 0,visible:n.visible,levels:i?.levels?.slice(),pane:n.pane,scale:i?.scale,...r?{paneSize:r.size,paneOrder:e.indexOf(r),...r.collapsed?{paneCollapsed:!0}:{},...t===n.instanceId?{paneMaximized:!0}:{},...r.logScale?{paneLog:!0}:{},...r.invertScale?{paneInvert:!0}:{},...r.percentScale?{panePercent:!0}:{}}:{}}}),...this.unrestoredIndicators]}applyIndicatorSetup(e){this.features.indicators&&this.recordIndicators(void 0,()=>{let t=new Map(this.indicatorEngine.getActiveIndicators().map(e=>[e.instanceId,e.id])),n=this.withoutIndicatorHistory(()=>this.restoreIndicators(e,!1));this.followIndicatorAlerts(t,[...n.values()]),this.markStateChanged()})}followIndicatorAlerts(e,t){if(!this.features.alerts)return;let n=n=>{let r=n.indexOf(`:`);if(r<=0)return null;let i=n.slice(0,r),a=e.get(i);if(!a||this.indicatorEngine.getIndicatorConfig(i))return null;let o=t.filter(e=>this.indicatorEngine.getIndicatorConfig(e)?.id===a);return o.length===1?o[0]+n.slice(r):null};for(let e of this.alertManager.getAlerts()){let t=n(e.channel),r=e.target?n(e.target):null;if(!t&&!r)continue;let{target:i,percent:a,bars:o,onBarClose:s,expiresAt:c}=e;this.alertManager.removeAlert(e.id),this.alertManager.addAlert(e.price,e.condition,e.message,e.repeating,t??e.channel,e.label,{...e.target?{target:r??e.target}:{},...a===void 0?{}:{percent:a},...o===void 0?{}:{bars:o},...s?{onBarClose:s}:{},...c===void 0?{}:{expiresAt:c}})}}withoutIndicatorHistory(e){this.indicatorHistoryDepth++;try{return e()}finally{this.indicatorHistoryDepth--}}recordIndicators(e,t){if(this.indicatorHistoryDepth>0||!this.features.drawingUndoRedo)return t();let n=this.getIndicatorSetup(),r=this.withoutIndicatorHistory(t),i=this.getIndicatorSetup();if(JSON.stringify(n)===JSON.stringify(i))return r;let a=performance.now(),o=this.undoRedoManager.last(),s=e!==void 0&&o?.type===`indicators`&&o.indicators?.subject===e&&a-(o.indicators.at??0)<L&&JSON.stringify(o.indicators.after)===JSON.stringify(n),c={type:`indicators`,before:null,after:null};return s&&o?.indicators?JSON.stringify(o.indicators.before)===JSON.stringify(i)?this.undoRedoManager.dropLast():this.undoRedoManager.replaceLast({...c,indicators:{...o.indicators,after:i,at:a}}):this.undoRedoManager.push({...c,indicators:{before:n,after:i,subject:e,at:a}}),r}applyIndicatorStep(e,t){let n=e.indicators;n&&(this.withoutIndicatorHistory(()=>this.restoreIndicators(t===`undo`?n.before:n.after,!0)),this.markStateChanged())}saveState(e){if(!this.features.saveLoad)return null;let n=this.captureSnapshot(),r=t.ChartStateManager.serialize(n);return e&&t.ChartStateManager.saveToStorage(e,n),r}loadState(e){if(!this.features.saveLoad)return;let n=t.ChartStateManager.deserialize(e);this.chartTypeOptions=n.chartTypeOptions??{},this.displayDataCache=null,n.chartType&&this.setChartType(n.chartType),n.drawings&&this.setDrawings(n.drawings),n.theme&&this.setTheme(n.theme);let r=n.version>=2&&this.features.indicators?this.withoutIndicatorHistory(()=>this.restoreIndicators(n.indicators,!1)):new Map;if(this.undoRedoManager.clear(),n.alerts&&this.features.alerts){this.alertManager.clearAlerts();for(let e of n.alerts){if(e.triggered&&!e.repeating)continue;let n=e=>{let t=e.indexOf(`:`),n=t>0?r.get(e.slice(0,t)):void 0;return n?n+e.slice(t):e},i=n(e.channel),a={...(0,t.readAlertOptions)(e),...e.target?{target:n(e.target)}:{}};if(!e.expired){if(e.drawingId){this.drawingManager.hasPriceLevels(e.drawingId)&&(e.condition===`crossing`||e.condition===`crossingUp`||e.condition===`crossingDown`)&&this.alertManager.addDrawingAlert(e.drawingId,e.condition,e.message,e.repeating,e.label);continue}try{this.alertManager.addAlert(e.price,e.condition,e.message,e.repeating,i,e.label,a)}catch(e){console.warn(`Layout alert left out:`,e)}}}}this.markStateChanged()}loadStateFromStorage(e){if(!this.features.saveLoad)return!1;let n=t.ChartStateManager.loadFromStorage(e);return n?(this.loadState(t.ChartStateManager.serialize(n)),!0):!1}downloadState(e){this.features.saveLoad&&t.ChartStateManager.downloadFile(this.captureSnapshot(),e)}async loadStateFromFile(){if(!this.features.saveLoad)return;let e=await t.ChartStateManager.loadFromFile();this.loadState(t.ChartStateManager.serialize(e))}setLocale(t){(0,e.setLocale)(t),this.engine.requestRender()}setNumberLocale(e){this.numberLocale=e,this.priceAxis.setLocale(e),this.leftPriceAxis.setLocale(e),this.crosshairHandler.setLocale(e),this.chartLegend.setLocale(e),this.crosshairTooltip.setLocale(e),this.sessionBreaks.setLocale(e),this.currentPriceLine.setLocale(e),this.updateViewportAndRender()}getNumberLocale(){return this.numberLocale}setMarket(e){if(this.marketConfig=e,e.colorScheme){let t={...this.themeManager.getTheme(),candleUp:e.colorScheme.up,candleDown:e.colorScheme.down,candleUpWick:e.colorScheme.up,candleDownWick:e.colorScheme.down,volumeUp:e.colorScheme.up.replace(`)`,`, 0.3)`).replace(`rgb(`,`rgba(`)||`${e.colorScheme.up}4D`,volumeDown:e.colorScheme.down.replace(`)`,`, 0.3)`).replace(`rgb(`,`rgba(`)||`${e.colorScheme.down}4D`};this.themeManager.setTheme(t)}e.pricePrecision!==void 0&&this.applyPricePrecision(e.pricePrecision),this.updateViewportAndRender()}applyPricePrecision(e){this.marketPricePrecision=e,this.tradingManager.setConfig({pricePrecision:e??void 0}),this.alertManager.setPricePrecision(e??Se),this.streamManager?.priceLine.setPricePrecision(e),this.currentPriceLine.setPricePrecision(e),this.crosshairHandler.setPricePrecision(e),this.chartLegend.setPricePrecision(e),this.crosshairTooltip.setPricePrecision(e)}getMarket(){return this.marketConfig}setPriceLimits(t){this.marketConfig&&((0,e.computePriceLimits)(t,this.marketConfig)&&(this.marketConfig.priceLimits={...this.marketConfig.priceLimits,referencePrice:t}),this.engine.requestRender())}getFeatures(){return this.features}setFeatures(t){Object.assign(this.features,t),(t.crosshair===!1||t.crosshairTooltip===!1)&&this.crosshairTooltip.hide(),t.grid!==void 0&&this.engine.requestRender(e.LayerType.Background),t.volume!==void 0&&(this.volumeRenderer.setVisible(t.volume),this.engine.requestRender(e.LayerType.Main)),t.drawings===!1&&this.drawingManager.setActiveTool(null),t.trading===!1&&(this.tradingManager.setOrders([]),this.tradingManager.setPositions([])),t.keyboard!==void 0&&this.keyboardHandler?.setEnabled(t.keyboard),this.engine.requestRender()}resize(){let e=this.engine.dprManager.readContainerSize();if(e.width<=0||e.height<=0)return;this.containerSizeCache=e,this.containerSizeCacheTime=Date.now();let t=this.engine.dprManager.getDpr();this.engine.layerManager.resize(e,t);let n=this.viewport.isAtEnd();this.viewport.resize(e.width,e.height),this.layoutManager.resize(e.width,e.height),this.updateViewportAndRender(n),this.eventBus.emit(`resize`,e)}destroy(){this.countdownInterval&&clearInterval(this.countdownInterval),this.history.setLoader(null),this.disableAutoSave(),this.disconnectStream(),this.disconnectExecution(),this.onWindowKeyDown&&=(window.removeEventListener(`keydown`,this.onWindowKeyDown),null),this.keyboardHandler=null,this.a11y?.destroy(),this.a11y=null,this.interactionManager.detach(),this.tradingManager.destroy(),this.animator.dispose(),this.crosshairTooltip.destroy(),this.pinnedTooltip.destroy(),this.replayRestarting=!0,this.replayManager.dispose(),this.alertManager.dispose(),this.undoRedoManager.clear(),this.engine.destroy(),this.eventBus.destroy(),this.container.innerHTML=``}createChartRenderer(e){let n=ee(e,e=>this.pluginManager.getChartType(e));return n instanceof t.HiLoRenderer&&n.setPriceText(e=>this.formatPrice(e)),n}getDisplayData(){if(this.displayDataCache)return this.displayDataCache;let e=this.dataManager.getData();if(e.length===0)return e;let t=te(this.options.chartType,e,e=>this.pluginManager.getChartType(e),this.chartTypeOptions);return this.displayDataCache=t,t}recalcIndicatorsFrom(e,t){this.indicatorEngine.recalculateFrom(e,t),this.announceIndicatorUpdate(t)}recalcIndicators(e){this.indicatorEngine.recalculateAll(e),this.announceIndicatorUpdate(0)}announceIndicatorUpdate(e){if(this.indicatorUpdateFrom!==null){this.indicatorUpdateFrom=Math.min(this.indicatorUpdateFrom,e);return}this.indicatorUpdateFrom=e,queueMicrotask(()=>{let e=this.indicatorUpdateFrom;this.indicatorUpdateFrom=null,e!==null&&this.eventBus.emit(`indicatorUpdate`,{from:e})})}scheduleRender(){this.renderScheduled||(this.renderScheduled=!0,requestAnimationFrame(()=>{this.renderScheduled=!1,this.panelInfoCache=null,this.fitDataAndAxes(),this.syncRenderContext(),this.engine.requestRender(),this.emitViewportEvents()}))}applyDataToViewport(e=!1){let t=this.getDisplayData(),n=this.options.autoScale!==!1;this.viewport.updateData(t,n&&!e),e&&(this.viewport.scrollToEnd(),n&&this.viewport.updateData(t,!0));let r=this.viewport.getState();if(t.length>0){let e=Math.max(0,Math.min(r.visibleRange.from,t.length-1));this.viewport.setScaleBaseline(t[e]?.close)}if(n){let e=Oe(this.indicatorEngine.getOverlayPriceRange(r.visibleRange.from,Math.min(r.visibleRange.to,t.length-1)),this.features.compareSymbols?this.compareRenderer.getPriceRange(t,r):null);if(e){let t=r.priceRange,n=Math.min(t.min,e.min),i=Math.max(t.max,e.max);if(n<t.min||i>t.max){let e=i-n||1;this.viewport.setPriceRange(n-e*.02,i+e*.02)}}}return t}updateViewportAndRender(e=!1){this.resolvedLayoutCache=null,this.panelInfoCache=null,this.layoutManager.setLeftAxisWidth(this.isLeftPriceScaleShown()?this.leftAxisWidth:0);let t=this.getResolvedLayout();this.viewport.setChartRect(t.mainChartRect),this.fitDataAndAxes(e),this.syncRenderContext(),this.engine.requestRender(),this.emitViewportEvents()}fitDataAndAxes(e=!1){this.applyDataToViewport(e);let t=this.fitPriceAxisWidth();this.leftViewport=this.computeLeftViewport(),(this.fitLeftAxisWidth()||t)&&this.applyDataToViewport(e)}fitLeftAxisWidth(){let e=this.leftViewport;if(!e)return!1;let t=this.themeManager.getTheme(),n=E({min:e.priceRange.min,max:e.priceRange.max,lastPrice:null,tagPrecision:null,locale:this.numberLocale,fontFamily:t.font.family,fontSizeSmall:t.font.sizeSmall,measure:(e,t)=>this.measureText(e,t)}),r=D(this.leftAxisWidth,n);return r===this.leftAxisWidth?!1:(this.leftAxisWidth=r,this.layoutManager.setLeftAxisWidth(r),this.resolvedLayoutCache=null,this.panelInfoCache=null,this.viewport.setChartRect(this.getResolvedLayout().mainChartRect),!0)}fitPriceAxisWidth(){if(!this.features.priceAxis)return!1;let{priceRange:e}=this.viewport.getState(),t=this.themeManager.getTheme(),n=E({min:e.min,max:e.max,lastPrice:this.currentPriceLine.getPrice(),tagPrecision:this.marketPricePrecision,locale:this.numberLocale,format:this.priceFormatter,fontFamily:t.font.family,fontSizeSmall:t.font.sizeSmall,measure:(e,t)=>this.measureText(e,t)}),r=D(this.priceAxisWidth,n);return r===this.priceAxisWidth?!1:(this.priceAxisWidth=r,this.layoutManager.setPriceAxisWidth(r),this.viewport.setPriceAxisWidth(r),this.resolvedLayoutCache=null,this.panelInfoCache=null,this.viewport.setChartRect(this.getResolvedLayout().mainChartRect),!0)}measureText(e,t){this.measureCtx===void 0&&(this.measureCtx=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):null);let n=this.measureCtx;return n?(n.font=t,n.measureText(e).width):e.length*7}emitViewportEvents(){let e=this.viewport.getState(),t=Math.max(0,Math.floor(e.visibleRange.from)),n=Math.max(t,Math.ceil(e.visibleRange.to));(!this.lastEmittedRange||this.lastEmittedRange.from!==t||this.lastEmittedRange.to!==n)&&(this.lastEmittedRange={from:t,to:n},this.eventBus.emit(`visibleRangeChange`,{from:t,to:n}));let{min:r,max:i}=e.priceRange;(!this.lastEmittedPriceRange||this.lastEmittedPriceRange.min!==r||this.lastEmittedPriceRange.max!==i)&&(this.lastEmittedPriceRange={min:r,max:i},this.eventBus.emit(`priceRangeChange`,{min:r,max:i})),this.lastEmittedBarWidth!==e.barWidth&&(this.lastEmittedBarWidth=e.barWidth,this.eventBus.emit(`zoomChange`,{barWidth:e.barWidth})),this.checkHistory()}getResolvedLayout(){return this.resolvedLayoutCache||(this.resolvedLayoutCache=this.layoutManager.resolve(),this.syncCrosshairBounds(this.resolvedLayoutCache)),this.resolvedLayoutCache}syncCrosshairBounds(e){let t=e.mainChartRect,n=t.y,r=t.y+t.height;for(let t of e.panels)t.config.position!==`top`&&t.config.position!==`bottom`||(n=Math.min(n,t.rect.y),r=Math.max(r,t.rect.y+t.rect.height));this.crosshairHandler.setReportBounds({top:n,bottom:r})}cachedContainerSize(){let e=Date.now();return(!this.containerSizeCache||e-this.containerSizeCacheTime>500)&&(this.containerSizeCache=this.engine.dprManager.getContainerSize(),this.containerSizeCacheTime=e),this.containerSizeCache}buildPanelRenderInfos(){if(this.panelInfoCache)return this.panelInfoCache;let e=this.getResolvedLayout(),t=this.viewport.getState(),{from:n,to:r}=t.visibleRange,i=e.panels.map(e=>{let i=e.config.logScale?this.indicatorEngine.getPaneValueRange(e.config.id,n,r,!0):null,a=i??this.indicatorEngine.getPaneValueRange(e.config.id,n,r)??{...be},o={x:e.rect.x,y:e.rect.y+20,width:e.rect.width,height:Math.max(0,e.rect.height-20)};return{instanceId:e.config.id,members:this.indicatorEngine.getPaneMembers(e.config.id),rect:e.rect,viewport:{...t,chartRect:o,priceRange:a,logScale:i!==null,scaleMode:e.config.percentScale?`percentage`:`regular`,scaleBaseline:e.config.percentScale?this.paneBaseline(e.config.id,n,r):void 0,formatPrice:void 0,priceUnit:void 0,invertScale:!!e.config.invertScale}}});return this.panelInfoCache=i,i}timeAxisTop(){let e=this.getResolvedLayout(),t=e.panels.filter(e=>e.config.position===`bottom`).reduce((e,t)=>e+t.rect.height,0);return e.mainChartRect.y+e.mainChartRect.height+t}syncRenderContext(){this.pinnedTooltip.isPinned()&&this.pinnedTooltip.reposition(this.viewport.getState(),null,null,this.themeManager.getTheme());let e=this.features.indicators?this.buildPanelRenderInfos():[],t=this.timeAxisTop(),n=this.getDisplayData();this.leftViewport=this.computeLeftViewport(),this.engine.setRenderContext({leftViewport:this.leftViewport,leftPriceAxis:this.leftPriceAxis,leftAxisWidth:this.leftAxisWidth,chartRenderer:this.mainSeriesVisible?this.chartRenderer:null,priceLines:this.quoteLines(),gridRenderer:this.features.grid?this.gridRenderer:null,priceAxis:this.features.priceAxis?this.priceAxis:null,timeAxis:this.features.timeAxis?this.timeAxis:null,crosshairHandler:this.features.crosshair?this.crosshairHandler:null,indicatorEngine:this.features.indicators?this.indicatorEngine:null,drawingRenderer:this.features.drawings?this.drawingRenderer:null,tradingRenderer:this.features.trading?this.tradingRenderer:null,currentPriceLine:this.currentPriceLine,chartLegend:this.features.legend?this.chartLegend:null,volumeRenderer:this.features.volume?this.volumeRenderer:null,volumeProfile:this.volumeProfile,marketProfile:this.marketProfile,depthHeatmap:this.depthHeatmap,periodLevels:this.periodLevels,pivotMarkers:this.pivotMarkers,watermark:this.features.watermark?this.watermark:null,barCountdown:this.barCountdown,sessionBreaks:this.sessionBreaks,sessionShading:this.sessionShading,compareRenderer:this.compareRenderer,alertManager:this.features.alerts?this.alertManager:null,measureOverlay:this.measureOverlay,selectionBoxOverlay:this.selectionBoxOverlay,priceAxisAddButton:this.priceAxisAddButton,signalMarkerManager:this.signalMarkerManager,tradeZoneManager:this.tradeZoneManager,panels:e,priceLimits:this.buildPriceLimits(),timeAxisY:t,viewport:{...this.viewport.getState(),data:n},theme:this.themeManager.getTheme(),data:n,numberLocale:this.numberLocale,paneTitles:this.paneTitles,indicatorValueLabels:this.features.indicatorValueLabels,formatPrice:e=>this.formatPrice(e),renderOverlayPlugins:(e,t)=>this.drawOverlayPlugins(e,t)})}drawOverlayPlugins(e,t){let n=O(this.pluginManager.getOverlays(),t);if(n.length===0)return;let r={viewport:this.viewport.getState(),data:this.getDisplayData(),theme:this.themeManager.getTheme()};for(let t of n)t.render(e,r)}buildPriceLimits(){if(!this.marketConfig?.priceLimits?.enabled||!this.marketConfig.priceLimits.referencePrice)return null;let t=(0,e.computePriceLimits)(this.marketConfig.priceLimits.referencePrice,this.marketConfig);return t?{...t,colors:this.marketConfig.colorScheme?{ceiling:this.marketConfig.colorScheme.ceiling,floor:this.marketConfig.colorScheme.floor,reference:this.marketConfig.colorScheme.reference}:void 0}:null}};function Ee(t){let n=new Map(t.map(e=>[e.instanceId,e])),r=[],i=new Set,a=new Set,o=t=>{if(i.has(t.instanceId)||a.has(t.instanceId))return;a.add(t.instanceId);let s=[t.pane,...Object.values(t.params).map(t=>(0,e.parseIndicatorSource)(t)?.instanceId)];for(let e of s){let t=e?n.get(e):void 0;t&&o(t)}a.delete(t.instanceId),i.add(t.instanceId),r.push(t)};for(let e of t)o(e);return r}function De(e,t){return e.id===t.id&&(e.pane??null)===(t.pane??null)&&(e.scale??null)===(t.scale??null)&&e.position===void 0==(t.position===void 0)}function R(e){let t=e.tagRadius;return typeof t==`number`&&Number.isFinite(t)&&t>=0?{tagRadius:Math.min(t,999)}:{}}var z=new Set([`compareSymbol`,`spread`]);function Oe(e,t){return e?t?{min:Math.min(e.min,t.min),max:Math.max(e.max,t.max)}:e:t}function B(e){return{id:e.id,price:e.price,condition:e.condition,message:e.message,triggered:e.triggered,channel:e.channel,label:e.label,target:e.target,drawingId:e.drawingId,percent:e.percent,bars:e.bars}}var ke=500;function Ae(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].time<=t?n=i+1:r=i}return n}function je(e){let t=0,n=0;for(let r=1;r<e.length;r++)e[r].low<e[t].low&&(t=r),e[r].high>e[n].high&&(n=r);let r=[e[t].low,e[t].time],i=[e[n].high,e[n].time],a=t===n?e[t].close>=e[t].open:t<n,o=e[e.length-1];return[...a?[r,i]:[i,r],[o.close,o.time]]}function Me(e){let t=0;for(let n=Math.max(1,e.length-10);n<e.length;n++)t=Math.max(t,e[n].time-e[n-1].time);return t>0?t:1/0}function Ne(e,t){if(t.length===0)return null;let n=t[t.length-1].time+Me(t),r=e.filter(e=>V(e)&&e.time>=t[0].time&&e.time<n).sort((e,t)=>e.time-t.time),i=[];for(let e of r)(i.length===0||i[i.length-1].time!==e.time)&&i.push(e);if(i.length===0)return null;let a=t.findIndex(e=>e.time>=i[0].time);if(a<0)return null;let o=t.slice(0,a),s=i.filter(e=>e.time>=t[a].time);return[...o,...s]}function V(e){return[e.time,e.open,e.high,e.low,e.close].every(Number.isFinite)}function Pe(e,t){let n=0,r=e.length-1;for(;n<r;){let i=n+r+1>>1;e[i].time<=t?n=i:r=i-1}return n}function H(e,t,n){let r=Math.max(0,Math.min(Math.floor(Number.isFinite(n)?n:0),t.length-1)),i=r+1<t.length?t[r+1].time:1/0,a=-1;for(let t=0;t<e.length&&e[t].time<i;t++)a=t;return Math.max(0,a)}function Fe(e,t,n){let r=n;for(;r>0&&t[r-1].time>=e.time;)r--;let i={...t[r],time:e.time};for(let e=r+1;e<=n;e++)i=U(i,t[e]);return i}function U(e,t){return{time:e.time,open:e.open,high:Math.max(e.high,t.high),low:Math.min(e.low,t.low),close:t.close,volume:(e.volume??0)+(t.volume??0)}}function W(t,n){let r=t[t.length-1];if(!r)return`append`;let i=(0,e.normalizeBarTime)(n.time),a=(0,e.normalizeBarTime)(r.time);return i>a?`append`:i===a?`update`:`stale`}var G=[`time`,`timestamp`,`date`,`datetime`,`t`],Ie=[`open`,`o`],Le=[`high`,`h`],Re=[`low`,`l`],ze=[`close`,`c`],Be=[`volume`,`vol`,`v`];function Ve(e){let t=e.trim();return t?t[0]===`[`||t[0]===`{`?He(t):Ue(t):{data:[],rowCount:0,skipped:0}}function He(e){let t;try{t=JSON.parse(e)}catch(e){throw Error(`Invalid JSON: ${e.message}`)}if(!Array.isArray(t))throw Error(`Expected a JSON array of OHLCV rows`);let n=[],r=0;for(let e of t){let t=Array.isArray(e)?qe(e):Ke(e);t?n.push(t):r++}return Je(n,t.length,r)}function Ue(e){let t=e.split(/\r?\n/).filter(e=>e.trim().length>0);if(t.length===0)return{data:[],rowCount:0,skipped:0};let n=We(t[0]),r=K(t[0],n).map(e=>e.trim().toLowerCase()),i=r.some(e=>isNaN(Number(e))&&e.length>0),a=i?Ge(r):{time:0,open:1,high:2,low:3,close:4,volume:5};if(a.time<0||a.open<0||a.high<0||a.low<0||a.close<0)throw Error(`CSV is missing required column(s): time, open, high, low, close`);let o=[],s=0;for(let e=+!!i;e<t.length;e++){let r=K(t[e],n),i=J(r[a.time]),c=q(r[a.open]),l=q(r[a.high]),u=q(r[a.low]),d=q(r[a.close]),f=a.volume>=0?Number(r[a.volume]):0;if(i===null||![c,l,u,d].every(Number.isFinite)){s++;continue}o.push({time:i,open:c,high:l,low:u,close:d,volume:Number.isFinite(f)?f:0})}return Je(o,t.length-+!!i,s)}function We(e){let t={",":0,";":0," ":0,"|":0};for(let n of e)n in t&&t[n]++;let n=`,`,r=0;for(let[e,i]of Object.entries(t))i>r&&(n=e,r=i);return n}function K(e,t){let n=[],r=``,i=!1;for(let a=0;a<e.length;a++){let o=e[a];o===`"`?i&&e[a+1]===`"`?(r+=`"`,a++):i=!i:o===t&&!i?(n.push(r),r=``):r+=o}return n.push(r),n}function Ge(e){let t=t=>e.findIndex(e=>t.includes(e));return{time:t(G),open:t(Ie),high:t(Le),low:t(Re),close:t(ze),volume:t(Be)}}function Ke(e){let t=t=>{for(let n of t){if(e[n]!==void 0)return e[n];let t=n.toUpperCase();if(e[t]!==void 0)return e[t]}},n=J(String(t(G)??``)),r=Number(t(Ie)),i=Number(t(Le)),a=Number(t(Re)),o=Number(t(ze)),s=Number(t(Be)??0);return n===null||![r,i,a,o].every(Number.isFinite)?null:{time:n,open:r,high:i,low:a,close:o,volume:Number.isFinite(s)?s:0}}function qe(e){if(e.length<5)return null;let t=J(String(e[0])),n=Number(e[1]),r=Number(e[2]),i=Number(e[3]),a=Number(e[4]),o=e.length>=6?Number(e[5]):0;return t===null||![n,r,i,a].every(Number.isFinite)?null:{time:t,open:n,high:r,low:i,close:a,volume:Number.isFinite(o)?o:0}}function q(e){return e===void 0||e.trim()===``?NaN:Number(e)}function J(e){let t=e.trim();if(!t)return null;let n=Number(t);if(Number.isFinite(n)&&n>0)return n<0xe8d4a51000?n*1e3:n;let r=Date.parse(t);return Number.isFinite(r)?r:null}function Je(e,t,n){e.sort((e,t)=>e.time-t.time);let r=[];for(let t of e)r.length>0&&r[r.length-1].time===t.time?r[r.length-1]=t:r.push(t);return{data:r,rowCount:t,skipped:n}}var Ye=class{host;overlay=null;callbacks;bound;depth=0;constructor(e,t){this.host=e,this.callbacks=t,this.bound={dragenter:e=>this.onDragEnter(e),dragover:e=>this.onDragOver(e),dragleave:e=>this.onDragLeave(e),drop:e=>this.onDrop(e)}}attach(){this.host.addEventListener(`dragenter`,this.bound.dragenter),this.host.addEventListener(`dragover`,this.bound.dragover),this.host.addEventListener(`dragleave`,this.bound.dragleave),this.host.addEventListener(`drop`,this.bound.drop)}detach(){this.host.removeEventListener(`dragenter`,this.bound.dragenter),this.host.removeEventListener(`dragover`,this.bound.dragover),this.host.removeEventListener(`dragleave`,this.bound.dragleave),this.host.removeEventListener(`drop`,this.bound.drop),this.hideOverlay()}onDragEnter(e){Y(e)&&(e.preventDefault(),this.depth++,this.showOverlay())}onDragOver(e){Y(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))}onDragLeave(e){Y(e)&&(this.depth=Math.max(0,this.depth-1),this.depth===0&&this.hideOverlay())}async onDrop(e){e.preventDefault(),this.depth=0,this.hideOverlay();let t=e.dataTransfer?.files?.[0];if(t)try{let e=Ve(await t.text());if(e.data.length===0)throw Error(`No valid OHLCV rows found in "${t.name}"`);this.callbacks.onData(e.data,e,t)}catch(e){this.callbacks.onError?.(e,t)}}showOverlay(){this.overlay||(this.overlay=document.createElement(`div`),Object.assign(this.overlay.style,{position:`absolute`,inset:`8px`,zIndex:`90`,pointerEvents:`none`,borderRadius:`10px`,border:`2px dashed var(--tcw-accent, #f2a93b)`,background:`rgba(79, 136, 255, 0.06)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--tcw-accent, #f2a93b)`,fontSize:`14px`,fontWeight:`600`,letterSpacing:`-0.005em`,fontFamily:`inherit`,backdropFilter:`blur(2px)`}),this.overlay.textContent=`Drop CSV or JSON to load chart data`,getComputedStyle(this.host).position===`static`&&(this.host.style.position=`relative`),this.host.appendChild(this.overlay))}hideOverlay(){this.overlay?.remove(),this.overlay=null}};function Y(e){return e.dataTransfer?.types?.includes(`Files`)??!1}function X(e){let t={id:e.id,name:e.name,updatedAt:e.updatedAt};return e.symbol!==void 0&&(t.symbol=e.symbol),e.timeframe!==void 0&&(t.timeframe=e.timeframe),e.kind!==void 0&&(t.kind=e.kind),t}var Xe=(e,t)=>t.updatedAt-e.updatedAt;function Z(e){if(typeof e!=`object`||!e)return null;let t=e;return typeof t.id!=`string`||!t.id||typeof t.name!=`string`||typeof t.updatedAt!=`number`||!Number.isFinite(t.updatedAt)?null:X({id:t.id,name:t.name,updatedAt:t.updatedAt,symbol:typeof t.symbol==`string`?t.symbol:void 0,timeframe:typeof t.timeframe==`string`?t.timeframe:void 0,kind:typeof t.kind==`string`?t.kind:void 0})}function Ze(e){let t=Z(e),n=t?e.content:void 0;return t&&typeof n==`string`?{...t,content:n}:null}function Qe(e=[]){let t=new Map(e.map(e=>[e.id,{...e}]));return{list:()=>[...t.values()].map(X).sort(Xe),load:e=>{let n=t.get(e);return n?{...n}:null},save:e=>{t.set(e.id,{...e})},remove:e=>{t.delete(e)}}}function $e(e=`tcw:layouts:`){let t=`${e}index`,n=t=>`${e}item:${t}`,r=()=>{let e;try{e=JSON.parse(localStorage.getItem(t)??`[]`)}catch{return[]}return Array.isArray(e)?e.map(Z).filter(e=>e!==null):[]},i=e=>localStorage.setItem(t,JSON.stringify(e));return{list:()=>r().sort(Xe),load:e=>{let t=r().find(t=>t.id===e),i=t?localStorage.getItem(n(e)):null;return t&&i!==null?{...t,content:i}:null},save:e=>{localStorage.setItem(n(e.id),e.content),i([...r().filter(t=>t.id!==e.id),X(e)])},remove:e=>{i(r().filter(t=>t.id!==e)),localStorage.removeItem(n(e))}}}var et=80;function Q(e){return e.replace(/\s+/g,` `).trim().slice(0,80).trim()||null}function tt(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function $(e){let{id:t,name:n,symbol:r,timeframe:i,updatedAt:a,kind:o}=e;return{id:t,name:n,...r===void 0?{}:{symbol:r},...i===void 0?{}:{timeframe:i},updatedAt:a,...o===void 0?{}:{kind:o}}}var nt=class{currentLayout=null;savedContent=null;dirty=!1;autoSave;debounceMs;kind;timer=null;applying=0;busy=0;changedWhileBusy=!1;tail=Promise.resolve();destroyed=!1;now;newId;constructor(e,t,n={}){this.storage=e,this.host=t,this.options=n,this.autoSave=n.autoSave??!0,this.debounceMs=n.debounceMs??1500,this.kind=n.kind??`chart`,this.now=n.now??Date.now,this.newId=n.newId??tt}current(){return this.currentLayout}isDirty(){return this.dirty}isAutoSave(){return this.autoSave}setAutoSave(e){this.autoSave!==e&&(this.autoSave=e,this.notify(),e&&this.dirty&&this.changed())}async list(){let e=await this.storage.list();return Array.isArray(e)?e.map(Z).filter(e=>e!==null&&(e.kind??`chart`)===this.kind).sort((e,t)=>t.updatedAt-e.updatedAt):[]}save(){return this.queue(()=>{let e=this.currentLayout;return e?this.write(e.id,e.name):null})}saveAs(e){let t=Q(e);return t?this.queue(()=>this.write(this.newId(),t)):Promise.reject(Error(`A layout needs a name`))}open(e){return this.queue(async()=>{let t=Ze(await this.storage.load(e));if(!t||t.id!==e||(t.kind??`chart`)!==this.kind||this.destroyed)return!1;this.cancelTimer(),this.applying++;try{await this.host.apply(t)}catch(e){throw this.forget(),e}finally{this.applying--}return this.cancelTimer(),this.currentLayout=$(t),this.savedContent=this.host.capture().content,this.dirty=!1,this.notify(),!0})}rename(e,t){let n=Q(t);return n?this.queue(async()=>{let t=Ze(await this.storage.load(e));!t||t.id!==e||(await this.storage.save({...t,name:n}),this.currentLayout?.id===e&&(this.currentLayout={...this.currentLayout,name:n}),this.notify())}):Promise.reject(Error(`A layout needs a name`))}remove(e){return this.queue(async()=>{await this.storage.remove(e),this.currentLayout?.id===e&&this.forget()})}changed(){if(!(this.destroyed||this.applying>0)){if(!this.currentLayout){this.busy>0&&(this.changedWhileBusy=!0);return}this.cancelTimer(),this.timer=setTimeout(()=>{this.timer=null,this.queue(()=>this.settle())},this.debounceMs)}}destroy(){if(this.destroyed)return;let e=this.timer!==null;this.cancelTimer();let t=this.currentLayout;if(e&&t&&this.autoSave){let e=null;try{e=this.host.capture()}catch(e){this.options.onError?.(e)}if(e&&e.content!==this.savedContent){let n=e;this.queue(()=>this.write(t.id,t.name,n)).catch(e=>this.options.onError?.(e))}}this.destroyed=!0}async settle(){let e=this.currentLayout;if(this.destroyed||!e)return;let t;try{t=this.host.capture()}catch(e){this.options.onError?.(e);return}let n=t.content!==this.savedContent;if(n&&this.autoSave){try{await this.write(e.id,e.name,t)}catch(e){this.dirty=!0,this.notify(),this.options.onError?.(e)}return}n!==this.dirty&&(this.dirty=n,this.notify())}async write(e,t,n=this.host.capture()){this.cancelTimer();let r={id:e,name:t,...n.symbol===void 0?{}:{symbol:n.symbol},...n.timeframe===void 0?{}:{timeframe:n.timeframe},updatedAt:this.now(),kind:this.kind,content:n.content};await this.storage.save(r);let i=$(r);return this.currentLayout=i,this.savedContent=n.content,this.dirty=!1,this.notify(),i}forget(){this.cancelTimer(),this.currentLayout=null,this.savedContent=null,this.dirty=!1,this.notify()}queue(e){this.busy++;let t=this.tail.then(e).finally(()=>{this.busy--,this.busy===0&&this.changedWhileBusy&&(this.changedWhileBusy=!1,this.changed())});return this.tail=t.catch(()=>void 0),t}cancelTimer(){this.timer&&=(clearTimeout(this.timer),null)}notify(){this.destroyed||this.options.onChange?.()}};Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return oe}});
|
|
2
|
+
//# sourceMappingURL=LayoutSession-CTZB90NX.cjs.map
|