@tradecanvas/chart 0.9.0 → 0.14.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.
Files changed (68) hide show
  1. package/dist/Chart.d.ts +110 -1
  2. package/dist/Chart.d.ts.map +1 -1
  3. package/dist/{DragDropImporter-6QOjnfSj.js → DragDropImporter-Br2ez5Gz.js} +296 -103
  4. package/dist/DragDropImporter-Br2ez5Gz.js.map +1 -0
  5. package/dist/DragDropImporter-ycI_Tcs6.cjs +2 -0
  6. package/dist/DragDropImporter-ycI_Tcs6.cjs.map +1 -0
  7. package/dist/finance/PerformanceDashboard.d.ts +43 -0
  8. package/dist/finance/PerformanceDashboard.d.ts.map +1 -0
  9. package/dist/finance/index.d.ts +4 -0
  10. package/dist/finance/index.d.ts.map +1 -1
  11. package/dist/finance/performanceData.d.ts +39 -0
  12. package/dist/finance/performanceData.d.ts.map +1 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +287 -30
  18. package/dist/index.js.map +1 -1
  19. package/dist/io/index.d.ts +2 -0
  20. package/dist/io/index.d.ts.map +1 -1
  21. package/dist/io/resampleOHLCV.d.ts +29 -0
  22. package/dist/io/resampleOHLCV.d.ts.map +1 -0
  23. package/dist/widget/AlertNotifier.d.ts +32 -0
  24. package/dist/widget/AlertNotifier.d.ts.map +1 -0
  25. package/dist/widget/ChartWidget.d.ts +54 -1
  26. package/dist/widget/ChartWidget.d.ts.map +1 -1
  27. package/dist/widget/DrawingFavoritesStore.d.ts +22 -0
  28. package/dist/widget/DrawingFavoritesStore.d.ts.map +1 -0
  29. package/dist/widget/DrawingTemplateStore.d.ts +29 -0
  30. package/dist/widget/DrawingTemplateStore.d.ts.map +1 -0
  31. package/dist/widget/WidgetAlertsPanel.d.ts +58 -0
  32. package/dist/widget/WidgetAlertsPanel.d.ts.map +1 -0
  33. package/dist/widget/WidgetBracketBar.d.ts +21 -0
  34. package/dist/widget/WidgetBracketBar.d.ts.map +1 -0
  35. package/dist/widget/WidgetDataWindow.d.ts +41 -0
  36. package/dist/widget/WidgetDataWindow.d.ts.map +1 -0
  37. package/dist/widget/WidgetDepthLadder.d.ts +29 -0
  38. package/dist/widget/WidgetDepthLadder.d.ts.map +1 -0
  39. package/dist/widget/WidgetDrawingSidebar.d.ts +6 -0
  40. package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
  41. package/dist/widget/WidgetDrawingStyle.d.ts +36 -0
  42. package/dist/widget/WidgetDrawingStyle.d.ts.map +1 -0
  43. package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
  44. package/dist/widget/WidgetIndicatorSettings.d.ts +42 -0
  45. package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -0
  46. package/dist/widget/WidgetObjectTree.d.ts +59 -0
  47. package/dist/widget/WidgetObjectTree.d.ts.map +1 -0
  48. package/dist/widget/WidgetSettings.d.ts +1 -0
  49. package/dist/widget/WidgetSettings.d.ts.map +1 -1
  50. package/dist/widget/WidgetSymbolSearch.d.ts +3 -1
  51. package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
  52. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  53. package/dist/widget/icons.d.ts.map +1 -1
  54. package/dist/widget/index.cjs +932 -15
  55. package/dist/widget/index.cjs.map +1 -1
  56. package/dist/widget/index.js +1824 -157
  57. package/dist/widget/index.js.map +1 -1
  58. package/dist/widget/ladderRows.d.ts +21 -0
  59. package/dist/widget/ladderRows.d.ts.map +1 -0
  60. package/dist/widget/types.d.ts +72 -1
  61. package/dist/widget/types.d.ts.map +1 -1
  62. package/dist/widget/widgetConfig.d.ts.map +1 -1
  63. package/dist/widget/widgetShareState.d.ts +26 -0
  64. package/dist/widget/widgetShareState.d.ts.map +1 -0
  65. package/package.json +3 -3
  66. package/dist/DragDropImporter-6QOjnfSj.js.map +0 -1
  67. package/dist/DragDropImporter-CQ3EarQn.cjs +0 -2
  68. package/dist/DragDropImporter-CQ3EarQn.cjs.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { DataSeries, TimeFrame } from '@tradecanvas/commons';
