@obitrain/charts 0.11.0 → 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 +2 -2
- package/lib/commonjs/Charts/BottomAxis/AxisLine.js +1 -1
- package/lib/commonjs/Charts/BottomAxis/BottomAxis.js +1 -1
- package/lib/commonjs/Charts/BottomAxis/Tick.js +2 -2
- package/lib/commonjs/Charts/BottomAxis/Tick.js.map +1 -1
- package/lib/commonjs/Charts/Cursor.js +15 -7
- package/lib/commonjs/Charts/Cursor.js.map +1 -1
- package/lib/commonjs/Charts/Dot.js +1 -1
- package/lib/commonjs/Charts/Dots.js +3 -3
- package/lib/commonjs/Charts/Dots.js.map +1 -1
- package/lib/commonjs/Charts/Linechart/index.js +1 -1
- package/lib/commonjs/Charts/YAxis.js +38 -25
- package/lib/commonjs/Charts/YAxis.js.map +1 -1
- 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 +23 -14
- package/lib/commonjs/Charts/gesture.js.map +1 -1
- package/lib/commonjs/Charts/graphUtils.js +66 -16
- package/lib/commonjs/Charts/graphUtils.js.map +1 -1
- package/lib/commonjs/Charts/index.js +6 -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 +1 -1
- package/lib/module/Charts/BottomAxis/BottomAxis.js.map +1 -1
- package/lib/module/Charts/BottomAxis/Tick.js +3 -3
- package/lib/module/Charts/BottomAxis/Tick.js.map +1 -1
- package/lib/module/Charts/Cursor.js +16 -8
- package/lib/module/Charts/Cursor.js.map +1 -1
- package/lib/module/Charts/Dot.js +1 -1
- package/lib/module/Charts/Dot.js.map +1 -1
- package/lib/module/Charts/Dots.js +3 -3
- package/lib/module/Charts/Dots.js.map +1 -1
- 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 +39 -25
- package/lib/module/Charts/YAxis.js.map +1 -1
- 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 +23 -14
- package/lib/module/Charts/gesture.js.map +1 -1
- package/lib/module/Charts/graphUtils.js +68 -18
- package/lib/module/Charts/graphUtils.js.map +1 -1
- package/lib/module/Charts/index.js +1 -1
- 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 +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/Cursor.d.ts +2 -2
- package/lib/typescript/commonjs/src/Charts/Cursor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/Dot.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/Dot.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/Dots.d.ts +1 -1
- package/lib/typescript/commonjs/src/Charts/Dots.d.ts.map +1 -1
- 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 +3 -4
- package/lib/typescript/commonjs/src/Charts/YAxis.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/Charts/ZoomableLinechart/ScalablePath.d.ts +1 -1
- 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.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 +1 -1
- 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 +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/BottomAxis.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts +1 -1
- package/lib/typescript/module/src/Charts/BottomAxis/Tick.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/Cursor.d.ts +2 -2
- package/lib/typescript/module/src/Charts/Cursor.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/Dot.d.ts +1 -1
- package/lib/typescript/module/src/Charts/Dot.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/Dots.d.ts +1 -1
- package/lib/typescript/module/src/Charts/Dots.d.ts.map +1 -1
- 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 +3 -4
- package/lib/typescript/module/src/Charts/YAxis.d.ts.map +1 -1
- package/lib/typescript/module/src/Charts/ZoomableLinechart/ScalablePath.d.ts +1 -1
- 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.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 +1 -1
- 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 +1 -1
- package/src/Charts/BottomAxis/Tick.tsx +7 -5
- package/src/Charts/Cursor.tsx +17 -9
- package/src/Charts/Dot.tsx +1 -1
- package/src/Charts/Dots.tsx +3 -3
- package/src/Charts/Linechart/index.tsx +1 -1
- package/src/Charts/YAxis.tsx +43 -36
- package/src/Charts/ZoomableLinechart/ScalablePath.tsx +7 -8
- package/src/Charts/ZoomableLinechart/index.tsx +1 -1
- package/src/Charts/gesture.ts +23 -20
- package/src/Charts/graphUtils.ts +75 -16
- package/src/Charts/index.tsx +1 -0
- package/src/Charts/maths.ts +107 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Group","Line","Text","vec","StyleSheet","jsx","_jsx","jsxs","_jsxs","defaultFormatLabel","value","Math","round","getPaddedTicks","maxValue","nbTicks","padding","step","max","ceil","Array","from","length","_","i","YAxis","props","width","height","font","minY","maxY","color","labelColor","strokeWidth","hairlineWidth","showLabels","formatLabel","
|
|
1
|
+
{"version":3,"names":["Group","Line","Text","vec","memo","useMemo","StyleSheet","jsx","_jsx","jsxs","_jsxs","defaultFormatLabel","value","Math","round","getPaddedTicks","maxValue","nbTicks","padding","step","max","ceil","Array","from","length","_","i","YAxis","props","width","height","font","minY","maxY","color","labelColor","strokeWidth","hairlineWidth","showLabels","formatLabel","rows","span","values","map","label","labelWidth","getGlyphWidths","getGlyphIDs","reduce","a","b","transform","translateY","p1","p2","children","row","text","x","y","getSize","MemoYAxis","displayName"],"sourceRoot":"../../../src","sources":["Charts/YAxis.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Path, Skia } from '
|
|
3
|
+
import { Path, Skia } from 'react-native-skia';
|
|
4
4
|
import { useDerivedValue } from 'react-native-reanimated';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
const ScalablePath = function (props) {
|
|
@@ -14,9 +14,10 @@ const ScalablePath = function (props) {
|
|
|
14
14
|
} = props;
|
|
15
15
|
const animatedPath = useDerivedValue(() => {
|
|
16
16
|
// Affine equivalent of getPositionWl: x' = scale * x + focalX * (1 - scale) + offsetX
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
// Plain 3x3 matrix: a Skia.Matrix() would allocate a native object per frame
|
|
18
|
+
const s = scale.value;
|
|
19
|
+
const tx = focalX.value * (1 - s) + offsetX.value;
|
|
20
|
+
return Skia.PathBuilder.MakeFromPath(path.value).transform([s, 0, tx, 0, 1, 0, 0, 0, 1]).build();
|
|
20
21
|
});
|
|
21
22
|
return /*#__PURE__*/_jsx(Path, {
|
|
22
23
|
style: "stroke",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Path","Skia","useDerivedValue","jsx","_jsx","ScalablePath","props","path","scale","focalX","offsetX","pathProps","color","animatedPath","
|
|
1
|
+
{"version":3,"names":["Path","Skia","useDerivedValue","jsx","_jsx","ScalablePath","props","path","scale","focalX","offsetX","pathProps","color","animatedPath","s","value","tx","PathBuilder","MakeFromPath","transform","build","style","strokeWidth","strokeJoin","strokeCap"],"sourceRoot":"../../../../src","sources":["Charts/ZoomableLinechart/ScalablePath.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,QAAqB,mBAAmB;AAE3D,SAASC,eAAe,QAA0B,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAW5E,MAAMC,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,GAAGX,eAAe,CAAC,MAAM;IACzC;IACA;IACA,MAAMY,CAAC,GAAGN,KAAK,CAACO,KAAK;IACrB,MAAMC,EAAE,GAAGP,MAAM,CAACM,KAAK,IAAI,CAAC,GAAGD,CAAC,CAAC,GAAGJ,OAAO,CAACK,KAAK;IACjD,OAAOd,IAAI,CAACgB,WAAW,CAACC,YAAY,CAACX,IAAI,CAACQ,KAAK,CAAC,CAC7CI,SAAS,CAAC,CAACL,CAAC,EAAE,CAAC,EAAEE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACvCI,KAAK,CAAC,CAAC;EACZ,CAAC,CAAC;EAEF,oBACEhB,IAAA,CAACJ,IAAI;IACHqB,KAAK,EAAC,QAAQ;IACdd,IAAI,EAAEM,YAAa;IACnBS,WAAW,EAAE,CAAE;IACfC,UAAU,EAAC,OAAO;IAClBC,SAAS,EAAC,OAAO;IACjBZ,KAAK,EAAEA,KAAM;IAAA,GACTD;EAAS,CACd,CAAC;AAEN,CAAC;AAED,SAASN,YAAY","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Canvas, Group } from '
|
|
3
|
+
import { Canvas, Group } from 'react-native-skia';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { ScalablePath } from "./ScalablePath.js";
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Canvas","Group","React","ScalablePath","jsx","_jsx","jsxs","_jsxs","ZoomableLineChart","props","width","height","style","children","offsetY","rest","transform","translateY"],"sourceRoot":"../../../../src","sources":["Charts/ZoomableLinechart/index.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,KAAK,QAAqB,
|
|
1
|
+
{"version":3,"names":["Canvas","Group","React","ScalablePath","jsx","_jsx","jsxs","_jsxs","ZoomableLineChart","props","width","height","style","children","offsetY","rest","transform","translateY"],"sourceRoot":"../../../../src","sources":["Charts/ZoomableLinechart/index.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,KAAK,QAAqB,mBAAmB;AAE9D,OAAOC,KAAK,MAAM,OAAO;AAIzB,SAASC,YAAY,QAAgC,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,SAASJ,YAAY;AAiBrB,MAAMK,iBAA6C,GAAG,SAAAA,CAAUC,KAAK,EAAE;EACrE,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,OAAO,GAAG,CAAC;IAAE,GAAGC;EAAK,CAAC,GAAGN,KAAK;EAEtE,oBACEJ,IAAA,CAACL,MAAM;IACLY,KAAK,EAAE,CACL;MACEF,KAAK;MACLC;IACF,CAAC,EACDC,KAAK,CACL;IAAAC,QAAA,eAEFN,KAAA,CAACN,KAAK;MAACe,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEH;MAAQ,CAAC,CAAE;MAAAD,QAAA,gBAC1CR,IAAA,CAACF,YAAY;QAAA,GAAKY;MAAI,CAAG,CAAC,EACzBF,QAAQ;IAAA,CACJ;EAAC,CACF,CAAC;AAEb,CAAC;AAED,SAASL,iBAAiB","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { clamp } from '
|
|
3
|
+
import { clamp } from 'react-native-skia';
|
|
4
4
|
import { useCallback, useMemo, useRef } from 'react';
|
|
5
5
|
import { Gesture } from 'react-native-gesture-handler';
|
|
6
6
|
import { useAnimatedReaction, useSharedValue } from 'react-native-reanimated';
|
|
@@ -180,20 +180,29 @@ export const useCursorGesture = function (props) {
|
|
|
180
180
|
if (!isContinuous && points === undefined) console.warn('Points must be defined for non-continuous mode');
|
|
181
181
|
const xPosition = useSharedValue(0);
|
|
182
182
|
const yPosition = useSharedValue(height);
|
|
183
|
-
const setPosition = (x, y) => {
|
|
184
|
-
'worklet';
|
|
185
183
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
184
|
+
// Memoized: a new gesture instance on every render can reset an active pan
|
|
185
|
+
const {
|
|
186
|
+
panGesture,
|
|
187
|
+
tapGesture
|
|
188
|
+
} = useMemo(() => {
|
|
189
|
+
const setPosition = (x, y) => {
|
|
190
|
+
'worklet';
|
|
191
|
+
|
|
192
|
+
yPosition.value = clamp(y, 0, height);
|
|
193
|
+
if (isContinuous || points === undefined) {
|
|
194
|
+
xPosition.value = clamp(x, 0, width);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const _closestDot = getClosestPoint(clamp(x, 0, width), points.value);
|
|
198
|
+
if (closestDataPoint !== undefined) closestDataPoint.value = _closestDot;
|
|
199
|
+
xPosition.value = _closestDot.x;
|
|
200
|
+
};
|
|
201
|
+
return {
|
|
202
|
+
panGesture: Gesture.Pan().onBegin(event => setPosition(event.x, event.y)).onUpdate(event => setPosition(event.x, event.y)),
|
|
203
|
+
tapGesture: Gesture.Tap().onBegin(event => setPosition(event.x, event.y))
|
|
204
|
+
};
|
|
205
|
+
}, [width, height, isContinuous, points, closestDataPoint, xPosition, yPosition]);
|
|
197
206
|
|
|
198
207
|
// Re-snap the cursor when the data points change (e.g. switching graphs)
|
|
199
208
|
useAnimatedReaction(() => points?.value, _points => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clamp","useCallback","useMemo","useRef","Gesture","useAnimatedReaction","useSharedValue","scheduleOnRN","getPositionWl","position","focalX","scale","offsetX","getOffsetBoundsWl","width","startOffset","maxOffset","minOffset","useScalableGesture","props","startScale","lastScale","lastFocalX","lastOffsetX","needsPivot","reset","value","panGesture","Pan","maxPointers","onChange","event","changeX","onEnd","pinchGesture","Pinch","onStart","onUpdate","numberOfPointers","prevScale","newScale","Infinity","rebased","useUpdateAxis","scales","onScaleChange","currentIndex","onScaleChangeRef","current","dispatchScaleChange","index","currentScale","_","i","length","_prevScale","_curScale","undefined","Error","getClosestPoint","x","dataPoints","closestPoint","minDistance","Math","abs","point","distance","useCursorGesture","height","points","closestDataPoint","isContinuous","console","warn","xPosition","yPosition","setPosition","y","_closestDot","onBegin","
|
|
1
|
+
{"version":3,"names":["clamp","useCallback","useMemo","useRef","Gesture","useAnimatedReaction","useSharedValue","scheduleOnRN","getPositionWl","position","focalX","scale","offsetX","getOffsetBoundsWl","width","startOffset","maxOffset","minOffset","useScalableGesture","props","startScale","lastScale","lastFocalX","lastOffsetX","needsPivot","reset","value","panGesture","Pan","maxPointers","onChange","event","changeX","onEnd","pinchGesture","Pinch","onStart","onUpdate","numberOfPointers","prevScale","newScale","Infinity","rebased","useUpdateAxis","scales","onScaleChange","currentIndex","onScaleChangeRef","current","dispatchScaleChange","index","currentScale","_","i","length","_prevScale","_curScale","undefined","Error","getClosestPoint","x","dataPoints","closestPoint","minDistance","Math","abs","point","distance","useCursorGesture","height","points","closestDataPoint","isContinuous","console","warn","xPosition","yPosition","tapGesture","setPosition","y","_closestDot","onBegin","Tap","_points"],"sourceRoot":"../../../src","sources":["Charts/gesture.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { PathVerb, Skia } from '
|
|
3
|
+
import { PathVerb, Skia } from 'react-native-skia';
|
|
4
|
+
import { useMemo, useRef } from 'react';
|
|
4
5
|
import { scaleLinear } from 'd3-scale';
|
|
5
6
|
import * as shape from 'd3-shape';
|
|
6
|
-
import { useAnimatedReaction, withTiming } from 'react-native-reanimated';
|
|
7
|
+
import { useAnimatedReaction, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
7
8
|
import { getPositionWl } from "./gesture.js";
|
|
8
|
-
import {
|
|
9
|
+
import { commandsToBezier, findBezierIndex, getYBeyondPathEnds, getYOnBezier } from "./maths.js";
|
|
9
10
|
|
|
10
11
|
/** @deprecated Use {@link BuildGraphConfig} instead */
|
|
11
12
|
|
|
12
13
|
export const buildGraph = function (data, width, height, config) {
|
|
13
14
|
if (data.length === 0) throw new Error('buildGraph requires at least one data point');
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
// Loops rather than Math.min(...data): spreading a long series can exceed the engine's argument limit
|
|
17
|
+
let dataMinX = Infinity;
|
|
18
|
+
let dataMaxX = -Infinity;
|
|
19
|
+
let dataMinY = Infinity;
|
|
20
|
+
let dataMaxY = -Infinity;
|
|
21
|
+
for (const [x, y] of data) {
|
|
22
|
+
if (x < dataMinX) dataMinX = x;
|
|
23
|
+
if (x > dataMaxX) dataMaxX = x;
|
|
24
|
+
if (y < dataMinY) dataMinY = y;
|
|
25
|
+
if (y > dataMaxY) dataMaxY = y;
|
|
26
|
+
}
|
|
27
|
+
const minX = config?.minX ?? dataMinX;
|
|
28
|
+
const maxX = config?.maxX ?? dataMaxX;
|
|
16
29
|
const scaleX = scaleLinear().domain([minX, maxX]).range([0, width]);
|
|
17
|
-
const minY = config?.minY ??
|
|
18
|
-
const maxY = config?.maxY ??
|
|
30
|
+
const minY = config?.minY ?? dataMinY;
|
|
31
|
+
const maxY = config?.maxY ?? dataMaxY;
|
|
19
32
|
const scaleY = scaleLinear().domain([minY, maxY]).range([height, 0]);
|
|
20
33
|
const path = shape.line().x(([x]) => scaleX(x)).y(([, y]) => scaleY(y)).curve(config?.curve ?? shape.curveBasis)(data);
|
|
21
34
|
if (path === null) throw new Error('Failed to build the line path');
|
|
@@ -95,18 +108,33 @@ export const useDotsTransition = function (props) {
|
|
|
95
108
|
opacityWl = defaultOpacityTransitionWl,
|
|
96
109
|
translateWl = defaultTranslateTransitionWl
|
|
97
110
|
} = props;
|
|
111
|
+
|
|
112
|
+
// Normalized once per path change, not per dot per frame
|
|
113
|
+
const commands = useSharedValue([]);
|
|
114
|
+
const visibleCount = useSharedValue(0);
|
|
115
|
+
// Bumped when the data or the dots are replaced, so they get retargeted
|
|
116
|
+
// even if the graph index is unchanged
|
|
117
|
+
const generationRef = useRef(0);
|
|
118
|
+
const generation = useMemo(() => generationRef.current += 1,
|
|
119
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
120
|
+
[dataPoints, dots]);
|
|
121
|
+
|
|
122
|
+
// Retarget on graph or data change only: re-assigning x while it animates
|
|
123
|
+
// would restart the animation every frame
|
|
98
124
|
useAnimatedReaction(() => ({
|
|
99
125
|
_currentGraph: currentGraph.value,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// even when the path is swapped instantly or tweens on another duration
|
|
103
|
-
_xs: dots.map(d => d.x.value)
|
|
126
|
+
_path: path.value,
|
|
127
|
+
_generation: generation
|
|
104
128
|
}), ({
|
|
105
129
|
_currentGraph,
|
|
106
|
-
|
|
107
|
-
|
|
130
|
+
_path,
|
|
131
|
+
_generation
|
|
132
|
+
}, previous) => {
|
|
133
|
+
commands.value = commandsToBezier(_path.toCmds());
|
|
134
|
+
if (previous !== null && previous._currentGraph === _currentGraph && previous._generation === _generation) return;
|
|
108
135
|
const newDataPoints = dataPoints[_currentGraph];
|
|
109
136
|
if (newDataPoints === undefined) throw new Error('Data points cannot be undefined');
|
|
137
|
+
visibleCount.value = newDataPoints.length;
|
|
110
138
|
dots.forEach((_dot, i) => {
|
|
111
139
|
const _newDot = newDataPoints[i];
|
|
112
140
|
if (!_newDot) {
|
|
@@ -114,15 +142,37 @@ export const useDotsTransition = function (props) {
|
|
|
114
142
|
return;
|
|
115
143
|
}
|
|
116
144
|
_dot.x.value = translateWl(_newDot.x);
|
|
117
|
-
const newY = getYForX(_currentCommands, _dot.x.value);
|
|
118
|
-
if (newY !== undefined) {
|
|
119
|
-
_dot.y.value = newY;
|
|
120
|
-
}
|
|
121
145
|
_dot.opacity.value = opacityWl(1);
|
|
122
146
|
});
|
|
123
147
|
},
|
|
124
148
|
// Explicit deps: without them the reaction re-registers and re-fires on
|
|
125
149
|
// every parent render, restarting every dot animation on the UI thread
|
|
126
|
-
[currentGraph, path, dataPoints, dots, opacityWl, translateWl]);
|
|
150
|
+
[currentGraph, path, dataPoints, dots, opacityWl, translateWl, generation]);
|
|
151
|
+
|
|
152
|
+
// Keep y glued to the curve while x animates or the path tweens
|
|
153
|
+
useAnimatedReaction(() => ({
|
|
154
|
+
_cmds: commands.value,
|
|
155
|
+
_xs: dots.map(d => d.x.value)
|
|
156
|
+
}), ({
|
|
157
|
+
_cmds,
|
|
158
|
+
_xs
|
|
159
|
+
}) => {
|
|
160
|
+
const count = Math.min(visibleCount.value, dots.length);
|
|
161
|
+
// Dots are in x order, so one forward walk over the segments serves them all
|
|
162
|
+
let segment = 0;
|
|
163
|
+
for (let i = 0; i < count; i++) {
|
|
164
|
+
const x = _xs[i];
|
|
165
|
+
let index = findBezierIndex(_cmds, x, segment);
|
|
166
|
+
if (index === -1 && segment > 1) index = findBezierIndex(_cmds, x);
|
|
167
|
+
let newY;
|
|
168
|
+
if (index === -1) {
|
|
169
|
+
newY = getYBeyondPathEnds(_cmds, x);
|
|
170
|
+
} else {
|
|
171
|
+
segment = index;
|
|
172
|
+
newY = getYOnBezier(_cmds, index, x);
|
|
173
|
+
}
|
|
174
|
+
if (newY !== undefined) dots[i].y.value = newY;
|
|
175
|
+
}
|
|
176
|
+
}, [dots]);
|
|
127
177
|
};
|
|
128
178
|
//# sourceMappingURL=graphUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PathVerb","Skia","scaleLinear","shape","useAnimatedReaction","withTiming","getPositionWl","
|
|
1
|
+
{"version":3,"names":["PathVerb","Skia","useMemo","useRef","scaleLinear","shape","useAnimatedReaction","useSharedValue","withTiming","getPositionWl","commandsToBezier","findBezierIndex","getYBeyondPathEnds","getYOnBezier","buildGraph","data","width","height","config","length","Error","dataMinX","Infinity","dataMaxX","dataMinY","dataMaxY","x","y","minX","maxX","scaleX","domain","range","minY","maxY","scaleY","path","line","curve","curveBasis","dataPoints","map","value","skiaPath","Path","MakeFromSVGString","scaleCommands","commands","focalX","offsetX","_scaleY","command","commandType","undefined","Line","Move","Quad","Cubic","Close","defaultOpacityTransitionWl","opacity","duration","defaultTranslateTransitionWl","position","useDotsTransition","props","currentGraph","dots","opacityWl","translateWl","visibleCount","generationRef","generation","current","_currentGraph","_path","_generation","previous","toCmds","newDataPoints","forEach","_dot","i","_newDot","_cmds","_xs","d","count","Math","min","segment","index","newY"],"sourceRoot":"../../../src","sources":["Charts/graphUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,5 +9,5 @@ export { LineChart } from "./Linechart/index.js";
|
|
|
9
9
|
export { ScalablePath, ZoomableLineChart } from "./ZoomableLinechart/index.js";
|
|
10
10
|
export { getClosestPoint, getOffsetBoundsWl, getPositionWl, useCursorGesture, useScalableGesture, useUpdateAxis } from "./gesture.js";
|
|
11
11
|
export { buildGraph, defaultOpacityTransitionWl, defaultTranslateTransitionWl, scaleCommands, useDotsTransition } from "./graphUtils.js";
|
|
12
|
-
export { commandsToBezier, cubicBezierYForX, getYForX, magnitude, normalize, selectCurve } from "./maths.js";
|
|
12
|
+
export { commandsToBezier, cubicBezierYForX, getYForX, getYForXOnBeziers, magnitude, normalize, selectCurve } from "./maths.js";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AxisLine","BottomAxis","Tick","Cursor","Dot","Dots","YAxis","getPaddedTicks","LineChart","ScalablePath","ZoomableLineChart","getClosestPoint","getOffsetBoundsWl","getPositionWl","useCursorGesture","useScalableGesture","useUpdateAxis","buildGraph","defaultOpacityTransitionWl","defaultTranslateTransitionWl","scaleCommands","useDotsTransition","commandsToBezier","cubicBezierYForX","getYForX","magnitude","normalize","selectCurve"],"sourceRoot":"../../../src","sources":["Charts/index.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,uBAAc;AAOzD,SAASC,MAAM,QAAQ,aAAU;AAEjC,SAASC,GAAG,QAAQ,UAAO;AAE3B,SAASC,IAAI,QAAQ,WAAQ;AAE7B,SAASC,KAAK,EAAEC,cAAc,QAAQ,YAAS;AAE/C,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,8BAAqB;AAKrE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,QACR,cAAW;AAOlB,SACEC,UAAU,EACVC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,aAAa,EACbC,iBAAiB,QACZ,iBAAc;AAQrB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,WAAW,QACN,YAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AxisLine","BottomAxis","Tick","Cursor","Dot","Dots","YAxis","getPaddedTicks","LineChart","ScalablePath","ZoomableLineChart","getClosestPoint","getOffsetBoundsWl","getPositionWl","useCursorGesture","useScalableGesture","useUpdateAxis","buildGraph","defaultOpacityTransitionWl","defaultTranslateTransitionWl","scaleCommands","useDotsTransition","commandsToBezier","cubicBezierYForX","getYForX","getYForXOnBeziers","magnitude","normalize","selectCurve"],"sourceRoot":"../../../src","sources":["Charts/index.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,uBAAc;AAOzD,SAASC,MAAM,QAAQ,aAAU;AAEjC,SAASC,GAAG,QAAQ,UAAO;AAE3B,SAASC,IAAI,QAAQ,WAAQ;AAE7B,SAASC,KAAK,EAAEC,cAAc,QAAQ,YAAS;AAE/C,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,8BAAqB;AAKrE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,QACR,cAAW;AAOlB,SACEC,UAAU,EACVC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,aAAa,EACbC,iBAAiB,QACZ,iBAAc;AAQrB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,iBAAiB,EACjBC,SAAS,EACTC,SAAS,EACTC,WAAW,QACN,YAAS","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { PathVerb
|
|
3
|
+
import { PathVerb } from 'react-native-skia';
|
|
4
4
|
|
|
5
5
|
// code from William Candillon
|
|
6
6
|
|
|
@@ -113,27 +113,43 @@ export const cubicBezierYForX = (x, a, b, c, d, precision = 2) => {
|
|
|
113
113
|
export const selectCurve = (cmds, x) => {
|
|
114
114
|
'worklet';
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
// Plain numbers while scanning: vec() allocates a JSI host object, which
|
|
117
|
+
// dominated the UI thread when called per dot per frame
|
|
118
|
+
let fromX = 0;
|
|
119
|
+
let fromY = 0;
|
|
117
120
|
for (let i = 0; i < cmds.length; i++) {
|
|
118
121
|
const cmd = cmds[i];
|
|
119
122
|
if (cmd == null) {
|
|
120
123
|
return undefined;
|
|
121
124
|
}
|
|
122
125
|
if (cmd[0] === PathVerb.Move) {
|
|
123
|
-
|
|
126
|
+
fromX = cmd[1];
|
|
127
|
+
fromY = cmd[2];
|
|
124
128
|
} else if (cmd[0] === PathVerb.Cubic) {
|
|
125
|
-
const
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
if (x >= from.x && x <= to.x) {
|
|
129
|
+
const toX = cmd[5];
|
|
130
|
+
const toY = cmd[6];
|
|
131
|
+
if (x >= fromX && x <= toX) {
|
|
129
132
|
return {
|
|
130
|
-
from
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
133
|
+
from: {
|
|
134
|
+
x: fromX,
|
|
135
|
+
y: fromY
|
|
136
|
+
},
|
|
137
|
+
c1: {
|
|
138
|
+
x: cmd[1],
|
|
139
|
+
y: cmd[2]
|
|
140
|
+
},
|
|
141
|
+
c2: {
|
|
142
|
+
x: cmd[3],
|
|
143
|
+
y: cmd[4]
|
|
144
|
+
},
|
|
145
|
+
to: {
|
|
146
|
+
x: toX,
|
|
147
|
+
y: toY
|
|
148
|
+
}
|
|
134
149
|
};
|
|
135
150
|
}
|
|
136
|
-
|
|
151
|
+
fromX = toX;
|
|
152
|
+
fromY = toY;
|
|
137
153
|
}
|
|
138
154
|
}
|
|
139
155
|
return undefined;
|
|
@@ -168,12 +184,83 @@ export const commandsToBezier = cmds => {
|
|
|
168
184
|
export const getYForX = (cmds, x, precision = 2) => {
|
|
169
185
|
'worklet';
|
|
170
186
|
|
|
171
|
-
const
|
|
172
|
-
const c = selectCurve(cmdsNorm, x);
|
|
187
|
+
const c = selectCurve(commandsToBezier(cmds), x);
|
|
173
188
|
if (c == null) return undefined;
|
|
174
189
|
return cubicBezierYForX(x, c.from, c.c1, c.c2, c.to, precision);
|
|
175
190
|
};
|
|
176
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Index of the cubic whose x range contains `x`, scanning from `start`; -1 if none.
|
|
194
|
+
* `cmds` must come from {@link commandsToBezier}.
|
|
195
|
+
*/
|
|
196
|
+
export const findBezierIndex = (cmds, x, start = 0) => {
|
|
197
|
+
'worklet';
|
|
198
|
+
|
|
199
|
+
for (let i = Math.max(start, 1); i < cmds.length; i++) {
|
|
200
|
+
const cmd = cmds[i];
|
|
201
|
+
if (cmd[0] !== PathVerb.Cubic) continue;
|
|
202
|
+
const prev = cmds[i - 1];
|
|
203
|
+
const fromX = prev[prev.length - 2];
|
|
204
|
+
if (x >= fromX && x <= cmd[5]) return i;
|
|
205
|
+
}
|
|
206
|
+
return -1;
|
|
207
|
+
};
|
|
208
|
+
const EPSILON = 1e-6;
|
|
209
|
+
|
|
210
|
+
/** y of the cubic at `cmds[index]` for `x`, without allocating; undefined when x has no t in [0, 1]. */
|
|
211
|
+
export const getYOnBezier = (cmds, index, x) => {
|
|
212
|
+
'worklet';
|
|
213
|
+
|
|
214
|
+
const prev = cmds[index - 1];
|
|
215
|
+
const cmd = cmds[index];
|
|
216
|
+
const x0 = prev[prev.length - 2];
|
|
217
|
+
const y0 = prev[prev.length - 1];
|
|
218
|
+
const x1 = cmd[1];
|
|
219
|
+
const y1 = cmd[2];
|
|
220
|
+
const x2 = cmd[3];
|
|
221
|
+
const y2 = cmd[4];
|
|
222
|
+
const x3 = cmd[5];
|
|
223
|
+
const y3 = cmd[6];
|
|
224
|
+
|
|
225
|
+
// commandsToBezier turns lines into cubics with c1 = from and c2 = to
|
|
226
|
+
if (x1 === x0 && y1 === y0 && x2 === x3 && y2 === y3) {
|
|
227
|
+
return x3 === x0 ? y0 : y0 + (y3 - y0) * (x - x0) / (x3 - x0);
|
|
228
|
+
}
|
|
229
|
+
// A vertical curve has no single y for x: use its start, like a vertical line
|
|
230
|
+
if (x0 === x1 && x1 === x2 && x2 === x3) return y0;
|
|
231
|
+
const roots = solveCubic(-x0 + 3 * x1 - 3 * x2 + x3, 3 * x0 - 6 * x1 + 3 * x2, -3 * x0 + 3 * x1, x0 - x);
|
|
232
|
+
for (let i = 0; i < roots.length; i++) {
|
|
233
|
+
const t = roots[i];
|
|
234
|
+
if (t >= -EPSILON && t <= 1 + EPSILON) {
|
|
235
|
+
return cubicSolve(Math.min(1, Math.max(0, t)), y0, y1, y2, y3);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return undefined;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* y of the path's start when `x` is left of it, of its end when right of it, else undefined.
|
|
243
|
+
* Endpoints are stored as float32, so a point's exact x can fall a hair outside the path.
|
|
244
|
+
*/
|
|
245
|
+
export const getYBeyondPathEnds = (cmds, x) => {
|
|
246
|
+
'worklet';
|
|
247
|
+
|
|
248
|
+
const first = cmds[0];
|
|
249
|
+
const last = cmds[cmds.length - 1];
|
|
250
|
+
if (first === undefined || last === undefined) return undefined;
|
|
251
|
+
if (x < first[1]) return first[2];
|
|
252
|
+
if (x > last[last.length - 2]) return last[last.length - 1];
|
|
253
|
+
return undefined;
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/** Same as {@link getYForX} for commands already passed through {@link commandsToBezier}. */
|
|
257
|
+
export const getYForXOnBeziers = (cmds, x) => {
|
|
258
|
+
'worklet';
|
|
259
|
+
|
|
260
|
+
const index = findBezierIndex(cmds, x);
|
|
261
|
+
return index === -1 ? undefined : getYOnBezier(cmds, index, x);
|
|
262
|
+
};
|
|
263
|
+
|
|
177
264
|
// See Path/getPath2D
|
|
178
265
|
|
|
179
266
|
export const magnitude = p => Math.sqrt(p.x * p.x + p.y * p.y);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PathVerb","vec","round","value","precision","p","Math","pow","cuberoot","x","y","abs","solveCubic","a","b","c","d","D","sqrt","q","roots","concat","u","t","acos","k","PI","cos","i","length","cubicSolve","p0","p1","p2","p3","cubicBezierYForX","pa","pb","pc","pd","ts","map","root","filter","selectCurve","cmds","from","cmd","undefined","Move","Cubic","c1","c2","to","commandsToBezier","normCmds","currCmd","Error","normCmd","Line","push","getYForX","cmdsNorm","magnitude","normalize","m"],"sourceRoot":"../../../src","sources":["Charts/maths.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PathVerb","round","value","precision","p","Math","pow","cuberoot","x","y","abs","solveCubic","a","b","c","d","D","sqrt","q","roots","concat","u","t","acos","k","PI","cos","i","length","cubicSolve","p0","p1","p2","p3","cubicBezierYForX","pa","pb","pc","pd","ts","map","root","filter","selectCurve","cmds","fromX","fromY","cmd","undefined","Move","Cubic","toX","toY","from","c1","c2","to","commandsToBezier","normCmds","currCmd","Error","normCmd","Line","push","getYForX","findBezierIndex","start","max","prev","EPSILON","getYOnBezier","index","x0","y0","x1","y1","x2","y2","x3","y3","min","getYBeyondPathEnds","first","last","getYForXOnBeziers","magnitude","normalize","m"],"sourceRoot":"../../../src","sources":["Charts/maths.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisLine.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/AxisLine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AxisLine.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/AxisLine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAqB/B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Color, type SkFont } from '
|
|
1
|
+
import { type Color, type SkFont } from 'react-native-skia';
|
|
2
2
|
import { type FC } from 'react';
|
|
3
3
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
4
4
|
import type { SharedValue } from 'react-native-reanimated';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/BottomAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"BottomAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/BottomAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,gFAAgF;AAChF,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA4EnC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tick.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/Tick.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"Tick.d.ts","sourceRoot":"","sources":["../../../../../../src/Charts/BottomAxis/Tick.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,oHAAoH;IACpH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,aAAa,UAAoB,SAAS,gCAwD/C,CAAC;AAIF,eAAO,MAAM,IAAI,2DAAsB,CAAC"}
|