@tradecanvas/core 0.8.2 → 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.
- package/dist/axis/PriceAxis.d.ts.map +1 -1
- package/dist/axis/TimeAxis.d.ts +3 -0
- package/dist/axis/TimeAxis.d.ts.map +1 -1
- package/dist/charts/DepthHeatmapBuffer.d.ts +25 -0
- package/dist/charts/DepthHeatmapBuffer.d.ts.map +1 -0
- package/dist/charts/DepthHeatmapRenderer.d.ts +24 -0
- package/dist/charts/DepthHeatmapRenderer.d.ts.map +1 -0
- package/dist/charts/MarketProfileRenderer.d.ts +53 -0
- package/dist/charts/MarketProfileRenderer.d.ts.map +1 -0
- package/dist/charts/PeriodLevelsRenderer.d.ts +17 -0
- package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -0
- package/dist/charts/PivotMarkersRenderer.d.ts +21 -0
- package/dist/charts/PivotMarkersRenderer.d.ts.map +1 -0
- package/dist/charts/VolumeProfileRenderer.d.ts +36 -0
- package/dist/charts/VolumeProfileRenderer.d.ts.map +1 -0
- package/dist/charts/index.d.ts +14 -0
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/marketProfile.d.ts +69 -0
- package/dist/charts/marketProfile.d.ts.map +1 -0
- package/dist/charts/periodLevels.d.ts +15 -0
- package/dist/charts/periodLevels.d.ts.map +1 -0
- package/dist/charts/pivots.d.ts +26 -0
- package/dist/charts/pivots.d.ts.map +1 -0
- package/dist/drawings/DrawingManager.d.ts +21 -0
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/autoFib.d.ts +10 -0
- package/dist/drawings/autoFib.d.ts.map +1 -0
- package/dist/drawings/index.d.ts +1 -0
- package/dist/drawings/index.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +7 -0
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts +26 -4
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/MeasureOverlay.d.ts +27 -0
- package/dist/features/MeasureOverlay.d.ts.map +1 -0
- package/dist/features/ReplayManager.d.ts +5 -0
- package/dist/features/ReplayManager.d.ts.map +1 -1
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/index.cjs +8 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3961 -749
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +4 -0
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/indicators/index.d.ts +33 -0
- package/dist/indicators/index.d.ts.map +1 -1
- package/dist/indicators/overlay/Alligator.d.ts +28 -0
- package/dist/indicators/overlay/Alligator.d.ts.map +1 -0
- package/dist/indicators/overlay/ChandelierExit.d.ts +23 -0
- package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -0
- package/dist/indicators/overlay/MTFMovingAverage.d.ts +23 -0
- package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -0
- package/dist/indicators/overlay/SessionVWAP.d.ts +26 -0
- package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -0
- package/dist/indicators/panel/AcceleratorOscillator.d.ts +24 -0
- package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/BalanceOfPower.d.ts +20 -0
- package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -0
- package/dist/indicators/panel/ChaikinVolatility.d.ts +23 -0
- package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -0
- package/dist/indicators/panel/ChandeMomentum.d.ts +22 -0
- package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -0
- package/dist/indicators/panel/ChoppinessIndex.d.ts +22 -0
- package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -0
- package/dist/indicators/panel/ConnorsRSI.d.ts +25 -0
- package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -0
- package/dist/indicators/panel/Coppock.d.ts +24 -0
- package/dist/indicators/panel/Coppock.d.ts.map +1 -0
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +21 -0
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/DisparityIndex.d.ts +22 -0
- package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -0
- package/dist/indicators/panel/EaseOfMovement.d.ts +25 -0
- package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -0
- package/dist/indicators/panel/ElderRay.d.ts +22 -0
- package/dist/indicators/panel/ElderRay.d.ts.map +1 -0
- package/dist/indicators/panel/FisherTransform.d.ts +21 -0
- package/dist/indicators/panel/FisherTransform.d.ts.map +1 -0
- package/dist/indicators/panel/ForceIndex.d.ts +21 -0
- package/dist/indicators/panel/ForceIndex.d.ts.map +1 -0
- package/dist/indicators/panel/KST.d.ts +29 -0
- package/dist/indicators/panel/KST.d.ts.map +1 -0
- package/dist/indicators/panel/Klinger.d.ts +26 -0
- package/dist/indicators/panel/Klinger.d.ts.map +1 -0
- package/dist/indicators/panel/MassIndex.d.ts +21 -0
- package/dist/indicators/panel/MassIndex.d.ts.map +1 -0
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts +24 -0
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts +23 -0
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/PriceVolumeTrend.d.ts +20 -0
- package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -0
- package/dist/indicators/panel/Qstick.d.ts +23 -0
- package/dist/indicators/panel/Qstick.d.ts.map +1 -0
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts +22 -0
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -0
- package/dist/indicators/panel/RelativeVigor.d.ts +21 -0
- package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -0
- package/dist/indicators/panel/SchaffTrendCycle.d.ts +23 -0
- package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -0
- package/dist/indicators/panel/StochasticRSI.d.ts +23 -0
- package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -0
- package/dist/indicators/panel/TRIX.d.ts +22 -0
- package/dist/indicators/panel/TRIX.d.ts.map +1 -0
- package/dist/indicators/panel/UltimateOscillator.d.ts +25 -0
- package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeDelta.d.ts +22 -0
- package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -0
- package/dist/indicators/panel/Vortex.d.ts +21 -0
- package/dist/indicators/panel/Vortex.d.ts.map +1 -0
- package/dist/indicators/panel/WilliamsAD.d.ts +21 -0
- package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -0
- package/dist/indicators/registry.d.ts.map +1 -1
- package/dist/interaction/AlertDragHandler.d.ts +21 -0
- package/dist/interaction/AlertDragHandler.d.ts.map +1 -0
- package/dist/interaction/AxisDragHandler.d.ts +32 -0
- package/dist/interaction/AxisDragHandler.d.ts.map +1 -0
- package/dist/interaction/CrosshairHandler.d.ts +12 -0
- package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +50 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PinnedTooltip.d.ts +39 -0
- package/dist/interaction/PinnedTooltip.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +3 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/trading/BracketTool.d.ts +46 -0
- package/dist/trading/BracketTool.d.ts.map +1 -0
- package/dist/trading/TradingManager.d.ts +8 -1
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/index.d.ts +2 -0
- package/dist/trading/index.d.ts.map +1 -1
- package/dist/ui/SessionBreaks.d.ts +6 -6
- package/dist/ui/SessionBreaks.d.ts.map +1 -1
- package/dist/ui/SessionShading.d.ts +19 -0
- package/dist/ui/SessionShading.d.ts.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/sessionHours.d.ts +17 -0
- package/dist/ui/sessionHours.d.ts.map +1 -0
- package/dist/viewport/Viewport.d.ts +12 -1
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { OHLCBar, Theme, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* Pinned OHLC tooltip — a second DOM tooltip anchored to a specific bar index.
|
|
4
|
+
*
|
|
5
|
+
* Designed to work alongside the live `CrosshairTooltip`: user pins bar A
|
|
6
|
+
* (Alt+click), then hovers bar B → the live tooltip shows bar B, the pinned
|
|
7
|
+
* tooltip stays on bar A, and the delta strip on the pinned tooltip shows
|
|
8
|
+
* price / time / bar-count differences between the two.
|
|
9
|
+
*
|
|
10
|
+
* Implementation notes:
|
|
11
|
+
* - DOM rather than canvas so the same styling pipeline as the live
|
|
12
|
+
* tooltip is reused (and text remains selectable for screen readers).
|
|
13
|
+
* - Positioning is driven externally via `reposition()` so the Chart can
|
|
14
|
+
* batch it inside its sync loop instead of paying for a per-frame DOM
|
|
15
|
+
* read.
|
|
16
|
+
* - Uses `transform: translate(...)` for repositioning to stay on the
|
|
17
|
+
* compositor layer.
|
|
18
|
+
*/
|
|
19
|
+
export declare class PinnedTooltip {
|
|
20
|
+
private el;
|
|
21
|
+
private deltaEl;
|
|
22
|
+
private timeEl;
|
|
23
|
+
private ohlcEl;
|
|
24
|
+
private pinnedBar;
|
|
25
|
+
private pinnedIndex;
|
|
26
|
+
create(container: HTMLElement): void;
|
|
27
|
+
pin(bar: OHLCBar, barIndex: number, theme: Theme): void;
|
|
28
|
+
unpin(): void;
|
|
29
|
+
isPinned(): boolean;
|
|
30
|
+
getPinnedIndex(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Reposition the tooltip at the pinned bar's screen X, and refresh the
|
|
33
|
+
* delta strip against the bar currently under the crosshair. Called by
|
|
34
|
+
* the Chart on every viewport sync (cheap — only DOM writes).
|
|
35
|
+
*/
|
|
36
|
+
reposition(viewport: ViewportState, hoverBar: OHLCBar | null, hoverIndex: number | null, theme: Theme): void;
|
|
37
|
+
destroy(): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=PinnedTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PinnedTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/PinnedTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,WAAW,CAAM;IAEzB,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IA4CpC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IA+BvD,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAInB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAiC5G,OAAO,IAAI,IAAI;CAShB"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export { InteractionManager } from './InteractionManager.js';
|
|
2
2
|
export { PanHandler } from './PanHandler.js';
|
|
3
3
|
export { ZoomHandler } from './ZoomHandler.js';
|
|
4
|
+
export { AxisDragHandler } from './AxisDragHandler.js';
|
|
5
|
+
export { AlertDragHandler } from './AlertDragHandler.js';
|
|
4
6
|
export { CrosshairHandler } from './CrosshairHandler.js';
|
|
5
7
|
export type { CrosshairMode } from './CrosshairHandler.js';
|
|
6
8
|
export { KeyboardHandler } from './KeyboardHandler.js';
|
|
7
9
|
export { CrosshairTooltip } from './CrosshairTooltip.js';
|
|
10
|
+
export { PinnedTooltip } from './PinnedTooltip.js';
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { OrderSide, Point, ViewportState, Theme } from '@tradecanvas/commons';
|
|
2
|
+
export type BracketHandle = 'entry' | 'sl' | 'tp';
|
|
3
|
+
export interface BracketDraft {
|
|
4
|
+
side: OrderSide;
|
|
5
|
+
entry: number;
|
|
6
|
+
stopLoss: number;
|
|
7
|
+
takeProfit: number;
|
|
8
|
+
}
|
|
9
|
+
export interface BracketDefaultsOptions {
|
|
10
|
+
/** Stop distance as a fraction of entry price. Default 0.01 (1%). */
|
|
11
|
+
riskFraction?: number;
|
|
12
|
+
/** Reward-to-risk ratio for the take-profit. Default 2. */
|
|
13
|
+
riskReward?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Default SL/TP for a fresh bracket: stop `riskFraction` away from entry on the
|
|
17
|
+
* losing side, take-profit `riskReward`× the stop distance on the winning side.
|
|
18
|
+
* Pure — used by the tool and directly testable.
|
|
19
|
+
*/
|
|
20
|
+
export declare function computeBracketDefaults(side: OrderSide, entry: number, opts?: BracketDefaultsOptions): BracketDraft;
|
|
21
|
+
/** Reward-to-risk ratio of a draft, or 0 when the stop distance is zero. */
|
|
22
|
+
export declare function bracketRiskReward(draft: BracketDraft): number;
|
|
23
|
+
/**
|
|
24
|
+
* In-progress bracket-order placement: an entry line plus draggable stop-loss
|
|
25
|
+
* and take-profit handles, rendered as shaded risk/reward zones. Geometry only
|
|
26
|
+
* — the `TradingManager` owns lifecycle and emits the place event on confirm.
|
|
27
|
+
*/
|
|
28
|
+
export declare class BracketTool {
|
|
29
|
+
private draft;
|
|
30
|
+
private dragging;
|
|
31
|
+
private defaults;
|
|
32
|
+
constructor(defaults?: BracketDefaultsOptions);
|
|
33
|
+
start(side: OrderSide, entry: number): void;
|
|
34
|
+
cancel(): void;
|
|
35
|
+
isActive(): boolean;
|
|
36
|
+
getDraft(): BracketDraft | null;
|
|
37
|
+
/** Which handle (if any) is under the pointer. */
|
|
38
|
+
hitTest(pos: Point, viewport: ViewportState): BracketHandle | null;
|
|
39
|
+
beginDrag(pos: Point, viewport: ViewportState): boolean;
|
|
40
|
+
drag(pos: Point, viewport: ViewportState): boolean;
|
|
41
|
+
endDrag(): void;
|
|
42
|
+
isDragging(): boolean;
|
|
43
|
+
private priceOf;
|
|
44
|
+
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, pricePrecision?: number): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=BracketTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BracketTool.d.ts","sourceRoot":"","sources":["../../src/trading/BracketTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGnF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,sBAA2B,GAChC,YAAY,CASd;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAI7D;AAID;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,GAAE,sBAA2B;IAIjD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,kDAAkD;IAClD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI;IAgBlE,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOvD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOlD,OAAO,IAAI,IAAI;IAIf,UAAU,IAAI,OAAO;IAIrB,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,SAAI,GAAG,IAAI;CA4CvG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TradingOrder, TradingPosition, DepthData, TradingConfig, ViewportState, Theme, Point } from '@tradecanvas/commons';
|
|
1
|
+
import { TradingOrder, TradingPosition, DepthData, TradingConfig, ViewportState, Theme, Point, OrderSide } from '@tradecanvas/commons';
|
|
2
2
|
export declare class TradingManager {
|
|
3
3
|
private orders;
|
|
4
4
|
private positions;
|
|
@@ -10,6 +10,7 @@ export declare class TradingManager {
|
|
|
10
10
|
private depthOverlay;
|
|
11
11
|
private dragHandler;
|
|
12
12
|
private contextMenu;
|
|
13
|
+
private bracket;
|
|
13
14
|
private requestRender;
|
|
14
15
|
private eventCallback;
|
|
15
16
|
private container;
|
|
@@ -22,6 +23,12 @@ export declare class TradingManager {
|
|
|
22
23
|
setDepthData(depth: DepthData | null): void;
|
|
23
24
|
setCurrentPrice(price: number): void;
|
|
24
25
|
setConfig(config: Partial<TradingConfig>): void;
|
|
26
|
+
/** Begin placing a bracket (entry + SL + TP) at `entry` for `side`. */
|
|
27
|
+
startBracket(side: OrderSide, entry: number): void;
|
|
28
|
+
cancelBracket(): void;
|
|
29
|
+
/** Emit `bracketPlace` with the current draft and clear it. No-op if inactive. */
|
|
30
|
+
confirmBracket(): boolean;
|
|
31
|
+
isBracketActive(): boolean;
|
|
25
32
|
onPointerDown(pos: Point, viewport: ViewportState): boolean;
|
|
26
33
|
onPointerMove(pos: Point, viewport: ViewportState): boolean;
|
|
27
34
|
onPointerUp(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradingManager.d.ts","sourceRoot":"","sources":["../../src/trading/TradingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,KAAK,EACL,KAAK,EACN,MAAM,sBAAsB,CAAC;AAS9B,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAA4B;
|
|
1
|
+
{"version":3,"file":"TradingManager.d.ts","sourceRoot":"","sources":["../../src/trading/TradingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,KAAK,EACL,KAAK,EACN,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAyD;IAC9E,OAAO,CAAC,SAAS,CAA4B;gBAEjC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAS3C,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAI1C,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAItC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAMlE,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;IAKvC,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI;IAKhD,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAK3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAO/C,uEAAuE;IACvE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlD,aAAa,IAAI,IAAI;IAMrB,kFAAkF;IAClF,cAAc,IAAI,OAAO;IAezB,eAAe,IAAI,OAAO;IAM1B,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAU3D,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAY3D,WAAW,IAAI,OAAO;IA0BtB,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAS3D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAwBlF;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAU5F,OAAO,IAAI,IAAI;CAGhB"}
|
package/dist/trading/index.d.ts
CHANGED
|
@@ -5,4 +5,6 @@ export { PositionRenderer } from './PositionRenderer.js';
|
|
|
5
5
|
export { DepthOverlay } from './DepthOverlay.js';
|
|
6
6
|
export { TradingDragHandler } from './TradingDragHandler.js';
|
|
7
7
|
export { TradingContextMenu } from './TradingContextMenu.js';
|
|
8
|
+
export { BracketTool, computeBracketDefaults, bracketRiskReward } from './BracketTool.js';
|
|
9
|
+
export type { BracketDraft, BracketHandle, BracketDefaultsOptions } from './BracketTool.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -20,18 +20,18 @@ export interface SessionBreakConfig {
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class SessionBreaks {
|
|
22
22
|
private config;
|
|
23
|
-
private
|
|
23
|
+
private cachedBreaksTyped;
|
|
24
24
|
private lastDataLength;
|
|
25
25
|
setConfig(config: Partial<SessionBreakConfig>): void;
|
|
26
26
|
isVisible(): boolean;
|
|
27
27
|
setVisible(visible: boolean): void;
|
|
28
28
|
/**
|
|
29
|
-
* Find bar indices where a new trading day begins.
|
|
30
|
-
*
|
|
29
|
+
* Find bar indices where a new trading day begins. Each entry also carries
|
|
30
|
+
* the strength of the break: 'day' < 'week' < 'month' < 'year'. Renderer
|
|
31
|
+
* uses this to draw progressively heavier separators + labels.
|
|
31
32
|
*/
|
|
32
|
-
private
|
|
33
|
-
|
|
34
|
-
private getDayKey;
|
|
33
|
+
private computeBreaksTyped;
|
|
34
|
+
private toMs;
|
|
35
35
|
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, data: DataSeries): void;
|
|
36
36
|
/** Invalidate cache when data changes */
|
|
37
37
|
invalidateCache(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionBreaks.d.ts","sourceRoot":"","sources":["../../src/ui/SessionBreaks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG7E,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"SessionBreaks.d.ts","sourceRoot":"","sources":["../../src/ui/SessionBreaks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG7E,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,iBAAiB,CAA8E;IACvG,OAAO,CAAC,cAAc,CAAK;IAE3B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIpD,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,IAAI;IAIZ,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAqEP,yCAAyC;IACzC,eAAe,IAAI,IAAI;CAIxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DataSeries, ViewportState, Theme } from '@tradecanvas/commons';
|
|
2
|
+
import { SessionHoursConfig } from './sessionHours.js';
|
|
3
|
+
/** US equity regular trading hours (09:30–16:00 ET) as a sensible default. */
|
|
4
|
+
export declare const DEFAULT_SESSION_HOURS: SessionHoursConfig;
|
|
5
|
+
/**
|
|
6
|
+
* Dims bars outside the regular session (pre-/post-market or the overnight
|
|
7
|
+
* break) with a translucent overlay, so the regular session stands out. Drawn
|
|
8
|
+
* on the background layer behind candles.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SessionShading {
|
|
11
|
+
private visible;
|
|
12
|
+
private config;
|
|
13
|
+
setVisible(v: boolean): void;
|
|
14
|
+
isVisible(): boolean;
|
|
15
|
+
setConfig(config: Partial<SessionHoursConfig>): void;
|
|
16
|
+
getConfig(): SessionHoursConfig;
|
|
17
|
+
render(ctx: CanvasRenderingContext2D, data: DataSeries, viewport: ViewportState, theme: Theme): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SessionShading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionShading.d.ts","sourceRoot":"","sources":["../../src/ui/SessionShading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAoD;IAElE,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,SAAS,IAAI,OAAO;IAGpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAGpD,SAAS,IAAI,kBAAkB;IAI/B,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CA+BrG"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -5,4 +5,7 @@ export { Watermark } from './Watermark.js';
|
|
|
5
5
|
export { BarCountdown } from './BarCountdown.js';
|
|
6
6
|
export { SessionBreaks } from './SessionBreaks.js';
|
|
7
7
|
export type { SessionBreakConfig } from './SessionBreaks.js';
|
|
8
|
+
export { SessionShading, DEFAULT_SESSION_HOURS } from './SessionShading.js';
|
|
9
|
+
export { isRegularSession, minuteOfDay } from './sessionHours.js';
|
|
10
|
+
export type { SessionHoursConfig } from './sessionHours.js';
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface SessionHoursConfig {
|
|
2
|
+
/** Session start, minutes from midnight in the session's timezone (e.g. 570 = 09:30). */
|
|
3
|
+
startMinute: number;
|
|
4
|
+
/** Session end, minutes from midnight (e.g. 960 = 16:00). */
|
|
5
|
+
endMinute: number;
|
|
6
|
+
/** Timezone offset applied to UTC before deriving minute-of-day (e.g. -300 for EST). */
|
|
7
|
+
tzOffsetMinutes: number;
|
|
8
|
+
}
|
|
9
|
+
/** Minute-of-day (0–1439) for a timestamp in the configured timezone. */
|
|
10
|
+
export declare function minuteOfDay(timeMs: number, tzOffsetMinutes: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* Whether a timestamp falls inside the regular session. Handles overnight
|
|
13
|
+
* sessions where `endMinute < startMinute` (e.g. a 17:00–16:00 futures session)
|
|
14
|
+
* by treating the window as wrapping past midnight.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isRegularSession(timeMs: number, config: SessionHoursConfig): boolean;
|
|
17
|
+
//# sourceMappingURL=sessionHours.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionHours.d.ts","sourceRoot":"","sources":["../../src/ui/sessionHours.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAOpF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ViewportState, Rect, DataSeries } from '@tradecanvas/commons';
|
|
1
|
+
import { ViewportState, Rect, DataSeries, PriceScaleMode } from '@tradecanvas/commons';
|
|
2
2
|
export declare class Viewport {
|
|
3
3
|
private state;
|
|
4
4
|
private dataLength;
|
|
@@ -10,12 +10,23 @@ export declare class Viewport {
|
|
|
10
10
|
getState(): ViewportState;
|
|
11
11
|
setLogScale(enabled: boolean): void;
|
|
12
12
|
isLogScale(): boolean;
|
|
13
|
+
/** Set the price-scale presentation. Keeps `logScale` mirrored for back-compat. */
|
|
14
|
+
setScaleMode(mode: PriceScaleMode): void;
|
|
15
|
+
getScaleMode(): PriceScaleMode;
|
|
16
|
+
/** Reference price for percentage / indexed-to-100 axis labels. */
|
|
17
|
+
setScaleBaseline(price: number | undefined): void;
|
|
13
18
|
setRightMargin(bars: number): void;
|
|
14
19
|
private computeChartRect;
|
|
15
20
|
resize(width: number, height: number): void;
|
|
16
21
|
setChartRect(rect: Rect): void;
|
|
17
22
|
updateData(data: DataSeries, autoScale: boolean): void;
|
|
18
23
|
setPriceRange(min: number, max: number): void;
|
|
24
|
+
/**
|
|
25
|
+
* Multiply the visible price range by `factor` around its midpoint.
|
|
26
|
+
* `factor > 1` expands (zooms out vertically), `< 1` compresses.
|
|
27
|
+
* Used by drag-on-price-axis scaling.
|
|
28
|
+
*/
|
|
29
|
+
scalePriceRange(factor: number): void;
|
|
19
30
|
scrollBy(deltaPixels: number): void;
|
|
20
31
|
/** Returns true if the viewport is scrolled to show the latest bars. */
|
|
21
32
|
isAtEnd(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI5F,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;gBAG9B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,WAAW,SAAI,EACf,WAAW,SAAK,EAChB,eAAe,SAAI;IAgBrB,0DAA0D;IAC1D,QAAQ,IAAI,aAAa;IAczB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,mFAAmF;IACnF,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAKxC,YAAY,IAAI,cAAc;IAI9B,mEAAmE;IACnE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIjD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,OAAO,CAAC,gBAAgB;IASxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAW9B,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAiBtD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMnC,wEAAwE;IACxE,OAAO,IAAI,OAAO;IAUlB,WAAW,IAAI,IAAI;IAYnB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAoB1C,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,kBAAkB;CAQ3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradecanvas/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canvas rendering engine for @tradecanvas/chart",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tradecanvas/commons": "0.
|
|
37
|
+
"@tradecanvas/commons": "0.14.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"vitest": "^2.1.8"
|