@obitrain/charts 0.10.3 → 0.11.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 (93) hide show
  1. package/README.md +4 -2
  2. package/lib/commonjs/Charts/BottomAxis/BottomAxis.js +53 -13
  3. package/lib/commonjs/Charts/BottomAxis/BottomAxis.js.map +1 -1
  4. package/lib/commonjs/Charts/BottomAxis/Tick.js +27 -11
  5. package/lib/commonjs/Charts/BottomAxis/Tick.js.map +1 -1
  6. package/lib/commonjs/Charts/BottomAxis/index.js.map +1 -1
  7. package/lib/commonjs/Charts/Cursor.js +18 -6
  8. package/lib/commonjs/Charts/Cursor.js.map +1 -1
  9. package/lib/commonjs/Charts/Dot.js +51 -0
  10. package/lib/commonjs/Charts/Dot.js.map +1 -0
  11. package/lib/commonjs/Charts/Dots.js +74 -0
  12. package/lib/commonjs/Charts/Dots.js.map +1 -0
  13. package/lib/commonjs/Charts/YAxis.js +64 -0
  14. package/lib/commonjs/Charts/YAxis.js.map +1 -0
  15. package/lib/commonjs/Charts/gesture.js +67 -24
  16. package/lib/commonjs/Charts/gesture.js.map +1 -1
  17. package/lib/commonjs/Charts/graphUtils.js +4 -1
  18. package/lib/commonjs/Charts/graphUtils.js.map +1 -1
  19. package/lib/commonjs/Charts/index.js +33 -0
  20. package/lib/commonjs/Charts/index.js.map +1 -1
  21. package/lib/module/Charts/BottomAxis/BottomAxis.js +55 -14
  22. package/lib/module/Charts/BottomAxis/BottomAxis.js.map +1 -1
  23. package/lib/module/Charts/BottomAxis/Tick.js +28 -10
  24. package/lib/module/Charts/BottomAxis/Tick.js.map +1 -1
  25. package/lib/module/Charts/BottomAxis/index.js.map +1 -1
  26. package/lib/module/Charts/Cursor.js +19 -7
  27. package/lib/module/Charts/Cursor.js.map +1 -1
  28. package/lib/module/Charts/Dot.js +47 -0
  29. package/lib/module/Charts/Dot.js.map +1 -0
  30. package/lib/module/Charts/Dots.js +70 -0
  31. package/lib/module/Charts/Dots.js.map +1 -0
  32. package/lib/module/Charts/YAxis.js +59 -0
  33. package/lib/module/Charts/YAxis.js.map +1 -0
  34. package/lib/module/Charts/gesture.js +67 -25
  35. package/lib/module/Charts/gesture.js.map +1 -1
  36. package/lib/module/Charts/graphUtils.js +4 -1
  37. package/lib/module/Charts/graphUtils.js.map +1 -1
  38. package/lib/module/Charts/index.js +4 -1
  39. package/lib/module/Charts/index.js.map +1 -1
  40. package/lib/typescript/commonjs/src/Charts/BottomAxis/BottomAxis.d.ts +26 -3
  41. package/lib/typescript/commonjs/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts +16 -3
  43. package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/src/Charts/BottomAxis/index.d.ts +1 -1
  45. package/lib/typescript/commonjs/src/Charts/BottomAxis/index.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/src/Charts/Cursor.d.ts +3 -0
  47. package/lib/typescript/commonjs/src/Charts/Cursor.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/src/Charts/Dot.d.ts +22 -0
  49. package/lib/typescript/commonjs/src/Charts/Dot.d.ts.map +1 -0
  50. package/lib/typescript/commonjs/src/Charts/Dots.d.ts +28 -0
  51. package/lib/typescript/commonjs/src/Charts/Dots.d.ts.map +1 -0
  52. package/lib/typescript/commonjs/src/Charts/YAxis.d.ts +22 -0
  53. package/lib/typescript/commonjs/src/Charts/YAxis.d.ts.map +1 -0
  54. package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/ScalablePath.d.ts +1 -1
  55. package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/ScalablePath.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/src/Charts/gesture.d.ts +6 -0
  57. package/lib/typescript/commonjs/src/Charts/gesture.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/src/Charts/graphUtils.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/src/Charts/index.d.ts +8 -2
  60. package/lib/typescript/commonjs/src/Charts/index.d.ts.map +1 -1
  61. package/lib/typescript/module/src/Charts/BottomAxis/BottomAxis.d.ts +26 -3
  62. package/lib/typescript/module/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
  63. package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts +16 -3
  64. package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
  65. package/lib/typescript/module/src/Charts/BottomAxis/index.d.ts +1 -1
  66. package/lib/typescript/module/src/Charts/BottomAxis/index.d.ts.map +1 -1
  67. package/lib/typescript/module/src/Charts/Cursor.d.ts +3 -0
  68. package/lib/typescript/module/src/Charts/Cursor.d.ts.map +1 -1
  69. package/lib/typescript/module/src/Charts/Dot.d.ts +22 -0
  70. package/lib/typescript/module/src/Charts/Dot.d.ts.map +1 -0
  71. package/lib/typescript/module/src/Charts/Dots.d.ts +28 -0
  72. package/lib/typescript/module/src/Charts/Dots.d.ts.map +1 -0
  73. package/lib/typescript/module/src/Charts/YAxis.d.ts +22 -0
  74. package/lib/typescript/module/src/Charts/YAxis.d.ts.map +1 -0
  75. package/lib/typescript/module/src/Charts/ZoomableLinechart/ScalablePath.d.ts +1 -1
  76. package/lib/typescript/module/src/Charts/ZoomableLinechart/ScalablePath.d.ts.map +1 -1
  77. package/lib/typescript/module/src/Charts/gesture.d.ts +6 -0
  78. package/lib/typescript/module/src/Charts/gesture.d.ts.map +1 -1
  79. package/lib/typescript/module/src/Charts/graphUtils.d.ts.map +1 -1
  80. package/lib/typescript/module/src/Charts/index.d.ts +8 -2
  81. package/lib/typescript/module/src/Charts/index.d.ts.map +1 -1
  82. package/package.json +4 -2
  83. package/src/Charts/BottomAxis/BottomAxis.tsx +100 -19
  84. package/src/Charts/BottomAxis/Tick.tsx +55 -11
  85. package/src/Charts/BottomAxis/index.tsx +5 -1
  86. package/src/Charts/Cursor.tsx +21 -1
  87. package/src/Charts/Dot.tsx +64 -0
  88. package/src/Charts/Dots.tsx +96 -0
  89. package/src/Charts/YAxis.tsx +96 -0
  90. package/src/Charts/ZoomableLinechart/ScalablePath.tsx +1 -1
  91. package/src/Charts/gesture.ts +109 -51
  92. package/src/Charts/graphUtils.ts +4 -1
  93. package/src/Charts/index.tsx +8 -0
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { clamp } from '@shopify/react-native-skia';
4
- import { useCallback } from 'react';
4
+ import { useCallback, useMemo, useRef } from 'react';
5
5
  import { Gesture } from 'react-native-gesture-handler';
