@ledgerhq/lumen-ui-rnative-visualization 0.1.2 → 0.1.3
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/dist/module/lib/Components/Axis/Axis.types.js +2 -0
- package/dist/module/lib/Components/Axis/Axis.types.js.map +1 -0
- package/dist/module/lib/Components/Axis/XAxis/XAxis.js +81 -0
- package/dist/module/lib/Components/Axis/XAxis/XAxis.js.map +1 -0
- package/dist/module/lib/Components/Axis/XAxis/XAxis.test.js +121 -0
- package/dist/module/lib/Components/Axis/XAxis/XAxis.test.js.map +1 -0
- package/dist/module/lib/Components/Axis/XAxis/index.js +4 -0
- package/dist/module/lib/Components/Axis/XAxis/index.js.map +1 -0
- package/dist/module/lib/Components/Axis/XAxis/types.js +4 -0
- package/dist/module/lib/Components/Axis/XAxis/types.js.map +1 -0
- package/dist/module/lib/Components/Axis/YAxis/YAxis.js +81 -0
- package/dist/module/lib/Components/Axis/YAxis/YAxis.js.map +1 -0
- package/dist/module/lib/Components/Axis/YAxis/YAxis.test.js +121 -0
- package/dist/module/lib/Components/Axis/YAxis/YAxis.test.js.map +1 -0
- package/dist/module/lib/Components/Axis/YAxis/index.js +4 -0
- package/dist/module/lib/Components/Axis/YAxis/index.js.map +1 -0
- package/dist/module/lib/Components/Axis/YAxis/types.js +4 -0
- package/dist/module/lib/Components/Axis/YAxis/types.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/CartesianChart.js +123 -0
- package/dist/module/lib/Components/CartesianChart/CartesianChart.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/context/cartesianChartContext.js +10 -0
- package/dist/module/lib/Components/CartesianChart/context/cartesianChartContext.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/context/index.js +5 -0
- package/dist/module/lib/Components/CartesianChart/context/index.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/context/useBuildChartContext.js +75 -0
- package/dist/module/lib/Components/CartesianChart/context/useBuildChartContext.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/context/useBuildChartContext.test.js +279 -0
- package/dist/module/lib/Components/CartesianChart/context/useBuildChartContext.test.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/index.js +5 -0
- package/dist/module/lib/Components/CartesianChart/index.js.map +1 -0
- package/dist/module/lib/Components/CartesianChart/types.js +4 -0
- package/dist/module/lib/Components/CartesianChart/types.js.map +1 -0
- package/dist/module/lib/Components/Line/Line.js +72 -0
- package/dist/module/lib/Components/Line/Line.js.map +1 -0
- package/dist/module/lib/Components/Line/index.js +4 -0
- package/dist/module/lib/Components/Line/index.js.map +1 -0
- package/dist/module/lib/Components/Line/types.js +2 -0
- package/dist/module/lib/Components/Line/types.js.map +1 -0
- package/dist/module/lib/Components/Line/utils.js +38 -0
- package/dist/module/lib/Components/Line/utils.js.map +1 -0
- package/dist/module/lib/Components/LineChart/LineChart.js +70 -31
- package/dist/module/lib/Components/LineChart/LineChart.js.map +1 -1
- package/dist/module/lib/Components/LineChart/LineChart.stories.js +271 -2
- package/dist/module/lib/Components/LineChart/LineChart.stories.js.map +1 -1
- package/dist/module/lib/Components/LineChart/LineChart.test.js +84 -3
- package/dist/module/lib/Components/LineChart/LineChart.test.js.map +1 -1
- package/dist/module/lib/Components/LineChart/types.js +4 -0
- package/dist/module/lib/Components/LineChart/types.js.map +1 -0
- package/dist/module/lib/utils/domain/domain.js +93 -0
- package/dist/module/lib/utils/domain/domain.js.map +1 -0
- package/dist/module/lib/utils/domain/domain.test.js +152 -0
- package/dist/module/lib/utils/domain/domain.test.js.map +1 -0
- package/dist/module/lib/utils/index.js +0 -2
- package/dist/module/lib/utils/index.js.map +1 -1
- package/dist/module/lib/utils/scales/scales.js +41 -0
- package/dist/module/lib/utils/scales/scales.js.map +1 -0
- package/dist/module/lib/utils/scales/scales.test.js +173 -0
- package/dist/module/lib/utils/scales/scales.test.js.map +1 -0
- package/dist/module/lib/utils/ticks/ticks.js +55 -0
- package/dist/module/lib/utils/ticks/ticks.js.map +1 -0
- package/dist/module/lib/utils/ticks/ticks.test.js +121 -0
- package/dist/module/lib/utils/ticks/ticks.test.js.map +1 -0
- package/dist/module/lib/utils/types.js +2 -0
- package/dist/typescript/src/lib/Components/Axis/Axis.types.d.ts +33 -0
- package/dist/typescript/src/lib/Components/Axis/Axis.types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/XAxis.d.ts +4 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/XAxis.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/types.d.ts +9 -0
- package/dist/typescript/src/lib/Components/Axis/XAxis/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/YAxis.d.ts +4 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/YAxis.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/types.d.ts +14 -0
- package/dist/typescript/src/lib/Components/Axis/YAxis/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/CartesianChart.d.ts +3 -0
- package/dist/typescript/src/lib/Components/CartesianChart/CartesianChart.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/cartesianChartContext.d.ts +8 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/cartesianChartContext.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/useBuildChartContext.d.ts +23 -0
- package/dist/typescript/src/lib/Components/CartesianChart/context/useBuildChartContext.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/index.d.ts +4 -0
- package/dist/typescript/src/lib/Components/CartesianChart/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/CartesianChart/types.d.ts +46 -0
- package/dist/typescript/src/lib/Components/CartesianChart/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Line/Line.d.ts +3 -0
- package/dist/typescript/src/lib/Components/Line/Line.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Line/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/Line/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Line/types.d.ts +24 -0
- package/dist/typescript/src/lib/Components/Line/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/Line/utils.d.ts +19 -0
- package/dist/typescript/src/lib/Components/Line/utils.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/LineChart/LineChart.d.ts +2 -8
- package/dist/typescript/src/lib/Components/LineChart/LineChart.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/LineChart/index.d.ts +1 -0
- package/dist/typescript/src/lib/Components/LineChart/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/LineChart/types.d.ts +62 -0
- package/dist/typescript/src/lib/Components/LineChart/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/utils/domain/domain.d.ts +17 -0
- package/dist/typescript/src/lib/utils/domain/domain.d.ts.map +1 -0
- package/dist/typescript/src/lib/utils/index.d.ts +1 -1
- package/dist/typescript/src/lib/utils/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/utils/scales/scales.d.ts +24 -0
- package/dist/typescript/src/lib/utils/scales/scales.d.ts.map +1 -0
- package/dist/typescript/src/lib/utils/ticks/ticks.d.ts +27 -0
- package/dist/typescript/src/lib/utils/ticks/ticks.d.ts.map +1 -0
- package/dist/typescript/src/lib/utils/types.d.ts +90 -6
- package/dist/typescript/src/lib/utils/types.d.ts.map +1 -1
- package/package.json +11 -1
- package/src/lib/Components/Axis/Axis.types.ts +32 -0
- package/src/lib/Components/Axis/XAxis/XAxis.test.tsx +89 -0
- package/src/lib/Components/Axis/XAxis/XAxis.tsx +111 -0
- package/src/lib/Components/Axis/XAxis/index.ts +2 -0
- package/src/lib/Components/Axis/XAxis/types.ts +9 -0
- package/src/lib/Components/Axis/YAxis/YAxis.test.tsx +89 -0
- package/src/lib/Components/Axis/YAxis/YAxis.tsx +110 -0
- package/src/lib/Components/Axis/YAxis/index.ts +2 -0
- package/src/lib/Components/Axis/YAxis/types.ts +14 -0
- package/src/lib/Components/CartesianChart/CartesianChart.tsx +153 -0
- package/src/lib/Components/CartesianChart/context/cartesianChartContext.ts +14 -0
- package/src/lib/Components/CartesianChart/context/index.ts +10 -0
- package/src/lib/Components/CartesianChart/context/useBuildChartContext.test.ts +224 -0
- package/src/lib/Components/CartesianChart/context/useBuildChartContext.ts +115 -0
- package/src/lib/Components/CartesianChart/index.ts +3 -0
- package/src/lib/Components/CartesianChart/types.ts +47 -0
- package/src/lib/Components/Line/Line.tsx +88 -0
- package/src/lib/Components/Line/index.ts +2 -0
- package/src/lib/Components/Line/types.ts +23 -0
- package/src/lib/Components/Line/utils.ts +72 -0
- package/src/lib/Components/LineChart/LineChart.stories.tsx +287 -4
- package/src/lib/Components/LineChart/LineChart.test.tsx +71 -2
- package/src/lib/Components/LineChart/LineChart.tsx +90 -34
- package/src/lib/Components/LineChart/index.ts +1 -0
- package/src/lib/Components/LineChart/types.ts +63 -0
- package/src/lib/utils/domain/domain.test.ts +129 -0
- package/src/lib/utils/domain/domain.ts +101 -0
- package/src/lib/utils/index.ts +11 -1
- package/src/lib/utils/scales/scales.test.ts +133 -0
- package/src/lib/utils/scales/scales.ts +67 -0
- package/src/lib/utils/ticks/ticks.test.ts +136 -0
- package/src/lib/utils/ticks/ticks.ts +82 -0
- package/src/lib/utils/types.ts +97 -6
- package/dist/module/lib/utils/math/index.js +0 -4
- package/dist/module/lib/utils/math/index.js.map +0 -1
- package/dist/typescript/src/lib/utils/math/index.d.ts +0 -1
- package/dist/typescript/src/lib/utils/math/index.d.ts.map +0 -1
- package/src/lib/utils/math/index.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["lib/Components/Axis/Axis.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useTheme } from '@ledgerhq/lumen-ui-rnative';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { G, Line as SvgLine, Text as SvgText } from 'react-native-svg';
|
|
6
|
+
import { buildTicksData } from "../../../utils/ticks/ticks.js";
|
|
7
|
+
import { useCartesianChartContext } from "../../CartesianChart/context/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const STROKE_WIDTH = 1;
|
|
10
|
+
const TICK_MARK_SIZE = 4;
|
|
11
|
+
const TICK_LABEL_OFFSET = 6;
|
|
12
|
+
export const DEFAULT_AXIS_HEIGHT = 28;
|
|
13
|
+
export const XAxis = ({
|
|
14
|
+
gridLineStyle = 'dashed',
|
|
15
|
+
position = 'bottom',
|
|
16
|
+
showGrid = false,
|
|
17
|
+
showLine = false,
|
|
18
|
+
showTickMark = false,
|
|
19
|
+
ticks: ticksProp,
|
|
20
|
+
tickLabelFormatter
|
|
21
|
+
}) => {
|
|
22
|
+
const {
|
|
23
|
+
getXScale,
|
|
24
|
+
getXAxisConfig,
|
|
25
|
+
drawingArea
|
|
26
|
+
} = useCartesianChartContext();
|
|
27
|
+
const {
|
|
28
|
+
theme
|
|
29
|
+
} = useTheme();
|
|
30
|
+
const xScale = getXScale();
|
|
31
|
+
const xAxisConfig = getXAxisConfig();
|
|
32
|
+
const ticksData = useMemo(() => xScale ? buildTicksData(xScale, xAxisConfig, ticksProp, tickLabelFormatter) : [], [xScale, xAxisConfig, ticksProp, tickLabelFormatter]);
|
|
33
|
+
if (!xScale || drawingArea.width <= 0) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const isTop = position === 'top';
|
|
37
|
+
const axisY = isTop ? drawingArea.y : drawingArea.y + drawingArea.height;
|
|
38
|
+
const fontSize = theme.typographies.body4.fontSize;
|
|
39
|
+
const tickDirection = isTop ? -1 : 1;
|
|
40
|
+
const labelY = axisY + tickDirection * (TICK_MARK_SIZE + TICK_LABEL_OFFSET);
|
|
41
|
+
const labelDy = isTop ? 0 : fontSize * 0.8;
|
|
42
|
+
const gridStroke = theme.colors.border.mutedSubtle;
|
|
43
|
+
const lineStroke = theme.colors.border.muted;
|
|
44
|
+
const textFill = theme.colors.text.muted;
|
|
45
|
+
return /*#__PURE__*/_jsxs(G, {
|
|
46
|
+
children: [showGrid && ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgLine, {
|
|
47
|
+
x1: tick.position,
|
|
48
|
+
y1: drawingArea.y,
|
|
49
|
+
x2: tick.position,
|
|
50
|
+
y2: drawingArea.y + drawingArea.height,
|
|
51
|
+
stroke: gridStroke,
|
|
52
|
+
strokeWidth: STROKE_WIDTH,
|
|
53
|
+
strokeDasharray: gridLineStyle === 'dashed' ? '3 3' : undefined
|
|
54
|
+
}, `grid-${tick.value}-${i}`)), showLine && /*#__PURE__*/_jsx(SvgLine, {
|
|
55
|
+
x1: drawingArea.x,
|
|
56
|
+
y1: axisY,
|
|
57
|
+
x2: drawingArea.x + drawingArea.width,
|
|
58
|
+
y2: axisY,
|
|
59
|
+
stroke: lineStroke,
|
|
60
|
+
strokeWidth: STROKE_WIDTH,
|
|
61
|
+
strokeLinecap: "square"
|
|
62
|
+
}), showTickMark && ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgLine, {
|
|
63
|
+
x1: tick.position,
|
|
64
|
+
y1: axisY,
|
|
65
|
+
x2: tick.position,
|
|
66
|
+
y2: axisY + tickDirection * TICK_MARK_SIZE,
|
|
67
|
+
stroke: lineStroke,
|
|
68
|
+
strokeWidth: STROKE_WIDTH
|
|
69
|
+
}, `tick-${tick.value}-${i}`)), ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgText, {
|
|
70
|
+
x: tick.position,
|
|
71
|
+
y: labelY,
|
|
72
|
+
dy: labelDy,
|
|
73
|
+
textAnchor: "middle",
|
|
74
|
+
fill: textFill,
|
|
75
|
+
fontSize: fontSize,
|
|
76
|
+
fontFamily: theme.fontFamilies.sans,
|
|
77
|
+
children: tick.label
|
|
78
|
+
}, `label-${tick.value}-${i}`))]
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=XAxis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useTheme","useMemo","G","Line","SvgLine","Text","SvgText","buildTicksData","useCartesianChartContext","jsx","_jsx","jsxs","_jsxs","STROKE_WIDTH","TICK_MARK_SIZE","TICK_LABEL_OFFSET","DEFAULT_AXIS_HEIGHT","XAxis","gridLineStyle","position","showGrid","showLine","showTickMark","ticks","ticksProp","tickLabelFormatter","getXScale","getXAxisConfig","drawingArea","theme","xScale","xAxisConfig","ticksData","width","isTop","axisY","y","height","fontSize","typographies","body4","tickDirection","labelY","labelDy","gridStroke","colors","border","mutedSubtle","lineStroke","muted","textFill","text","children","map","tick","i","x1","y1","x2","y2","stroke","strokeWidth","strokeDasharray","undefined","value","x","strokeLinecap","dy","textAnchor","fill","fontFamily","fontFamilies","sans","label"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/XAxis/XAxis.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { describe, it, expect } from '@jest/globals';
|
|
4
|
+
import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
|
|
5
|
+
import { ThemeProvider } from '@ledgerhq/lumen-ui-rnative';
|
|
6
|
+
import { render } from '@testing-library/react-native';
|
|
7
|
+
import { CartesianChart } from "../../CartesianChart/index.js";
|
|
8
|
+
import { XAxis } from "./XAxis.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const sampleSeries = [{
|
|
11
|
+
id: 'test',
|
|
12
|
+
stroke: '#000',
|
|
13
|
+
data: [10, 20, 30, 40, 50]
|
|
14
|
+
}];
|
|
15
|
+
const renderXAxis = (props = {}) => render(/*#__PURE__*/_jsx(ThemeProvider, {
|
|
16
|
+
themes: ledgerLiveThemes,
|
|
17
|
+
colorScheme: "light",
|
|
18
|
+
children: /*#__PURE__*/_jsx(CartesianChart, {
|
|
19
|
+
series: sampleSeries,
|
|
20
|
+
width: 400,
|
|
21
|
+
height: 200,
|
|
22
|
+
children: /*#__PURE__*/_jsx(XAxis, {
|
|
23
|
+
...props
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
}));
|
|
27
|
+
describe('XAxis', () => {
|
|
28
|
+
it('renders without crashing', () => {
|
|
29
|
+
const {
|
|
30
|
+
getByTestId
|
|
31
|
+
} = renderXAxis();
|
|
32
|
+
getByTestId('chart-svg');
|
|
33
|
+
});
|
|
34
|
+
it('renders tick labels for explicit ticks', () => {
|
|
35
|
+
const {
|
|
36
|
+
getByText
|
|
37
|
+
} = renderXAxis({
|
|
38
|
+
ticks: [0, 2, 4]
|
|
39
|
+
});
|
|
40
|
+
getByText('0');
|
|
41
|
+
getByText('2');
|
|
42
|
+
getByText('4');
|
|
43
|
+
});
|
|
44
|
+
it('does not render tick labels for empty ticks', () => {
|
|
45
|
+
const {
|
|
46
|
+
queryByText
|
|
47
|
+
} = renderXAxis({
|
|
48
|
+
ticks: []
|
|
49
|
+
});
|
|
50
|
+
expect(queryByText('0')).toBeNull();
|
|
51
|
+
});
|
|
52
|
+
it('applies tickLabelFormatter', () => {
|
|
53
|
+
const formatter = value => `v${value}`;
|
|
54
|
+
const {
|
|
55
|
+
getByText
|
|
56
|
+
} = renderXAxis({
|
|
57
|
+
ticks: [0, 4],
|
|
58
|
+
tickLabelFormatter: formatter
|
|
59
|
+
});
|
|
60
|
+
getByText('v0');
|
|
61
|
+
getByText('v4');
|
|
62
|
+
});
|
|
63
|
+
it('renders with showGrid enabled', () => {
|
|
64
|
+
const {
|
|
65
|
+
toJSON
|
|
66
|
+
} = renderXAxis({
|
|
67
|
+
showGrid: true,
|
|
68
|
+
ticks: [0, 2]
|
|
69
|
+
});
|
|
70
|
+
expect(toJSON()).toBeTruthy();
|
|
71
|
+
});
|
|
72
|
+
it('renders with showLine enabled', () => {
|
|
73
|
+
const {
|
|
74
|
+
toJSON
|
|
75
|
+
} = renderXAxis({
|
|
76
|
+
showLine: true,
|
|
77
|
+
ticks: []
|
|
78
|
+
});
|
|
79
|
+
expect(toJSON()).toBeTruthy();
|
|
80
|
+
});
|
|
81
|
+
it('renders with showTickMark enabled', () => {
|
|
82
|
+
const {
|
|
83
|
+
toJSON
|
|
84
|
+
} = renderXAxis({
|
|
85
|
+
showTickMark: true,
|
|
86
|
+
ticks: [0, 2]
|
|
87
|
+
});
|
|
88
|
+
expect(toJSON()).toBeTruthy();
|
|
89
|
+
});
|
|
90
|
+
it('renders with all visual options enabled', () => {
|
|
91
|
+
const {
|
|
92
|
+
getByText
|
|
93
|
+
} = renderXAxis({
|
|
94
|
+
showGrid: true,
|
|
95
|
+
showLine: true,
|
|
96
|
+
showTickMark: true,
|
|
97
|
+
ticks: [0, 4]
|
|
98
|
+
});
|
|
99
|
+
getByText('0');
|
|
100
|
+
getByText('4');
|
|
101
|
+
});
|
|
102
|
+
it('does not render axis when width is 0', () => {
|
|
103
|
+
const {
|
|
104
|
+
queryByText
|
|
105
|
+
} = render(/*#__PURE__*/_jsx(ThemeProvider, {
|
|
106
|
+
themes: ledgerLiveThemes,
|
|
107
|
+
colorScheme: "light",
|
|
108
|
+
children: /*#__PURE__*/_jsx(CartesianChart, {
|
|
109
|
+
series: sampleSeries,
|
|
110
|
+
width: 0,
|
|
111
|
+
height: 200,
|
|
112
|
+
children: /*#__PURE__*/_jsx(XAxis, {
|
|
113
|
+
ticks: [0, 2, 4]
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
}));
|
|
117
|
+
expect(queryByText('0')).toBeNull();
|
|
118
|
+
expect(queryByText('2')).toBeNull();
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=XAxis.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","it","expect","ledgerLiveThemes","ThemeProvider","render","CartesianChart","XAxis","jsx","_jsx","sampleSeries","id","stroke","data","renderXAxis","props","themes","colorScheme","children","series","width","height","getByTestId","getByText","ticks","queryByText","toBeNull","formatter","value","tickLabelFormatter","toJSON","showGrid","toBeTruthy","showLine","showTickMark"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/XAxis/XAxis.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["XAxis","DEFAULT_AXIS_HEIGHT"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/XAxis/index.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,mBAAmB,QAAQ,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/XAxis/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useTheme } from '@ledgerhq/lumen-ui-rnative';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { G, Line as SvgLine, Text as SvgText } from 'react-native-svg';
|
|
6
|
+
import { buildTicksData } from "../../../utils/ticks/ticks.js";
|
|
7
|
+
import { useCartesianChartContext } from "../../CartesianChart/context/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const STROKE_WIDTH = 1;
|
|
10
|
+
const TICK_MARK_SIZE = 4;
|
|
11
|
+
const TICK_LABEL_OFFSET = 6;
|
|
12
|
+
export const DEFAULT_AXIS_WIDTH = 40;
|
|
13
|
+
export const YAxis = ({
|
|
14
|
+
position = 'start',
|
|
15
|
+
showGrid = false,
|
|
16
|
+
showLine = false,
|
|
17
|
+
showTickMark = false,
|
|
18
|
+
gridLineStyle = 'dashed',
|
|
19
|
+
ticks: ticksProp,
|
|
20
|
+
tickLabelFormatter
|
|
21
|
+
}) => {
|
|
22
|
+
const {
|
|
23
|
+
getYScale,
|
|
24
|
+
getYAxisConfig,
|
|
25
|
+
drawingArea
|
|
26
|
+
} = useCartesianChartContext();
|
|
27
|
+
const {
|
|
28
|
+
theme
|
|
29
|
+
} = useTheme();
|
|
30
|
+
const yScale = getYScale();
|
|
31
|
+
const yAxisConfig = getYAxisConfig();
|
|
32
|
+
const ticksData = useMemo(() => yScale ? buildTicksData(yScale, yAxisConfig, ticksProp, tickLabelFormatter) : [], [yScale, yAxisConfig, ticksProp, tickLabelFormatter]);
|
|
33
|
+
if (!yScale || drawingArea.height <= 0) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const isStart = position === 'start';
|
|
37
|
+
const axisX = isStart ? drawingArea.x : drawingArea.x + drawingArea.width;
|
|
38
|
+
const tickDirection = isStart ? -1 : 1;
|
|
39
|
+
const labelX = axisX + tickDirection * (TICK_MARK_SIZE + TICK_LABEL_OFFSET);
|
|
40
|
+
const fontSize = theme.typographies.body4.fontSize;
|
|
41
|
+
const labelDy = fontSize * 0.35;
|
|
42
|
+
const gridStroke = theme.colors.border.mutedSubtle;
|
|
43
|
+
const lineStroke = theme.colors.border.muted;
|
|
44
|
+
const textFill = theme.colors.text.muted;
|
|
45
|
+
return /*#__PURE__*/_jsxs(G, {
|
|
46
|
+
children: [showGrid && ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgLine, {
|
|
47
|
+
x1: drawingArea.x,
|
|
48
|
+
y1: tick.position,
|
|
49
|
+
x2: drawingArea.x + drawingArea.width,
|
|
50
|
+
y2: tick.position,
|
|
51
|
+
stroke: gridStroke,
|
|
52
|
+
strokeWidth: STROKE_WIDTH,
|
|
53
|
+
strokeDasharray: gridLineStyle === 'dashed' ? '3 3' : undefined
|
|
54
|
+
}, `grid-${tick.value}-${i}`)), showLine && /*#__PURE__*/_jsx(SvgLine, {
|
|
55
|
+
x1: axisX,
|
|
56
|
+
y1: drawingArea.y,
|
|
57
|
+
x2: axisX,
|
|
58
|
+
y2: drawingArea.y + drawingArea.height,
|
|
59
|
+
stroke: lineStroke,
|
|
60
|
+
strokeWidth: STROKE_WIDTH,
|
|
61
|
+
strokeLinecap: "square"
|
|
62
|
+
}), showTickMark && ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgLine, {
|
|
63
|
+
x1: axisX,
|
|
64
|
+
y1: tick.position,
|
|
65
|
+
x2: axisX + tickDirection * TICK_MARK_SIZE,
|
|
66
|
+
y2: tick.position,
|
|
67
|
+
stroke: lineStroke,
|
|
68
|
+
strokeWidth: STROKE_WIDTH
|
|
69
|
+
}, `tick-${tick.value}-${i}`)), ticksData.map((tick, i) => /*#__PURE__*/_jsx(SvgText, {
|
|
70
|
+
x: labelX,
|
|
71
|
+
y: tick.position,
|
|
72
|
+
dy: labelDy,
|
|
73
|
+
textAnchor: position === 'start' ? 'end' : 'start',
|
|
74
|
+
fill: textFill,
|
|
75
|
+
fontSize: theme.typographies.body4.fontSize,
|
|
76
|
+
fontFamily: theme.fontFamilies.sans,
|
|
77
|
+
children: tick.label
|
|
78
|
+
}, `label-${tick.value}-${i}`))]
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=YAxis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useTheme","useMemo","G","Line","SvgLine","Text","SvgText","buildTicksData","useCartesianChartContext","jsx","_jsx","jsxs","_jsxs","STROKE_WIDTH","TICK_MARK_SIZE","TICK_LABEL_OFFSET","DEFAULT_AXIS_WIDTH","YAxis","position","showGrid","showLine","showTickMark","gridLineStyle","ticks","ticksProp","tickLabelFormatter","getYScale","getYAxisConfig","drawingArea","theme","yScale","yAxisConfig","ticksData","height","isStart","axisX","x","width","tickDirection","labelX","fontSize","typographies","body4","labelDy","gridStroke","colors","border","mutedSubtle","lineStroke","muted","textFill","text","children","map","tick","i","x1","y1","x2","y2","stroke","strokeWidth","strokeDasharray","undefined","value","y","strokeLinecap","dy","textAnchor","fill","fontFamily","fontFamilies","sans","label"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/YAxis/YAxis.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { describe, it, expect } from '@jest/globals';
|
|
4
|
+
import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
|
|
5
|
+
import { ThemeProvider } from '@ledgerhq/lumen-ui-rnative';
|
|
6
|
+
import { render } from '@testing-library/react-native';
|
|
7
|
+
import { CartesianChart } from "../../CartesianChart/index.js";
|
|
8
|
+
import { YAxis } from "./YAxis.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const sampleSeries = [{
|
|
11
|
+
id: 'test',
|
|
12
|
+
stroke: '#000',
|
|
13
|
+
data: [10, 20, 30, 40, 50]
|
|
14
|
+
}];
|
|
15
|
+
const renderYAxis = (props = {}) => render(/*#__PURE__*/_jsx(ThemeProvider, {
|
|
16
|
+
themes: ledgerLiveThemes,
|
|
17
|
+
colorScheme: "light",
|
|
18
|
+
children: /*#__PURE__*/_jsx(CartesianChart, {
|
|
19
|
+
series: sampleSeries,
|
|
20
|
+
width: 400,
|
|
21
|
+
height: 200,
|
|
22
|
+
children: /*#__PURE__*/_jsx(YAxis, {
|
|
23
|
+
...props
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
}));
|
|
27
|
+
describe('YAxis', () => {
|
|
28
|
+
it('renders without crashing', () => {
|
|
29
|
+
const {
|
|
30
|
+
getByTestId
|
|
31
|
+
} = renderYAxis();
|
|
32
|
+
getByTestId('chart-svg');
|
|
33
|
+
});
|
|
34
|
+
it('renders tick labels for explicit ticks', () => {
|
|
35
|
+
const {
|
|
36
|
+
getByText
|
|
37
|
+
} = renderYAxis({
|
|
38
|
+
ticks: [10, 30, 50]
|
|
39
|
+
});
|
|
40
|
+
getByText('10');
|
|
41
|
+
getByText('30');
|
|
42
|
+
getByText('50');
|
|
43
|
+
});
|
|
44
|
+
it('does not render tick labels for empty ticks', () => {
|
|
45
|
+
const {
|
|
46
|
+
queryByText
|
|
47
|
+
} = renderYAxis({
|
|
48
|
+
ticks: []
|
|
49
|
+
});
|
|
50
|
+
expect(queryByText('10')).toBeNull();
|
|
51
|
+
});
|
|
52
|
+
it('applies tickLabelFormatter', () => {
|
|
53
|
+
const formatter = value => `$${value}`;
|
|
54
|
+
const {
|
|
55
|
+
getByText
|
|
56
|
+
} = renderYAxis({
|
|
57
|
+
ticks: [10, 50],
|
|
58
|
+
tickLabelFormatter: formatter
|
|
59
|
+
});
|
|
60
|
+
getByText('$10');
|
|
61
|
+
getByText('$50');
|
|
62
|
+
});
|
|
63
|
+
it('renders with showGrid enabled', () => {
|
|
64
|
+
const {
|
|
65
|
+
toJSON
|
|
66
|
+
} = renderYAxis({
|
|
67
|
+
showGrid: true,
|
|
68
|
+
ticks: [10, 30]
|
|
69
|
+
});
|
|
70
|
+
expect(toJSON()).toBeTruthy();
|
|
71
|
+
});
|
|
72
|
+
it('renders with showLine enabled', () => {
|
|
73
|
+
const {
|
|
74
|
+
toJSON
|
|
75
|
+
} = renderYAxis({
|
|
76
|
+
showLine: true,
|
|
77
|
+
ticks: []
|
|
78
|
+
});
|
|
79
|
+
expect(toJSON()).toBeTruthy();
|
|
80
|
+
});
|
|
81
|
+
it('renders with showTickMark enabled', () => {
|
|
82
|
+
const {
|
|
83
|
+
toJSON
|
|
84
|
+
} = renderYAxis({
|
|
85
|
+
showTickMark: true,
|
|
86
|
+
ticks: [10, 30]
|
|
87
|
+
});
|
|
88
|
+
expect(toJSON()).toBeTruthy();
|
|
89
|
+
});
|
|
90
|
+
it('renders with all visual options enabled', () => {
|
|
91
|
+
const {
|
|
92
|
+
getByText
|
|
93
|
+
} = renderYAxis({
|
|
94
|
+
showGrid: true,
|
|
95
|
+
showLine: true,
|
|
96
|
+
showTickMark: true,
|
|
97
|
+
ticks: [10, 50]
|
|
98
|
+
});
|
|
99
|
+
getByText('10');
|
|
100
|
+
getByText('50');
|
|
101
|
+
});
|
|
102
|
+
it('does not render axis when height is 0', () => {
|
|
103
|
+
const {
|
|
104
|
+
queryByText
|
|
105
|
+
} = render(/*#__PURE__*/_jsx(ThemeProvider, {
|
|
106
|
+
themes: ledgerLiveThemes,
|
|
107
|
+
colorScheme: "light",
|
|
108
|
+
children: /*#__PURE__*/_jsx(CartesianChart, {
|
|
109
|
+
series: sampleSeries,
|
|
110
|
+
width: 400,
|
|
111
|
+
height: 0,
|
|
112
|
+
children: /*#__PURE__*/_jsx(YAxis, {
|
|
113
|
+
ticks: [10, 30, 50]
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
}));
|
|
117
|
+
expect(queryByText('10')).toBeNull();
|
|
118
|
+
expect(queryByText('30')).toBeNull();
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=YAxis.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","it","expect","ledgerLiveThemes","ThemeProvider","render","CartesianChart","YAxis","jsx","_jsx","sampleSeries","id","stroke","data","renderYAxis","props","themes","colorScheme","children","series","width","height","getByTestId","getByText","ticks","queryByText","toBeNull","formatter","value","tickLabelFormatter","toJSON","showGrid","toBeTruthy","showLine","showTickMark"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/YAxis/YAxis.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["YAxis","DEFAULT_AXIS_WIDTH"],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/YAxis/index.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,kBAAkB,QAAQ,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["lib/Components/Axis/YAxis/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { Svg } from 'react-native-svg';
|
|
6
|
+
import { CartesianChartProvider, useBuildChartContext } from "./context/index.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const DEFAULT_HEIGHT = 160;
|
|
9
|
+
const DEFAULT_INSET = {
|
|
10
|
+
top: 5,
|
|
11
|
+
right: 20,
|
|
12
|
+
bottom: 0,
|
|
13
|
+
left: 20
|
|
14
|
+
};
|
|
15
|
+
const DEFAULT_NEGATIVE_MARGIN = {
|
|
16
|
+
marginLeft: -20,
|
|
17
|
+
marginRight: -20
|
|
18
|
+
};
|
|
19
|
+
const ZERO_PADDING = {
|
|
20
|
+
top: 0,
|
|
21
|
+
right: 0,
|
|
22
|
+
bottom: 0,
|
|
23
|
+
left: 0
|
|
24
|
+
};
|
|
25
|
+
const resolveInset = inset => {
|
|
26
|
+
if (inset === undefined) {
|
|
27
|
+
return DEFAULT_INSET;
|
|
28
|
+
}
|
|
29
|
+
if (typeof inset === 'number') {
|
|
30
|
+
return {
|
|
31
|
+
top: inset + DEFAULT_INSET.top,
|
|
32
|
+
right: inset + DEFAULT_INSET.right,
|
|
33
|
+
bottom: inset + DEFAULT_INSET.bottom,
|
|
34
|
+
left: inset + DEFAULT_INSET.left
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
top: (inset.top ?? 0) + DEFAULT_INSET.top,
|
|
39
|
+
right: (inset.right ?? 0) + DEFAULT_INSET.right,
|
|
40
|
+
bottom: (inset.bottom ?? 0) + DEFAULT_INSET.bottom,
|
|
41
|
+
left: (inset.left ?? 0) + DEFAULT_INSET.left
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
const resolveAxisPadding = padding => {
|
|
45
|
+
if (padding === undefined) {
|
|
46
|
+
return ZERO_PADDING;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
top: padding.top ?? 0,
|
|
50
|
+
right: padding.right ?? 0,
|
|
51
|
+
bottom: padding.bottom ?? 0,
|
|
52
|
+
left: padding.left ?? 0
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export const CartesianChart = ({
|
|
56
|
+
series,
|
|
57
|
+
xAxis,
|
|
58
|
+
yAxis,
|
|
59
|
+
width,
|
|
60
|
+
height = DEFAULT_HEIGHT,
|
|
61
|
+
inset,
|
|
62
|
+
axisPadding,
|
|
63
|
+
ariaLabel = 'Chart',
|
|
64
|
+
children
|
|
65
|
+
}) => {
|
|
66
|
+
const [measuredWidth, setMeasuredWidth] = useState(width);
|
|
67
|
+
const needsMeasurement = width === undefined;
|
|
68
|
+
const handleLayout = useCallback(e => {
|
|
69
|
+
if (needsMeasurement) {
|
|
70
|
+
setMeasuredWidth(e.nativeEvent.layout.width);
|
|
71
|
+
}
|
|
72
|
+
}, [needsMeasurement]);
|
|
73
|
+
const resolvedWidth = width ?? measuredWidth ?? 0;
|
|
74
|
+
const resolvedInset = useMemo(() => resolveInset(inset), [inset]);
|
|
75
|
+
const resolvedAxisPadding = useMemo(() => resolveAxisPadding(axisPadding), [axisPadding]);
|
|
76
|
+
const contextValue = useBuildChartContext({
|
|
77
|
+
series,
|
|
78
|
+
xAxis,
|
|
79
|
+
yAxis,
|
|
80
|
+
width: resolvedWidth,
|
|
81
|
+
height,
|
|
82
|
+
inset: resolvedInset,
|
|
83
|
+
axisPadding: resolvedAxisPadding
|
|
84
|
+
});
|
|
85
|
+
const svgContent = resolvedWidth > 0 && /*#__PURE__*/_jsx(Svg, {
|
|
86
|
+
testID: "chart-svg",
|
|
87
|
+
width: resolvedWidth,
|
|
88
|
+
height: height,
|
|
89
|
+
style: {
|
|
90
|
+
overflow: 'visible'
|
|
91
|
+
},
|
|
92
|
+
children: /*#__PURE__*/_jsx(CartesianChartProvider, {
|
|
93
|
+
value: contextValue,
|
|
94
|
+
children: children
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
if (needsMeasurement) {
|
|
98
|
+
return /*#__PURE__*/_jsx(View, {
|
|
99
|
+
testID: "chart-container",
|
|
100
|
+
onLayout: handleLayout,
|
|
101
|
+
style: {
|
|
102
|
+
height,
|
|
103
|
+
...DEFAULT_NEGATIVE_MARGIN
|
|
104
|
+
},
|
|
105
|
+
accessibilityRole: "image",
|
|
106
|
+
accessibilityLabel: ariaLabel,
|
|
107
|
+
children: svgContent
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return /*#__PURE__*/_jsx(View, {
|
|
111
|
+
testID: "chart-container",
|
|
112
|
+
accessibilityRole: "image",
|
|
113
|
+
accessibilityLabel: ariaLabel,
|
|
114
|
+
style: {
|
|
115
|
+
width: resolvedWidth,
|
|
116
|
+
height,
|
|
117
|
+
marginLeft: -20,
|
|
118
|
+
marginRight: -20
|
|
119
|
+
},
|
|
120
|
+
children: svgContent
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=CartesianChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","View","Svg","CartesianChartProvider","useBuildChartContext","jsx","_jsx","DEFAULT_HEIGHT","DEFAULT_INSET","top","right","bottom","left","DEFAULT_NEGATIVE_MARGIN","marginLeft","marginRight","ZERO_PADDING","resolveInset","inset","undefined","resolveAxisPadding","padding","CartesianChart","series","xAxis","yAxis","width","height","axisPadding","ariaLabel","children","measuredWidth","setMeasuredWidth","needsMeasurement","handleLayout","e","nativeEvent","layout","resolvedWidth","resolvedInset","resolvedAxisPadding","contextValue","svgContent","testID","style","overflow","value","onLayout","accessibilityRole","accessibilityLabel"],"sourceRoot":"../../../../../src","sources":["lib/Components/CartesianChart/CartesianChart.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createSafeContext } from '@ledgerhq/lumen-utils-shared';
|
|
4
|
+
const [CartesianChartProvider, _useCartesianChartSafeContext] = createSafeContext('CartesianChart');
|
|
5
|
+
export const useCartesianChartContext = () => _useCartesianChartSafeContext({
|
|
6
|
+
consumerName: 'useCartesianChartContext',
|
|
7
|
+
contextRequired: true
|
|
8
|
+
});
|
|
9
|
+
export { CartesianChartProvider };
|
|
10
|
+
//# sourceMappingURL=cartesianChartContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSafeContext","CartesianChartProvider","_useCartesianChartSafeContext","useCartesianChartContext","consumerName","contextRequired"],"sourceRoot":"../../../../../../src","sources":["lib/Components/CartesianChart/context/cartesianChartContext.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,8BAA8B;AAIhE,MAAM,CAACC,sBAAsB,EAAEC,6BAA6B,CAAC,GAC3DF,iBAAiB,CAA6B,gBAAgB,CAAC;AAEjE,OAAO,MAAMG,wBAAwB,GAAGA,CAAA,KACtCD,6BAA6B,CAAC;EAC5BE,YAAY,EAAE,0BAA0B;EACxCC,eAAe,EAAE;AACnB,CAAC,CAAC;AAEJ,SAASJ,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CartesianChartProvider","useCartesianChartContext","buildScale","computeAxisRange","computeDrawingArea","useBuildChartContext"],"sourceRoot":"../../../../../../src","sources":["lib/Components/CartesianChart/context/index.ts"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,wBAAwB,QACnB,4BAAyB;AAChC,SACEC,UAAU,EACVC,gBAAgB,EAChBC,kBAAkB,EAClBC,oBAAoB,QACf,2BAAwB","ignoreList":[]}
|