react-native-livechart 4.19.0 → 4.21.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 (88) hide show
  1. package/dist/components/CustomThresholdBadgeOverlay.d.ts +18 -0
  2. package/dist/components/CustomThresholdBadgeOverlay.d.ts.map +1 -0
  3. package/dist/components/CustomTooltipOverlay.d.ts +4 -2
  4. package/dist/components/CustomTooltipOverlay.d.ts.map +1 -1
  5. package/dist/components/LiveChart.d.ts +2 -2
  6. package/dist/components/LiveChart.d.ts.map +1 -1
  7. package/dist/components/LiveChartSeries.d.ts +2 -2
  8. package/dist/components/LiveChartSeries.d.ts.map +1 -1
  9. package/dist/components/ReferenceLineOverlay.d.ts +9 -4
  10. package/dist/components/ReferenceLineOverlay.d.ts.map +1 -1
  11. package/dist/components/ReferenceLineSeriesOverlay.d.ts +19 -0
  12. package/dist/components/ReferenceLineSeriesOverlay.d.ts.map +1 -0
  13. package/dist/core/liveChartEngineTick.d.ts +6 -1
  14. package/dist/core/liveChartEngineTick.d.ts.map +1 -1
  15. package/dist/core/resolveConfig.d.ts +34 -1
  16. package/dist/core/resolveConfig.d.ts.map +1 -1
  17. package/dist/core/useLiveChartEngine.d.ts +9 -1
  18. package/dist/core/useLiveChartEngine.d.ts.map +1 -1
  19. package/dist/draw/candle.d.ts +3 -1
  20. package/dist/draw/candle.d.ts.map +1 -1
  21. package/dist/draw/candleGap.d.ts +14 -0
  22. package/dist/draw/candleGap.d.ts.map +1 -0
  23. package/dist/draw/grid.d.ts +1 -1
  24. package/dist/draw/grid.d.ts.map +1 -1
  25. package/dist/draw/lineGap.d.ts +25 -0
  26. package/dist/draw/lineGap.d.ts.map +1 -0
  27. package/dist/hooks/crosshairShared.d.ts +7 -3
  28. package/dist/hooks/crosshairShared.d.ts.map +1 -1
  29. package/dist/hooks/useCandleGapPaths.d.ts +12 -0
  30. package/dist/hooks/useCandleGapPaths.d.ts.map +1 -0
  31. package/dist/hooks/useChartPaths.d.ts +4 -1
  32. package/dist/hooks/useChartPaths.d.ts.map +1 -1
  33. package/dist/hooks/useCrosshair.d.ts +9 -5
  34. package/dist/hooks/useCrosshair.d.ts.map +1 -1
  35. package/dist/hooks/useLineGapPaths.d.ts +10 -0
  36. package/dist/hooks/useLineGapPaths.d.ts.map +1 -0
  37. package/dist/hooks/usePinchZoom.d.ts +7 -0
  38. package/dist/hooks/usePinchZoom.d.ts.map +1 -1
  39. package/dist/hooks/useReferenceLine.d.ts +4 -3
  40. package/dist/hooks/useReferenceLine.d.ts.map +1 -1
  41. package/dist/hooks/useReferenceLineSeries.d.ts +23 -0
  42. package/dist/hooks/useReferenceLineSeries.d.ts.map +1 -0
  43. package/dist/hooks/useThreshold.d.ts +13 -13
  44. package/dist/hooks/useThreshold.d.ts.map +1 -1
  45. package/dist/hooks/useYAxis.d.ts +1 -1
  46. package/dist/hooks/useYAxis.d.ts.map +1 -1
  47. package/dist/index.d.ts +1 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/math/candleGaps.d.ts +18 -0
  50. package/dist/math/candleGaps.d.ts.map +1 -0
  51. package/dist/math/referenceLineSeries.d.ts +12 -0
  52. package/dist/math/referenceLineSeries.d.ts.map +1 -0
  53. package/dist/math/referenceLines.d.ts +5 -5
  54. package/dist/math/referenceLines.d.ts.map +1 -1
  55. package/dist/math/spline.d.ts +5 -1
  56. package/dist/math/spline.d.ts.map +1 -1
  57. package/dist/types.d.ts +212 -14
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +1 -1
  60. package/src/components/CustomThresholdBadgeOverlay.tsx +74 -0
  61. package/src/components/CustomTooltipOverlay.tsx +7 -3
  62. package/src/components/LiveChart.tsx +353 -56
  63. package/src/components/LiveChartSeries.tsx +28 -6
  64. package/src/components/ReferenceLineOverlay.tsx +38 -7
  65. package/src/components/ReferenceLineSeriesOverlay.tsx +141 -0
  66. package/src/core/liveChartEngineTick.ts +34 -1
  67. package/src/core/resolveConfig.ts +197 -1
  68. package/src/core/useLiveChartEngine.ts +37 -5
  69. package/src/draw/candle.ts +1 -1
  70. package/src/draw/candleGap.ts +132 -0
  71. package/src/draw/grid.ts +34 -4
  72. package/src/draw/lineGap.ts +180 -0
  73. package/src/hooks/crosshairShared.ts +92 -11
  74. package/src/hooks/useCandleGapPaths.ts +88 -0
  75. package/src/hooks/useChartPaths.ts +81 -22
  76. package/src/hooks/useCrosshair.ts +126 -40
  77. package/src/hooks/useLineGapPaths.ts +76 -0
  78. package/src/hooks/usePinchZoom.ts +21 -0
  79. package/src/hooks/useReferenceLine.ts +6 -5
  80. package/src/hooks/useReferenceLineSeries.ts +101 -0
  81. package/src/hooks/useThreshold.ts +31 -22
  82. package/src/hooks/useYAxis.ts +2 -0
  83. package/src/index.ts +16 -0
  84. package/src/math/candleGaps.ts +120 -0
  85. package/src/math/referenceLineSeries.ts +83 -0
  86. package/src/math/referenceLines.ts +34 -6
  87. package/src/math/spline.ts +15 -5
  88. package/src/types.ts +224 -14
