react-native-wagmi-charts 2.9.0 → 2.10.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 (218) hide show
  1. package/README.md +143 -66
  2. package/lib/commonjs/charts/candle/Candle.js +92 -177
  3. package/lib/commonjs/charts/candle/Candles.js +39 -66
  4. package/lib/commonjs/charts/candle/Chart.js +26 -37
  5. package/lib/commonjs/charts/candle/Context.js +49 -69
  6. package/lib/commonjs/charts/candle/Crosshair.js +82 -183
  7. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  8. package/lib/commonjs/charts/candle/CrosshairTooltip.js +61 -140
  9. package/lib/commonjs/charts/candle/DatetimeText.js +14 -19
  10. package/lib/commonjs/charts/candle/Line.js +27 -73
  11. package/lib/commonjs/charts/candle/PriceText.js +14 -19
  12. package/lib/commonjs/charts/candle/index.js +64 -67
  13. package/lib/commonjs/charts/candle/types.js +4 -4
  14. package/lib/commonjs/charts/candle/useCandleData.js +12 -9
  15. package/lib/commonjs/charts/candle/useCandlestickChart.js +7 -9
  16. package/lib/commonjs/charts/candle/useDatetime.js +18 -16
  17. package/lib/commonjs/charts/candle/usePrice.js +22 -21
  18. package/lib/commonjs/charts/candle/utils/getDomain.js +9 -5
  19. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  20. package/lib/commonjs/charts/candle/utils/getHeight.js +11 -12
  21. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  22. package/lib/commonjs/charts/candle/utils/getPrice.js +11 -12
  23. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  24. package/lib/commonjs/charts/candle/utils/getY.js +11 -12
  25. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  26. package/lib/commonjs/charts/candle/utils/index.js +16 -16
  27. package/lib/commonjs/charts/line/Axis.js +148 -268
  28. package/lib/commonjs/charts/line/Chart.js +62 -129
  29. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  30. package/lib/commonjs/charts/line/ChartPath.js +105 -285
  31. package/lib/commonjs/charts/line/Context.js +37 -95
  32. package/lib/commonjs/charts/line/Cursor.js +74 -125
  33. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  34. package/lib/commonjs/charts/line/CursorCrosshair.js +56 -134
  35. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  36. package/lib/commonjs/charts/line/CursorLine.js +67 -152
  37. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  38. package/lib/commonjs/charts/line/Data.js +34 -73
  39. package/lib/commonjs/charts/line/DatetimeText.js +15 -20
  40. package/lib/commonjs/charts/line/Dot.js +56 -149
  41. package/lib/commonjs/charts/line/Gradient.js +53 -124
  42. package/lib/commonjs/charts/line/Group.js +23 -54
  43. package/lib/commonjs/charts/line/Group.js.map +1 -1
  44. package/lib/commonjs/charts/line/Highlight.js +47 -115
  45. package/lib/commonjs/charts/line/HorizontalLine.js +39 -92
  46. package/lib/commonjs/charts/line/HoverTrap/index.js +7 -10
  47. package/lib/commonjs/charts/line/HoverTrap/index.web.js +43 -48
  48. package/lib/commonjs/charts/line/LineChartPathContext.js +11 -14
  49. package/lib/commonjs/charts/line/Path.js +32 -78
  50. package/lib/commonjs/charts/line/PriceText.js +36 -78
  51. package/lib/commonjs/charts/line/Tooltip.js +102 -188
  52. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  53. package/lib/commonjs/charts/line/index.js +65 -65
  54. package/lib/commonjs/charts/line/types.js +4 -4
  55. package/lib/commonjs/charts/line/useAnimatedPath.js +22 -27
  56. package/lib/commonjs/charts/line/useCurrentY.js +17 -17
  57. package/lib/commonjs/charts/line/useDatetime.js +28 -32
  58. package/lib/commonjs/charts/line/useLineChart.js +15 -20
  59. package/lib/commonjs/charts/line/usePrice.js +26 -28
  60. package/lib/commonjs/charts/line/utils/getArea.js +14 -47
  61. package/lib/commonjs/charts/line/utils/getDomain.js +8 -5
  62. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  63. package/lib/commonjs/charts/line/utils/getPath.js +14 -53
  64. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +5 -8
  65. package/lib/commonjs/charts/line/utils/index.js +19 -19
  66. package/lib/commonjs/charts/line/utils/interpolatePath.js +60 -100
  67. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +5 -5
  68. package/lib/commonjs/components/AnimatedText.js +29 -67
  69. package/lib/commonjs/index.js +19 -19
  70. package/lib/commonjs/types.js +2 -2
  71. package/lib/commonjs/utils/formatDatetime.js +9 -5
  72. package/lib/commonjs/utils/formatPrice.js +6 -10
  73. package/lib/commonjs/utils/index.js +13 -13
  74. package/lib/commonjs/utils/usePrevious.js +6 -8
  75. package/lib/module/charts/candle/Candle.js +76 -126
  76. package/lib/module/charts/candle/Candles.js +30 -52
  77. package/lib/module/charts/candle/Chart.js +19 -22
  78. package/lib/module/charts/candle/Context.js +29 -47
  79. package/lib/module/charts/candle/Crosshair.js +69 -142
  80. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  81. package/lib/module/charts/candle/CrosshairTooltip.js +51 -101
  82. package/lib/module/charts/candle/DatetimeText.js +5 -5
  83. package/lib/module/charts/candle/Line.js +19 -37
  84. package/lib/module/charts/candle/PriceText.js +5 -5
  85. package/lib/module/charts/candle/index.js +2 -2
  86. package/lib/module/charts/candle/types.js +1 -1
  87. package/lib/module/charts/candle/useCandleData.js +7 -3
  88. package/lib/module/charts/candle/useCandlestickChart.js +1 -1
  89. package/lib/module/charts/candle/useDatetime.js +12 -10
  90. package/lib/module/charts/candle/usePrice.js +14 -12
  91. package/lib/module/charts/candle/utils/getDomain.js +6 -2
  92. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  93. package/lib/module/charts/candle/utils/getHeight.js +8 -9
  94. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  95. package/lib/module/charts/candle/utils/getPrice.js +8 -4
  96. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  97. package/lib/module/charts/candle/utils/getY.js +8 -4
  98. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  99. package/lib/module/charts/candle/utils/index.js +1 -1
  100. package/lib/module/charts/line/Axis.js +113 -189
  101. package/lib/module/charts/line/Chart.js +40 -73
  102. package/lib/module/charts/line/Chart.js.map +1 -1
  103. package/lib/module/charts/line/ChartPath.js +90 -238
  104. package/lib/module/charts/line/Context.js +29 -61
  105. package/lib/module/charts/line/Cursor.js +61 -82
  106. package/lib/module/charts/line/Cursor.js.map +1 -1
  107. package/lib/module/charts/line/CursorCrosshair.js +47 -99
  108. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  109. package/lib/module/charts/line/CursorLine.js +52 -107
  110. package/lib/module/charts/line/CursorLine.js.map +1 -1
  111. package/lib/module/charts/line/Data.js +28 -41
  112. package/lib/module/charts/line/DatetimeText.js +5 -5
  113. package/lib/module/charts/line/Dot.js +39 -93
  114. package/lib/module/charts/line/Gradient.js +41 -79
  115. package/lib/module/charts/line/Group.js +14 -15
  116. package/lib/module/charts/line/Group.js.map +1 -1
  117. package/lib/module/charts/line/Highlight.js +32 -61
  118. package/lib/module/charts/line/HorizontalLine.js +27 -49
  119. package/lib/module/charts/line/HoverTrap/index.js +2 -3
  120. package/lib/module/charts/line/HoverTrap/index.web.js +34 -34
  121. package/lib/module/charts/line/LineChartPathContext.js +3 -3
  122. package/lib/module/charts/line/Path.js +20 -33
  123. package/lib/module/charts/line/PriceText.js +25 -42
  124. package/lib/module/charts/line/Tooltip.js +89 -151
  125. package/lib/module/charts/line/Tooltip.js.map +1 -1
  126. package/lib/module/charts/line/index.js +2 -2
  127. package/lib/module/charts/line/types.js +1 -1
  128. package/lib/module/charts/line/useAnimatedPath.js +16 -22
  129. package/lib/module/charts/line/useCurrentY.js +9 -4
  130. package/lib/module/charts/line/useDatetime.js +22 -26
  131. package/lib/module/charts/line/useLineChart.js +7 -10
  132. package/lib/module/charts/line/usePrice.js +20 -22
  133. package/lib/module/charts/line/utils/getArea.js +8 -15
  134. package/lib/module/charts/line/utils/getDomain.js +5 -2
  135. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  136. package/lib/module/charts/line/utils/getPath.js +8 -21
  137. package/lib/module/charts/line/utils/getXPositionForCurve.js +2 -5
  138. package/lib/module/charts/line/utils/index.js +1 -1
  139. package/lib/module/charts/line/utils/interpolatePath.js +57 -97
  140. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +2 -2
  141. package/lib/module/components/AnimatedText.js +21 -25
  142. package/lib/module/index.js +1 -1
  143. package/lib/module/types.js +2 -1
  144. package/lib/module/utils/formatDatetime.js +6 -2
  145. package/lib/module/utils/formatPrice.js +3 -7
  146. package/lib/module/utils/index.js +1 -1
  147. package/lib/module/utils/usePrevious.js +1 -1
  148. package/lib/typescript/src/charts/candle/Candle.d.ts +31 -45
  149. package/lib/typescript/src/charts/candle/Candles.d.ts +13 -24
  150. package/lib/typescript/src/charts/candle/Chart.d.ts +7 -12
  151. package/lib/typescript/src/charts/candle/Context.d.ts +7 -12
  152. package/lib/typescript/src/charts/candle/Crosshair.d.ts +9 -17
  153. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +8 -15
  154. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +9 -15
  155. package/lib/typescript/src/charts/candle/Line.d.ts +5 -10
  156. package/lib/typescript/src/charts/candle/PriceText.d.ts +7 -13
  157. package/lib/typescript/src/charts/candle/index.d.ts +13 -32
  158. package/lib/typescript/src/charts/candle/types.d.ts +16 -16
  159. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -1
  160. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -1
  161. package/lib/typescript/src/charts/candle/useDatetime.d.ts +9 -13
  162. package/lib/typescript/src/charts/candle/usePrice.d.ts +7 -11
  163. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -1
  164. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -1
  165. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +5 -9
  166. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +5 -9
  167. package/lib/typescript/src/charts/candle/utils/getY.d.ts +5 -9
  168. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -1
  169. package/lib/typescript/src/charts/line/Axis.d.ts +14 -27
  170. package/lib/typescript/src/charts/line/Chart.d.ts +23 -33
  171. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -1
  172. package/lib/typescript/src/charts/line/ChartPath.d.ts +15 -28
  173. package/lib/typescript/src/charts/line/Context.d.ts +9 -16
  174. package/lib/typescript/src/charts/line/Cursor.d.ts +14 -22
  175. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -1
  176. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +11 -23
  177. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -1
  178. package/lib/typescript/src/charts/line/CursorLine.d.ts +9 -15
  179. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -1
  180. package/lib/typescript/src/charts/line/Data.d.ts +13 -17
  181. package/lib/typescript/src/charts/line/DatetimeText.d.ts +8 -14
  182. package/lib/typescript/src/charts/line/Dot.d.ts +25 -38
  183. package/lib/typescript/src/charts/line/Gradient.d.ts +5 -9
  184. package/lib/typescript/src/charts/line/Group.d.ts +3 -6
  185. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -1
  186. package/lib/typescript/src/charts/line/Highlight.d.ts +9 -17
  187. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +22 -30
  188. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +1 -1
  189. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +1 -1
  190. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +4 -4
  191. package/lib/typescript/src/charts/line/Path.d.ts +23 -28
  192. package/lib/typescript/src/charts/line/PriceText.d.ts +20 -28
  193. package/lib/typescript/src/charts/line/Tooltip.d.ts +20 -32
  194. package/lib/typescript/src/charts/line/index.d.ts +20 -33
  195. package/lib/typescript/src/charts/line/types.d.ts +17 -19
  196. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +7 -10
  197. package/lib/typescript/src/charts/line/useCurrentY.d.ts +2 -2
  198. package/lib/typescript/src/charts/line/useDatetime.d.ts +7 -11
  199. package/lib/typescript/src/charts/line/useLineChart.d.ts +10 -10
  200. package/lib/typescript/src/charts/line/usePrice.d.ts +7 -11
  201. package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -17
  202. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -1
  203. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -1
  204. package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -21
  205. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +1 -1
  206. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -1
  207. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +5 -17
  208. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -4
  209. package/lib/typescript/src/components/AnimatedText.d.ts +4 -7
  210. package/lib/typescript/src/index.d.ts +1 -1
  211. package/lib/typescript/src/types.d.ts +4 -7
  212. package/lib/typescript/src/utils/formatDatetime.d.ts +5 -9
  213. package/lib/typescript/src/utils/formatPrice.d.ts +5 -9
  214. package/lib/typescript/src/utils/index.d.ts +1 -1
  215. package/lib/typescript/src/utils/usePrevious.d.ts +1 -1
  216. package/package.json +1 -1
  217. package/src/charts/line/CursorLine.tsx +6 -2
  218. package/src/charts/line/HorizontalLine.tsx +5 -1
