react-native-livechart 4.11.0 → 4.13.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 (82) hide show
  1. package/dist/components/CrosshairLine.d.ts +12 -2
  2. package/dist/components/CrosshairLine.d.ts.map +1 -1
  3. package/dist/components/CrosshairOverlay.d.ts +12 -2
  4. package/dist/components/CrosshairOverlay.d.ts.map +1 -1
  5. package/dist/components/CustomReferenceLineOverlay.d.ts +15 -10
  6. package/dist/components/CustomReferenceLineOverlay.d.ts.map +1 -1
  7. package/dist/components/CustomTooltipOverlay.d.ts +5 -2
  8. package/dist/components/CustomTooltipOverlay.d.ts.map +1 -1
  9. package/dist/components/DotOverlay.d.ts +3 -5
  10. package/dist/components/DotOverlay.d.ts.map +1 -1
  11. package/dist/components/LiveChart.d.ts.map +1 -1
  12. package/dist/components/LiveChartSeries.d.ts.map +1 -1
  13. package/dist/components/PerSeriesTooltipOverlay.d.ts +21 -0
  14. package/dist/components/PerSeriesTooltipOverlay.d.ts.map +1 -0
  15. package/dist/components/ReferenceLineOverlay.d.ts +27 -6
  16. package/dist/components/ReferenceLineOverlay.d.ts.map +1 -1
  17. package/dist/components/YAxisOverlay.d.ts +8 -2
  18. package/dist/components/YAxisOverlay.d.ts.map +1 -1
  19. package/dist/core/liveIndicatorVisibility.d.ts +9 -0
  20. package/dist/core/liveIndicatorVisibility.d.ts.map +1 -0
  21. package/dist/core/resolveConfig.d.ts +45 -0
  22. package/dist/core/resolveConfig.d.ts.map +1 -1
  23. package/dist/draw/grid.d.ts +13 -0
  24. package/dist/draw/grid.d.ts.map +1 -1
  25. package/dist/hooks/crosshairSeries.d.ts +10 -2
  26. package/dist/hooks/crosshairSeries.d.ts.map +1 -1
  27. package/dist/hooks/crosshairShared.d.ts +55 -5
  28. package/dist/hooks/crosshairShared.d.ts.map +1 -1
  29. package/dist/hooks/delayedPanGuard.d.ts +66 -8
  30. package/dist/hooks/delayedPanGuard.d.ts.map +1 -1
  31. package/dist/hooks/useChartPaths.d.ts +5 -9
  32. package/dist/hooks/useChartPaths.d.ts.map +1 -1
  33. package/dist/hooks/useCrosshair.d.ts +13 -1
  34. package/dist/hooks/useCrosshair.d.ts.map +1 -1
  35. package/dist/hooks/useCrosshairSeries.d.ts +27 -3
  36. package/dist/hooks/useCrosshairSeries.d.ts.map +1 -1
  37. package/dist/hooks/useCrosshairVisibleOpacity.d.ts +8 -0
  38. package/dist/hooks/useCrosshairVisibleOpacity.d.ts.map +1 -0
  39. package/dist/hooks/useMomentum.d.ts +1 -1
  40. package/dist/hooks/useMomentum.d.ts.map +1 -1
  41. package/dist/hooks/usePanScroll.d.ts +15 -1
  42. package/dist/hooks/usePanScroll.d.ts.map +1 -1
  43. package/dist/hooks/useReferenceLine.d.ts +10 -1
  44. package/dist/hooks/useReferenceLine.d.ts.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/math/lerp.d.ts.map +1 -1
  48. package/dist/math/momentum.d.ts +1 -1
  49. package/dist/math/momentum.d.ts.map +1 -1
  50. package/dist/math/referenceLines.d.ts +7 -0
  51. package/dist/math/referenceLines.d.ts.map +1 -1
  52. package/dist/types.d.ts +207 -18
  53. package/dist/types.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/src/components/CrosshairLine.tsx +39 -8
  56. package/src/components/CrosshairOverlay.tsx +49 -15
  57. package/src/components/CustomReferenceLineOverlay.tsx +42 -13
  58. package/src/components/CustomTooltipOverlay.tsx +15 -3
  59. package/src/components/DotOverlay.tsx +24 -8
  60. package/src/components/LiveChart.tsx +182 -39
  61. package/src/components/LiveChartSeries.tsx +195 -16
  62. package/src/components/PerSeriesTooltipOverlay.tsx +290 -0
  63. package/src/components/ReferenceLineOverlay.tsx +288 -141
  64. package/src/components/YAxisOverlay.tsx +39 -10
  65. package/src/core/liveIndicatorVisibility.ts +25 -0
  66. package/src/core/resolveConfig.ts +115 -0
  67. package/src/draw/grid.ts +33 -0
  68. package/src/hooks/crosshairSeries.ts +262 -33
  69. package/src/hooks/crosshairShared.ts +117 -6
  70. package/src/hooks/delayedPanGuard.ts +111 -6
  71. package/src/hooks/useChartPaths.ts +25 -15
  72. package/src/hooks/useCrosshair.ts +103 -32
  73. package/src/hooks/useCrosshairSeries.ts +126 -11
  74. package/src/hooks/useCrosshairVisibleOpacity.ts +57 -0
  75. package/src/hooks/useMomentum.ts +8 -1
  76. package/src/hooks/usePanScroll.ts +46 -5
  77. package/src/hooks/useReferenceLine.ts +26 -1
  78. package/src/index.ts +1 -0
  79. package/src/math/lerp.ts +7 -0
  80. package/src/math/momentum.ts +22 -5
  81. package/src/math/referenceLines.ts +38 -0
  82. package/src/types.ts +215 -18
