react-native-livechart 4.10.0 → 4.12.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 (114) hide show
  1. package/README.md +24 -0
  2. package/dist/components/CrosshairLine.d.ts +5 -1
  3. package/dist/components/CrosshairLine.d.ts.map +1 -1
  4. package/dist/components/CrosshairOverlay.d.ts +3 -1
  5. package/dist/components/CrosshairOverlay.d.ts.map +1 -1
  6. package/dist/components/CustomReferenceLineOverlay.d.ts +19 -12
  7. package/dist/components/CustomReferenceLineOverlay.d.ts.map +1 -1
  8. package/dist/components/DegenParticlesOverlay.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/LeftEdgeFade.d.ts +3 -1
  12. package/dist/components/LeftEdgeFade.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/LoadingOverlay.d.ts +3 -1
  16. package/dist/components/LoadingOverlay.d.ts.map +1 -1
  17. package/dist/components/MarkerOverlay.d.ts.map +1 -1
  18. package/dist/components/MultiSeriesDots.d.ts +3 -1
  19. package/dist/components/MultiSeriesDots.d.ts.map +1 -1
  20. package/dist/components/MultiSeriesTooltipStack.d.ts.map +1 -1
  21. package/dist/components/MultiSeriesValueLabels.d.ts +3 -1
  22. package/dist/components/MultiSeriesValueLabels.d.ts.map +1 -1
  23. package/dist/components/MultiSeriesValueLines.d.ts +3 -1
  24. package/dist/components/MultiSeriesValueLines.d.ts.map +1 -1
  25. package/dist/components/PerSeriesTooltipOverlay.d.ts +19 -0
  26. package/dist/components/PerSeriesTooltipOverlay.d.ts.map +1 -0
  27. package/dist/components/ReferenceLineOverlay.d.ts +20 -6
  28. package/dist/components/ReferenceLineOverlay.d.ts.map +1 -1
  29. package/dist/components/ThresholdSplitShader.d.ts.map +1 -1
  30. package/dist/components/YAxisOverlay.d.ts +3 -1
  31. package/dist/components/YAxisOverlay.d.ts.map +1 -1
  32. package/dist/components/thresholdSplitShaderSource.d.ts +13 -0
  33. package/dist/components/thresholdSplitShaderSource.d.ts.map +1 -0
  34. package/dist/core/liveIndicatorVisibility.d.ts +9 -0
  35. package/dist/core/liveIndicatorVisibility.d.ts.map +1 -0
  36. package/dist/core/resolveConfig.d.ts +29 -0
  37. package/dist/core/resolveConfig.d.ts.map +1 -1
  38. package/dist/core/useLiveChartEngine.d.ts +9 -1
  39. package/dist/core/useLiveChartEngine.d.ts.map +1 -1
  40. package/dist/core/useLiveChartSeriesEngine.d.ts +10 -5
  41. package/dist/core/useLiveChartSeriesEngine.d.ts.map +1 -1
  42. package/dist/draw/particleAtlas.d.ts +3 -2
  43. package/dist/draw/particleAtlas.d.ts.map +1 -1
  44. package/dist/hooks/crosshairSeries.d.ts +10 -2
  45. package/dist/hooks/crosshairSeries.d.ts.map +1 -1
  46. package/dist/hooks/crosshairShared.d.ts +37 -2
  47. package/dist/hooks/crosshairShared.d.ts.map +1 -1
  48. package/dist/hooks/delayedPanGuard.d.ts +66 -8
  49. package/dist/hooks/delayedPanGuard.d.ts.map +1 -1
  50. package/dist/hooks/useChartPaths.d.ts +5 -9
  51. package/dist/hooks/useChartPaths.d.ts.map +1 -1
  52. package/dist/hooks/useCrosshair.d.ts +7 -1
  53. package/dist/hooks/useCrosshair.d.ts.map +1 -1
  54. package/dist/hooks/useCrosshairSeries.d.ts +22 -3
  55. package/dist/hooks/useCrosshairSeries.d.ts.map +1 -1
  56. package/dist/hooks/useMomentum.d.ts +1 -1
  57. package/dist/hooks/useMomentum.d.ts.map +1 -1
  58. package/dist/hooks/useMultiSeriesLinePaths.d.ts +4 -4
  59. package/dist/hooks/useMultiSeriesLinePaths.d.ts.map +1 -1
  60. package/dist/hooks/usePanScroll.d.ts +15 -1
  61. package/dist/hooks/usePanScroll.d.ts.map +1 -1
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/math/lerp.d.ts.map +1 -1
  65. package/dist/math/momentum.d.ts +1 -1
  66. package/dist/math/momentum.d.ts.map +1 -1
  67. package/dist/math/referenceLines.d.ts +7 -0
  68. package/dist/math/referenceLines.d.ts.map +1 -1
  69. package/dist/math/squiggly.d.ts +6 -3
  70. package/dist/math/squiggly.d.ts.map +1 -1
  71. package/dist/math/threshold.d.ts +2 -2
  72. package/dist/types.d.ts +184 -16
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/src/components/CrosshairLine.tsx +21 -1
  76. package/src/components/CrosshairOverlay.tsx +48 -35
  77. package/src/components/CustomReferenceLineOverlay.tsx +58 -20
  78. package/src/components/DegenParticlesOverlay.tsx +40 -5
  79. package/src/components/DotOverlay.tsx +24 -8
  80. package/src/components/LeftEdgeFade.tsx +12 -6
  81. package/src/components/LiveChart.tsx +186 -53
  82. package/src/components/LiveChartSeries.tsx +214 -29
  83. package/src/components/LoadingOverlay.tsx +26 -12
  84. package/src/components/MarkerOverlay.tsx +20 -3
  85. package/src/components/MultiSeriesDots.tsx +4 -2
  86. package/src/components/MultiSeriesTooltipStack.tsx +4 -2
  87. package/src/components/MultiSeriesValueLabels.tsx +4 -2
  88. package/src/components/MultiSeriesValueLines.tsx +4 -2
  89. package/src/components/PerSeriesTooltipOverlay.tsx +287 -0
  90. package/src/components/ReferenceLineOverlay.tsx +274 -141
  91. package/src/components/ThresholdSplitShader.tsx +5 -37
  92. package/src/components/YAxisOverlay.tsx +5 -1
  93. package/src/components/thresholdSplitShaderSource.ts +70 -0
  94. package/src/core/liveIndicatorVisibility.ts +25 -0
  95. package/src/core/resolveConfig.ts +86 -0
  96. package/src/core/useLiveChartEngine.ts +110 -42
  97. package/src/core/useLiveChartSeriesEngine.ts +137 -70
  98. package/src/draw/particleAtlas.ts +21 -10
  99. package/src/hooks/crosshairSeries.ts +262 -33
  100. package/src/hooks/crosshairShared.ts +41 -2
  101. package/src/hooks/delayedPanGuard.ts +111 -6
  102. package/src/hooks/useChartPaths.ts +36 -15
  103. package/src/hooks/useCrosshair.ts +73 -14
  104. package/src/hooks/useCrosshairSeries.ts +106 -13
  105. package/src/hooks/useMomentum.ts +8 -1
  106. package/src/hooks/useMultiSeriesLinePaths.ts +15 -9
  107. package/src/hooks/usePanScroll.ts +46 -5
  108. package/src/index.ts +2 -0
  109. package/src/math/lerp.ts +7 -0
  110. package/src/math/momentum.ts +22 -5
  111. package/src/math/referenceLines.ts +38 -0
  112. package/src/math/squiggly.ts +28 -11
  113. package/src/math/threshold.ts +2 -2
  114. package/src/types.ts +197 -17