@@ -1,24 +1,6 @@
1
- function _extends() {
2
- return (
3
- (_extends = Object.assign
4
- ? Object.assign.bind()
5
- : function (n) {
6
- for (var e = 1; e < arguments.length; e++) {
7
- var t = arguments[e];
8
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
9
- }
10
- return n;
11
- }),
12
- _extends.apply(null, arguments)
13
- );
14
- }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
2
  import React from 'react';
16
- import Animated, {
17
- useAnimatedStyle,
18
- useDerivedValue,
19
- useSharedValue,
20
- withTiming,
21
- } from 'react-native-reanimated';
3
+ import Animated, { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';
22
4
  import { StyleSheet } from 'react-native';
23
5
  import { LineChartPriceText } from './PriceText';
24
6
  import { CursorContext } from './Cursor';
@@ -41,99 +23,92 @@ export function LineChartTooltip({
41
23
  at,
42
24
  ...props
43
25
  }) {
44
- const { width, height, parsedPath } = React.useContext(
45
- LineChartDimensionsContext
46
- );
47
- const { type } = React.useContext(CursorContext);
48
- const { currentX, currentY, isActive } = useLineChart();
26
+ const {
27
+ width,
28
+ height,
29
+ parsedPath
30
+ } = React.useContext(LineChartDimensionsContext);
31
+ const {
32
+ type
33
+ } = React.useContext(CursorContext);
34
+ const {
35
+ currentX,
36
+ currentY,
37
+ isActive
38
+ } = useLineChart();
49
39
  const elementWidth = useSharedValue(0);
50
40
  const elementHeight = useSharedValue(0);
51
- const handleLayout = React.useCallback(
52
- (event) => {
53
- elementWidth.value = event.nativeEvent.layout.width;
54
- elementHeight.value = event.nativeEvent.layout.height;
55
- },
56
- [elementHeight, elementWidth]
57
- );
41
+ const handleLayout = React.useCallback(event => {
42
+ elementWidth.value = event.nativeEvent.layout.width;
43
+ elementHeight.value = event.nativeEvent.layout.height;
44
+ }, [elementHeight, elementWidth]);
58
45
 
59
46
  // When the user set a `at` index, get the index's y & x positions
60
- const atXPosition = useMemo(
61
- () =>
62
- at !== null && at !== undefined
63
- ? getXPositionForCurve(parsedPath, at)
64
- : undefined,
65
- [at, parsedPath]
66
- );
47
+ const atXPosition = useMemo(() => at !== null && at !== undefined ? getXPositionForCurve(parsedPath, at) : undefined, [at, parsedPath]);
67
48
  const atYPosition = useDerivedValue(() => {
68
- return atXPosition == null
69
- ? undefined
70
- : getYForX(parsedPath, atXPosition) ?? 0;
49
+ return atXPosition == null ? undefined : getYForX(parsedPath, atXPosition) ?? 0;
71
50
  }, [atXPosition]);
72
- const getInitialTranslateXOffset = React.useCallback(
73
- (elementWidth) => {
74
- 'worklet';
51
+ const getInitialTranslateXOffset = React.useCallback(elementWidth => {
52
+ 'worklet';
75
53
 
76
- if (position === 'right') return elementWidth + cursorGutter;
77
- if (position === 'left') return -cursorGutter;
78
- return elementWidth / 2;
79
- },
80
- [cursorGutter, position]
81
- );
54
+ if (position === 'right') return elementWidth + cursorGutter;
55
+ if (position === 'left') return -cursorGutter;
56
+ return elementWidth / 2;
57
+ }, [cursorGutter, position]);
82
58
 
83
59
  /**
84
60
  * Helper function to calculate the X translation offset based on position
85
61
  * and boundary constraints
86
62
  */
87
- const calculateXTranslateOffset = React.useCallback(
88
- (params) => {
89
- 'worklet';
63
+ const calculateXTranslateOffset = React.useCallback(params => {
64
+ 'worklet';
90
65
 
91
- const {
92
- position,
93
- x,
94
- elementWidth,
95
- width,
96
- xGutter,
97
- cursorGutter,
98
- withHorizontalFloating,
99
- } = params;
100
- let translateXOffset = getInitialTranslateXOffset(elementWidth);
101
- const elementFullWidth = elementWidth + xGutter + cursorGutter;
102
- if (position === 'right') {
103
- if (x < elementFullWidth) {
104
- translateXOffset = withHorizontalFloating
105
- ? -cursorGutter
106
- : translateXOffset - elementFullWidth + x;
107
- }
108
- } else if (position === 'left') {
109
- if (x > width - elementFullWidth) {
110
- translateXOffset = withHorizontalFloating
111
- ? elementWidth + cursorGutter
112
- : translateXOffset + (x - (width - elementFullWidth));
113
- }
114
- } else {
115
- // Center position
116
- if (x < elementWidth / 2 + xGutter) {
117
- translateXOffset -= elementWidth / 2 + xGutter - x;
118
- }
119
- if (x > width - elementWidth / 2 - xGutter) {
120
- translateXOffset += x - (width - elementWidth / 2 - xGutter);
121
- }
66
+ const {
67
+ position,
68
+ x,
69
+ elementWidth,
70
+ width,
71
+ xGutter,
72
+ cursorGutter,
73
+ withHorizontalFloating
74
+ } = params;
75
+ let translateXOffset = getInitialTranslateXOffset(elementWidth);
76
+ const elementFullWidth = elementWidth + xGutter + cursorGutter;
77
+ if (position === 'right') {
78
+ if (x < elementFullWidth) {
79
+ translateXOffset = withHorizontalFloating ? -cursorGutter : translateXOffset - elementFullWidth + x;
80
+ }
81
+ } else if (position === 'left') {
82
+ if (x > width - elementFullWidth) {
83
+ translateXOffset = withHorizontalFloating ? elementWidth + cursorGutter : translateXOffset + (x - (width - elementFullWidth));
122
84
  }
123
- return translateXOffset;
124
- },
125
- [getInitialTranslateXOffset]
126
- );
85
+ } else {
86
+ // Center position
87
+ if (x < elementWidth / 2 + xGutter) {
88
+ translateXOffset -= elementWidth / 2 + xGutter - x;
89
+ }
90
+ if (x > width - elementWidth / 2 - xGutter) {
91
+ translateXOffset += x - (width - elementWidth / 2 - xGutter);
92
+ }
93
+ }
94
+ return translateXOffset;
95
+ }, [getInitialTranslateXOffset]);
127
96
 
128
97
  /**
129
98
  * Helper function to calculate the Y translation offset based on position and
130
99
  * boundary constraints
131
100
  */
132
- const calculateYTranslateOffset = React.useCallback((params) => {
101
+ const calculateYTranslateOffset = React.useCallback(params => {
133
102
  'worklet';
134
103
 
135
- const { position, y, elementHeight, height, yGutter, cursorGutter } =
136
- params;
104
+ const {
105
+ position,
106
+ y,
107
+ elementHeight,
108
+ height,
109
+ yGutter,
110
+ cursorGutter
111
+ } = params;
137
112
  let translateYOffset = 0;
138
113
  if (position === 'top') {
139
114
  translateYOffset = elementHeight / 2 + cursorGutter;
@@ -163,7 +138,7 @@ export function LineChartTooltip({
163
138
  width,
164
139
  xGutter,
165
140
  cursorGutter,
166
- withHorizontalFloating,
141
+ withHorizontalFloating
167
142
  });
168
143
  const translateX = x - translateXOffset;
169
144
 
@@ -175,7 +150,7 @@ export function LineChartTooltip({
175
150
  elementHeight: elementHeight.value,
176
151
  height,
177
152
  yGutter,
178
- cursorGutter,
153
+ cursorGutter
179
154
  });
180
155
 
181
156
  // Determine final translateY value
@@ -183,8 +158,7 @@ export function LineChartTooltip({
183
158
  if (type === 'crosshair' || isStatic) {
184
159
  translateY = y - translateYOffset;
185
160
  } else {
186
- translateY =
187
- position === 'top' ? yGutter : height - elementHeight.value - yGutter;
161
+ translateY = position === 'top' ? yGutter : height - elementHeight.value - yGutter;
188
162
  }
189
163
 
190
164
  // Calculate opacity
@@ -194,65 +168,29 @@ export function LineChartTooltip({
194
168
  opacity = withTiming(isActive.value ? 0 : 1);
195
169
  }
196
170
  return {
197
- transform: [
198
- {
199
- translateX,
200
- },
201
- {
202
- translateY,
203
- },
204
- ],
205
- opacity: opacity,
171
+ transform: [{
172
+ translateX
173
+ }, {
174
+ translateY
175
+ }],
176
+ opacity: opacity
206
177
  };
207
- }, [
208
- atXPosition,
209
- atYPosition.value,
210
- calculateXTranslateOffset,
211
- calculateYTranslateOffset,
212
- currentX.value,
213
- currentY.value,
214
- cursorGutter,
215
- elementHeight.value,
216
- elementWidth.value,
217
- height,
218
- isActive.value,
219
- position,
220
- type,
221
- width,
222
- withHorizontalFloating,
223
- xGutter,
224
- yGutter,
225
- ]);
226
- return /*#__PURE__*/ React.createElement(
227
- Animated.View,
228
- _extends(
229
- {
230
- onLayout: handleLayout,
231
- },
232
- props,
233
- {
234
- style: [styles.tooltip, animatedCursorStyle, props.style],
235
- }
236
- ),
237
- children ||
238
- /*#__PURE__*/ React.createElement(
239
- LineChartPriceText,
240
- _extends(
241
- {
242
- format: format,
243
- index: at,
244
- style: [textStyle],
245
- },
246
- textProps
247
- )
248
- )
249
- );
178
+ }, [atXPosition, atYPosition, calculateXTranslateOffset, calculateYTranslateOffset, currentX, currentY, cursorGutter, elementHeight, elementWidth, height, isActive, position, type, width, withHorizontalFloating, xGutter, yGutter]);
179
+ return /*#__PURE__*/React.createElement(Animated.View, _extends({
180
+ onLayout: handleLayout
181
+ }, props, {
182
+ style: [styles.tooltip, animatedCursorStyle, props.style]
183
+ }), children || /*#__PURE__*/React.createElement(LineChartPriceText, _extends({
184
+ format: format,
185
+ index: at,
186
+ style: [textStyle]
187
+ }, textProps)));
250
188
  }
251
189
  const styles = StyleSheet.create({
252
190
  tooltip: {
253
191
  position: 'absolute',
254
192
  padding: 4,
255
- alignSelf: 'flex-start',
256
- },
193
+ alignSelf: 'flex-start'
194
+ }
257
195
  });
258
- //# sourceMappingURL=Tooltip.js.map
196
+ //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","StyleSheet","LineChartPriceText","CursorContext","LineChartDimensionsContext","getXPositionForCurve","getYForX","useLineChart","useMemo","LineChartTooltip","displayName","children","format","xGutter","yGutter","cursorGutter","position","withHorizontalFloating","textProps","textStyle","at","props","width","height","parsedPath","useContext","type","currentX","currentY","isActive","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","atXPosition","undefined","atYPosition","getInitialTranslateXOffset","calculateXTranslateOffset","params","x","translateXOffset","elementFullWidth","calculateYTranslateOffset","y","translateYOffset","animatedCursorStyle","isStatic","translateX","translateY","opacity","transform","createElement","View","_extends","onLayout","style","styles","tooltip","index","create","padding","alignSelf"],"sourceRoot":"../../../../src","sources":["charts/line/Tooltip.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,UAAU,QAEL,yBAAyB;AAChC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,kBAAkB,QAAiC,aAAa;AAEzE,SAASC,aAAa,QAAQ,UAAU;AACxC,SAASC,0BAA0B,QAAQ,SAAS;AAEpD,SAASC,oBAAoB,QAAQ,8BAA8B;AACnE,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,OAAO;AAyB/BC,gBAAgB,CAACC,WAAW,GAAG,kBAAkB;AAEjD,OAAO,SAASD,gBAAgBA,CAAC;EAC/BE,QAAQ;EACRC,MAAM;EACNC,OAAO,GAAG,CAAC;EACXC,OAAO,GAAG,CAAC;EACXC,YAAY,GAAG,EAAE;EACjBC,QAAQ,GAAG,KAAK;EAChBC,sBAAsB,GAAG,KAAK;EAC9BC,SAAS;EACTC,SAAS;EACTC,EAAE;EACF,GAAGC;AACkB,CAAC,EAAE;EACxB,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAW,CAAC,GAAG7B,KAAK,CAAC8B,UAAU,CACpDrB,0BACF,CAAC;EACD,MAAM;IAAEsB;EAAK,CAAC,GAAG/B,KAAK,CAAC8B,UAAU,CAACtB,aAAa,CAAC;EAChD,MAAM;IAAEwB,QAAQ;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAGtB,YAAY,CAAC,CAAC;EAEvD,MAAMuB,YAAY,GAAG/B,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMgC,aAAa,GAAGhC,cAAc,CAAC,CAAC,CAAC;EAEvC,MAAMiC,YAAY,GAAGrC,KAAK,CAACsC,WAAW,CACnCC,KAAwB,IAAK;IAC5BJ,YAAY,CAACK,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM,CAACf,KAAK;IACnDS,aAAa,CAACI,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM,CAACd,MAAM;EACvD,CAAC,EACD,CAACQ,aAAa,EAAED,YAAY,CAC9B,CAAC;;EAED;EACA,MAAMQ,WAAW,GAAG9B,OAAO,CACzB,MACEY,EAAE,KAAK,IAAI,IAAIA,EAAE,KAAKmB,SAAS,GAC3BlC,oBAAoB,CAACmB,UAAU,EAAEJ,EAAE,CAAC,GACpCmB,SAAS,EACf,CAACnB,EAAE,EAAEI,UAAU,CACjB,CAAC;EAED,MAAMgB,WAAW,GAAG1C,eAAe,CAAC,MAAM;IACxC,OAAOwC,WAAW,IAAI,IAAI,GACtBC,SAAS,GACTjC,QAAQ,CAACkB,UAAU,EAAEc,WAAW,CAAC,IAAI,CAAC;EAC5C,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMG,0BAA0B,GAAG9C,KAAK,CAACsC,WAAW,CACjDH,YAAoB,IAAK;IACxB,SAAS;;IACT,IAAId,QAAQ,KAAK,OAAO,EAAE,OAAOc,YAAY,GAAGf,YAAY;IAC5D,IAAIC,QAAQ,KAAK,MAAM,EAAE,OAAO,CAACD,YAAY;IAC7C,OAAOe,YAAY,GAAG,CAAC;EACzB,CAAC,EACD,CAACf,YAAY,EAAEC,QAAQ,CACzB,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAM0B,yBAAyB,GAAG/C,KAAK,CAACsC,WAAW,CAChDU,MAQA,IAAK;IACJ,SAAS;;IACT,MAAM;MACJ3B,QAAQ;MACR4B,CAAC;MACDd,YAAY;MACZR,KAAK;MACLT,OAAO;MACPE,YAAY;MACZE;IACF,CAAC,GAAG0B,MAAM;IAEV,IAAIE,gBAAgB,GAAGJ,0BAA0B,CAACX,YAAY,CAAC;IAC/D,MAAMgB,gBAAgB,GAAGhB,YAAY,GAAGjB,OAAO,GAAGE,YAAY;IAE9D,IAAIC,QAAQ,KAAK,OAAO,EAAE;MACxB,IAAI4B,CAAC,GAAGE,gBAAgB,EAAE;QACxBD,gBAAgB,GAAG5B,sBAAsB,GACrC,CAACF,YAAY,GACb8B,gBAAgB,GAAGC,gBAAgB,GAAGF,CAAC;MAC7C;IACF,CAAC,MAAM,IAAI5B,QAAQ,KAAK,MAAM,EAAE;MAC9B,IAAI4B,CAAC,GAAGtB,KAAK,GAAGwB,gBAAgB,EAAE;QAChCD,gBAAgB,GAAG5B,sBAAsB,GACrCa,YAAY,GAAGf,YAAY,GAC3B8B,gBAAgB,IAAID,CAAC,IAAItB,KAAK,GAAGwB,gBAAgB,CAAC,CAAC;MACzD;IACF,CAAC,MAAM;MACL;MACA,IAAIF,CAAC,GAAGd,YAAY,GAAG,CAAC,GAAGjB,OAAO,EAAE;QAClCgC,gBAAgB,IAAIf,YAAY,GAAG,CAAC,GAAGjB,OAAO,GAAG+B,CAAC;MACpD;MACA,IAAIA,CAAC,GAAGtB,KAAK,GAAGQ,YAAY,GAAG,CAAC,GAAGjB,OAAO,EAAE;QAC1CgC,gBAAgB,IAAID,CAAC,IAAItB,KAAK,GAAGQ,YAAY,GAAG,CAAC,GAAGjB,OAAO,CAAC;MAC9D;IACF;IAEA,OAAOgC,gBAAgB;EACzB,CAAC,EACD,CAACJ,0BAA0B,CAC7B,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMM,yBAAyB,GAAGpD,KAAK,CAACsC,WAAW,CAChDU,MAOA,IAAK;IACJ,SAAS;;IACT,MAAM;MAAE3B,QAAQ;MAAEgC,CAAC;MAAEjB,aAAa;MAAER,MAAM;MAAET,OAAO;MAAEC;IAAa,CAAC,GACjE4B,MAAM;IACR,IAAIM,gBAAgB,GAAG,CAAC;IAExB,IAAIjC,QAAQ,KAAK,KAAK,EAAE;MACtBiC,gBAAgB,GAAGlB,aAAa,GAAG,CAAC,GAAGhB,YAAY;MACnD,IAAIiC,CAAC,GAAGC,gBAAgB,GAAGnC,OAAO,EAAE;QAClCmC,gBAAgB,GAAGD,CAAC,GAAGlC,OAAO;MAChC;IACF,CAAC,MAAM,IAAIE,QAAQ,KAAK,QAAQ,EAAE;MAChCiC,gBAAgB,GAAG,EAAElB,aAAa,GAAG,CAAC,CAAC,GAAGhB,YAAY,GAAG,CAAC;MAC1D,IAAIiC,CAAC,GAAGC,gBAAgB,GAAGlB,aAAa,GAAGR,MAAM,GAAGT,OAAO,EAAE;QAC3DmC,gBAAgB,GAAGD,CAAC,IAAIzB,MAAM,GAAGT,OAAO,CAAC,GAAGiB,aAAa;MAC3D;IACF,CAAC,MAAM,IAAIf,QAAQ,KAAK,OAAO,IAAIA,QAAQ,KAAK,MAAM,EAAE;MACtDiC,gBAAgB,GAAGlB,aAAa,GAAG,CAAC;IACtC;IAEA,OAAOkB,gBAAgB;EACzB,CAAC,EACD,EACF,CAAC;EAED,MAAMC,mBAAmB,GAAGrD,gBAAgB,CAAC,MAAM;IACjD;IACA,MAAMsD,QAAQ,GAAGX,WAAW,CAACL,KAAK,IAAI,IAAI;;IAE1C;IACA,MAAMS,CAAC,GAAGN,WAAW,IAAIX,QAAQ,CAACQ,KAAK;IACvC,MAAMU,gBAAgB,GAAGH,yBAAyB,CAAC;MACjD1B,QAAQ;MACR4B,CAAC;MACDd,YAAY,EAAEA,YAAY,CAACK,KAAK;MAChCb,KAAK;MACLT,OAAO;MACPE,YAAY;MACZE;IACF,CAAC,CAAC;IACF,MAAMmC,UAAU,GAAGR,CAAC,GAAGC,gBAAgB;;IAEvC;IACA,MAAMG,CAAC,GAAGR,WAAW,CAACL,KAAK,IAAIP,QAAQ,CAACO,KAAK;IAC7C,MAAMc,gBAAgB,GAAGF,yBAAyB,CAAC;MACjD/B,QAAQ;MACRgC,CAAC;MACDjB,aAAa,EAAEA,aAAa,CAACI,KAAK;MAClCZ,MAAM;MACNT,OAAO;MACPC;IACF,CAAC,CAAC;;IAEF;IACA,IAAIsC,UAAkB;IACtB,IAAI3B,IAAI,KAAK,WAAW,IAAIyB,QAAQ,EAAE;MACpCE,UAAU,GAAGL,CAAC,GAAGC,gBAAgB;IACnC,CAAC,MAAM;MACLI,UAAU,GACRrC,QAAQ,KAAK,KAAK,GAAGF,OAAO,GAAGS,MAAM,GAAGQ,aAAa,CAACI,KAAK,GAAGrB,OAAO;IACzE;;IAEA;IACA,IAAIwC,OAAO,GAAGzB,QAAQ,CAACM,KAAK,GAAG,CAAC,GAAG,CAAC;IACpC,IAAIgB,QAAQ,EAAE;MACZ;MACAG,OAAO,GAAGtD,UAAU,CAAC6B,QAAQ,CAACM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C;IAEA,OAAO;MACLoB,SAAS,EAAE,CAAC;QAAEH;MAAW,CAAC,EAAE;QAAEC;MAAW,CAAC,CAAC;MAC3CC,OAAO,EAAEA;IACX,CAAC;EACH,CAAC,EAAE,CACDhB,WAAW,EACXE,WAAW,CAACL,KAAK,EACjBO,yBAAyB,EACzBK,yBAAyB,EACzBpB,QAAQ,CAACQ,KAAK,EACdP,QAAQ,CAACO,KAAK,EACdpB,YAAY,EACZgB,aAAa,CAACI,KAAK,EACnBL,YAAY,CAACK,KAAK,EAClBZ,MAAM,EACNM,QAAQ,CAACM,KAAK,EACdnB,QAAQ,EACRU,IAAI,EACJJ,KAAK,EACLL,sBAAsB,EACtBJ,OAAO,EACPC,OAAO,CACR,CAAC;EAEF,oBACEnB,KAAA,CAAA6D,aAAA,CAAC5D,QAAQ,CAAC6D,IAAI,EAAAC,QAAA;IACZC,QAAQ,EAAE3B;EAAa,GACnBX,KAAK;IACTuC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEZ,mBAAmB,EAAE7B,KAAK,CAACuC,KAAK;EAAE,IAEzDjD,QAAQ,iBACPhB,KAAA,CAAA6D,aAAA,CAACtD,kBAAkB,EAAAwD,QAAA;IACjB9C,MAAM,EAAEA,MAAO;IACfmD,KAAK,EAAE3C,EAAG;IACVwC,KAAK,EAAE,CAACzC,SAAS;EAAE,GACfD,SAAS,CACd,CAEU,CAAC;AAEpB;AAEA,MAAM2C,MAAM,GAAG5D,UAAU,CAAC+D,MAAM,CAAC;EAC/BF,OAAO,EAAE;IACP9C,QAAQ,EAAE,UAAU;IACpBiD,OAAO,EAAE,CAAC;IACVC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","StyleSheet","LineChartPriceText","CursorContext","LineChartDimensionsContext","getXPositionForCurve","getYForX","useLineChart","useMemo","LineChartTooltip","displayName","children","format","xGutter","yGutter","cursorGutter","position","withHorizontalFloating","textProps","textStyle","at","props","width","height","parsedPath","useContext","type","currentX","currentY","isActive","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","atXPosition","undefined","atYPosition","getInitialTranslateXOffset","calculateXTranslateOffset","params","x","translateXOffset","elementFullWidth","calculateYTranslateOffset","y","translateYOffset","animatedCursorStyle","isStatic","translateX","translateY","opacity","transform","createElement","View","_extends","onLayout","style","styles","tooltip","index","create","padding","alignSelf"],"sourceRoot":"../../../../src","sources":["charts/line/Tooltip.tsx"],"mappings":"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","ignoreList":[]}
@@ -54,6 +54,6 @@ export const LineChart = Object.assign(_LineChart, {
54
54
  useDatetime: useLineChartDatetime,
55
55
  usePrice: useLineChartPrice,
56
56
  useChart: useLineChart,
57
- HoverTrap: LineChartHoverTrap,
57
+ HoverTrap: LineChartHoverTrap
58
58
  });
59
- //# sourceMappingURL=index.js.map
59
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -1,26 +1,20 @@
1
- import {
2
- useAnimatedProps,
3
- useAnimatedReaction,
4
- useSharedValue,
5
- withTiming,
6
- } from 'react-native-reanimated';
1
+ import { useAnimatedProps, useAnimatedReaction, useSharedValue, withTiming } from 'react-native-reanimated';
7
2
  import { interpolatePath } from './utils';
8
3
  import { usePrevious } from '../../utils';
9
- export function useAnimatedPath({ enabled = true, path }) {
4
+ export function useAnimatedPath({
5
+ enabled = true,
6
+ path
7
+ }) {
10
8
  const transition = useSharedValue(0);
11
9
  const previousPath = usePrevious(path);
12
- useAnimatedReaction(
13
- () => {
14
- return path;
15
- },
16
- (result, previous) => {
17
- if (result !== previous) {
18
- transition.value = 0;
19
- transition.value = withTiming(1);
20
- }
21
- },
22
- [path]
23
- );
10
+ useAnimatedReaction(() => {
11
+ return path;
12
+ }, (result, previous) => {
13
+ if (result !== previous) {
14
+ transition.value = 0;
15
+ transition.value = withTiming(1);
16
+ }
17
+ }, [path]);
24
18
  const animatedProps = useAnimatedProps(() => {
25
19
  let d = path || '';
26
20
  if (previousPath && enabled) {
@@ -28,11 +22,11 @@ export function useAnimatedPath({ enabled = true, path }) {
28
22
  d = pathInterpolator(transition.value);
29
23
  }
30
24
  return {
31
- d,
25
+ d
32
26
  };
33
27
  });
34
28
  return {
35
- animatedProps,
29
+ animatedProps
36
30
  };
37
31
  }
38
- //# sourceMappingURL=useAnimatedPath.js.map
32
+ //# sourceMappingURL=useAnimatedPath.js.map
@@ -4,9 +4,14 @@ import { getYForX, parse } from 'react-native-redash';
4
4
  import { LineChartContext } from './Context';
5
5
  import { LineChartDimensionsContext } from './Chart';
6
6
  export function useCurrentY() {
7
- const { path, width } = useContext(LineChartDimensionsContext);
8
- const { currentX } = useContext(LineChartContext);
9
- const parsedPath = useMemo(() => (path ? parse(path) : undefined), [path]);
7
+ const {
8
+ path,
9
+ width
10
+ } = useContext(LineChartDimensionsContext);
11
+ const {
12
+ currentX
13
+ } = useContext(LineChartContext);
14
+ const parsedPath = useMemo(() => path ? parse(path) : undefined, [path]);
10
15
  const currentY = useDerivedValue(() => {
11
16
  if (!parsedPath) {
12
17
  return -1;
@@ -16,4 +21,4 @@ export function useCurrentY() {
16
21
  }, [parsedPath, width, currentX]);
17
22
  return currentY;
18
23
  }
19
- //# sourceMappingURL=useCurrentY.js.map
24
+ //# sourceMappingURL=useCurrentY.js.map
@@ -1,40 +1,36 @@
1
1
  import { useDerivedValue } from 'react-native-reanimated';
2
2
  import { formatDatetime } from '../../utils';
3
3
  import { useLineChart } from './useLineChart';
4
- export function useLineChartDatetime({ format, locale, options } = {}) {
5
- const { currentIndex, data } = useLineChart();
4
+ export function useLineChartDatetime({
5
+ format,
6
+ locale,
7
+ options
8
+ } = {}) {
9
+ const {
10
+ currentIndex,
11
+ data
12
+ } = useLineChart();
6
13
  const timestamp = useDerivedValue(() => {
7
- if (
8
- !data ||
9
- typeof currentIndex.value === 'undefined' ||
10
- currentIndex.value === -1
11
- ) {
14
+ if (!data || typeof currentIndex.value === 'undefined' || currentIndex.value === -1) {
12
15
  return '';
13
16
  }
14
17
  return data[currentIndex.value]?.timestamp ?? '';
15
18
  }, [currentIndex, data]);
16
- const value = useDerivedValue(
17
- () => new Date(timestamp.value).getTime(),
18
- [timestamp]
19
- );
19
+ const value = useDerivedValue(() => new Date(timestamp.value).getTime(), [timestamp]);
20
20
  const formatted = useDerivedValue(() => {
21
- const formattedDatetime = value.value
22
- ? formatDatetime({
23
- value: value.value,
24
- locale,
25
- options,
26
- })
27
- : '';
28
- return format
29
- ? format({
30
- value: value.value || -1,
31
- formatted: formattedDatetime,
32
- })
33
- : formattedDatetime;
21
+ const formattedDatetime = value.value ? formatDatetime({
22
+ value: value.value,
23
+ locale,
24
+ options
25
+ }) : '';
26
+ return format ? format({
27
+ value: value.value || -1,
28
+ formatted: formattedDatetime
29
+ }) : formattedDatetime;
34
30
  }, [format, locale, options, value]);
35
31
  return {
36
32
  value,
37
- formatted,
33
+ formatted
38
34
  };
39
35
  }
40
- //# sourceMappingURL=useDatetime.js.map
36
+ //# sourceMappingURL=useDatetime.js.map
@@ -6,16 +6,13 @@ export function useLineChart() {
6
6
  const lineChartContext = React.useContext(LineChartContext);
7
7
  const maybeId = useLineChartId();
8
8
  const dataContext = useLineChartData({
9
- id: maybeId,
9
+ id: maybeId
10
10
  });
11
11
  const currentY = useCurrentY();
12
- return React.useMemo(
13
- () => ({
14
- ...lineChartContext,
15
- ...dataContext,
16
- currentY,
17
- }),
18
- [lineChartContext, dataContext, currentY]
19
- );
12
+ return React.useMemo(() => ({
13
+ ...lineChartContext,
14
+ ...dataContext,
15
+ currentY
16
+ }), [lineChartContext, dataContext, currentY]);
20
17
  }
21
- //# sourceMappingURL=useLineChart.js.map
18
+ //# sourceMappingURL=useLineChart.js.map
@@ -1,41 +1,39 @@
1
1
  import { useDerivedValue } from 'react-native-reanimated';
2
2
  import { formatPrice } from '../../utils';
3
3
  import { useLineChart } from './useLineChart';
4
- export function useLineChartPrice({ format, precision = 2, index } = {}) {
5
- const { currentIndex, data } = useLineChart();
4
+ export function useLineChartPrice({
5
+ format,
6
+ precision = 2,
7
+ index
8
+ } = {}) {
9
+ const {
10
+ currentIndex,
11
+ data
12
+ } = useLineChart();
6
13
  const float = useDerivedValue(() => {
7
14
  if (!data) {
8
15
  return '';
9
16
  }
10
- if (
11
- (typeof currentIndex.value === 'undefined' ||
12
- currentIndex.value === -1) &&
13
- index == null
14
- ) {
17
+ if ((typeof currentIndex.value === 'undefined' || currentIndex.value === -1) && index == null) {
15
18
  return '';
16
19
  }
17
- const dataPoint =
18
- data[Math.min(index ?? currentIndex.value, data.length - 1)];
20
+ const dataPoint = data[Math.min(index ?? currentIndex.value, data.length - 1)];
19
21
  const price = dataPoint?.value ?? 0;
20
22
  return price.toFixed(precision).toString();
21
23
  }, [currentIndex, data, precision]);
22
24
  const formatted = useDerivedValue(() => {
23
25
  const value = float.value || '';
24
- const formattedPrice = value
25
- ? formatPrice({
26
- value,
27
- })
28
- : '';
29
- return format
30
- ? format({
31
- value,
32
- formatted: formattedPrice,
33
- })
34
- : formattedPrice;
26
+ const formattedPrice = value ? formatPrice({
27
+ value
28
+ }) : '';
29
+ return format ? format({
30
+ value,
31
+ formatted: formattedPrice
32
+ }) : formattedPrice;
35
33
  }, [float, format]);
36
34
  return {
37
35
  value: float,
38
- formatted,
36
+ formatted
39
37
  };
40
38
  }
41
- //# sourceMappingURL=usePrice.js.map
39
+ //# sourceMappingURL=usePrice.js.map
@@ -7,21 +7,14 @@ export function getArea({
7
7
  gutter,
8
8
  shape: _shape,
9
9
  yDomain,
10
- xDomain,
10
+ xDomain
11
11
  }) {
12
- const timestamps = data.map(({ timestamp }, i) => (xDomain ? timestamp : i));
13
- const scaleX = scaleLinear()
14
- .domain(xDomain ?? [Math.min(...timestamps), Math.max(...timestamps)])
15
- .range([0, width]);
16
- const scaleY = scaleLinear()
17
- .domain([yDomain.min, yDomain.max])
18
- .range([height - gutter, gutter]);
19
- const area = shape
20
- .area()
21
- .x((_, i) => scaleX(xDomain ? timestamps[i] ?? i : i))
22
- .y0((d) => scaleY(d.value))
23
- .y1(() => height)
24
- .curve(_shape)(data);
12
+ const timestamps = data.map(({
13
+ timestamp
14
+ }, i) => xDomain ? timestamp : i);
15
+ const scaleX = scaleLinear().domain(xDomain ?? [Math.min(...timestamps), Math.max(...timestamps)]).range([0, width]);
16
+ const scaleY = scaleLinear().domain([yDomain.min, yDomain.max]).range([height - gutter, gutter]);
17
+ const area = shape.area().x((_, i) => scaleX(xDomain ? timestamps[i] ?? i : i)).y0(d => scaleY(d.value)).y1(() => height).curve(_shape)(data);
25
18
  return area || '';
26
19
  }
27
- //# sourceMappingURL=getArea.js.map
20
+ //# sourceMappingURL=getArea.js.map
@@ -1,7 +1,10 @@
1
1
  export function getDomain(rows) {
2
2
  'worklet';
3
3
 
4
- const values = rows.map(({ value }) => value);
4
+ if (rows.length === 0) return [0, 0];
5
+ const values = rows.map(({
6
+ value
7
+ }) => value);
5
8
  return [Math.min(...values), Math.max(...values)];
6
9
  }
7
- //# sourceMappingURL=getDomain.js.map
10
+ //# sourceMappingURL=getDomain.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getDomain","rows","values","map","value","Math","min","max"],"sourceRoot":"../../../../../src","sources":["charts/line/utils/getDomain.ts"],"mappings":"AAEA,OAAO,SAASA,SAASA,CAACC,IAAuB,EAAoB;EACnE,SAAS;;EACT,MAAMC,MAAM,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAKA,KAAK,CAAC;EAC7C,OAAO,CAACC,IAAI,CAACC,GAAG,CAAC,GAAGJ,MAAM,CAAC,EAAEG,IAAI,CAACE,GAAG,CAAC,GAAGL,MAAM,CAAC,CAAC;AACnD","ignoreList":[]}
1
+ {"version":3,"names":["getDomain","rows","length","values","map","value","Math","min","max"],"sourceRoot":"../../../../../src","sources":["charts/line/utils/getDomain.ts"],"mappings":"AAEA,OAAO,SAASA,SAASA,CAACC,IAAuB,EAAoB;EACnE,SAAS;;EACT,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;EACpC,MAAMC,MAAM,GAAGF,IAAI,CAACG,GAAG,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAKA,KAAK,CAAC;EAC7C,OAAO,CAACC,IAAI,CAACC,GAAG,CAAC,GAAGJ,MAAM,CAAC,EAAEG,IAAI,CAACE,GAAG,CAAC,GAAGL,MAAM,CAAC,CAAC;AACnD","ignoreList":[]}