@@ -3,21 +3,25 @@ import { type SharedValue } from "react-native-reanimated";
3
3
  import type { ResolvedScrubActionConfig } from "../core/resolveConfig";
4
4
  import type { SingleEngineState } from "../core/useLiveChartEngine";
5
5
  import { type ChartPadding } from "../draw/line";
6
- import type { BadgeMetrics, CandlePoint, LiveChartPalette, ScrubActionPoint, ScrubPoint } from "../types";
6
+ import type { BadgeMetrics, CandleGap, CandlePoint, LiveChartPalette, ScrubActionPoint, ScrubPoint } from "../types";
7
7
  import { type CrosshairState } from "./crosshairShared";
8
8
  export type { CrosshairState, TooltipLayout } from "./crosshairShared";
9
9
  export type { ScrubPoint };
10
- export { computeCandleTooltipLayout, computeCrosshairOpacity, computeScrubTime, computeTooltipLayout, computeTooltipLayoutMulti, deriveCrosshairTooltipSingle, deriveScrubValueSingle, HIDDEN_TOOLTIP } from "./crosshairShared";
11
- export interface CrosshairCandleOpts {
10
+ export { computeCandleTooltipLayout, computeCrosshairOpacity, computeLineGapTooltipLayout, computeScrubTime, computeTooltipLayout, computeTooltipLayoutMulti, deriveCrosshairTooltipSingle, deriveScrubValueSingle, HIDDEN_TOOLTIP, } from "./crosshairShared";
11
+ export interface CrosshairChartOpts {
12
12
  mode: "line" | "candle";
13
13
  candles?: SharedValue<CandlePoint[]>;
14
14
  liveCandle?: SharedValue<CandlePoint | null>;
15
- candleWidthSecs: number;
15
+ candleWidthSecs?: number;
16
+ gaps?: CandleGap[];
17
+ bridgeNoTrades?: boolean;
18
+ bridgeUnavailable?: boolean;
19
+ bridgeUnknown?: boolean;
16
20
  }
17
21
  /**
18
22
  * Single-series crosshair + scrub. Use `useCrosshairSeries` for `LiveChartSeries`.
19
23
  */
20
- export declare function useCrosshair(engine: SingleEngineState, padding: ChartPadding, _palette: LiveChartPalette, formatValue: (v: number) => string, formatTime: (t: number) => string, font: SkFont, enabled: boolean, onScrub?: (point: ScrubPoint | null) => void, candleOpts?: CrosshairCandleOpts,
24
+ export declare function useCrosshair(engine: SingleEngineState, padding: ChartPadding, _palette: LiveChartPalette, formatValue: (v: number) => string, formatTime: (t: number) => string, font: SkFont, enabled: boolean, onScrub?: (point: ScrubPoint | null) => void, chartOpts?: CrosshairChartOpts,
21
25
  /** Press-and-hold delay (ms) before scrubbing activates. 0 = immediate. */
22
26
  panGestureDelay?: number, onGestureStart?: () => void, onGestureEnd?: () => void,
23
27
  /** Scrub-action ("order ticket") config; `null`/omitted disables lock mode. */
@@ -1 +1 @@
1
- {"version":3,"file":"useCrosshair.d.ts","sourceRoot":"","sources":["../../src/hooks/useCrosshair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAoBL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAwC3B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,CAAC;AAEzB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,EAC5C,UAAU,CAAC,EAAE,mBAAmB;AAChC,2EAA2E;AAC3E,eAAe,SAAI,EACnB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,YAAY,CAAC,EAAE,MAAM,IAAI;AACzB,+EAA+E;AAC/E,WAAW,CAAC,EAAE,yBAAyB,GAAG,IAAI,EAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;AACjD,iEAAiE;AACjE,YAAY,GAAE,YAAqC;AACnD;;;;;GAKG;AACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO;AAC/C,gFAAgF;AAChF,gBAAgB,GAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAgB;AAC9D,mEAAmE;AACnE,gBAAgB,UAAO;AACvB,kEAAkE;AAClE,eAAe,UAAO;AACtB,kFAAkF;AAClF,aAAa,SAAI;AACjB;;;;;GAKG;AACH,kBAAkB,SAAI;AACtB;;;;GAIG;AACH,YAAY,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;AACnC;;;;GAIG;AACH,WAAW,UAAQ;AACnB;;;;GAIG;AACH,aAAa,UAAQ,GACpB,cAAc,CAiqBhB"}
1
+ {"version":3,"file":"useCrosshair.d.ts","sourceRoot":"","sources":["../../src/hooks/useCrosshair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjD,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAqBL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAwC3B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,EAC5C,SAAS,CAAC,EAAE,kBAAkB;AAC9B,2EAA2E;AAC3E,eAAe,SAAI,EACnB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,YAAY,CAAC,EAAE,MAAM,IAAI;AACzB,+EAA+E;AAC/E,WAAW,CAAC,EAAE,yBAAyB,GAAG,IAAI,EAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;AACjD,iEAAiE;AACjE,YAAY,GAAE,YAAqC;AACnD;;;;;GAKG;AACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO;AAC/C,gFAAgF;AAChF,gBAAgB,GAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAgB;AAC9D,mEAAmE;AACnE,gBAAgB,UAAO;AACvB,kEAAkE;AAClE,eAAe,UAAO;AACtB,kFAAkF;AAClF,aAAa,SAAI;AACjB;;;;;GAKG;AACH,kBAAkB,SAAI;AACtB;;;;GAIG;AACH,YAAY,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;AACnC;;;;GAIG;AACH,WAAW,UAAQ;AACnB;;;;GAIG;AACH,aAAa,UAAQ,GACpB,cAAc,CA2uBhB"}
@@ -0,0 +1,10 @@
1
+ import type { ResolvedCandleGapsConfig } from "../core/resolveConfig";
2
+ import type { SingleEngineState } from "../core/useLiveChartEngine";
3
+ import type { ChartPadding } from "../draw/line";
4
+ /** Batched flat previous-value bridge paths for each semantic line-gap kind. */
5
+ export declare function useLineGapPaths(engine: SingleEngineState, padding: ChartPadding, config: ResolvedCandleGapsConfig): {
6
+ readonly noTradesPath: import("react-native-reanimated").DerivedValue<import("@shopify/react-native-skia").SkPath>;
7
+ readonly unavailablePath: import("react-native-reanimated").DerivedValue<import("@shopify/react-native-skia").SkPath>;
8
+ readonly unknownPath: import("react-native-reanimated").DerivedValue<import("@shopify/react-native-skia").SkPath>;
9
+ };
10
+ //# sourceMappingURL=useLineGapPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLineGapPaths.d.ts","sourceRoot":"","sources":["../../src/hooks/useLineGapPaths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,wBAAwB;;;;EAgEjC"}
@@ -18,6 +18,13 @@ export interface PinchZoomEngineRefs {
18
18
  /** Canvas width in px. */
19
19
  canvasWidth: SharedValue<number>;
20
20
  }
21
+ /** The pinch state cleared by the public chart handle's `resetZoom()` method. */
22
+ export type PinchZoomResetRefs = Pick<PinchZoomEngineRefs, "viewWindow" | "viewEnd">;
23
+ /**
24
+ * Clear the focal-anchored pinch overrides so the engine follows its configured
25
+ * `timeWindow` and live edge again. Safe to call when the chart is already reset.
26
+ */
27
+ export declare function resetPinchZoom({ viewWindow, viewEnd, }: PinchZoomResetRefs): void;
21
28
  export interface UsePinchZoomOptions {
22
29
  engine: PinchZoomEngineRefs;
23
30
  padding: ChartPadding;
@@ -1 +1 @@
1
- {"version":3,"file":"usePinchZoom.d.ts","sourceRoot":"","sources":["../../src/hooks/usePinchZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,qFAAqF;IACrF,OAAO,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,oFAAoF;IACpF,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;OAIG;IACH,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B;IAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,CAAC,MAAM,EAAE,MAAM,CAAC,CAMlB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAc,GACf,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CA0ExD"}
1
+ {"version":3,"file":"usePinchZoom.d.ts","sourceRoot":"","sources":["../../src/hooks/usePinchZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,qFAAqF;IACrF,OAAO,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,oFAAoF;IACpF,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;OAIG;IACH,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B;IAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,YAAY,GAAG,SAAS,CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,GACR,EAAE,kBAAkB,GAAG,IAAI,CAM3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,CAAC,MAAM,EAAE,MAAM,CAAC,CAMlB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAc,GACf,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CA0ExD"}
@@ -70,9 +70,10 @@ export declare function computeReferenceBadgeRect(line: ReferenceLine, canvasWid
70
70
  valueOverride?: number): ReferenceBadgeRect | null;
71
71
  /**
72
72
  * Derives screen-space layout for a single reference line or band. Supports all
73
- * three `ReferenceLine` forms (horizontal line, horizontal value band, vertical
74
- * time band) plus the pill badge for a Form-A value (in-range tag + off-screen
75
- * chevron pin).
73
+ * three scalar/band `ReferenceLine` forms (horizontal line, horizontal value
74
+ * band, vertical time band) plus the pill badge for a Form-A value (in-range tag
75
+ * + off-screen chevron pin). The series form is handled by
76
+ * `ReferenceLineSeriesOverlay`.
76
77
  */
77
78
  export declare function useReferenceLine(engine: ChartEngineLayout, padding: ChartPadding, line: ReferenceLine | undefined, formatValue: (v: number) => string, font: SkFont,
78
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useReferenceLine.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAOjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAoJD,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;AACtC,8EAA8E;AAC9E,aAAa,CAAC,EAAE,MAAM,GACrB,kBAAkB,GAAG,IAAI,CAwC3B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM;AACZ;;;;;GAKG;AACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAClC,KAAK,SAAI;AACT,oEAAoE;AACpE,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;AACxC,+EAA+E;AAC/E,gBAAgB,CAAC,EAAE,MAAM;AACzB,2EAA2E;AAC3E,UAAU,SAAI;AACd,mFAAmF;AACnF,SAAS,GAAE,MAAa,GACvB,WAAW,CAAC,mBAAmB,CAAC,CA6NlC"}
1
+ {"version":3,"file":"useReferenceLine.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAOjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAoJD,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;AACtC,8EAA8E;AAC9E,aAAa,CAAC,EAAE,MAAM,GACrB,kBAAkB,GAAG,IAAI,CAwC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM;AACZ;;;;;GAKG;AACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAClC,KAAK,SAAI;AACT,oEAAoE;AACpE,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;AACxC,+EAA+E;AAC/E,gBAAgB,CAAC,EAAE,MAAM;AACzB,2EAA2E;AAC3E,UAAU,SAAI;AACd,mFAAmF;AACnF,SAAS,GAAE,MAAa,GACvB,WAAW,CAAC,mBAAmB,CAAC,CA6NlC"}
@@ -0,0 +1,23 @@
1
+ import { type SharedValue } from "react-native-reanimated";
2
+ import type { ChartEngineLayout } from "../core/useLiveChartEngine";
3
+ import type { ChartPadding } from "../draw/line";
4
+ import type { LiveChartPoint } from "../types";
5
+ export interface ReferenceLineSeriesGeometry {
6
+ /** Visible series polyline as `[x, y, …]` screen coordinates. */
7
+ screenPts: SharedValue<number[]>;
8
+ /** Whether any series segment crosses the visible plot. */
9
+ visible: SharedValue<boolean>;
10
+ /** Series value at the chart's current right edge. */
11
+ currentValue: SharedValue<number>;
12
+ /** Canvas Y coordinate of {@link currentValue}. */
13
+ currentY: SharedValue<number>;
14
+ /** Whether the current-value label belongs inside the visible plot. */
15
+ currentVisible: SharedValue<boolean>;
16
+ }
17
+ /**
18
+ * UI-thread geometry for a static historical reference-line series. Point
19
+ * buffers ping-pong so Reanimated observes a changed array reference each frame
20
+ * without allocating new intermediate arrays.
21
+ */
22
+ export declare function useReferenceLineSeries(engine: ChartEngineLayout, padding: ChartPadding, points: LiveChartPoint[], extendToNow: boolean): ReferenceLineSeriesGeometry;
23
+ //# sourceMappingURL=useReferenceLineSeries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReferenceLineSeries.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceLineSeries.ts"],"names":[],"mappings":"AACA,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;AAQjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,2DAA2D;IAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,sDAAsD;IACtD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,mDAAmD;IACnD,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,uEAAuE;IACvE,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,EAAE,EACxB,WAAW,EAAE,OAAO,GACnB,2BAA2B,CA+D7B"}
@@ -41,15 +41,15 @@ export interface ThresholdSeriesGeometry {
41
41
  samples: SharedValue<number[]>;
42
42
  /** Whether any of the polyline is on-screen (drives marker-line opacity). */
43
43
  visible: SharedValue<boolean>;
44
- /** Threshold value at `now` (flat-extended past the last point) — the badge label. */
45
- currentValue: SharedValue<number>;
46
- /** Pixel-Y of `currentValue` — anchors the badge. */
47
- currentLineY: SharedValue<number>;
48
- /** Whether the badge should show: `currentLineY` on-plot AND, with
49
- * `extendToNow` off, "now" not past the series' last point. (`visible` can be
50
- * true for the polyline while the value-at-now sits outside the plot; the
51
- * badge must not draw into the gutters then.) */
52
- currentVisible: SharedValue<boolean>;
44
+ /** Threshold value at the configured badge anchor: the visible window's
45
+ * left edge (`"first"`) or its live/right edge (`"last"`). */
46
+ badgeValue: SharedValue<number>;
47
+ /** Pixel-Y of `badgeValue` — anchors the badge. */
48
+ badgeLineY: SharedValue<number>;
49
+ /** Whether the configured badge anchor is on-plot and belongs to a visible
50
+ * part of the threshold. (`visible` can still be true when that one endpoint
51
+ * is off-plot.) */
52
+ badgeVisible: SharedValue<boolean>;
53
53
  /** Pixel-X where the threshold ends: the last point's X with `extendToNow`
54
54
  * off, else {@link THRESHOLD_NO_CLIP}. The shader paints its plain
55
55
  * `restColor` right of it; the marker polyline stops there. */
@@ -59,14 +59,14 @@ export interface ThresholdSeriesGeometry {
59
59
  * Per-frame screen geometry for a **time-varying** threshold — a plain
60
60
  * `LiveChartPoint[]` `value` or a live `SharedValue<LiveChartPoint[]>` `series`
61
61
  * (which wins when both are given): the screen polyline (marker line +
62
- * fill-band bottom), the shader's pixel-Y `samples[]`, the current value/anchor
63
- * for the badge, and the `extendToNow` cutoff X. The array buffers ping-pong
64
- * (Reanimated only re-notifies subscribers when the returned reference
62
+ * fill-band bottom), the shader's pixel-Y `samples[]`, the configured endpoint
63
+ * value/anchor for the badge, and the `extendToNow` cutoff X. The array buffers
64
+ * ping-pong (Reanimated only re-notifies subscribers when the returned reference
65
65
  * changes). When the threshold is a constant `SharedValue<number>` every
66
66
  * worklet short-circuits cheaply and {@link useThreshold} drives the render
67
67
  * instead.
68
68
  */
69
- export declare function useThresholdSeries(engine: ChartEngineLayout, padding: ChartPadding, value: ThresholdValue, series?: SharedValue<LiveChartPoint[]> | null, extendToNow?: boolean): ThresholdSeriesGeometry;
69
+ export declare function useThresholdSeries(engine: ChartEngineLayout, padding: ChartPadding, value: ThresholdValue, series?: SharedValue<LiveChartPoint[]> | null, extendToNow?: boolean, labelAnchor?: "first" | "last"): ThresholdSeriesGeometry;
70
70
  /**
71
71
  * Pack a series geometry + a color set into the {@link ThresholdSplitShader}'s
72
72
  * uniforms (one `SharedValue` per paint — stroke vs. the alpha-reduced fill band).
@@ -1 +1 @@
1
- {"version":3,"file":"useThreshold.d.ts","sourceRoot":"","sources":["../../src/hooks/useThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEhE,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;AAYjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;AAEpE,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,aAAM,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,oFAAoF;IACpF,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,sFAAsF;IACtF,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,2FAA2F;IAC3F,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,cAAc,GACpB,iBAAiB,CAgCnB;AAED,MAAM,WAAW,uBAAuB;IACtC;;iEAE6D;IAC7D,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC;;;8DAG0D;IAC1D,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,sFAAsF;IACtF,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,qDAAqD;IACrD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC;;;sDAGkD;IAClD,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC;;oEAEgE;IAChE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,cAAc,EACrB,MAAM,GAAE,WAAW,CAAC,cAAc,EAAE,CAAC,GAAG,IAAW,EACnD,WAAW,UAAO,GACjB,uBAAuB,CAoJzB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,WAAW,CAAC,QAAQ,CAAC,CAoBvB"}
1
+ {"version":3,"file":"useThreshold.d.ts","sourceRoot":"","sources":["../../src/hooks/useThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEhE,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;AAYjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;AAEpE,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,aAAM,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,oFAAoF;IACpF,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,sFAAsF;IACtF,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,2FAA2F;IAC3F,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,cAAc,GACpB,iBAAiB,CAgCnB;AAED,MAAM,WAAW,uBAAuB;IACtC;;iEAE6D;IAC7D,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC;;;8DAG0D;IAC1D,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B;mEAC+D;IAC/D,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,mDAAmD;IACnD,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC;;wBAEoB;IACpB,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC;;oEAEgE;IAChE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,cAAc,EACrB,MAAM,GAAE,WAAW,CAAC,cAAc,EAAE,CAAC,GAAG,IAAW,EACnD,WAAW,UAAO,EAClB,WAAW,GAAE,OAAO,GAAG,MAAe,GACrC,uBAAuB,CA4JzB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,WAAW,CAAC,QAAQ,CAAC,CAoBvB"}
@@ -7,7 +7,7 @@ import type { GridMetrics } from "../types";
7
7
  * Uses `computeGridEntries` to pick nice intervals and track label alpha for
8
8
  * smooth transitions when the value range changes.
9
9
  */
10
- export declare function useYAxis(engine: ChartEngineLayout, padding: ChartPadding, formatValue: (v: number) => string, font: SkFont, minGap?: number, gridMetrics?: GridMetrics, count?: number): {
10
+ export declare function useYAxis(engine: ChartEngineLayout, padding: ChartPadding, formatValue: (v: number) => string, font: SkFont, minGap?: number, gridMetrics?: GridMetrics, count?: number, intervalScale?: number): {
11
11
  yAxisEntries: import("react-native-reanimated").DerivedValue<import("../draw/grid").YAxisEntry[]>;
12
12
  font: SkFont;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useYAxis.d.ts","sourceRoot":"","sources":["../../src/hooks/useYAxis.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM,EACZ,MAAM,SAAK,EACX,WAAW,GAAE,WAAmC,EAChD,KAAK,SAAI;;;EA+BV"}
1
+ {"version":3,"file":"useYAxis.d.ts","sourceRoot":"","sources":["../../src/hooks/useYAxis.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,IAAI,EAAE,MAAM,EACZ,MAAM,SAAK,EACX,WAAW,GAAE,WAAmC,EAChD,KAAK,SAAI,EACT,aAAa,SAAI;;;EAgClB"}
package/dist/index.d.ts CHANGED
@@ -15,5 +15,5 @@ export { MONO_FONT_FAMILY } from "./lib/monoFontFamily";
15
15
  export { useDegen } from "./hooks/useDegen";
16
16
  export { useTradeStream } from "./hooks/useTradeStream";
17
17
  export { usePriceY, useTimeX } from "./hooks/useChartOverlayContext";
18
- export type { AreaDotsConfig, AxisAutoHideConfig, AxisLabelConfig, BadgeConfig, BadgeMetrics, BadgeStyleConfig, BadgeVariant, CandleMetrics, CandlePoint, CanvasMode, ChartInsets, ChartOverlayContext, ChartPlotRect, ChartScale, ChartSegment, DegenOptions, DegenShakePayload, DotGlowConfig, EmptyStateMetrics, FontConfig, FontWeight, GradientConfig, GridMetrics, GridStyleConfig, LeftEdgeFadeConfig, LegendConfig, LegendStyle, LineConfig, LiveChartCoreProps, LiveChartMetrics, LiveChartMetricsOverride, LiveChartPalette, LiveChartPoint, LiveChartProps, LiveChartSeriesProps, LoadingConfig, Marker, MarkerClusterConfig, MarkerGroupBadge, MarkerKind, MarkerPressEvent, MarkerRenderContext, MarkerSide, Momentum, MomentumConfig, MotionMetrics, MultiSeriesDotConfig, PerSeriesTooltipConfig, PulseConfig, ReferenceLine, ReferenceLineBadgeConfig, ReferenceLineGroupingConfig, ReferenceLineRenderProps, ReturnToLiveConfig, ScrubActionConfig, ScrubActionPoint, ScrubConfig, ScrubPoint, ScrubPointCore, ScrubPointMulti, ScrubSeriesValue, SelectionDotConfig, SelectionDotProps, SelectionDotRingConfig, SeriesConfig, ThemeMode, ThresholdConfig, ThresholdLineConfig, TooltipRenderProps, TradeEvent, TransitionConfig, ValueLineConfig, VisibleRange, VolumeConfig, XAxisConfig, YAxisConfig, ZoomConfig, } from "./types";
18
+ export type { AreaDotsConfig, AxisAutoHideConfig, AxisLabelConfig, BadgeConfig, BadgeMetrics, BadgeStyleConfig, BadgeVariant, CandleGap, CandleGapBandStyle, CandleGapBridgeStyle, CandleGapKind, CandleGapLabelStyle, CandleGapStyle, CandleGapsConfig, CandleMetrics, CandlePoint, CanvasMode, ChartGap, ChartGapBandStyle, ChartGapBridgeStyle, ChartGapKind, ChartGapLabelStyle, ChartGapsConfig, ChartGapStyle, ChartInsets, ChartOverlayContext, ChartPlotRect, ChartScale, ChartSegment, DegenOptions, DegenShakePayload, DotGlowConfig, EmptyStateMetrics, FontConfig, FontWeight, GradientConfig, GridMetrics, GridStyleConfig, LeftEdgeFadeConfig, LegendConfig, LegendStyle, LineConfig, LiveChartCoreProps, LiveChartHandle, LiveChartMetrics, LiveChartMetricsOverride, LiveChartPalette, LiveChartPoint, LiveChartProps, LiveChartSeriesProps, LoadingConfig, Marker, MarkerClusterConfig, MarkerGroupBadge, MarkerKind, MarkerPressEvent, MarkerRenderContext, MarkerSide, Momentum, MomentumConfig, MotionMetrics, MultiSeriesDotConfig, PerSeriesTooltipConfig, PulseConfig, ReferenceLine, ReferenceLineBadgeConfig, ReferenceLineGroupingConfig, ReferenceLineRenderProps, ReturnToLiveConfig, ScrubActionConfig, ScrubActionPoint, ScrubConfig, ScrubPoint, ScrubPointCore, ScrubPointMulti, ScrubSeriesValue, SelectionDotConfig, SelectionDotProps, SelectionDotRingConfig, SeriesConfig, ThemeMode, ThresholdConfig, ThresholdBadgeRenderProps, ThresholdLineConfig, TooltipRenderProps, TradeEvent, TransitionConfig, ValueLineConfig, VisibleRange, VolumeConfig, XAxisConfig, YAxisConfig, ZoomConfig, } from "./types";
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAIjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAIjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CandleGap, CandleGapKind, CandlePoint } from "../types";
2
+ /** Built-in, overridable copy for gap bands and scrub tooltips. */
3
+ export declare function candleGapDefaultLabel(kind: CandleGapKind): string;
4
+ /** Find the explicit half-open gap containing `time`. Input must be start-sorted. */
5
+ export declare function pickCandleGapAtTime(gaps: CandleGap[], time: number): CandleGap | null;
6
+ /** Latest real candle strictly before `time`, preferring a newer live candle. */
7
+ export declare function previousCandleAtTime(candles: CandlePoint[], liveCandle: CandlePoint | null, time: number): CandlePoint | null;
8
+ /** Previous observed close for a bridged gap; `null` when no anchor exists. */
9
+ export declare function previousCandleCloseAtTime(candles: CandlePoint[], liveCandle: CandlePoint | null, time: number): number | null;
10
+ /** Whether a real candle starts in the bucket beginning at `bucketTime`. */
11
+ export declare function candleAtBucketTime(candles: CandlePoint[], liveCandle: CandlePoint | null, bucketTime: number, candleWidthSecs: number): CandlePoint | null;
12
+ /**
13
+ * Bucket start under `time`, aligned to the nearest preceding real candle.
14
+ * Returns `null` for a partial edge bucket, a bucket with real OHLC, or a gap
15
+ * without a previous-close anchor.
16
+ */
17
+ export declare function candleGapBucketStartAtTime(gap: CandleGap, time: number, candles: CandlePoint[], liveCandle: CandlePoint | null, candleWidthSecs: number): number | null;
18
+ //# sourceMappingURL=candleGaps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candleGaps.d.ts","sourceRoot":"","sources":["../../src/math/candleGaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtE,mEAAmE;AACnE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAKjE;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EAAE,EACjB,IAAI,EAAE,MAAM,GACX,SAAS,GAAG,IAAI,CAYlB;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAkBpB;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAGf;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,WAAW,GAAG,IAAI,CAkBpB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAmBf"}
@@ -0,0 +1,12 @@
1
+ import type { ChartPadding } from "../draw/line";
2
+ import type { LiveChartPoint } from "../types";
3
+ /**
4
+ * Project a historical reference-line series into screen-space `[x, y, …]`
5
+ * points for the visible time window. Window-edge values are interpolated so
6
+ * the path enters and leaves the plot cleanly. The series clamps to its first
7
+ * value on the left and, by default, to its last value at the live edge.
8
+ *
9
+ * Worklet-safe. When `out` is supplied it is cleared and reused.
10
+ */
11
+ export declare function buildReferenceLineSeriesPoints(points: LiveChartPoint[], now: number, windowSecs: number, displayMin: number, displayMax: number, canvasWidth: number, canvasHeight: number, padding: ChartPadding, extendToNow: boolean, out?: number[]): number[];
12
+ //# sourceMappingURL=referenceLineSeries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceLineSeries.d.ts","sourceRoot":"","sources":["../../src/math/referenceLineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,cAAc,EAAE,EACxB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,OAAO,EACpB,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CA0DV"}
@@ -1,15 +1,15 @@
1
1
  import type { FontWeight, ReferenceLine, ReferenceLineBadgeConfig } from "../types";
2
- /** Which of the three reference-line forms a `ReferenceLine` resolves to. */
3
- export type ReferenceLineForm = "line" | "value-band" | "time-band" | "none";
2
+ /** Which of the four reference-line forms a `ReferenceLine` resolves to. */
3
+ export type ReferenceLineForm = "line" | "series" | "value-band" | "time-band" | "none";
4
4
  /**
5
- * Classify a `ReferenceLine` into one of its three forms, applying the
6
- * documented precedence A (line) > B (value band) > C (time band).
5
+ * Classify a `ReferenceLine` into one of its four forms, applying the
6
+ * documented precedence A (line) > B (series) > C (value band) > D (time band).
7
7
  */
8
8
  export declare function referenceLineForm(rl: ReferenceLine): ReferenceLineForm;
9
9
  /**
10
10
  * Gather every Y value a set of reference lines should contribute to the
11
11
  * axis-range computation. Lines flagged `excludeFromRange` are skipped, as are
12
- * time bands (Form C) which constrain time, not value.
12
+ * time bands (Form D) which constrain time, not value.
13
13
  */
14
14
  export declare function collectReferenceValues(lines: ReferenceLine[]): number[];
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"referenceLines.d.ts","sourceRoot":"","sources":["../../src/math/referenceLines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAElB,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAgBvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,aAAa,EAAE,GAC9B,MAAM,EAAE,CAUV;AAoBD;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;yDACyD;AACzD,MAAM,WAAW,sBAAuB,SAAQ,2BAA2B;IACzE,qGAAqG;IACrG,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;yDACyD;AACzD,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AA+BtE;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,wBAAwB,GAC/B,2BAA2B,CAE7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,aAAa,GAChB,sBAAsB,GAAG,IAAI,CAmB/B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI,GAAG,OAAO,GAAG,OAAO,CAK1B"}
1
+ {"version":3,"file":"referenceLines.d.ts","sourceRoot":"","sources":["../../src/math/referenceLines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAElB,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,MAAM,CAAC;AAEX;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAStE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAgCvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,aAAa,EAAE,GAC9B,MAAM,EAAE,CAgBV;AAoBD;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;yDACyD;AACzD,MAAM,WAAW,sBAAuB,SAAQ,2BAA2B;IACzE,qGAAqG;IACrG,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;yDACyD;AACzD,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AA+BtE;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,wBAAwB,GAC/B,2BAA2B,CAE7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,aAAa,GAChB,sBAAsB,GAAG,IAAI,CAmB/B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI,GAAG,OAAO,GAAG,OAAO,CAK1B"}
@@ -39,7 +39,11 @@ export type SplinePathSink = {
39
39
  export declare function drawSpline(path: SplinePathSink, pts: number[], scratch?: SplineScratch,
40
40
  /** Straight polyline (`lineTo` per point) instead of the monotone cubic — an
41
41
  * angular, hard-edged line. The caller has already `moveTo`'d point 0. */
42
- linear?: boolean): void;
42
+ linear?: boolean,
43
+ /** First point index to draw (inclusive). The caller must moveTo this point. */
44
+ startPoint?: number,
45
+ /** Last point index to draw (exclusive). Defaults to the full array. */
46
+ endPoint?: number): void;
43
47
  /**
44
48
  * Value of the Fritsch–Carlson monotone cubic — the same curve {@link drawSpline}
45
49
  * renders — at `time`. Use this to anchor overlays (e.g. markers) exactly on the
@@ -1 +1 @@
1
- {"version":3,"file":"spline.d.ts","sourceRoot":"","sources":["../../src/math/spline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD;AAED;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,OAAO,EAAE,CACP,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,OAAO,CAAC;CACd,CAAC;AAEF,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,CAAC,EAAE,aAAa;AACvB;2EAC2E;AAC3E,MAAM,UAAQ,QAmEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAoEf"}
1
+ {"version":3,"file":"spline.d.ts","sourceRoot":"","sources":["../../src/math/spline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD;AAED;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,OAAO,EAAE,CACP,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,OAAO,CAAC;CACd,CAAC;AAEF,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,CAAC,EAAE,aAAa;AACvB;2EAC2E;AAC3E,MAAM,UAAQ;AACd,gFAAgF;AAChF,UAAU,SAAI;AACd,wEAAwE;AACxE,QAAQ,SAAkB,QAyE3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAoEf"}