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,53 +1,230 @@
|
|
|
1
|
-
function _extends() {
|
|
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
|
+
}
|
|
2
15
|
import React from 'react';
|
|
3
16
|
import { StyleSheet } from 'react-native';
|
|
4
|
-
import Animated, {
|
|
17
|
+
import Animated, {
|
|
18
|
+
useAnimatedStyle,
|
|
19
|
+
useDerivedValue,
|
|
20
|
+
useAnimatedProps,
|
|
21
|
+
} from 'react-native-reanimated';
|
|
5
22
|
import Svg, { Line as SVGLine } from 'react-native-svg';
|
|
23
|
+
import { AnimatedText } from '../../components/AnimatedText';
|
|
6
24
|
import { LineChartDimensionsContext } from './Chart';
|
|
7
25
|
import { LineChartCursor } from './Cursor';
|
|
26
|
+
import { useLineChartDatetime } from './useDatetime';
|
|
8
27
|
import { useLineChart } from './useLineChart';
|
|
28
|
+
import { useLineChartPrice } from './usePrice';
|
|
9
29
|
LineChartCursorLine.displayName = 'LineChartCursorLine';
|
|
30
|
+
const TEXT_CONSTANTS = {
|
|
31
|
+
DEFAULT_COLOR: '#1A1E27',
|
|
32
|
+
DEFAULT_FONT_SIZE: 12,
|
|
33
|
+
CHAR_WIDTH_RATIO: 0.6,
|
|
34
|
+
MIN_WIDTH: 25,
|
|
35
|
+
MAX_WIDTH: 150,
|
|
36
|
+
INPUT_PADDING: 4,
|
|
37
|
+
};
|
|
38
|
+
const SPACING = {
|
|
39
|
+
VERTICAL_TEXT_OFFSET: 40,
|
|
40
|
+
HORIZONTAL_TEXT_MARGIN: 8,
|
|
41
|
+
HORIZONTAL_RIGHT_MARGIN: 16,
|
|
42
|
+
BASE_LINE_GAP: 8,
|
|
43
|
+
X_AXIS_LABEL_RESERVED_HEIGHT: 40, // Reserved space at bottom for x-axis labels
|
|
44
|
+
};
|
|
45
|
+
const AnimatedLine = Animated.createAnimatedComponent(SVGLine);
|
|
10
46
|
export function LineChartCursorLine({
|
|
11
47
|
children,
|
|
12
48
|
color = 'gray',
|
|
13
49
|
lineProps,
|
|
50
|
+
format,
|
|
51
|
+
textStyle,
|
|
14
52
|
...cursorProps
|
|
15
53
|
}) {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
} =
|
|
19
|
-
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
const
|
|
54
|
+
const isHorizontal = cursorProps?.orientation === 'horizontal';
|
|
55
|
+
const { height, width } = React.useContext(LineChartDimensionsContext);
|
|
56
|
+
const { currentX, currentY, isActive } = useLineChart();
|
|
57
|
+
const price = useLineChartPrice({
|
|
58
|
+
format: isHorizontal ? format : undefined,
|
|
59
|
+
precision: 2,
|
|
60
|
+
});
|
|
61
|
+
const datetime = useLineChartDatetime({
|
|
62
|
+
format: !isHorizontal ? format : undefined,
|
|
63
|
+
});
|
|
64
|
+
const displayText = isHorizontal ? price.formatted : datetime.formatted;
|
|
65
|
+
const calculateTextWidth = (text, fontSize) => {
|
|
66
|
+
'worklet';
|
|
67
|
+
|
|
68
|
+
const charWidth = fontSize * TEXT_CONSTANTS.CHAR_WIDTH_RATIO;
|
|
69
|
+
const calculatedWidth = text.length * charWidth;
|
|
70
|
+
return Math.max(
|
|
71
|
+
TEXT_CONSTANTS.MIN_WIDTH,
|
|
72
|
+
Math.min(TEXT_CONSTANTS.MAX_WIDTH, calculatedWidth)
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
const textWidth = useDerivedValue(() => {
|
|
76
|
+
const text = displayText.value;
|
|
77
|
+
if (!text) return TEXT_CONSTANTS.MIN_WIDTH;
|
|
78
|
+
const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
|
|
79
|
+
return calculateTextWidth(text, fontSize);
|
|
80
|
+
}, [displayText, textStyle?.fontSize]);
|
|
81
|
+
const lineEndX = useDerivedValue(() => {
|
|
82
|
+
if (!isHorizontal) return 0;
|
|
83
|
+
const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
|
|
84
|
+
const gap = Math.max(SPACING.BASE_LINE_GAP, fontSize * 0.5);
|
|
85
|
+
return (
|
|
86
|
+
width -
|
|
87
|
+
textWidth.value -
|
|
88
|
+
gap -
|
|
89
|
+
TEXT_CONSTANTS.INPUT_PADDING -
|
|
90
|
+
SPACING.HORIZONTAL_RIGHT_MARGIN
|
|
91
|
+
);
|
|
92
|
+
});
|
|
93
|
+
const lineEndY = useDerivedValue(() => {
|
|
94
|
+
if (isHorizontal) return 0;
|
|
95
|
+
|
|
96
|
+
// For vertical cursor, extend line to the chart area (excluding reserved label space)
|
|
97
|
+
return height - SPACING.X_AXIS_LABEL_RESERVED_HEIGHT;
|
|
98
|
+
});
|
|
99
|
+
const containerStyle = useAnimatedStyle(() => ({
|
|
24
100
|
opacity: isActive.value ? 1 : 0,
|
|
25
101
|
height: '100%',
|
|
26
|
-
transform:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
102
|
+
transform: isHorizontal
|
|
103
|
+
? [
|
|
104
|
+
{
|
|
105
|
+
translateY: currentY.value,
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
: [
|
|
109
|
+
{
|
|
110
|
+
translateX: currentX.value,
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
}));
|
|
114
|
+
const calculateFontSizeAdjustment = (fontSize) => {
|
|
115
|
+
'worklet';
|
|
116
|
+
|
|
117
|
+
return Math.max(0.6, Math.min(0.8, 0.7 + (fontSize - 12) * 0.01));
|
|
118
|
+
};
|
|
119
|
+
const textPositionStyle = useAnimatedStyle(() => {
|
|
120
|
+
const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
|
|
121
|
+
const lineHeight = textStyle?.lineHeight || fontSize * 1.2;
|
|
122
|
+
const baseStyle = {
|
|
123
|
+
position: 'absolute',
|
|
124
|
+
width: textWidth.value,
|
|
125
|
+
fontSize,
|
|
126
|
+
lineHeight,
|
|
127
|
+
color: textStyle?.color || TEXT_CONSTANTS.DEFAULT_COLOR,
|
|
128
|
+
...textStyle,
|
|
129
|
+
};
|
|
130
|
+
if (isHorizontal) {
|
|
131
|
+
const fontSizeAdjustment = calculateFontSizeAdjustment(fontSize);
|
|
132
|
+
const textCenterOffset = -(lineHeight * fontSizeAdjustment);
|
|
133
|
+
return {
|
|
134
|
+
...baseStyle,
|
|
135
|
+
left:
|
|
136
|
+
width -
|
|
137
|
+
textWidth.value -
|
|
138
|
+
SPACING.HORIZONTAL_RIGHT_MARGIN +
|
|
139
|
+
TEXT_CONSTANTS.INPUT_PADDING,
|
|
140
|
+
top: textCenterOffset,
|
|
141
|
+
textAlign: 'right',
|
|
142
|
+
paddingLeft: 0,
|
|
143
|
+
paddingRight: 0,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// For vertical cursor (x-axis label)
|
|
148
|
+
const halfTextWidth = textWidth.value / 2;
|
|
149
|
+
|
|
150
|
+
// Since the container is already translated by currentX, we need to calculate
|
|
151
|
+
// the label position relative to the container's position
|
|
152
|
+
const containerX = currentX.value;
|
|
153
|
+
|
|
154
|
+
// Calculate where the label would be if centered
|
|
155
|
+
let labelLeft = -halfTextWidth;
|
|
156
|
+
|
|
157
|
+
// Check if label would overflow on the left
|
|
158
|
+
if (containerX + labelLeft < 0) {
|
|
159
|
+
labelLeft = -containerX;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Check if label would overflow on the right
|
|
163
|
+
if (containerX + labelLeft + textWidth.value > width) {
|
|
164
|
+
labelLeft = width - containerX - textWidth.value;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Position label in the reserved space at the bottom
|
|
168
|
+
const labelTop =
|
|
169
|
+
height -
|
|
170
|
+
SPACING.X_AXIS_LABEL_RESERVED_HEIGHT +
|
|
171
|
+
SPACING.HORIZONTAL_TEXT_MARGIN;
|
|
172
|
+
return {
|
|
173
|
+
...baseStyle,
|
|
174
|
+
left: labelLeft,
|
|
175
|
+
top: labelTop,
|
|
176
|
+
textAlign: 'center',
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
const lineAnimatedProps = useAnimatedProps(
|
|
180
|
+
() => ({
|
|
181
|
+
x1: 0,
|
|
182
|
+
y1: 0,
|
|
183
|
+
x2: lineEndX.value,
|
|
184
|
+
y2: lineEndY.value,
|
|
185
|
+
}),
|
|
186
|
+
[lineEndX, lineEndY]
|
|
187
|
+
);
|
|
188
|
+
return /*#__PURE__*/ React.createElement(
|
|
189
|
+
LineChartCursor,
|
|
190
|
+
_extends({}, cursorProps, {
|
|
191
|
+
type: 'line',
|
|
192
|
+
}),
|
|
193
|
+
/*#__PURE__*/ React.createElement(
|
|
194
|
+
Animated.View,
|
|
195
|
+
{
|
|
196
|
+
style: containerStyle,
|
|
197
|
+
},
|
|
198
|
+
/*#__PURE__*/ React.createElement(
|
|
199
|
+
Svg,
|
|
200
|
+
{
|
|
201
|
+
style: styles.svg,
|
|
202
|
+
},
|
|
203
|
+
/*#__PURE__*/ React.createElement(
|
|
204
|
+
AnimatedLine,
|
|
205
|
+
_extends(
|
|
206
|
+
{
|
|
207
|
+
animatedProps: lineAnimatedProps,
|
|
208
|
+
strokeWidth: 2,
|
|
209
|
+
stroke: color,
|
|
210
|
+
strokeDasharray: '3 3',
|
|
211
|
+
},
|
|
212
|
+
lineProps
|
|
213
|
+
)
|
|
214
|
+
)
|
|
215
|
+
),
|
|
216
|
+
/*#__PURE__*/ React.createElement(AnimatedText, {
|
|
217
|
+
text: displayText,
|
|
218
|
+
style: textPositionStyle,
|
|
219
|
+
})
|
|
220
|
+
),
|
|
221
|
+
children
|
|
222
|
+
);
|
|
45
223
|
}
|
|
46
224
|
const styles = StyleSheet.create({
|
|
47
225
|
svg: {
|
|
48
226
|
...StyleSheet.absoluteFillObject,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
227
|
+
height: '100%',
|
|
228
|
+
},
|
|
52
229
|
});
|
|
53
|
-
//# sourceMappingURL=CursorLine.js.map
|
|
230
|
+
//# sourceMappingURL=CursorLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","Svg","Line","SVGLine","LineChartDimensionsContext","LineChartCursor","useLineChart","LineChartCursorLine","displayName","children","color","lineProps","cursorProps","height","useContext","currentX","isActive","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","useDerivedValue","useAnimatedProps","Svg","Line","SVGLine","AnimatedText","LineChartDimensionsContext","LineChartCursor","useLineChartDatetime","useLineChart","useLineChartPrice","LineChartCursorLine","displayName","TEXT_CONSTANTS","DEFAULT_COLOR","DEFAULT_FONT_SIZE","CHAR_WIDTH_RATIO","MIN_WIDTH","MAX_WIDTH","INPUT_PADDING","SPACING","VERTICAL_TEXT_OFFSET","HORIZONTAL_TEXT_MARGIN","HORIZONTAL_RIGHT_MARGIN","BASE_LINE_GAP","X_AXIS_LABEL_RESERVED_HEIGHT","AnimatedLine","createAnimatedComponent","children","color","lineProps","format","textStyle","cursorProps","isHorizontal","orientation","height","width","useContext","currentX","currentY","isActive","price","undefined","precision","datetime","displayText","formatted","calculateTextWidth","text","fontSize","charWidth","calculatedWidth","length","Math","max","min","textWidth","value","lineEndX","gap","lineEndY","containerStyle","opacity","transform","translateY","translateX","calculateFontSizeAdjustment","textPositionStyle","lineHeight","baseStyle","position","fontSizeAdjustment","textCenterOffset","left","top","textAlign","paddingLeft","paddingRight","halfTextWidth","containerX","labelLeft","labelTop","lineAnimatedProps","x1","y1","x2","y2","createElement","_extends","type","View","style","styles","svg","animatedProps","strokeWidth","stroke","strokeDasharray","create","absoluteFillObject"],"sourceRoot":"../../../../src","sources":["charts/line/CursorLine.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,50 +1,59 @@
|
|
|
1
1
|
import React, { createContext, useContext, useMemo } from 'react';
|
|
2
2
|
export const DefaultLineChartId = '__LineChartData';
|
|
3
|
-
const LineChartDataContext = /*#__PURE__*/createContext({
|
|
4
|
-
[DefaultLineChartId]: []
|
|
3
|
+
const LineChartDataContext = /*#__PURE__*/ createContext({
|
|
4
|
+
[DefaultLineChartId]: [],
|
|
5
5
|
});
|
|
6
|
-
export function LineChartDataProvider({
|
|
7
|
-
children,
|
|
8
|
-
data
|
|
9
|
-
}) {
|
|
6
|
+
export function LineChartDataProvider({ children, data }) {
|
|
10
7
|
const contextValue = useMemo(() => {
|
|
11
8
|
if (Array.isArray(data)) {
|
|
12
9
|
return {
|
|
13
|
-
[DefaultLineChartId]: data
|
|
10
|
+
[DefaultLineChartId]: data,
|
|
14
11
|
};
|
|
15
12
|
}
|
|
16
13
|
return data;
|
|
17
14
|
}, [data]);
|
|
18
|
-
return /*#__PURE__*/React.createElement(
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
return /*#__PURE__*/ React.createElement(
|
|
16
|
+
LineChartDataContext.Provider,
|
|
17
|
+
{
|
|
18
|
+
value: contextValue,
|
|
19
|
+
},
|
|
20
|
+
children
|
|
21
|
+
);
|
|
21
22
|
}
|
|
22
|
-
const LineChartIdContext = /*#__PURE__*/createContext(undefined);
|
|
23
|
-
export function LineChartIdProvider({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
const LineChartIdContext = /*#__PURE__*/ createContext(undefined);
|
|
24
|
+
export function LineChartIdProvider({ id, children }) {
|
|
25
|
+
return /*#__PURE__*/ React.createElement(
|
|
26
|
+
LineChartIdContext.Provider,
|
|
27
|
+
{
|
|
28
|
+
value: id,
|
|
29
|
+
},
|
|
30
|
+
children
|
|
31
|
+
);
|
|
30
32
|
}
|
|
31
33
|
export const useLineChartId = () => useContext(LineChartIdContext);
|
|
32
|
-
export function useLineChartData({
|
|
33
|
-
id
|
|
34
|
-
}) {
|
|
34
|
+
export function useLineChartData({ id }) {
|
|
35
35
|
const dataContext = useContext(LineChartDataContext);
|
|
36
36
|
validateLineChartId(dataContext, id);
|
|
37
37
|
const data = dataContext[id || DefaultLineChartId];
|
|
38
|
-
return useMemo(
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
return useMemo(
|
|
39
|
+
() => ({
|
|
40
|
+
data,
|
|
41
|
+
}),
|
|
42
|
+
[data]
|
|
43
|
+
);
|
|
41
44
|
}
|
|
42
45
|
function validateLineChartId(dataContext, id) {
|
|
43
46
|
if (id != null && !dataContext[id]) {
|
|
44
|
-
const otherIds = Object.keys(dataContext).filter(
|
|
47
|
+
const otherIds = Object.keys(dataContext).filter(
|
|
48
|
+
(otherId) => otherId !== DefaultLineChartId
|
|
49
|
+
);
|
|
45
50
|
const singular = otherIds.length <= 1;
|
|
46
51
|
const joinedIds = otherIds.join(', ');
|
|
47
|
-
const suggestion = otherIds.length
|
|
52
|
+
const suggestion = otherIds.length
|
|
53
|
+
? `Did you mean to use ${
|
|
54
|
+
singular ? 'this ID' : 'one of these IDs'
|
|
55
|
+
}: ${joinedIds}`
|
|
56
|
+
: `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
|
|
48
57
|
console.warn(`[react-native-wagmi-charts] Invalid usage of "id" prop on LineChart. You passed id="${id}", but this ID does not exist in your <LineChart.Provider />'s "data" prop.
|
|
49
58
|
|
|
50
59
|
${suggestion}`);
|
|
@@ -52,11 +61,15 @@ ${suggestion}`);
|
|
|
52
61
|
const otherIds = Object.keys(dataContext);
|
|
53
62
|
const singular = otherIds.length <= 1;
|
|
54
63
|
const joinedIds = otherIds.join(', ');
|
|
55
|
-
const suggestion = otherIds.length
|
|
64
|
+
const suggestion = otherIds.length
|
|
65
|
+
? `Did you mean to use ${
|
|
66
|
+
singular ? 'this ID' : 'one of these IDs'
|
|
67
|
+
}: ${joinedIds}`
|
|
68
|
+
: `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
|
|
56
69
|
console.error(`[react-native-wagmi-charts] Missing data "id" prop on LineChart. You must pass an id prop to <LineChart /> when using a dictionary for your data.
|
|
57
70
|
|
|
58
71
|
${suggestion}
|
|
59
72
|
`);
|
|
60
73
|
}
|
|
61
74
|
}
|
|
62
|
-
//# sourceMappingURL=Data.js.map
|
|
75
|
+
//# sourceMappingURL=Data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useMemo","DefaultLineChartId","LineChartDataContext","LineChartDataProvider","children","data","contextValue","Array","isArray","createElement","Provider","value","LineChartIdContext","undefined","LineChartIdProvider","id","useLineChartId","useLineChartData","dataContext","validateLineChartId","otherIds","Object","keys","filter","otherId","singular","length","joinedIds","join","suggestion","console","warn","error"],"sourceRoot":"../../../../src","sources":["charts/line/Data.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAKjE,OAAO,MAAMC,kBAAkB,GAAG,iBAAiB;AAMnD,MAAMC,oBAAoB,gBAAGJ,aAAa,CAAuB;EAC/D,CAACG,kBAAkB,GAAG;AACxB,CAAC,CAAC;AAOF,OAAO,SAASE,qBAAqBA,CAAC;EACpCC,QAAQ;EACRC;AAC0B,CAAC,EAAE;EAC7B,MAAMC,YAAY,GAAGN,OAAO,CAAuB,MAAM;IACvD,IAAIO,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE;MACvB,OAAO;QACL,CAACJ,kBAAkB,GAAGI;MACxB,CAAC;IACH;IACA,OAAOA,IAAI;EACb,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACER,KAAA,CAAAY,aAAA,CAACP,oBAAoB,CAACQ,QAAQ;IAACC,KAAK,EAAEL;EAAa,GAChDF,QAC4B,CAAC;AAEpC;AAEA,MAAMQ,kBAAkB,gBAAGd,aAAa,CAAqBe,SAAS,CAAC;AAEvE,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,EAAE;EACFX;AAIF,CAAC,EAAE;EACD,oBACEP,KAAA,CAAAY,aAAA,CAACG,kBAAkB,CAACF,QAAQ;IAACC,KAAK,EAAEI;EAAG,GACpCX,QAC0B,CAAC;AAElC;AAEA,OAAO,MAAMY,cAAc,GAAGA,CAAA,KAAMjB,UAAU,CAACa,kBAAkB,CAAC;AAElE,OAAO,SAASK,gBAAgBA,CAAC;EAAEF;AAAoB,CAAC,EAAE;EACxD,MAAMG,WAAW,GAAGnB,UAAU,CAACG,oBAAoB,CAAC;EAEpDiB,mBAAmB,CAACD,WAAW,EAAEH,EAAE,CAAC;EAEpC,MAAMV,IAAI,GAAGa,WAAW,CAACH,EAAE,IAAId,kBAAkB,CAAC;EAElD,OAAOD,OAAO,CAAC,OAAO;IAAEK;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AAC1C;AAEA,SAASc,mBAAmBA,CAACD,WAAiC,EAAEH,EAAW,EAAE;EAC3E,IAAIA,EAAE,IAAI,IAAI,IAAI,CAACG,WAAW,CAACH,EAAE,CAAC,EAAE;IAClC,MAAMK,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC,CAACK,MAAM,CAC7CC,OAAO,IAAKA,OAAO,KAAKvB,kBAC3B,CAAC;IACD,MAAMwB,QAAQ,GAAGL,QAAQ,CAACM,MAAM,IAAI,CAAC;IAErC,MAAMC,SAAS,GAAGP,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAAC;IAErC,MAAMC,UAAU,GAAGT,QAAQ,CAACM,MAAM,
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useMemo","DefaultLineChartId","LineChartDataContext","LineChartDataProvider","children","data","contextValue","Array","isArray","createElement","Provider","value","LineChartIdContext","undefined","LineChartIdProvider","id","useLineChartId","useLineChartData","dataContext","validateLineChartId","otherIds","Object","keys","filter","otherId","singular","length","joinedIds","join","suggestion","console","warn","error"],"sourceRoot":"../../../../src","sources":["charts/line/Data.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAKjE,OAAO,MAAMC,kBAAkB,GAAG,iBAAiB;AAMnD,MAAMC,oBAAoB,gBAAGJ,aAAa,CAAuB;EAC/D,CAACG,kBAAkB,GAAG;AACxB,CAAC,CAAC;AAOF,OAAO,SAASE,qBAAqBA,CAAC;EACpCC,QAAQ;EACRC;AAC0B,CAAC,EAAE;EAC7B,MAAMC,YAAY,GAAGN,OAAO,CAAuB,MAAM;IACvD,IAAIO,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE;MACvB,OAAO;QACL,CAACJ,kBAAkB,GAAGI;MACxB,CAAC;IACH;IACA,OAAOA,IAAI;EACb,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACER,KAAA,CAAAY,aAAA,CAACP,oBAAoB,CAACQ,QAAQ;IAACC,KAAK,EAAEL;EAAa,GAChDF,QAC4B,CAAC;AAEpC;AAEA,MAAMQ,kBAAkB,gBAAGd,aAAa,CAAqBe,SAAS,CAAC;AAEvE,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,EAAE;EACFX;AAIF,CAAC,EAAE;EACD,oBACEP,KAAA,CAAAY,aAAA,CAACG,kBAAkB,CAACF,QAAQ;IAACC,KAAK,EAAEI;EAAG,GACpCX,QAC0B,CAAC;AAElC;AAEA,OAAO,MAAMY,cAAc,GAAGA,CAAA,KAAMjB,UAAU,CAACa,kBAAkB,CAAC;AAElE,OAAO,SAASK,gBAAgBA,CAAC;EAAEF;AAAoB,CAAC,EAAE;EACxD,MAAMG,WAAW,GAAGnB,UAAU,CAACG,oBAAoB,CAAC;EAEpDiB,mBAAmB,CAACD,WAAW,EAAEH,EAAE,CAAC;EAEpC,MAAMV,IAAI,GAAGa,WAAW,CAACH,EAAE,IAAId,kBAAkB,CAAC;EAElD,OAAOD,OAAO,CAAC,OAAO;IAAEK;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AAC1C;AAEA,SAASc,mBAAmBA,CAACD,WAAiC,EAAEH,EAAW,EAAE;EAC3E,IAAIA,EAAE,IAAI,IAAI,IAAI,CAACG,WAAW,CAACH,EAAE,CAAC,EAAE;IAClC,MAAMK,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC,CAACK,MAAM,CAC7CC,OAAO,IAAKA,OAAO,KAAKvB,kBAC3B,CAAC;IACD,MAAMwB,QAAQ,GAAGL,QAAQ,CAACM,MAAM,IAAI,CAAC;IAErC,MAAMC,SAAS,GAAGP,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAAC;IAErC,MAAMC,UAAU,GAAGT,QAAQ,CAACM,MAAM,GAC9B,uBACED,QAAQ,GAAG,SAAS,GAAG,kBAAkB,KACtCE,SAAS,EAAE,GAChB,4GAA4G;IAEhHG,OAAO,CAACC,IAAI,CACV,uFAAuFhB,EAAE;AAC/F;AACA,EAAEc,UAAU,EACR,CAAC;EACH,CAAC,MAAM,IAAId,EAAE,IAAI,IAAI,IAAI,CAACG,WAAW,CAACjB,kBAAkB,CAAC,EAAE;IACzD,MAAMmB,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC;IACzC,MAAMO,QAAQ,GAAGL,QAAQ,CAACM,MAAM,IAAI,CAAC;IAErC,MAAMC,SAAS,GAAGP,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAAC;IACrC,MAAMC,UAAU,GAAGT,QAAQ,CAACM,MAAM,GAC9B,uBACED,QAAQ,GAAG,SAAS,GAAG,kBAAkB,KACtCE,SAAS,EAAE,GAChB,4GAA4G;IAEhHG,OAAO,CAACE,KAAK,CAAC;AAClB;AACA,EAAEH,UAAU;AACZ,KAAK,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useDerivedValue } from 'react-native-reanimated';
|
|
2
3
|
import { useLineChartDatetime } from './useDatetime';
|
|
3
4
|
import { AnimatedText } from '../../components/AnimatedText';
|
|
4
5
|
LineChartDatetimeText.displayName = 'LineChartDatetimeText';
|
|
@@ -7,16 +8,23 @@ export function LineChartDatetimeText({
|
|
|
7
8
|
options,
|
|
8
9
|
format,
|
|
9
10
|
variant = 'formatted',
|
|
10
|
-
style
|
|
11
|
+
style,
|
|
11
12
|
}) {
|
|
12
13
|
const datetime = useLineChartDatetime({
|
|
13
14
|
format,
|
|
14
15
|
locale,
|
|
15
|
-
options
|
|
16
|
+
options,
|
|
16
17
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const text = useDerivedValue(() => {
|
|
19
|
+
const value = datetime[variant].value;
|
|
20
|
+
if (typeof value === 'number') {
|
|
21
|
+
return value === 0 || isNaN(value) ? '' : value.toString();
|
|
22
|
+
}
|
|
23
|
+
return value || '';
|
|
24
|
+
}, [datetime, variant]);
|
|
25
|
+
return /*#__PURE__*/ React.createElement(AnimatedText, {
|
|
26
|
+
text: text,
|
|
27
|
+
style: style,
|
|
20
28
|
});
|
|
21
29
|
}
|
|
22
|
-
//# sourceMappingURL=DatetimeText.js.map
|
|
30
|
+
//# sourceMappingURL=DatetimeText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useLineChartDatetime","AnimatedText","LineChartDatetimeText","displayName","locale","options","format","variant","style","datetime","
|
|
1
|
+
{"version":3,"names":["React","useDerivedValue","useLineChartDatetime","AnimatedText","LineChartDatetimeText","displayName","locale","options","format","variant","style","datetime","text","value","isNaN","toString","createElement"],"sourceRoot":"../../../../src","sources":["charts/line/DatetimeText.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,SAASC,YAAY,QAAQ,+BAA+B;AAU5DC,qBAAqB,CAACC,WAAW,GAAG,uBAAuB;AAE3D,OAAO,SAASD,qBAAqBA,CAAC;EACpCE,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,OAAO,GAAG,WAAW;EACrBC;AACsB,CAAC,EAAE;EACzB,MAAMC,QAAQ,GAAGT,oBAAoB,CAAC;IAAEM,MAAM;IAAEF,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAElE,MAAMK,IAAI,GAAGX,eAAe,CAAC,MAAM;IACjC,MAAMY,KAAK,GAAGF,QAAQ,CAACF,OAAO,CAAC,CAACI,KAAK;IACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,OAAOA,KAAK,KAAK,CAAC,IAAIC,KAAK,CAACD,KAAK,CAAC,GAAG,EAAE,GAAGA,KAAK,CAACE,QAAQ,CAAC,CAAC;IAC5D;IACA,OAAOF,KAAK,IAAI,EAAE;EACpB,CAAC,EAAE,CAACF,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,oBAAOT,KAAA,CAAAgB,aAAA,CAACb,YAAY;IAACS,IAAI,EAAEA,IAAK;IAACF,KAAK,EAAEA;EAAM,CAAE,CAAC;AACnD","ignoreList":[]}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
|
-
function _extends() {
|
|
2
|
-
|
|
3
|
-
|
|
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 Animated, {
|
|
17
|
+
Easing,
|
|
18
|
+
useAnimatedProps,
|
|
19
|
+
useDerivedValue,
|
|
20
|
+
withRepeat,
|
|
21
|
+
withSequence,
|
|
22
|
+
withTiming,
|
|
23
|
+
} from 'react-native-reanimated';
|
|
4
24
|
import { Circle } from 'react-native-svg';
|
|
5
25
|
import { LineChartDimensionsContext } from './Chart';
|
|
6
26
|
import { LineChartPathContext } from './LineChartPathContext';
|
|
@@ -21,20 +41,14 @@ export function LineChartDot({
|
|
|
21
41
|
pulseDurationMs = 800,
|
|
22
42
|
showInactiveColor = true,
|
|
23
43
|
size = 4,
|
|
24
|
-
outerSize = size * 4
|
|
44
|
+
outerSize = size * 4,
|
|
25
45
|
}) {
|
|
26
|
-
const {
|
|
27
|
-
|
|
28
|
-
} = useLineChart();
|
|
29
|
-
const {
|
|
30
|
-
parsedPath
|
|
31
|
-
} = React.useContext(LineChartDimensionsContext);
|
|
46
|
+
const { isActive } = useLineChart();
|
|
47
|
+
const { parsedPath } = React.useContext(LineChartDimensionsContext);
|
|
32
48
|
|
|
33
49
|
////////////////////////////////////////////////////////////
|
|
34
50
|
|
|
35
|
-
const {
|
|
36
|
-
isInactive: _isInactive
|
|
37
|
-
} = React.useContext(LineChartPathContext);
|
|
51
|
+
const { isInactive: _isInactive } = React.useContext(LineChartPathContext);
|
|
38
52
|
const isInactive = showInactiveColor && _isInactive;
|
|
39
53
|
const color = isInactive ? inactiveColor || defaultColor : defaultColor;
|
|
40
54
|
const opacity = isInactive && !inactiveColor ? 0.5 : 1;
|
|
@@ -45,20 +59,26 @@ export function LineChartDot({
|
|
|
45
59
|
const x = useDerivedValue(() => {
|
|
46
60
|
return withTiming(getXPositionForCurve(parsedPath, at));
|
|
47
61
|
}, [at, parsedPath]);
|
|
48
|
-
const y = useDerivedValue(
|
|
62
|
+
const y = useDerivedValue(
|
|
63
|
+
() => withTiming(getYForX(parsedPath, x.value) || 0),
|
|
64
|
+
[parsedPath, x]
|
|
65
|
+
);
|
|
49
66
|
|
|
50
67
|
////////////////////////////////////////////////////////////
|
|
51
68
|
|
|
52
|
-
const animatedDotProps = useAnimatedProps(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
const animatedDotProps = useAnimatedProps(
|
|
70
|
+
() => ({
|
|
71
|
+
cx: x.value,
|
|
72
|
+
cy: y.value,
|
|
73
|
+
}),
|
|
74
|
+
[x, y]
|
|
75
|
+
);
|
|
56
76
|
const animatedOuterDotProps = useAnimatedProps(() => {
|
|
57
|
-
|
|
77
|
+
const defaultProps = {
|
|
58
78
|
cx: x.value,
|
|
59
79
|
cy: y.value,
|
|
60
80
|
opacity: 0.1,
|
|
61
|
-
r: outerSize
|
|
81
|
+
r: outerSize,
|
|
62
82
|
};
|
|
63
83
|
if (!hasPulse) {
|
|
64
84
|
return defaultProps;
|
|
@@ -66,42 +86,76 @@ export function LineChartDot({
|
|
|
66
86
|
if (isActive.value && pulseBehaviour === 'while-inactive') {
|
|
67
87
|
return {
|
|
68
88
|
...defaultProps,
|
|
69
|
-
r: 0
|
|
89
|
+
r: 0,
|
|
70
90
|
};
|
|
71
91
|
}
|
|
72
92
|
const easing = Easing.out(Easing.sin);
|
|
73
|
-
const animatedOpacity = withRepeat(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
93
|
+
const animatedOpacity = withRepeat(
|
|
94
|
+
withSequence(
|
|
95
|
+
withTiming(0),
|
|
96
|
+
withTiming(0.8),
|
|
97
|
+
withTiming(0, {
|
|
98
|
+
duration: pulseDurationMs,
|
|
99
|
+
easing,
|
|
100
|
+
})
|
|
101
|
+
),
|
|
102
|
+
-1,
|
|
103
|
+
false
|
|
104
|
+
);
|
|
105
|
+
const scale = withRepeat(
|
|
106
|
+
withSequence(
|
|
107
|
+
withTiming(0),
|
|
108
|
+
withTiming(0),
|
|
109
|
+
withTiming(outerSize, {
|
|
110
|
+
duration: pulseDurationMs,
|
|
111
|
+
easing,
|
|
112
|
+
})
|
|
113
|
+
),
|
|
114
|
+
-1,
|
|
115
|
+
false
|
|
116
|
+
);
|
|
81
117
|
if (pulseBehaviour === 'while-inactive') {
|
|
82
118
|
return {
|
|
83
119
|
...defaultProps,
|
|
84
120
|
opacity: isActive.value ? withTiming(0) : animatedOpacity,
|
|
85
|
-
r: isActive.value ? withTiming(0) : scale
|
|
121
|
+
r: isActive.value ? withTiming(0) : scale,
|
|
86
122
|
};
|
|
87
123
|
}
|
|
88
124
|
return {
|
|
89
125
|
...defaultProps,
|
|
90
126
|
opacity: animatedOpacity,
|
|
91
|
-
r: scale
|
|
127
|
+
r: scale,
|
|
92
128
|
};
|
|
93
129
|
}, [hasPulse, isActive, outerSize, pulseBehaviour, pulseDurationMs, x, y]);
|
|
94
130
|
|
|
95
131
|
////////////////////////////////////////////////////////////
|
|
96
132
|
|
|
97
|
-
return /*#__PURE__*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
133
|
+
return /*#__PURE__*/ React.createElement(
|
|
134
|
+
React.Fragment,
|
|
135
|
+
null,
|
|
136
|
+
/*#__PURE__*/ React.createElement(
|
|
137
|
+
AnimatedCircle,
|
|
138
|
+
_extends(
|
|
139
|
+
{
|
|
140
|
+
animatedProps: animatedDotProps,
|
|
141
|
+
r: size,
|
|
142
|
+
fill: color,
|
|
143
|
+
opacity: opacity,
|
|
144
|
+
},
|
|
145
|
+
dotProps
|
|
146
|
+
)
|
|
147
|
+
),
|
|
148
|
+
hasOuterDot &&
|
|
149
|
+
/*#__PURE__*/ React.createElement(
|
|
150
|
+
AnimatedCircle,
|
|
151
|
+
_extends(
|
|
152
|
+
{
|
|
153
|
+
animatedProps: animatedOuterDotProps,
|
|
154
|
+
fill: color,
|
|
155
|
+
},
|
|
156
|
+
outerDotProps
|
|
157
|
+
)
|
|
158
|
+
)
|
|
159
|
+
);
|
|
106
160
|
}
|
|
107
|
-
//# sourceMappingURL=Dot.js.map
|
|
161
|
+
//# sourceMappingURL=Dot.js.map
|