react-native-wagmi-charts 2.7.3 → 2.8.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 +42 -15
- package/lib/commonjs/charts/candle/Candle.js +177 -93
- package/lib/commonjs/charts/candle/Candle.js.map +1 -1
- package/lib/commonjs/charts/candle/Candles.js +66 -43
- package/lib/commonjs/charts/candle/Candles.js.map +1 -1
- package/lib/commonjs/charts/candle/Chart.js +38 -28
- package/lib/commonjs/charts/candle/Chart.js.map +1 -1
- package/lib/commonjs/charts/candle/Context.js +74 -43
- package/lib/commonjs/charts/candle/Context.js.map +1 -1
- package/lib/commonjs/charts/candle/Crosshair.js +190 -81
- package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
- package/lib/commonjs/charts/candle/CrosshairTooltip.js +140 -61
- package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
- package/lib/commonjs/charts/candle/DatetimeText.js +19 -14
- package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
- package/lib/commonjs/charts/candle/Line.js +73 -28
- package/lib/commonjs/charts/candle/Line.js.map +1 -1
- package/lib/commonjs/charts/candle/PriceText.js +19 -14
- package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
- package/lib/commonjs/charts/candle/index.js +67 -64
- package/lib/commonjs/charts/candle/types.js +4 -4
- package/lib/commonjs/charts/candle/useCandleData.js +9 -12
- package/lib/commonjs/charts/candle/useCandlestickChart.js +10 -9
- package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
- package/lib/commonjs/charts/candle/useDatetime.js +16 -18
- package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
- package/lib/commonjs/charts/candle/usePrice.js +21 -22
- package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
- package/lib/commonjs/charts/candle/utils/getDomain.js +5 -8
- package/lib/commonjs/charts/candle/utils/getHeight.js +12 -11
- package/lib/commonjs/charts/candle/utils/getPrice.js +12 -11
- package/lib/commonjs/charts/candle/utils/getY.js +12 -11
- package/lib/commonjs/charts/candle/utils/index.js +16 -16
- package/lib/commonjs/charts/line/Axis.js +402 -0
- package/lib/commonjs/charts/line/Axis.js.map +1 -0
- package/lib/commonjs/charts/line/Chart.js +140 -69
- package/lib/commonjs/charts/line/Chart.js.map +1 -1
- package/lib/commonjs/charts/line/ChartPath.js +290 -90
- package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
- package/lib/commonjs/charts/line/Context.js +98 -40
- package/lib/commonjs/charts/line/Context.js.map +1 -1
- package/lib/commonjs/charts/line/Cursor.js +129 -75
- package/lib/commonjs/charts/line/Cursor.js.map +1 -1
- package/lib/commonjs/charts/line/CursorCrosshair.js +151 -58
- package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/commonjs/charts/line/CursorLine.js +251 -45
- package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
- package/lib/commonjs/charts/line/Data.js +73 -35
- package/lib/commonjs/charts/line/Data.js.map +1 -1
- package/lib/commonjs/charts/line/DatetimeText.js +27 -14
- package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
- package/lib/commonjs/charts/line/Dot.js +150 -57
- package/lib/commonjs/charts/line/Dot.js.map +1 -1
- package/lib/commonjs/charts/line/Gradient.js +124 -54
- package/lib/commonjs/charts/line/Gradient.js.map +1 -1
- package/lib/commonjs/charts/line/Group.js +54 -24
- package/lib/commonjs/charts/line/Group.js.map +1 -1
- package/lib/commonjs/charts/line/Highlight.js +115 -47
- package/lib/commonjs/charts/line/Highlight.js.map +1 -1
- package/lib/commonjs/charts/line/HorizontalLine.js +92 -40
- package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
- package/lib/commonjs/charts/line/HoverTrap/index.js +10 -7
- package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
- package/lib/commonjs/charts/line/HoverTrap/index.web.js +115 -86
- package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
- package/lib/commonjs/charts/line/LineChartPathContext.js +14 -11
- package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
- package/lib/commonjs/charts/line/Path.js +78 -39
- package/lib/commonjs/charts/line/Path.js.map +1 -1
- package/lib/commonjs/charts/line/PriceText.js +113 -14
- package/lib/commonjs/charts/line/PriceText.js.map +1 -1
- package/lib/commonjs/charts/line/Tooltip.js +236 -106
- package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
- package/lib/commonjs/charts/line/index.js +75 -62
- package/lib/commonjs/charts/line/index.js.map +1 -1
- package/lib/commonjs/charts/line/types.js +4 -4
- package/lib/commonjs/charts/line/useAnimatedPath.js +28 -23
- package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
- package/lib/commonjs/charts/line/useCurrentY.js +17 -17
- package/lib/commonjs/charts/line/useDatetime.js +34 -33
- package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
- package/lib/commonjs/charts/line/useLineChart.js +21 -17
- package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
- package/lib/commonjs/charts/line/usePrice.js +30 -28
- package/lib/commonjs/charts/line/usePrice.js.map +1 -1
- package/lib/commonjs/charts/line/utils/getArea.js +48 -20
- package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
- package/lib/commonjs/charts/line/utils/getDomain.js +5 -7
- package/lib/commonjs/charts/line/utils/getPath.js +54 -20
- package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
- package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +8 -5
- package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -1
- package/lib/commonjs/charts/line/utils/index.js +19 -19
- package/lib/commonjs/charts/line/utils/interpolatePath.js +102 -62
- package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +5 -5
- package/lib/commonjs/components/AnimatedText.js +66 -39
- package/lib/commonjs/components/AnimatedText.js.map +1 -1
- package/lib/commonjs/index.js +27 -16
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils/formatDatetime.js +5 -9
- package/lib/commonjs/utils/formatPrice.js +13 -9
- package/lib/commonjs/utils/formatPrice.js.map +1 -1
- package/lib/commonjs/utils/index.js +13 -13
- package/lib/commonjs/utils/usePrevious.js +10 -9
- package/lib/commonjs/utils/usePrevious.js.map +1 -1
- package/lib/module/charts/candle/Candle.js +126 -76
- package/lib/module/charts/candle/Candle.js.map +1 -1
- package/lib/module/charts/candle/Candles.js +53 -34
- package/lib/module/charts/candle/Candles.js.map +1 -1
- package/lib/module/charts/candle/Chart.js +23 -20
- package/lib/module/charts/candle/Chart.js.map +1 -1
- package/lib/module/charts/candle/Context.js +53 -23
- package/lib/module/charts/candle/Context.js.map +1 -1
- package/lib/module/charts/candle/Crosshair.js +151 -69
- package/lib/module/charts/candle/Crosshair.js.map +1 -1
- package/lib/module/charts/candle/CrosshairTooltip.js +102 -52
- package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
- package/lib/module/charts/candle/DatetimeText.js +5 -5
- package/lib/module/charts/candle/Line.js +37 -19
- package/lib/module/charts/candle/PriceText.js +5 -5
- package/lib/module/charts/candle/PriceText.js.map +1 -1
- 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 +3 -7
- package/lib/module/charts/candle/useCandlestickChart.js +2 -2
- package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
- package/lib/module/charts/candle/useDatetime.js +10 -12
- package/lib/module/charts/candle/useDatetime.js.map +1 -1
- package/lib/module/charts/candle/usePrice.js +12 -14
- package/lib/module/charts/candle/usePrice.js.map +1 -1
- package/lib/module/charts/candle/utils/getDomain.js +2 -5
- package/lib/module/charts/candle/utils/getHeight.js +8 -7
- package/lib/module/charts/candle/utils/getPrice.js +2 -6
- package/lib/module/charts/candle/utils/getY.js +2 -6
- package/lib/module/charts/candle/utils/index.js +1 -1
- package/lib/module/charts/line/Axis.js +349 -0
- package/lib/module/charts/line/Axis.js.map +1 -0
- package/lib/module/charts/line/Chart.js +82 -46
- package/lib/module/charts/line/Chart.js.map +1 -1
- package/lib/module/charts/line/ChartPath.js +246 -77
- package/lib/module/charts/line/ChartPath.js.map +1 -1
- package/lib/module/charts/line/Context.js +65 -32
- package/lib/module/charts/line/Context.js.map +1 -1
- package/lib/module/charts/line/Cursor.js +86 -60
- package/lib/module/charts/line/Cursor.js.map +1 -1
- package/lib/module/charts/line/CursorCrosshair.js +118 -50
- package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/module/charts/line/CursorLine.js +210 -33
- package/lib/module/charts/line/CursorLine.js.map +1 -1
- package/lib/module/charts/line/Data.js +41 -28
- package/lib/module/charts/line/Data.js.map +1 -1
- package/lib/module/charts/line/DatetimeText.js +14 -6
- package/lib/module/charts/line/DatetimeText.js.map +1 -1
- package/lib/module/charts/line/Dot.js +95 -41
- package/lib/module/charts/line/Dot.js.map +1 -1
- package/lib/module/charts/line/Gradient.js +80 -42
- package/lib/module/charts/line/Gradient.js.map +1 -1
- package/lib/module/charts/line/Group.js +15 -14
- package/lib/module/charts/line/Highlight.js +62 -32
- package/lib/module/charts/line/Highlight.js.map +1 -1
- package/lib/module/charts/line/HorizontalLine.js +49 -27
- package/lib/module/charts/line/HorizontalLine.js.map +1 -1
- package/lib/module/charts/line/HoverTrap/index.js +3 -2
- package/lib/module/charts/line/HoverTrap/index.web.js +102 -76
- package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
- package/lib/module/charts/line/LineChartPathContext.js +3 -3
- package/lib/module/charts/line/Path.js +34 -27
- package/lib/module/charts/line/Path.js.map +1 -1
- package/lib/module/charts/line/PriceText.js +80 -6
- package/lib/module/charts/line/PriceText.js.map +1 -1
- package/lib/module/charts/line/Tooltip.js +202 -94
- package/lib/module/charts/line/Tooltip.js.map +1 -1
- package/lib/module/charts/line/index.js +6 -3
- package/lib/module/charts/line/index.js.map +1 -1
- package/lib/module/charts/line/types.js +1 -1
- package/lib/module/charts/line/useAnimatedPath.js +22 -16
- package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
- package/lib/module/charts/line/useCurrentY.js +4 -9
- package/lib/module/charts/line/useDatetime.js +28 -27
- package/lib/module/charts/line/useDatetime.js.map +1 -1
- package/lib/module/charts/line/useLineChart.js +11 -8
- package/lib/module/charts/line/useLineChart.js.map +1 -1
- package/lib/module/charts/line/usePrice.js +24 -22
- package/lib/module/charts/line/usePrice.js.map +1 -1
- package/lib/module/charts/line/utils/getArea.js +16 -11
- package/lib/module/charts/line/utils/getArea.js.map +1 -1
- package/lib/module/charts/line/utils/getDomain.js +2 -4
- package/lib/module/charts/line/utils/getPath.js +22 -11
- package/lib/module/charts/line/utils/getPath.js.map +1 -1
- package/lib/module/charts/line/utils/getXPositionForCurve.js +5 -2
- package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -1
- package/lib/module/charts/line/utils/index.js +1 -1
- package/lib/module/charts/line/utils/interpolatePath.js +99 -59
- package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js +2 -2
- package/lib/module/components/AnimatedText.js +24 -30
- package/lib/module/components/AnimatedText.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/formatDatetime.js +2 -6
- package/lib/module/utils/formatPrice.js +10 -6
- package/lib/module/utils/formatPrice.js.map +1 -1
- package/lib/module/utils/index.js +1 -1
- package/lib/module/utils/usePrevious.js +2 -2
- package/lib/module/utils/usePrevious.js.map +1 -1
- package/lib/typescript/src/charts/candle/Candle.d.ts +45 -31
- package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/Candles.d.ts +25 -14
- package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/Chart.d.ts +13 -8
- package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/Context.d.ts +15 -8
- package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/Crosshair.d.ts +18 -10
- package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +16 -9
- package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/DatetimeText.d.ts +16 -10
- package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/Line.d.ts +10 -5
- package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/PriceText.d.ts +15 -8
- package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/index.d.ts +32 -14
- package/lib/typescript/src/charts/candle/index.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/types.d.ts +16 -19
- package/lib/typescript/src/charts/candle/types.d.ts.map +1 -1
- 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 +14 -10
- package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/usePrice.d.ts +13 -8
- package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -1
- package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -1
- package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +9 -5
- package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +9 -5
- package/lib/typescript/src/charts/candle/utils/getY.d.ts +9 -5
- package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -1
- package/lib/typescript/src/charts/line/Axis.d.ts +33 -0
- package/lib/typescript/src/charts/line/Axis.d.ts.map +1 -0
- package/lib/typescript/src/charts/line/Chart.d.ts +33 -23
- package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/ChartPath.d.ts +29 -16
- package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Context.d.ts +17 -10
- package/lib/typescript/src/charts/line/Context.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Cursor.d.ts +23 -13
- package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +24 -12
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/CursorLine.d.ts +19 -8
- package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Data.d.ts +17 -13
- package/lib/typescript/src/charts/line/DatetimeText.d.ts +15 -9
- package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Dot.d.ts +39 -26
- package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Gradient.d.ts +9 -5
- package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Group.d.ts +6 -3
- package/lib/typescript/src/charts/line/Highlight.d.ts +17 -9
- package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/HorizontalLine.d.ts +30 -26
- package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +1 -1
- package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +2 -2
- package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +4 -4
- package/lib/typescript/src/charts/line/Path.d.ts +28 -23
- package/lib/typescript/src/charts/line/Path.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/PriceText.d.ts +29 -13
- package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/Tooltip.d.ts +34 -22
- package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/index.d.ts +34 -20
- package/lib/typescript/src/charts/line/index.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/types.d.ts +19 -18
- package/lib/typescript/src/charts/line/types.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +10 -7
- package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/useCurrentY.d.ts +2 -2
- package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/useDatetime.d.ts +12 -8
- package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/useLineChart.d.ts +10 -10
- package/lib/typescript/src/charts/line/usePrice.d.ts +12 -8
- package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/utils/getArea.d.ts +17 -9
- package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -1
- package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -1
- package/lib/typescript/src/charts/line/utils/getPath.d.ts +21 -11
- package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -1
- 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 +17 -5
- package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +4 -2
- package/lib/typescript/src/components/AnimatedText.d.ts +7 -4
- package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +8 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/formatDatetime.d.ts +9 -5
- package/lib/typescript/src/utils/formatPrice.d.ts +9 -5
- package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +1 -1
- package/lib/typescript/src/utils/usePrevious.d.ts +1 -1
- package/package.json +19 -43
- package/src/charts/candle/Candle.tsx +2 -17
- package/src/charts/candle/Candles.tsx +1 -3
- package/src/charts/candle/Chart.tsx +1 -1
- package/src/charts/candle/Context.tsx +30 -7
- package/src/charts/candle/Crosshair.tsx +20 -8
- package/src/charts/candle/CrosshairTooltip.tsx +3 -1
- package/src/charts/candle/DatetimeText.tsx +1 -1
- package/src/charts/candle/PriceText.tsx +2 -1
- package/src/charts/candle/types.ts +1 -7
- package/src/charts/candle/useCandlestickChart.ts +1 -1
- package/src/charts/candle/useDatetime.ts +3 -1
- package/src/charts/candle/usePrice.ts +5 -1
- package/src/charts/line/Axis.tsx +363 -0
- package/src/charts/line/Chart.tsx +10 -7
- package/src/charts/line/ChartPath.tsx +77 -18
- package/src/charts/line/Context.tsx +29 -18
- package/src/charts/line/Cursor.tsx +15 -11
- package/src/charts/line/CursorCrosshair.tsx +27 -8
- package/src/charts/line/CursorLine.tsx +177 -18
- package/src/charts/line/Data.tsx +6 -4
- package/src/charts/line/DatetimeText.tsx +12 -3
- package/src/charts/line/Dot.tsx +2 -2
- package/src/charts/line/Gradient.tsx +2 -5
- package/src/charts/line/Highlight.tsx +8 -4
- package/src/charts/line/HorizontalLine.tsx +2 -8
- package/src/charts/line/HoverTrap/index.web.tsx +93 -60
- package/src/charts/line/Path.tsx +10 -17
- package/src/charts/line/PriceText.tsx +74 -4
- package/src/charts/line/Tooltip.tsx +129 -63
- package/src/charts/line/index.ts +4 -1
- package/src/charts/line/types.ts +1 -2
- package/src/charts/line/useAnimatedPath.ts +1 -2
- package/src/charts/line/useDatetime.ts +13 -10
- package/src/charts/line/useLineChart.ts +1 -1
- package/src/charts/line/usePrice.ts +6 -4
- package/src/charts/line/utils/getArea.ts +12 -10
- package/src/charts/line/utils/getPath.ts +13 -10
- package/src/charts/line/utils/getXPositionForCurve.ts +1 -1
- package/src/charts/line/utils/interpolatePath.ts +2 -2
- package/src/components/AnimatedText.tsx +13 -20
- package/src/index.ts +1 -0
- package/src/types.ts +7 -0
- package/src/utils/formatPrice.ts +7 -7
- package/src/utils/usePrevious.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import Animated, { runOnJS } from 'react-native-reanimated';
|
|
3
3
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
4
4
|
import { LineChartDimensionsContext } from './Chart';
|
|
@@ -7,8 +7,8 @@ import { bisectCenter } from 'd3-array';
|
|
|
7
7
|
import { scaleLinear } from 'd3-scale';
|
|
8
8
|
import { useLineChart } from './useLineChart';
|
|
9
9
|
import { useEffect } from 'react';
|
|
10
|
-
export const CursorContext = /*#__PURE__*/React.createContext({
|
|
11
|
-
type: ''
|
|
10
|
+
export const CursorContext = /*#__PURE__*/ React.createContext({
|
|
11
|
+
type: '',
|
|
12
12
|
});
|
|
13
13
|
LineChartCursor.displayName = 'LineChartCursor';
|
|
14
14
|
export function LineChartCursor({
|
|
@@ -19,31 +19,23 @@ export function LineChartCursor({
|
|
|
19
19
|
shouldCancelWhenOutside = false,
|
|
20
20
|
minDurationMs = 0,
|
|
21
21
|
onActivated,
|
|
22
|
-
onEnded
|
|
22
|
+
onEnded,
|
|
23
23
|
}) {
|
|
24
|
-
const {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} =
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
data,
|
|
33
|
-
xDomain
|
|
34
|
-
} = useLineChart();
|
|
35
|
-
const xValues = React.useMemo(() => (data ?? []).map(({
|
|
36
|
-
timestamp
|
|
37
|
-
}, i) => xDomain ? timestamp : i), [data, xDomain]);
|
|
24
|
+
const { pathWidth: width, parsedPath } = React.useContext(
|
|
25
|
+
LineChartDimensionsContext
|
|
26
|
+
);
|
|
27
|
+
const { currentX, currentIndex, isActive, data, xDomain } = useLineChart();
|
|
28
|
+
const xValues = React.useMemo(
|
|
29
|
+
() => (data ?? []).map(({ timestamp }, i) => (xDomain ? timestamp : i)),
|
|
30
|
+
[data, xDomain]
|
|
31
|
+
);
|
|
38
32
|
|
|
39
33
|
// Same scale as in /src/charts/line/utils/getPath.ts
|
|
40
34
|
const scaleX = React.useMemo(() => {
|
|
41
35
|
const domainArray = xDomain ?? [0, xValues.length];
|
|
42
36
|
return scaleLinear().domain(domainArray).range([0, width]);
|
|
43
37
|
}, [width, xDomain, xValues.length]);
|
|
44
|
-
const linearScalePositionAndIndex = ({
|
|
45
|
-
xPosition
|
|
46
|
-
}) => {
|
|
38
|
+
const linearScalePositionAndIndex = ({ xPosition }) => {
|
|
47
39
|
if (!parsedPath) {
|
|
48
40
|
return;
|
|
49
41
|
}
|
|
@@ -52,8 +44,15 @@ export function LineChartCursor({
|
|
|
52
44
|
const xRelative = scaleX.invert(xPosition);
|
|
53
45
|
const closestIndex = bisectCenter(xValues, xRelative);
|
|
54
46
|
const pathDataDelta = Math.abs(parsedPath.curves.length - xValues.length); // sometimes there is a difference between data length and number of path curves.
|
|
55
|
-
const closestPathCurve = Math.max(
|
|
56
|
-
|
|
47
|
+
const closestPathCurve = Math.max(
|
|
48
|
+
Math.min(closestIndex, parsedPath.curves.length + 1) - pathDataDelta,
|
|
49
|
+
0
|
|
50
|
+
);
|
|
51
|
+
const curveSegment =
|
|
52
|
+
closestIndex > 0 && parsedPath.curves[closestPathCurve]
|
|
53
|
+
? parsedPath.curves[closestPathCurve]
|
|
54
|
+
: null;
|
|
55
|
+
const newXPosition = (curveSegment ? curveSegment.to : parsedPath.move).x;
|
|
57
56
|
// Update values
|
|
58
57
|
currentIndex.value = closestIndex;
|
|
59
58
|
currentX.value = newXPosition;
|
|
@@ -62,12 +61,12 @@ export function LineChartCursor({
|
|
|
62
61
|
if (at !== undefined) {
|
|
63
62
|
const xPosition = scaleX(at);
|
|
64
63
|
runOnJS(linearScalePositionAndIndex)({
|
|
65
|
-
xPosition
|
|
64
|
+
xPosition,
|
|
66
65
|
});
|
|
67
66
|
isActive.value = true;
|
|
68
67
|
}
|
|
69
68
|
}, [at, scaleX]);
|
|
70
|
-
const updatePosition = xPosition => {
|
|
69
|
+
const updatePosition = (xPosition) => {
|
|
71
70
|
'worklet';
|
|
72
71
|
|
|
73
72
|
if (parsedPath) {
|
|
@@ -75,11 +74,14 @@ export function LineChartCursor({
|
|
|
75
74
|
// so we clamp the index at 0 to fix it
|
|
76
75
|
// https://github.com/coinjar/react-native-wagmi-charts/issues/24
|
|
77
76
|
const minIndex = 0;
|
|
78
|
-
const boundedIndex = Math.max(
|
|
77
|
+
const boundedIndex = Math.max(
|
|
78
|
+
minIndex,
|
|
79
|
+
Math.round(xPosition / width / (1 / (data ? data.length - 1 : 1)))
|
|
80
|
+
);
|
|
79
81
|
if (snapToPoint) {
|
|
80
82
|
// We have to run this on the JS thread unfortunately as the scaleLinear functions won't work on UI thread
|
|
81
83
|
runOnJS(linearScalePositionAndIndex)({
|
|
82
|
-
xPosition
|
|
84
|
+
xPosition,
|
|
83
85
|
});
|
|
84
86
|
} else if (!snapToPoint) {
|
|
85
87
|
currentX.value = xPosition;
|
|
@@ -87,41 +89,65 @@ export function LineChartCursor({
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
};
|
|
90
|
-
const longPressGesture = Gesture.LongPress()
|
|
91
|
-
|
|
92
|
+
const longPressGesture = Gesture.LongPress()
|
|
93
|
+
.minDuration(minDurationMs ?? 0)
|
|
94
|
+
.maxDistance(999999)
|
|
95
|
+
.shouldCancelWhenOutside(shouldCancelWhenOutside)
|
|
96
|
+
.onStart((event) => {
|
|
97
|
+
'worklet';
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
if (parsedPath) {
|
|
100
|
+
const xPosition = Math.max(0, event.x <= width ? event.x : width);
|
|
101
|
+
isActive.value = true;
|
|
102
|
+
updatePosition(xPosition);
|
|
103
|
+
if (onActivated) {
|
|
104
|
+
runOnJS(onActivated)();
|
|
105
|
+
}
|
|
99
106
|
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
})
|
|
108
|
+
.onTouchesMove((event) => {
|
|
109
|
+
'worklet';
|
|
103
110
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
111
|
+
if (
|
|
112
|
+
parsedPath &&
|
|
113
|
+
isActive.value &&
|
|
114
|
+
event.allTouches.length > 0 &&
|
|
115
|
+
event.allTouches[0]
|
|
116
|
+
) {
|
|
117
|
+
const touchX = event.allTouches[0].x;
|
|
118
|
+
const xPosition = Math.max(0, touchX <= width ? touchX : width);
|
|
119
|
+
updatePosition(xPosition);
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
.onEnd(() => {
|
|
123
|
+
'worklet';
|
|
110
124
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return /*#__PURE__*/React.createElement(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
isActive.value = false;
|
|
126
|
+
currentIndex.value = -1;
|
|
127
|
+
if (onEnded) {
|
|
128
|
+
runOnJS(onEnded)();
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
return /*#__PURE__*/ React.createElement(
|
|
132
|
+
CursorContext.Provider,
|
|
133
|
+
{
|
|
134
|
+
value: {
|
|
135
|
+
type,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
/*#__PURE__*/ React.createElement(
|
|
139
|
+
GestureDetector,
|
|
140
|
+
{
|
|
141
|
+
gesture: longPressGesture,
|
|
142
|
+
},
|
|
143
|
+
/*#__PURE__*/ React.createElement(
|
|
144
|
+
Animated.View,
|
|
145
|
+
{
|
|
146
|
+
style: StyleSheet.absoluteFill,
|
|
147
|
+
},
|
|
148
|
+
children
|
|
149
|
+
)
|
|
150
|
+
)
|
|
151
|
+
);
|
|
126
152
|
}
|
|
127
|
-
//# sourceMappingURL=Cursor.js.map
|
|
153
|
+
//# sourceMappingURL=Cursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","runOnJS","Gesture","GestureDetector","LineChartDimensionsContext","StyleSheet","bisectCenter","scaleLinear","useLineChart","useEffect","CursorContext","createContext","type","LineChartCursor","displayName","children","snapToPoint","at","shouldCancelWhenOutside","minDurationMs","onActivated","onEnded","pathWidth","width","parsedPath","useContext","currentX","currentIndex","isActive","data","xDomain","xValues","useMemo","map","timestamp","i","scaleX","domainArray","length","domain","range","linearScalePositionAndIndex","xPosition","xRelative","invert","closestIndex","pathDataDelta","Math","abs","curves","closestPathCurve","max","min","newXPosition","to","move","x","value","undefined","updatePosition","minIndex","boundedIndex","round","longPressGesture","LongPress","minDuration","maxDistance","onStart","event","onTouchesMove","allTouches","onEnd","createElement","Provider","gesture","View","style","absoluteFill"],"sourceRoot":"../../../../src","sources":["charts/line/Cursor.tsx"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["React","Animated","runOnJS","Gesture","GestureDetector","LineChartDimensionsContext","StyleSheet","bisectCenter","scaleLinear","useLineChart","useEffect","CursorContext","createContext","type","LineChartCursor","displayName","children","snapToPoint","at","shouldCancelWhenOutside","minDurationMs","onActivated","onEnded","pathWidth","width","parsedPath","useContext","currentX","currentIndex","isActive","data","xDomain","xValues","useMemo","map","timestamp","i","scaleX","domainArray","length","domain","range","linearScalePositionAndIndex","xPosition","xRelative","invert","closestIndex","pathDataDelta","Math","abs","curves","closestPathCurve","max","min","curveSegment","newXPosition","to","move","x","value","undefined","updatePosition","minIndex","boundedIndex","round","longPressGesture","LongPress","minDuration","maxDistance","onStart","event","onTouchesMove","allTouches","touchX","onEnd","createElement","Provider","gesture","View","style","absoluteFill"],"sourceRoot":"../../../../src","sources":["charts/line/Cursor.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,32 @@
|
|
|
1
|
-
function _extends() {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
+
}
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import { Platform, View, StyleSheet } from 'react-native';
|
|
17
|
+
import Animated, {
|
|
18
|
+
useAnimatedStyle,
|
|
19
|
+
withSpring,
|
|
20
|
+
} from 'react-native-reanimated';
|
|
5
21
|
import { LineChartCursor } from './Cursor';
|
|
6
22
|
import { useLineChart } from './useLineChart';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Delay in milliseconds before enabling spring animations on Android. This
|
|
26
|
+
* prevents crashes that can occur when spring animations are enabled on initial
|
|
27
|
+
* render.
|
|
28
|
+
*/
|
|
29
|
+
const ANDROID_SPRING_ANIMATION_DELAY_MS = 100;
|
|
7
30
|
LineChartCursorCrosshair.displayName = 'LineChartCursorCrosshair';
|
|
8
31
|
export function LineChartCursorCrosshair({
|
|
9
32
|
children,
|
|
@@ -15,55 +38,100 @@ export function LineChartCursorCrosshair({
|
|
|
15
38
|
crosshairOuterProps = {},
|
|
16
39
|
...props
|
|
17
40
|
}) {
|
|
18
|
-
const {
|
|
19
|
-
currentX,
|
|
20
|
-
currentY,
|
|
21
|
-
isActive
|
|
22
|
-
} = useLineChart();
|
|
41
|
+
const { currentX, currentY, isActive } = useLineChart();
|
|
23
42
|
|
|
24
43
|
// It seems that enabling spring animation on initial render on Android causes a crash.
|
|
25
|
-
const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(
|
|
44
|
+
const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(
|
|
45
|
+
Platform.OS === 'ios'
|
|
46
|
+
);
|
|
26
47
|
React.useEffect(() => {
|
|
27
|
-
setTimeout(() => {
|
|
48
|
+
const timer = setTimeout(() => {
|
|
28
49
|
setEnableSpringAnimation(true);
|
|
29
|
-
},
|
|
50
|
+
}, ANDROID_SPRING_ANIMATION_DELAY_MS);
|
|
51
|
+
return () => clearTimeout(timer);
|
|
30
52
|
}, []);
|
|
31
|
-
const animatedCursorStyle = useAnimatedStyle(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
53
|
+
const animatedCursorStyle = useAnimatedStyle(
|
|
54
|
+
() => ({
|
|
55
|
+
transform: [
|
|
56
|
+
{
|
|
57
|
+
translateX: currentX.value - outerSize / 2,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
translateY: currentY.value - outerSize / 2,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
scale: enableSpringAnimation
|
|
64
|
+
? withSpring(isActive.value ? 1 : 0, {
|
|
65
|
+
damping: 10,
|
|
66
|
+
})
|
|
67
|
+
: 0,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
}),
|
|
71
|
+
[currentX, currentY, enableSpringAnimation, isActive, outerSize]
|
|
72
|
+
);
|
|
73
|
+
return /*#__PURE__*/ React.createElement(
|
|
74
|
+
LineChartCursor,
|
|
75
|
+
_extends(
|
|
76
|
+
{
|
|
77
|
+
type: 'crosshair',
|
|
78
|
+
},
|
|
79
|
+
props
|
|
80
|
+
),
|
|
81
|
+
/*#__PURE__*/ React.createElement(
|
|
82
|
+
Animated.View,
|
|
83
|
+
_extends({}, crosshairWrapperProps, {
|
|
84
|
+
style: [
|
|
85
|
+
styles.crosshairWrapper,
|
|
86
|
+
{
|
|
87
|
+
width: outerSize,
|
|
88
|
+
height: outerSize,
|
|
89
|
+
},
|
|
90
|
+
animatedCursorStyle,
|
|
91
|
+
crosshairWrapperProps.style,
|
|
92
|
+
],
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ React.createElement(
|
|
95
|
+
View,
|
|
96
|
+
_extends({}, crosshairOuterProps, {
|
|
97
|
+
style: [
|
|
98
|
+
styles.crosshairOuter,
|
|
99
|
+
{
|
|
100
|
+
backgroundColor: color,
|
|
101
|
+
width: outerSize,
|
|
102
|
+
height: outerSize,
|
|
103
|
+
borderRadius: outerSize,
|
|
104
|
+
},
|
|
105
|
+
crosshairOuterProps.style,
|
|
106
|
+
],
|
|
107
|
+
})
|
|
108
|
+
),
|
|
109
|
+
/*#__PURE__*/ React.createElement(
|
|
110
|
+
View,
|
|
111
|
+
_extends({}, crosshairProps, {
|
|
112
|
+
style: [
|
|
113
|
+
{
|
|
114
|
+
backgroundColor: color,
|
|
115
|
+
width: size,
|
|
116
|
+
height: size,
|
|
117
|
+
borderRadius: size,
|
|
118
|
+
},
|
|
119
|
+
crosshairProps.style,
|
|
120
|
+
],
|
|
121
|
+
})
|
|
122
|
+
)
|
|
123
|
+
),
|
|
124
|
+
children
|
|
125
|
+
);
|
|
68
126
|
}
|
|
69
|
-
|
|
127
|
+
const styles = StyleSheet.create({
|
|
128
|
+
crosshairWrapper: {
|
|
129
|
+
alignItems: 'center',
|
|
130
|
+
justifyContent: 'center',
|
|
131
|
+
},
|
|
132
|
+
crosshairOuter: {
|
|
133
|
+
opacity: 0.1,
|
|
134
|
+
position: 'absolute',
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=CursorCrosshair.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","LineChartCursorCrosshair","displayName","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","enableSpringAnimation","setEnableSpringAnimation","useState","OS","useEffect","setTimeout","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","createElement","_extends","type","style","
|
|
1
|
+
{"version":3,"names":["React","Platform","View","StyleSheet","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","ANDROID_SPRING_ANIMATION_DELAY_MS","LineChartCursorCrosshair","displayName","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","enableSpringAnimation","setEnableSpringAnimation","useState","OS","useEffect","timer","setTimeout","clearTimeout","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","createElement","_extends","type","style","styles","crosshairWrapper","width","height","crosshairOuter","backgroundColor","borderRadius","create","alignItems","justifyContent","opacity","position"],"sourceRoot":"../../../../src","sources":["charts/line/CursorCrosshair.tsx"],"mappings":"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","ignoreList":[]}
|