6
- import { useAnimatedReaction, useSharedValue, withTiming } from 'react-native-reanimated';
6
+ import { useAnimatedReaction, useSharedValue } from 'react-native-reanimated';
7
7
  import { scheduleOnRN } from 'react-native-worklets';
8
8
  /**
9
9
  * Get the position of a point on the axis,
@@ -14,6 +14,19 @@ export const getPositionWl = function (position, focalX, scale, offsetX) {
14
14
 
15
15
  return (position - focalX) * scale + focalX + offsetX;
16
16
  };
17
+
18
+ /**
19
+ * Offset range keeping the content edges pinned to the viewport:
20
+ * leftBound (position 0) <= startOffset and rightBound (position width)
21
+ * >= width + startOffset. Collapses to [startOffset, startOffset] at scale 1.
22
+ */
23
+ export const getOffsetBoundsWl = function (width, startOffset, focalX, scale) {
24
+ 'worklet';
25
+
26
+ const maxOffset = startOffset + focalX * (scale - 1);
27
+ const minOffset = startOffset + (1 - scale) * (width - focalX);
28
+ return [minOffset, maxOffset];
29
+ };
17
30
  /**
18
31
  * Return utilities for zooming and panning the axis
19
32
  */
@@ -32,6 +45,8 @@ export const useScalableGesture = props => {
32
45
  // For panning
33
46
  const offsetX = useSharedValue(startOffset);
34
47
  const lastOffsetX = useSharedValue(startOffset);
48
+ // Pinch pivot bookkeeping (see pinchGesture)
49
+ const needsPivot = useSharedValue(true);
35
50
  const reset = useCallback(() => {
36
51
  scale.value = startScale;
37
52
  lastScale.value = startScale;
@@ -40,37 +55,56 @@ export const useScalableGesture = props => {
40
55
  offsetX.value = startOffset;
41
56
  lastOffsetX.value = startOffset;
42
57
  }, [focalX, lastFocalX, lastOffsetX, lastScale, offsetX, scale, startOffset, startScale]);
43
- const panGesture = Gesture.Pan().onUpdate(event => {
44
- const newOffsetX = lastOffsetX.value + event.translationX;
45
- offsetX.value = newOffsetX;
58
+
59
+ // Memoized: handing a new gesture instance to GestureDetector mid-gesture
60
+ // resets the active pan and makes the chart jump
61
+ const panGesture = useMemo(() => Gesture.Pan()
62
+ // Single-finger only: two fingers belong to the pinch, whose focal
63
+ // rebase would otherwise fight the pan over offsetX
64
+ .maxPointers(1)
65
+ // Incremental deltas (changeX) with a live clamp keep the content
66
+ // edges pinned: no overscroll, no snap-back to interrupt
67
+ .onChange(event => {
68
+ const [minOffset, maxOffset] = getOffsetBoundsWl(width, startOffset, focalX.value, scale.value);
69
+ offsetX.value = clamp(offsetX.value + event.changeX, minOffset, maxOffset);
46
70
  }).onEnd(() => {
47
71
  lastScale.value = scale.value;
48
72
  lastFocalX.value = focalX.value;
49
- const leftBound = getPositionWl(0, focalX.value, scale.value, offsetX.value);
50
- const rightBound = getPositionWl(width, focalX.value, scale.value, offsetX.value);
51
- let newOffset;
52
- if (leftBound > startOffset) {
53
- newOffset = offsetX.value - leftBound + startOffset;
54
- } else if (rightBound < width + startOffset) {
55
- newOffset = offsetX.value + width - rightBound + startOffset;
73
+ lastOffsetX.value = offsetX.value;
74
+ }), [focalX, lastFocalX, lastOffsetX, lastScale, offsetX, scale, startOffset, width]);
75
+ const pinchGesture = useMemo(() => Gesture.Pinch().onStart(() => {
76
+ needsPivot.value = true;
77
+ }).onUpdate(event => {
78
+ // The pinch can keep firing in the single-finger tail of the
79
+ // gesture, tracking the remaining finger as its focal: ignore it
80
+ // (numberOfPointers is missing on web — let those through)
81
+ if ((event.numberOfPointers ?? 2) < 2) {
82
+ needsPivot.value = true;
83
+ return;
84
+ }
85
+ const prevScale = scale.value;
86
+ const newScale = clamp(lastScale.value * event.scale, 1, Infinity);
87
+ if (needsPivot.value) {
88
+ // New pivot: rebase offsetX so re-anchoring under the fingers
89
+ // doesn't shift the content
90
+ const rebased = offsetX.value + (focalX.value - event.focalX) * (1 - prevScale);
91
+ offsetX.value = rebased * newScale / prevScale;
92
+ needsPivot.value = false;
56
93
  } else {
57
- newOffset = offsetX.value;
94
+ // Keep the content glued to both fingers: the offset follows the
95
+ // focal translation and rescales with the zoom
96
+ offsetX.value = (event.focalX - focalX.value + offsetX.value / prevScale) * newScale;
58
97
  }
59
- offsetX.value = withTiming(newOffset, {
60
- duration: 300
61
- });
62
- lastOffsetX.value = newOffset;
63
- });
64
- const pinchGesture = Gesture.Pinch().onUpdate(event => {
65
- // Rebase offsetX so moving the focal point doesn't shift the content
66
- offsetX.value += (focalX.value - event.focalX) * (1 - scale.value);
67
98
  focalX.value = event.focalX;
68
- scale.value = clamp(lastScale.value * event.scale, 1, Infinity);
99
+ scale.value = newScale;
100
+ // Zooming moves the bounds: keep the content edges pinned
101
+ const [minOffset, maxOffset] = getOffsetBoundsWl(width, startOffset, focalX.value, scale.value);
102
+ offsetX.value = clamp(offsetX.value, minOffset, maxOffset);
69
103
  }).onEnd(() => {
70
104
  lastScale.value = scale.value;
71
105
  lastFocalX.value = focalX.value;
72
106
  lastOffsetX.value = offsetX.value;
73
- });
107
+ }), [focalX, lastFocalX, lastOffsetX, lastScale, needsPivot, offsetX, scale, startOffset, width]);
74
108
  return {
75
109
  scale,
76
110
  focalX,
@@ -87,6 +121,14 @@ export const useUpdateAxis = function (props) {
87
121
  onScaleChange
88
122
  } = props;
89
123
  const currentIndex = useSharedValue(0);
124
+
125
+ // Stable dispatcher so an inline onScaleChange doesn't re-register the
126
+ // reaction (and disturb the UI thread) on every render
127
+ const onScaleChangeRef = useRef(onScaleChange);
128
+ onScaleChangeRef.current = onScaleChange;
129
+ const dispatchScaleChange = useCallback(index => {
130
+ onScaleChangeRef.current?.(index);
131
+ }, []);
90
132
  useAnimatedReaction(() => scale.value, (currentScale, _) => {
91
133
  for (let i = 0; i < scales.length; i++) {
92
134
  const _prevScale = scales[i - 1] ?? 0;
@@ -94,11 +136,11 @@ export const useUpdateAxis = function (props) {
94
136
  if (_curScale === undefined || _prevScale === undefined) throw new Error('Got undefined scale');
95
137
  if (currentScale >= _prevScale && currentScale < _curScale && currentIndex.value !== i) {
96
138
  currentIndex.value = i;
97
- if (onScaleChange !== undefined) scheduleOnRN(onScaleChange, i);
139
+ scheduleOnRN(dispatchScaleChange, i);
98
140
  break;
99
141
  }
100
142
  }
101
- });
143
+ }, [scales, dispatchScaleChange]);
102
144
  return {
103
145
  currentIndex
104
146
  };
@@ -1 +1 @@
1
- {"version":3,"names":["clamp","useCallback","Gesture","useAnimatedReaction","useSharedValue","withTiming","scheduleOnRN","getPositionWl","position","focalX","scale","offsetX","useScalableGesture","props","width","startOffset","startScale","lastScale","lastFocalX","lastOffsetX","reset","value","panGesture","Pan","onUpdate","event","newOffsetX","translationX","onEnd","leftBound","rightBound","newOffset","duration","pinchGesture","Pinch","Infinity","useUpdateAxis","scales","onScaleChange","currentIndex","currentScale","_","i","length","_prevScale","_curScale","undefined","Error","getClosestPoint","x","dataPoints","closestPoint","minDistance","Math","abs","point","distance","useCursorGesture","height","points","closestDataPoint","isContinuous","console","warn","xPosition","yPosition","setPosition","y","_closestDot","onBegin","tapGesture","Tap","_points"],"sourceRoot":"../../../src","sources":["Charts/gesture.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clamp","useCallback","useMemo","useRef","Gesture","useAnimatedReaction","useSharedValue","scheduleOnRN","getPositionWl","position","focalX","scale","offsetX","getOffsetBoundsWl","width","startOffset","maxOffset","minOffset","useScalableGesture","props","startScale","lastScale","lastFocalX","lastOffsetX","needsPivot","reset","value","panGesture","Pan","maxPointers","onChange","event","changeX","onEnd","pinchGesture","Pinch","onStart","onUpdate","numberOfPointers","prevScale","newScale","Infinity","rebased","useUpdateAxis","scales","onScaleChange","currentIndex","onScaleChangeRef","current","dispatchScaleChange","index","currentScale","_","i","length","_prevScale","_curScale","undefined","Error","getClosestPoint","x","dataPoints","closestPoint","minDistance","Math","abs","point","distance","useCursorGesture","height","points","closestDataPoint","isContinuous","console","warn","xPosition","yPosition","setPosition","y","_closestDot","onBegin","tapGesture","Tap","_points"],"sourceRoot":"../../../src","sources":["Charts/gesture.ts"],"mappings":"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","ignoreList":[]}
@@ -120,6 +120,9 @@ export const useDotsTransition = function (props) {
120
120
  }
121
121
  _dot.opacity.value = opacityWl(1);
122
122
  });
123
- });
123
+ },
124
+ // Explicit deps: without them the reaction re-registers and re-fires on
125
+ // every parent render, restarting every dot animation on the UI thread
126
+ [currentGraph, path, dataPoints, dots, opacityWl, translateWl]);
124
127
  };
