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.
Files changed (140) hide show
  1. package/dist/components/BadgeOverlay.d.ts +9 -1
  2. package/dist/components/BadgeOverlay.d.ts.map +1 -1
  3. package/dist/components/ChartOverlayLayer.d.ts +19 -0
  4. package/dist/components/ChartOverlayLayer.d.ts.map +1 -0
  5. package/dist/components/CustomMarkerOverlay.d.ts +16 -6
  6. package/dist/components/CustomMarkerOverlay.d.ts.map +1 -1
  7. package/dist/components/CustomReferenceLineOverlay.d.ts +36 -0
  8. package/dist/components/CustomReferenceLineOverlay.d.ts.map +1 -0
  9. package/dist/components/CustomTooltipOverlay.d.ts +5 -2
  10. package/dist/components/CustomTooltipOverlay.d.ts.map +1 -1
  11. package/dist/components/DotOverlay.d.ts +7 -1
  12. package/dist/components/DotOverlay.d.ts.map +1 -1
  13. package/dist/components/LiveChart.d.ts.map +1 -1
  14. package/dist/components/LiveChartSeries.d.ts.map +1 -1
  15. package/dist/components/MarkerOverlay.d.ts +6 -3
  16. package/dist/components/MarkerOverlay.d.ts.map +1 -1
  17. package/dist/components/MultiSeriesDots.d.ts +4 -1
  18. package/dist/components/MultiSeriesDots.d.ts.map +1 -1
  19. package/dist/components/ReferenceLineGroupOverlay.d.ts +27 -0
  20. package/dist/components/ReferenceLineGroupOverlay.d.ts.map +1 -0
  21. package/dist/components/ReferenceLineOverlay.d.ts +25 -2
  22. package/dist/components/ReferenceLineOverlay.d.ts.map +1 -1
  23. package/dist/components/XAxisOverlay.d.ts +7 -1
  24. package/dist/components/XAxisOverlay.d.ts.map +1 -1
  25. package/dist/components/YAxisOverlay.d.ts +12 -1
  26. package/dist/components/YAxisOverlay.d.ts.map +1 -1
  27. package/dist/constants.d.ts +13 -0
  28. package/dist/constants.d.ts.map +1 -1
  29. package/dist/core/liveChartEngineTick.d.ts +29 -0
  30. package/dist/core/liveChartEngineTick.d.ts.map +1 -1
  31. package/dist/core/liveChartSeriesEngineTick.d.ts +18 -0
  32. package/dist/core/liveChartSeriesEngineTick.d.ts.map +1 -1
  33. package/dist/core/resolveConfig.d.ts +62 -2
  34. package/dist/core/resolveConfig.d.ts.map +1 -1
  35. package/dist/core/useLiveChartEngine.d.ts +58 -7
  36. package/dist/core/useLiveChartEngine.d.ts.map +1 -1
  37. package/dist/core/useLiveChartSeriesEngine.d.ts +8 -2
  38. package/dist/core/useLiveChartSeriesEngine.d.ts.map +1 -1
  39. package/dist/draw/grid.d.ts +13 -1
  40. package/dist/draw/grid.d.ts.map +1 -1
  41. package/dist/draw/markerAtlas.d.ts +20 -2
  42. package/dist/draw/markerAtlas.d.ts.map +1 -1
  43. package/dist/draw/volume.d.ts +25 -0
  44. package/dist/draw/volume.d.ts.map +1 -0
  45. package/dist/hooks/crosshairShared.d.ts +12 -6
  46. package/dist/hooks/crosshairShared.d.ts.map +1 -1
  47. package/dist/hooks/overlayScale.d.ts +22 -0
  48. package/dist/hooks/overlayScale.d.ts.map +1 -0
  49. package/dist/hooks/resolveChartLayout.d.ts +9 -0
  50. package/dist/hooks/resolveChartLayout.d.ts.map +1 -1
  51. package/dist/hooks/useBadge.d.ts +22 -1
  52. package/dist/hooks/useBadge.d.ts.map +1 -1
  53. package/dist/hooks/useCandlePaths.d.ts +6 -0
  54. package/dist/hooks/useCandlePaths.d.ts.map +1 -1
  55. package/dist/hooks/useChartOverlayContext.d.ts +45 -0
  56. package/dist/hooks/useChartOverlayContext.d.ts.map +1 -0
  57. package/dist/hooks/useChartPaths.d.ts +8 -1
  58. package/dist/hooks/useChartPaths.d.ts.map +1 -1
  59. package/dist/hooks/useCrosshair.d.ts +9 -2
  60. package/dist/hooks/useCrosshair.d.ts.map +1 -1
  61. package/dist/hooks/useLiveDot.d.ts +6 -1
  62. package/dist/hooks/useLiveDot.d.ts.map +1 -1
  63. package/dist/hooks/useMarkers.d.ts +9 -4
  64. package/dist/hooks/useMarkers.d.ts.map +1 -1
  65. package/dist/hooks/usePanScroll.d.ts +82 -0
  66. package/dist/hooks/usePanScroll.d.ts.map +1 -0
  67. package/dist/hooks/usePinchZoom.d.ts +74 -0
  68. package/dist/hooks/usePinchZoom.d.ts.map +1 -0
  69. package/dist/hooks/useReferenceDrag.d.ts +24 -0
  70. package/dist/hooks/useReferenceDrag.d.ts.map +1 -0
  71. package/dist/hooks/useReferenceLine.d.ts +23 -4
  72. package/dist/hooks/useReferenceLine.d.ts.map +1 -1
  73. package/dist/hooks/useReferenceLinePress.d.ts +5 -1
  74. package/dist/hooks/useReferenceLinePress.d.ts.map +1 -1
  75. package/dist/hooks/useVisibleRange.d.ts +39 -0
  76. package/dist/hooks/useVisibleRange.d.ts.map +1 -0
  77. package/dist/hooks/useYAxis.d.ts +1 -1
  78. package/dist/hooks/useYAxis.d.ts.map +1 -1
  79. package/dist/index.d.ts +2 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/math/markerCluster.d.ts +47 -0
  82. package/dist/math/markerCluster.d.ts.map +1 -0
  83. package/dist/math/markers.d.ts +10 -0
  84. package/dist/math/markers.d.ts.map +1 -1
  85. package/dist/math/referenceDrag.d.ts +24 -0
  86. package/dist/math/referenceDrag.d.ts.map +1 -0
  87. package/dist/math/referenceGroup.d.ts +31 -0
  88. package/dist/math/referenceGroup.d.ts.map +1 -0
  89. package/dist/math/referenceLines.d.ts +33 -7
  90. package/dist/math/referenceLines.d.ts.map +1 -1
  91. package/dist/types.d.ts +524 -21
  92. package/dist/types.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/components/BadgeOverlay.tsx +26 -1
  95. package/src/components/ChartOverlayLayer.tsx +32 -0
  96. package/src/components/CustomMarkerOverlay.tsx +150 -57
  97. package/src/components/CustomReferenceLineOverlay.tsx +250 -0
  98. package/src/components/CustomTooltipOverlay.tsx +27 -7
  99. package/src/components/DotOverlay.tsx +9 -0
  100. package/src/components/LiveChart.tsx +550 -32
  101. package/src/components/LiveChartSeries.tsx +111 -5
  102. package/src/components/MarkerOverlay.tsx +92 -6
  103. package/src/components/MultiSeriesDots.tsx +12 -3
  104. package/src/components/ReferenceLineGroupOverlay.tsx +207 -0
  105. package/src/components/ReferenceLineOverlay.tsx +105 -32
  106. package/src/components/XAxisOverlay.tsx +9 -2
  107. package/src/components/YAxisOverlay.tsx +49 -28
  108. package/src/constants.ts +17 -0
  109. package/src/core/liveChartEngineTick.ts +81 -8
  110. package/src/core/liveChartSeriesEngineTick.ts +50 -9
  111. package/src/core/resolveConfig.ts +133 -2
  112. package/src/core/useLiveChartEngine.ts +111 -11
  113. package/src/core/useLiveChartSeriesEngine.ts +26 -3
  114. package/src/draw/grid.ts +71 -2
  115. package/src/draw/markerAtlas.ts +117 -3
  116. package/src/draw/volume.ts +190 -0
  117. package/src/hooks/crosshairShared.ts +37 -9
  118. package/src/hooks/overlayScale.ts +59 -0
  119. package/src/hooks/resolveChartLayout.ts +33 -0
  120. package/src/hooks/useBadge.ts +89 -21
  121. package/src/hooks/useCandlePaths.ts +104 -7
  122. package/src/hooks/useChartOverlayContext.ts +93 -0
  123. package/src/hooks/useChartPaths.ts +14 -1
  124. package/src/hooks/useCrosshair.ts +33 -2
  125. package/src/hooks/useLiveDot.ts +16 -5
  126. package/src/hooks/useMarkers.ts +39 -11
  127. package/src/hooks/usePanScroll.ts +253 -0
  128. package/src/hooks/usePinchZoom.ts +189 -0
  129. package/src/hooks/useReferenceDrag.ts +254 -0
  130. package/src/hooks/useReferenceLine.ts +56 -9
  131. package/src/hooks/useReferenceLinePress.ts +16 -2
  132. package/src/hooks/useVisibleRange.ts +119 -0
  133. package/src/hooks/useYAxis.ts +2 -0
  134. package/src/index.ts +17 -1
  135. package/src/math/markerCluster.ts +214 -0
  136. package/src/math/markers.ts +35 -3
  137. package/src/math/referenceDrag.ts +66 -0
  138. package/src/math/referenceGroup.ts +65 -0
  139. package/src/math/referenceLines.ts +76 -19
  140. 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":"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"}
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,mBAAmB,EACnB,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,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAYnE,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,yDAAyD;IACzD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;IACxD,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC;IACb,uEAAuE;IACvE,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,+EAA+E;IAC/E,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,sCAAsC;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,wCAAwC;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtD,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,oCAAoC;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mEAAmE;IACnE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sEAAsE;IACtE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,sDAAsD;IACtD,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,GAC1C,uBAAuB,GAAG,IAAI,CAEhC;AAED,MAAM,WAAW,2BAA2B;IAC1C,4BAA4B;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,wFAAwF;IACxF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,kEAAkE;IAClE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,oEAAoE;IACpE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAAC;CAC1C;AAWD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,GAC9C,2BAA2B,GAAG,IAAI,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,uBAAuB,GAAG,IAAI,CAShC;AAmBD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GACtC,mBAAmB,GAAG,IAAI,CAE5B;AAQD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GACtC,mBAAmB,GAAG,IAAI,CAI5B;AAUD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,GACvC,oBAAoB,GAAG,IAAI,CAE7B;AAED,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2EAA2E;IAC3E,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAOD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GACrC,kBAAkB,GAAG,IAAI,CAE3B;AAwBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,EAC3C,SAAS,EAAE,OAAO,GACjB,uBAAuB,GAAG,IAAI,CAUhC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,GAC1C,uBAAuB,GAAG,IAAI,CAYhC;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GACtC,mBAAmB,GAAG,IAAI,CAE5B;AAmBD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GACtC,mBAAmB,GAAG,IAAI,CAS5B;AAcD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAC5C,yBAAyB,GAAG,IAAI,CAElC;AAOD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,GAC7D,qBAAqB,CAevB;AAcD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,GACzC,sBAAsB,GAAG,IAAI,CAE/B;AASD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,GACzC,sBAAsB,GAAG,IAAI,CAE/B;AAWD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,EAC9C,aAAa,GAAE;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACc,GAChC,0BAA0B,GAAG,IAAI,CAQnC;AAUD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GACtC,mBAAmB,GAAG,IAAI,CAE5B;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,kBAAkB,CAMpB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,aAAa,GAAG,SAAS,GAC5B,2BAA2B,GAAG,IAAI,CAOpC;AASD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,uBAAuB,CAQzB;AAgDD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,GACvC,mBAAmB,GAAG,IAAI,CA8C5B;AAOD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,EAC7C,OAAO,CAAC,EAAE,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,yBAAyB,GAAG,IAAI,CAQlC;AAID,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,0EAA0E;AAC1E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,GACxC,qBAAqB,GAAG,IAAI,CAE9B;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AASD;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GACpC,iBAAiB,CASnB;AAID,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,GAC/C,4BAA4B,CAQ9B;AAID,2EAA2E;AAC3E,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,oEAAoE;AACpE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,GACjD,8BAA8B,GAAG,IAAI,CAEvC;AAED,4CAA4C;AAC5C,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC5C,gEAAgE;IAChE,SAAS,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC9C;AAUD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,GAC7C,0BAA0B,GAAG,IAAI,CASnC;AAID,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,mEAAmE;IACnE,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAChC;AASD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,GACvC,oBAAoB,CAWtB;AAaD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,wBAAwB,GAAG,SAAS,GACzC,gBAAgB,CASlB"}
@@ -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 from props — the exact value `displayWindow` eases toward.
36
- * Tick *selection* (which X-axis labels exist) must read this, not
37
- * `displayWindow`: the lerp is asymptotic and never reaches the target, so it
38
- * settles just above or just below it depending on the prior window. Bucketing
39
- * that off-by-epsilon value (e.g. via `niceTimeInterval`) would otherwise make
40
- * the tick cadence depend on where you came from. See issue #126.
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":"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"}
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":"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"}
1
+ {"version":3,"file":"useLiveChartSeriesEngine.d.ts","sourceRoot":"","sources":["../../src/core/useLiveChartSeriesEngine.ts"],"names":[],"mappings":"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"}
@@ -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
  };
@@ -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,GACxC;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA6E7C"}
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
- /** Default glyph color per kind when `marker.color` is unset. */
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): MarkerAtlas;
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;AAQpC,iEAAiE;AACjE,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,GACxB,MAAM,CAaR;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;CACf;AAuKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,GACR,WAAW,CAgDb"}
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
- placement?: "side" | "top" | "bottom",
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
- margin?: number): TooltipLayout;
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;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GACxB,iBAAiB,CA0GnB"}
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"}
@@ -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): import("react-native-reanimated").DerivedValue<{
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;;;;;;;GAsJlE"}
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"}