@tradecanvas/chart 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Chart.d.ts +6 -0
- package/dist/Chart.d.ts.map +1 -1
- package/dist/{LayoutSession-BE7ZZGLi.js → LayoutSession-CUS33zmB.js} +9 -3
- package/dist/LayoutSession-CUS33zmB.js.map +1 -0
- package/dist/LayoutSession-CYdvbLA3.cjs +2 -0
- package/dist/LayoutSession-CYdvbLA3.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/widget/ChartWidget.d.ts +26 -2
- package/dist/widget/ChartWidget.d.ts.map +1 -1
- package/dist/widget/WidgetCommandPalette.d.ts.map +1 -1
- package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
- package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
- package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
- package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
- package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
- package/dist/widget/footerHints.d.ts +7 -0
- package/dist/widget/footerHints.d.ts.map +1 -0
- package/dist/widget/iconSet.d.ts +1 -25
- package/dist/widget/iconSet.d.ts.map +1 -1
- package/dist/widget/index.cjs +37 -17
- package/dist/widget/index.cjs.map +1 -1
- package/dist/widget/index.js +666 -1136
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/widgetFeatures.d.ts +2 -2
- package/dist/widget/widgetFeatures.d.ts.map +1 -1
- package/dist/widget/widgetTimeframes.d.ts +28 -0
- package/dist/widget/widgetTimeframes.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/LayoutSession-BE7ZZGLi.js.map +0 -1
- package/dist/LayoutSession-BnRz0zSL.cjs +0 -2
- package/dist/LayoutSession-BnRz0zSL.cjs.map +0 -1
|
@@ -7,7 +7,7 @@ import { DrawingMenuAction } from './drawingMenu.js';
|
|
|
7
7
|
* its menu entries, its command, its keys); a dotted name is one place.
|
|
8
8
|
* The names are a contract: new ones are added, none is renamed.
|
|
9
9
|
*/
|
|
10
|
-
export declare const WIDGET_FEATURES: readonly ["toolbar", "sidebar", "statusBar", "alerts", "objectTree", "symbolInfo", "symbolSearch", "settings", "indicatorSettings", "drawingSettings", "dataWindow", "commandPalette", "hotkeySheet", "goToDate", "replay", "screenshot", "copyImage", "shareView", "autoFib", "themeToggle", "fullscreen", "accountPanel", "orderTicket", "bracketOrders", "depthLadder", "layouts", "indicatorTemplates", "compare", "indicatorLegend", "navigation", "customTimeframes", "intervalTyping", "dragDropImport", "hotkeys", "toasts", "toolbar.symbol", "toolbar.symbolInfo", "toolbar.timeframes", "toolbar.timeframeMenu", "toolbar.chartType", "toolbar.indicators", "toolbar.layouts", "toolbar.replay", "toolbar.bracketOrders", "toolbar.depthLadder", "toolbar.accountPanel", "toolbar.objectTree", "toolbar.alerts", "toolbar.screenshot", "toolbar.settings", "toolbar.themeToggle", "toolbar.fullscreen", "sidebar.cursor", "sidebar.favorites", "sidebar.lines", "sidebar.fibonacci", "sidebar.patterns", "sidebar.forecasting", "sidebar.annotation", "sidebar.style", "sidebar.magnet", "sidebar.eraser", "sidebar.zoomArea", "sidebar.stayInDrawing", "sidebar.undo", "sidebar.redo", "sidebar.clear", "statusBar.range", "statusBar.goToDate", "statusBar.market", "statusBar.connection", "statusBar.symbol", "indicatorLegend.values", "indicatorLegend.visibility", "indicatorLegend.settings", "indicatorLegend.remove", "indicatorLegend.more", "pane.move", "pane.collapse", "pane.maximize", "navigation.zoom", "navigation.scroll", "navigation.reset", "menu.chart", "menu.chart.alert", "menu.chart.order", "menu.chart.orderTicket", "menu.chart.horizontalLine", "menu.chart.resetView", "menu.chart.drawings", "menu.chart.exportData", "menu.chart.settings", "menu.chart.scale", "menu.chart.goToDate", "menu.chart.paneScale", "menu.priceAxisAdd", "menu.drawing", "menu.drawing.settings", "menu.drawing.alert", "menu.drawing.order", "menu.drawing.group", "menu.drawing.lock", "menu.drawing.hide", "menu.drawing.duplicate", "menu.drawing.delete", "selectionToolbar", "hotkeys.commandPalette", "hotkeys.symbolSearch", "hotkeys.save", "hotkeys.tools", "hotkeys.invertScale", "hotkeys.goToDate", "hotkeys.help"];
|
|
10
|
+
export declare const WIDGET_FEATURES: readonly ["toolbar", "sidebar", "statusBar", "alerts", "objectTree", "symbolInfo", "symbolSearch", "settings", "indicatorSettings", "drawingSettings", "dataWindow", "commandPalette", "hotkeySheet", "goToDate", "replay", "screenshot", "copyImage", "shareView", "autoFib", "themeToggle", "fullscreen", "accountPanel", "orderTicket", "bracketOrders", "depthLadder", "layouts", "indicatorTemplates", "compare", "indicatorLegend", "navigation", "customTimeframes", "intervalTyping", "dragDropImport", "hotkeys", "toasts", "toolbar.symbol", "toolbar.symbolInfo", "toolbar.timeframes", "toolbar.timeframeMenu", "toolbar.chartType", "toolbar.indicators", "toolbar.layouts", "toolbar.replay", "toolbar.bracketOrders", "toolbar.depthLadder", "toolbar.accountPanel", "toolbar.objectTree", "toolbar.alerts", "toolbar.screenshot", "toolbar.settings", "toolbar.themeToggle", "toolbar.fullscreen", "sidebar.cursor", "sidebar.favorites", "sidebar.lines", "sidebar.fibonacci", "sidebar.patterns", "sidebar.forecasting", "sidebar.annotation", "sidebar.style", "sidebar.magnet", "sidebar.eraser", "sidebar.zoomArea", "sidebar.stayInDrawing", "sidebar.undo", "sidebar.redo", "sidebar.clear", "statusBar.range", "statusBar.goToDate", "statusBar.market", "statusBar.connection", "statusBar.symbol", "statusBar.rangeTimeframe", "indicatorLegend.values", "indicatorLegend.visibility", "indicatorLegend.settings", "indicatorLegend.remove", "indicatorLegend.more", "pane.move", "pane.collapse", "pane.maximize", "navigation.zoom", "navigation.scroll", "navigation.reset", "menu.chart", "menu.chart.alert", "menu.chart.order", "menu.chart.orderTicket", "menu.chart.horizontalLine", "menu.chart.resetView", "menu.chart.drawings", "menu.chart.exportData", "menu.chart.settings", "menu.chart.scale", "menu.chart.goToDate", "menu.chart.paneScale", "menu.priceAxisAdd", "menu.drawing", "menu.drawing.settings", "menu.drawing.alert", "menu.drawing.order", "menu.drawing.group", "menu.drawing.lock", "menu.drawing.hide", "menu.drawing.duplicate", "menu.drawing.delete", "selectionToolbar", "hotkeys.commandPalette", "hotkeys.symbolSearch", "hotkeys.save", "hotkeys.tools", "hotkeys.invertScale", "hotkeys.goToDate", "hotkeys.help"];
|
|
11
11
|
export type WidgetFeature = (typeof WIDGET_FEATURES)[number];
|
|
12
12
|
/** Switches to turn on (`true`) or off (`false`), by name. */
|
|
13
13
|
export type WidgetFeatures = Partial<Record<WidgetFeature, boolean>>;
|
|
@@ -19,7 +19,7 @@ export declare const LEGACY_FEATURE_OPTIONS: {
|
|
|
19
19
|
readonly drawingTools: readonly ["sidebar", "drawingSettings", "hotkeys.tools", "menu.chart.horizontalLine"];
|
|
20
20
|
readonly settings: readonly ["settings"];
|
|
21
21
|
readonly statusBar: readonly ["statusBar", "goToDate"];
|
|
22
|
-
readonly rangeBar: readonly ["statusBar.range", "goToDate"];
|
|
22
|
+
readonly rangeBar: readonly ["statusBar.range", "statusBar.rangeTimeframe", "goToDate"];
|
|
23
23
|
readonly indicatorLegend: readonly ["indicatorLegend"];
|
|
24
24
|
readonly fullscreen: readonly ["fullscreen"];
|
|
25
25
|
readonly alerts: readonly ["alerts"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetFeatures.d.ts","sourceRoot":"","sources":["../../src/widget/widgetFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"widgetFeatures.d.ts","sourceRoot":"","sources":["../../src/widget/widgetFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,upEAqClB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AACrE,+BAA+B;AAC/B,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAI1E,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CAiB0B,CAAC;AAE9D,KAAK,aAAa,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,sBAAsB,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAEvF,wGAAwG;AACxG,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,aAAa,EAAE,CAAC,CAsB3F,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,aAAa,EAAE,CAAC,CAc/F,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CASpE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAYjE;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAOlH;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAE7D;AAeD,0HAA0H;AAC1H,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,+FAA+F;AAC/F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAEzE;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAE1D;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CA4BvG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EACjD,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC,EAC1D,KAAK,EAAE,kBAAkB,GACxB,gBAAgB,EAAE,CAYpB"}
|
|
@@ -25,4 +25,32 @@ export declare function initialTimeframeFavorites(available: TimeFrame[], hostDe
|
|
|
25
25
|
export declare function parseTimeframeInput(text: string): TimeFrame | null;
|
|
26
26
|
/** `list` plus `extra`, without repeats, leaving out what the whitelist excludes, shortest first. */
|
|
27
27
|
export declare function withExtraTimeframes(list: TimeFrame[], extra: TimeFrame[], whitelist?: TimeFrame[]): TimeFrame[];
|
|
28
|
+
/** A range should give each bar at least this many pixels, to read as a candle. */
|
|
29
|
+
export declare const RANGE_MIN_BAR_PX = 2;
|
|
30
|
+
export interface RangeTimeframeQuery {
|
|
31
|
+
/** The range's span, ms. */
|
|
32
|
+
spanMs: number;
|
|
33
|
+
/** Bars of the current timeframe in that span. */
|
|
34
|
+
barsInSpan: number;
|
|
35
|
+
/** The plot's width, px. */
|
|
36
|
+
width: number;
|
|
37
|
+
current: TimeFrame;
|
|
38
|
+
/** The timeframe the user picked: a range never goes finer than it. */
|
|
39
|
+
chosen: TimeFrame;
|
|
40
|
+
/** The timeframes on offer. */
|
|
41
|
+
available: readonly TimeFrame[];
|
|
42
|
+
/** The share of calendar days a daily series has bars on: 5/7 (weekdays) unless said. */
|
|
43
|
+
dayShare?: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The timeframe a range on the range bar shows in: the finest, from the
|
|
47
|
+
* user's own up, whose bars for the span get `RANGE_MIN_BAR_PX` each. Five
|
|
48
|
+
* years of days go to weeks, decades to months; a short range afterwards
|
|
49
|
+
* comes back to the user's. Bars are counted from the current ones: scaled
|
|
50
|
+
* for intraday steps (sessions stay the same), from the calendar for days
|
|
51
|
+
* and longer (days the market trades: `dayShare`). Only the bars loaded
|
|
52
|
+
* count, so 'All' is the history on hand. None fits: the coarsest. Tick
|
|
53
|
+
* timeframes stay as they are.
|
|
54
|
+
*/
|
|
55
|
+
export declare function timeframeForRange(q: RangeTimeframeQuery): TimeFrame;
|
|
28
56
|
//# sourceMappingURL=widgetTimeframes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetTimeframes.d.ts","sourceRoot":"","sources":["../../src/widget/widgetTimeframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAyE,CAAC;AAEnH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,EAAE,SAAS,EAA0C,CAAC;AAI7F,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGpD;AAYD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMlG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EAAE,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,EAC1B,aAAa,UAAQ,GACpB,SAAS,EAAE,CAKb;AAaD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkBlE;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAI/G"}
|
|
1
|
+
{"version":3,"file":"widgetTimeframes.d.ts","sourceRoot":"","sources":["../../src/widget/widgetTimeframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAyE,CAAC;AAEnH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,EAAE,SAAS,EAA0C,CAAC;AAI7F,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGpD;AAYD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMlG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EAAE,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,EAC1B,aAAa,UAAQ,GACpB,SAAS,EAAE,CAKb;AAaD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkBlE;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAI/G;AAED,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAMlC,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,MAAM,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IAChC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAoBnE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradecanvas/chart",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "High-performance canvas trading chart with built-in indicators, drawing tools, and real-time streaming. Zero external dependencies.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"README.md"
|
|
59
59
|
],
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@tradecanvas/commons": "1.
|
|
62
|
-
"@tradecanvas/core": "1.
|
|
61
|
+
"@tradecanvas/commons": "1.27.0",
|
|
62
|
+
"@tradecanvas/core": "1.27.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"jsdom": "^25.0.1",
|