package/README.md CHANGED
@@ -75,6 +75,30 @@ If you omit Worklets or reorder plugins, worklets in the chart may fail at build
75
75
 
76
76
  From **Expo SDK 53+**, Metro resolves `import` using `package.json` **`exports`**, including the **`react-native`** condition (see [Expo Metro: ES Module resolution](https://docs.expo.dev/versions/latest/config/metro/#es-module-resolution)). This library's runtime entry is **`src/index.ts`** under that condition. If you disabled package exports (`unstable_enablePackageExports: false`), align your resolver or re-enable exports so resolution matches the published map.
77
77
 
78
+ ### Optional: Worklets Bundle Mode
79
+
80
+ Bundle Mode is app-level build configuration—there is no LiveChart prop to enable. Because the package ships source, your app automatically compiles LiveChart's worklets in Bundle Mode when Babel and Metro are configured for it. The setup below was verified with **`react-native-worklets` 0.10.0**, Expo 57, and React Native 0.86; check Worklets compatibility before applying it to a different stack.
81
+
82
+ ```js
83
+ // babel.config.js — Worklets must remain the last plugin
84
+ plugins: [
85
+ [
86
+ "react-native-worklets/plugin",
87
+ { bundleMode: true, strictGlobal: true },
88
+ ],
89
+ ];
90
+ ```
91
+
92
+ ```js
93
+ // metro.config.js (Expo)
94
+ const { getDefaultConfig } = require("expo/metro-config");
95
+ const { getBundleModeMetroConfig } = require("react-native-worklets/bundleMode");
96
+
97
+ module.exports = getBundleModeMetroConfig(getDefaultConfig(__dirname));
98
+ ```
99
+
100
+ Follow the [official Bundle Mode setup](https://docs.swmansion.com/react-native-worklets/docs/bundleMode/setup/) to apply the version-matched `metro` and `metro-runtime` patches, then clear Metro's cache and rebuild. Those patches belong in the consuming app; this package does not mutate a consumer's toolchain during installation. Legacy Eval Mode remains supported.
101
+
78
102
  ## Quick start
79
103
 
80
104
  ```tsx
@@ -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, }: {
10
+ export declare function CrosshairLine({ scrubX, crosshairOpacity, engine, padding, palette, selectionDot, selectionY, scrubActive, selectionColor, dimOpacity, liveDotExtent, crosshairLineColor, crosshairLineWidth, crosshairDash, crosshairDimColor, opaqueCanvas, }: {
11
11
  scrubX: SharedValue<number>;
12
12
  crosshairOpacity: SharedValue<number>;
13
13
  engine: ChartEngineLayout;
@@ -31,8 +31,12 @@ 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 guide stroke width in px. Default 1. */
35
+ crosshairLineWidth?: number;
34
36
  /** Dash intervals `[on, off, …]` for the crosshair line; omit → solid. */
35
37
  crosshairDash?: number[];
36
38
  crosshairDimColor?: string;
39
+ /** Paint the owned background instead of erasing destination alpha. */
40
+ opaqueCanvas?: boolean;
37
41
  }): import("react").JSX.Element;
38
42
  //# sourceMappingURL=CrosshairLine.d.ts.map
@@ -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,GAClB,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;CAC5B,+BAuFA"}
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,kBAAsB,EACtB,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,oDAAoD;IACpD,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"}
@@ -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, }: {
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, }: {
10
10
  scrubX: SharedValue<number>;
11
11
  crosshairOpacity: SharedValue<number>;
12
12
  tooltipLayout: SharedValue<TooltipLayout>;
@@ -57,5 +57,7 @@ export declare function CrosshairOverlay({ scrubX, crosshairOpacity, tooltipLayo
57
57
  tooltipShowValue?: boolean;
58
58
  /** Draw the time row of the default tooltip body. Default true. */
59
59
  tooltipShowTime?: boolean;
60
+ /** Paint the owned background instead of erasing destination alpha. */
61
+ opaqueCanvas?: boolean;
60
62
  }): import("react").JSX.Element;
61
63
  //# sourceMappingURL=CrosshairOverlay.d.ts.map
@@ -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,GACvB,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;CAC3B,+BA8JA"}
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"}
@@ -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
  /**
@@ -30,7 +31,13 @@ export declare function CustomReferenceLineOverlay({ lines, renderReferenceLine,
30
31
  engine: ChartEngineLayout;
31
32
  padding: ChartPadding;
32
33
  formatValue: (v: number) => string;
33
- dragValues: SharedValue<number[]>;
34
- dragActive: SharedValue<boolean[]>;
34
+ /** Optional live overrides used by draggable single-series lines. */
35
+ dragValues?: SharedValue<number[]>;
36
+ /** Optional drag state used by draggable single-series lines. */
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;
35
42
  }): import("react").JSX.Element | null;
36
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;AAoHD;;;;;;;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,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;CACpC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DegenParticlesOverlay.d.ts","sourceRoot":"","sources":["../../src/components/DegenParticlesOverlay.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,KAAK,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,MAAM,GACP,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACzB,+BAuEA"}
1
+ {"version":3,"file":"DegenParticlesOverlay.d.ts","sourceRoot":"","sources":["../../src/components/DegenParticlesOverlay.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,KAAK,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,MAAM,GACP,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACzB,+BAyGA"}
@@ -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,9 +1,11 @@
1
1
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
2
- export declare function LeftEdgeFade({ paddingLeft, fadeWidth, startColor, endColor, engine, }: {
2
+ export declare function LeftEdgeFade({ paddingLeft, fadeWidth, startColor, endColor, engine, opaqueBackgroundRgb, }: {
3
3
  paddingLeft: number;
4
4
  fadeWidth: number;
5
5
  startColor: string;
6
6
  endColor: string;
7
7
  engine: ChartEngineLayout;
8
+ /** When set, paint the owned background instead of erasing destination alpha. */
9
+ opaqueBackgroundRgb?: [number, number, number];
8
10
  }): import("react").JSX.Element;
9
11
  //# sourceMappingURL=LeftEdgeFade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeftEdgeFade.d.ts","sourceRoot":"","sources":["../../src/components/LeftEdgeFade.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,GACP,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,+BAkBA"}
1
+ {"version":3,"file":"LeftEdgeFade.d.ts","sourceRoot":"","sources":["../../src/components/LeftEdgeFade.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,EACN,mBAAmB,GACpB,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,+BAoBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LiveChart.d.ts","sourceRoot":"","sources":["../../src/components/LiveChart.tsx"],"names":[],"mappings":"AAyHA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,UAAU,CAAC;AA4zElB,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;AA87ElB,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;AAouB3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAgK1D"}
1
+ {"version":3,"file":"LiveChartSeries.d.ts","sourceRoot":"","sources":["../../src/components/LiveChartSeries.tsx"],"names":[],"mappings":"AAiFA,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,UAAU,CAAC;AAy0B3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAiP1D"}
@@ -3,7 +3,7 @@ import { type SharedValue } from "react-native-reanimated";
3
3
  import { type ChartPadding } from "../draw/line";
4
4
  import type { BadgeMetrics, EmptyStateMetrics, LiveChartPalette } from "../types";
5
5
  import type { ChartEngineLayout } from "../core/useLiveChartEngine";
6
- export declare function LoadingOverlay({ engine, padding, palette, font, morphT, isLoading, isEmpty, emptyText, strokeWidth, badge, badgeTail, badgeMetrics, emptyMetrics, showAxisLabels, lineColor, lineStrokeWidth, waveAmplitude, waveSpeed, }: {
6
+ export declare function LoadingOverlay({ engine, padding, palette, font, morphT, isLoading, isEmpty, emptyText, strokeWidth, badge, badgeTail, badgeMetrics, emptyMetrics, showAxisLabels, lineColor, lineStrokeWidth, waveAmplitude, waveSpeed, opaqueCanvas, }: {
7
7
  engine: ChartEngineLayout;
8
8
  padding: ChartPadding;
9
9
  palette: LiveChartPalette;
@@ -24,6 +24,8 @@ export declare function LoadingOverlay({ engine, padding, palette, font, morphT,
24
24
  waveAmplitude?: number;
25
25
  /** Breathing-wave speed multiplier. */
26
26
  waveSpeed?: number;
27
+ /** Paint the owned background instead of erasing destination alpha. */
28
+ opaqueCanvas?: boolean;
27
29
  /** Mirror the badge prop so labels align with GridOverlay's label positions. */
28
30
  badge?: boolean;
29
31
  /** Whether the badge tail spike is shown; affects the left inset used for skeleton alignment. */
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../src/components/LoadingOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK5E,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAkBpE,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,KAAa,EACb,SAAgB,EAChB,YAAqC,EACrC,YAA2C,EAC3C,cAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAkB,EAClB,SAAa,GACd,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,iEAAiE;IACjE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iCAAiC;IACjC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,+BA+NA"}
1
+ {"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../src/components/LoadingOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK5E,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAkBpE,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,KAAa,EACb,SAAgB,EAChB,YAAqC,EACrC,YAA2C,EAC3C,cAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAkB,EAClB,SAAa,EACb,YAAoB,GACrB,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,iEAAiE;IACjE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iCAAiC;IACjC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,+BAyOA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkerOverlay.d.ts","sourceRoot":"","sources":["../../src/components/MarkerOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EAGZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAqBjD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,MAAM,EACN,mBAAmB,EACnB,YAAY,EACb,MAAM,UAAU,CAAC;AAgKlB;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACrE,uEAAuE;IACvE,OAAO,EAAE,qBAAqB,CAAC;CAChC,+BA2PA"}
1
+ {"version":3,"file":"MarkerOverlay.d.ts","sourceRoot":"","sources":["../../src/components/MarkerOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EAGZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAqBjD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,MAAM,EACN,mBAAmB,EACnB,YAAY,EACb,MAAM,UAAU,CAAC;AAgKlB;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACrE,uEAAuE;IACvE,OAAO,EAAE,qBAAqB,CAAC;CAChC,+BA4QA"}
@@ -2,7 +2,7 @@ import { type SharedValue } from "react-native-reanimated";
2
2
  import type { ChartPadding } from "../draw/line";
3
3
  import type { ResolvedDotRingConfig, ResolvedPulseConfig } from "../core/resolveConfig";
4
4
  import type { MultiEngineState } from "../core/useLiveChartEngine";
5
- export declare function MultiSeriesDots({ engine, padding, colors, radius, ring, ringColor, color, pulse, viewEnd, }: {
5
+ export declare function MultiSeriesDots({ engine, padding, colors, radius, ring, ringColor, color, pulse, viewEnd, seriesCount, }: {
6
6
  engine: MultiEngineState;
7
7
  padding: ChartPadding;
8
8
  colors: string[];
@@ -16,5 +16,7 @@ export declare function MultiSeriesDots({ engine, padding, colors, radius, ring,
16
16
  pulse: ResolvedPulseConfig | null;
17
17
  /** Pan/zoom right-edge override — pulse is frozen-out while scrolled back. */
18
18
  viewEnd?: SharedValue<number | null>;
19
+ /** Number of live series slots to mount. */
20
+ seriesCount: number;
19
21
  }): import("react").JSX.Element;
20
22
  //# sourceMappingURL=MultiSeriesDots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSeriesDots.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesDots.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAqGnE,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC,+BAmBA"}
1
+ {"version":3,"file":"MultiSeriesDots.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesDots.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAqGnE,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,+BAmBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSeriesTooltipStack.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesTooltipStack.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA+CjD,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,IAAI,EACJ,OAAO,GACR,EAAE;IACD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,+BAcA"}
1
+ {"version":3,"file":"MultiSeriesTooltipStack.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesTooltipStack.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAkDjD,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,IAAI,EACJ,OAAO,GACR,EAAE;IACD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,+BAcA"}
@@ -1,11 +1,13 @@
1
1
  import { type SkFont } from "@shopify/react-native-skia";
2
2
  import type { ChartPadding } from "../draw/line";
3
3
  import type { MultiEngineState } from "../core/useLiveChartEngine";
4
- export declare function MultiSeriesValueLabels({ engine, padding, colors, font, dotRadius, }: {
4
+ export declare function MultiSeriesValueLabels({ engine, padding, colors, font, dotRadius, seriesCount, }: {
5
5
  engine: MultiEngineState;
6
6
  padding: ChartPadding;
7
7
  colors: string[];
8
8
  font: SkFont;
9
9
  dotRadius: number;
10
+ /** Number of live series slots to mount. */
11
+ seriesCount: number;
10
12
  }): import("react").JSX.Element;
11
13
  //# sourceMappingURL=MultiSeriesValueLabels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSeriesValueLabels.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesValueLabels.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAiEnE,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,GACV,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,+BAgBA"}
1
+ {"version":3,"file":"MultiSeriesValueLabels.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesValueLabels.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAiEnE,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,+BAgBA"}
@@ -1,10 +1,12 @@
1
1
  import type { ChartPadding } from "../draw/line";
2
2
  import type { ResolvedValueLineConfig } from "../core/resolveConfig";
3
3
  import type { MultiEngineState } from "../core/useLiveChartEngine";
4
- export declare function MultiSeriesValueLines({ engine, padding, colors, config, }: {
4
+ export declare function MultiSeriesValueLines({ engine, padding, colors, config, seriesCount, }: {
5
5
  engine: MultiEngineState;
6
6
  padding: ChartPadding;
7
7
  colors: string[];
8
8
  config: ResolvedValueLineConfig;
9
+ /** Number of live series slots to mount. */
10
+ seriesCount: number;
9
11
  }): import("react").JSX.Element;
10
12
  //# sourceMappingURL=MultiSeriesValueLines.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSeriesValueLines.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesValueLines.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA+DnE,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,GACP,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;CACjC,+BAeA"}
1
+ {"version":3,"file":"MultiSeriesValueLines.d.ts","sourceRoot":"","sources":["../../src/components/MultiSeriesValueLines.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA+DnE,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;IAChC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,+BAeA"}
@@ -0,0 +1,19 @@
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, tooltipBackground, tooltipColor, tooltipBorderColor, }: {
9
+ layout: TooltipLayoutValue;
10
+ font: SkFont;
11
+ palette: LiveChartPalette;
12
+ config: ResolvedPerSeriesTooltipConfig;
13
+ seriesCount: number;
14
+ tooltipBackground?: string;
15
+ tooltipColor?: string;
16
+ tooltipBorderColor?: string;
17
+ }): import("react").JSX.Element;
18
+ export {};
19
+ //# 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,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,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,+BAwCA"}
@@ -9,7 +9,7 @@ import type { FontConfig, LiveChartPalette, ReferenceLine } from "../types";
9
9
  * band) plus the Form-A pill badge (in-range tag + off-screen chevron pin).
10
10
  * Self-contained so callers can `.map()` over a variable-length array.
11
11
  */
12
- export declare function ReferenceLineOverlay({ engine, padding, line, palette, formatValue, font, fontProp, badgeLayer, suppressTag, groupHidden, dragValues, index, }: {
12
+ type ReferenceLineOverlayProps = {
13
13
  engine: ChartEngineLayout;
14
14
  padding: ChartPadding;
15
15
  line: ReferenceLine;
@@ -30,11 +30,23 @@ export declare function ReferenceLineOverlay({ engine, padding, line, palette, f
30
30
  */
31
31
  badgeLayer?: boolean;
32
32
  /**
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
- */
33
+ * Suppress the built-in tag (badge pill + chevron + icon + gutter label) for
34
+ * this line — used when a custom `renderReferenceLine` element owns the tag.
35
+ * The line / band stroke and a badged line's dashed connector still draw. No
36
+ * effect on the base pass.
37
+ */
37
38
  suppressTag?: boolean;
39
+ /**
40
+ * Suppress the built-in tag only while the line is off-axis. Used by
41
+ * `renderOffAxisReferenceLine`, so the normal in-range tag remains intact.
42
+ */
43
+ suppressTagWhenOffAxis?: boolean;
44
+ /**
45
+ * Measured widths of custom reference-line tags, index-aligned with their
46
+ * `referenceLines`. When present for a suppressed badged tag, the built-in
47
+ * connector begins after the custom element instead of the hidden Skia pill.
48
+ */
49
+ customTagWidths?: SharedValue<number[]>;
38
50
  /**
39
51
  * Per-frame grouping flags (index-aligned): when this line's slot is `true` it's
40
52
  * collapsed into a group count handle, so its tag is suppressed (the line / band
@@ -45,5 +57,7 @@ export declare function ReferenceLineOverlay({ engine, padding, line, palette, f
45
57
  dragValues?: SharedValue<number[]>;
46
58
  /** This line's index into {@link dragValues}. */
47
59
  index?: number;
48
- }): import("react").JSX.Element;
60
+ };
61
+ export declare function ReferenceLineOverlay({ engine, padding, line, palette, formatValue, font, fontProp, badgeLayer, suppressTag, suppressTagWhenOffAxis, customTagWidths, groupHidden, dragValues, index, }: ReferenceLineOverlayProps): import("react").JSX.Element;
62
+ export {};
49
63
  //# 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,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;CAChB,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,GACV,EAAE,yBAAyB,+BAmG3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThresholdSplitShader.d.ts","sourceRoot":"","sources":["../../src/components/ThresholdSplitShader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+D3D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,SAAwB,CAAC;AAE/D,UAAU,yBAAyB;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,sCAI3E"}
1
+ {"version":3,"file":"ThresholdSplitShader.d.ts","sourceRoot":"","sources":["../../src/components/ThresholdSplitShader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+B3D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,SAAwB,CAAC;AAE/D,UAAU,yBAAyB;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,sCAI3E"}
@@ -7,7 +7,7 @@ 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, }: {
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. */
@@ -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,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,YAAY,EACZ,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,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;CACjB,+BA+FA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Build a balanced constant-index lookup for the threshold sample array.
3
+ *
4
+ * SkSL does not allow a runtime value to index a uniform array. A linear loop
5
+ * works around that restriction, but makes every covered fragment visit every
6
+ * segment. This tree keeps every array index constant while selecting the same
7
+ * segment in at most `ceil(log2(sampleCount - 1))` comparisons (six for the
8
+ * production 64-sample shader).
9
+ */
10
+ export declare function buildThresholdLookupTree(sampleCount: number): string;
11
+ /** Build the complete time-varying threshold split shader. */
12
+ export declare function buildThresholdSplitShaderSource(sampleCount: number): string;
13
+ //# sourceMappingURL=thresholdSplitShaderSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thresholdSplitShaderSource.d.ts","sourceRoot":"","sources":["../../src/components/thresholdSplitShaderSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoBpE;AAED,8DAA8D;AAC9D,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC3E"}
@@ -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"}
@@ -83,6 +83,8 @@ export interface ResolvedXAxisConfig {
83
83
  }
84
84
  export interface ResolvedScrubConfig {
85
85
  tooltip: boolean;
86
+ /** Opt-in per-series pill tooltip for LiveChartSeries; null keeps guide-only behavior. */
87
+ seriesTooltip: ResolvedPerSeriesTooltipConfig | null;
86
88
  /** Opacity of content right of the crosshair while scrubbing (dstOut fade). */
87
89
  dimOpacity: number;
88
90
  /** undefined → palette.crosshairLine */
@@ -112,6 +114,33 @@ export interface ResolvedScrubConfig {
112
114
  /** Fade markers + reference lines out while scrubbing. */
113
115
  hideOverlaysOnScrub: boolean;
114
116
  }
117
+ export interface ResolvedPerSeriesTooltipConfig {
118
+ alwaysShow: boolean;
119
+ bucketSeconds: number | undefined;
120
+ formatSeriesValue: ((value: number, seriesId: string) => string) | undefined;
121
+ formatTimeRange: ((from: number, to: number) => string) | undefined;
122
+ maxLabelChars: number;
123
+ guideColor: string | undefined;
124
+ guideWidth: number;
125
+ guideDashPattern: number[] | undefined;
126
+ timePillBackground: string | undefined;
127
+ timePillColor: string | undefined;
128
+ timePillBorderColor: string | undefined;
129
+ timePillRadius: number;
130
+ timePillPaddingX: number;
131
+ timePillPaddingY: number;
132
+ seriesPillBackground: string | undefined;
133
+ seriesPillLabelColor: string | undefined;
134
+ seriesPillValueColor: string | undefined;
135
+ seriesPillBorderColor: string | undefined;
136
+ seriesPillRadius: number;
137
+ seriesPillPaddingX: number;
138
+ seriesPillPaddingY: number;
139
+ seriesPillDotSize: number;
140
+ seriesPillDotGap: number;
141
+ seriesPillLabelValueGap: number;
142
+ intersectionDotSize: number;
143
+ }
115
144
  export interface ResolvedScrubActionConfig {
116
145
  /** Glyph drawn in the action badge. */
117
146
  icon: string;