2
+ export interface ResampleOptions {
3
+ /** 0 = Sunday, 1 = Monday (default) — anchor for weekly buckets. */
4
+ weekStartsOn?: 0 | 1;
5
+ }
6
+ /**
7
+ * Aggregate a finer OHLCV series into a coarser timeframe.
8
+ *
9
+ * Bars are grouped by calendar-aware bucket (see `timeframeBucketStart`):
10
+ * open = first bar's open, high/low = extremes, close = last bar's close,
11
+ * volume = sum. Input bars are assumed sorted ascending by `time` and are
12
+ * never mutated.
13
+ *
14
+ * Upsampling (target finer than source) cannot synthesize data — pass a target
15
+ * coarser than the source. Use `inferTimeframeMs` to detect the source spacing.
16
+ */
17
+ export declare function resampleOHLCV(bars: DataSeries, target: TimeFrame, opts?: ResampleOptions): DataSeries;
18
+ /**
19
+ * Estimate the source bar spacing in milliseconds from the median gap between
20
+ * consecutive bars. Robust to occasional gaps (weekends, halts). Returns 0 for
21
+ * series with fewer than two bars.
22
+ */
23
+ export declare function inferTimeframeMs(bars: DataSeries): number;
24
+ /**
25
+ * Whether `target` is coarser than (or equal to) the source spacing, i.e. a
26
+ * valid downsample. A non-positive `sourceMs` (unknown) is treated as valid.
27
+ */
28
+ export declare function canResample(sourceMs: number, target: TimeFrame): boolean;
29
+ //# sourceMappingURL=resampleOHLCV.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resampleOHLCV.d.ts","sourceRoot":"","sources":["../../src/io/resampleOHLCV.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG3E,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,eAAoB,GACzB,UAAU,CAkCZ;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAUzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAGxE"}
@@ -0,0 +1,32 @@
1
+ export interface AlertNotifyOptions {
2
+ /** Play a sound on trigger. `true` = built-in beep, string = audio URL. Default `false`. */
3
+ sound?: boolean | string;
4
+ /** Show a desktop notification (requests permission on first use). Default `false`. */
5
+ desktop?: boolean;
6
+ /** Title for desktop notifications. Default `'Price alert'`. */
7
+ title?: string;
8
+ }
9
+ /** True when the Notification API is present and not denied. */
10
+ export declare function canRequestNotifications(): boolean;
11
+ /**
12
+ * Plays a sound and/or raises a desktop notification when a price alert fires.
13
+ * Browser-API heavy by nature — every entry point is guarded so it degrades to
14
+ * a no-op in SSR, unsupported browsers, or when permission is denied.
15
+ */
16
+ export declare class AlertNotifier {
17
+ private options;
18
+ private audioCtx;
19
+ private audioEl;
20
+ private permissionAsked;
21
+ constructor(options?: AlertNotifyOptions);
22
+ setOptions(options: AlertNotifyOptions): void;
23
+ /** Fire the configured notifications for a triggered alert. */
24
+ notify(message: string): void;
25
+ private playSound;
26
+ /** A short two-tone beep via Web Audio — no asset required. */
27
+ private beep;
28
+ private ensurePermission;
29
+ private showDesktop;
30
+ destroy(): void;
31
+ }
32
+ //# sourceMappingURL=AlertNotifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertNotifier.d.ts","sourceRoot":"","sources":["../../src/widget/AlertNotifier.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,eAAe,CAAS;gBAEpB,OAAO,GAAE,kBAAuB;IAc5C,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI7C,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,CAAC,SAAS;IASjB,+DAA+D;IAC/D,OAAO,CAAC,IAAI;IAwBZ,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,WAAW;IAanB,OAAO,IAAI,IAAI;CAShB"}
@@ -1,4 +1,4 @@
1
- import { Theme, TimeFrame } from '@tradecanvas/commons';
1
+ import { Theme, TimeFrame, DepthData, DataSeries } from '@tradecanvas/commons';
2
2
  import { Chart } from '../Chart.js';
