react-native-livechart 3.12.0 → 4.1.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/components/BadgeOverlay.d.ts +9 -1
- package/dist/components/BadgeOverlay.d.ts.map +1 -1
- package/dist/components/ChartOverlayLayer.d.ts +19 -0
- package/dist/components/ChartOverlayLayer.d.ts.map +1 -0
- package/dist/components/CustomMarkerOverlay.d.ts +16 -6
- package/dist/components/CustomMarkerOverlay.d.ts.map +1 -1
- package/dist/components/CustomReferenceLineOverlay.d.ts +36 -0
- package/dist/components/CustomReferenceLineOverlay.d.ts.map +1 -0
- package/dist/components/CustomTooltipOverlay.d.ts +5 -2
- package/dist/components/CustomTooltipOverlay.d.ts.map +1 -1
- package/dist/components/DotOverlay.d.ts +7 -1
- package/dist/components/DotOverlay.d.ts.map +1 -1
- package/dist/components/LiveChart.d.ts.map +1 -1
- package/dist/components/LiveChartSeries.d.ts.map +1 -1
- package/dist/components/MarkerOverlay.d.ts +6 -3
- package/dist/components/MarkerOverlay.d.ts.map +1 -1
- package/dist/components/MultiSeriesDots.d.ts +4 -1
- package/dist/components/MultiSeriesDots.d.ts.map +1 -1
- package/dist/components/ReferenceLineGroupOverlay.d.ts +27 -0
- package/dist/components/ReferenceLineGroupOverlay.d.ts.map +1 -0
- package/dist/components/ReferenceLineOverlay.d.ts +25 -2
- package/dist/components/ReferenceLineOverlay.d.ts.map +1 -1
- package/dist/components/XAxisOverlay.d.ts +7 -1
- package/dist/components/XAxisOverlay.d.ts.map +1 -1
- package/dist/components/YAxisOverlay.d.ts +12 -1
- package/dist/components/YAxisOverlay.d.ts.map +1 -1
- package/dist/constants.d.ts +13 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/core/liveChartEngineTick.d.ts +29 -0
- package/dist/core/liveChartEngineTick.d.ts.map +1 -1
- package/dist/core/liveChartSeriesEngineTick.d.ts +18 -0
- package/dist/core/liveChartSeriesEngineTick.d.ts.map +1 -1
- package/dist/core/resolveConfig.d.ts +62 -2
- package/dist/core/resolveConfig.d.ts.map +1 -1
- package/dist/core/useLiveChartEngine.d.ts +58 -7
- package/dist/core/useLiveChartEngine.d.ts.map +1 -1
- package/dist/core/useLiveChartSeriesEngine.d.ts +8 -2
- package/dist/core/useLiveChartSeriesEngine.d.ts.map +1 -1
- package/dist/draw/grid.d.ts +13 -1
- package/dist/draw/grid.d.ts.map +1 -1
- package/dist/draw/markerAtlas.d.ts +20 -2
- package/dist/draw/markerAtlas.d.ts.map +1 -1
- package/dist/draw/volume.d.ts +25 -0
- package/dist/draw/volume.d.ts.map +1 -0
- package/dist/hooks/crosshairShared.d.ts +12 -6
- package/dist/hooks/crosshairShared.d.ts.map +1 -1
- package/dist/hooks/overlayScale.d.ts +22 -0
- package/dist/hooks/overlayScale.d.ts.map +1 -0
- package/dist/hooks/resolveChartLayout.d.ts +9 -0
- package/dist/hooks/resolveChartLayout.d.ts.map +1 -1
- package/dist/hooks/useBadge.d.ts +22 -1
- package/dist/hooks/useBadge.d.ts.map +1 -1
- package/dist/hooks/useCandlePaths.d.ts +6 -0
- package/dist/hooks/useCandlePaths.d.ts.map +1 -1
- package/dist/hooks/useChartOverlayContext.d.ts +45 -0
- package/dist/hooks/useChartOverlayContext.d.ts.map +1 -0
- package/dist/hooks/useChartPaths.d.ts +8 -1
- package/dist/hooks/useChartPaths.d.ts.map +1 -1
- package/dist/hooks/useCrosshair.d.ts +9 -2
- package/dist/hooks/useCrosshair.d.ts.map +1 -1
- package/dist/hooks/useLiveDot.d.ts +6 -1
- package/dist/hooks/useLiveDot.d.ts.map +1 -1
- package/dist/hooks/useMarkers.d.ts +9 -4
- package/dist/hooks/useMarkers.d.ts.map +1 -1
- package/dist/hooks/usePanScroll.d.ts +82 -0
- package/dist/hooks/usePanScroll.d.ts.map +1 -0
- package/dist/hooks/usePinchZoom.d.ts +74 -0
- package/dist/hooks/usePinchZoom.d.ts.map +1 -0
- package/dist/hooks/useReferenceDrag.d.ts +24 -0
- package/dist/hooks/useReferenceDrag.d.ts.map +1 -0
- package/dist/hooks/useReferenceLine.d.ts +23 -4
- package/dist/hooks/useReferenceLine.d.ts.map +1 -1
- package/dist/hooks/useReferenceLinePress.d.ts +5 -1
- package/dist/hooks/useReferenceLinePress.d.ts.map +1 -1
- package/dist/hooks/useVisibleRange.d.ts +39 -0
- package/dist/hooks/useVisibleRange.d.ts.map +1 -0
- package/dist/hooks/useYAxis.d.ts +1 -1
- package/dist/hooks/useYAxis.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/math/markerCluster.d.ts +47 -0
- package/dist/math/markerCluster.d.ts.map +1 -0
- package/dist/math/markers.d.ts +10 -0
- package/dist/math/markers.d.ts.map +1 -1
- package/dist/math/referenceDrag.d.ts +24 -0
- package/dist/math/referenceDrag.d.ts.map +1 -0
- package/dist/math/referenceGroup.d.ts +31 -0
- package/dist/math/referenceGroup.d.ts.map +1 -0
- package/dist/math/referenceLines.d.ts +33 -7
- package/dist/math/referenceLines.d.ts.map +1 -1
- package/dist/types.d.ts +524 -21
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/BadgeOverlay.tsx +26 -1
- package/src/components/ChartOverlayLayer.tsx +32 -0
- package/src/components/CustomMarkerOverlay.tsx +150 -57
- package/src/components/CustomReferenceLineOverlay.tsx +250 -0
- package/src/components/CustomTooltipOverlay.tsx +27 -7
- package/src/components/DotOverlay.tsx +9 -0
- package/src/components/LiveChart.tsx +550 -32
- package/src/components/LiveChartSeries.tsx +111 -5
- package/src/components/MarkerOverlay.tsx +92 -6
- package/src/components/MultiSeriesDots.tsx +12 -3
- package/src/components/ReferenceLineGroupOverlay.tsx +207 -0
- package/src/components/ReferenceLineOverlay.tsx +105 -32
- package/src/components/XAxisOverlay.tsx +9 -2
- package/src/components/YAxisOverlay.tsx +49 -28
- package/src/constants.ts +17 -0
- package/src/core/liveChartEngineTick.ts +81 -8
- package/src/core/liveChartSeriesEngineTick.ts +50 -9
- package/src/core/resolveConfig.ts +133 -2
- package/src/core/useLiveChartEngine.ts +111 -11
- package/src/core/useLiveChartSeriesEngine.ts +26 -3
- package/src/draw/grid.ts +71 -2
- package/src/draw/markerAtlas.ts +117 -3
- package/src/draw/volume.ts +190 -0
- package/src/hooks/crosshairShared.ts +37 -9
- package/src/hooks/overlayScale.ts +59 -0
- package/src/hooks/resolveChartLayout.ts +33 -0
- package/src/hooks/useBadge.ts +89 -21
- package/src/hooks/useCandlePaths.ts +104 -7
- package/src/hooks/useChartOverlayContext.ts +93 -0
- package/src/hooks/useChartPaths.ts +14 -1
- package/src/hooks/useCrosshair.ts +33 -2
- package/src/hooks/useLiveDot.ts +16 -5
- package/src/hooks/useMarkers.ts +39 -11
- package/src/hooks/usePanScroll.ts +253 -0
- package/src/hooks/usePinchZoom.ts +189 -0
- package/src/hooks/useReferenceDrag.ts +254 -0
- package/src/hooks/useReferenceLine.ts +56 -9
- package/src/hooks/useReferenceLinePress.ts +16 -2
- package/src/hooks/useVisibleRange.ts +119 -0
- package/src/hooks/useYAxis.ts +2 -0
- package/src/index.ts +17 -1
- package/src/math/markerCluster.ts +214 -0
- package/src/math/markers.ts +35 -3
- package/src/math/referenceDrag.ts +66 -0
- package/src/math/referenceGroup.ts +65 -0
- package/src/math/referenceLines.ts +76 -19
- package/src/types.ts +544 -21
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { AreaDotsConfig, AxisLabelConfig, BadgeConfig, BadgeVariant, DegenOptions, FontConfig, FontWeight, GradientConfig, GridStyleConfig, LeftEdgeFadeConfig, LegendConfig, LegendStyle, LineStyleConfig, LiveChartMetrics, LiveChartMetricsOverride, DotConfig, DotRingConfig, MultiSeriesDotConfig, PulseConfig, ReferenceLine, ScrubActionConfig, ScrubConfig, SelectionDotConfig, SelectionDotProps, SelectionDotRingConfig, ThresholdConfig, ThresholdLineConfig, TradeEvent, ValueLineConfig, XAxisConfig, YAxisConfig } from "../types";
|
|
1
|
+
import type { AreaDotsConfig, AxisLabelConfig, BadgeConfig, BadgeVariant, DegenOptions, FontConfig, FontWeight, GradientConfig, GridStyleConfig, LeftEdgeFadeConfig, LegendConfig, LegendStyle, LineStyleConfig, LiveChartMetrics, LiveChartMetricsOverride, MarkerClusterConfig, DotConfig, DotRingConfig, MultiSeriesDotConfig, PulseConfig, ReferenceLine, ScrubActionConfig, ScrubConfig, SelectionDotConfig, SelectionDotProps, SelectionDotRingConfig, ThresholdConfig, ThresholdLineConfig, TradeEvent, ValueLineConfig, VolumeConfig, XAxisConfig, YAxisConfig, ZoomConfig } from "../types";
|
|
2
2
|
import type { ComponentType, ReactElement } from "react";
|
|
3
3
|
import type { SharedValue } from "react-native-reanimated";
|
|
4
|
+
import type { ResolvedMarkerCluster } from "../math/markerCluster";
|
|
4
5
|
export interface ResolvedValueLineConfig {
|
|
5
6
|
strokeWidth: number;
|
|
6
7
|
intervals: [number, number];
|
|
@@ -12,9 +13,39 @@ export interface ResolvedBadgeConfig {
|
|
|
12
13
|
tail: boolean;
|
|
13
14
|
position: "right" | "left";
|
|
14
15
|
background: string | undefined;
|
|
16
|
+
/** undefined → capsule (pillHeight / 2) at render time */
|
|
17
|
+
radius: number | undefined;
|
|
18
|
+
/** undefined → no border */
|
|
19
|
+
borderColor: string | undefined;
|
|
20
|
+
borderWidth: number;
|
|
21
|
+
/** undefined → variant/theme text color at render time */
|
|
22
|
+
textColor: string | undefined;
|
|
23
|
+
fontSize: number | undefined;
|
|
24
|
+
fontFamily: string | undefined;
|
|
25
|
+
fontWeight: FontWeight | undefined;
|
|
26
|
+
offsetX: number;
|
|
27
|
+
offsetY: number;
|
|
28
|
+
/** Track the visible window's right-edge price while scrolled back. */
|
|
29
|
+
followViewEdge: boolean;
|
|
15
30
|
}
|
|
16
31
|
export interface ResolvedYAxisConfig {
|
|
17
32
|
minGap: number;
|
|
33
|
+
/** Fixed label count (≥ 2), or 0 for the dynamic nice-interval grid. */
|
|
34
|
+
count: number;
|
|
35
|
+
/** Float the axis over a full-width plot (no reserved right gutter). */
|
|
36
|
+
float: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface ResolvedVolumeConfig {
|
|
39
|
+
/** undefined → use palette.candleUp at render time. */
|
|
40
|
+
upColor: string | undefined;
|
|
41
|
+
/** undefined → use palette.candleDown at render time. */
|
|
42
|
+
downColor: string | undefined;
|
|
43
|
+
/** Reserved band height (px) — the tallest a bar can be. */
|
|
44
|
+
maxHeight: number;
|
|
45
|
+
/** Corner radius (px) of bar tops. */
|
|
46
|
+
radius: number;
|
|
47
|
+
/** Opacity (0..1) applied to the whole band. */
|
|
48
|
+
opacity: number;
|
|
18
49
|
}
|
|
19
50
|
/** Resolved straight-line styling (connector, etc.). `color: undefined` → caller default. */
|
|
20
51
|
export interface ResolvedLineStyleConfig {
|
|
@@ -69,7 +100,7 @@ export interface ResolvedScrubConfig {
|
|
|
69
100
|
/** Tooltip pill corner radius in px. */
|
|
70
101
|
tooltipBorderRadius: number;
|
|
71
102
|
/** Where the tooltip pill sits relative to the scrub line. */
|
|
72
|
-
tooltipPlacement: "side" | "top" | "bottom";
|
|
103
|
+
tooltipPlacement: "side" | "top" | "bottom" | "point";
|
|
73
104
|
/** Gap (px) between the tooltip and the plot edge it's pinned to. */
|
|
74
105
|
tooltipMargin: number;
|
|
75
106
|
/** Show the value row in the default tooltip body. */
|
|
@@ -95,6 +126,8 @@ export interface ResolvedScrubActionConfig {
|
|
|
95
126
|
/** undefined → no rounding */
|
|
96
127
|
snap: number | undefined;
|
|
97
128
|
dismissOnTapOutside: boolean;
|
|
129
|
+
/** Clear the reticle once the action badge fires onScrubAction. */
|
|
130
|
+
dismissOnAction: boolean;
|
|
98
131
|
}
|
|
99
132
|
export interface ResolvedGradientConfig {
|
|
100
133
|
/** undefined → use palette.fillTop (theme-aware) at render time */
|
|
@@ -215,8 +248,27 @@ export declare function resolveBadge(prop: boolean | BadgeConfig | undefined): R
|
|
|
215
248
|
/**
|
|
216
249
|
* Resolves `yAxis` prop to a fully-typed config or null (disabled).
|
|
217
250
|
* `true` → defaults, object → merged with defaults, falsy → null.
|
|
251
|
+
* `count` is normalized to a non-negative integer (the grid math clamps the
|
|
252
|
+
* upper bound to the label pool size).
|
|
218
253
|
*/
|
|
219
254
|
export declare function resolveYAxis(prop: boolean | YAxisConfig | undefined): ResolvedYAxisConfig | null;
|
|
255
|
+
/**
|
|
256
|
+
* Resolves the `volume` prop to a fully-typed config or null (disabled).
|
|
257
|
+
* `true` → defaults, object → merged with defaults, falsy → null. Colors left
|
|
258
|
+
* `undefined` fall back to the candle palette at render time.
|
|
259
|
+
*/
|
|
260
|
+
export declare function resolveVolume(prop: boolean | VolumeConfig | undefined): ResolvedVolumeConfig | null;
|
|
261
|
+
export interface ResolvedZoomConfig {
|
|
262
|
+
/** Tightest window (max zoom-in), seconds. `undefined` → `timeWindow / 8`. */
|
|
263
|
+
minTimeWindow: number | undefined;
|
|
264
|
+
/** Widest window (max zoom-out), seconds. `undefined` → full data span. */
|
|
265
|
+
maxTimeWindow: number | undefined;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Resolves the `zoom` prop to a config or null (disabled). `true` → defaults
|
|
269
|
+
* (bounds derived at gesture time), object → merged, falsy → null.
|
|
270
|
+
*/
|
|
271
|
+
export declare function resolveZoom(prop: boolean | ZoomConfig | undefined): ResolvedZoomConfig | null;
|
|
220
272
|
/**
|
|
221
273
|
* Resolves the extrema-label `connector` sub-prop to a line style or null.
|
|
222
274
|
* `defaultOn` (true in `"extrema-edge"` mode) means an unset connector draws the
|
|
@@ -246,6 +298,14 @@ export declare function resolveScrub(prop: boolean | ScrubConfig | undefined): R
|
|
|
246
298
|
* Opt-in: `false`/`undefined` → null; `true` → defaults; object → merged.
|
|
247
299
|
*/
|
|
248
300
|
export declare function resolveScrubAction(prop: boolean | ScrubActionConfig | undefined): ResolvedScrubActionConfig | null;
|
|
301
|
+
/**
|
|
302
|
+
* Resolves the `markerCluster` prop (a `"anchored"`/`"stacked"` shorthand or a
|
|
303
|
+
* {@link MarkerClusterConfig} object) to a full config. Always returns a config
|
|
304
|
+
* (never null) — `"anchored"` (the default) is a valid mode the cluster pass
|
|
305
|
+
* treats as "side offsets only, no bucketing". The object form implies
|
|
306
|
+
* `"stacked"` unless `mode` is set.
|
|
307
|
+
*/
|
|
308
|
+
export declare function resolveMarkerCluster(prop: "anchored" | "stacked" | MarkerClusterConfig | undefined): ResolvedMarkerCluster;
|
|
249
309
|
/**
|
|
250
310
|
* Resolves `gradient` prop to a fully-typed config or null (disabled).
|
|
251
311
|
* `true` → defaults (use palette colors), object → merged with defaults, falsy → null.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.d.ts","sourceRoot":"","sources":["../../src/core/resolveConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"resolveConfig.d.ts","sourceRoot":"","sources":["../../src/core/resolveConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,13 @@ export interface EngineConfig {
|
|
|
10
10
|
exaggerate?: boolean;
|
|
11
11
|
referenceValue?: number;
|
|
12
12
|
referenceValues?: number[];
|
|
13
|
+
/**
|
|
14
|
+
* Live, per-frame Y values to fold into the axis-range fit on top of the static
|
|
15
|
+
* {@link referenceValues} — used so a *dragging* reference line expands the range
|
|
16
|
+
* and the axis follows the finger smoothly (the committed values already sit in
|
|
17
|
+
* `referenceValues`). Read on the UI thread each frame; omit for non-draggable charts.
|
|
18
|
+
*/
|
|
19
|
+
liveReferenceValues?: SharedValue<number[]>;
|
|
13
20
|
nonNegative?: boolean;
|
|
14
21
|
maxValue?: number;
|
|
15
22
|
nowOverride?: number;
|
|
@@ -32,12 +39,14 @@ export interface ChartEngineLayout {
|
|
|
32
39
|
/** Animating window (lerps toward {@link timeWindow}); use for positioning. */
|
|
33
40
|
displayWindow: SharedValue<number>;
|
|
34
41
|
/**
|
|
35
|
-
* The target window
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
42
|
+
* The *effective* target window — the value `displayWindow` eases toward: the
|
|
43
|
+
* pinch-zoom override ({@link ChartEngineScroll.viewWindow}) when active, else
|
|
44
|
+
* the `timeWindow` prop. Tick *selection* (which X-axis labels exist) must read
|
|
45
|
+
* this, not `displayWindow`: the lerp is asymptotic and never reaches the
|
|
46
|
+
* target, so it settles just above or just below it depending on the prior
|
|
47
|
+
* window. Bucketing that off-by-epsilon value (e.g. via `niceTimeInterval`)
|
|
48
|
+
* would otherwise make the tick cadence depend on where you came from. See
|
|
49
|
+
* issue #126.
|
|
41
50
|
*/
|
|
42
51
|
timeWindow: SharedValue<number>;
|
|
43
52
|
canvasWidth: SharedValue<number>;
|
|
@@ -56,6 +65,40 @@ export interface ChartEngineExtrema {
|
|
|
56
65
|
extremaMinTime: SharedValue<number>;
|
|
57
66
|
extremaMaxTime: SharedValue<number>;
|
|
58
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Time-scroll state: lets a pan gesture freeze the window at an absolute time
|
|
70
|
+
* and resume following the live edge. Returned by both engines (intersected onto
|
|
71
|
+
* the state) but kept off {@link ChartEngineLayout} so overlay components — which
|
|
72
|
+
* only read the layout — don't have to carry it.
|
|
73
|
+
*/
|
|
74
|
+
export interface ChartEngineScroll {
|
|
75
|
+
/**
|
|
76
|
+
* Absolute right-edge time (unix seconds) to freeze at, or `null` to follow
|
|
77
|
+
* the live edge. Written by the pan-scroll gesture; read by the engine tick.
|
|
78
|
+
*/
|
|
79
|
+
viewEnd: SharedValue<number | null>;
|
|
80
|
+
/**
|
|
81
|
+
* The right-edge time the engine would use if following live — advances each
|
|
82
|
+
* frame even while {@link ChartEngineLayout.timestamp} is frozen by a pan.
|
|
83
|
+
*/
|
|
84
|
+
liveEdge: SharedValue<number>;
|
|
85
|
+
/**
|
|
86
|
+
* Absolute visible-window width (seconds) to freeze at, or `null` to follow
|
|
87
|
+
* the configured `timeWindow`. Written by the pinch-zoom gesture; the
|
|
88
|
+
* symmetric counterpart of {@link viewEnd} (width vs. right edge). Folded into
|
|
89
|
+
* {@link ChartEngineLayout.timeWindow}, so downstream selection/positioning
|
|
90
|
+
* picks up the zoom for free.
|
|
91
|
+
*/
|
|
92
|
+
viewWindow: SharedValue<number | null>;
|
|
93
|
+
}
|
|
94
|
+
/** Single-series only: smoothed price at the visible window's right edge. */
|
|
95
|
+
export interface ChartEngineEdge {
|
|
96
|
+
/**
|
|
97
|
+
* Smoothed value at the window's right edge — the live value while following,
|
|
98
|
+
* the price at `viewEnd` while scrolled back. For a `followViewEdge` badge.
|
|
99
|
+
*/
|
|
100
|
+
edgeValue: SharedValue<number>;
|
|
101
|
+
}
|
|
59
102
|
export interface SingleEngineState extends ChartEngineLayout, ChartEngineExtrema {
|
|
60
103
|
data: SharedValue<LiveChartPoint[]>;
|
|
61
104
|
value: SharedValue<number>;
|
|
@@ -95,6 +138,14 @@ export interface EngineFrameRefs {
|
|
|
95
138
|
nowOverrideSV?: SharedValue<number | undefined>;
|
|
96
139
|
windowBufferSV?: SharedValue<number>;
|
|
97
140
|
pausedSV: SharedValue<boolean>;
|
|
141
|
+
/** Pan-scroll right-edge override (null = follow live). Optional for callers/tests. */
|
|
142
|
+
viewEndSV?: SharedValue<number | null>;
|
|
143
|
+
/** Pinch-zoom window-width override (null = follow timeWindow). Optional for callers/tests. */
|
|
144
|
+
viewWindowSV?: SharedValue<number | null>;
|
|
145
|
+
/** Receives the computed live edge each frame. Optional for callers/tests. */
|
|
146
|
+
liveEdgeSV?: SharedValue<number>;
|
|
147
|
+
/** Receives the smoothed right-edge value each frame. Optional for callers/tests. */
|
|
148
|
+
edgeValueSV?: SharedValue<number>;
|
|
98
149
|
modeSV: SharedValue<"line" | "candle">;
|
|
99
150
|
candles?: SharedValue<CandlePoint[]>;
|
|
100
151
|
liveCandle?: SharedValue<CandlePoint | null>;
|
|
@@ -110,5 +161,5 @@ export interface EngineFrameRefs {
|
|
|
110
161
|
export declare function applyLiveChartEngineFrame(frameInfo: {
|
|
111
162
|
timeSincePreviousFrame?: number | null;
|
|
112
163
|
}, sv: EngineFrameRefs): void;
|
|
113
|
-
export declare function useLiveChartEngine(config: EngineConfig): SingleEngineState;
|
|
164
|
+
export declare function useLiveChartEngine(config: EngineConfig): SingleEngineState & ChartEngineScroll & ChartEngineEdge;
|
|
114
165
|
//# sourceMappingURL=useLiveChartEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveChartEngine.d.ts","sourceRoot":"","sources":["../../src/core/useLiveChartEngine.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG1E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC9C;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,+EAA+E;IAC/E,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC
|
|
1
|
+
{"version":3,"file":"useLiveChartEngine.d.ts","sourceRoot":"","sources":["../../src/core/useLiveChartEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SharedValue } from "react-native-reanimated";
|
|
2
2
|
import type { SeriesConfig } from "../types";
|
|
3
|
-
import type { MultiEngineState } from "./useLiveChartEngine";
|
|
3
|
+
import type { ChartEngineScroll, MultiEngineState } from "./useLiveChartEngine";
|
|
4
4
|
export interface MultiSeriesEngineConfig {
|
|
5
5
|
series: SharedValue<SeriesConfig[]>;
|
|
6
6
|
timeWindow: number;
|
|
@@ -37,6 +37,12 @@ export interface MultiEngineFrameRefs {
|
|
|
37
37
|
nowOverrideSV?: SharedValue<number | undefined>;
|
|
38
38
|
windowBufferSV?: SharedValue<number>;
|
|
39
39
|
pausedSV: SharedValue<boolean>;
|
|
40
|
+
/** Pan-scroll right-edge override (null = follow live). Optional for callers/tests. */
|
|
41
|
+
viewEndSV?: SharedValue<number | null>;
|
|
42
|
+
/** Pinch-zoom window-width override (null = follow timeWindow). Optional for callers/tests. */
|
|
43
|
+
viewWindowSV?: SharedValue<number | null>;
|
|
44
|
+
/** Receives the computed live edge each frame. Optional for callers/tests. */
|
|
45
|
+
liveEdgeSV?: SharedValue<number>;
|
|
40
46
|
extremaMinValue: SharedValue<number>;
|
|
41
47
|
extremaMaxValue: SharedValue<number>;
|
|
42
48
|
extremaMinTime: SharedValue<number>;
|
|
@@ -71,5 +77,5 @@ export declare function applyLiveChartSeriesEngineFrame(frameInfo: {
|
|
|
71
77
|
* UI-thread engine for multi-series charts. Dummies `data` / `value` / `displayValue`
|
|
72
78
|
* mirror single-series fields for hooks that still read them.
|
|
73
79
|
*/
|
|
74
|
-
export declare function useLiveChartSeriesEngine(config: MultiSeriesEngineConfig): MultiEngineState;
|
|
80
|
+
export declare function useLiveChartSeriesEngine(config: MultiSeriesEngineConfig): MultiEngineState & ChartEngineScroll;
|
|
75
81
|
//# sourceMappingURL=useLiveChartSeriesEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveChartSeriesEngine.d.ts","sourceRoot":"","sources":["../../src/core/useLiveChartSeriesEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLiveChartSeriesEngine.d.ts","sourceRoot":"","sources":["../../src/core/useLiveChartSeriesEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/draw/grid.d.ts
CHANGED
|
@@ -4,6 +4,18 @@ export interface YAxisEntry {
|
|
|
4
4
|
label: string;
|
|
5
5
|
alpha: number;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Fixed-count Y-axis: place exactly `count` price labels evenly **in pixels**
|
|
9
|
+
* across the plot band — top = `displayMax`, bottom = `displayMin`. Values track
|
|
10
|
+
* the live range each frame (no nice-number rounding), so the label count stays
|
|
11
|
+
* constant while data streams in.
|
|
12
|
+
*
|
|
13
|
+
* `minGap` is a floor: the count drops to what fits when the plot is too short
|
|
14
|
+
* to space `count` labels at least `minGap` px apart. Clamped to
|
|
15
|
+
* `[2, MAX_Y_LABELS]`. Every entry is fully opaque — there's no per-line fade
|
|
16
|
+
* because the count (and thus each line's pixel slot) doesn't change.
|
|
17
|
+
*/
|
|
18
|
+
export declare function fixedGridEntries(displayMax: number, valRange: number, chartH: number, padTop: number, count: number, minGap: number, formatValue: (v: number) => string): YAxisEntry[];
|
|
7
19
|
/**
|
|
8
20
|
* Pick a nice Y-axis interval using TradingView's cycling divisor approach.
|
|
9
21
|
* Hysteresis: once chosen, sticks until pixel spacing falls outside [0.5x, 4x] of minGap.
|
|
@@ -18,7 +30,7 @@ export declare function fineLineTargetAlpha(finePx: number, minGap?: number): nu
|
|
|
18
30
|
* Compute grid entries with per-label alpha fading.
|
|
19
31
|
* `labelAlphas` is mutated in place (persistent state across frames).
|
|
20
32
|
*/
|
|
21
|
-
export declare function computeGridEntries(displayMin: number, displayMax: number, canvasHeight: number, padTop: number, padBottom: number, prevInterval: number, labelAlphas: Record<number, number>, formatValue: (v: number) => string, dt: number, minGap?: number, grid?: GridMetrics): {
|
|
33
|
+
export declare function computeGridEntries(displayMin: number, displayMax: number, canvasHeight: number, padTop: number, padBottom: number, prevInterval: number, labelAlphas: Record<number, number>, formatValue: (v: number) => string, dt: number, minGap?: number, grid?: GridMetrics, count?: number): {
|
|
22
34
|
entries: YAxisEntry[];
|
|
23
35
|
interval: number;
|
|
24
36
|
};
|
package/dist/draw/grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/draw/grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,CAOvE;AAqBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,EAAE,EAAE,MAAM,EACV,MAAM,SAAK,EACX,IAAI,GAAE,WAAmC,
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/draw/grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC,UAAU,EAAE,CAgBd;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,CAOvE;AAqBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,EAAE,EAAE,MAAM,EACV,MAAM,SAAK,EACX,IAAI,GAAE,WAAmC,EACzC,KAAK,SAAI,GACR;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4G7C"}
|
|
@@ -2,7 +2,18 @@ import { type SkFont, type SkImage, type SkRect } from "@shopify/react-native-sk
|
|
|
2
2
|
import type { LiveChartPalette, Marker, MarkerKind } from "../types";
|
|
3
3
|
/** Default icon box (px) when `marker.size` is unset. */
|
|
4
4
|
export declare const DEFAULT_ICON_SIZE = 16;
|
|
5
|
-
/**
|
|
5
|
+
/** Count-badge digits render at this fraction of the chart font, so two digits fit
|
|
6
|
+
* a small round badge. Shared with the overlay's per-frame digit layout. */
|
|
7
|
+
export declare const BADGE_TEXT_SCALE = 0.75;
|
|
8
|
+
/** Atlas cell sig for one count-badge glyph (`0`-`9`), drawn white. */
|
|
9
|
+
export declare function groupGlyphSig(ch: string): string;
|
|
10
|
+
/** Atlas cell sig for the round count-badge background (one fixed circle per color). */
|
|
11
|
+
export declare function groupBgSig(color: string): string;
|
|
12
|
+
/** Text shown in a collapsed-cluster count badge — exact up to `"99"`, capped there
|
|
13
|
+
* so it always fits the fixed round badge (≤ 2 digits). */
|
|
14
|
+
export declare function groupCountText(count: number): string;
|
|
15
|
+
/** Default glyph color per kind when `marker.color` is unset. Worklet-safe so the
|
|
16
|
+
* per-frame overlay worklet can resolve a collapsed cluster's badge color. */
|
|
6
17
|
export declare function defaultMarkerColor(kind: MarkerKind, palette: LiveChartPalette): string;
|
|
7
18
|
/**
|
|
8
19
|
* Axis-anchored kinds whose geometry depends on the chart's baseline (a
|
|
@@ -40,6 +51,10 @@ export interface MarkerAtlas {
|
|
|
40
51
|
* hi-res cell back to its logical on-canvas size. See `buildMarkerAtlas`.
|
|
41
52
|
*/
|
|
42
53
|
scale: number;
|
|
54
|
+
/** Logical ink width (px) of each count-badge digit `"0"`–`"9"`, for laying them
|
|
55
|
+
* out proportionally (so narrow digits like `1` don't leave gaps). Empty when
|
|
56
|
+
* the atlas carries no group cells (clustering off). */
|
|
57
|
+
digitWidths: Record<string, number>;
|
|
43
58
|
}
|
|
44
59
|
/**
|
|
45
60
|
* Rasterize every distinct marker appearance into a single packed atlas image,
|
|
@@ -55,5 +70,8 @@ export interface MarkerAtlas {
|
|
|
55
70
|
* per-frame `drawAtlas` shrinks it back with an `RSXform` scale of `1 / scale`.
|
|
56
71
|
* Without this the logical-sized texture is upscaled ~3× on iOS and looks blurry.
|
|
57
72
|
*/
|
|
58
|
-
export declare function buildMarkerAtlas(markers: Marker[], palette: LiveChartPalette, font: SkFont, scale?: number
|
|
73
|
+
export declare function buildMarkerAtlas(markers: Marker[], palette: LiveChartPalette, font: SkFont, scale?: number,
|
|
74
|
+
/** Also bake count-badge cells (digits + per-color backgrounds) for
|
|
75
|
+
* `markerCluster: "stacked"` collapse. Off by default — no atlas bloat. */
|
|
76
|
+
withGroups?: boolean): MarkerAtlas;
|
|
59
77
|
//# sourceMappingURL=markerAtlas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markerAtlas.d.ts","sourceRoot":"","sources":["../../src/draw/markerAtlas.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,OAAO,EAEZ,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErE,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"markerAtlas.d.ts","sourceRoot":"","sources":["../../src/draw/markerAtlas.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,OAAO,EAEZ,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErE,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAcpC;6EAC6E;AAC7E,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;4DAC4D;AAC5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;+EAC+E;AAC/E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,GACxB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;6DAEyD;IACzD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAoND;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI;AACT;4EAC4E;AAC5E,UAAU,UAAQ,GACjB,WAAW,CA+Eb"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CandleMetrics, CandlePoint } from "../types";
|
|
2
|
+
import type { ChartPadding } from "./line";
|
|
3
|
+
export interface VolumeBar {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
w: number;
|
|
7
|
+
h: number;
|
|
8
|
+
up: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface VolumeGeometry {
|
|
11
|
+
bars: VolumeBar[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build screen-space volume bars for the reserved band below the candles. Bars
|
|
15
|
+
* align under the candle bodies (same width + center) and grow up from the band
|
|
16
|
+
* baseline (the x-axis line). Heights are normalized to the largest *visible*
|
|
17
|
+
* volume so the tallest bar fills `bandHeight`. Pure worklet — no Skia imports,
|
|
18
|
+
* consumed by {@link useCandlePaths}.
|
|
19
|
+
*
|
|
20
|
+
* `padding.bottom` is the already-reserved bottom (it includes `bandHeight`), so
|
|
21
|
+
* `canvasH - padding.bottom` is the candle plot's bottom = the top of the band,
|
|
22
|
+
* and the baseline sits `bandHeight` below it (the x-axis line).
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildVolumeGeometry(candles: CandlePoint[], liveCandle: CandlePoint | null, padding: ChartPadding, canvasW: number, canvasH: number, winStart: number, windowSecs: number, bandHeight: number, candleWidthSecs: number, metrics?: CandleMetrics): VolumeGeometry;
|
|
25
|
+
//# sourceMappingURL=volume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/draw/volume.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAuED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,aAAuC,GAC/C,cAAc,CAkFhB"}
|
|
@@ -100,16 +100,22 @@ export declare function computeTooltipLayout(scrubActive: boolean, scrubX: numbe
|
|
|
100
100
|
monoCharWidth?: number,
|
|
101
101
|
/** Where the pill sits relative to the scrub line. `"side"` offsets it right
|
|
102
102
|
* (flipping left near the edge); `"top"`/`"bottom"` center it over the line,
|
|
103
|
-
* clamped into the plot and pinned to the plot's top/bottom
|
|
104
|
-
|
|
103
|
+
* clamped into the plot and pinned to the plot's top/bottom; `"point"`
|
|
104
|
+
* centers it over the line and floats it just above the scrub dot (flipping
|
|
105
|
+
* below when there's no room), deriving its Y from `scrubDotY`. */
|
|
106
|
+
placement?: "side" | "top" | "bottom" | "point",
|
|
105
107
|
/** Render the value row. */
|
|
106
108
|
showValue?: boolean,
|
|
107
109
|
/** Render the time row. */
|
|
108
110
|
showTime?: boolean,
|
|
109
|
-
/** Canvas height in px — needed to pin `"bottom"` placement. */
|
|
111
|
+
/** Canvas height in px — needed to pin `"bottom"`/`"point"` placement. */
|
|
110
112
|
canvasHeight?: number,
|
|
111
|
-
/** Gap in px between the pill and the plot edge it's pinned to
|
|
112
|
-
|
|
113
|
+
/** Gap in px between the pill and the plot edge it's pinned to — and, for
|
|
114
|
+
* `"point"`, between the scrub dot's center and the pill's nearest edge. */
|
|
115
|
+
margin?: number,
|
|
116
|
+
/** Scrub intersection Y in canvas px (see {@link computeScrubDotY}) — the
|
|
117
|
+
* anchor for `"point"` placement. -1 (default) falls back to a top pin. */
|
|
118
|
+
scrubDotY?: number): TooltipLayout;
|
|
113
119
|
/**
|
|
114
120
|
* Multi-series scrub tooltip — stacked lines (first row typically time, dim).
|
|
115
121
|
*/
|
|
@@ -220,5 +226,5 @@ export declare function pointInRect(px: number, py: number, rect: {
|
|
|
220
226
|
h: number;
|
|
221
227
|
}, slop?: number): boolean;
|
|
222
228
|
/** Single-series crosshair tooltip — extracted for tests. */
|
|
223
|
-
export declare function deriveCrosshairTooltipSingle(scrubActive: boolean, scrubX: number, scrubTime: number, scrubValue: number | null, padding: ChartPadding, canvasWidth: number, formatValue: (v: number) => string, formatTime: (t: number) => string, font: SkFont, monoCharWidth?: number, placement?: "side" | "top" | "bottom", showValue?: boolean, showTime?: boolean, canvasHeight?: number, margin?: number): TooltipLayout;
|
|
229
|
+
export declare function deriveCrosshairTooltipSingle(scrubActive: boolean, scrubX: number, scrubTime: number, scrubValue: number | null, padding: ChartPadding, canvasWidth: number, formatValue: (v: number) => string, formatTime: (t: number) => string, font: SkFont, monoCharWidth?: number, placement?: "side" | "top" | "bottom" | "point", showValue?: boolean, showTime?: boolean, canvasHeight?: number, margin?: number, scrubDotY?: number): TooltipLayout;
|
|
224
230
|
//# sourceMappingURL=crosshairShared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crosshairShared.d.ts","sourceRoot":"","sources":["../../src/hooks/crosshairShared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"crosshairShared.d.ts","sourceRoot":"","sources":["../../src/hooks/crosshairShared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ChartScale } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Pure worklet projections for the `renderOverlay` bridge ({@link ChartOverlayContext}).
|
|
4
|
+
*
|
|
5
|
+
* Each takes a {@link ChartScale} **snapshot** rather than reading any SharedValue
|
|
6
|
+
* itself — so the consumer's `useAnimatedStyle` / `useDerivedValue` becomes
|
|
7
|
+
* reactive simply by reading `scale.get()` (which subscribes it to the per-frame
|
|
8
|
+
* scale), and these stay trivially unit-testable as plain functions of data.
|
|
9
|
+
*/
|
|
10
|
+
/** Maps a price (Y-axis value) to its canvas Y pixel. -1 when not laid out. */
|
|
11
|
+
export declare function priceToY(price: number, scale: ChartScale): number;
|
|
12
|
+
/**
|
|
13
|
+
* Inverse of {@link priceToY}: maps a canvas Y pixel back to a price. Clamps to
|
|
14
|
+
* the visible range (a level can't sit beyond the axis bounds); null when not
|
|
15
|
+
* laid out.
|
|
16
|
+
*/
|
|
17
|
+
export declare function yToPrice(y: number, scale: ChartScale): number | null;
|
|
18
|
+
/** Maps a unix-seconds timestamp to its canvas X pixel. -1 when not laid out. */
|
|
19
|
+
export declare function timeToX(time: number, scale: ChartScale): number;
|
|
20
|
+
/** Inverse of {@link timeToX}: maps a canvas X pixel back to a unix-seconds timestamp. */
|
|
21
|
+
export declare function xToTime(x: number, scale: ChartScale): number;
|
|
22
|
+
//# sourceMappingURL=overlayScale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlayScale.d.ts","sourceRoot":"","sources":["../../src/hooks/overlayScale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAQjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAUpE;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAQ/D;AAED,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAO5D"}
|
|
@@ -6,6 +6,8 @@ export interface ChartLayoutConfig {
|
|
|
6
6
|
lineWidthOverride?: number;
|
|
7
7
|
insetsOverride?: ChartInsets;
|
|
8
8
|
yAxis: boolean;
|
|
9
|
+
/** Float the y-axis over a full-width plot (no reserved right gutter). */
|
|
10
|
+
yAxisFloat?: boolean;
|
|
9
11
|
badge: boolean;
|
|
10
12
|
/** Badge pill geometry tokens. Omit for built-in defaults. */
|
|
11
13
|
badgeMetrics?: BadgeMetrics;
|
|
@@ -16,6 +18,13 @@ export interface ChartLayoutConfig {
|
|
|
16
18
|
badgeUsesRightGutter?: boolean;
|
|
17
19
|
/** When false, bottom inset shrinks (no x-axis labels). Default true. */
|
|
18
20
|
xAxis?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Reserved volume-bar band height (px) below the candles. Added to the bottom
|
|
23
|
+
* padding so the candle/price plot shrinks by this much; the x-axis offsets
|
|
24
|
+
* back down by it so its labels stay pinned to the bottom (see XAxisOverlay).
|
|
25
|
+
* `0`/omitted = no band. An explicit `insetsOverride.bottom` suppresses it.
|
|
26
|
+
*/
|
|
27
|
+
volumeBandHeight?: number;
|
|
19
28
|
/** Skia font for measuring label width. When provided with formatValue + currentValue, padding auto-sizes. */
|
|
20
29
|
font?: SkFont;
|
|
21
30
|
/** Worklet formatter — called on JS thread here to measure label width */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveChartLayout.d.ts","sourceRoot":"","sources":["../../src/hooks/resolveChartLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8GAA8G;IAC9G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,wGAAwG;IACxG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2GAA2G;IAC3G,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"resolveChartLayout.d.ts","sourceRoot":"","sources":["../../src/hooks/resolveChartLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8GAA8G;IAC9G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,wGAAwG;IACxG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2GAA2G;IAC3G,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB;AAKD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GACxB,iBAAiB,CA+HnB"}
|
package/dist/hooks/useBadge.d.ts
CHANGED
|
@@ -3,7 +3,28 @@ import { type SharedValue } from "react-native-reanimated";
|
|
|
3
3
|
import type { ChartEngineWithLiveValue } from "../core/useLiveChartEngine";
|
|
4
4
|
import { type ChartPadding } from "../draw/line";
|
|
5
5
|
import type { BadgeMetrics, BadgeVariant, LiveChartPalette, Momentum } from "../types";
|
|
6
|
-
export declare function useBadge(engine: ChartEngineWithLiveValue, padding: ChartPadding, palette: LiveChartPalette, formatValue: (v: number) => string, font: SkFont, variant?: BadgeVariant, showTail?: boolean, momentum?: SharedValue<Momentum>, position?: "right" | "left", background?: string, badgeMetrics?: BadgeMetrics, badgeColorSpeed?: number
|
|
6
|
+
export declare function useBadge(engine: ChartEngineWithLiveValue, padding: ChartPadding, palette: LiveChartPalette, formatValue: (v: number) => string, font: SkFont, variant?: BadgeVariant, showTail?: boolean, momentum?: SharedValue<Momentum>, position?: "right" | "left", background?: string, badgeMetrics?: BadgeMetrics, badgeColorSpeed?: number,
|
|
7
|
+
/**
|
|
8
|
+
* Floating-axis mode: render a tail-less pill right-aligned at the canvas edge
|
|
9
|
+
* (over a full-width plot) instead of inside a reserved right gutter. See
|
|
10
|
+
* {@link YAxisConfig.float}.
|
|
11
|
+
*/
|
|
12
|
+
float?: boolean,
|
|
13
|
+
/**
|
|
14
|
+
* Smoothed value at the visible window's right edge (engine `edgeValue`). When
|
|
15
|
+
* {@link followViewEdge} is set, the badge tracks this instead of the live value.
|
|
16
|
+
*/
|
|
17
|
+
edgeValue?: SharedValue<number>,
|
|
18
|
+
/** Track the visible window's right-edge price while scrolled back. */
|
|
19
|
+
followViewEdge?: boolean,
|
|
20
|
+
/**
|
|
21
|
+
* Pill corner radius in pixels. `undefined` → capsule (`pillHeight / 2`).
|
|
22
|
+
* Clamped to `[0, pillHeight / 2]`. The pointed tail (right-gutter mode) keeps
|
|
23
|
+
* anchoring on the vertical center regardless of this value.
|
|
24
|
+
*/
|
|
25
|
+
radius?: number,
|
|
26
|
+
/** Label text color override; falls back to the variant/theme rule. */
|
|
27
|
+
textColorOverride?: string): import("react-native-reanimated").DerivedValue<{
|
|
7
28
|
path: import("@shopify/react-native-skia").SkPath;
|
|
8
29
|
textX: number;
|
|
9
30
|
textY: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBadge.d.ts","sourceRoot":"","sources":["../../src/hooks/useBadge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACT,MAAM,UAAU,CAAC;AAGlB,wBAAgB,QAAQ,CACtB,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAwB,EACjC,QAAQ,UAAO,EACf,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,EAChC,QAAQ,GAAE,OAAO,GAAG,MAAgB,EACpC,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,GAAE,YAAqC,EACnD,eAAe,GAAE,MAAgD;;;;;;;
|
|
1
|
+
{"version":3,"file":"useBadge.d.ts","sourceRoot":"","sources":["../../src/hooks/useBadge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACT,MAAM,UAAU,CAAC;AAGlB,wBAAgB,QAAQ,CACtB,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAwB,EACjC,QAAQ,UAAO,EACf,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,EAChC,QAAQ,GAAE,OAAO,GAAG,MAAgB,EACpC,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,GAAE,YAAqC,EACnD,eAAe,GAAE,MAAgD;AACjE;;;;GAIG;AACH,KAAK,UAAQ;AACb;;;GAGG;AACH,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAC/B,uEAAuE;AACvE,cAAc,UAAQ;AACtB;;;;GAIG;AACH,MAAM,CAAC,EAAE,MAAM;AACf,uEAAuE;AACvE,iBAAiB,CAAC,EAAE,MAAM;;;;;;;GAqM3B"}
|