125
128
  //# sourceMappingURL=graphUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PathVerb","Skia","scaleLinear","shape","useAnimatedReaction","withTiming","getPositionWl","getYForX","buildGraph","data","width","height","config","length","Error","minX","Math","min","map","d","maxX","max","scaleX","domain","range","minY","maxY","scaleY","path","line","x","y","curve","curveBasis","dataPoints","value","skiaPath","Path","MakeFromSVGString","scaleCommands","commands","focalX","offsetX","_scaleY","command","commandType","undefined","Line","Move","Quad","Cubic","Close","defaultOpacityTransitionWl","opacity","duration","defaultTranslateTransitionWl","position","useDotsTransition","props","currentGraph","dots","opacityWl","translateWl","_currentGraph","_currentCommands","toCmds","_xs","newDataPoints","forEach","_dot","i","_newDot","newY"],"sourceRoot":"../../../src","sources":["Charts/graphUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PathVerb","Skia","scaleLinear","shape","useAnimatedReaction","withTiming","getPositionWl","getYForX","buildGraph","data","width","height","config","length","Error","minX","Math","min","map","d","maxX","max","scaleX","domain","range","minY","maxY","scaleY","path","line","x","y","curve","curveBasis","dataPoints","value","skiaPath","Path","MakeFromSVGString","scaleCommands","commands","focalX","offsetX","_scaleY","command","commandType","undefined","Line","Move","Quad","Cubic","Close","defaultOpacityTransitionWl","opacity","duration","defaultTranslateTransitionWl","position","useDotsTransition","props","currentGraph","dots","opacityWl","translateWl","_currentGraph","_currentCommands","toCmds","_xs","newDataPoints","forEach","_dot","i","_newDot","newY"],"sourceRoot":"../../../src","sources":["Charts/graphUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -2,9 +2,12 @@
