react-native-wagmi-charts 1.8.0 → 2.0.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/.DS_Store +0 -0
- package/README.md +331 -196
- package/example/.DS_Store +0 -0
- package/example/src/LineChart.tsx +10 -4
- package/example/src/data/line-data.json +20 -20
- package/lib/commonjs/charts/candle/utils/getDomain.js +19 -0
- package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getHeight.js +19 -0
- package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getPrice.js +20 -0
- package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getY.js +19 -0
- package/lib/commonjs/charts/candle/utils/getY.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/index.js +58 -0
- package/lib/commonjs/charts/candle/utils/index.js.map +1 -0
- package/lib/commonjs/charts/line/Chart.js +9 -3
- package/lib/commonjs/charts/line/Chart.js.map +1 -1
- package/lib/commonjs/charts/line/ChartPath.js +73 -17
- package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
- package/lib/commonjs/charts/line/Context.js +1 -0
- package/lib/commonjs/charts/line/Context.js.map +1 -1
- package/lib/commonjs/charts/line/Cursor.js +1 -0
- package/lib/commonjs/charts/line/Cursor.js.map +1 -1
- package/lib/commonjs/charts/line/CursorCrosshair.js +10 -3
- package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/commonjs/charts/line/CursorLine.js +6 -6
- package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
- package/lib/commonjs/charts/line/DatetimeText.js +2 -0
- package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
- package/lib/commonjs/charts/line/Dot.js +67 -62
- package/lib/commonjs/charts/line/Dot.js.map +1 -1
- package/lib/commonjs/charts/line/Gradient.js +8 -25
- package/lib/commonjs/charts/line/Gradient.js.map +1 -1
- package/lib/commonjs/charts/line/Group.js +5 -25
- package/lib/commonjs/charts/line/Group.js.map +1 -1
- package/lib/commonjs/charts/line/Highlight.js +92 -0
- package/lib/commonjs/charts/line/Highlight.js.map +1 -0
- package/lib/commonjs/charts/line/HorizontalLine.js +6 -6
- package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
- package/lib/commonjs/charts/line/Path.js +19 -30
- package/lib/commonjs/charts/line/Path.js.map +1 -1
- package/lib/commonjs/charts/line/PriceText.js +2 -0
- package/lib/commonjs/charts/line/PriceText.js.map +1 -1
- package/lib/commonjs/charts/line/Tooltip.js +2 -0
- package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
- package/lib/commonjs/charts/line/index.js +47 -20
- package/lib/commonjs/charts/line/index.js.map +1 -1
- package/lib/commonjs/charts/line/useAnimatedPath.js +44 -0
- package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -0
- package/lib/commonjs/charts/line/{utils.js → utils/getArea.js} +2 -49
- package/lib/commonjs/charts/line/utils/getArea.js.map +1 -0
- package/lib/commonjs/charts/line/utils/getDomain.js +16 -0
- package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -0
- package/lib/commonjs/charts/line/utils/getPath.js +34 -0
- package/lib/commonjs/charts/line/utils/getPath.js.map +1 -0
- package/lib/commonjs/charts/line/utils/index.js +71 -0
- package/lib/commonjs/charts/line/utils/index.js.map +1 -0
- package/lib/commonjs/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
- package/lib/commonjs/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +27 -0
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
- package/lib/commonjs/index.js +8 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/formatDatetime.js +21 -0
- package/lib/commonjs/utils/formatDatetime.js.map +1 -0
- package/lib/commonjs/utils/formatPrice.js +46 -0
- package/lib/commonjs/utils/formatPrice.js.map +1 -0
- package/lib/commonjs/utils/index.js +45 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/{utils.js → utils/usePrevious.js} +1 -57
- package/lib/commonjs/utils/usePrevious.js.map +1 -0
- package/lib/module/charts/candle/utils/getDomain.js +12 -0
- package/lib/module/charts/candle/utils/getDomain.js.map +1 -0
- package/lib/module/charts/candle/utils/getHeight.js +11 -0
- package/lib/module/charts/candle/utils/getHeight.js.map +1 -0
- package/lib/module/charts/candle/utils/getPrice.js +12 -0
- package/lib/module/charts/candle/utils/getPrice.js.map +1 -0
- package/lib/module/charts/candle/utils/getY.js +11 -0
- package/lib/module/charts/candle/utils/getY.js.map +1 -0
- package/lib/module/charts/candle/utils/index.js +5 -0
- package/lib/module/charts/candle/utils/index.js.map +1 -0
- package/lib/module/charts/line/Chart.js +9 -4
- package/lib/module/charts/line/Chart.js.map +1 -1
- package/lib/module/charts/line/ChartPath.js +69 -17
- package/lib/module/charts/line/ChartPath.js.map +1 -1
- package/lib/module/charts/line/Context.js +1 -0
- package/lib/module/charts/line/Context.js.map +1 -1
- package/lib/module/charts/line/Cursor.js +1 -0
- package/lib/module/charts/line/Cursor.js.map +1 -1
- package/lib/module/charts/line/CursorCrosshair.js +10 -4
- package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/module/charts/line/CursorLine.js +4 -3
- package/lib/module/charts/line/CursorLine.js.map +1 -1
- package/lib/module/charts/line/DatetimeText.js +1 -0
- package/lib/module/charts/line/DatetimeText.js.map +1 -1
- package/lib/module/charts/line/Dot.js +66 -63
- package/lib/module/charts/line/Dot.js.map +1 -1
- package/lib/module/charts/line/Gradient.js +8 -24
- package/lib/module/charts/line/Gradient.js.map +1 -1
- package/lib/module/charts/line/Group.js +2 -24
- package/lib/module/charts/line/Group.js.map +1 -1
- package/lib/module/charts/line/Highlight.js +69 -0
- package/lib/module/charts/line/Highlight.js.map +1 -0
- package/lib/module/charts/line/HorizontalLine.js +4 -3
- package/lib/module/charts/line/HorizontalLine.js.map +1 -1
- package/lib/module/charts/line/Path.js +17 -29
- package/lib/module/charts/line/Path.js.map +1 -1
- package/lib/module/charts/line/PriceText.js +1 -0
- package/lib/module/charts/line/PriceText.js.map +1 -1
- package/lib/module/charts/line/Tooltip.js +1 -0
- package/lib/module/charts/line/Tooltip.js.map +1 -1
- package/lib/module/charts/line/index.js +12 -8
- package/lib/module/charts/line/index.js.map +1 -1
- package/lib/module/charts/line/useAnimatedPath.js +34 -0
- package/lib/module/charts/line/useAnimatedPath.js.map +1 -0
- package/lib/module/charts/line/utils/getArea.js +19 -0
- package/lib/module/charts/line/utils/getArea.js.map +1 -0
- package/lib/module/charts/line/utils/getDomain.js +9 -0
- package/lib/module/charts/line/utils/getDomain.js.map +1 -0
- package/lib/module/charts/line/utils/getPath.js +21 -0
- package/lib/module/charts/line/utils/getPath.js.map +1 -0
- package/lib/module/charts/line/utils/index.js +6 -0
- package/lib/module/charts/line/utils/index.js.map +1 -0
- package/lib/module/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
- package/lib/module/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js +20 -0
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/formatDatetime.js +14 -0
- package/lib/module/utils/formatDatetime.js.map +1 -0
- package/lib/module/{utils.js → utils/formatPrice.js} +1 -29
- package/lib/module/utils/formatPrice.js.map +1 -0
- package/lib/module/utils/index.js +4 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/usePrevious.js +14 -0
- package/lib/module/utils/usePrevious.js.map +1 -0
- package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +2 -0
- package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/getY.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/index.d.ts +4 -0
- package/lib/typescript/src/charts/line/Chart.d.ts +5 -1
- package/lib/typescript/src/charts/line/ChartPath.d.ts +10 -1
- package/lib/typescript/src/charts/line/Context.d.ts +3 -0
- package/lib/typescript/src/charts/line/Cursor.d.ts +3 -0
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +4 -1
- package/lib/typescript/src/charts/line/CursorLine.d.ts +4 -1
- package/lib/typescript/src/charts/line/DatetimeText.d.ts +3 -0
- package/lib/typescript/src/charts/line/Dot.d.ts +10 -7
- package/lib/typescript/src/charts/line/Gradient.d.ts +3 -0
- package/lib/typescript/src/charts/line/Group.d.ts +1 -2
- package/lib/typescript/src/charts/line/Highlight.d.ts +15 -0
- package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -1
- package/lib/typescript/src/charts/line/Path.d.ts +5 -1
- package/lib/typescript/src/charts/line/PriceText.d.ts +3 -0
- package/lib/typescript/src/charts/line/Tooltip.d.ts +3 -0
- package/lib/typescript/src/charts/line/index.d.ts +15 -25
- package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +8 -0
- package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -0
- package/lib/typescript/src/charts/line/utils/getDomain.d.ts +2 -0
- package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -0
- package/lib/typescript/src/charts/line/utils/index.d.ts +5 -0
- package/lib/typescript/src/charts/line/{interpolatePath.d.ts → utils/interpolatePath.d.ts} +1 -1
- package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -0
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/utils/formatDatetime.d.ts +8 -0
- package/lib/typescript/src/utils/formatPrice.d.ts +8 -0
- package/lib/typescript/src/utils/index.d.ts +3 -0
- package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
- package/package.json +4 -2
- package/src/charts/candle/utils/getDomain.ts +9 -0
- package/src/charts/candle/utils/getHeight.ts +21 -0
- package/src/charts/candle/utils/getPrice.ts +17 -0
- package/src/charts/candle/utils/getY.ts +16 -0
- package/src/charts/candle/utils/index.ts +4 -0
- package/src/charts/line/Chart.tsx +9 -3
- package/src/charts/line/ChartPath.tsx +109 -33
- package/src/charts/line/Context.tsx +2 -0
- package/src/charts/line/Cursor.tsx +2 -0
- package/src/charts/line/CursorCrosshair.tsx +20 -5
- package/src/charts/line/CursorLine.tsx +5 -3
- package/src/charts/line/DatetimeText.tsx +2 -0
- package/src/charts/line/Dot.tsx +83 -86
- package/src/charts/line/Gradient.tsx +7 -34
- package/src/charts/line/Group.tsx +4 -47
- package/src/charts/line/Highlight.tsx +78 -0
- package/src/charts/line/HorizontalLine.tsx +5 -3
- package/src/charts/line/Path.tsx +14 -38
- package/src/charts/line/PriceText.tsx +2 -0
- package/src/charts/line/Tooltip.tsx +2 -0
- package/src/charts/line/index.ts +11 -7
- package/src/charts/line/useAnimatedPath.ts +47 -0
- package/src/charts/line/utils/getArea.ts +38 -0
- package/src/charts/line/utils/getDomain.ts +7 -0
- package/src/charts/line/utils/getPath.ts +48 -0
- package/src/charts/line/utils/index.ts +5 -0
- package/src/charts/line/{interpolatePath.ts → utils/interpolatePath.ts} +1 -1
- package/src/charts/line/utils/lineChartDataPropToArray.ts +25 -0
- package/src/index.ts +1 -1
- package/src/utils/formatDatetime.ts +16 -0
- package/src/{utils.ts → utils/formatPrice.ts} +0 -31
- package/src/utils/index.ts +3 -0
- package/src/utils/usePrevious.ts +13 -0
- package/yarn.lock +8 -1
- package/lib/commonjs/charts/line/utils.js.map +0 -1
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/module/charts/line/utils.js +0 -60
- package/lib/module/charts/line/utils.js.map +0 -1
- package/lib/module/utils.js.map +0 -1
- package/lib/typescript/src/charts/line/utils.d.ts +0 -20
- package/lib/typescript/src/utils.d.ts +0 -17
- package/src/charts/line/utils.ts +0 -100
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LineChartHighlight = LineChartHighlight;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
11
|
+
|
|
12
|
+
var _reactNativeSvg = require("react-native-svg");
|
|
13
|
+
|
|
14
|
+
var _Chart = require("./Chart");
|
|
15
|
+
|
|
16
|
+
var _ChartPath = require("./ChartPath");
|
|
17
|
+
|
|
18
|
+
var _useAnimatedPath = _interopRequireDefault(require("./useAnimatedPath"));
|
|
19
|
+
|
|
20
|
+
var _useLineChart = require("./useLineChart");
|
|
21
|
+
|
|
22
|
+
var _utils = require("./utils");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
30
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
|
+
|
|
32
|
+
const AnimatedPath = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Path);
|
|
33
|
+
|
|
34
|
+
LineChartHighlight.displayName = 'LineChartHighlight';
|
|
35
|
+
|
|
36
|
+
function LineChartHighlight({
|
|
37
|
+
color = 'black',
|
|
38
|
+
inactiveColor,
|
|
39
|
+
showInactiveColor = true,
|
|
40
|
+
from,
|
|
41
|
+
to,
|
|
42
|
+
width: strokeWidth = 3,
|
|
43
|
+
...props
|
|
44
|
+
}) {
|
|
45
|
+
const {
|
|
46
|
+
data,
|
|
47
|
+
yDomain
|
|
48
|
+
} = (0, _useLineChart.useLineChart)();
|
|
49
|
+
const {
|
|
50
|
+
pathWidth,
|
|
51
|
+
height,
|
|
52
|
+
gutter,
|
|
53
|
+
shape
|
|
54
|
+
} = React.useContext(_Chart.LineChartDimensionsContext);
|
|
55
|
+
const {
|
|
56
|
+
isTransitionEnabled,
|
|
57
|
+
isInactive: _isInactive
|
|
58
|
+
} = React.useContext(_ChartPath.LineChartPathContext);
|
|
59
|
+
const isInactive = showInactiveColor && _isInactive; ////////////////////////////////////////////////
|
|
60
|
+
|
|
61
|
+
const path = React.useMemo(() => {
|
|
62
|
+
if (data && data.length > 0) {
|
|
63
|
+
return (0, _utils.getPath)({
|
|
64
|
+
data,
|
|
65
|
+
from,
|
|
66
|
+
to,
|
|
67
|
+
width: pathWidth,
|
|
68
|
+
height,
|
|
69
|
+
gutter,
|
|
70
|
+
shape,
|
|
71
|
+
yDomain
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return '';
|
|
76
|
+
}, [data, from, to, pathWidth, height, gutter, shape, yDomain]);
|
|
77
|
+
const {
|
|
78
|
+
animatedProps
|
|
79
|
+
} = (0, _useAnimatedPath.default)({
|
|
80
|
+
enabled: isTransitionEnabled,
|
|
81
|
+
path
|
|
82
|
+
}); ////////////////////////////////////////////////
|
|
83
|
+
|
|
84
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnimatedPath, _extends({
|
|
85
|
+
animatedProps: animatedProps,
|
|
86
|
+
fill: "transparent",
|
|
87
|
+
stroke: isInactive ? inactiveColor || color : color,
|
|
88
|
+
strokeWidth: strokeWidth,
|
|
89
|
+
strokeOpacity: isInactive && !inactiveColor ? 0.5 : 1
|
|
90
|
+
}, props)));
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=Highlight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Highlight.tsx"],"names":["AnimatedPath","Animated","createAnimatedComponent","Path","LineChartHighlight","displayName","color","inactiveColor","showInactiveColor","from","to","width","strokeWidth","props","data","yDomain","pathWidth","height","gutter","shape","React","useContext","LineChartDimensionsContext","isTransitionEnabled","isInactive","_isInactive","LineChartPathContext","path","useMemo","length","animatedProps","enabled"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,+BAASC,uBAAT,CAAiCC,oBAAjC,CAArB;;AAWAC,kBAAkB,CAACC,WAAnB,GAAiC,oBAAjC;;AAEO,SAASD,kBAAT,CAA4B;AACjCE,EAAAA,KAAK,GAAG,OADyB;AAEjCC,EAAAA,aAFiC;AAGjCC,EAAAA,iBAAiB,GAAG,IAHa;AAIjCC,EAAAA,IAJiC;AAKjCC,EAAAA,EALiC;AAMjCC,EAAAA,KAAK,EAAEC,WAAW,GAAG,CANY;AAOjC,KAAGC;AAP8B,CAA5B,EAQiB;AACtB,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAoB,iCAA1B;AACA,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,MAAb;AAAqBC,IAAAA,MAArB;AAA6BC,IAAAA;AAA7B,MAAuCC,KAAK,CAACC,UAAN,CAC3CC,iCAD2C,CAA7C;AAGA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA,UAAU,EAAEC;AAAnC,MACJL,KAAK,CAACC,UAAN,CAAiBK,+BAAjB,CADF;AAEA,QAAMF,UAAU,GAAGhB,iBAAiB,IAAIiB,WAAxC,CAPsB,CAStB;;AAEA,QAAME,IAAI,GAAGP,KAAK,CAACQ,OAAN,CAAc,MAAM;AAC/B,QAAId,IAAI,IAAIA,IAAI,CAACe,MAAL,GAAc,CAA1B,EAA6B;AAC3B,aAAO,oBAAQ;AACbf,QAAAA,IADa;AAEbL,QAAAA,IAFa;AAGbC,QAAAA,EAHa;AAIbC,QAAAA,KAAK,EAAEK,SAJM;AAKbC,QAAAA,MALa;AAMbC,QAAAA,MANa;AAObC,QAAAA,KAPa;AAQbJ,QAAAA;AARa,OAAR,CAAP;AAUD;;AACD,WAAO,EAAP;AACD,GAdY,EAcV,CAACD,IAAD,EAAOL,IAAP,EAAaC,EAAb,EAAiBM,SAAjB,EAA4BC,MAA5B,EAAoCC,MAApC,EAA4CC,KAA5C,EAAmDJ,OAAnD,CAdU,CAAb;AAgBA,QAAM;AAAEe,IAAAA;AAAF,MAAoB,8BAAgB;AACxCC,IAAAA,OAAO,EAAER,mBAD+B;AAExCI,IAAAA;AAFwC,GAAhB,CAA1B,CA3BsB,CAgCtB;;AAEA,sBACE,uDACE,oBAAC,YAAD;AACE,IAAA,aAAa,EAAEG,aADjB;AAEE,IAAA,IAAI,EAAC,aAFP;AAGE,IAAA,MAAM,EAAEN,UAAU,GAAGjB,aAAa,IAAID,KAApB,GAA4BA,KAHhD;AAIE,IAAA,WAAW,EAAEM,WAJf;AAKE,IAAA,aAAa,EAAEY,UAAU,IAAI,CAACjB,aAAf,GAA+B,GAA/B,GAAqC;AALtD,KAMMM,KANN,EADF,CADF;AAYD","sourcesContent":["import * as React from 'react';\nimport Animated from 'react-native-reanimated';\nimport { Path, PathProps } from 'react-native-svg';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPathContext } from './ChartPath';\nimport useAnimatedPath from './useAnimatedPath';\nimport { useLineChart } from './useLineChart';\nimport { getPath } from './utils';\n\nconst AnimatedPath = Animated.createAnimatedComponent(Path);\n\nexport type LineChartColorProps = Animated.AnimateProps<PathProps> & {\n color?: string;\n from: number;\n to: number;\n showInactiveColor?: boolean;\n inactiveColor?: string;\n width?: number;\n};\n\nLineChartHighlight.displayName = 'LineChartHighlight';\n\nexport function LineChartHighlight({\n color = 'black',\n inactiveColor,\n showInactiveColor = true,\n from,\n to,\n width: strokeWidth = 3,\n ...props\n}: LineChartColorProps) {\n const { data, yDomain } = useLineChart();\n const { pathWidth, height, gutter, shape } = React.useContext(\n LineChartDimensionsContext\n );\n const { isTransitionEnabled, isInactive: _isInactive } =\n React.useContext(LineChartPathContext);\n const isInactive = showInactiveColor && _isInactive;\n\n ////////////////////////////////////////////////\n\n const path = React.useMemo(() => {\n if (data && data.length > 0) {\n return getPath({\n data,\n from,\n to,\n width: pathWidth,\n height,\n gutter,\n shape,\n yDomain,\n });\n }\n return '';\n }, [data, from, to, pathWidth, height, gutter, shape, yDomain]);\n\n const { animatedProps } = useAnimatedPath({\n enabled: isTransitionEnabled,\n path,\n });\n\n ////////////////////////////////////////////////\n\n return (\n <>\n <AnimatedPath\n animatedProps={animatedProps}\n fill=\"transparent\"\n stroke={isInactive ? inactiveColor || color : color}\n strokeWidth={strokeWidth}\n strokeOpacity={isInactive && !inactiveColor ? 0.5 : 1}\n {...props}\n />\n </>\n );\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.LineChartHorizontalLine =
|
|
6
|
+
exports.LineChartHorizontalLine = LineChartHorizontalLine;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -27,14 +27,16 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
27
27
|
|
|
28
28
|
const AnimatedLine = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Line);
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
LineChartHorizontalLine.displayName = 'LineChartHorizontalLine';
|
|
31
|
+
|
|
32
|
+
function LineChartHorizontalLine({
|
|
31
33
|
color = 'gray',
|
|
32
34
|
lineProps = {},
|
|
33
35
|
at = {
|
|
34
36
|
index: 0
|
|
35
37
|
},
|
|
36
38
|
offsetY = 0
|
|
37
|
-
})
|
|
39
|
+
}) {
|
|
38
40
|
const {
|
|
39
41
|
width,
|
|
40
42
|
path,
|
|
@@ -86,7 +88,5 @@ const LineChartHorizontalLine = ({
|
|
|
86
88
|
stroke: color,
|
|
87
89
|
strokeDasharray: "3 3"
|
|
88
90
|
}, lineProps));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
exports.LineChartHorizontalLine = LineChartHorizontalLine;
|
|
91
|
+
}
|
|
92
92
|
//# sourceMappingURL=HorizontalLine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HorizontalLine.tsx"],"names":["AnimatedLine","Animated","createAnimatedComponent","SVGLine","LineChartHorizontalLine","color","lineProps","at","index","offsetY","width","path","height","gutter","React","useContext","LineChartDimensionsContext","data","yDomain","parsedPath","useMemo","pointWidth","length","y","yForX","offsetTop","max","value","percentageOffsetTop","min","heightBetweenGutters","offsetTopPixels","lineAnimatedProps","x1","x2","y1","y2"],"mappings":";;;;;;;AAAA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,+BAASC,uBAAT,CAAiCC,oBAAjC,CAArB;;
|
|
1
|
+
{"version":3,"sources":["HorizontalLine.tsx"],"names":["AnimatedLine","Animated","createAnimatedComponent","SVGLine","LineChartHorizontalLine","displayName","color","lineProps","at","index","offsetY","width","path","height","gutter","React","useContext","LineChartDimensionsContext","data","yDomain","parsedPath","useMemo","pointWidth","length","y","yForX","offsetTop","max","value","percentageOffsetTop","min","heightBetweenGutters","offsetTopPixels","lineAnimatedProps","x1","x2","y1","y2"],"mappings":";;;;;;;AAAA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,+BAASC,uBAAT,CAAiCC,oBAAjC,CAArB;;AAmCAC,uBAAuB,CAACC,WAAxB,GAAsC,yBAAtC;;AAEO,SAASD,uBAAT,CAAiC;AACtCE,EAAAA,KAAK,GAAG,MAD8B;AAEtCC,EAAAA,SAAS,GAAG,EAF0B;AAGtCC,EAAAA,EAAE,GAAG;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAHiC;AAItCC,EAAAA,OAAO,GAAG;AAJ4B,CAAjC,EAKiB;AACtB,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeC,IAAAA,MAAf;AAAuBC,IAAAA;AAAvB,MAAkCC,eAAMC,UAAN,CACtCC,iCADsC,CAAxC;;AAGA,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAoB,iCAA1B;;AAEA,QAAMC,UAAU,GAAGL,eAAMM,OAAN,CAAc,MAAM,8BAAMT,IAAN,CAApB,EAAiC,CAACA,IAAD,CAAjC,CAAnB;;AACA,QAAMU,UAAU,GAAGP,eAAMM,OAAN,CACjB,MAAMV,KAAK,GAAGO,IAAI,CAACK,MADF,EAEjB,CAACL,IAAI,CAACK,MAAN,EAAcZ,KAAd,CAFiB,CAAnB;;AAKA,QAAMa,CAAC,GAAG,4CAAgB,MAAM;AAC9B,QAAI,OAAOhB,EAAP,KAAc,QAAd,IAA0BA,EAAE,CAACC,KAAH,IAAY,IAA1C,EAAgD;AAC9C,YAAMA,KAAK,GAAG,OAAOD,EAAP,KAAc,QAAd,GAAyBA,EAAzB,GAA8BA,EAAE,CAACC,KAA/C;AACA,YAAMgB,KAAK,GAAG,iCAASL,UAAT,EAAsBE,UAAU,GAAGb,KAAnC,KAA6C,CAA3D;AACA,aAAO,uCAAWgB,KAAK,GAAGf,OAAnB,CAAP;AACD;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEI,UAAMgB,SAAS,GAAGP,OAAO,CAACQ,GAAR,GAAcnB,EAAE,CAACoB,KAAnC;AACA,UAAMC,mBAAmB,GAAGH,SAAS,IAAIP,OAAO,CAACQ,GAAR,GAAcR,OAAO,CAACW,GAA1B,CAArC;AAEA,UAAMC,oBAAoB,GAAGlB,MAAM,GAAGC,MAAM,GAAG,CAA/C;AAEA,UAAMkB,eAAe,GAAGlB,MAAM,GAAGe,mBAAmB,GAAGE,oBAAvD;AAEA,WAAO,uCAAWC,eAAe,GAAGtB,OAA7B,CAAP;AACD,GAxBS,CAAV;AA0BA,QAAMuB,iBAAiB,GAAG,6CAAiB,OAAO;AAChDC,IAAAA,EAAE,EAAE,CAD4C;AAEhDC,IAAAA,EAAE,EAAExB,KAF4C;AAGhDyB,IAAAA,EAAE,EAAEZ,CAAC,CAACI,KAH0C;AAIhDS,IAAAA,EAAE,EAAEb,CAAC,CAACI;AAJ0C,GAAP,CAAjB,CAA1B;AAOA,sBACE,6BAAC,YAAD;AACE,IAAA,aAAa,EAAEK,iBADjB;AAEE,IAAA,WAAW,EAAE,CAFf;AAGE,IAAA,MAAM,EAAE3B,KAHV;AAIE,IAAA,eAAe,EAAC;AAJlB,KAKMC,SALN,EADF;AASD","sourcesContent":["import React from 'react';\nimport Animated, {\n useAnimatedProps,\n useDerivedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { Line as SVGLine, LineProps } from 'react-native-svg';\nimport { getYForX, parse } from 'react-native-redash';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { useLineChart } from './useLineChart';\n\nconst AnimatedLine = Animated.createAnimatedComponent(SVGLine);\n\ntype HorizontalLineProps = {\n color?: string;\n lineProps?: Partial<LineProps>;\n offsetY?: number;\n /**\n * (Optional) A pixel value to nudge the line up or down.\n *\n * This may be useful to customize the line's position based on the thickness of your cursor or chart path.\n *\n * ```tsx\n * <LineChart.HorizontalLine\n * at={{ index: 3 }}\n * />\n *\n * // or\n *\n * <LineChart.HorizontalLine\n * at={{ value: 320.32}}\n * />\n * ```\n */\n at?:\n | {\n index: number;\n value?: never;\n }\n | {\n index?: never;\n value: number;\n }\n | number;\n};\n\nLineChartHorizontalLine.displayName = 'LineChartHorizontalLine';\n\nexport function LineChartHorizontalLine({\n color = 'gray',\n lineProps = {},\n at = { index: 0 },\n offsetY = 0,\n}: HorizontalLineProps) {\n const { width, path, height, gutter } = React.useContext(\n LineChartDimensionsContext\n );\n const { data, yDomain } = useLineChart();\n\n const parsedPath = React.useMemo(() => parse(path), [path]);\n const pointWidth = React.useMemo(\n () => width / data.length,\n [data.length, width]\n );\n\n const y = useDerivedValue(() => {\n if (typeof at === 'number' || at.index != null) {\n const index = typeof at === 'number' ? at : at.index;\n const yForX = getYForX(parsedPath!, pointWidth * index) || 0;\n return withTiming(yForX + offsetY);\n }\n /**\n * <gutter>\n * | ---------- | <- yDomain.max |\n * | | | offsetTop\n * | | <- value |\n * | |\n * | | <- yDomain.min\n * <gutter>\n */\n\n const offsetTop = yDomain.max - at.value;\n const percentageOffsetTop = offsetTop / (yDomain.max - yDomain.min);\n\n const heightBetweenGutters = height - gutter * 2;\n\n const offsetTopPixels = gutter + percentageOffsetTop * heightBetweenGutters;\n\n return withTiming(offsetTopPixels + offsetY);\n });\n\n const lineAnimatedProps = useAnimatedProps(() => ({\n x1: 0,\n x2: width,\n y1: y.value,\n y2: y.value,\n }));\n\n return (\n <AnimatedLine\n animatedProps={lineAnimatedProps}\n strokeWidth={2}\n stroke={color}\n strokeDasharray=\"3 3\"\n {...lineProps}\n />\n );\n}\n"]}
|
|
@@ -7,15 +7,15 @@ exports.LineChartPath = LineChartPath;
|
|
|
7
7
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
|
-
var _reactNativeReanimated =
|
|
10
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
11
11
|
|
|
12
12
|
var _reactNativeSvg = require("react-native-svg");
|
|
13
13
|
|
|
14
14
|
var _Chart = require("./Chart");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _ChartPath = require("./ChartPath");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _useAnimatedPath = _interopRequireDefault(require("./useAnimatedPath"));
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
@@ -27,45 +27,34 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
27
27
|
|
|
28
28
|
const AnimatedPath = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Path);
|
|
29
29
|
|
|
30
|
+
LineChartPath.displayName = 'LineChartPath';
|
|
31
|
+
|
|
30
32
|
function LineChartPath({
|
|
31
33
|
color = 'black',
|
|
34
|
+
inactiveColor,
|
|
32
35
|
width: strokeWidth = 3,
|
|
33
|
-
isInactive,
|
|
34
|
-
isTransitionEnabled = true,
|
|
35
36
|
...props
|
|
36
37
|
}) {
|
|
37
38
|
const {
|
|
38
39
|
path
|
|
39
|
-
} = React.useContext(_Chart.LineChartDimensionsContext);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}, [path]);
|
|
51
|
-
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
52
|
-
let d = path || '';
|
|
53
|
-
|
|
54
|
-
if (previousPath && isTransitionEnabled) {
|
|
55
|
-
const pathInterpolator = (0, _interpolatePath.default)(previousPath, path, null);
|
|
56
|
-
d = pathInterpolator(transition.value);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return {
|
|
60
|
-
d
|
|
61
|
-
};
|
|
40
|
+
} = React.useContext(_Chart.LineChartDimensionsContext);
|
|
41
|
+
const {
|
|
42
|
+
isTransitionEnabled,
|
|
43
|
+
isInactive
|
|
44
|
+
} = React.useContext(_ChartPath.LineChartPathContext); ////////////////////////////////////////////////
|
|
45
|
+
|
|
46
|
+
const {
|
|
47
|
+
animatedProps
|
|
48
|
+
} = (0, _useAnimatedPath.default)({
|
|
49
|
+
enabled: isTransitionEnabled,
|
|
50
|
+
path
|
|
62
51
|
}); ////////////////////////////////////////////////
|
|
63
52
|
|
|
64
53
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnimatedPath, _extends({
|
|
65
54
|
animatedProps: animatedProps,
|
|
66
55
|
fill: "transparent",
|
|
67
|
-
stroke: color,
|
|
68
|
-
strokeOpacity: isInactive ? 0.2 : 1,
|
|
56
|
+
stroke: isInactive ? inactiveColor || color : color,
|
|
57
|
+
strokeOpacity: isInactive && !inactiveColor ? 0.2 : 1,
|
|
69
58
|
strokeWidth: strokeWidth
|
|
70
59
|
}, props)));
|
|
71
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Path.tsx"],"names":["AnimatedPath","Animated","createAnimatedComponent","Path","LineChartPath","
|
|
1
|
+
{"version":3,"sources":["Path.tsx"],"names":["AnimatedPath","Animated","createAnimatedComponent","Path","LineChartPath","displayName","color","inactiveColor","width","strokeWidth","props","path","React","useContext","LineChartDimensionsContext","isTransitionEnabled","isInactive","LineChartPathContext","animatedProps","enabled"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,+BAASC,uBAAT,CAAiCC,oBAAjC,CAArB;;AAyBAC,aAAa,CAACC,WAAd,GAA4B,eAA5B;;AAEO,SAASD,aAAT,CAAuB;AAC5BE,EAAAA,KAAK,GAAG,OADoB;AAE5BC,EAAAA,aAF4B;AAG5BC,EAAAA,KAAK,EAAEC,WAAW,GAAG,CAHO;AAI5B,KAAGC;AAJyB,CAAvB,EAKgB;AACrB,QAAM;AAAEC,IAAAA;AAAF,MAAWC,KAAK,CAACC,UAAN,CAAiBC,iCAAjB,CAAjB;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACJJ,KAAK,CAACC,UAAN,CAAiBI,+BAAjB,CADF,CAFqB,CAKrB;;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,8BAAgB;AACxCC,IAAAA,OAAO,EAAEJ,mBAD+B;AAExCJ,IAAAA;AAFwC,GAAhB,CAA1B,CAPqB,CAYrB;;AAEA,sBACE,uDACE,oBAAC,YAAD;AACE,IAAA,aAAa,EAAEO,aADjB;AAEE,IAAA,IAAI,EAAC,aAFP;AAGE,IAAA,MAAM,EAAEF,UAAU,GAAGT,aAAa,IAAID,KAApB,GAA4BA,KAHhD;AAIE,IAAA,aAAa,EAAEU,UAAU,IAAI,CAACT,aAAf,GAA+B,GAA/B,GAAqC,CAJtD;AAKE,IAAA,WAAW,EAAEE;AALf,KAMMC,KANN,EADF,CADF;AAYD","sourcesContent":["import * as React from 'react';\nimport Animated from 'react-native-reanimated';\nimport { Path, PathProps } from 'react-native-svg';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPathContext } from './ChartPath';\nimport useAnimatedPath from './useAnimatedPath';\n\nconst AnimatedPath = Animated.createAnimatedComponent(Path);\n\nexport type LineChartPathProps = Animated.AnimateProps<PathProps> & {\n color?: string;\n inactiveColor?: string;\n width?: number;\n isInactive?: boolean;\n /**\n * Default: `true`.\n *\n * If `false`, changes in the chart's path will not animate.\n *\n * While this use case is rare, it may be useful on web, where animations might not work as well.\n *\n * **Example**\n *\n * ```tsx\n * <LineChart.Path\n * pathProps={{ isTransitionEnabled: Platform.OS !== 'web' }}\n * />\n * ```\n */\n isTransitionEnabled?: boolean;\n};\n\nLineChartPath.displayName = 'LineChartPath';\n\nexport function LineChartPath({\n color = 'black',\n inactiveColor,\n width: strokeWidth = 3,\n ...props\n}: LineChartPathProps) {\n const { path } = React.useContext(LineChartDimensionsContext);\n const { isTransitionEnabled, isInactive } =\n React.useContext(LineChartPathContext);\n\n ////////////////////////////////////////////////\n\n const { animatedProps } = useAnimatedPath({\n enabled: isTransitionEnabled,\n path,\n });\n\n ////////////////////////////////////////////////\n\n return (\n <>\n <AnimatedPath\n animatedProps={animatedProps}\n fill=\"transparent\"\n stroke={isInactive ? inactiveColor || color : color}\n strokeOpacity={isInactive && !inactiveColor ? 0.2 : 1}\n strokeWidth={strokeWidth}\n {...props}\n />\n </>\n );\n}\n"]}
|
|
@@ -15,6 +15,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
17
|
|
|
18
|
+
LineChartPriceText.displayName = 'LineChartPriceText';
|
|
19
|
+
|
|
18
20
|
function LineChartPriceText({
|
|
19
21
|
format,
|
|
20
22
|
precision = 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PriceText.tsx"],"names":["LineChartPriceText","format","precision","variant","style","price"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;;;;;
|
|
1
|
+
{"version":3,"sources":["PriceText.tsx"],"names":["LineChartPriceText","displayName","format","precision","variant","style","price"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;;;;;AASAA,kBAAkB,CAACC,WAAnB,GAAiC,oBAAjC;;AAEO,SAASD,kBAAT,CAA4B;AACjCE,EAAAA,MADiC;AAEjCC,EAAAA,SAAS,GAAG,CAFqB;AAGjCC,EAAAA,OAAO,GAAG,WAHuB;AAIjCC,EAAAA;AAJiC,CAA5B,EAKqB;AAC1B,QAAMC,KAAK,GAAG,iCAAkB;AAAEJ,IAAAA,MAAF;AAAUC,IAAAA;AAAV,GAAlB,CAAd;AACA,sBAAO,oBAAC,0BAAD;AAAc,IAAA,IAAI,EAAEG,KAAK,CAACF,OAAD,CAAzB;AAAoC,IAAA,KAAK,EAAEC;AAA3C,IAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type { TextProps as RNTextProps } from 'react-native';\nimport type Animated from 'react-native-reanimated';\n\nimport { useLineChartPrice } from './usePrice';\nimport type { TFormatterFn } from '../candle/types';\nimport { AnimatedText } from '../../components/AnimatedText';\n\nexport type LineChartPriceTextProps = {\n format?: TFormatterFn<string>;\n precision?: number;\n variant?: 'formatted' | 'value';\n style?: Animated.AnimateProps<RNTextProps>['style'];\n};\n\nLineChartPriceText.displayName = 'LineChartPriceText';\n\nexport function LineChartPriceText({\n format,\n precision = 2,\n variant = 'formatted',\n style,\n}: LineChartPriceTextProps) {\n const price = useLineChartPrice({ format, precision });\n return <AnimatedText text={price[variant]} style={style} />;\n}\n"]}
|
|
@@ -23,6 +23,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
23
23
|
|
|
24
24
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
25
|
|
|
26
|
+
LineChartTooltip.displayName = 'LineChartTooltip';
|
|
27
|
+
|
|
26
28
|
function LineChartTooltip({
|
|
27
29
|
children,
|
|
28
30
|
xGutter = 8,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Tooltip.tsx"],"names":["LineChartTooltip","children","xGutter","yGutter","cursorGutter","position","textProps","textStyle","props","width","height","React","useContext","LineChartDimensionsContext","type","CursorContext","currentX","currentY","isActive","x","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","animatedCursorStyle","translateXOffset","xOffset","translateYOffset","transform","translateX","translateY","opacity","padding","alignSelf","style"],"mappings":";;;;;;;AAAA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["Tooltip.tsx"],"names":["LineChartTooltip","displayName","children","xGutter","yGutter","cursorGutter","position","textProps","textStyle","props","width","height","React","useContext","LineChartDimensionsContext","type","CursorContext","currentX","currentY","isActive","x","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","animatedCursorStyle","translateXOffset","xOffset","translateYOffset","transform","translateX","translateY","opacity","padding","alignSelf","style"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport type { ViewProps } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { CursorContext } from './Cursor';\nimport { LineChartPriceText, LineChartPriceTextProps } from './PriceText';\nimport { useLineChart } from './useLineChart';\n\ntype LineChartTooltipProps = Animated.AnimateProps<ViewProps> & {\n children?: React.ReactNode;\n xGutter?: number;\n yGutter?: number;\n cursorGutter?: number;\n position?: 'top' | 'bottom';\n textProps?: LineChartPriceTextProps;\n textStyle?: LineChartPriceTextProps['style'];\n};\n\nLineChartTooltip.displayName = 'LineChartTooltip';\n\nexport function LineChartTooltip({\n children,\n xGutter = 8,\n yGutter = 8,\n cursorGutter = 48,\n position = 'top',\n textProps,\n textStyle,\n ...props\n}: LineChartTooltipProps) {\n const { width, height } = React.useContext(LineChartDimensionsContext);\n const { type } = React.useContext(CursorContext);\n const { currentX, currentY, isActive } = useLineChart();\n\n const x = useSharedValue(0);\n const elementWidth = useSharedValue(0);\n const elementHeight = useSharedValue(0);\n\n const handleLayout = React.useCallback(\n (event) => {\n x.value = event.nativeEvent.layout.x;\n elementWidth.value = event.nativeEvent.layout.width;\n elementHeight.value = event.nativeEvent.layout.height;\n },\n [elementHeight, elementWidth, x]\n );\n\n const animatedCursorStyle = useAnimatedStyle(() => {\n let translateXOffset = elementWidth.value / 2;\n if (currentX.value < elementWidth.value / 2 + xGutter) {\n const xOffset = elementWidth.value / 2 + xGutter - currentX.value;\n translateXOffset = translateXOffset - xOffset;\n }\n if (currentX.value > width - elementWidth.value / 2 - xGutter) {\n const xOffset =\n currentX.value - (width - elementWidth.value / 2 - xGutter);\n translateXOffset = translateXOffset + xOffset;\n }\n\n let translateYOffset = 0;\n if (position === 'top') {\n translateYOffset = elementHeight.value / 2 + cursorGutter;\n if (currentY.value - translateYOffset < yGutter) {\n translateYOffset = currentY.value - yGutter;\n }\n } else if (position === 'bottom') {\n translateYOffset = -(elementHeight.value / 2) - cursorGutter / 2;\n if (\n currentY.value - translateYOffset + elementHeight.value >\n height - yGutter\n ) {\n translateYOffset =\n currentY.value - (height - yGutter) + elementHeight.value;\n }\n }\n\n return {\n transform: [\n { translateX: currentX.value - translateXOffset },\n {\n translateY:\n type === 'crosshair'\n ? currentY.value - translateYOffset\n : position === 'top'\n ? yGutter\n : height - elementHeight.value - yGutter,\n },\n ],\n opacity: isActive.value ? 1 : 0,\n };\n });\n\n return (\n <Animated.View\n onLayout={handleLayout}\n {...props}\n style={[\n {\n position: 'absolute',\n padding: 4,\n alignSelf: 'flex-start',\n },\n animatedCursorStyle,\n props.style,\n ]}\n >\n {children || <LineChartPriceText style={[textStyle]} {...textProps} />}\n </Animated.View>\n );\n}\n"]}
|
|
@@ -8,44 +8,44 @@ var _exportNames = {
|
|
|
8
8
|
};
|
|
9
9
|
exports.LineChart = void 0;
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _Chart = require("./Chart");
|
|
12
12
|
|
|
13
|
-
Object.keys(
|
|
13
|
+
Object.keys(_Chart).forEach(function (key) {
|
|
14
14
|
if (key === "default" || key === "__esModule") return;
|
|
15
15
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
16
|
-
if (key in exports && exports[key] ===
|
|
16
|
+
if (key in exports && exports[key] === _Chart[key]) return;
|
|
17
17
|
Object.defineProperty(exports, key, {
|
|
18
18
|
enumerable: true,
|
|
19
19
|
get: function () {
|
|
20
|
-
return
|
|
20
|
+
return _Chart[key];
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _ChartPath = require("./ChartPath");
|
|
26
26
|
|
|
27
|
-
Object.keys(
|
|
27
|
+
Object.keys(_ChartPath).forEach(function (key) {
|
|
28
28
|
if (key === "default" || key === "__esModule") return;
|
|
29
29
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
30
|
-
if (key in exports && exports[key] ===
|
|
30
|
+
if (key in exports && exports[key] === _ChartPath[key]) return;
|
|
31
31
|
Object.defineProperty(exports, key, {
|
|
32
32
|
enumerable: true,
|
|
33
33
|
get: function () {
|
|
34
|
-
return
|
|
34
|
+
return _ChartPath[key];
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var _Highlight = require("./Highlight");
|
|
40
40
|
|
|
41
|
-
Object.keys(
|
|
41
|
+
Object.keys(_Highlight).forEach(function (key) {
|
|
42
42
|
if (key === "default" || key === "__esModule") return;
|
|
43
43
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
44
|
-
if (key in exports && exports[key] ===
|
|
44
|
+
if (key in exports && exports[key] === _Highlight[key]) return;
|
|
45
45
|
Object.defineProperty(exports, key, {
|
|
46
46
|
enumerable: true,
|
|
47
47
|
get: function () {
|
|
48
|
-
return
|
|
48
|
+
return _Highlight[key];
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
});
|
|
@@ -106,6 +106,36 @@ Object.keys(_CursorLine).forEach(function (key) {
|
|
|
106
106
|
});
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
+
var _Dot = require("./Dot");
|
|
110
|
+
|
|
111
|
+
Object.keys(_Dot).forEach(function (key) {
|
|
112
|
+
if (key === "default" || key === "__esModule") return;
|
|
113
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
114
|
+
if (key in exports && exports[key] === _Dot[key]) return;
|
|
115
|
+
Object.defineProperty(exports, key, {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function () {
|
|
118
|
+
return _Dot[key];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
var _Gradient = require("./Gradient");
|
|
124
|
+
|
|
125
|
+
Object.keys(_Gradient).forEach(function (key) {
|
|
126
|
+
if (key === "default" || key === "__esModule") return;
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
128
|
+
if (key in exports && exports[key] === _Gradient[key]) return;
|
|
129
|
+
Object.defineProperty(exports, key, {
|
|
130
|
+
enumerable: true,
|
|
131
|
+
get: function () {
|
|
132
|
+
return _Gradient[key];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
var _Group = require("./Group");
|
|
138
|
+
|
|
109
139
|
var _HorizontalLine = require("./HorizontalLine");
|
|
110
140
|
|
|
111
141
|
var _Tooltip = require("./Tooltip");
|
|
@@ -192,10 +222,6 @@ Object.keys(_useLineChart).forEach(function (key) {
|
|
|
192
222
|
});
|
|
193
223
|
});
|
|
194
224
|
|
|
195
|
-
var _Group = require("./Group");
|
|
196
|
-
|
|
197
|
-
var _Dot = require("./Dot");
|
|
198
|
-
|
|
199
225
|
var _Path = require("./Path");
|
|
200
226
|
|
|
201
227
|
Object.keys(_Path).forEach(function (key) {
|
|
@@ -224,12 +250,15 @@ Object.keys(_types).forEach(function (key) {
|
|
|
224
250
|
});
|
|
225
251
|
});
|
|
226
252
|
const LineChart = Object.assign(_Chart.LineChart, {
|
|
227
|
-
Gradient: _Gradient.LineChartGradient,
|
|
228
253
|
Chart: _Chart.LineChart,
|
|
254
|
+
Dot: _Dot.LineChartDot,
|
|
229
255
|
Path: _ChartPath.LineChartPathWrapper,
|
|
230
256
|
Cursor: _Cursor.LineChartCursor,
|
|
231
257
|
CursorCrosshair: _CursorCrosshair.LineChartCursorCrosshair,
|
|
232
258
|
CursorLine: _CursorLine.LineChartCursorLine,
|
|
259
|
+
Gradient: _Gradient.LineChartGradient,
|
|
260
|
+
Group: _Group.LineChartGroup,
|
|
261
|
+
Highlight: _Highlight.LineChartHighlight,
|
|
233
262
|
HorizontalLine: _HorizontalLine.LineChartHorizontalLine,
|
|
234
263
|
Tooltip: _Tooltip.LineChartTooltip,
|
|
235
264
|
Provider: _Context.LineChartProvider,
|
|
@@ -237,9 +266,7 @@ const LineChart = Object.assign(_Chart.LineChart, {
|
|
|
237
266
|
DatetimeText: _DatetimeText.LineChartDatetimeText,
|
|
238
267
|
useDatetime: _useDatetime.useLineChartDatetime,
|
|
239
268
|
usePrice: _usePrice.useLineChartPrice,
|
|
240
|
-
useChart: _useLineChart.useLineChart
|
|
241
|
-
Group: _Group.LineChartGroup,
|
|
242
|
-
Dot: _Dot.LineChartDot
|
|
269
|
+
useChart: _useLineChart.useLineChart
|
|
243
270
|
});
|
|
244
271
|
exports.LineChart = LineChart;
|
|
245
272
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["LineChart","Object","assign","_LineChart","
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["LineChart","Object","assign","_LineChart","Chart","Dot","LineChartDot","Path","LineChartPathWrapper","Cursor","LineChartCursor","CursorCrosshair","LineChartCursorCrosshair","CursorLine","LineChartCursorLine","Gradient","LineChartGradient","Group","LineChartGroup","Highlight","LineChartHighlight","HorizontalLine","LineChartHorizontalLine","Tooltip","LineChartTooltip","Provider","LineChartProvider","PriceText","LineChartPriceText","DatetimeText","LineChartDatetimeText","useDatetime","useLineChartDatetime","usePrice","useLineChartPrice","useChart","useLineChart"],"mappings":";;;;;;;;;;AAAA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AACA;;AACA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAdA;;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAhBA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAHA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAMA,SAAS,GAAGC,MAAM,CAACC,MAAP,CAAcC,gBAAd,EAA0B;AACjDC,EAAAA,KAAK,EAAED,gBAD0C;AAEjDE,EAAAA,GAAG,EAAEC,iBAF4C;AAGjDC,EAAAA,IAAI,EAAEC,+BAH2C;AAIjDC,EAAAA,MAAM,EAAEC,uBAJyC;AAKjDC,EAAAA,eAAe,EAAEC,yCALgC;AAMjDC,EAAAA,UAAU,EAAEC,+BANqC;AAOjDC,EAAAA,QAAQ,EAAEC,2BAPuC;AAQjDC,EAAAA,KAAK,EAAEC,qBAR0C;AASjDC,EAAAA,SAAS,EAAEC,6BATsC;AAUjDC,EAAAA,cAAc,EAAEC,uCAViC;AAWjDC,EAAAA,OAAO,EAAEC,yBAXwC;AAYjDC,EAAAA,QAAQ,EAAEC,0BAZuC;AAajDC,EAAAA,SAAS,EAAEC,6BAbsC;AAcjDC,EAAAA,YAAY,EAAEC,mCAdmC;AAejDC,EAAAA,WAAW,EAAEC,iCAfoC;AAgBjDC,EAAAA,QAAQ,EAAEC,2BAhBuC;AAiBjDC,EAAAA,QAAQ,EAAEC;AAjBuC,CAA1B,CAAlB","sourcesContent":["import { LineChart as _LineChart } from './Chart';\nimport { LineChartPathWrapper } from './ChartPath';\nimport { LineChartHighlight } from './Highlight';\nimport { LineChartProvider } from './Context';\nimport { LineChartCursor } from './Cursor';\nimport { LineChartCursorCrosshair } from './CursorCrosshair';\nimport { LineChartCursorLine } from './CursorLine';\nimport { LineChartDot } from './Dot';\nimport { LineChartGradient } from './Gradient';\nimport { LineChartGroup } from './Group';\nimport { LineChartHorizontalLine } from './HorizontalLine';\nimport { LineChartTooltip } from './Tooltip';\nimport { LineChartPriceText } from './PriceText';\nimport { LineChartDatetimeText } from './DatetimeText';\nimport { useLineChartDatetime } from './useDatetime';\nimport { useLineChartPrice } from './usePrice';\nimport { useLineChart } from './useLineChart';\n\nexport * from './Chart';\nexport * from './ChartPath';\nexport * from './Highlight';\nexport * from './Context';\nexport * from './Cursor';\nexport * from './CursorCrosshair';\nexport * from './CursorLine';\nexport * from './Dot';\nexport * from './Gradient';\nexport * from './Tooltip';\nexport * from './DatetimeText';\nexport * from './Path';\nexport * from './PriceText';\nexport * from './useDatetime';\nexport * from './useLineChart';\nexport * from './usePrice';\nexport * from './types';\n\nexport const LineChart = Object.assign(_LineChart, {\n Chart: _LineChart,\n Dot: LineChartDot,\n Path: LineChartPathWrapper,\n Cursor: LineChartCursor,\n CursorCrosshair: LineChartCursorCrosshair,\n CursorLine: LineChartCursorLine,\n Gradient: LineChartGradient,\n Group: LineChartGroup,\n Highlight: LineChartHighlight,\n HorizontalLine: LineChartHorizontalLine,\n Tooltip: LineChartTooltip,\n Provider: LineChartProvider,\n PriceText: LineChartPriceText,\n DatetimeText: LineChartDatetimeText,\n useDatetime: useLineChartDatetime,\n usePrice: useLineChartPrice,\n useChart: useLineChart,\n});\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useAnimatedPath;
|
|
7
|
+
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
|
|
10
|
+
var _utils = require("../../utils");
|
|
11
|
+
|
|
12
|
+
var _utils2 = require("./utils");
|
|
13
|
+
|
|
14
|
+
function useAnimatedPath({
|
|
15
|
+
enabled = true,
|
|
16
|
+
path
|
|
17
|
+
}) {
|
|
18
|
+
const transition = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
19
|
+
const previousPath = (0, _utils.usePrevious)(path);
|
|
20
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => {
|
|
21
|
+
return path;
|
|
22
|
+
}, (_, previous) => {
|
|
23
|
+
if (previous) {
|
|
24
|
+
transition.value = 0;
|
|
25
|
+
transition.value = (0, _reactNativeReanimated.withTiming)(1);
|
|
26
|
+
}
|
|
27
|
+
}, [path]);
|
|
28
|
+
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
29
|
+
let d = path || '';
|
|
30
|
+
|
|
31
|
+
if (previousPath && enabled) {
|
|
32
|
+
const pathInterpolator = (0, _utils2.interpolatePath)(previousPath, path, null);
|
|
33
|
+
d = pathInterpolator(transition.value);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
d
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
animatedProps
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=useAnimatedPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useAnimatedPath.ts"],"names":["useAnimatedPath","enabled","path","transition","previousPath","_","previous","value","animatedProps","d","pathInterpolator"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AAEe,SAASA,eAAT,CAAyB;AACtCC,EAAAA,OAAO,GAAG,IAD4B;AAEtCC,EAAAA;AAFsC,CAAzB,EAMZ;AACD,QAAMC,UAAU,GAAG,2CAAe,CAAf,CAAnB;AAEA,QAAMC,YAAY,GAAG,wBAAYF,IAAZ,CAArB;AAEA,kDACE,MAAM;AACJ,WAAOA,IAAP;AACD,GAHH,EAIE,CAACG,CAAD,EAAIC,QAAJ,KAAiB;AACf,QAAIA,QAAJ,EAAc;AACZH,MAAAA,UAAU,CAACI,KAAX,GAAmB,CAAnB;AACAJ,MAAAA,UAAU,CAACI,KAAX,GAAmB,uCAAW,CAAX,CAAnB;AACD;AACF,GATH,EAUE,CAACL,IAAD,CAVF;AAaA,QAAMM,aAAa,GAAG,6CAAiB,MAAM;AAC3C,QAAIC,CAAC,GAAGP,IAAI,IAAI,EAAhB;;AACA,QAAIE,YAAY,IAAIH,OAApB,EAA6B;AAC3B,YAAMS,gBAAgB,GAAG,6BAAgBN,YAAhB,EAA8BF,IAA9B,EAAoC,IAApC,CAAzB;AACAO,MAAAA,CAAC,GAAGC,gBAAgB,CAACP,UAAU,CAACI,KAAZ,CAApB;AACD;;AACD,WAAO;AACLE,MAAAA;AADK,KAAP;AAGD,GATqB,CAAtB;AAWA,SAAO;AAAED,IAAAA;AAAF,GAAP;AACD","sourcesContent":["import {\n useAnimatedProps,\n useAnimatedReaction,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { usePrevious } from '../../utils';\nimport { interpolatePath } from './utils';\n\nexport default function useAnimatedPath({\n enabled = true,\n path,\n}: {\n enabled?: boolean;\n path: string;\n}) {\n const transition = useSharedValue(0);\n\n const previousPath = usePrevious(path);\n\n useAnimatedReaction(\n () => {\n return path;\n },\n (_, previous) => {\n if (previous) {\n transition.value = 0;\n transition.value = withTiming(1);\n }\n },\n [path]\n );\n\n const animatedProps = useAnimatedProps(() => {\n let d = path || '';\n if (previousPath && enabled) {\n const pathInterpolator = interpolatePath(previousPath, path, null);\n d = pathInterpolator(transition.value);\n }\n return {\n d,\n };\n });\n\n return { animatedProps };\n}\n"]}
|
|
@@ -3,9 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getDomain = getDomain;
|
|
7
|
-
exports.lineChartDataPropToArray = lineChartDataPropToArray;
|
|
8
|
-
exports.getPath = getPath;
|
|
9
6
|
exports.getArea = getArea;
|
|
10
7
|
|
|
11
8
|
var shape = _interopRequireWildcard(require("d3-shape"));
|
|
@@ -18,56 +15,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
18
15
|
|
|
19
16
|
// @ts-ignore
|
|
20
17
|
// @ts-ignore
|
|
21
|
-
function getDomain(rows) {
|
|
22
|
-
'worklet';
|
|
23
|
-
|
|
24
|
-
const values = rows.map(({
|
|
25
|
-
value
|
|
26
|
-
}) => value);
|
|
27
|
-
return [Math.min(...values), Math.max(...values)];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function lineChartDataPropToArray(dataProp) {
|
|
31
|
-
'worklet';
|
|
32
|
-
|
|
33
|
-
if (!dataProp) {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (Array.isArray(dataProp)) {
|
|
38
|
-
return dataProp;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const data = [];
|
|
42
|
-
Object.values(dataProp).forEach(dataSet => {
|
|
43
|
-
if (dataSet) {
|
|
44
|
-
data.push(...dataSet);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
return data;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function getPath({
|
|
51
|
-
data,
|
|
52
|
-
width,
|
|
53
|
-
height,
|
|
54
|
-
gutter,
|
|
55
|
-
shape: _shape = shape.curveBumpX,
|
|
56
|
-
yDomain
|
|
57
|
-
}) {
|
|
58
|
-
const timestamps = data.map((_, i) => i);
|
|
59
|
-
const scaleX = (0, _d3Scale.scaleLinear)().domain([Math.min(...timestamps), Math.max(...timestamps)]).range([0, width]);
|
|
60
|
-
const scaleY = (0, _d3Scale.scaleLinear)().domain([yDomain.min, yDomain.max]).range([height - gutter, gutter]);
|
|
61
|
-
const path = shape.line().x((_, i) => scaleX(i)).y(d => scaleY(d.value)).curve(_shape)(data);
|
|
62
|
-
return path;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
18
|
function getArea({
|
|
66
19
|
data,
|
|
67
20
|
width,
|
|
68
21
|
height,
|
|
69
22
|
gutter,
|
|
70
|
-
shape: _shape
|
|
23
|
+
shape: _shape,
|
|
71
24
|
yDomain
|
|
72
25
|
}) {
|
|
73
26
|
const timestamps = data.map((_, i) => i);
|
|
@@ -76,4 +29,4 @@ function getArea({
|
|
|
76
29
|
const area = shape.area().x((_, i) => scaleX(i)).y0(d => scaleY(d.value)).y1(() => height).curve(_shape)(data);
|
|
77
30
|
return area;
|
|
78
31
|
}
|
|
79
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=getArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getArea.ts"],"names":["getArea","data","width","height","gutter","shape","_shape","yDomain","timestamps","map","_","i","scaleX","domain","Math","min","max","range","scaleY","area","x","y0","d","value","y1","curve"],"mappings":";;;;;;;AACA;;AAEA;;;;;;AAHA;AAEA;AAKO,SAASA,OAAT,CAAiB;AACtBC,EAAAA,IADsB;AAEtBC,EAAAA,KAFsB;AAGtBC,EAAAA,MAHsB;AAItBC,EAAAA,MAJsB;AAKtBC,EAAAA,KAAK,EAAEC,MALe;AAMtBC,EAAAA;AANsB,CAAjB,EAcI;AACT,QAAMC,UAAU,GAAGP,IAAI,CAACQ,GAAL,CAAS,CAACC,CAAD,EAAIC,CAAJ,KAAUA,CAAnB,CAAnB;AAEA,QAAMC,MAAM,GAAG,4BACZC,MADY,CACL,CAACC,IAAI,CAACC,GAAL,CAAS,GAAGP,UAAZ,CAAD,EAA0BM,IAAI,CAACE,GAAL,CAAS,GAAGR,UAAZ,CAA1B,CADK,EAEZS,KAFY,CAEN,CAAC,CAAD,EAAIf,KAAJ,CAFM,CAAf;AAGA,QAAMgB,MAAM,GAAG,4BACZL,MADY,CACL,CAACN,OAAO,CAACQ,GAAT,EAAcR,OAAO,CAACS,GAAtB,CADK,EAEZC,KAFY,CAEN,CAACd,MAAM,GAAGC,MAAV,EAAkBA,MAAlB,CAFM,CAAf;AAGA,QAAMe,IAAI,GAAGd,KAAK,CACfc,IADU,GAEVC,CAFU,CAER,CAACV,CAAD,EAAaC,CAAb,KAA2BC,MAAM,CAACD,CAAD,CAFzB,EAGVU,EAHU,CAGNC,CAAD,IAA2BJ,MAAM,CAACI,CAAC,CAACC,KAAH,CAH1B,EAIVC,EAJU,CAIP,MAAMrB,MAJC,EAKVsB,KALU,CAKJnB,MALI,EAKIL,IALJ,CAAb;AAMA,SAAOkB,IAAP;AACD","sourcesContent":["// @ts-ignore\nimport * as shape from 'd3-shape';\n// @ts-ignore\nimport { scaleLinear } from 'd3-scale';\n\nimport type { TLineChartData, YDomain } from '../types';\n\nexport function getArea({\n data,\n width,\n height,\n gutter,\n shape: _shape,\n yDomain,\n}: {\n data: TLineChartData;\n width: number;\n height: number;\n gutter: number;\n shape?: unknown;\n yDomain: YDomain;\n}): string {\n const timestamps = data.map((_, i) => i);\n\n const scaleX = scaleLinear()\n .domain([Math.min(...timestamps), Math.max(...timestamps)])\n .range([0, width]);\n const scaleY = scaleLinear()\n .domain([yDomain.min, yDomain.max])\n .range([height - gutter, gutter]);\n const area = shape\n .area()\n .x((_: unknown, i: number) => scaleX(i))\n .y0((d: { value: unknown }) => scaleY(d.value))\n .y1(() => height)\n .curve(_shape)(data);\n return area;\n}\n"]}
|