@@ -7,7 +7,7 @@ import type { ChartEngineLayout } from "../core/useLiveChartEngine";
7
7
  * Crosshair vertical line + dim region to the right. No tooltip pill —
8
8
  * multi-series delivers scrub data via `onScrub` / `onScrubWorklet` callbacks.
9
9
  */
10
- export declare function CrosshairLine({ scrubX, crosshairOpacity, engine, padding, palette, selectionDot, selectionY, scrubActive, selectionColor, dimOpacity, liveDotExtent, crosshairLineColor, crosshairDash, crosshairDimColor, opaqueCanvas, }: {
10
+ export declare function CrosshairLine({ scrubX, crosshairOpacity, engine, padding, palette, selectionDot, selectionY, scrubActive, selectionColor, dimOpacity, liveDotExtent, crosshairLineColor, crosshairStrokeWidth, crosshairOvershoot, crosshairFade, crosshairFadeDistance, crosshairLineCap, crosshairDash, crosshairDimColor, opaqueCanvas, }: {
11
11
  scrubX: SharedValue<number>;
12
12
  crosshairOpacity: SharedValue<number>;
13
13
  engine: ChartEngineLayout;
@@ -19,7 +19,7 @@ export declare function CrosshairLine({ scrubX, crosshairOpacity, engine, paddin
19
19
  /** Scrub intersection Y in canvas px (the value the dot marks); -1 hides it. */
20
20
  selectionY?: SharedValue<number>;
21
21
  /** Whether scrubbing is active (passed through to a custom dot). */
22
- scrubActive?: SharedValue<number> | SharedValue<boolean>;
22
+ scrubActive: SharedValue<number> | SharedValue<boolean>;
23
23
  /** Fallback selection-dot color (leading-series color), used when the config's
24
24
  * own `color` is unset. */
25
25
  selectionColor?: string;
@@ -31,6 +31,16 @@ export declare function CrosshairLine({ scrubX, crosshairOpacity, engine, paddin
31
31
  * the gutter reserves beyond them bright. Default 0. */
32
32
  liveDotExtent?: number;
33
33
  crosshairLineColor?: string;
34
+ /** Vertical crosshair line width in px. Default 1. */
35
+ crosshairStrokeWidth?: number;
36
+ /** Resolved extension past the top and bottom plot edges in px. Default 0. */
37
+ crosshairOvershoot?: number;
38
+ /** Fade the crosshair near the live edge. Default true. */
39
+ crosshairFade?: boolean;
40
+ /** Visible-crosshair fade distance near the live edge in px. Default 4. */
41
+ crosshairFadeDistance?: number;
42
+ /** Cap style for the vertical crosshair line. */
43
+ crosshairLineCap?: "butt" | "round" | "square";
34
44
  /** Dash intervals `[on, off, …]` for the crosshair line; omit → solid. */
35
45
  crosshairDash?: number[];
36
46
  crosshairDimColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CrosshairLine.d.ts","sourceRoot":"","sources":["../../src/components/CrosshairLine.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAgB,EAChB,aAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,YAAoB,GACrB,EAAE;IACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B;sDACkD;IAClD,YAAY,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACjD,gFAAgF;IAChF,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACzD;gCAC4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;6DAGyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,+BAqGA"}
1
+ {"version":3,"file":"CrosshairLine.d.ts","sourceRoot":"","sources":["../../src/components/CrosshairLine.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAgB,EAChB,aAAiB,EACjB,kBAAkB,EAClB,oBAAwB,EACxB,kBAAsB,EACtB,aAAoB,EACpB,qBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAoB,GACrB,EAAE;IACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B;sDACkD;IAClD,YAAY,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACjD,gFAAgF;IAChF,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD;gCAC4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;6DAGyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,+BAoHA"}
@@ -6,7 +6,7 @@ import { type TooltipLayout } from "../hooks/crosshairShared";
6
6
  import type { LiveChartPalette } from "../types";
7
7
  import type { ResolvedSelectionDotConfig } from "../core/resolveConfig";
8
8
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
9
- export declare function CrosshairOverlay({ scrubX, crosshairOpacity, tooltipLayout, engine, padding, palette, font, showTooltip, children, renderTooltip, lineTop, selectionDot, selectionY, scrubActive, selectionColor, dimOpacity, liveDotExtent, crosshairLineColor, crosshairDash, crosshairDimColor, tooltipBackground, tooltipColor, tooltipBorderColor, tooltipBorderRadius, tooltipShowValue, tooltipShowTime, opaqueCanvas, }: {
9
+ export declare function CrosshairOverlay({ scrubX, crosshairOpacity, tooltipLayout, engine, padding, palette, font, showTooltip, children, renderTooltip, lineTop, selectionDot, selectionY, scrubActive, selectionColor, dimOpacity, liveDotExtent, crosshairLineColor, crosshairStrokeWidth, crosshairOvershoot, crosshairFade, crosshairFadeDistance, crosshairLineCap, crosshairDash, crosshairDimColor, tooltipBackground, tooltipColor, tooltipBorderColor, tooltipBorderRadius, tooltipShowValue, tooltipShowTime, opaqueCanvas, }: {
10
10
  scrubX: SharedValue<number>;
11
11
  crosshairOpacity: SharedValue<number>;
12
12
  tooltipLayout: SharedValue<TooltipLayout>;
@@ -32,7 +32,7 @@ export declare function CrosshairOverlay({ scrubX, crosshairOpacity, tooltipLayo
32
32
  /** Scrub intersection Y in canvas px (the value the dot marks); -1 hides it. */
33
33
  selectionY?: SharedValue<number>;
34
34
  /** Whether scrubbing is active (passed through to a custom dot). */
35
- scrubActive?: SharedValue<number> | SharedValue<boolean>;
35
+ scrubActive: SharedValue<number> | SharedValue<boolean>;
36
36
  /** Fallback selection-dot color (accent / leading-series color), used when the
37
37
  * config's own `color` is unset. */
38
38
  selectionColor?: string;
@@ -45,6 +45,16 @@ export declare function CrosshairOverlay({ scrubX, crosshairOpacity, tooltipLayo
45
45
  * reserves beyond it. Default 0. */
46
46
  liveDotExtent?: number;
47
47
  crosshairLineColor?: string;
48
+ /** Vertical crosshair line width in px. Default 1. */
49
+ crosshairStrokeWidth?: number;
50
+ /** Resolved extension past the top and bottom plot edges in px. Default 0. */
51
+ crosshairOvershoot?: number;
52
+ /** Fade the crosshair near the live edge. Default true. */
53
+ crosshairFade?: boolean;
54
+ /** Visible-crosshair fade distance near the live edge in px. Default 4. */
55
+ crosshairFadeDistance?: number;
56
+ /** Cap style for the vertical crosshair line. */
57
+ crosshairLineCap?: "butt" | "round" | "square";
48
58
  /** Dash intervals `[on, off, …]` for the crosshair line; omit → solid. */
49
59
  crosshairDash?: number[];
50
60
  crosshairDimColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CrosshairOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CrosshairOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,WAAkB,EAClB,QAAQ,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAgB,EAChB,aAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,mBAAuB,EACvB,gBAAuB,EACvB,eAAsB,EACtB,YAAoB,GACrB,EAAE;IACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;kEAE8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,SAAS,CAAC;IAChC;;yEAEqE;IACrE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;sDACkD;IAClD,YAAY,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACjD,gFAAgF;IAChF,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACzD;yCACqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;yCAIqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,+BAwKA"}
1
+ {"version":3,"file":"CrosshairOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CrosshairOverlay.tsx"],"names":[],"mappings":"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"}
@@ -2,23 +2,24 @@ import { type SharedValue } from "react-native-reanimated";
2
2
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
3
3
  import type { ChartPadding } from "../draw/line";
4
4
  import type { ReferenceLine, ReferenceLineRenderProps } from "../types";
5
+ /** Whether a custom tag owns every state or only an off-axis tag. */
6
+ export type CustomReferenceLineMode = "always" | "off-axis";
5
7
  /**
6
- * Which Form-A reference lines a `renderReferenceLine` returns an element for
7
- * the set whose built-in Skia tag is suppressed (so there's no double-draw). The
8
- * render fn is probed with placeholder SharedValues; it must decide null-ness from
9
- * `line` / `index`, not from live values (mirrors how `renderMarker` is probed for
10
- * the marker-atlas exclusion set). Index-aligned with `lines`.
8
+ * Which Form-A reference lines a custom renderer returns an element for. This
9
+ * initial probe determines a line's static eligibility only; `"off-axis"` still
10
+ * switches the built-in tag and the RN tag on the UI thread as the edge changes.
11
+ * Index-aligned with `lines`.
11
12
  */
12
- export declare function customReferenceLineFlags(lines: ReferenceLine[], render?: (ctx: ReferenceLineRenderProps) => React.ReactElement | null | undefined): boolean[];
13
+ export declare function customReferenceLineFlags(lines: ReferenceLine[], render?: (ctx: ReferenceLineRenderProps) => React.ReactElement | null | undefined, mode?: CustomReferenceLineMode): boolean[];
13
14
  /**
14
15
  * React Native overlay (NOT Skia) that floats `renderReferenceLine` elements over
15
16
  * the canvas, one per Form-A line the consumer customizes. Rendered as a sibling
16
17
  * of `<Canvas>` (like {@link CustomMarkerOverlay}) so the tags can be any RN view
17
- * and stay crisp at native resolution. Lines whose render returns an element have
18
- * their built-in Skia tag suppressed upstream (see {@link customReferenceLineFlags}),
19
- * so there's no double-draw.
18
+ * and stay crisp at native resolution. Lines whose render returns an element hide
19
+ * their built-in pill / label upstream (see {@link customReferenceLineFlags}); a
20
+ * badged line's Skia connector remains, measured against the native tag's width.
20
21
  */
21
- export declare function CustomReferenceLineOverlay({ lines, renderReferenceLine, custom, engine, padding, formatValue, dragValues, dragActive, }: {
22
+ export declare function CustomReferenceLineOverlay({ lines, renderReferenceLine, custom, engine, padding, formatValue, dragValues, dragActive, tagWidths, offAxisOnly, }: {
22
23
  lines: ReferenceLine[];
23
24
  renderReferenceLine: (ctx: ReferenceLineRenderProps) => React.ReactElement | null | undefined;
24
25
  /**
@@ -34,5 +35,9 @@ export declare function CustomReferenceLineOverlay({ lines, renderReferenceLine,
34
35
  dragValues?: SharedValue<number[]>;
35
36
  /** Optional drag state used by draggable single-series lines. */
36
37
  dragActive?: SharedValue<boolean[]>;
38
+ /** Measured custom-tag widths, index-aligned for the Skia connector. */
39
+ tagWidths?: SharedValue<number[]>;
40
+ /** Keep the built-in in-range tag and show this RN tag only off-axis. */
41
+ offAxisOnly?: boolean;
37
42
  }): import("react").JSX.Element | null;
38
43
  //# sourceMappingURL=CustomReferenceLineOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomReferenceLineOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CustomReferenceLineOverlay.tsx"],"names":[],"mappings":"AACA,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAOjD,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAyBxE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,CACP,GAAG,EAAE,wBAAwB,KAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,GACzC,OAAO,EAAE,CAiBX;AA2HD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,OAAO,EACP,WAAW,EACX,UAAU,EACV,UAAU,GACX,EAAE;IACD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,mBAAmB,EAAE,CACnB,GAAG,EAAE,wBAAwB,KAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C;;;;OAIG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;CACrC,sCAyBA"}
1
+ {"version":3,"file":"CustomReferenceLineOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CustomReferenceLineOverlay.tsx"],"names":[],"mappings":"AACA,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjD,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAyBxE,qEAAqE;AACrE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,CACP,GAAG,EAAE,wBAAwB,KAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,EAC1C,IAAI,GAAE,uBAAkC,GACvC,OAAO,EAAE,CAoBX;AAwID;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,OAAO,EACP,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAmB,GACpB,EAAE;IACD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,mBAAmB,EAAE,CACnB,GAAG,EAAE,wBAAwB,KAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C;;;;OAIG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,wEAAwE;IACxE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,sCA4BA"}
@@ -20,7 +20,7 @@ import type { CandlePoint, TooltipRenderProps } from "../types";
20
20
  * area (and any non-interactive tooltip body) while still allowing an
21
21
  * interactive leaf inside the custom element to be tapped.
22
22
  */
23
- export declare function CustomTooltipOverlay({ renderTooltip, scrubX, scrubValue, scrubTime, scrubActive, scrubCandle, crosshairOpacity, tooltipLayout, engine, padding, placement, margin, lineTop, scrubDotY, }: {
23
+ export declare function CustomTooltipOverlay({ renderTooltip, scrubX, scrubValue, scrubTime, scrubActive, scrubCandle, tooltipLayout, engine, padding, placement, margin, crosshairFade, crosshairFadeDistance, lineTop, scrubDotY, }: {
24
24
  renderTooltip: (ctx: TooltipRenderProps) => React.ReactElement | null | undefined;
25
25
  scrubX: SharedValue<number>;
26
26
  scrubValue: SharedValue<number | null>;
@@ -28,13 +28,16 @@ export declare function CustomTooltipOverlay({ renderTooltip, scrubX, scrubValue
28
28
  scrubActive: SharedValue<boolean>;
29
29
  /** OHLC candle under the crosshair (candle mode); omitted/`null` in line mode. */
30
30
  scrubCandle?: SharedValue<CandlePoint | null>;
31
- crosshairOpacity: SharedValue<number>;
32
31
  tooltipLayout: SharedValue<TooltipLayout>;
33
32
  engine: ChartEngineLayout;
34
33
  padding: ChartPadding;
35
34
  placement: "side" | "top" | "bottom" | "point";
36
35
  /** Gap (px) between the pill and the plot edge it's pinned to. Default 8. */
37
36
  margin?: number;
37
+ /** Fade the tooltip near the live edge. Default true. */
38
+ crosshairFade?: boolean;
39
+ /** Tooltip fade distance near the live edge in px. Default 4. */
40
+ crosshairFadeDistance?: number;
38
41
  /** When `placement` is `"top"`, the overlay publishes the label's bottom edge
39
42
  * (canvas Y) here so {@link CrosshairOverlay} can stop the crosshair line at
40
43
  * the label instead of running through it; -1 when not top-pinned/active. */
@@ -1 +1 @@
1
- {"version":3,"file":"CustomTooltipOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CustomTooltipOverlay.tsx"],"names":[],"mappings":"AACA,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,EACb,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAU,EACV,OAAO,EACP,SAAS,GACV,EAAE;IACD,aAAa,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IAClF,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,kFAAkF;IAClF,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC/C,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;kFAE8E;IAC9E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;yEACqE;IACrE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC,sCAqGA"}
1
+ {"version":3,"file":"CustomTooltipOverlay.d.ts","sourceRoot":"","sources":["../../src/components/CustomTooltipOverlay.tsx"],"names":[],"mappings":"AACA,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,EACb,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAU,EACV,aAAoB,EACpB,qBAAyB,EACzB,OAAO,EACP,SAAS,GACV,EAAE;IACD,aAAa,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IAClF,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,kFAAkF;IAClF,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC/C,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;kFAE8E;IAC9E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;yEACqE;IACrE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC,sCA4GA"}
@@ -1,18 +1,16 @@
1
1
  import { type SharedValue } from "react-native-reanimated";
2
2
  import type { ResolvedDotRingConfig, ResolvedPulseConfig } from "../core/resolveConfig";
3
3
  import type { LiveChartPalette } from "../types";
4
- import type { ChartEngineLayout } from "../core/useLiveChartEngine";
5
4
  /**
6
5
  * Live dot + expanding pulse ring. The dot is a color-filled circle of `radius`
7
6
  * with an optional contrasting outer `ring` (halo). Peak pulse size uses
8
7
  * `pulse.maxRadius` / `pulse.strokeWidth`; chart padding reserves the same outer
9
8
  * extent via `pulseRadialOutset` in `draw/line.ts` (see `resolveChartLayout`).
10
9
  */
11
- export declare function DotOverlay({ dotX, dotY, palette, engine, pulse, radius, ring, color, viewEnd, }: {
10
+ export declare function DotOverlay({ dotX, dotY, palette, pulse, radius, ring, color, viewEnd, }: {
12
11
  dotX: SharedValue<number>;
13
12
  dotY: SharedValue<number>;
14
13
  palette: LiveChartPalette;
15
- engine: ChartEngineLayout;
16
14
  pulse: ResolvedPulseConfig | null;
17
15
  /** Radius of the color-filled dot in pixels. */
18
16
  radius: number;
@@ -22,8 +20,8 @@ export declare function DotOverlay({ dotX, dotY, palette, engine, pulse, radius,
22
20
  color: string | undefined;
23
21
  /**
24
22
  * Time-scroll right edge (`null` = following live). While scrolled back the
25
- * pulse is suppressed it's driven by the (now frozen) view timestamp, so it
26
- * would stick or flicker, and a "live" heartbeat on a historical point is wrong.
23
+ * pulse is suppressed because a "live" heartbeat on a historical point is
24
+ * misleading.
27
25
  */
28
26
  viewEnd?: SharedValue<number | null>;
29
27
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DotOverlay.d.ts","sourceRoot":"","sources":["../../src/components/DotOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,GACR,EAAE;IACD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC,+BA+CA"}
1
+ {"version":3,"file":"DotOverlay.d.ts","sourceRoot":"","sources":["../../src/components/DotOverlay.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,GACR,EAAE;IACD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC,+BA4DA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LiveChart.d.ts","sourceRoot":"","sources":["../../src/components/LiveChart.tsx"],"names":[],"mappings":"AAoHA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,UAAU,CAAC;AA80ElB,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAS9C"}
1
+ {"version":3,"file":"LiveChart.d.ts","sourceRoot":"","sources":["../../src/components/LiveChart.tsx"],"names":[],"mappings":"AA4HA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,UAAU,CAAC;AAq9ElB,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAS9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"LiveChartSeries.d.ts","sourceRoot":"","sources":["../../src/components/LiveChartSeries.tsx"],"names":[],"mappings":"AA8EA,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,UAAU,CAAC;AA0wB3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAmM1D"}
1
+ {"version":3,"file":"LiveChartSeries.d.ts","sourceRoot":"","sources":["../../src/components/LiveChartSeries.tsx"],"names":[],"mappings":"AAkFA,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,UAAU,CAAC;AAm4B3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAyP1D"}
@@ -0,0 +1,21 @@
1
+ import { type SkFont } from "@shopify/react-native-skia";
2
+ import { type DerivedValue, type SharedValue } from "react-native-reanimated";
3
+ import type { ResolvedPerSeriesTooltipConfig } from "../core/resolveConfig";
4
+ import type { TooltipLayout } from "../hooks/crosshairShared";
5
+ import type { LiveChartPalette } from "../types";
6
+ type TooltipLayoutValue = SharedValue<TooltipLayout> | DerivedValue<TooltipLayout>;
7
+ /** Skia-only per-series tooltip renderer; every position is SharedValue-driven. */
8
+ export declare function PerSeriesTooltipOverlay({ layout, font, palette, config, seriesCount, opacity, tooltipBackground, tooltipColor, tooltipBorderColor, }: {
9
+ layout: TooltipLayoutValue;
10
+ font: SkFont;
11
+ palette: LiveChartPalette;
12
+ config: ResolvedPerSeriesTooltipConfig;
13
+ seriesCount: number;
14
+ /** Active crosshair opacity; idle `alwaysShow` pills stay fully visible. */
15
+ opacity?: SharedValue<number> | DerivedValue<number>;
16
+ tooltipBackground?: string;
17
+ tooltipColor?: string;
18
+ tooltipBorderColor?: string;
19
+ }): import("react").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=PerSeriesTooltipOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerSeriesTooltipOverlay.d.ts","sourceRoot":"","sources":["../../src/components/PerSeriesTooltipOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,KAAK,kBAAkB,GACnB,WAAW,CAAC,aAAa,CAAC,GAC1B,YAAY,CAAC,aAAa,CAAC,CAAC;AAiNhC,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,EAAE;IACD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,8BAA8B,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,+BAwCA"}
@@ -1,6 +1,7 @@
1
1
  import { type SkFont } from "@shopify/react-native-skia";
2
2
  import { type SharedValue } from "react-native-reanimated";
3
3
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
4
+ import type { YAxisEntry } from "../draw/grid";
4
5
  import type { ChartPadding } from "../draw/line";
5
6
  import type { FontConfig, LiveChartPalette, ReferenceLine } from "../types";
6
7
  /**
@@ -9,7 +10,7 @@ import type { FontConfig, LiveChartPalette, ReferenceLine } from "../types";
9
10
  * band) plus the Form-A pill badge (in-range tag + off-screen chevron pin).
10
11
  * Self-contained so callers can `.map()` over a variable-length array.
11
12
  */
12
- export declare function ReferenceLineOverlay({ engine, padding, line, palette, formatValue, font, fontProp, badgeLayer, suppressTag, groupHidden, dragValues, index, }: {
13
+ type ReferenceLineOverlayProps = {
13
14
  engine: ChartEngineLayout;
14
15
  padding: ChartPadding;
15
16
  line: ReferenceLine;
@@ -30,11 +31,23 @@ export declare function ReferenceLineOverlay({ engine, padding, line, palette, f
30
31
  */
31
32
  badgeLayer?: boolean;
32
33
  /**
33
- * Suppress the built-in tag (badge pill + connector + chevron + icon + gutter
34
- * label) for this line — used when a custom `renderReferenceLine` element owns
35
- * the tag. The line / band stroke still draws. No effect on the base pass.
36
- */
34
+ * Suppress the built-in tag (badge pill + chevron + icon + gutter label) for
35
+ * this line — used when a custom `renderReferenceLine` element owns the tag.
36
+ * The line / band stroke and a badged line's dashed connector still draw. No
37
+ * effect on the base pass.
38
+ */
37
39
  suppressTag?: boolean;
40
+ /**
41
+ * Suppress the built-in tag only while the line is off-axis. Used by
42
+ * `renderOffAxisReferenceLine`, so the normal in-range tag remains intact.
43
+ */
44
+ suppressTagWhenOffAxis?: boolean;
45
+ /**
46
+ * Measured widths of custom reference-line tags, index-aligned with their
47
+ * `referenceLines`. When present for a suppressed badged tag, the built-in
48
+ * connector begins after the custom element instead of the hidden Skia pill.
49
+ */
50
+ customTagWidths?: SharedValue<number[]>;
38
51
  /**
39
52
  * Per-frame grouping flags (index-aligned): when this line's slot is `true` it's
40
53
  * collapsed into a group count handle, so its tag is suppressed (the line / band
@@ -45,5 +58,13 @@ export declare function ReferenceLineOverlay({ engine, padding, line, palette, f
45
58
  dragValues?: SharedValue<number[]>;
46
59
  /** This line's index into {@link dragValues}. */
47
60
  index?: number;
48
- }): import("react").JSX.Element;
61
+ /** Y-axis entries used to match a right-anchored grid endpoint. */
62
+ yAxisEntries?: SharedValue<YAxisEntry[]> | null;
63
+ /** Enables clipping to the right-anchored Y-axis label column. */
64
+ labelRightMargin?: number;
65
+ /** Gap between the drawn line endpoint and the label column. */
66
+ gridEndGap?: number;
67
+ };
68
+ export declare function ReferenceLineOverlay({ engine, padding, line, palette, formatValue, font, fontProp, badgeLayer, suppressTag, suppressTagWhenOffAxis, customTagWidths, groupHidden, dragValues, index, yAxisEntries, labelRightMargin, gridEndGap, }: ReferenceLineOverlayProps): import("react").JSX.Element;
69
+ export {};
49
70
  //# sourceMappingURL=ReferenceLineOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceLineOverlay.d.ts","sourceRoot":"","sources":["../../src/components/ReferenceLineOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS5E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAkB,EAClB,WAAmB,EACnB,WAAW,EACX,UAAU,EACV,KAAS,GACV,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,+BAqSA"}
1
+ {"version":3,"file":"ReferenceLineOverlay.d.ts","sourceRoot":"","sources":["../../src/components/ReferenceLineOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AASjD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa5E;;;;;GAKG;AACH,KAAK,yBAAyB,GAAG;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;MAKE;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;IAChD,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAkB,EAClB,WAAmB,EACnB,sBAA8B,EAC9B,eAAe,EACf,WAAW,EACX,UAAU,EACV,KAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,UAAU,GACX,EAAE,yBAAyB,+BAuG3B"}
@@ -1,13 +1,13 @@
1
1
  import { type SkFont } from "@shopify/react-native-skia";
2
2
  import { type SharedValue } from "react-native-reanimated";
3
3
  import type { ResolvedGridStyleConfig } from "../core/resolveConfig";
4
- import type { YAxisEntry } from "../draw/grid";
4
+ import { type YAxisEntry } from "../draw/grid";
5
5
  import { type ChartPadding } from "../draw/line";
6
6
  import type { BadgeMetrics, LiveChartPalette } from "../types";
7
7
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
8
8
  /** Returns true when a Y-axis label's line box intersects the live badge pill. */
9
9
  export declare function yAxisLabelIntersectsBadge(labelCenterY: number, labelHeight: number, badgeCenterY: number, badgeHeight: number): boolean;
10
- export declare function YAxisOverlay({ entries, engine, padding, palette, font, badge, badgeTail, badgeMetrics, badgeCenterY, badgeFontSize, badgeOffsetY, seriesLabelInset, gridStyle, variant, float, }: {
10
+ export declare function YAxisOverlay({ entries, engine, padding, palette, font, badge, badgeTail, badgeMetrics, badgeCenterY, badgeFontSize, badgeOffsetY, badgeOpacity, seriesLabelInset, gridStyle, variant, float, labelRightMargin, gridEndGap, }: {
11
11
  entries: SharedValue<YAxisEntry[]>;
12
12
  engine: ChartEngineLayout;
13
13
  padding: ChartPadding;
@@ -25,6 +25,8 @@ export declare function YAxisOverlay({ entries, engine, padding, palette, font,
25
25
  badgeFontSize?: number;
26
26
  /** Configured live badge Y offset. */
27
27
  badgeOffsetY?: number;
28
+ /** Live badge opacity. A fully hidden badge does not suppress an axis label. */
29
+ badgeOpacity?: SharedValue<number>;
28
30
  /** When > 0, series labels occupy the left portion of the gutter; Y-axis labels right-align. */
29
31
  seriesLabelInset?: number;
30
32
  /** Grid-line styling overrides. Omit for the legacy solid 1px line. */
@@ -40,5 +42,9 @@ export declare function YAxisOverlay({ entries, engine, padding, palette, font,
40
42
  * plot) instead of centering them in a reserved gutter. See {@link YAxisConfig.float}.
41
43
  */
42
44
  float?: boolean;
45
+ /** Fixed canvas-edge margin for a shared left-aligned label column. */
46
+ labelRightMargin?: number;
47
+ /** Gap between the grid-line end and the shared label column. */
48
+ gridEndGap?: number;
43
49
  }): import("react").JSX.Element;
44
50
  //# sourceMappingURL=YAxisOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"YAxisOverlay.d.ts","sourceRoot":"","sources":["../../src/components/YAxisOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,WASpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAa,EACb,SAAgB,EAChB,YAAqC,EACrC,YAAY,EACZ,aAAa,EACb,YAAgB,EAChB,gBAAoB,EACpB,SAAS,EACT,OAAe,EACf,KAAa,GACd,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6FAA6F;IAC7F,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,+BA8FA"}
1
+ {"version":3,"file":"YAxisOverlay.d.ts","sourceRoot":"","sources":["../../src/components/YAxisOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,WASpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAa,EACb,SAAgB,EAChB,YAAqC,EACrC,YAAY,EACZ,aAAa,EACb,YAAgB,EAChB,YAAY,EACZ,gBAAoB,EACpB,SAAS,EACT,OAAe,EACf,KAAa,EACb,gBAAgB,EAChB,UAAc,GACf,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6FAA6F;IAC7F,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,+BA+GA"}
@@ -0,0 +1,9 @@
1
+ import type { TimeScrollConfig } from "../types";
2
+ /**
3
+ * Resolve whether historical time-scroll views should suppress indicators that
4
+ * still point at the live price.
5
+ */
6
+ export declare function resolveHideLiveOnScrollBack(timeScroll: boolean | TimeScrollConfig | undefined, followViewEdge: boolean): boolean;
7
+ /** Worklet-safe opacity gate shared by the live badge, dot, and dashed value line. */
8
+ export declare function liveIndicatorScrollOpacity(hideLiveOnScrollBack: boolean, viewEnd: number | null): 0 | 1;
9
+ //# sourceMappingURL=liveIndicatorVisibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveIndicatorVisibility.d.ts","sourceRoot":"","sources":["../../src/core/liveIndicatorVisibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,EAClD,cAAc,EAAE,OAAO,GACtB,OAAO,CAMT;AAED,sFAAsF;AACtF,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,OAAO,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,CAAC,GAAG,CAAC,CAGP"}
@@ -32,6 +32,10 @@ export interface ResolvedYAxisConfig {
32
32
  minGap: number;
33
33
  /** Fixed label count (≥ 2), or 0 for the dynamic nice-interval grid. */
34
34
  count: number;
35
+ /** undefined → keep the default centered-gutter label placement. */
36
+ labelRightMargin: number | undefined;
37
+ /** undefined → no gap; inert unless labelRightMargin is set. */
38
+ gridEndGap: number | undefined;
35
39
  /** Float the axis over a full-width plot (no reserved right gutter). */
36
40
  float: boolean;
37
41
  }
@@ -83,10 +87,22 @@ export interface ResolvedXAxisConfig {
83
87
  }
84
88
  export interface ResolvedScrubConfig {
85
89
  tooltip: boolean;
90
+ /** Opt-in per-series pill tooltip for LiveChartSeries; null keeps guide-only behavior. */
91
+ seriesTooltip: ResolvedPerSeriesTooltipConfig | null;
86
92
  /** Opacity of content right of the crosshair while scrubbing (dstOut fade). */
87
93
  dimOpacity: number;
88
94
  /** undefined → palette.crosshairLine */
89
95
  crosshairLineColor: string | undefined;
96
+ /** Vertical crosshair line width in px. */
97
+ crosshairStrokeWidth: number;
98
+ /** Extension past the plot's top and bottom edges in px. */
99
+ crosshairOvershoot: number;
100
+ /** Fade the crosshair near the live edge. */
101
+ crosshairFade: boolean;
102
+ /** Visible-crosshair fade distance near the live edge in px. */
103
+ crosshairFadeDistance: number;
104
+ /** undefined preserves the existing Skia line-cap default. */
105
+ crosshairLineCap: "butt" | "round" | "square" | undefined;
90
106
  /** Dash intervals `[on, off, …]` for the crosshair line; undefined → solid. */
91
107
  crosshairDash: number[] | undefined;
92
108
  /** undefined → palette.crosshairDim */
@@ -111,6 +127,35 @@ export interface ResolvedScrubConfig {
111
127
  panGestureDelay: number;
112
128
  /** Fade markers + reference lines out while scrubbing. */
113
129
  hideOverlaysOnScrub: boolean;
130
+ /** Reject outside plain-scrub starts and clamp active scrub X to the plot. */
131
+ clampToPlot: boolean;
132
+ }
133
+ export interface ResolvedPerSeriesTooltipConfig {
134
+ alwaysShow: boolean;
135
+ bucketSeconds: number | undefined;
136
+ formatSeriesValue: ((value: number, seriesId: string) => string) | undefined;
137
+ formatTimeRange: ((from: number, to: number) => string) | undefined;
138
+ maxLabelChars: number;
139
+ guideColor: string | undefined;
140
+ guideWidth: number;
141
+ guideDashPattern: number[] | undefined;
142
+ timePillBackground: string | undefined;
143
+ timePillColor: string | undefined;
144
+ timePillBorderColor: string | undefined;
145
+ timePillRadius: number;
146
+ timePillPaddingX: number;
147
+ timePillPaddingY: number;
148
+ seriesPillBackground: string | undefined;
149
+ seriesPillLabelColor: string | undefined;
150
+ seriesPillValueColor: string | undefined;
151
+ seriesPillBorderColor: string | undefined;
152
+ seriesPillRadius: number;
153
+ seriesPillPaddingX: number;
154
+ seriesPillPaddingY: number;
155
+ seriesPillDotSize: number;
156
+ seriesPillDotGap: number;
157
+ seriesPillLabelValueGap: number;
158
+ intersectionDotSize: number;
114
159
  }
115
160
  export interface ResolvedScrubActionConfig {
116
161
  /** Glyph drawn in the action badge. */
@@ -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":"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"}
@@ -1,9 +1,22 @@
1
+ import type { SkFont } from "@shopify/react-native-skia";
1
2
  import type { GridMetrics } from "../types";
2
3
  export interface YAxisEntry {
3
4
  y: number;
4
5
  label: string;
5
6
  alpha: number;
6
7
  }
8
+ export interface RightAnchoredYAxisColumnLayout {
9
+ /** Shared left X for every label in the column. */
10
+ labelX: number;
11
+ /** Grid/reference-line end X immediately before the column gap. */
12
+ gridEndX: number;
13
+ }
14
+ /**
15
+ * Measure the widest Y-axis label and anchor the shared left-aligned column to
16
+ * a fixed canvas-edge margin. Shared by the axis and reference-line worklets so
17
+ * their right edges cannot drift apart.
18
+ */
19
+ export declare function rightAnchoredYAxisColumnLayout(canvasWidth: number, entries: readonly YAxisEntry[], font: SkFont, labelRightMargin: number, gridEndGap?: number): RightAnchoredYAxisColumnLayout;
7
20
  /**
8
21
  * Fixed-count Y-axis: place exactly `count` price labels evenly **in pixels**
9
22
  * across the plot band — top = `displayMax`, bottom = `displayMin`. Values track
@@ -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;;;;;;;;;;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"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/draw/grid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGzD,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,MAAM,WAAW,8BAA8B;IAC7C,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,UAAU,SAAI,GACb,8BAA8B,CAWhC;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"}
@@ -1,4 +1,5 @@
1
1
  import { type SkFont } from "@shopify/react-native-skia";
2
+ import type { ResolvedPerSeriesTooltipConfig } from "../core/resolveConfig";
2
3
  import { type ChartPadding } from "../draw/line";
3
4
  import type { ScrubSeriesValue, SeriesConfig } from "../types";
4
5
  import { type TooltipLayout } from "./crosshairShared";
@@ -6,8 +7,15 @@ export declare function interpolateSeriesAtTime(series: SeriesConfig[], time: nu
6
7
  primary: number | null;
7
8
  seriesValues: ScrubSeriesValue[];
8
9
  };
10
+ /** Infer a bucket width from the latest positive interval in a visible series. */
11
+ export declare function estimateSeriesBucketSeconds(series: SeriesConfig[]): number;
12
+ /** Truncate a series label with the same ellipsis treatment as Morfi web. */
13
+ export declare function truncateSeriesTooltipLabel(label: string, maxChars: number): string;
14
+ /**
15
+ * Morfi-style per-series scrub tooltip geometry. Pure/worklet-safe so the
16
+ * entire readout can be recomputed on the UI thread without React renders.
17
+ */
18
+ export declare function computePerSeriesTooltipLayout(scrubActive: boolean, scrubX: number, scrubTime: number, series: SeriesConfig[], displaySeriesValues: number[], colors: string[], displayMin: number, displayMax: number, padding: ChartPadding, canvasWidth: number, canvasHeight: number, maxTime: number, formatValue: (value: number) => string, formatTime: (time: number) => string, font: SkFont, config: ResolvedPerSeriesTooltipConfig): TooltipLayout;
9
19
  /** Series-chart scrub primary value at window time — extracted for tests. */
10
20
  export declare function deriveScrubValueSeries(scrubActive: boolean, scrubTime: number, series: SeriesConfig[]): number | null;
11
- /** Series-chart stacked tooltip at scrub time — extracted for tests. */
12
- export declare function computeSeriesScrubTooltipLayout(scrubActive: boolean, scrubX: number, scrubTime: number, series: SeriesConfig[], padding: ChartPadding, canvasWidth: number, formatValue: (v: number) => string, formatTime: (t: number) => string, font: SkFont): TooltipLayout;
13
21
  //# sourceMappingURL=crosshairSeries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crosshairSeries.d.ts","sourceRoot":"","sources":["../../src/hooks/crosshairSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAgB9D;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EAAE,GACrB,MAAM,GAAG,IAAI,CAIf;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,IAAI,EAAE,MAAM,GACX,aAAa,CAwBf"}
1
+ {"version":3,"file":"crosshairSeries.d.ts","sourceRoot":"","sources":["../../src/hooks/crosshairSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAY3B,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAgB9D;AAED,kFAAkF;AAClF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAW1E;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR;AAQD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EAAE,EACtB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,8BAA8B,GACrC,aAAa,CAyMf;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EAAE,GACrB,MAAM,GAAG,IAAI,CAIf"}