2
2
 
3
3
  export { AxisLine, BottomAxis, Tick } from "./BottomAxis/index.js";
4
4
  export { Cursor } from "./Cursor.js";
5
+ export { Dot } from "./Dot.js";
6
+ export { Dots } from "./Dots.js";
7
+ export { YAxis, getPaddedTicks } from "./YAxis.js";
5
8
  export { LineChart } from "./Linechart/index.js";
6
9
  export { ScalablePath, ZoomableLineChart } from "./ZoomableLinechart/index.js";
7
- export { getClosestPoint, getPositionWl, useCursorGesture, useScalableGesture, useUpdateAxis } from "./gesture.js";
10
+ export { getClosestPoint, getOffsetBoundsWl, getPositionWl, useCursorGesture, useScalableGesture, useUpdateAxis } from "./gesture.js";
8
11
  export { buildGraph, defaultOpacityTransitionWl, defaultTranslateTransitionWl, scaleCommands, useDotsTransition } from "./graphUtils.js";
9
12
  export { commandsToBezier, cubicBezierYForX, getYForX, magnitude, normalize, selectCurve } from "./maths.js";
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AxisLine","BottomAxis","Tick","Cursor","LineChart","ScalablePath","ZoomableLineChart","getClosestPoint","getPositionWl","useCursorGesture","useScalableGesture","useUpdateAxis","buildGraph","defaultOpacityTransitionWl","defaultTranslateTransitionWl","scaleCommands","useDotsTransition","commandsToBezier","cubicBezierYForX","getYForX","magnitude","normalize","selectCurve"],"sourceRoot":"../../../src","sources":["Charts/index.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,uBAAc;AAMzD,SAASC,MAAM,QAAQ,aAAU;AAEjC,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,8BAAqB;AAKrE,SACEC,eAAe,EACfC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,QACR,cAAW;AAOlB,SACEC,UAAU,EACVC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,aAAa,EACbC,iBAAiB,QACZ,iBAAc;AAQrB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,WAAW,QACN,YAAS","ignoreList":[]}
1
+ {"version":3,"names":["AxisLine","BottomAxis","Tick","Cursor","Dot","Dots","YAxis","getPaddedTicks","LineChart","ScalablePath","ZoomableLineChart","getClosestPoint","getOffsetBoundsWl","getPositionWl","useCursorGesture","useScalableGesture","useUpdateAxis","buildGraph","defaultOpacityTransitionWl","defaultTranslateTransitionWl","scaleCommands","useDotsTransition","commandsToBezier","cubicBezierYForX","getYForX","magnitude","normalize","selectCurve"],"sourceRoot":"../../../src","sources":["Charts/index.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,uBAAc;AAOzD,SAASC,MAAM,QAAQ,aAAU;AAEjC,SAASC,GAAG,QAAQ,UAAO;AAE3B,SAASC,IAAI,QAAQ,WAAQ;AAE7B,SAASC,KAAK,EAAEC,cAAc,QAAQ,YAAS;AAE/C,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,8BAAqB;AAKrE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,QACR,cAAW;AAOlB,SACEC,UAAU,EACVC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,aAAa,EACbC,iBAAiB,QACZ,iBAAc;AAQrB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,WAAW,QACN,YAAS","ignoreList":[]}
@@ -1,16 +1,39 @@
1
- import { type SkFont } from '@shopify/react-native-skia';
1
+ import { type Color, type SkFont } from '@shopify/react-native-skia';
2
2
  import { type FC } from 'react';
3
3
  import { type StyleProp, type ViewStyle } from 'react-native';
4
4
  import type { SharedValue } from 'react-native-reanimated';
5
+ /** A tick at an explicit position in graph space, as returned by a d3 scale. */
6
+ export type AxisTick = {
7
+ x: number;
8
+ label: string;
9
+ };
5
10
  export type BottomAxisProps = {
6
- labels: string[];
7
11
  width: number;
8
12
  scale: SharedValue<number>;
9
13
  focalX: SharedValue<number>;
10
14
  offsetX: SharedValue<number>;
15
+ font: SkFont;
16
+ /**
17
+ * Ticks at explicit positions, for a non-uniform axis (a time axis lands on
18
+ * month starts or Mondays, not on even fractions). Takes precedence over `labels`.
19
+ */
20
+ ticks?: AxisTick[];
21
+ /** Labels spread evenly across `width`. */
22
+ labels?: string[];
11
23
  offsetY?: number;
12
24
  style?: StyleProp<ViewStyle>;
13
- font: SkFont;
25
+ /** Renders its own Canvas by default; pass false to embed in an existing one. */
26
+ standalone?: boolean;
27
+ showAxisLine?: boolean;
28
+ color?: Color;
29
+ labelColor?: Color;
30
+ /** Negative (e.g. -chartHeight) draws full-height gridlines above the axis. */
31
+ tickLength?: number;
32
+ strokeWidth?: number;
33
+ dash?: [number, number];
34
+ labelAlign?: 'center' | 'left';
35
+ labelGap?: number;
36
+ showLabels?: boolean;
14
37
  };
15
38
  declare const BottomAxis: FC<BottomAxisProps>;
16
39
  export { BottomAxis };
@@ -1 +1 @@
1
- {"version":3,"file":"BottomAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/BottomAxis.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkBnC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"BottomAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/BottomAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,gFAAgF;AAChF,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA4EnC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,4 @@
1
- import { type SkFont } from '@shopify/react-native-skia';
2
- import React from 'react';
1
+ import { type Color, type SkFont } from '@shopify/react-native-skia';
3
2
  import { type SharedValue } from 'react-native-reanimated';
4
3
  export type TickProps = {
5
4
  initPosition: number;
@@ -9,6 +8,20 @@ export type TickProps = {
9
8
  offsetX: SharedValue<number>;
10
9
  offsetY?: number;
11
10
  font: SkFont;
11
+ color?: Color;
12
+ labelColor?: Color;
13
+ /** Length of the tick line. Use a negative value (e.g. -chartHeight) to draw a vertical gridline above the axis. */
14
+ tickLength?: number;
15
+ strokeWidth?: number;
16
+ /** Dash/gap lengths for a dashed tick line. */
17
+ dash?: [number, number];
18
+ showLabel?: boolean;
19
+ /** `center` puts the label under the tick, `left` starts it right after the tick. */
20
+ labelAlign?: 'center' | 'left';
21
+ /** Gap between the tick and a left-aligned label. */
22
+ labelGap?: number;
12
23
  };
13
- export declare const Tick: React.FC<TickProps>;
24
+ declare const TickComponent: (props: TickProps) => import("react").JSX.Element;
25
+ export declare const Tick: import("react").MemoExoticComponent<typeof TickComponent>;
26
+ export {};
14
27
  //# sourceMappingURL=Tick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tick.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/Tick.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6BpC,CAAC"}
1
+ {"version":3,"file":"Tick.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/Tick.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,oHAAoH;IACpH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,aAAa,UAAoB,SAAS,gCAsD/C,CAAC;AAIF,eAAO,MAAM,IAAI,2DAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { AxisLine, type AxisLineProps } from './AxisLine';
2
- export { BottomAxis, type BottomAxisProps } from './BottomAxis';
2
+ export { BottomAxis, type AxisTick, type BottomAxisProps, } from './BottomAxis';
3
3
  export { Tick, type TickProps } from './Tick';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -6,6 +6,9 @@ export type CursorProps = {
6
6
  positionX: SharedValue<number>;
7
7
  size?: number;
8
8
  color?: string;
9
+ /** When set, draws a ring of this color around the cursor. */
10
+ strokeColor?: string;
11
+ strokeWidth?: number;
9
12
  currentValue?: SharedValue<number> | SharedValue<number | undefined>;
10
13
  translateY?: SharedValue<number | undefined>;
11
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Cursor.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/Cursor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK5E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CA+B3B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"Cursor.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/Cursor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK5E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAgD3B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type Color } from '@shopify/react-native-skia';
2
+ import { type SharedValue } from 'react-native-reanimated';
3
+ export type DotProps = {
4
+ x: SharedValue<number> | number;
5
+ y: SharedValue<number> | number;
6
+ opacity?: SharedValue<number> | number;
7
+ r?: number;
8
+ color?: Color;
9
+ /**
10
+ * When set, the dot is drawn as a ring: `fillColor` inside, `color` as the
11
+ * stroke. Use the chart background color to get a "hollow" marker.
12
+ */
13
+ fillColor?: Color;
14
+ strokeWidth?: number;
15
+ scale?: SharedValue<number>;
16
+ focalX?: SharedValue<number>;
17
+ offsetX?: SharedValue<number>;
18
+ };
19
+ declare function DotComponent(props: DotProps): import("react").JSX.Element;
20
+ export declare const Dot: import("react").MemoExoticComponent<typeof DotComponent>;
21
+ export {};
22
+ //# sourceMappingURL=Dot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dot.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/Dot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAChC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,QAAQ,+BAoCpC;AAID,eAAO,MAAM,GAAG,0DAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type Color } from '@shopify/react-native-skia';
2
+ import { type FC } from 'react';
3
+ import { type SharedValue } from 'react-native-reanimated';
4
+ import type { AnimatedDot } from './types';
5
+ export type DotShape = 'circle' | 'diamond';
6
+ export type DotsProps = {
7
+ dots: AnimatedDot[];
8
+ r?: number;
9
+ shape?: DotShape;
10
+ color?: Color;
11
+ /** When set, dots are drawn as rings: `fillColor` inside, `color` as the stroke. */
12
+ fillColor?: Color;
13
+ strokeWidth?: number;
14
+ /** Viewport width used to cull off-screen dots. */
15
+ width?: number;
16
+ scale?: SharedValue<number>;
17
+ focalX?: SharedValue<number>;
18
+ offsetX?: SharedValue<number>;
19
+ };
20
+ /**
21
+ * Draw a whole series of dots as a single Skia path (two with `fillColor`).
22
+ * Unlike mapping over {@link Dot}, this runs one worklet per frame instead of
23
+ * one per dot, which keeps large series smooth during zoom/pan gestures.
24
+ * Per-dot opacity is binary here: dots below 0.5 are hidden.
25
+ */
26
+ declare const Dots: FC<DotsProps>;
27
+ export { Dots };
28
+ //# sourceMappingURL=Dots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dots.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/Dots.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA+DvB,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type Color, type SkFont } from '@shopify/react-native-skia';
2
+ import { type FC } from 'react';
3
+ export type YAxisProps = {
4
+ width: number;
5
+ height: number;
6
+ font: SkFont;
7
+ minY: number;
8
+ maxY: number;
9
+ /** Values to draw a gridline at. Defaults to `nbTicks` evenly spaced values. */
10
+ values?: number[];
11
+ nbTicks?: number;
12
+ color?: Color;
13
+ labelColor?: Color;
14
+ strokeWidth?: number;
15
+ showLabels?: boolean;
16
+ formatLabel?: (value: number) => string;
17
+ };
18
+ /** Evenly spaced integer ticks from 0 to a padded maximum, e.g. 0, 26, 52, 78, 104. */
19
+ export declare const getPaddedTicks: (maxValue: number, nbTicks?: number, padding?: number) => number[];
20
+ declare const YAxis: FC<YAxisProps>;
21
+ export { YAxis };
22
+ //# sourceMappingURL=YAxis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YAxis.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/YAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAIF,uFAAuF;AACvF,eAAO,MAAM,cAAc,aACf,MAAM,yCAGf,MAAM,EAGR,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAsDzB,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -7,7 +7,7 @@ export type ScalablePathProps = {
7
7
  focalX: SharedValue<number>;
8
8
  offsetX: SharedValue<number>;
9
9
  color?: string;
10
- pathProps?: Omit<React.ComponentProps<typeof Path>, 'color'>;
10
+ pathProps?: Omit<React.ComponentProps<typeof Path>, 'color' | 'path'>;
11
11
  };
12
12
  declare const ScalablePath: FC<ScalablePathProps>;
13
13
  export { ScalablePath };
@@ -1 +1 @@
1
- {"version":3,"file":"ScalablePath.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/ZoomableLinechart/ScalablePath.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyBvC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"ScalablePath.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/ZoomableLinechart/ScalablePath.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;CACvE,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyBvC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -6,6 +6,12 @@ import type { DataPoint } from './types';
6
6
  * given the current focal, scale and offset
7
7
  */
8
8
  export declare const getPositionWl: (position: number, focalX: number, scale: number, offsetX: number) => number;
9
+ /**
10
+ * Offset range keeping the content edges pinned to the viewport:
11
+ * leftBound (position 0) <= startOffset and rightBound (position width)
12
+ * >= width + startOffset. Collapses to [startOffset, startOffset] at scale 1.
13
+ */
14
+ export declare const getOffsetBoundsWl: (width: number, startOffset: number, focalX: number, scale: number) => [min: number, max: number];
9
15
  export type AxisGestureProps = {
10
16
  width: number;
11
17
  startOffset?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/gesture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAIH,KAAK,WAAW,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,aAAa,aACd,MAAM,UACR,MAAM,SACP,MAAM,WACJ,MAAM,WAIhB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,KAAG,eAyF5D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,UAAoB,eAAe;;CA2B5D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,MACvB,MAAM,cACG,SAAS,EAAE,KACtB,SAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAoB,qBAAqB;;;;;CAgDrE,CAAC"}
1
+ {"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/gesture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAGH,KAAK,WAAW,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,aAAa,aACd,MAAM,UACR,MAAM,SACP,MAAM,WACJ,MAAM,WAIhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,UACrB,MAAM,eACA,MAAM,UACX,MAAM,SACP,MAAM,KACZ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAK3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,KAAG,eA0H5D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,UAAoB,eAAe;;CAoC5D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,MACvB,MAAM,cACG,SAAS,EAAE,KACtB,SAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAoB,qBAAqB;;;;;CAgDrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphUtils.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/graphUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;CACzD,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,UAAU,SACf,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,SACvB,MAAM,UACL,MAAM,WACL,gBAAgB,KACxB,SAsCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,aACd,WAAW,EAAE,UACf,WAAW,CAAC,MAAM,CAAC,UACnB,WAAW,CAAC,MAAM,CAAC,WAClB,WAAW,CAAC,MAAM,CAAC,WACnB,WAAW,CAAC,MAAM,CAAC,KAC3B,WAAW,EA+Cb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;IAC1B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAsB,MAAM,WAGlE,CAAC;AACF,eAAO,MAAM,4BAA4B,aAAuB,MAAM,WAGrE,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAoB,oBAAoB,SAqCrE,CAAC"}
1
+ {"version":3,"file":"graphUtils.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/graphUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;CACzD,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,UAAU,SACf,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,SACvB,MAAM,UACL,MAAM,WACL,gBAAgB,KACxB,SAsCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,aACd,WAAW,EAAE,UACf,WAAW,CAAC,MAAM,CAAC,UACnB,WAAW,CAAC,MAAM,CAAC,WAClB,WAAW,CAAC,MAAM,CAAC,WACnB,WAAW,CAAC,MAAM,CAAC,KAC3B,WAAW,EA+Cb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;IAC1B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAsB,MAAM,WAGlE,CAAC;AACF,eAAO,MAAM,4BAA4B,aAAuB,MAAM,WAGrE,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAoB,oBAAoB,SAwCrE,CAAC"}
@@ -1,12 +1,18 @@
1
1
  export { AxisLine, BottomAxis, Tick } from './BottomAxis';
2
- export type { AxisLineProps, BottomAxisProps, TickProps, } from './BottomAxis';
2
+ export type { AxisLineProps, AxisTick, BottomAxisProps, TickProps, } from './BottomAxis';
3
3
  export { Cursor } from './Cursor';
4
4
  export type { CursorProps } from './Cursor';
5
+ export { Dot } from './Dot';
6
+ export type { DotProps } from './Dot';
7
+ export { Dots } from './Dots';
8
+ export type { DotShape, DotsProps } from './Dots';
9
+ export { YAxis, getPaddedTicks } from './YAxis';
10
+ export type { YAxisProps } from './YAxis';
5
11
  export { LineChart } from './Linechart';
6
12
  export type { LineChartProps, LinePath } from './Linechart';
7
13
  export { ScalablePath, ZoomableLineChart } from './ZoomableLinechart';
8
14
  export type { ScalablePathProps, ZoomableLineChartProps, } from './ZoomableLinechart';
9
- export { getClosestPoint, getPositionWl, useCursorGesture, useScalableGesture, useUpdateAxis, } from './gesture';
15
+ export { getClosestPoint, getOffsetBoundsWl, getPositionWl, useCursorGesture, useScalableGesture, useUpdateAxis, } from './gesture';
10
16
  export type { AxisGestureProps, ScalableGesture, UpdateAxisProps, UseCursorGestureProps, } from './gesture';
11
17
  export { buildGraph, defaultOpacityTransitionWl, defaultTranslateTransitionWl, scaleCommands, useDotsTransition, } from './graphUtils';
12
18
  export type { BuildGraphConfig, Config, GraphData, UseDotAnimationProps, } from './graphUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAEhB,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Charts/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,QAAQ,EACR,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAEhB,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -1,16 +1,39 @@
1
- import { type SkFont } from '@shopify/react-native-skia';
1
+ import { type Color, type SkFont } from '@shopify/react-native-skia';
2
2
  import { type FC } from 'react';
3
3
  import { type StyleProp, type ViewStyle } from 'react-native';
4
4
  import type { SharedValue } from 'react-native-reanimated';
5
+ /** A tick at an explicit position in graph space, as returned by a d3 scale. */
6
+ export type AxisTick = {
7
+ x: number;
8
+ label: string;
9
+ };
5
10
  export type BottomAxisProps = {
6
- labels: string[];
7
11
  width: number;
8
12
  scale: SharedValue<number>;
9
13
  focalX: SharedValue<number>;
10
14
  offsetX: SharedValue<number>;
15
+ font: SkFont;
16
+ /**
17
+ * Ticks at explicit positions, for a non-uniform axis (a time axis lands on
18
+ * month starts or Mondays, not on even fractions). Takes precedence over `labels`.
19
+ */
20
+ ticks?: AxisTick[];
21
+ /** Labels spread evenly across `width`. */
22
+ labels?: string[];
11
23
  offsetY?: number;
12
24
  style?: StyleProp<ViewStyle>;
13
- font: SkFont;
25
+ /** Renders its own Canvas by default; pass false to embed in an existing one. */
26
+ standalone?: boolean;
27
+ showAxisLine?: boolean;
28
+ color?: Color;
29
+ labelColor?: Color;
30
+ /** Negative (e.g. -chartHeight) draws full-height gridlines above the axis. */
31
+ tickLength?: number;
32
+ strokeWidth?: number;
33
+ dash?: [number, number];
34
+ labelAlign?: 'center' | 'left';
35
+ labelGap?: number;
36
+ showLabels?: boolean;
14
37
  };
15
38
  declare const BottomAxis: FC<BottomAxisProps>;
16
39
  export { BottomAxis };