@obitrain/charts 0.10.4 → 0.12.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 +6 -4
- package/lib/commonjs/Charts/BottomAxis/AxisLine.js +1 -1
- package/lib/commonjs/Charts/BottomAxis/BottomAxis.js +54 -14
- package/lib/commonjs/Charts/BottomAxis/BottomAxis.js.map +1 -1
- package/lib/commonjs/Charts/BottomAxis/Tick.js +29 -13
- package/lib/commonjs/Charts/BottomAxis/Tick.js.map +1 -1
- package/lib/commonjs/Charts/BottomAxis/index.js.map +1 -1
- package/lib/commonjs/Charts/Cursor.js +33 -13
- package/lib/commonjs/Charts/Cursor.js.map +1 -1
- package/lib/commonjs/Charts/Dot.js +51 -0
- package/lib/commonjs/Charts/Dot.js.map +1 -0
- package/lib/commonjs/Charts/Dots.js +74 -0
- package/lib/commonjs/Charts/Dots.js.map +1 -0
- package/lib/commonjs/Charts/Linechart/index.js +1 -1
- package/lib/commonjs/Charts/YAxis.js +77 -0
- package/lib/commonjs/Charts/YAxis.js.map +1 -0
- package/lib/commonjs/Charts/ZoomableLinechart/ScalablePath.js +5 -4
- package/lib/commonjs/Charts/ZoomableLinechart/ScalablePath.js.map +1 -1
- package/lib/commonjs/Charts/ZoomableLinechart/index.js +1 -1
- package/lib/commonjs/Charts/gesture.js +90 -38
- package/lib/commonjs/Charts/gesture.js.map +1 -1
- package/lib/commonjs/Charts/graphUtils.js +69 -16
- package/lib/commonjs/Charts/graphUtils.js.map +1 -1
- package/lib/commonjs/Charts/index.js +39 -0
- package/lib/commonjs/Charts/index.js.map +1 -1
- package/lib/commonjs/Charts/maths.js +107 -16
- package/lib/commonjs/Charts/maths.js.map +1 -1
- package/lib/module/Charts/BottomAxis/AxisLine.js +1 -1
- package/lib/module/Charts/BottomAxis/AxisLine.js.map +1 -1
- package/lib/module/Charts/BottomAxis/BottomAxis.js +56 -15
- package/lib/module/Charts/BottomAxis/BottomAxis.js.map +1 -1
- package/lib/module/Charts/BottomAxis/Tick.js +29 -11
- package/lib/module/Charts/BottomAxis/Tick.js.map +1 -1
- package/lib/module/Charts/BottomAxis/index.js.map +1 -1
- package/lib/module/Charts/Cursor.js +35 -15
- package/lib/module/Charts/Cursor.js.map +1 -1
- package/lib/module/Charts/Dot.js +47 -0
- package/lib/module/Charts/Dot.js.map +1 -0
- package/lib/module/Charts/Dots.js +70 -0
- package/lib/module/Charts/Dots.js.map +1 -0
- package/lib/module/Charts/Linechart/index.js +1 -1
- package/lib/module/Charts/Linechart/index.js.map +1 -1
- package/lib/module/Charts/YAxis.js +73 -0
- package/lib/module/Charts/YAxis.js.map +1 -0
- package/lib/module/Charts/ZoomableLinechart/ScalablePath.js +5 -4
- package/lib/module/Charts/ZoomableLinechart/ScalablePath.js.map +1 -1
- package/lib/module/Charts/ZoomableLinechart/index.js +1 -1
- package/lib/module/Charts/ZoomableLinechart/index.js.map +1 -1
- package/lib/module/Charts/gesture.js +90 -39
- package/lib/module/Charts/gesture.js.map +1 -1
- package/lib/module/Charts/graphUtils.js +71 -18
- package/lib/module/Charts/graphUtils.js.map +1 -1
- package/lib/module/Charts/index.js +5 -2
- package/lib/module/Charts/index.js.map +1 -1
- package/lib/module/Charts/maths.js +101 -14
- package/lib/module/Charts/maths.js.map +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/AxisLine.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/AxisLine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/BottomAxis.d.ts +26 -3
- package/lib/typescript/commonjs/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts +16 -3
- package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/Cursor.d.ts +5 -2
- package/lib/typescript/commonjs/src/Charts/Cursor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/Dot.d.ts +22 -0
- package/lib/typescript/commonjs/src/Charts/Dot.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/Charts/Dots.d.ts +28 -0
- package/lib/typescript/commonjs/src/Charts/Dots.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/Charts/Linechart/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/Linechart/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/YAxis.d.ts +21 -0
- package/lib/typescript/commonjs/src/Charts/YAxis.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/ScalablePath.d.ts +2 -2
- package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/ScalablePath.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/gesture.d.ts +6 -0
- package/lib/typescript/commonjs/src/Charts/gesture.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/graphUtils.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/graphUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/index.d.ts +9 -3
- package/lib/typescript/commonjs/src/Charts/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/maths.d.ts +15 -1
- package/lib/typescript/commonjs/src/Charts/maths.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/AxisLine.d.ts +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/AxisLine.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/BottomAxis.d.ts +26 -3
- package/lib/typescript/module/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts +16 -3
- package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/index.d.ts +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/index.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/Cursor.d.ts +5 -2
- package/lib/typescript/module/src/Charts/Cursor.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/Dot.d.ts +22 -0
- package/lib/typescript/module/src/Charts/Dot.d.ts.map +1 -0
- package/lib/typescript/module/src/Charts/Dots.d.ts +28 -0
- package/lib/typescript/module/src/Charts/Dots.d.ts.map +1 -0
- package/lib/typescript/module/src/Charts/Linechart/index.d.ts +1 -1
- package/lib/typescript/module/src/Charts/Linechart/index.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/YAxis.d.ts +21 -0
- package/lib/typescript/module/src/Charts/YAxis.d.ts.map +1 -0
- package/lib/typescript/module/src/Charts/ZoomableLinechart/ScalablePath.d.ts +2 -2
- package/lib/typescript/module/src/Charts/ZoomableLinechart/ScalablePath.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/ZoomableLinechart/index.d.ts +1 -1
- package/lib/typescript/module/src/Charts/ZoomableLinechart/index.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/gesture.d.ts +6 -0
- package/lib/typescript/module/src/Charts/gesture.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/graphUtils.d.ts +1 -1
- package/lib/typescript/module/src/Charts/graphUtils.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/index.d.ts +9 -3
- package/lib/typescript/module/src/Charts/index.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/maths.d.ts +15 -1
- package/lib/typescript/module/src/Charts/maths.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/Charts/BottomAxis/AxisLine.tsx +1 -1
- package/src/Charts/BottomAxis/BottomAxis.tsx +100 -19
- package/src/Charts/BottomAxis/Tick.tsx +61 -15
- package/src/Charts/BottomAxis/index.tsx +5 -1
- package/src/Charts/Cursor.tsx +38 -10
- package/src/Charts/Dot.tsx +64 -0
- package/src/Charts/Dots.tsx +96 -0
- package/src/Charts/Linechart/index.tsx +1 -1
- package/src/Charts/YAxis.tsx +103 -0
- package/src/Charts/ZoomableLinechart/ScalablePath.tsx +8 -9
- package/src/Charts/ZoomableLinechart/index.tsx +1 -1
- package/src/Charts/gesture.ts +132 -71
- package/src/Charts/graphUtils.ts +78 -16
- package/src/Charts/index.tsx +9 -0
- package/src/Charts/maths.ts +107 -16
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ zoomable/pannable variant, a scalable bottom axis and a cursor, all driven from
|
|
|
9
9
|
|
|
10
10
|
```sh
|
|
11
11
|
yarn add @obitrain/charts
|
|
12
|
-
yarn add
|
|
12
|
+
yarn add react-native-skia react-native-reanimated react-native-worklets react-native-gesture-handler d3-scale d3-shape
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
`react-native-worklets` is only needed with Reanimated 4 (it is an optional peer dependency).
|
|
@@ -18,7 +18,7 @@ yarn add @shopify/react-native-skia react-native-reanimated react-native-worklet
|
|
|
18
18
|
|
|
19
19
|
| Peer dependency | Supported versions |
|
|
20
20
|
| ---------------------------- | ----------------------------------------------------- |
|
|
21
|
-
|
|
|
21
|
+
| `react-native-skia` | `>=3.0.4` (Android minSdk 26) |
|
|
22
22
|
| `react-native-reanimated` | 3.x or 4.x |
|
|
23
23
|
| `react-native-worklets` | `>=0.10.0` (optional, required with Reanimated 4) |
|
|
24
24
|
| `react-native-gesture-handler` | 2.x or 3.x |
|
|
@@ -155,8 +155,10 @@ From `example/src/screens/DotsScreen`.
|
|
|
155
155
|
|
|
156
156
|

|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
Two series with hollow markers (ring and diamond), pinch-to-zoom with live-clamped panning, period
|
|
159
|
+
presets, and a light/dark themed time axis whose bucketing and labels adapt to the visible window
|
|
160
|
+
(years → months → weeks → days). See the [implementation notes](./docs/advanced-chart.md).
|
|
161
|
+
From `example/src/screens/AdvancedChartScreen`.
|
|
160
162
|
|
|
161
163
|
## Example app
|
|
162
164
|
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AxisLine = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
10
|
var _gesture = require("../gesture.js");
|
|
@@ -4,41 +4,81 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BottomAxis = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _react = require("react");
|
|
8
9
|
var _AxisLine = require("./AxisLine.js");
|
|
9
10
|
var _Tick = require("./Tick.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
|
|
12
|
+
/** A tick at an explicit position in graph space, as returned by a d3 scale. */
|
|
12
13
|
|
|
13
14
|
const BottomAxis = function (props) {
|
|
14
15
|
const {
|
|
15
16
|
labels,
|
|
17
|
+
ticks,
|
|
16
18
|
scale,
|
|
17
19
|
focalX,
|
|
18
20
|
offsetX,
|
|
19
21
|
style,
|
|
20
22
|
width,
|
|
21
|
-
font
|
|
23
|
+
font,
|
|
24
|
+
offsetY = 0,
|
|
25
|
+
standalone = true,
|
|
26
|
+
showAxisLine = true,
|
|
27
|
+
color,
|
|
28
|
+
labelColor,
|
|
29
|
+
tickLength,
|
|
30
|
+
strokeWidth,
|
|
31
|
+
dash,
|
|
32
|
+
labelAlign,
|
|
33
|
+
labelGap,
|
|
34
|
+
showLabels
|
|
22
35
|
} = props;
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
const items = (0, _react.useMemo)(() => {
|
|
37
|
+
if (ticks !== undefined) return ticks;
|
|
38
|
+
if (labels === undefined) return [];
|
|
39
|
+
const interval = labels.length > 1 ? width / (labels.length - 1) : 0;
|
|
40
|
+
return labels.map((label, i) => ({
|
|
41
|
+
x: interval * i,
|
|
42
|
+
label
|
|
43
|
+
}));
|
|
44
|
+
}, [ticks, labels, width]);
|
|
45
|
+
|
|
46
|
+
// Callers naturally write `dash={[3, 4]}`; keying the memo on the values
|
|
47
|
+
// keeps one reference so the memoized Ticks are not rebuilt every render
|
|
48
|
+
const dashStart = dash?.[0];
|
|
49
|
+
const dashEnd = dash?.[1];
|
|
50
|
+
const dashIntervals = (0, _react.useMemo)(() => dashStart === undefined || dashEnd === undefined ? undefined : [dashStart, dashEnd], [dashStart, dashEnd]);
|
|
51
|
+
const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
52
|
+
children: [showAxisLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AxisLine.AxisLine, {
|
|
28
53
|
width,
|
|
29
54
|
offsetY,
|
|
30
55
|
focalX,
|
|
31
56
|
scale,
|
|
32
|
-
offsetX
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
57
|
+
offsetX,
|
|
58
|
+
color,
|
|
59
|
+
strokeWidth
|
|
60
|
+
}) : null, items.map(tick => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tick.Tick, {
|
|
61
|
+
initPosition: tick.x,
|
|
62
|
+
label: tick.label,
|
|
63
|
+
dash: dashIntervals,
|
|
36
64
|
offsetX,
|
|
37
65
|
offsetY,
|
|
38
66
|
focalX,
|
|
39
67
|
scale,
|
|
40
|
-
font
|
|
41
|
-
|
|
68
|
+
font,
|
|
69
|
+
color,
|
|
70
|
+
labelColor,
|
|
71
|
+
tickLength,
|
|
72
|
+
strokeWidth,
|
|
73
|
+
labelAlign,
|
|
74
|
+
labelGap,
|
|
75
|
+
showLabel: showLabels
|
|
76
|
+
}, `${tick.x}:${tick.label}`))]
|
|
77
|
+
});
|
|
78
|
+
if (!standalone) return content;
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Canvas, {
|
|
80
|
+
style: style,
|
|
81
|
+
children: content
|
|
42
82
|
});
|
|
43
83
|
};
|
|
44
84
|
exports.BottomAxis = BottomAxis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSkia","require","_AxisLine","_Tick","_jsxRuntime","BottomAxis","props","labels","scale","focalX","offsetX","style","width","font","offsetY","
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_react","_AxisLine","_Tick","_jsxRuntime","BottomAxis","props","labels","ticks","scale","focalX","offsetX","style","width","font","offsetY","standalone","showAxisLine","color","labelColor","tickLength","strokeWidth","dash","labelAlign","labelGap","showLabels","items","useMemo","undefined","interval","length","map","label","i","x","dashStart","dashEnd","dashIntervals","content","jsxs","Fragment","children","jsx","AxisLine","tick","Tick","initPosition","showLabel","Canvas","exports"],"sourceRoot":"../../../../src","sources":["Charts/BottomAxis/BottomAxis.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,40 +4,56 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Tick = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
8
|
-
var _react =
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
10
|
var _gesture = require("../gesture.js");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function
|
|
13
|
-
const Tick = props => {
|
|
12
|
+
const TickComponent = function (props) {
|
|
14
13
|
const {
|
|
15
14
|
label,
|
|
16
15
|
scale,
|
|
17
16
|
focalX,
|
|
18
17
|
offsetX,
|
|
19
18
|
initPosition,
|
|
20
|
-
font
|
|
19
|
+
font,
|
|
20
|
+
color = 'black',
|
|
21
|
+
labelColor,
|
|
22
|
+
tickLength = 10,
|
|
23
|
+
strokeWidth,
|
|
24
|
+
dash,
|
|
25
|
+
showLabel = true,
|
|
26
|
+
labelAlign = 'center',
|
|
27
|
+
labelGap = 6
|
|
21
28
|
} = props;
|
|
22
29
|
const offsetY = props.offsetY ?? 0;
|
|
23
30
|
const transform = (0, _reactNativeReanimated.useDerivedValue)(() => [{
|
|
24
31
|
translateX: (0, _gesture.getPositionWl)(initPosition, focalX.value, scale.value, offsetX.value)
|
|
25
32
|
}]);
|
|
26
|
-
const width = font.getGlyphWidths(font.getGlyphIDs(label)).reduce((a, b) => a + b, 0);
|
|
33
|
+
const width = (0, _react.useMemo)(() => font.getGlyphWidths(font.getGlyphIDs(label)).reduce((a, b) => a + b, 0), [font, label]);
|
|
34
|
+
const labelX = labelAlign === 'left' ? labelGap : -width / 2;
|
|
27
35
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
28
36
|
transform: transform,
|
|
29
37
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Line, {
|
|
30
|
-
color:
|
|
38
|
+
color: color,
|
|
39
|
+
strokeWidth: strokeWidth,
|
|
31
40
|
p1: (0, _reactNativeSkia.vec)(0, offsetY),
|
|
32
|
-
p2: (0, _reactNativeSkia.vec)(0, offsetY +
|
|
33
|
-
|
|
41
|
+
p2: (0, _reactNativeSkia.vec)(0, offsetY + tickLength),
|
|
42
|
+
children: dash !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.DashPathEffect, {
|
|
43
|
+
intervals: dash
|
|
44
|
+
}) : null
|
|
45
|
+
}), showLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Text, {
|
|
34
46
|
text: label,
|
|
35
|
-
color:
|
|
36
|
-
x:
|
|
47
|
+
color: labelColor ?? color,
|
|
48
|
+
x: labelX,
|
|
37
49
|
y: offsetY + 23,
|
|
38
50
|
font: font
|
|
39
|
-
})]
|
|
51
|
+
}) : null]
|
|
40
52
|
});
|
|
41
53
|
};
|
|
42
|
-
|
|
54
|
+
|
|
55
|
+
// Memoized: zoom/pan flows through shared values, so a Tick only needs to
|
|
56
|
+
// re-render when its label or base position changes
|
|
57
|
+
const Tick = exports.Tick = /*#__PURE__*/(0, _react.memo)(TickComponent);
|
|
58
|
+
Tick.displayName = 'Tick';
|
|
43
59
|
//# sourceMappingURL=Tick.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSkia","require","_react","
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_react","_reactNativeReanimated","_gesture","_jsxRuntime","TickComponent","props","label","scale","focalX","offsetX","initPosition","font","color","labelColor","tickLength","strokeWidth","dash","showLabel","labelAlign","labelGap","offsetY","transform","useDerivedValue","translateX","getPositionWl","value","width","useMemo","getGlyphWidths","getGlyphIDs","reduce","a","b","labelX","jsxs","Group","children","jsx","Line","p1","vec","p2","undefined","DashPathEffect","intervals","Text","text","x","y","Tick","exports","memo","displayName"],"sourceRoot":"../../../../src","sources":["Charts/BottomAxis/Tick.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AASA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA2C,IAAAI,WAAA,GAAAJ,OAAA;AAwB3C,MAAMK,aAAa,GAAG,SAAAA,CAAUC,KAAgB,EAAE;EAChD,MAAM;IACJC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,YAAY;IACZC,IAAI;IACJC,KAAK,GAAG,OAAO;IACfC,UAAU;IACVC,UAAU,GAAG,EAAE;IACfC,WAAW;IACXC,IAAI;IACJC,SAAS,GAAG,IAAI;IAChBC,UAAU,GAAG,QAAQ;IACrBC,QAAQ,GAAG;EACb,CAAC,GAAGd,KAAK;EACT,MAAMe,OAAO,GAAGf,KAAK,CAACe,OAAO,IAAI,CAAC;EAClC,MAAMC,SAAS,GAAG,IAAAC,sCAAe,EAAC,MAAM,CACtC;IACEC,UAAU,EAAE,IAAAC,sBAAa,EACvBd,YAAY,EACZF,MAAM,CAACiB,KAAK,EACZlB,KAAK,CAACkB,KAAK,EACXhB,OAAO,CAACgB,KACV;EACF,CAAC,CACF,CAAC;EACF,MAAMC,KAAK,GAAG,IAAAC,cAAO,EACnB,MACEhB,IAAI,CAACiB,cAAc,CAACjB,IAAI,CAACkB,WAAW,CAACvB,KAAK,CAAC,CAAC,CAACwB,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC,EACzE,CAACrB,IAAI,EAAEL,KAAK,CACd,CAAC;EACD,MAAM2B,MAAM,GAAGf,UAAU,KAAK,MAAM,GAAGC,QAAQ,GAAG,CAACO,KAAK,GAAG,CAAC;EAE5D,oBACE,IAAAvB,WAAA,CAAA+B,IAAA,EAACpC,gBAAA,CAAAqC,KAAK;IAACd,SAAS,EAAEA,SAAU;IAAAe,QAAA,gBAC1B,IAAAjC,WAAA,CAAAkC,GAAA,EAACvC,gBAAA,CAAAwC,IAAI;MACH1B,KAAK,EAAEA,KAAM;MACbG,WAAW,EAAEA,WAAY;MACzBwB,EAAE,EAAE,IAAAC,oBAAG,EAAC,CAAC,EAAEpB,OAAO,CAAE;MACpBqB,EAAE,EAAE,IAAAD,oBAAG,EAAC,CAAC,EAAEpB,OAAO,GAAGN,UAAU,CAAE;MAAAsB,QAAA,EAEhCpB,IAAI,KAAK0B,SAAS,gBAAG,IAAAvC,WAAA,CAAAkC,GAAA,EAACvC,gBAAA,CAAA6C,cAAc;QAACC,SAAS,EAAE5B;MAAK,CAAE,CAAC,GAAG;IAAI,CAC5D,CAAC,EACNC,SAAS,gBACR,IAAAd,WAAA,CAAAkC,GAAA,EAACvC,gBAAA,CAAA+C,IAAI;MACHC,IAAI,EAAExC,KAAM;MACZM,KAAK,EAAEC,UAAU,IAAID,KAAM;MAC3BmC,CAAC,EAAEd,MAAO;MACVe,CAAC,EAAE5B,OAAO,GAAG,EAAG;MAChBT,IAAI,EAAEA;IAAK,CACZ,CAAC,GACA,IAAI;EAAA,CACH,CAAC;AAEZ,CAAC;;AAED;AACA;AACO,MAAMsC,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAG,IAAAE,WAAI,EAAC/C,aAAa,CAAC;AACvC6C,IAAI,CAACG,WAAW,GAAG,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AxisLine","require","_BottomAxis","_Tick"],"sourceRoot":"../../../../src","sources":["Charts/BottomAxis/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_AxisLine","require","_BottomAxis","_Tick"],"sourceRoot":"../../../../src","sources":["Charts/BottomAxis/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA","ignoreList":[]}
|
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Cursor = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _react = require("react");
|
|
8
9
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
10
|
var _maths = require("./maths.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -13,19 +14,28 @@ const Cursor = function ({
|
|
|
13
14
|
commands,
|
|
14
15
|
positionX,
|
|
15
16
|
color,
|
|
17
|
+
strokeColor,
|
|
18
|
+
strokeWidth = 2,
|
|
16
19
|
currentValue,
|
|
17
20
|
translateY,
|
|
18
21
|
size = CURSOR_SIZE
|
|
19
22
|
}) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const conflictingProps = currentValue !== undefined && translateY !== undefined;
|
|
24
|
+
(0, _react.useEffect)(() => {
|
|
25
|
+
if (conflictingProps) console.warn('currentValue has no effect when translateY is set');
|
|
26
|
+
}, [conflictingProps]);
|
|
27
|
+
|
|
28
|
+
// Normalized once per path change, not on every cursor move
|
|
29
|
+
const beziers = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
24
30
|
const _commands = commands?.value;
|
|
25
|
-
|
|
31
|
+
return _commands === undefined ? undefined : (0, _maths.commandsToBezier)(_commands);
|
|
32
|
+
});
|
|
33
|
+
const derivedTranslateY = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
34
|
+
const _beziers = beziers.value;
|
|
35
|
+
if (_beziers === undefined) {
|
|
26
36
|
return 0;
|
|
27
37
|
}
|
|
28
|
-
const _value = (0, _maths.
|
|
38
|
+
const _value = (0, _maths.getYForXOnBeziers)(_beziers, positionX.value) ?? 0;
|
|
29
39
|
if (translateY === undefined && currentValue !== undefined) {
|
|
30
40
|
currentValue.value = _value;
|
|
31
41
|
}
|
|
@@ -37,12 +47,22 @@ const Cursor = function ({
|
|
|
37
47
|
}, {
|
|
38
48
|
translateY: _translateY.value ?? 0
|
|
39
49
|
}]);
|
|
40
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
51
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Circle, {
|
|
52
|
+
transform: transform,
|
|
53
|
+
cx: 0,
|
|
54
|
+
cy: 0,
|
|
55
|
+
r: size,
|
|
56
|
+
color: color
|
|
57
|
+
}), strokeColor !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Circle, {
|
|
58
|
+
transform: transform,
|
|
59
|
+
cx: 0,
|
|
60
|
+
cy: 0,
|
|
61
|
+
r: size,
|
|
62
|
+
color: strokeColor,
|
|
63
|
+
style: "stroke",
|
|
64
|
+
strokeWidth: strokeWidth
|
|
65
|
+
}) : null]
|
|
46
66
|
});
|
|
47
67
|
};
|
|
48
68
|
exports.Cursor = Cursor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSkia","require","_reactNativeReanimated","_maths","_jsxRuntime","CURSOR_SIZE","Cursor","commands","positionX","color","currentValue","translateY","size","undefined","console","warn","
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_react","_reactNativeReanimated","_maths","_jsxRuntime","CURSOR_SIZE","Cursor","commands","positionX","color","strokeColor","strokeWidth","currentValue","translateY","size","conflictingProps","undefined","useEffect","console","warn","beziers","useDerivedValue","_commands","value","commandsToBezier","derivedTranslateY","_beziers","_value","getYForXOnBeziers","_translateY","transform","translateX","jsxs","Fragment","children","jsx","Circle","cx","cy","r","style","exports"],"sourceRoot":"../../../src","sources":["Charts/Cursor.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAE9D,MAAMK,WAAW,GAAG,EAAE;AActB,MAAMC,MAAuB,GAAG,SAAAA,CAAU;EACxCC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW;EACXC,WAAW,GAAG,CAAC;EACfC,YAAY;EACZC,UAAU;EACVC,IAAI,GAAGT;AACT,CAAC,EAAE;EACD,MAAMU,gBAAgB,GAAGH,YAAY,KAAKI,SAAS,IAAIH,UAAU,KAAKG,SAAS;EAC/E,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIF,gBAAgB,EAClBG,OAAO,CAACC,IAAI,CAAC,mDAAmD,CAAC;EACrE,CAAC,EAAE,CAACJ,gBAAgB,CAAC,CAAC;;EAEtB;EACA,MAAMK,OAAO,GAAG,IAAAC,sCAAe,EAAC,MAAM;IACpC,MAAMC,SAAS,GAAGf,QAAQ,EAAEgB,KAAK;IACjC,OAAOD,SAAS,KAAKN,SAAS,GAAGA,SAAS,GAAG,IAAAQ,uBAAgB,EAACF,SAAS,CAAC;EAC1E,CAAC,CAAC;EAEF,MAAMG,iBAAiB,GAAG,IAAAJ,sCAAe,EAAC,MAAM;IAC9C,MAAMK,QAAQ,GAAGN,OAAO,CAACG,KAAK;IAC9B,IAAIG,QAAQ,KAAKV,SAAS,EAAE;MAC1B,OAAO,CAAC;IACV;IACA,MAAMW,MAAM,GAAG,IAAAC,wBAAiB,EAACF,QAAQ,EAAElB,SAAS,CAACe,KAAK,CAAC,IAAI,CAAC;IAChE,IAAIV,UAAU,KAAKG,SAAS,IAAIJ,YAAY,KAAKI,SAAS,EAAE;MAC1DJ,YAAY,CAACW,KAAK,GAAGI,MAAM;IAC7B;IACA,OAAOA,MAAM;EACf,CAAC,CAAC;EAEF,MAAME,WAAW,GAAGhB,UAAU,IAAIY,iBAAiB;EAEnD,MAAMK,SAAS,GAAG,IAAAT,sCAAe,EAAC,MAAM,CACtC;IAAEU,UAAU,EAAEvB,SAAS,CAACe;EAAM,CAAC,EAC/B;IAAEV,UAAU,EAAEgB,WAAW,CAACN,KAAK,IAAI;EAAE,CAAC,CACvC,CAAC;EACF,oBACE,IAAAnB,WAAA,CAAA4B,IAAA,EAAA5B,WAAA,CAAA6B,QAAA;IAAAC,QAAA,gBACE,IAAA9B,WAAA,CAAA+B,GAAA,EAACpC,gBAAA,CAAAqC,MAAM;MAACN,SAAS,EAAEA,SAAU;MAACO,EAAE,EAAE,CAAE;MAACC,EAAE,EAAE,CAAE;MAACC,CAAC,EAAEzB,IAAK;MAACL,KAAK,EAAEA;IAAM,CAAE,CAAC,EACpEC,WAAW,KAAKM,SAAS,gBACxB,IAAAZ,WAAA,CAAA+B,GAAA,EAACpC,gBAAA,CAAAqC,MAAM;MACLN,SAAS,EAAEA,SAAU;MACrBO,EAAE,EAAE,CAAE;MACNC,EAAE,EAAE,CAAE;MACNC,CAAC,EAAEzB,IAAK;MACRL,KAAK,EAAEC,WAAY;MACnB8B,KAAK,EAAC,QAAQ;MACd7B,WAAW,EAAEA;IAAY,CAC1B,CAAC,GACA,IAAI;EAAA,CACR,CAAC;AAEP,CAAC;AAAC8B,OAAA,CAAAnC,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Dot = void 0;
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
var _gesture = require("./gesture.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function DotComponent(props) {
|
|
13
|
+
const {
|
|
14
|
+
x,
|
|
15
|
+
y,
|
|
16
|
+
opacity = 1,
|
|
17
|
+
r = 4,
|
|
18
|
+
color = 'black',
|
|
19
|
+
fillColor,
|
|
20
|
+
strokeWidth = 2,
|
|
21
|
+
scale,
|
|
22
|
+
focalX,
|
|
23
|
+
offsetX
|
|
24
|
+
} = props;
|
|
25
|
+
const cx = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
26
|
+
const _x = typeof x === 'number' ? x : x.value;
|
|
27
|
+
if (scale === undefined || focalX === undefined || offsetX === undefined) return _x;
|
|
28
|
+
return (0, _gesture.getPositionWl)(_x, focalX.value, scale.value, offsetX.value);
|
|
29
|
+
});
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
31
|
+
opacity: opacity,
|
|
32
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Circle, {
|
|
33
|
+
cx: cx,
|
|
34
|
+
cy: y,
|
|
35
|
+
r: r,
|
|
36
|
+
color: fillColor ?? color
|
|
37
|
+
}), fillColor !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Circle, {
|
|
38
|
+
cx: cx,
|
|
39
|
+
cy: y,
|
|
40
|
+
r: r,
|
|
41
|
+
style: "stroke",
|
|
42
|
+
color: color,
|
|
43
|
+
strokeWidth: strokeWidth
|
|
44
|
+
}) : null]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Memoized: charts render many dots and the position updates flow through
|
|
49
|
+
// shared values, so parent re-renders don't need to reach them
|
|
50
|
+
const Dot = exports.Dot = /*#__PURE__*/(0, _react.memo)(DotComponent);
|
|
51
|
+
//# sourceMappingURL=Dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_react","_reactNativeReanimated","_gesture","_jsxRuntime","DotComponent","props","x","y","opacity","r","color","fillColor","strokeWidth","scale","focalX","offsetX","cx","useDerivedValue","_x","value","undefined","getPositionWl","jsxs","Group","children","jsx","Circle","cy","style","Dot","exports","memo"],"sourceRoot":"../../../src","sources":["Charts/Dot.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA0C,IAAAI,WAAA,GAAAJ,OAAA;AAoB1C,SAASK,YAAYA,CAACC,KAAe,EAAE;EACrC,MAAM;IACJC,CAAC;IACDC,CAAC;IACDC,OAAO,GAAG,CAAC;IACXC,CAAC,GAAG,CAAC;IACLC,KAAK,GAAG,OAAO;IACfC,SAAS;IACTC,WAAW,GAAG,CAAC;IACfC,KAAK;IACLC,MAAM;IACNC;EACF,CAAC,GAAGV,KAAK;EAET,MAAMW,EAAE,GAAG,IAAAC,sCAAe,EAAC,MAAM;IAC/B,MAAMC,EAAE,GAAG,OAAOZ,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACa,KAAK;IAC9C,IAAIN,KAAK,KAAKO,SAAS,IAAIN,MAAM,KAAKM,SAAS,IAAIL,OAAO,KAAKK,SAAS,EACtE,OAAOF,EAAE;IACX,OAAO,IAAAG,sBAAa,EAACH,EAAE,EAAEJ,MAAM,CAACK,KAAK,EAAEN,KAAK,CAACM,KAAK,EAAEJ,OAAO,CAACI,KAAK,CAAC;EACpE,CAAC,CAAC;EAEF,oBACE,IAAAhB,WAAA,CAAAmB,IAAA,EAACxB,gBAAA,CAAAyB,KAAK;IAACf,OAAO,EAAEA,OAAQ;IAAAgB,QAAA,gBACtB,IAAArB,WAAA,CAAAsB,GAAA,EAAC3B,gBAAA,CAAA4B,MAAM;MAACV,EAAE,EAAEA,EAAG;MAACW,EAAE,EAAEpB,CAAE;MAACE,CAAC,EAAEA,CAAE;MAACC,KAAK,EAAEC,SAAS,IAAID;IAAM,CAAE,CAAC,EACzDC,SAAS,KAAKS,SAAS,gBACtB,IAAAjB,WAAA,CAAAsB,GAAA,EAAC3B,gBAAA,CAAA4B,MAAM;MACLV,EAAE,EAAEA,EAAG;MACPW,EAAE,EAAEpB,CAAE;MACNE,CAAC,EAAEA,CAAE;MACLmB,KAAK,EAAC,QAAQ;MACdlB,KAAK,EAAEA,KAAM;MACbE,WAAW,EAAEA;IAAY,CAC1B,CAAC,GACA,IAAI;EAAA,CACH,CAAC;AAEZ;;AAEA;AACA;AACO,MAAMiB,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAG,IAAAE,WAAI,EAAC3B,YAAY,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Dots = void 0;
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
var _gesture = require("./gesture.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* Draw a whole series of dots as a single Skia path (two with `fillColor`).
|
|
13
|
+
* Unlike mapping over {@link Dot}, this runs one worklet per frame instead of
|
|
14
|
+
* one per dot, which keeps large series smooth during zoom/pan gestures.
|
|
15
|
+
* Per-dot opacity is binary here: dots below 0.5 are hidden.
|
|
16
|
+
*/
|
|
17
|
+
const Dots = function (props) {
|
|
18
|
+
const {
|
|
19
|
+
dots,
|
|
20
|
+
r = 4,
|
|
21
|
+
shape = 'circle',
|
|
22
|
+
color = 'black',
|
|
23
|
+
fillColor,
|
|
24
|
+
strokeWidth = 2,
|
|
25
|
+
width,
|
|
26
|
+
scale,
|
|
27
|
+
focalX,
|
|
28
|
+
offsetX
|
|
29
|
+
} = props;
|
|
30
|
+
const path = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
31
|
+
const p = _reactNativeSkia.Skia.PathBuilder.Make();
|
|
32
|
+
const margin = r + strokeWidth;
|
|
33
|
+
for (const dot of dots) {
|
|
34
|
+
if (dot.opacity.value < 0.5) continue;
|
|
35
|
+
const x = scale === undefined || focalX === undefined || offsetX === undefined ? dot.x.value : (0, _gesture.getPositionWl)(dot.x.value, focalX.value, scale.value, offsetX.value);
|
|
36
|
+
if (width !== undefined && (x < -margin || x > width + margin)) continue;
|
|
37
|
+
const y = dot.y.value;
|
|
38
|
+
if (shape === 'diamond') {
|
|
39
|
+
// One addPoly beats four moveTo/lineTo calls: each is a JSI hop, and
|
|
40
|
+
// this worklet rebuilds every dot on every frame of a gesture
|
|
41
|
+
p.addPoly([{
|
|
42
|
+
x,
|
|
43
|
+
y: y - r
|
|
44
|
+
}, {
|
|
45
|
+
x: x + r,
|
|
46
|
+
y
|
|
47
|
+
}, {
|
|
48
|
+
x,
|
|
49
|
+
y: y + r
|
|
50
|
+
}, {
|
|
51
|
+
x: x - r,
|
|
52
|
+
y
|
|
53
|
+
}], true);
|
|
54
|
+
} else {
|
|
55
|
+
p.addCircle(x, y, r);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return p.build();
|
|
59
|
+
});
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
61
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
62
|
+
path: path,
|
|
63
|
+
color: fillColor ?? color
|
|
64
|
+
}), fillColor !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
65
|
+
path: path,
|
|
66
|
+
style: "stroke",
|
|
67
|
+
color: color,
|
|
68
|
+
strokeWidth: strokeWidth,
|
|
69
|
+
strokeJoin: "round"
|
|
70
|
+
}) : null]
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
exports.Dots = Dots;
|
|
74
|
+
//# sourceMappingURL=Dots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_reactNativeReanimated","_gesture","_jsxRuntime","Dots","props","dots","r","shape","color","fillColor","strokeWidth","width","scale","focalX","offsetX","path","useDerivedValue","p","Skia","PathBuilder","Make","margin","dot","opacity","value","x","undefined","getPositionWl","y","addPoly","addCircle","build","jsxs","Fragment","children","jsx","Path","style","strokeJoin","exports"],"sourceRoot":"../../../src","sources":["Charts/Dots.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAA0C,IAAAG,WAAA,GAAAH,OAAA;AAqB1C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,IAAmB,GAAG,SAAAA,CAAUC,KAAK,EAAE;EAC3C,MAAM;IACJC,IAAI;IACJC,CAAC,GAAG,CAAC;IACLC,KAAK,GAAG,QAAQ;IAChBC,KAAK,GAAG,OAAO;IACfC,SAAS;IACTC,WAAW,GAAG,CAAC;IACfC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC;EACF,CAAC,GAAGV,KAAK;EAET,MAAMW,IAAI,GAAG,IAAAC,sCAAe,EAAC,MAAM;IACjC,MAAMC,CAAC,GAAGC,qBAAI,CAACC,WAAW,CAACC,IAAI,CAAC,CAAC;IACjC,MAAMC,MAAM,GAAGf,CAAC,GAAGI,WAAW;IAC9B,KAAK,MAAMY,GAAG,IAAIjB,IAAI,EAAE;MACtB,IAAIiB,GAAG,CAACC,OAAO,CAACC,KAAK,GAAG,GAAG,EAAE;MAC7B,MAAMC,CAAC,GACLb,KAAK,KAAKc,SAAS,IAAIb,MAAM,KAAKa,SAAS,IAAIZ,OAAO,KAAKY,SAAS,GAChEJ,GAAG,CAACG,CAAC,CAACD,KAAK,GACX,IAAAG,sBAAa,EACXL,GAAG,CAACG,CAAC,CAACD,KAAK,EACXX,MAAM,CAACW,KAAK,EACZZ,KAAK,CAACY,KAAK,EACXV,OAAO,CAACU,KACV,CAAC;MACP,IAAIb,KAAK,KAAKe,SAAS,KAAKD,CAAC,GAAG,CAACJ,MAAM,IAAII,CAAC,GAAGd,KAAK,GAAGU,MAAM,CAAC,EAAE;MAChE,MAAMO,CAAC,GAAGN,GAAG,CAACM,CAAC,CAACJ,KAAK;MACrB,IAAIjB,KAAK,KAAK,SAAS,EAAE;QACvB;QACA;QACAU,CAAC,CAACY,OAAO,CACP,CACE;UAAEJ,CAAC;UAAEG,CAAC,EAAEA,CAAC,GAAGtB;QAAE,CAAC,EACf;UAAEmB,CAAC,EAAEA,CAAC,GAAGnB,CAAC;UAAEsB;QAAE,CAAC,EACf;UAAEH,CAAC;UAAEG,CAAC,EAAEA,CAAC,GAAGtB;QAAE,CAAC,EACf;UAAEmB,CAAC,EAAEA,CAAC,GAAGnB,CAAC;UAAEsB;QAAE,CAAC,CAChB,EACD,IACF,CAAC;MACH,CAAC,MAAM;QACLX,CAAC,CAACa,SAAS,CAACL,CAAC,EAAEG,CAAC,EAAEtB,CAAC,CAAC;MACtB;IACF;IACA,OAAOW,CAAC,CAACc,KAAK,CAAC,CAAC;EAClB,CAAC,CAAC;EAEF,oBACE,IAAA7B,WAAA,CAAA8B,IAAA,EAAA9B,WAAA,CAAA+B,QAAA;IAAAC,QAAA,gBACE,IAAAhC,WAAA,CAAAiC,GAAA,EAACrC,gBAAA,CAAAsC,IAAI;MAACrB,IAAI,EAAEA,IAAK;MAACP,KAAK,EAAEC,SAAS,IAAID;IAAM,CAAE,CAAC,EAC9CC,SAAS,KAAKiB,SAAS,gBACtB,IAAAxB,WAAA,CAAAiC,GAAA,EAACrC,gBAAA,CAAAsC,IAAI;MACHrB,IAAI,EAAEA,IAAK;MACXsB,KAAK,EAAC,QAAQ;MACd7B,KAAK,EAAEA,KAAM;MACbE,WAAW,EAAEA,WAAY;MACzB4B,UAAU,EAAC;IAAO,CACnB,CAAC,GACA,IAAI;EAAA,CACR,CAAC;AAEP,CAAC;AAACC,OAAA,CAAApC,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.LineChart = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPaddedTicks = exports.YAxis = void 0;
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
const defaultFormatLabel = value => `${Math.round(value)}`;
|
|
12
|
+
|
|
13
|
+
/** Evenly spaced integer ticks from 0 to a padded maximum, e.g. 0, 26, 52, 78, 104. */
|
|
14
|
+
const getPaddedTicks = function (maxValue, nbTicks = 4, padding = 1.15) {
|
|
15
|
+
const step = Math.max(1, Math.ceil(maxValue * padding / nbTicks));
|
|
16
|
+
return Array.from({
|
|
17
|
+
length: nbTicks + 1
|
|
18
|
+
}, (_, i) => i * step);
|
|
19
|
+
};
|
|
20
|
+
exports.getPaddedTicks = getPaddedTicks;
|
|
21
|
+
const YAxis = function (props) {
|
|
22
|
+
const {
|
|
23
|
+
width,
|
|
24
|
+
height,
|
|
25
|
+
font,
|
|
26
|
+
minY,
|
|
27
|
+
maxY,
|
|
28
|
+
nbTicks = 4,
|
|
29
|
+
color = 'black',
|
|
30
|
+
labelColor,
|
|
31
|
+
strokeWidth = _reactNative.StyleSheet.hairlineWidth,
|
|
32
|
+
showLabels = true,
|
|
33
|
+
formatLabel = defaultFormatLabel
|
|
34
|
+
} = props;
|
|
35
|
+
|
|
36
|
+
// Measured once per input change: parents re-render while panning
|
|
37
|
+
const rows = (0, _react.useMemo)(() => {
|
|
38
|
+
// A flat range would divide by zero
|
|
39
|
+
const span = maxY - minY || 1;
|
|
40
|
+
const values = props.values ?? Array.from({
|
|
41
|
+
length: nbTicks
|
|
42
|
+
}, (_, i) => minY + (i + 1) * (maxY - minY) / nbTicks);
|
|
43
|
+
return values.map(value => {
|
|
44
|
+
const label = formatLabel(value);
|
|
45
|
+
const labelWidth = font.getGlyphWidths(font.getGlyphIDs(label)).reduce((a, b) => a + b, 0);
|
|
46
|
+
return {
|
|
47
|
+
label,
|
|
48
|
+
labelWidth,
|
|
49
|
+
transform: [{
|
|
50
|
+
translateY: height - (value - minY) * height / span
|
|
51
|
+
}],
|
|
52
|
+
p1: (0, _reactNativeSkia.vec)(0, 0),
|
|
53
|
+
p2: (0, _reactNativeSkia.vec)(showLabels ? width - 10 - labelWidth : width, 0)
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
}, [props.values, nbTicks, minY, maxY, height, width, font, showLabels, formatLabel]);
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Group, {
|
|
58
|
+
children: rows.map((row, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
59
|
+
transform: row.transform,
|
|
60
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Line, {
|
|
61
|
+
p1: row.p1,
|
|
62
|
+
p2: row.p2,
|
|
63
|
+
color: color,
|
|
64
|
+
strokeWidth: strokeWidth
|
|
65
|
+
}), showLabels ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Text, {
|
|
66
|
+
text: row.label,
|
|
67
|
+
x: width - row.labelWidth,
|
|
68
|
+
y: font.getSize() / 2.5,
|
|
69
|
+
font: font,
|
|
70
|
+
color: labelColor ?? color
|
|
71
|
+
}) : null]
|
|
72
|
+
}, `YTick-${i}`))
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const MemoYAxis = exports.YAxis = /*#__PURE__*/(0, _react.memo)(YAxis);
|
|
76
|
+
MemoYAxis.displayName = 'YAxis';
|
|
77
|
+
//# sourceMappingURL=YAxis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_react","_reactNative","_jsxRuntime","defaultFormatLabel","value","Math","round","getPaddedTicks","maxValue","nbTicks","padding","step","max","ceil","Array","from","length","_","i","exports","YAxis","props","width","height","font","minY","maxY","color","labelColor","strokeWidth","StyleSheet","hairlineWidth","showLabels","formatLabel","rows","useMemo","span","values","map","label","labelWidth","getGlyphWidths","getGlyphIDs","reduce","a","b","transform","translateY","p1","vec","p2","jsx","Group","children","row","jsxs","Line","Text","text","x","y","getSize","MemoYAxis","memo","displayName"],"sourceRoot":"../../../src","sources":["Charts/YAxis.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ScalablePath = void 0;
|
|
7
|
-
var _reactNativeSkia = require("
|
|
7
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
const ScalablePath = function (props) {
|
|
@@ -18,9 +18,10 @@ const ScalablePath = function (props) {
|
|
|
18
18
|
} = props;
|
|
19
19
|
const animatedPath = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
20
20
|
// Affine equivalent of getPositionWl: x' = scale * x + focalX * (1 - scale) + offsetX
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
// Plain 3x3 matrix: a Skia.Matrix() would allocate a native object per frame
|
|
22
|
+
const s = scale.value;
|
|
23
|
+
const tx = focalX.value * (1 - s) + offsetX.value;
|
|
24
|
+
return _reactNativeSkia.Skia.PathBuilder.MakeFromPath(path.value).transform([s, 0, tx, 0, 1, 0, 0, 0, 1]).build();
|
|
24
25
|
});
|
|
25
26
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
26
27
|
style: "stroke",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSkia","require","_reactNativeReanimated","_jsxRuntime","ScalablePath","props","path","scale","focalX","offsetX","pathProps","color","animatedPath","useDerivedValue","
|
|
1
|
+
{"version":3,"names":["_reactNativeSkia","require","_reactNativeReanimated","_jsxRuntime","ScalablePath","props","path","scale","focalX","offsetX","pathProps","color","animatedPath","useDerivedValue","s","value","tx","Skia","PathBuilder","MakeFromPath","transform","build","jsx","Path","style","strokeWidth","strokeJoin","strokeCap","exports"],"sourceRoot":"../../../../src","sources":["Charts/ZoomableLinechart/ScalablePath.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AAA4E,IAAAE,WAAA,GAAAF,OAAA;AAW5E,MAAMG,YAAmC,GAAG,SAAAA,CAAUC,KAAK,EAAE;EAC3D,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAEC,KAAK,GAAG;EAAM,CAAC,GAAGN,KAAK;EAExE,MAAMO,YAAY,GAAG,IAAAC,sCAAe,EAAC,MAAM;IACzC;IACA;IACA,MAAMC,CAAC,GAAGP,KAAK,CAACQ,KAAK;IACrB,MAAMC,EAAE,GAAGR,MAAM,CAACO,KAAK,IAAI,CAAC,GAAGD,CAAC,CAAC,GAAGL,OAAO,CAACM,KAAK;IACjD,OAAOE,qBAAI,CAACC,WAAW,CAACC,YAAY,CAACb,IAAI,CAACS,KAAK,CAAC,CAC7CK,SAAS,CAAC,CAACN,CAAC,EAAE,CAAC,EAAEE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACvCK,KAAK,CAAC,CAAC;EACZ,CAAC,CAAC;EAEF,oBACE,IAAAlB,WAAA,CAAAmB,GAAA,EAACtB,gBAAA,CAAAuB,IAAI;IACHC,KAAK,EAAC,QAAQ;IACdlB,IAAI,EAAEM,YAAa;IACnBa,WAAW,EAAE,CAAE;IACfC,UAAU,EAAC,OAAO;IAClBC,SAAS,EAAC,OAAO;IACjBhB,KAAK,EAAEA,KAAM;IAAA,GACTD;EAAS,CACd,CAAC;AAEN,CAAC;AAACkB,OAAA,CAAAxB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "ScalablePath", {
|
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
exports.ZoomableLineChart = void 0;
|
|
13
|
-
var _reactNativeSkia = require("
|
|
13
|
+
var _reactNativeSkia = require("react-native-skia");
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
var _ScalablePath = require("./ScalablePath.js");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|