3
3
  import { ChartWidgetOptions } from './types.js';
4
4
  import { WatchlistEntry } from './WidgetWatchlist.js';
@@ -14,6 +14,16 @@ export declare class ChartWidget {
14
14
  private hotkeySheet;
15
15
  private replayBar;
16
16
  private dragDrop;
17
+ private alertsPanel;
18
+ private objectTree;
19
+ private indicatorSettings;
20
+ private drawingStyle;
21
+ private bracketBar;
22
+ private alertNotifier;
23
+ private depthLadder;
24
+ private dataWindow;
25
+ private lastHoverIndex;
26
+ private favoritesStore;
17
27
  private watchlist;
18
28
  private watchlistSparkBuffer;
19
29
  private sessionRefPrice;
@@ -32,6 +42,9 @@ export declare class ChartWidget {
32
42
  private settingsState;
33
43
  private adapter;
34
44
  private boundGlobalKeydown;
45
+ private baseSeries;
46
+ private baseTimeframeMs;
47
+ private compares;
35
48
  constructor(container: HTMLElement, options?: ChartWidgetOptions);
36
49
  /** Replace the searchable symbol catalog. Does not change the active symbol. */
37
50
  setSymbols(symbols: string[]): void;
@@ -49,6 +62,46 @@ export declare class ChartWidget {
49
62
  destroy(): void;
50
63
  private handleSymbolClick;
51
64
  private handleTimeframe;
65
+ /**
66
+ * Load the widget's base series. Prefer this over `getChart().setData()` so
67
+ * client-side timeframe resampling has a finest-resolution source to
68
+ * aggregate from. The data is rendered at the current timeframe (resampled
69
+ * when that timeframe is coarser than the data's native spacing).
70
+ */
71
+ setData(data: DataSeries): void;
72
+ /** Render the base series at the active timeframe, resampling when coarser. */
73
+ private applyTimeframeData;
74
+ private toggleAlerts;
75
+ private handleToggleFavorite;
76
+ /** Encode the current view (symbol, timeframe, chart type, scale, indicators, drawings). */
77
+ exportState(): string;
78
+ /** Restore a view from an `exportState()` string. Returns false if malformed. */
79
+ importState(encoded: string): Promise<boolean>;
80
+ /** Copy the chart image to the clipboard, with a toast on success/failure. */
81
+ copyChartImage(): Promise<void>;
82
+ /** Copy a shareable deep-link (current view encoded in the URL hash) to the clipboard. */
83
+ copyShareLink(): Promise<void>;
84
+ /** Feed order-book depth to the chart overlay, depth ladder, and heatmap. */
85
+ setDepth(depth: DepthData | null): void;
86
+ /** Begin a draggable bracket order at the latest price and show the action bar. */
87
+ startBracket(side: 'buy' | 'sell'): void;
88
+ private buildDataWindowModel;
89
+ private toggleDataWindow;
90
+ private toggleObjects;
91
+ private openIndicatorSettings;
92
+ private refreshObjects;
93
+ private handleAddCompare;
94
+ /** Overlay another symbol's normalized series. Fetches history via the adapter. */
95
+ addCompareSymbol(symbol: string): Promise<void>;
96
+ private handleRemoveCompare;
97
+ /** Refetch every comparison overlay at the current symbol/timeframe. */
98
+ private refetchCompares;
99
+ private refreshAlerts;
100
+ /** Price + every active indicator line, as selectable alert sources. */
101
+ private buildAlertSources;
102
+ /** Latest value for an alert source channel (price or indicator line). */
103
+ private getAlertChannelValue;
104
+ private formatAlertPrice;
52
105
  private handleChartType;
53
106
  private handleAddIndicator;
54
107
  private handleRemoveIndicator;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWidget.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartWidget.d.ts","sourceRoot":"","sources":["../../src/widget/ChartWidget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { KeyValueStorage } from './DrawingTemplateStore.js';
2
+ /**
3
+ * An ordered, de-duplicated set of pinned drawing-tool ids, persisted to a
4
+ * key-value store. Order is insertion order (most-recently-pinned last).
5
+ */
6
+ export declare class DrawingFavoritesStore {
7
+ private storageKey;
8
+ private storage;
9
+ private favorites;
10
+ constructor(storageKey?: string, storage?: KeyValueStorage | null);
11
+ list(): string[];
12
+ has(tool: string): boolean;
13
+ add(tool: string): void;
14
+ remove(tool: string): void;
15
+ /** Toggle a tool's pinned state. Returns the new state (true = pinned). */
16
+ toggle(tool: string): boolean;
17
+ /** Seed the favorites only when none are stored yet (first run). */
18
+ seedDefaults(tools: string[]): void;
19
+ private load;
20
+ private persist;
21
+ }
22
+ //# sourceMappingURL=DrawingFavoritesStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawingFavoritesStore.d.ts","sourceRoot":"","sources":["../../src/widget/DrawingFavoritesStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAUjE;;;GAGG;AACH,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,SAAS,CAAgB;gBAGvB,UAAU,SAAuB,EACjC,OAAO,GAAE,eAAe,GAAG,IAAuB;IAK5D,IAAI,IAAI,MAAM,EAAE;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS7B,oEAAoE;IACpE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMnC,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,OAAO;CAQhB"}
@@ -0,0 +1,29 @@
1
+ import { DrawingStyle } from '@tradecanvas/commons';
2
+ export interface DrawingStyleTemplate {
3
+ name: string;
4
+ style: Partial<DrawingStyle>;
5
+ }
6
+ /** Minimal storage surface — satisfied by `localStorage` and easy to mock. */
7
+ export interface KeyValueStorage {
8
+ getItem(key: string): string | null;
9
+ setItem(key: string, value: string): void;
10
+ }
11
+ /**
12
+ * Named drawing-style presets, persisted to a key-value store. Templates are
13
+ * upserted by name (case-sensitive) and ordered most-recently-saved last.
14
+ */
15
+ export declare class DrawingTemplateStore {
16
+ private storageKey;
17
+ private storage;
18
+ private templates;
19
+ constructor(storageKey?: string, storage?: KeyValueStorage | null);
20
+ list(): DrawingStyleTemplate[];
21
+ get(name: string): DrawingStyleTemplate | null;
22
+ /** Insert or replace a template by name. */
23
+ save(name: string, style: Partial<DrawingStyle>): void;
24
+ remove(name: string): void;
25
+ clear(): void;
26
+ private load;
27
+ private persist;
28
+ }
29
+ //# sourceMappingURL=DrawingTemplateStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawingTemplateStore.d.ts","sourceRoot":"","sources":["../../src/widget/DrawingTemplateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAyBD;;;GAGG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,SAAS,CAA8B;gBAGrC,UAAU,SAAuB,EACjC,OAAO,GAAE,eAAe,GAAG,IAAuB;IAK5D,IAAI,IAAI,oBAAoB,EAAE;IAI9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAK9C,4CAA4C;IAC5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAStD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,OAAO;CAQhB"}
@@ -0,0 +1,58 @@
1
+ import { AlertCondition } from '@tradecanvas/core';
2
+ export interface AlertListItem {
3
+ id: string;
4
+ price: number;
5
+ condition: string;
6
+ message?: string;
7
+ triggered: boolean;
8
+ channel?: string;
9
+ label?: string;
10
+ }
11
+ export interface AlertSource {
12
+ /** `'price'` or `<instanceId>:<key>`. */
13
+ channel: string;
14
+ label: string;
15
+ }
16
+ export interface AlertsPanelCallbacks {
17
+ onAdd: (price: number, condition: AlertCondition, message: string | undefined, channel: string, label: string) => void;
18
+ onRemove: (id: string) => void;
19
+ onClear: () => void;
20
+ /** Latest value for a source channel, used to prefill the add form. */
21
+ getChannelValue: (channel: string) => number | null;
22
+ formatPrice: (price: number) => string;
23
+ }
24
+ /**
25
+ * Floating price-alerts panel. Lists current alerts (with condition, price,
26
+ * message, and a delete control) and an inline form to add a new one prefilled
27
+ * with the current price. Toggled from the toolbar bell button; the host wires
28
+ * add/remove back to the chart's `AlertManager`.
29
+ */
30
+ export declare class WidgetAlertsPanel {
31
+ private el;
32
+ private listEl;
33
+ private priceInput;
34
+ private conditionSelect;
35
+ private sourceSelect;
36
+ private messageInput;
37
+ private emptyEl;
38
+ private callbacks;
39
+ private open;
40
+ private alerts;
41
+ private sources;
42
+ constructor(host: HTMLElement, callbacks: AlertsPanelCallbacks);
43
+ /** Replace the alert-source options (price + indicator lines). */
44
+ setSources(sources: AlertSource[]): void;
45
+ private renderSources;
46
+ isOpen(): boolean;
47
+ toggle(): void;
48
+ openPanel(): void;
49
+ /** Fill the value input with the selected source's current value. */
50
+ private prefillPrice;
51
+ close(): void;
52
+ /** Replace the displayed alert list. */
53
+ setAlerts(alerts: AlertListItem[]): void;
54
+ destroy(): void;
55
+ private submitForm;
56
+ private renderList;
57
+ }
58
+ //# sourceMappingURL=WidgetAlertsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetAlertsPanel.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetAlertsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uEAAuE;IACvE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAqBD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAyD;gBAE5D,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB;IAiF9D,kEAAkE;IAClE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAKxC,OAAO,CAAC,aAAa;IAarB,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAMjB,qEAAqE;IACrE,OAAO,CAAC,YAAY;IAKpB,KAAK,IAAI,IAAI;IAKb,wCAAwC;IACxC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAKxC,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,UAAU;CAiDnB"}
@@ -0,0 +1,21 @@
1
+ export interface BracketBarCallbacks {
2
+ onConfirm: () => void;
3
+ onCancel: () => void;
4
+ }
5
+ /**
6
+ * Floating confirm/cancel bar shown while a bracket order is being placed.
7
+ * The live entry / SL / TP numbers are drawn on the chart canvas; this bar
8
+ * just carries the commit and discard actions (also bound to Enter / Esc).
9
+ */
10
+ export declare class WidgetBracketBar {
11
+ private el;
12
+ private labelEl;
13
+ private callbacks;
14
+ private visible;
15
+ constructor(host: HTMLElement, callbacks: BracketBarCallbacks);
16
+ show(side: 'buy' | 'sell'): void;
17
+ hide(): void;
18
+ isVisible(): boolean;
19
+ destroy(): void;
20
+ }
21
+ //# sourceMappingURL=WidgetBracketBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetBracketBar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetBracketBar.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB;IAiC7D,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAOhC,IAAI,IAAI,IAAI;IAKZ,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,41 @@
1
+ export interface DataWindowIndicator {
2
+ name: string;
3
+ values: {
4
+ key: string;
5
+ value: number;
6
+ }[];
7
+ }
8
+ export interface DataWindowModel {
9
+ ohlc: {
10
+ open: number;
11
+ high: number;
12
+ low: number;
13
+ close: number;
14
+ volume: number;
15
+ } | null;
16
+ change: number;
17
+ changePct: number;
18
+ indicators: DataWindowIndicator[];
19
+ }
20
+ export interface DataWindowCallbacks {
21
+ formatPrice: (price: number) => string;
22
+ }
23
+ /**
24
+ * Data Window — a floating readout of the exact O/H/L/C/V, change, and every
25
+ * active indicator value at the hovered bar. Updated from `crosshairMove`.
26
+ */
27
+ export declare class WidgetDataWindow {
28
+ private el;
29
+ private bodyEl;
30
+ private callbacks;
31
+ private open;
32
+ constructor(host: HTMLElement, callbacks: DataWindowCallbacks);
33
+ isOpen(): boolean;
34
+ toggle(): void;
35
+ openPanel(): void;
36
+ close(): void;
37
+ destroy(): void;
38
+ render(model: DataWindowModel): void;
39
+ private row;
40
+ }
41
+ //# sourceMappingURL=WidgetDataWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetDataWindow.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDataWindow.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB;IA4B7D,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAkCpC,OAAO,CAAC,GAAG;CAaZ"}
@@ -0,0 +1,29 @@
1
+ import { DepthData } from '@tradecanvas/commons';
2
+ export interface DepthLadderCallbacks {
3
+ /** Buy at `price` (clicked an ask cell) or sell at `price` (clicked a bid cell). */
4
+ onTrade: (side: 'buy' | 'sell', price: number) => void;
5
+ formatPrice: (price: number) => string;
6
+ }
7
+ /**
8
+ * Depth-of-market ladder (DOM). Renders the order book as price rows with bid
9
+ * and ask size columns; clicking an ask cell buys at that price, a bid cell
10
+ * sells. Fed by `setData(depth)`; the bar widths scale to the largest visible
11
+ * size.
12
+ */
13
+ export declare class WidgetDepthLadder {
14
+ private el;
15
+ private bodyEl;
16
+ private callbacks;
17
+ private open;
18
+ private levels;
19
+ constructor(host: HTMLElement, callbacks: DepthLadderCallbacks, levels?: number);
20
+ isOpen(): boolean;
21
+ toggle(): void;
22
+ openPanel(): void;
23
+ close(): void;
24
+ setData(depth: DepthData | null): void;
25
+ destroy(): void;
26
+ private renderEmpty;
27
+ private render;
28
+ }
29
+ //# sourceMappingURL=WidgetDepthLadder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetDepthLadder.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDepthLadder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,SAAK;IAkC3E,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAQtC,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,MAAM;CAiDf"}
@@ -8,8 +8,14 @@ export declare class WidgetDrawingSidebar {
8
8
  private cursorBtn;
9
9
  private magnetBtn;
10
10
  private flyoutEl;
11
+ private favoritesEl;
12
+ private favoritesDivider;
13
+ private favorites;
11
14
  constructor(host: HTMLElement, config: SidebarConfig, callbacks: SidebarCallbacks);
12
15
  private build;
16
+ /** Update the pinned-tools strip. */
17
+ setFavorites(favorites: string[]): void;
18
+ private renderFavorites;
13
19
  private showFlyout;
14
20
  private hideFlyout;
15
21
  update(state: WidgetState): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDrawingSidebar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDrawingSidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO/E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;gBAEnC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IASjF,OAAO,CAAC,KAAK;IA8Eb,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,UAAU;IAOlB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA4BhC,OAAO,CAAC,OAAO;IAMf,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"WidgetDrawingSidebar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDrawingSidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC/E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,SAAS,CAAgB;gBAErB,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IASjF,OAAO,CAAC,KAAK;IAmGb,qCAAqC;IACrC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,UAAU;IAsClB,OAAO,CAAC,UAAU;IAOlB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA4BhC,OAAO,CAAC,OAAO;IAMf,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,36 @@
1
+ import { DrawingStyle } from '@tradecanvas/commons';
2
+ import { DrawingTemplateStore } from './DrawingTemplateStore.js';
3
+ export interface DrawingStyleCallbacks {
4
+ /** Apply a style change to the active (next) drawing and the selected one. */
5
+ onStyleChange: (style: Partial<DrawingStyle>) => void;
6
+ /** Current active drawing style, for seeding controls and saving templates. */
7
+ getStyle: () => DrawingStyle;
8
+ }
9
+ /**
10
+ * Drawing style popover — pick colour, line width, and line style for the next
11
+ * drawing (and the selected one), plus save/apply named style templates
12
+ * persisted via `DrawingTemplateStore`.
13
+ */
14
+ export declare class WidgetDrawingStyle {
15
+ private el;
16
+ private templatesEl;
17
+ private nameInput;
18
+ private callbacks;
19
+ private store;
20
+ private open;
21
+ constructor(host: HTMLElement, callbacks: DrawingStyleCallbacks, store: DrawingTemplateStore);
22
+ isOpen(): boolean;
23
+ toggle(): void;
24
+ openPanel(): void;
25
+ close(): void;
26
+ destroy(): void;
27
+ private colorRow;
28
+ private widthRow;
29
+ private lineStyleRow;
30
+ private applyStyle;
31
+ /** Mark the controls matching the current active style. */
32
+ private syncActiveControls;
33
+ private saveTemplate;
34
+ private renderTemplates;
35
+ }
36
+ //# sourceMappingURL=WidgetDrawingStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetDrawingStyle.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDrawingStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACtD,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,YAAY,CAAC;CAC9B;AAMD;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB;IAuD5F,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAOjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,UAAU;IAKlB,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;CA4CxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetHotkeySheet.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetHotkeySheet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAwDD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAA6B;gBAErC,SAAS,EAAE,oBAAoB;IAU3C,IAAI,IAAI,IAAI;IAsFZ,KAAK,IAAI,IAAI;IASb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"WidgetHotkeySheet.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetHotkeySheet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAiED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAA6B;gBAErC,SAAS,EAAE,oBAAoB;IAU3C,IAAI,IAAI,IAAI;IAsFZ,KAAK,IAAI,IAAI;IASb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,42 @@
1
+ export type IndicatorParamValue = number | string | boolean;
2
+ export interface IndicatorSettingsTarget {
3
+ instanceId: string;
4
+ name: string;
5
+ /** Default config — defines the editable keys and their types. */
6
+ defaults: Record<string, unknown>;
7
+ /** Current values, overlaid on defaults. */
8
+ params: Record<string, unknown>;
9
+ }
10
+ export interface IndicatorSettingsCallbacks {
11
+ onApply: (instanceId: string, params: Record<string, IndicatorParamValue>) => void;
12
+ onClose: () => void;
13
+ }
14
+ /**
15
+ * Per-indicator parameter editor. Introspects the indicator's default config to
16
+ * decide each control (number → stepper, boolean → toggle, hex string → color,
17
+ * other string → text) and applies edits live via `onApply`.
18
+ */
19
+ export declare class WidgetIndicatorSettings {
20
+ private backdrop;
21
+ private modal;
22
+ private bodyEl;
23
+ private titleEl;
24
+ private callbacks;
25
+ private target;
26
+ private draft;
27
+ constructor(host: HTMLElement, callbacks: IndicatorSettingsCallbacks);
28
+ open(target: IndicatorSettingsTarget): void;
29
+ close(): void;
30
+ isOpen(): boolean;
31
+ destroy(): void;
32
+ private currentValue;
33
+ private setValue;
34
+ private resetDefaults;
35
+ private renderFields;
36
+ private fieldRow;
37
+ private toggleControl;
38
+ private numberControl;
39
+ private colorControl;
40
+ private textControl;
41
+ }
42
+ //# sourceMappingURL=WidgetIndicatorSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetIndicatorSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorSettings.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACnF,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAYD;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,KAAK,CAA2C;gBAE5C,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,0BAA0B;IAgDpE,IAAI,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAQ3C,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,WAAW;CAQpB"}
@@ -0,0 +1,59 @@
1
+ export interface ObjectTreeIndicator {
2
+ instanceId: string;
3
+ name: string;
4
+ visible: boolean;
5
+ }
6
+ export interface ObjectTreeDrawing {
7
+ id: string;
8
+ label: string;
9
+ visible: boolean;
10
+ locked: boolean;
11
+ }
12
+ export interface ObjectTreeCompare {
13
+ id: string;
14
+ label: string;
15
+ color: string;
16
+ }
17
+ export interface ObjectTreeCallbacks {
18
+ onRemoveIndicator: (instanceId: string) => void;
19
+ onConfigureIndicator?: (instanceId: string) => void;
20
+ onToggleIndicatorVisible?: (instanceId: string, visible: boolean) => void;
21
+ onRemoveDrawing: (id: string) => void;
22
+ onToggleDrawingVisible: (id: string, visible: boolean) => void;
23
+ onToggleDrawingLocked: (id: string, locked: boolean) => void;
24
+ /** When provided, a Compare section with an "add" button is shown. */
25
+ onAddCompare?: () => void;
26
+ onRemoveCompare?: (id: string) => void;
27
+ }
28
+ /**
29
+ * Object-tree panel — TradingView's layers manager. Lists every active
30
+ * indicator and drawing on the chart with per-item controls: indicators can be
31
+ * removed; drawings can be shown/hidden, locked/unlocked, and removed. Toggled
32
+ * from the toolbar layers button; the host wires actions back to the chart.
33
+ */
34
+ export declare class WidgetObjectTree {
35
+ private el;
36
+ private indicatorsEl;
37
+ private drawingsEl;
38
+ private compareEl;
39
+ private callbacks;
40
+ private open;
41
+ constructor(host: HTMLElement, callbacks: ObjectTreeCallbacks);
42
+ isOpen(): boolean;
43
+ toggle(): void;
44
+ openPanel(): void;
45
+ close(): void;
46
+ destroy(): void;
47
+ /** Replace all lists. Cheap full re-render — counts are small. */
48
+ setObjects(indicators: ObjectTreeIndicator[], drawings: ObjectTreeDrawing[], compares?: ObjectTreeCompare[]): void;
49
+ private makeSection;
50
+ private renderIndicators;
51
+ private renderDrawings;
52
+ private renderCompares;
53
+ private row;
54
+ private emptyRow;
55
+ private iconButton;
56
+ }
57
+ /** Human-readable label for a drawing type, falling back to the raw key. */
58
+ export declare function drawingTypeLabel(type: string): string;
59
+ //# sourceMappingURL=WidgetObjectTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetObjectTree.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetObjectTree.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB;IA8B7D,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,kEAAkE;IAClE,UAAU,CACR,UAAU,EAAE,mBAAmB,EAAE,EACjC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,GAAE,iBAAiB,EAAO,GACjC,IAAI;IAMP,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;CAUnB;AA6BD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -20,6 +20,7 @@ export declare class WidgetSettings {
20
20
  private colorRow;
21
21
  private toggleRow;
22
22
  private selectRow;
23
+ private rangeRow;
23
24
  destroy(): void;
24
25
  }
25
26
  //# sourceMappingURL=WidgetSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAA2B;gBAEjC,SAAS,EAAE,iBAAiB;IAIxC,IAAI,CAAC,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAM/C,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,UAAU;IAuFlB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,QAAQ;IA+BhB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IA4BjB,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAA2B;gBAEjC,SAAS,EAAE,iBAAiB;IAIxC,IAAI,CAAC,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAM/C,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,UAAU;IAuFlB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,gBAAgB;IAyDxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,QAAQ;IA+BhB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,QAAQ;IA2ChB,OAAO,IAAI,IAAI;CAGhB"}
@@ -18,8 +18,10 @@ export declare class WidgetSymbolSearch {
18
18
  private selectedIndex;
19
19
  private callbacks;
20
20
  private boundKeydown;
21
+ /** One-shot pick override — when set, this open() routes picks here instead. */
22
+ private pickOverride;
21
23
  constructor(callbacks: SymbolSearchCallbacks);
22
- open(symbols: string[], current: string): void;
24
+ open(symbols: string[], current: string, onPick?: (symbol: string) => void): void;
23
25
  close(): void;
24
26
  isOpen(): boolean;
25
27
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetSymbolSearch.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSymbolSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAOD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,YAAY,CAA6B;gBAErC,SAAS,EAAE,qBAAqB;IAK5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAuD9C,KAAK,IAAI,IAAI;IAWb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,UAAU;IA0ClB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,aAAa;CA0BtB"}
1
+ {"version":3,"file":"WidgetSymbolSearch.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSymbolSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAOD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,YAAY,CAA6B;IACjD,gFAAgF;IAChF,OAAO,CAAC,YAAY,CAA2C;gBAEnD,SAAS,EAAE,qBAAqB;IAK5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAwDjF,KAAK,IAAI,IAAI;IAYb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,UAAU;IA0ClB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,aAAa;CA0BtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetToolbar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetToolbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAIhG,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IASjF,OAAO,CAAC,KAAK;IAkFb,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,kBAAkB;IA4B1B,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAwDhC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IASf,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"WidgetToolbar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetToolbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAIhG,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IASjF,OAAO,CAAC,KAAK;IAgHb,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,kBAAkB;IA4B1B,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAwDhC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IASf,OAAO,IAAI,IAAI;CAKhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AA4BA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAI1D"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AAuCA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAI1D"}