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.
- package/README.md +143 -66
- package/lib/commonjs/charts/candle/Candle.js +92 -177
- package/lib/commonjs/charts/candle/Candles.js +39 -66
- package/lib/commonjs/charts/candle/Chart.js +26 -37
- package/lib/commonjs/charts/candle/Context.js +49 -69
- package/lib/commonjs/charts/candle/Crosshair.js +82 -183
- package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
- package/lib/commonjs/charts/candle/CrosshairTooltip.js +61 -140
- package/lib/commonjs/charts/candle/DatetimeText.js +14 -19
- package/lib/commonjs/charts/candle/Line.js +27 -73
- package/lib/commonjs/charts/candle/PriceText.js +14 -19
- package/lib/commonjs/charts/candle/index.js +64 -67
- package/lib/commonjs/charts/candle/types.js +4 -4
- package/lib/commonjs/charts/candle/useCandleData.js +12 -9
- package/lib/commonjs/charts/candle/useCandlestickChart.js +7 -9
- package/lib/commonjs/charts/candle/useDatetime.js +18 -16
- package/lib/commonjs/charts/candle/usePrice.js +22 -21
- package/lib/commonjs/charts/candle/utils/getDomain.js +9 -5
- package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
- package/lib/commonjs/charts/candle/utils/getHeight.js +11 -12
- package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
- package/lib/commonjs/charts/candle/utils/getPrice.js +11 -12
- package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
- package/lib/commonjs/charts/candle/utils/getY.js +11 -12
- package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
- package/lib/commonjs/charts/candle/utils/index.js +16 -16
- package/lib/commonjs/charts/line/Axis.js +148 -268
- package/lib/commonjs/charts/line/Chart.js +62 -129
- package/lib/commonjs/charts/line/Chart.js.map +1 -1
- package/lib/commonjs/charts/line/ChartPath.js +105 -285
- package/lib/commonjs/charts/line/Context.js +37 -95
- package/lib/commonjs/charts/line/Cursor.js +74 -125
- package/lib/commonjs/charts/line/Cursor.js.map +1 -1
- package/lib/commonjs/charts/line/CursorCrosshair.js +56 -134
- package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/commonjs/charts/line/CursorLine.js +67 -152
- package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
- package/lib/commonjs/charts/line/Data.js +34 -73
- package/lib/commonjs/charts/line/DatetimeText.js +15 -20
- package/lib/commonjs/charts/line/Dot.js +56 -149
- package/lib/commonjs/charts/line/Gradient.js +53 -124
- package/lib/commonjs/charts/line/Group.js +23 -54
- package/lib/commonjs/charts/line/Group.js.map +1 -1
- package/lib/commonjs/charts/line/Highlight.js +47 -115
- package/lib/commonjs/charts/line/HorizontalLine.js +39 -92
- package/lib/commonjs/charts/line/HoverTrap/index.js +7 -10
- package/lib/commonjs/charts/line/HoverTrap/index.web.js +43 -48
- package/lib/commonjs/charts/line/LineChartPathContext.js +11 -14
- package/lib/commonjs/charts/line/Path.js +32 -78
- package/lib/commonjs/charts/line/PriceText.js +36 -78
- package/lib/commonjs/charts/line/Tooltip.js +102 -188
- package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
- package/lib/commonjs/charts/line/index.js +65 -65
- package/lib/commonjs/charts/line/types.js +4 -4
- package/lib/commonjs/charts/line/useAnimatedPath.js +22 -27
- package/lib/commonjs/charts/line/useCurrentY.js +17 -17
- package/lib/commonjs/charts/line/useDatetime.js +28 -32
- package/lib/commonjs/charts/line/useLineChart.js +15 -20
- package/lib/commonjs/charts/line/usePrice.js +26 -28
- package/lib/commonjs/charts/line/utils/getArea.js +14 -47
- package/lib/commonjs/charts/line/utils/getDomain.js +8 -5
- package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
- package/lib/commonjs/charts/line/utils/getPath.js +14 -53
- package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +5 -8
- package/lib/commonjs/charts/line/utils/index.js +19 -19
- package/lib/commonjs/charts/line/utils/interpolatePath.js +60 -100
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +5 -5
- package/lib/commonjs/components/AnimatedText.js +29 -67
- package/lib/commonjs/index.js +19 -19
- package/lib/commonjs/types.js +2 -2
- package/lib/commonjs/utils/formatDatetime.js +9 -5
- package/lib/commonjs/utils/formatPrice.js +6 -10
- package/lib/commonjs/utils/index.js +13 -13
- package/lib/commonjs/utils/usePrevious.js +6 -8
- package/lib/module/charts/candle/Candle.js +76 -126
- package/lib/module/charts/candle/Candles.js +30 -52
- package/lib/module/charts/candle/Chart.js +19 -22
- package/lib/module/charts/candle/Context.js +29 -47
- package/lib/module/charts/candle/Crosshair.js +69 -142
- package/lib/module/charts/candle/Crosshair.js.map +1 -1
- package/lib/module/charts/candle/CrosshairTooltip.js +51 -101
- package/lib/module/charts/candle/DatetimeText.js +5 -5
- package/lib/module/charts/candle/Line.js +19 -37
- package/lib/module/charts/candle/PriceText.js +5 -5
- package/lib/module/charts/candle/index.js +2 -2
- package/lib/module/charts/candle/types.js +1 -1
- package/lib/module/charts/candle/useCandleData.js +7 -3
- package/lib/module/charts/candle/useCandlestickChart.js +1 -1
- package/lib/module/charts/candle/useDatetime.js +12 -10
- package/lib/module/charts/candle/usePrice.js +14 -12
- package/lib/module/charts/candle/utils/getDomain.js +6 -2
- package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
- package/lib/module/charts/candle/utils/getHeight.js +8 -9
- package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
- package/lib/module/charts/candle/utils/getPrice.js +8 -4
- package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
- package/lib/module/charts/candle/utils/getY.js +8 -4
- package/lib/module/charts/candle/utils/getY.js.map +1 -1
- package/lib/module/charts/candle/utils/index.js +1 -1
- package/lib/module/charts/line/Axis.js +113 -189
- package/lib/module/charts/line/Chart.js +40 -73
- package/lib/module/charts/line/Chart.js.map +1 -1
- package/lib/module/charts/line/ChartPath.js +90 -238
- package/lib/module/charts/line/Context.js +29 -61
- package/lib/module/charts/line/Cursor.js +61 -82
- package/lib/module/charts/line/Cursor.js.map +1 -1
- package/lib/module/charts/line/CursorCrosshair.js +47 -99
- package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/module/charts/line/CursorLine.js +52 -107
- package/lib/module/charts/line/CursorLine.js.map +1 -1
- package/lib/module/charts/line/Data.js +28 -41
- package/lib/module/charts/line/DatetimeText.js +5 -5
- package/lib/module/charts/line/Dot.js +39 -93
- package/lib/module/charts/line/Gradient.js +41 -79
- package/lib/module/charts/line/Group.js +14 -15
- package/lib/module/charts/line/Group.js.map +1 -1
- package/lib/module/charts/line/Highlight.js +32 -61
- package/lib/module/charts/line/HorizontalLine.js +27 -49
- package/lib/module/charts/line/HoverTrap/index.js +2 -3
- package/lib/module/charts/line/HoverTrap/index.web.js +34 -34
- package/lib/module/charts/line/LineChartPathContext.js +3 -3
- package/lib/module/charts/line/Path.js +20 -33
- package/lib/module/charts/line/PriceText.js +25 -42
- package/lib/module/charts/line/Tooltip.js +89 -151
- package/lib/module/charts/line/Tooltip.js.map +1 -1
- package/lib/module/charts/line/index.js +2 -2
- package/lib/module/charts/line/types.js +1 -1
- package/lib/module/charts/line/useAnimatedPath.js +16 -22
- package/lib/module/charts/line/useCurrentY.js +9 -4
- package/lib/module/charts/line/useDatetime.js +22 -26
- package/lib/module/charts/line/useLineChart.js +7 -10
- package/lib/module/charts/line/usePrice.js +20 -22
- package/lib/module/charts/line/utils/getArea.js +8 -15
- package/lib/module/charts/line/utils/getDomain.js +5 -2
- package/lib/module/charts/line/utils/getDomain.js.map +1 -1
- package/lib/module/charts/line/utils/getPath.js +8 -21
- package/lib/module/charts/line/utils/getXPositionForCurve.js +2 -5
- package/lib/module/charts/line/utils/index.js +1 -1
- package/lib/module/charts/line/utils/interpolatePath.js +57 -97
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js +2 -2
- package/lib/module/components/AnimatedText.js +21 -25
- package/lib/module/index.js +1 -1
- package/lib/module/types.js +2 -1
- package/lib/module/utils/formatDatetime.js +6 -2
- package/lib/module/utils/formatPrice.js +3 -7
- package/lib/module/utils/index.js +1 -1
- package/lib/module/utils/usePrevious.js +1 -1
- package/lib/typescript/src/charts/candle/Candle.d.ts +31 -45
- package/lib/typescript/src/charts/candle/Candles.d.ts +13 -24
- package/lib/typescript/src/charts/candle/Chart.d.ts +7 -12
- package/lib/typescript/src/charts/candle/Context.d.ts +7 -12
- package/lib/typescript/src/charts/candle/Crosshair.d.ts +9 -17
- package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +8 -15
- package/lib/typescript/src/charts/candle/DatetimeText.d.ts +9 -15
- package/lib/typescript/src/charts/candle/Line.d.ts +5 -10
- package/lib/typescript/src/charts/candle/PriceText.d.ts +7 -13
- package/lib/typescript/src/charts/candle/index.d.ts +13 -32
- package/lib/typescript/src/charts/candle/types.d.ts +16 -16
- package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -1
- package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -1
- package/lib/typescript/src/charts/candle/useDatetime.d.ts +9 -13
- package/lib/typescript/src/charts/candle/usePrice.d.ts +7 -11
- package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -1
- package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +5 -9
- package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +5 -9
- package/lib/typescript/src/charts/candle/utils/getY.d.ts +5 -9
- package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -1
- package/lib/typescript/src/charts/line/Axis.d.ts +14 -27
- package/lib/typescript/src/charts/line/Chart.d.ts +23 -33
- package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/ChartPath.d.ts +15 -28
- package/lib/typescript/src/charts/line/Context.d.ts +9 -16
- package/lib/typescript/src/charts/line/Cursor.d.ts +14 -22
- package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +11 -23
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/CursorLine.d.ts +9 -15
- package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Data.d.ts +13 -17
- package/lib/typescript/src/charts/line/DatetimeText.d.ts +8 -14
- package/lib/typescript/src/charts/line/Dot.d.ts +25 -38
- package/lib/typescript/src/charts/line/Gradient.d.ts +5 -9
- package/lib/typescript/src/charts/line/Group.d.ts +3 -6
- package/lib/typescript/src/charts/line/Group.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Highlight.d.ts +9 -17
- package/lib/typescript/src/charts/line/HorizontalLine.d.ts +22 -30
- package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +1 -1
- package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +1 -1
- package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +4 -4
- package/lib/typescript/src/charts/line/Path.d.ts +23 -28
- package/lib/typescript/src/charts/line/PriceText.d.ts +20 -28
- package/lib/typescript/src/charts/line/Tooltip.d.ts +20 -32
- package/lib/typescript/src/charts/line/index.d.ts +20 -33
- package/lib/typescript/src/charts/line/types.d.ts +17 -19
- package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +7 -10
- package/lib/typescript/src/charts/line/useCurrentY.d.ts +2 -2
- package/lib/typescript/src/charts/line/useDatetime.d.ts +7 -11
- package/lib/typescript/src/charts/line/useLineChart.d.ts +10 -10
- package/lib/typescript/src/charts/line/usePrice.d.ts +7 -11
- package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -17
- package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -1
- package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -21
- package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +1 -1
- package/lib/typescript/src/charts/line/utils/index.d.ts +1 -1
- package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +5 -17
- package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -4
- package/lib/typescript/src/components/AnimatedText.d.ts +4 -7
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/types.d.ts +4 -7
- package/lib/typescript/src/utils/formatDatetime.d.ts +5 -9
- package/lib/typescript/src/utils/formatPrice.d.ts +5 -9
- package/lib/typescript/src/utils/index.d.ts +1 -1
- package/lib/typescript/src/utils/usePrevious.d.ts +1 -1
- package/package.json +1 -1
- package/src/charts/line/CursorLine.tsx +6 -2
- 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 {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
74
|
-
'worklet';
|
|
51
|
+
const getInitialTranslateXOffset = React.useCallback(elementWidth => {
|
|
52
|
+
'worklet';
|
|
75
53
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
89
|
-
'worklet';
|
|
63
|
+
const calculateXTranslateOffset = React.useCallback(params => {
|
|
64
|
+
'worklet';
|
|
90
65
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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(
|
|
101
|
+
const calculateYTranslateOffset = React.useCallback(params => {
|
|
133
102
|
'worklet';
|
|
134
103
|
|
|
135
|
-
const {
|
|
136
|
-
|
|
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
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
},
|
|
204
|
-
],
|
|
205
|
-
opacity: opacity,
|
|
171
|
+
transform: [{
|
|
172
|
+
translateX
|
|
173
|
+
}, {
|
|
174
|
+
translateY
|
|
175
|
+
}],
|
|
176
|
+
opacity: opacity
|
|
206
177
|
};
|
|
207
|
-
}, [
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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":"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
|
|
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({
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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 {
|
|
8
|
-
|
|
9
|
-
|
|
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({
|
|
5
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
:
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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({
|
|
5
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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(({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const scaleY = scaleLinear()
|
|
17
|
-
|
|
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
|
-
|
|
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,
|
|
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":[]}
|