react-native-livechart 4.24.1 → 4.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DegenParticlesOverlay.d.ts +2 -2
- package/dist/components/DegenParticlesOverlay.d.ts.map +1 -1
- package/dist/components/LiveChart.d.ts.map +1 -1
- package/dist/components/LiveChartSeries.d.ts.map +1 -1
- package/dist/components/LoadingOverlay.d.ts +5 -1
- package/dist/components/LoadingOverlay.d.ts.map +1 -1
- package/dist/components/YAxisOverlay.d.ts +3 -1
- package/dist/components/YAxisOverlay.d.ts.map +1 -1
- package/dist/constants.d.ts +3 -3
- package/dist/core/historyRangeCache.d.ts +25 -0
- package/dist/core/historyRangeCache.d.ts.map +1 -0
- package/dist/core/liveChartEngineTick.d.ts +6 -2
- package/dist/core/liveChartEngineTick.d.ts.map +1 -1
- package/dist/core/liveChartSeriesEngineTick.d.ts +2 -1
- package/dist/core/liveChartSeriesEngineTick.d.ts.map +1 -1
- package/dist/core/resolveConfig.d.ts +1 -1
- package/dist/core/useHistoryRevision.d.ts +5 -0
- package/dist/core/useHistoryRevision.d.ts.map +1 -0
- package/dist/core/useLiveChartEngine.d.ts +20 -2
- package/dist/core/useLiveChartEngine.d.ts.map +1 -1
- package/dist/core/useLiveChartSeriesEngine.d.ts +5 -1
- package/dist/core/useLiveChartSeriesEngine.d.ts.map +1 -1
- package/dist/draw/candleBodyPath.d.ts +10 -0
- package/dist/draw/candleBodyPath.d.ts.map +1 -0
- package/dist/draw/lineFillPaths.d.ts +10 -0
- package/dist/draw/lineFillPaths.d.ts.map +1 -0
- package/dist/draw/volume.d.ts +4 -1
- package/dist/draw/volume.d.ts.map +1 -1
- package/dist/draw/volumeRange.d.ts +12 -0
- package/dist/draw/volumeRange.d.ts.map +1 -0
- package/dist/hooks/crosshairShared.d.ts +8 -0
- package/dist/hooks/crosshairShared.d.ts.map +1 -1
- package/dist/hooks/useCandlePaths.d.ts +1 -1
- package/dist/hooks/useCandlePaths.d.ts.map +1 -1
- package/dist/hooks/useChartPaths.d.ts +1 -1
- package/dist/hooks/useChartPaths.d.ts.map +1 -1
- package/dist/hooks/useCrosshair.d.ts.map +1 -1
- package/dist/hooks/useDegen.d.ts +1 -0
- package/dist/hooks/useDegen.d.ts.map +1 -1
- package/dist/hooks/useDemandFrameLoop.d.ts +11 -0
- package/dist/hooks/useDemandFrameLoop.d.ts.map +1 -0
- package/dist/hooks/useLoadingLook.d.ts +12 -0
- package/dist/hooks/useLoadingLook.d.ts.map +1 -0
- package/dist/hooks/useMarkers.d.ts +3 -1
- package/dist/hooks/useMarkers.d.ts.map +1 -1
- package/dist/hooks/useMultiSeriesDegen.d.ts +1 -0
- package/dist/hooks/useMultiSeriesDegen.d.ts.map +1 -1
- package/dist/hooks/usePanScroll.d.ts +2 -0
- package/dist/hooks/usePanScroll.d.ts.map +1 -1
- package/dist/hooks/usePinchZoom.d.ts +2 -0
- package/dist/hooks/usePinchZoom.d.ts.map +1 -1
- package/dist/hooks/useReferenceDrag.d.ts +3 -2
- package/dist/hooks/useReferenceDrag.d.ts.map +1 -1
- package/dist/hooks/useReferenceLineGrouping.d.ts +19 -0
- package/dist/hooks/useReferenceLineGrouping.d.ts.map +1 -0
- package/dist/hooks/useVolumeRange.d.ts +14 -0
- package/dist/hooks/useVolumeRange.d.ts.map +1 -0
- package/dist/hooks/useXAxis.d.ts +7 -0
- package/dist/hooks/useXAxis.d.ts.map +1 -1
- package/dist/hooks/useYAxis.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/math/rangeAnimation.d.ts +4 -0
- package/dist/math/rangeAnimation.d.ts.map +1 -0
- package/dist/math/referenceDrag.d.ts +17 -5
- package/dist/math/referenceDrag.d.ts.map +1 -1
- package/dist/math/referenceGroup.d.ts +2 -2
- package/dist/math/spline.d.ts +3 -1
- package/dist/math/spline.d.ts.map +1 -1
- package/dist/math/squiggly.d.ts +8 -0
- package/dist/math/squiggly.d.ts.map +1 -1
- package/dist/types.d.ts +52 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/DegenParticlesOverlay.tsx +5 -5
- package/src/components/LiveChart.tsx +37 -66
- package/src/components/LiveChartSeries.tsx +18 -6
- package/src/components/LoadingOverlay.tsx +53 -12
- package/src/components/YAxisOverlay.tsx +38 -2
- package/src/constants.ts +3 -3
- package/src/core/historyRangeCache.ts +109 -0
- package/src/core/liveChartEngineTick.ts +41 -63
- package/src/core/liveChartSeriesEngineTick.ts +18 -5
- package/src/core/resolveConfig.ts +1 -1
- package/src/core/useHistoryRevision.ts +36 -0
- package/src/core/useLiveChartEngine.ts +159 -64
- package/src/core/useLiveChartSeriesEngine.ts +22 -2
- package/src/draw/candleBodyPath.ts +38 -0
- package/src/draw/lineFillPaths.ts +63 -0
- package/src/draw/volume.ts +21 -23
- package/src/draw/volumeRange.ts +51 -0
- package/src/hooks/crosshairShared.ts +29 -0
- package/src/hooks/useCandlePaths.ts +68 -94
- package/src/hooks/useChartPaths.ts +87 -111
- package/src/hooks/useCrosshair.ts +15 -3
- package/src/hooks/useDegen.ts +10 -6
- package/src/hooks/useDemandFrameLoop.ts +82 -0
- package/src/hooks/useLoadingLook.ts +30 -0
- package/src/hooks/useMarkers.ts +18 -4
- package/src/hooks/useMultiSeriesDegen.ts +7 -3
- package/src/hooks/usePanScroll.ts +5 -0
- package/src/hooks/usePinchZoom.ts +5 -0
- package/src/hooks/useReferenceDrag.ts +28 -14
- package/src/hooks/useReferenceLineGrouping.ts +72 -0
- package/src/hooks/useVolumeRange.ts +40 -0
- package/src/hooks/useXAxis.ts +27 -3
- package/src/hooks/useYAxis.ts +18 -2
- package/src/index.ts +1 -0
- package/src/math/rangeAnimation.ts +28 -0
- package/src/math/referenceDrag.ts +21 -4
- package/src/math/referenceGroup.ts +2 -2
- package/src/math/spline.ts +16 -8
- package/src/math/squiggly.ts +12 -0
- package/src/types.ts +53 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Wait through several unchanged frames, rather than mistaking one quiet frame for rest. */
|
|
2
|
+
export declare const IDLE_SETTLE_MS = 160;
|
|
3
|
+
export declare function nextQuietTime(previous: number, changed: boolean, dt: number): number;
|
|
4
|
+
/**
|
|
5
|
+
* Opt-in UI-runtime RAF loop. Inputs wake it without a JS-thread round trip.
|
|
6
|
+
* `tick` returns true while work changed or a continuous effect needs frames.
|
|
7
|
+
* `prepare` must read INPUTS only: subscribing to tick outputs causes feedback.
|
|
8
|
+
* A generation token makes queued frames harmless after replacement/unmount.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useDemandFrameLoop(enabled: boolean, prepare: () => unknown, tick: (dt: number) => boolean): () => void;
|
|
11
|
+
//# sourceMappingURL=useDemandFrameLoop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDemandFrameLoop.d.ts","sourceRoot":"","sources":["../../src/hooks/useDemandFrameLoop.ts"],"names":[],"mappings":"AAIA,6FAA6F;AAC7F,eAAO,MAAM,cAAc,MAAM,CAAC;AAKlC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,OAAO,EACtB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAC5B,MAAM,IAAI,CAwDZ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ResolvedLoadingConfig } from "../core/resolveConfig";
|
|
2
|
+
/**
|
|
3
|
+
* The loading shell's look: the live `loading` config while loading, and the
|
|
4
|
+
* last one after. The shell fades out and the reveal morph melts its squiggle
|
|
5
|
+
* into the line only once `loading` has turned off, when `resolveLoading`
|
|
6
|
+
* already returns `null` — so they would otherwise snap to the default color,
|
|
7
|
+
* stroke, wave and Y-axis placeholders just as the data arrives. The empty
|
|
8
|
+
* shell ("No data") shown later keeps it too; before any loading, it has none
|
|
9
|
+
* and the defaults apply.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useLoadingLook(loadingCfg: ResolvedLoadingConfig | null): ResolvedLoadingConfig | null;
|
|
12
|
+
//# sourceMappingURL=useLoadingLook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadingLook.d.ts","sourceRoot":"","sources":["../../src/hooks/useLoadingLook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAUnE;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,qBAAqB,GAAG,IAAI,GACvC,qBAAqB,GAAG,IAAI,CAM9B"}
|
|
@@ -20,7 +20,9 @@ lineLinear?: boolean,
|
|
|
20
20
|
/** Collision config; default `"anchored"` (no stacking). */
|
|
21
21
|
cluster?: ResolvedMarkerCluster,
|
|
22
22
|
/** Runtime gate shared with the chart engine. */
|
|
23
|
-
isFrameLoopActive?: SharedValue<boolean
|
|
23
|
+
isFrameLoopActive?: SharedValue<boolean>,
|
|
24
|
+
/** Experimental input-driven projection instead of continuous frames; defaults to false. */
|
|
25
|
+
autoSleep?: boolean): {
|
|
24
26
|
projected: SharedValue<ProjectedMarker[]>;
|
|
25
27
|
tapGesture: ReturnType<typeof Gesture.Tap>;
|
|
26
28
|
/** Worklet hit-test: true when (x, y) lands on a projected marker. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkers.d.ts","sourceRoot":"","sources":["../../src/hooks/useMarkers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"useMarkers.d.ts","sourceRoot":"","sources":["../../src/hooks/useMarkers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAalB;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAC9B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,EACxD,QAAQ,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,EACtC,QAAQ,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC;AACxC,6EAA6E;AAC7E,SAAS,UAAO;AAChB;uEACuE;AACvE,UAAU,UAAQ;AAClB,4DAA4D;AAC5D,OAAO,GAAE,qBAAwC;AACjD,iDAAiD;AACjD,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;AACxC,4FAA4F;AAC5F,SAAS,UAAQ,GAChB;IACD,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,sEAAsE;IACtE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C,CA2GA"}
|
|
@@ -13,6 +13,7 @@ import type { DegenShakePayload } from "../types";
|
|
|
13
13
|
export declare function useMultiSeriesDegen(engine: MultiEngineState, padding: ChartPadding, cfg: ResolvedDegenConfig | null, onShake?: (payload: DegenShakePayload) => void): {
|
|
14
14
|
pack: SharedValue<Float64Array<ArrayBuffer>>;
|
|
15
15
|
packRevision: SharedValue<number>;
|
|
16
|
+
particleTimestamp: SharedValue<number>;
|
|
16
17
|
shakeTransform: DerivedValue<[
|
|
17
18
|
{
|
|
18
19
|
translateX: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMultiSeriesDegen.d.ts","sourceRoot":"","sources":["../../src/hooks/useMultiSeriesDegen.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,mBAAmB,GAAG,IAAI,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAC7C;IACD,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,EAAE,YAAY,CAC1B;QAAC;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE;QAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE;KAAC,CACjD,CAAC;CACH,
|
|
1
|
+
{"version":3,"file":"useMultiSeriesDegen.d.ts","sourceRoot":"","sources":["../../src/hooks/useMultiSeriesDegen.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,mBAAmB,GAAG,IAAI,EAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAC7C;IACD,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,cAAc,EAAE,YAAY,CAC1B;QAAC;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE;QAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE;KAAC,CACjD,CAAC;CACH,CAmOA"}
|
|
@@ -7,6 +7,8 @@ export declare const AXIS_GRAB_MIN_PX = 44;
|
|
|
7
7
|
export type PanScrollGestureMode = "holdToScrub" | "axisDrag";
|
|
8
8
|
/** Engine SharedValues the pan-scroll gesture reads/writes (subset of the engine state). */
|
|
9
9
|
export interface PanScrollEngineRefs {
|
|
10
|
+
/** Wake a demand-driven engine before reading the gesture bounds. */
|
|
11
|
+
wake?: () => void;
|
|
10
12
|
/** Absolute right-edge time to freeze at, or `null` to follow the live edge. */
|
|
11
13
|
viewEnd: SharedValue<number | null>;
|
|
12
14
|
/** Right-edge time the engine would use if following live (advances each frame). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanScroll.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanScroll.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"usePanScroll.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanScroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { type SharedValue } from "react-native-reanimated";
|
|
|
3
3
|
import type { ChartPadding } from "../draw/line";
|
|
4
4
|
/** Engine SharedValues the pinch-zoom gesture reads/writes. */
|
|
5
5
|
export interface PinchZoomEngineRefs {
|
|
6
|
+
/** Wake a demand-driven engine before reading the gesture bounds. */
|
|
7
|
+
wake?: () => void;
|
|
6
8
|
/** Visible-window width override in seconds, or `null` to follow `timeWindow`. */
|
|
7
9
|
viewWindow: SharedValue<number | null>;
|
|
8
10
|
/** Absolute right-edge time, or `null` to follow the live edge (shared with pan). */
|
|
@@ -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,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,
|
|
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,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,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,CA6ExD"}
|
|
@@ -7,12 +7,13 @@ import type { ReferenceLine } from "../types";
|
|
|
7
7
|
* Builds the per-line **drag** gesture for draggable Form-A reference lines: grab a
|
|
8
8
|
* line near its value-Y and drag vertically to set a new value, with optional
|
|
9
9
|
* `snap` + `bounds` clamp. Mirrors the order-ticket reticle in {@link useCrosshair}
|
|
10
|
-
* (value↔Y via `computeValueAtY` / `
|
|
10
|
+
* (value↔Y via `computeValueAtY` / `pinnedPlotY`, frozen value re-projected
|
|
11
11
|
* each frame) but per line, writing into the shared `dragValues` array the layout
|
|
12
12
|
* and overlays read.
|
|
13
13
|
*
|
|
14
14
|
* The pan uses `manualActivation`: it grabs only when a touch starts within
|
|
15
|
-
* {@link GRAB_SLOP} of a draggable line
|
|
15
|
+
* {@link GRAB_SLOP} of a draggable line (and inside its `grabRange`, when it has
|
|
16
|
+
* one), then **owns** that touch — any drag past
|
|
16
17
|
* {@link DRAG_ACTIVATE_PX} (in either axis) drags the line. A touch off every line
|
|
17
18
|
* fails fast so the chart's other gestures (scrub / scroll) run everywhere else
|
|
18
19
|
* (compose this ahead of them via `Gesture.Exclusive`). Crucially it no longer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReferenceDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AASjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useReferenceDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AASjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAY9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EACjC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,EAClC,OAAO,EAAE,OAAO,GACf;IACD,OAAO,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC;qFACiF;IACjF,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C,CA8OA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 ReferenceGrouping } from "../math/referenceGroup";
|
|
5
|
+
import type { ReferenceLine } from "../types";
|
|
6
|
+
/** Cluster the built-in tags that can actually render in the current plot. */
|
|
7
|
+
export declare function useReferenceLineGrouping({ radius, engine, padding, lines, custom, offAxisCustom, dragValues, }: {
|
|
8
|
+
radius: number | null;
|
|
9
|
+
engine: ChartEngineLayout;
|
|
10
|
+
padding: ChartPadding;
|
|
11
|
+
lines: ReferenceLine[];
|
|
12
|
+
custom: boolean[];
|
|
13
|
+
offAxisCustom: boolean[];
|
|
14
|
+
dragValues: SharedValue<number[]>;
|
|
15
|
+
}): {
|
|
16
|
+
refGroupResult: import("react-native-reanimated").DerivedValue<ReferenceGrouping>;
|
|
17
|
+
groupHidden: import("react-native-reanimated").DerivedValue<boolean[]>;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=useReferenceLineGrouping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReferenceLineGrouping.d.ts","sourceRoot":"","sources":["../../src/hooks/useReferenceLineGrouping.ts"],"names":[],"mappings":"AAAA,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;AACjD,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAM9C,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;CACnC;;;EA0CA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type SharedValue } from "react-native-reanimated";
|
|
2
|
+
import type { CandlePoint } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Primitive index outputs suppress downstream scans while the window glides
|
|
5
|
+
* within the same buckets. The maximum also depends directly on candles, so
|
|
6
|
+
* every notified data revision (including same-length replacement or modify)
|
|
7
|
+
* invalidates it. Array length and object identity are never cache keys.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useVolumeRange(candles: SharedValue<CandlePoint[]> | undefined, timestamp: SharedValue<number>, window: SharedValue<number>, width: SharedValue<number>, active: boolean): {
|
|
10
|
+
start: import("react-native-reanimated").DerivedValue<number>;
|
|
11
|
+
end: import("react-native-reanimated").DerivedValue<number>;
|
|
12
|
+
max: import("react-native-reanimated").DerivedValue<number>;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useVolumeRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVolumeRange.d.ts","sourceRoot":"","sources":["../../src/hooks/useVolumeRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,EAC/C,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAC3B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,OAAO;;;;EAoBhB"}
|
package/dist/hooks/useXAxis.d.ts
CHANGED
|
@@ -29,4 +29,11 @@ export declare function useXAxis(engine: ChartEngineLayout, padding: ChartPaddin
|
|
|
29
29
|
xAxisEntries: import("react-native-reanimated").DerivedValue<XAxisEntry[]>;
|
|
30
30
|
font: SkFont;
|
|
31
31
|
};
|
|
32
|
+
export declare function sameXAxisLabels(previous: Record<number, {
|
|
33
|
+
alpha: number;
|
|
34
|
+
text: string;
|
|
35
|
+
}>, next: Record<number, {
|
|
36
|
+
alpha: number;
|
|
37
|
+
text: string;
|
|
38
|
+
}>): boolean;
|
|
32
39
|
//# sourceMappingURL=useXAxis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXAxis.d.ts","sourceRoot":"","sources":["../../src/hooks/useXAxis.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAChC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMjD;AAUD,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,QAajD;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,IAAI,EAAE,MAAM;;;
|
|
1
|
+
{"version":3,"file":"useXAxis.d.ts","sourceRoot":"","sources":["../../src/hooks/useXAxis.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAChC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMjD;AAUD,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,QAajD;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,IAAI,EAAE,MAAM;;;EAyKb;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACpD,OAAO,CAST"}
|
|
@@ -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,EACT,aAAa,SAAI;;;
|
|
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;;;EAgDlB"}
|
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, 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, LiveChartFrameStats, 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";
|
|
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, LiveChartFrameStats, LiveChartHandle, LiveChartMetrics, LiveChartMetricsOverride, LiveChartPalette, LiveChartPoint, LiveChartProps, LiveChartSeriesProps, LoadingConfig, Marker, MarkerClusterConfig, MarkerGroupBadge, MarkerKind, MarkerPressEvent, MarkerRenderContext, MarkerSide, Momentum, MomentumConfig, MotionMetrics, MultiSeriesDotConfig, PerSeriesTooltipConfig, PulseConfig, RangeAnimationConfig, 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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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,mBAAmB,EACnB,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"}
|
|
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,mBAAmB,EACnB,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,oBAAoB,EACpB,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,4 @@
|
|
|
1
|
+
import type { RangeAnimationConfig } from "../types";
|
|
2
|
+
/** Select per-bound easing while preserving immediate expansion and reduced motion. */
|
|
3
|
+
export declare function rangeAnimationSpeed(smoothing: number, config: RangeAnimationConfig | undefined, expanding: boolean, disjoint?: boolean): number;
|
|
4
|
+
//# sourceMappingURL=rangeAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rangeAnimation.d.ts","sourceRoot":"","sources":["../../src/math/rangeAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAUrD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,SAAS,EAAE,OAAO,EAClB,QAAQ,UAAQ,GACf,MAAM,CAWR"}
|
|
@@ -6,22 +6,34 @@
|
|
|
6
6
|
/** Clamp a value to an optional `[min, max]` bound (order-independent). No-op when
|
|
7
7
|
* `bounds` is omitted. */
|
|
8
8
|
export declare function clampToBounds(value: number, bounds?: [number, number]): number;
|
|
9
|
+
/**
|
|
10
|
+
* Where a touch may grab each line: the touch `x` and, index-aligned with the
|
|
11
|
+
* chart's `referenceLines`, each line's `grabRange` (`[from, to]`, canvas px) —
|
|
12
|
+
* `null` / `undefined` for a line grabbed anywhere along it.
|
|
13
|
+
*/
|
|
14
|
+
export interface GrabRangeProbe {
|
|
15
|
+
x: number;
|
|
16
|
+
ranges: readonly (readonly [number, number] | null | undefined)[];
|
|
17
|
+
}
|
|
9
18
|
/**
|
|
10
19
|
* Index of the draggable line whose handle-Y is nearest the touch `y`, within
|
|
11
20
|
* `slop` px — or `-1` when none is in reach. `handleYs` is index-aligned with the
|
|
12
|
-
* chart's `referenceLines`; entries `< 0` (not draggable /
|
|
13
|
-
*
|
|
21
|
+
* chart's `referenceLines`; entries `< 0` (not draggable / not laid out) are
|
|
22
|
+
* skipped; off-screen lines pin to the nearest plot edge. Ties favor the later
|
|
23
|
+
* (topmost-drawn) line. With `grab`, a line
|
|
24
|
+
* whose `grabRange` does not contain the touch `x` is skipped too.
|
|
14
25
|
*/
|
|
15
|
-
export declare function nearestDraggableIndex(handleYs: number[], y: number, slop: number): number;
|
|
26
|
+
export declare function nearestDraggableIndex(handleYs: number[], y: number, slop: number, grab?: GrabRangeProbe): number;
|
|
16
27
|
/**
|
|
17
28
|
* Whether the reference-drag gesture owns the current touch — the answer the
|
|
18
29
|
* scrub's activation guard needs. A **grabbed** line (`dragIndex >= 0`, pressed
|
|
19
30
|
* or already dragging) owns the touch outright, wherever the asking gesture says
|
|
20
31
|
* the finger is: the scrub pan can activate mid-drag and asks with its
|
|
21
32
|
* touch-DOWN point, which a longer drag has carried the line away from. With no
|
|
22
|
-
* line grabbed, it is the geometric reach test around the handles
|
|
33
|
+
* line grabbed, it is the geometric reach test around the handles (and, with
|
|
34
|
+
* `grab`, inside each line's `grabRange`).
|
|
23
35
|
*/
|
|
24
|
-
export declare function referenceDragOwnsTouch(dragIndex: number, handleYs: number[], y: number, slop: number): boolean;
|
|
36
|
+
export declare function referenceDragOwnsTouch(dragIndex: number, handleYs: number[], y: number, slop: number, grab?: GrabRangeProbe): boolean;
|
|
25
37
|
/**
|
|
26
38
|
* Resolve a grabbed line's drag intent from the touch travel (px) since the grab.
|
|
27
39
|
* Once a line is grabbed it **owns** the touch: any drag past `threshold` px in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDrag.d.ts","sourceRoot":"","sources":["../../src/math/referenceDrag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;2BAC2B;AAC3B,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB,MAAM,CAMR;AAED
|
|
1
|
+
{"version":3,"file":"referenceDrag.d.ts","sourceRoot":"","sources":["../../src/math/referenceDrag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;2BAC2B;AAC3B,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB,MAAM,CAMR;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;CACnE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAAE,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,CAgBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAIT;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,MAAM,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB,OAAO,CAQT"}
|
|
@@ -23,8 +23,8 @@ export interface ReferenceGrouping {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Single-linkage cluster of reference-line handle Ys: lines whose sorted Y gaps are
|
|
26
|
-
* all `<= radius` chain into one group. Entries `< 0` (not a Form-A line /
|
|
27
|
-
*
|
|
26
|
+
* all `<= radius` chain into one group. Entries `< 0` (not a Form-A line / not laid
|
|
27
|
+
* out) are ignored. Returns which lines are collapsed (`hidden`) plus a centroid
|
|
28
28
|
* + count per multi-line cluster. A non-positive `radius` disables grouping.
|
|
29
29
|
*/
|
|
30
30
|
export declare function groupReferenceLines(ys: number[], radius: number): ReferenceGrouping;
|
package/dist/math/spline.d.ts
CHANGED
|
@@ -43,7 +43,9 @@ linear?: boolean,
|
|
|
43
43
|
/** First point index to draw (inclusive). The caller must moveTo this point. */
|
|
44
44
|
startPoint?: number,
|
|
45
45
|
/** Last point index to draw (exclusive). Defaults to the full array. */
|
|
46
|
-
endPoint?: number
|
|
46
|
+
endPoint?: number,
|
|
47
|
+
/** Optional paired sinks receive identical verbs from the same curve math. */
|
|
48
|
+
second?: SplinePathSink, third?: SplinePathSink): void;
|
|
47
49
|
/**
|
|
48
50
|
* Value of the Fritsch–Carlson monotone cubic — the same curve {@link drawSpline}
|
|
49
51
|
* 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;AACd,gFAAgF;AAChF,UAAU,SAAI;AACd,wEAAwE;AACxE,QAAQ,SAAkB,
|
|
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;AAC1B,8EAA8E;AAC9E,MAAM,CAAC,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,cAAc,QA8EvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAoEf"}
|
package/dist/math/squiggly.d.ts
CHANGED
|
@@ -10,6 +10,14 @@ import type { ChartPadding } from "../draw/line";
|
|
|
10
10
|
* time phase so the ripple/breathing runs faster or slower (`0` freezes it).
|
|
11
11
|
*/
|
|
12
12
|
export declare function squigglyYAt(x: number, centerY: number, t: number, base?: number, speed?: number): number;
|
|
13
|
+
/**
|
|
14
|
+
* The squiggle's clock, in seconds: wall time. The loading shell
|
|
15
|
+
* (`LoadingOverlay`) and the reveal's morph (`useChartPaths`) both phase their
|
|
16
|
+
* wave on it rather than on `engine.timestamp`, which a `nowOverride` freezes
|
|
17
|
+
* between data updates (freezing the loading line with it). Sharing one clock
|
|
18
|
+
* keeps the wave continuous where the shell hands over to the morph.
|
|
19
|
+
*/
|
|
20
|
+
export declare function squiggleClockSeconds(): number;
|
|
13
21
|
/**
|
|
14
22
|
* Build a flat [x0,y0,x1,y1,...] point array for a standalone squiggly line
|
|
15
23
|
* spanning the full chart area (used in loading / empty state).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"squiggly.d.ts","sourceRoot":"","sources":["../../src/math/squiggly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,CAAC,EAAE,MAAM,EACT,IAAI,SAAK,EACT,KAAK,SAAI,GACR,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,CAAC,EAAE,MAAM,EACT,IAAI,SAAK,EACT,KAAK,SAAI,EACT,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAqBV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,IAAI,SAAK,EACT,KAAK,SAAI,EACT,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAUV;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,EAAE,MAAM,EAAE,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAqBV"}
|
|
1
|
+
{"version":3,"file":"squiggly.d.ts","sourceRoot":"","sources":["../../src/math/squiggly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,CAAC,EAAE,MAAM,EACT,IAAI,SAAK,EACT,KAAK,SAAI,GACR,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,CAAC,EAAE,MAAM,EACT,IAAI,SAAK,EACT,KAAK,SAAI,EACT,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAqBV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,IAAI,SAAK,EACT,KAAK,SAAI,EACT,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAUV;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,EAAE,MAAM,EAAE,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CAqBV"}
|
package/dist/types.d.ts
CHANGED
|
@@ -164,6 +164,18 @@ export interface ReferenceLine {
|
|
|
164
164
|
* it controlled. No effect on bands / time bands. Default `false`.
|
|
165
165
|
*/
|
|
166
166
|
draggable?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Where along a draggable line a press may grab it: a canvas x-range in px,
|
|
169
|
+
* `[from, to]`, ends included — typically the span of a custom tag drawn with
|
|
170
|
+
* `renderReferenceLine` (measure it with `onLayout`; a left-pinned tag starts 2 px
|
|
171
|
+
* inside the plot's left edge). Omit to grab the line anywhere along it (the
|
|
172
|
+
* default). With a range, a pan, scrub or page scroll that merely starts near the
|
|
173
|
+
* line no longer moves it; a press inside the range grabs it as before (same Y
|
|
174
|
+
* reach). `from > to` makes the line ungrabbable. A JS value: leave a little
|
|
175
|
+
* slack for a tag that changes width (off-axis, a live price). Applies only to
|
|
176
|
+
* draggable Form-A lines.
|
|
177
|
+
*/
|
|
178
|
+
grabRange?: [number, number];
|
|
167
179
|
/**
|
|
168
180
|
* Snap the dragged value to this increment (e.g. `0.01` for cents, `0.5` for a
|
|
169
181
|
* tick size) so drops land on round levels. Omit for free dragging. Applies only
|
|
@@ -303,7 +315,9 @@ export interface ReferenceLineRenderProps {
|
|
|
303
315
|
* lines whose handles fall within {@link ReferenceLineGroupingConfig.radius} px of
|
|
304
316
|
* each other collapse into a single count handle, so a cluster of nearby orders /
|
|
305
317
|
* alerts reads as one tag instead of an unreadable pile. Pass `true` for defaults
|
|
306
|
-
* or an object to tune the proximity radius.
|
|
318
|
+
* or an object to tune the proximity radius. Badged off-axis lines group at either
|
|
319
|
+
* plot edge; off-axis lines with no badge are hidden and do not count. Custom tags
|
|
320
|
+
* are excluded.
|
|
307
321
|
*/
|
|
308
322
|
export interface ReferenceLineGroupingConfig {
|
|
309
323
|
/**
|
|
@@ -708,8 +722,8 @@ export interface YAxisConfig {
|
|
|
708
722
|
* numbers; they track the live range each frame.
|
|
709
723
|
*
|
|
710
724
|
* `minGap` still acts as a floor: if `count` labels won't fit at least
|
|
711
|
-
* `minGap` px apart, the count is reduced to what fits. Clamped to at most 15
|
|
712
|
-
*
|
|
725
|
+
* `minGap` px apart, the count is reduced to what fits. Clamped to at most 15.
|
|
726
|
+
* Omit (or `0`) for the default dynamic grid.
|
|
713
727
|
*/
|
|
714
728
|
count?: number;
|
|
715
729
|
/**
|
|
@@ -2141,6 +2155,24 @@ export interface LoadingConfig {
|
|
|
2141
2155
|
*/
|
|
2142
2156
|
axisLabels?: boolean;
|
|
2143
2157
|
}
|
|
2158
|
+
/** Y-range easing shared by both charts, independent of value/window tracking. */
|
|
2159
|
+
export interface RangeAnimationConfig {
|
|
2160
|
+
/** Ease outward bounds instead of snapping. Default `false`. */
|
|
2161
|
+
animateExpansion?: boolean;
|
|
2162
|
+
/**
|
|
2163
|
+
* Fraction of the remaining gap closed per 60fps frame when a bound expands.
|
|
2164
|
+
* Inherits `smoothing`; only used with `animateExpansion: true`. Finite values
|
|
2165
|
+
* are clamped to 0..1; non-finite values inherit `smoothing`.
|
|
2166
|
+
*/
|
|
2167
|
+
expansionSmoothing?: number;
|
|
2168
|
+
/**
|
|
2169
|
+
* Fraction of the remaining gap closed per 60fps frame when a bound contracts.
|
|
2170
|
+
* Inherits `smoothing`. Finite values are clamped to 0..1; non-finite values
|
|
2171
|
+
* inherit `smoothing`. While animated expansion moves toward a disjoint fit,
|
|
2172
|
+
* contraction is limited to the expansion speed so bounds cannot cross.
|
|
2173
|
+
*/
|
|
2174
|
+
contractionSmoothing?: number;
|
|
2175
|
+
}
|
|
2144
2176
|
/** Props shared between `LiveChart` and `LiveChartSeries`. */
|
|
2145
2177
|
export interface LiveChartCoreProps {
|
|
2146
2178
|
/** Color scheme. Default `"dark"`. */
|
|
@@ -2207,6 +2239,14 @@ export interface LiveChartCoreProps {
|
|
|
2207
2239
|
* `lerpSpeed`. Default `0.08`.
|
|
2208
2240
|
*/
|
|
2209
2241
|
smoothing?: number;
|
|
2242
|
+
/**
|
|
2243
|
+
* Control Y-range expansion and contraction independently of `smoothing` for
|
|
2244
|
+
* value/window tracking. Omission preserves instant expansion and eased
|
|
2245
|
+
* contraction. Uses frame-rate-independent exponential easing, not a fixed
|
|
2246
|
+
* duration. `smoothing: 1`, explicit `snapKey` changes, static charts, and active
|
|
2247
|
+
* manual Y-scale dragging remain immediate. Axis-label fades use `metrics.grid`.
|
|
2248
|
+
*/
|
|
2249
|
+
rangeAnimation?: RangeAnimationConfig;
|
|
2210
2250
|
/**
|
|
2211
2251
|
* Snap the framing to its target in a single frame whenever this key changes —
|
|
2212
2252
|
* without giving up smooth live ticks. On a timeframe / dataset switch, the
|
|
@@ -2577,6 +2617,15 @@ export interface LiveChartProps extends LiveChartCoreProps {
|
|
|
2577
2617
|
* @experimental
|
|
2578
2618
|
*/
|
|
2579
2619
|
isFrameLoopActive?: SharedValue<boolean>;
|
|
2620
|
+
/**
|
|
2621
|
+
* Experimental single-series demand scheduling. Stop engine frames after a
|
|
2622
|
+
* paused, parked, or fixed-time chart settles; shared input changes and
|
|
2623
|
+
* gestures wake it on the UI thread. Default false. Live scrolling, pulse,
|
|
2624
|
+
* loading/reveal, and enabled degen/trade effects keep the engine awake.
|
|
2625
|
+
* Does not cache a bitmap or disable gestures. `static` takes precedence.
|
|
2626
|
+
* @experimental
|
|
2627
|
+
*/
|
|
2628
|
+
autoSleep?: boolean;
|
|
2580
2629
|
/**
|
|
2581
2630
|
* Optional development counter for engine frames that did or did not change
|
|
2582
2631
|
* tracked engine values. It is not a count of Skia redraws. Supplying it adds
|