@redsift/charts 11.6.0-muiv5-alpha.4 → 11.6.0-muiv5-alpha.6
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/_internal/Arc.d.ts +10 -0
- package/_internal/Arc.js +2 -0
- package/_internal/Arc.js.map +1 -0
- package/{components/Arc/Arc.js → _internal/Arc2.js} +52 -9
- package/_internal/Arc2.js.map +1 -0
- package/_internal/Arcs.d.ts +10 -0
- package/_internal/Arcs.js +2 -0
- package/_internal/Arcs.js.map +1 -0
- package/{components/Arcs/Arcs.js → _internal/Arcs2.js} +12 -8
- package/_internal/Arcs2.js.map +1 -0
- package/_internal/Axis.d.ts +8 -0
- package/_internal/Axis.js +2 -0
- package/_internal/Axis.js.map +1 -0
- package/{components/Axis/Axis.js → _internal/Axis2.js} +187 -10
- package/_internal/Axis2.js.map +1 -0
- package/_internal/Bar.d.ts +10 -0
- package/_internal/Bar.js +2 -0
- package/_internal/Bar.js.map +1 -0
- package/{components/Bar/Bar.js → _internal/Bar2.js} +85 -10
- package/_internal/Bar2.js.map +1 -0
- package/_internal/BarChart.d.ts +17 -0
- package/_internal/BarChart.js +2 -0
- package/_internal/BarChart.js.map +1 -0
- package/_internal/BarChart2.js +1419 -0
- package/_internal/BarChart2.js.map +1 -0
- package/_internal/ChartContainer.d.ts +5 -0
- package/_internal/ChartContainer.js +2 -0
- package/_internal/ChartContainer.js.map +1 -0
- package/{components/ChartContainer/ChartContainer.js → _internal/ChartContainer2.js} +105 -6
- package/_internal/ChartContainer2.js.map +1 -0
- package/_internal/DataPoint.d.ts +7 -0
- package/_internal/DataPoint.js +2 -0
- package/_internal/DataPoint.js.map +1 -0
- package/{components/DataPoint/DataPoint.js → _internal/DataPoint2.js} +11 -5
- package/_internal/DataPoint2.js.map +1 -0
- package/_internal/Dot.d.ts +10 -0
- package/_internal/Dot.js +2 -0
- package/_internal/Dot.js.map +1 -0
- package/{components/Dot/Dot.js → _internal/Dot2.js} +61 -6
- package/_internal/Dot2.js.map +1 -0
- package/_internal/Legend.d.ts +10 -0
- package/_internal/Legend.js +2 -0
- package/_internal/Legend.js.map +1 -0
- package/{components/Legend/Legend.js → _internal/Legend3.js} +17 -6
- package/_internal/Legend3.js.map +1 -0
- package/_internal/LegendItem.d.ts +21 -0
- package/_internal/LegendItem.js +2 -0
- package/_internal/LegendItem.js.map +1 -0
- package/{components/LegendItem/LegendItem.js → _internal/LegendItem2.js} +64 -7
- package/_internal/LegendItem2.js.map +1 -0
- package/_internal/Line.d.ts +10 -0
- package/_internal/Line.js +2 -0
- package/_internal/Line.js.map +1 -0
- package/{components/Line/Line.js → _internal/Line2.js} +12 -8
- package/_internal/Line2.js.map +1 -0
- package/_internal/LineChart.d.ts +17 -0
- package/_internal/LineChart.js +2 -0
- package/_internal/LineChart.js.map +1 -0
- package/{components/LineChart/RenderedLineChart.js → _internal/LineChart2.js} +317 -20
- package/_internal/LineChart2.js.map +1 -0
- package/_internal/PieChart.d.ts +14 -0
- package/_internal/PieChart.js +2 -0
- package/_internal/PieChart.js.map +1 -0
- package/_internal/PieChart2.js +605 -0
- package/_internal/PieChart2.js.map +1 -0
- package/_internal/ScatterPlot.d.ts +17 -0
- package/_internal/ScatterPlot.js +2 -0
- package/_internal/ScatterPlot.js.map +1 -0
- package/_internal/ScatterPlot2.js +743 -0
- package/_internal/ScatterPlot2.js.map +1 -0
- package/{_virtual → _internal}/_rollupPluginBabelHelpers.js +1 -1
- package/{types/axis.d.ts → _internal/axis.d2.ts} +2 -2
- package/_internal/config.js +13 -0
- package/_internal/config.js.map +1 -0
- package/{types → _internal}/data.d.ts +1 -1
- package/{types/legend.js → _internal/legend2.js} +2 -2
- package/_internal/legend2.js.map +1 -0
- package/{components/Axis/types.d.ts → _internal/scale.d.ts} +47 -2
- package/{scheme.js → _internal/scheme.js} +1 -1
- package/_internal/scheme.js.map +1 -0
- package/{components/Arc → _internal}/styles.d.ts +7 -5
- package/{components/Line/types.d.ts → _internal/styles.d10.ts} +14 -5
- package/{components/LineChart/types.d.ts → _internal/styles.d11.ts} +23 -12
- package/{components/PieChart/types.d.ts → _internal/styles.d12.ts} +29 -11
- package/{components/ScatterPlot/types.d.ts → _internal/styles.d13.ts} +23 -12
- package/{components/Arcs/types.d.ts → _internal/styles.d2.ts} +11 -2
- package/{components/Axis/styles.d.ts → _internal/styles.d3.ts} +6 -3
- package/{components/Bar/styles.d.ts → _internal/styles.d4.ts} +7 -5
- package/{components/BarChart/types.d.ts → _internal/styles.d5.ts} +49 -14
- package/{components/ChartContainer/styles.d.ts → _internal/styles.d6.ts} +8 -3
- package/{components/DataPoint/styles.d.ts → _internal/styles.d7.ts} +5 -2
- package/{components/Dot/styles.d.ts → _internal/styles.d8.ts} +7 -4
- package/{components/Legend/styles.d.ts → _internal/styles.d9.ts} +5 -2
- package/{utils/index.js → _internal/theme.js} +37 -2
- package/_internal/theme.js.map +1 -0
- package/{components/Arc → _internal}/types.d.ts +3 -3
- package/{components/Bar/types.d.ts → _internal/types.d2.ts} +3 -3
- package/{components/ChartContainer/types.d.ts → _internal/types.d3.ts} +1 -1
- package/{components/DataPoint/types.d.ts → _internal/types.d4.ts} +29 -3
- package/{components/Dot/types.d.ts → _internal/types.d5.ts} +3 -3
- package/{components/Legend/types.d.ts → _internal/types.d6.ts} +4 -4
- package/{components/LegendItem/types.d.ts → _internal/types.d7.ts} +8 -4
- package/{hooks → _internal}/useFormatCategoricalData.js +3 -4
- package/{hooks → _internal}/useFormatCategoricalData.js.map +1 -1
- package/index.d.ts +129 -51
- package/index.d2.ts +49 -0
- package/index.js +17 -42
- package/index.js.map +1 -1
- package/index2.js +16 -0
- package/index2.js.map +1 -0
- package/package.json +2 -2
- package/components/Arc/Arc.d.ts +0 -6
- package/components/Arc/Arc.js.map +0 -1
- package/components/Arc/styles.js +0 -49
- package/components/Arc/styles.js.map +0 -1
- package/components/Arcs/Arcs.d.ts +0 -6
- package/components/Arcs/Arcs.js.map +0 -1
- package/components/Arcs/styles.d.ts +0 -9
- package/components/Arcs/styles.js +0 -9
- package/components/Arcs/styles.js.map +0 -1
- package/components/Axis/Axis.d.ts +0 -7
- package/components/Axis/Axis.js.map +0 -1
- package/components/Axis/computeTicks.js +0 -117
- package/components/Axis/computeTicks.js.map +0 -1
- package/components/Axis/styles.js +0 -51
- package/components/Axis/styles.js.map +0 -1
- package/components/Axis/types.js +0 -24
- package/components/Axis/types.js.map +0 -1
- package/components/Bar/Bar.d.ts +0 -6
- package/components/Bar/Bar.js.map +0 -1
- package/components/Bar/styles.js +0 -66
- package/components/Bar/styles.js.map +0 -1
- package/components/Bar/types.js +0 -18
- package/components/Bar/types.js.map +0 -1
- package/components/BarChart/BarChart.d.ts +0 -29
- package/components/BarChart/BarChart.js +0 -141
- package/components/BarChart/BarChart.js.map +0 -1
- package/components/BarChart/BarChartBars.js +0 -168
- package/components/BarChart/BarChartBars.js.map +0 -1
- package/components/BarChart/BarChartSection.js +0 -139
- package/components/BarChart/BarChartSection.js.map +0 -1
- package/components/BarChart/EmptyBarChart.js +0 -57
- package/components/BarChart/EmptyBarChart.js.map +0 -1
- package/components/BarChart/LoadingBarChart.js +0 -18
- package/components/BarChart/LoadingBarChart.js.map +0 -1
- package/components/BarChart/RenderedLinearBarChart.js +0 -549
- package/components/BarChart/RenderedLinearBarChart.js.map +0 -1
- package/components/BarChart/RenderedOrdinalBarChart.js +0 -236
- package/components/BarChart/RenderedOrdinalBarChart.js.map +0 -1
- package/components/BarChart/context.js +0 -13
- package/components/BarChart/context.js.map +0 -1
- package/components/BarChart/intl/en-US.json.js +0 -17
- package/components/BarChart/intl/en-US.json.js.map +0 -1
- package/components/BarChart/intl/fr-FR.json.js +0 -17
- package/components/BarChart/intl/fr-FR.json.js.map +0 -1
- package/components/BarChart/intl/index.js +0 -10
- package/components/BarChart/intl/index.js.map +0 -1
- package/components/BarChart/styles.d.ts +0 -19
- package/components/BarChart/styles.js +0 -71
- package/components/BarChart/styles.js.map +0 -1
- package/components/BarChart/types.js +0 -17
- package/components/BarChart/types.js.map +0 -1
- package/components/BarChart/utils.js +0 -69
- package/components/BarChart/utils.js.map +0 -1
- package/components/ChartContainer/ChartContainer.d.ts +0 -9
- package/components/ChartContainer/ChartContainer.js.map +0 -1
- package/components/ChartContainer/context.js +0 -6
- package/components/ChartContainer/context.js.map +0 -1
- package/components/ChartContainer/intl/en-US.json.js +0 -14
- package/components/ChartContainer/intl/en-US.json.js.map +0 -1
- package/components/ChartContainer/intl/fr-FR.json.js +0 -14
- package/components/ChartContainer/intl/fr-FR.json.js.map +0 -1
- package/components/ChartContainer/intl/index.js +0 -10
- package/components/ChartContainer/intl/index.js.map +0 -1
- package/components/ChartContainer/styles.js +0 -76
- package/components/ChartContainer/styles.js.map +0 -1
- package/components/DataPoint/DataPoint.d.ts +0 -6
- package/components/DataPoint/DataPoint.js.map +0 -1
- package/components/DataPoint/styles.js +0 -10
- package/components/DataPoint/styles.js.map +0 -1
- package/components/Dot/Dot.d.ts +0 -6
- package/components/Dot/Dot.js.map +0 -1
- package/components/Dot/styles.js +0 -49
- package/components/Dot/styles.js.map +0 -1
- package/components/Dot/types.js +0 -14
- package/components/Dot/types.js.map +0 -1
- package/components/Legend/Legend.d.ts +0 -6
- package/components/Legend/Legend.js.map +0 -1
- package/components/Legend/styles.js +0 -15
- package/components/Legend/styles.js.map +0 -1
- package/components/LegendItem/LegendItem.js.map +0 -1
- package/components/LegendItem/styles.js +0 -63
- package/components/LegendItem/styles.js.map +0 -1
- package/components/Line/Line.d.ts +0 -6
- package/components/Line/Line.js.map +0 -1
- package/components/Line/styles.d.ts +0 -9
- package/components/Line/styles.js +0 -9
- package/components/Line/styles.js.map +0 -1
- package/components/LineChart/EmptyLineChart.js +0 -58
- package/components/LineChart/EmptyLineChart.js.map +0 -1
- package/components/LineChart/LineChart.d.ts +0 -6
- package/components/LineChart/LineChart.js +0 -96
- package/components/LineChart/LineChart.js.map +0 -1
- package/components/LineChart/LoadingLineChart.js +0 -18
- package/components/LineChart/LoadingLineChart.js.map +0 -1
- package/components/LineChart/RenderedLineChart.js.map +0 -1
- package/components/LineChart/intl/en-US.json.js +0 -17
- package/components/LineChart/intl/en-US.json.js.map +0 -1
- package/components/LineChart/intl/fr-FR.json.js +0 -17
- package/components/LineChart/intl/fr-FR.json.js.map +0 -1
- package/components/LineChart/intl/index.js +0 -10
- package/components/LineChart/intl/index.js.map +0 -1
- package/components/LineChart/styles.d.ts +0 -17
- package/components/LineChart/styles.js +0 -53
- package/components/LineChart/styles.js.map +0 -1
- package/components/LineChart/types.js +0 -17
- package/components/LineChart/types.js.map +0 -1
- package/components/LineChart/utils.js +0 -67
- package/components/LineChart/utils.js.map +0 -1
- package/components/PieChart/EmptyPieChart.js +0 -85
- package/components/PieChart/EmptyPieChart.js.map +0 -1
- package/components/PieChart/LoadingPieChart.js +0 -18
- package/components/PieChart/LoadingPieChart.js.map +0 -1
- package/components/PieChart/PieChart.d.ts +0 -6
- package/components/PieChart/PieChart.js +0 -98
- package/components/PieChart/PieChart.js.map +0 -1
- package/components/PieChart/RenderedPieChart.js +0 -198
- package/components/PieChart/RenderedPieChart.js.map +0 -1
- package/components/PieChart/intl/en-US.json.js +0 -9
- package/components/PieChart/intl/en-US.json.js.map +0 -1
- package/components/PieChart/intl/fr-FR.json.js +0 -9
- package/components/PieChart/intl/fr-FR.json.js.map +0 -1
- package/components/PieChart/intl/index.js +0 -10
- package/components/PieChart/intl/index.js.map +0 -1
- package/components/PieChart/styles.d.ts +0 -24
- package/components/PieChart/styles.js +0 -168
- package/components/PieChart/styles.js.map +0 -1
- package/components/PieChart/types.js +0 -27
- package/components/PieChart/types.js.map +0 -1
- package/components/PieChart/utils.js +0 -37
- package/components/PieChart/utils.js.map +0 -1
- package/components/ScatterPlot/EmptyScatterPlot.js +0 -58
- package/components/ScatterPlot/EmptyScatterPlot.js.map +0 -1
- package/components/ScatterPlot/LoadingScatterPlot.js +0 -18
- package/components/ScatterPlot/LoadingScatterPlot.js.map +0 -1
- package/components/ScatterPlot/RenderedScatterPlot.js +0 -352
- package/components/ScatterPlot/RenderedScatterPlot.js.map +0 -1
- package/components/ScatterPlot/ScatterPlot.d.ts +0 -6
- package/components/ScatterPlot/ScatterPlot.js +0 -105
- package/components/ScatterPlot/ScatterPlot.js.map +0 -1
- package/components/ScatterPlot/intl/en-US.json.js +0 -12
- package/components/ScatterPlot/intl/en-US.json.js.map +0 -1
- package/components/ScatterPlot/intl/fr-FR.json.js +0 -17
- package/components/ScatterPlot/intl/fr-FR.json.js.map +0 -1
- package/components/ScatterPlot/intl/index.js +0 -10
- package/components/ScatterPlot/intl/index.js.map +0 -1
- package/components/ScatterPlot/styles.d.ts +0 -17
- package/components/ScatterPlot/styles.js +0 -53
- package/components/ScatterPlot/styles.js.map +0 -1
- package/components/ScatterPlot/types.js +0 -24
- package/components/ScatterPlot/types.js.map +0 -1
- package/components/ScatterPlot/utils.js +0 -70
- package/components/ScatterPlot/utils.js.map +0 -1
- package/config.js +0 -15
- package/config.js.map +0 -1
- package/design-system/src/react-aria/react-aria/i18n/useMessageFormatter.d.ts +0 -5
- package/hooks/useBrush.d.ts +0 -17
- package/hooks/useBrush.js +0 -48
- package/hooks/useBrush.js.map +0 -1
- package/hooks/useColor.d.ts +0 -18
- package/hooks/useColor.js +0 -20
- package/hooks/useColor.js.map +0 -1
- package/hooks/useFormatCategoricalData.d.ts +0 -26
- package/hooks/useZoom.d.ts +0 -26
- package/hooks/useZoom.js +0 -39
- package/hooks/useZoom.js.map +0 -1
- package/scheme.d.ts +0 -32
- package/scheme.js.map +0 -1
- package/types/legend.d.ts +0 -30
- package/types/legend.js.map +0 -1
- package/types/scale.d.ts +0 -48
- package/types/size.d.ts +0 -20
- package/types/size.js +0 -8
- package/types/size.js.map +0 -1
- package/types/theme.d.ts +0 -23
- package/types/theme.js +0 -13
- package/types/theme.js.map +0 -1
- package/utils/index.d.ts +0 -11
- package/utils/index.js.map +0 -1
- /package/{_virtual → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
|
@@ -1,22 +1,238 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef, useRef, useEffect } from 'react';
|
|
3
|
-
import
|
|
4
|
-
import { useTheme, useMessageFormatter, Flexbox } from '@redsift/design-system';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { Line } from '
|
|
11
|
-
import { Dot } from '
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { useColor } from '../../hooks/useColor.js';
|
|
15
|
-
import { Axis } from '../Axis/Axis.js';
|
|
16
|
-
import { Legend } from '../Legend/Legend.js';
|
|
17
|
-
import { LegendVariant } from '../../types/legend.js';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useTheme, useMessageFormatter, Flexbox, useId } from '@redsift/design-system';
|
|
5
|
+
import styled from 'styled-components';
|
|
6
|
+
import { C as ChartContainer } from './ChartContainer2.js';
|
|
7
|
+
import { scaleLinear, extent, scaleTime, scalePoint, line } from 'd3';
|
|
8
|
+
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
9
|
+
import { A as Axis, a as AxisVariant } from './Axis2.js';
|
|
10
|
+
import { L as Line } from './Line2.js';
|
|
11
|
+
import { D as Dot, a as DotVariant } from './Dot2.js';
|
|
12
|
+
import { L as Legend } from './Legend3.js';
|
|
13
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Component's labels variant.
|
|
17
|
+
*/
|
|
18
|
+
const LineChartLegendVariant = {
|
|
19
|
+
none: 'none',
|
|
20
|
+
externalLabel: 'externalLabel',
|
|
21
|
+
externalLabelValue: 'externalLabelValue',
|
|
22
|
+
externalLabelPercent: 'externalLabelPercent',
|
|
23
|
+
custom: 'custom'
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component props.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Component style.
|
|
32
|
+
*/
|
|
33
|
+
const StyledLineChart = styled(ChartContainer)``;
|
|
34
|
+
const StyledLineChartEmptyText = styled.div`
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
height: 100%;
|
|
39
|
+
width: 100%;
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
justify-content: center;
|
|
43
|
+
align-items: center;
|
|
44
|
+
pointer-events: none;
|
|
45
|
+
|
|
46
|
+
> * {
|
|
47
|
+
max-width: ${_ref => {
|
|
48
|
+
let {
|
|
49
|
+
$maxWidth
|
|
50
|
+
} = _ref;
|
|
51
|
+
return $maxWidth;
|
|
52
|
+
}}px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
> span {
|
|
56
|
+
font-family: var(--redsift-typography-font-family-poppins);
|
|
57
|
+
color: ${_ref2 => {
|
|
58
|
+
let {
|
|
59
|
+
$theme
|
|
60
|
+
} = _ref2;
|
|
61
|
+
return `var(--redsift-color-${$theme}-components-text-primary)`;
|
|
62
|
+
}};
|
|
63
|
+
font-size: ${_ref3 => {
|
|
64
|
+
let {
|
|
65
|
+
$textSize
|
|
66
|
+
} = _ref3;
|
|
67
|
+
return $textSize;
|
|
68
|
+
}}px;
|
|
69
|
+
line-height: ${_ref4 => {
|
|
70
|
+
let {
|
|
71
|
+
$textSize
|
|
72
|
+
} = _ref4;
|
|
73
|
+
return $textSize;
|
|
74
|
+
}}px;
|
|
75
|
+
}
|
|
76
|
+
`;
|
|
77
|
+
|
|
78
|
+
const _excluded$3 = ["className"];
|
|
79
|
+
const LoadingLineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
80
|
+
const {
|
|
81
|
+
className
|
|
82
|
+
} = props,
|
|
83
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$3);
|
|
84
|
+
return /*#__PURE__*/React__default.createElement(StyledLineChart, _extends({}, forwardedProps, {
|
|
85
|
+
className: className,
|
|
86
|
+
ref: ref
|
|
87
|
+
}), "Loading...");
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
const sizeToDimension = size => {
|
|
91
|
+
if (typeof size !== 'string') {
|
|
92
|
+
return size;
|
|
93
|
+
}
|
|
94
|
+
switch (size) {
|
|
95
|
+
case ChartSize.small:
|
|
96
|
+
return {
|
|
97
|
+
width: 600,
|
|
98
|
+
height: 300,
|
|
99
|
+
fontSize: 30
|
|
100
|
+
};
|
|
101
|
+
case ChartSize.medium:
|
|
102
|
+
default:
|
|
103
|
+
return {
|
|
104
|
+
width: 750,
|
|
105
|
+
height: 375,
|
|
106
|
+
fontSize: 34
|
|
107
|
+
};
|
|
108
|
+
case ChartSize.large:
|
|
109
|
+
return {
|
|
110
|
+
width: 900,
|
|
111
|
+
height: 450,
|
|
112
|
+
fontSize: 38
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
const statsBy = (arr, sortingMethod) => {
|
|
117
|
+
const counts = arr.reduce((prev, curr) => {
|
|
118
|
+
if (!curr.value) {
|
|
119
|
+
return prev;
|
|
120
|
+
}
|
|
121
|
+
if (!prev[curr.key[1]]) {
|
|
122
|
+
prev[curr.key[1]] = {
|
|
123
|
+
value: curr.value,
|
|
124
|
+
min: curr.value,
|
|
125
|
+
max: curr.value,
|
|
126
|
+
values: [curr.value]
|
|
127
|
+
};
|
|
128
|
+
} else {
|
|
129
|
+
prev[curr.key[1]] = {
|
|
130
|
+
value: prev[curr.key[1]].value + curr.value,
|
|
131
|
+
min: Math.min(prev[curr.key[1]].min, curr.value),
|
|
132
|
+
max: Math.max(prev[curr.key[1]].max, curr.value),
|
|
133
|
+
values: [...prev[curr.key[1]].values, curr.value]
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return prev;
|
|
137
|
+
}, {});
|
|
138
|
+
return Object.keys(counts).map(key => ({
|
|
139
|
+
key: key,
|
|
140
|
+
value: counts[key].value,
|
|
141
|
+
min: counts[key].min,
|
|
142
|
+
max: counts[key].max,
|
|
143
|
+
values: counts[key].values,
|
|
144
|
+
first: counts[key].values[0],
|
|
145
|
+
last: counts[key].values[counts[key].values.length - 1],
|
|
146
|
+
trending: {
|
|
147
|
+
overall: (counts[key].values[counts[key].values.length - 1] - counts[key].values[0]) * 100 / counts[key].values[0]
|
|
148
|
+
}
|
|
149
|
+
})).sort(getSortingMethod(sortingMethod));
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
const _excluded$2 = ["className", "data", "emptyComponent", "localeText", "size"];
|
|
153
|
+
const EmptyLineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
154
|
+
const {
|
|
155
|
+
className,
|
|
156
|
+
data: propsData,
|
|
157
|
+
emptyComponent,
|
|
158
|
+
localeText,
|
|
159
|
+
size
|
|
160
|
+
} = props,
|
|
161
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$2);
|
|
162
|
+
const theme = useTheme();
|
|
163
|
+
const cache = useRef();
|
|
164
|
+
const data = propsData;
|
|
165
|
+
useEffect(() => {
|
|
166
|
+
cache.current = data;
|
|
167
|
+
});
|
|
168
|
+
const chartDimensions = sizeToDimension(size);
|
|
169
|
+
const width = chartDimensions.width;
|
|
170
|
+
const height = chartDimensions.height;
|
|
171
|
+
const margins = {
|
|
172
|
+
top: 16,
|
|
173
|
+
left: 48,
|
|
174
|
+
right: 16,
|
|
175
|
+
bottom: 48
|
|
176
|
+
};
|
|
177
|
+
const chartWidth = width - margins.left - margins.right;
|
|
178
|
+
return /*#__PURE__*/React__default.createElement(StyledLineChart, _extends({}, forwardedProps, {
|
|
179
|
+
className: className,
|
|
180
|
+
ref: ref
|
|
181
|
+
}), emptyComponent !== null && emptyComponent !== void 0 ? emptyComponent : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(StyledLineChartEmptyText, {
|
|
182
|
+
$maxWidth: width,
|
|
183
|
+
$textSize: chartDimensions.fontSize / 2,
|
|
184
|
+
$theme: theme
|
|
185
|
+
}, /*#__PURE__*/React__default.createElement("span", null, localeText === null || localeText === void 0 ? void 0 : localeText.emptyChartText)), /*#__PURE__*/React__default.createElement("svg", {
|
|
186
|
+
width: width,
|
|
187
|
+
height: height
|
|
188
|
+
}, /*#__PURE__*/React__default.createElement("g", {
|
|
189
|
+
transform: `translate(${margins.left},${margins.top})`
|
|
190
|
+
}, /*#__PURE__*/React__default.createElement(Axis, {
|
|
191
|
+
position: "bottom",
|
|
192
|
+
length: width - 32,
|
|
193
|
+
scale: scaleLinear().domain([]).range([0, chartWidth]),
|
|
194
|
+
x: 0,
|
|
195
|
+
y: height,
|
|
196
|
+
tickValues: 4
|
|
197
|
+
})))));
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
var enUS = {
|
|
201
|
+
"interactive-chart": "Interactive Line Chart",
|
|
202
|
+
"static-chart": "Static Line Chart",
|
|
203
|
+
"definition-linear": "Linear Line Chart with {circleLength} circles.",
|
|
204
|
+
"definition-linear-with-categories": "Linear Line Chart with {categoryLength} categories and {circleLength} circles.",
|
|
205
|
+
"definition-ordinal": "Ordinal Line Chart with {circleLength} circles.",
|
|
206
|
+
"x-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying numbers from {start, number} to {end, number}.",
|
|
207
|
+
"y-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying numbers from {start, number} to {end, number}.",
|
|
208
|
+
"x-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying dates from {start, date, ::yyyyMMdd} to {end, date, ::yyyyMMdd}.",
|
|
209
|
+
"y-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying dates from {start, date, ::yyyyMMdd} to {end, date, ::yyyyMMdd}.",
|
|
210
|
+
"x-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying categories.",
|
|
211
|
+
"y-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying categories.",
|
|
212
|
+
"series-legend": "{category}, line {categoryIndex} of {categoryLength} with {circleLength} circles"
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
var frFR = {
|
|
216
|
+
"interactive-chart": "Graphique en courbe interactif",
|
|
217
|
+
"static-chart": "Graphique en courbe statique",
|
|
218
|
+
"definition-linear": "Graphique en courbe contenant {circleLength} points répartis sur un axe linéraire.",
|
|
219
|
+
"definition-linear-with-categories": "Graphique en courbe contenant {categoryLength} courbes et {circleLength} points répartis sur un axe linéraire.",
|
|
220
|
+
"definition-ordinal": "Graphique en courbe contenant {circleLength} points.",
|
|
221
|
+
"x-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des nombres allant de {start, number} à {end, number}.",
|
|
222
|
+
"y-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des nombres allant de {start, number} à {end, number}.",
|
|
223
|
+
"x-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des dates allant de {start, date, ::yyyyMMdd} à {end, date, ::yyyyMMdd}.",
|
|
224
|
+
"y-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des dates allant de {start, date, ::yyyyMMdd} à {end, date, ::yyyyMMdd}.",
|
|
225
|
+
"x-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des categories.",
|
|
226
|
+
"y-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des categories.",
|
|
227
|
+
"series-legend": "{category}, courbe {categoryIndex} sur {categoryLength} contenant {circleLength} points"
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var intlMessages = {
|
|
231
|
+
'en-US': enUS,
|
|
232
|
+
'fr-FR': frFR
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
const _excluded$1 = ["className", "data", "dotRole", "disableAnimations", "getDotAnchorProps", "id", "isDotSelected", "labelDecorator", "legendDecorator", "legendVariant", "legendProps", "margins", "onDotClick", "size", "sortingMethod", "colorTheme", "tooltipDecorator", "tooltipVariant", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "xAxisMinValue", "xAxisMaxValue", "xAxisTickRemodelling", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues", "yAxisMinValue", "yAxisMaxValue", "yAxisTickRemodelling", "dateParser"],
|
|
20
236
|
_excluded2 = ["extraLegendItems"];
|
|
21
237
|
const RenderedLineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
22
238
|
const {
|
|
@@ -60,7 +276,7 @@ const RenderedLineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
60
276
|
yAxisTickRemodelling,
|
|
61
277
|
dateParser
|
|
62
278
|
} = props,
|
|
63
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
279
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$1);
|
|
64
280
|
const cache = useRef();
|
|
65
281
|
const theme = useTheme();
|
|
66
282
|
const format = useMessageFormatter(intlMessages);
|
|
@@ -368,5 +584,86 @@ const RenderedLineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
368
584
|
}, forwardedLegendProps)) : null);
|
|
369
585
|
});
|
|
370
586
|
|
|
371
|
-
|
|
372
|
-
|
|
587
|
+
const _excluded = ["className", "colorTheme", "data", "dotRole", "emptyComponent", "id", "isDotSelected", "labelDecorator", "legendDecorator", "legendVariant", "localeText", "onDotClick", "size", "sortingMethod", "tooltipDecorator", "tooltipVariant", "xAxisPlacement", "xAxisVariant", "yAxisPlacement", "yAxisVariant"];
|
|
588
|
+
const COMPONENT_NAME = 'LineChart';
|
|
589
|
+
const CLASSNAME = 'redsift-line-chart';
|
|
590
|
+
const LineChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
591
|
+
const {
|
|
592
|
+
className,
|
|
593
|
+
colorTheme = ColorTheme.dark,
|
|
594
|
+
data: propsData,
|
|
595
|
+
dotRole,
|
|
596
|
+
emptyComponent,
|
|
597
|
+
id: propsId,
|
|
598
|
+
isDotSelected,
|
|
599
|
+
labelDecorator,
|
|
600
|
+
legendDecorator,
|
|
601
|
+
legendVariant: propsLegendVariant,
|
|
602
|
+
localeText = {
|
|
603
|
+
emptyChartText: 'No Data'
|
|
604
|
+
},
|
|
605
|
+
onDotClick,
|
|
606
|
+
size = ChartSize.medium,
|
|
607
|
+
sortingMethod = 'desc-value',
|
|
608
|
+
tooltipDecorator,
|
|
609
|
+
tooltipVariant = TooltipVariant.none,
|
|
610
|
+
xAxisPlacement = 'bottom',
|
|
611
|
+
xAxisVariant = AxisVariant.default,
|
|
612
|
+
yAxisPlacement = 'left',
|
|
613
|
+
yAxisVariant = AxisVariant.default
|
|
614
|
+
} = props,
|
|
615
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
616
|
+
const [_id] = useId();
|
|
617
|
+
const id = propsId !== null && propsId !== void 0 ? propsId : _id;
|
|
618
|
+
const legendVariant = propsLegendVariant !== null && propsLegendVariant !== void 0 ? propsLegendVariant : LineChartLegendVariant.externalLabel;
|
|
619
|
+
if (propsData === undefined || propsData === null) {
|
|
620
|
+
return /*#__PURE__*/React__default.createElement(LoadingLineChart, _extends({
|
|
621
|
+
id: id
|
|
622
|
+
}, forwardedProps, {
|
|
623
|
+
ref: ref
|
|
624
|
+
}));
|
|
625
|
+
}
|
|
626
|
+
if (propsData.length === 0) {
|
|
627
|
+
return /*#__PURE__*/React__default.createElement(EmptyLineChart, _extends({
|
|
628
|
+
data: propsData,
|
|
629
|
+
emptyComponent: emptyComponent,
|
|
630
|
+
localeText: localeText,
|
|
631
|
+
size: size,
|
|
632
|
+
sortingMethod: sortingMethod,
|
|
633
|
+
xAxisPlacement: xAxisPlacement,
|
|
634
|
+
xAxisVariant: xAxisVariant,
|
|
635
|
+
yAxisPlacement: yAxisPlacement,
|
|
636
|
+
yAxisVariant: yAxisVariant
|
|
637
|
+
}, forwardedProps, {
|
|
638
|
+
ref: ref
|
|
639
|
+
}));
|
|
640
|
+
}
|
|
641
|
+
return /*#__PURE__*/React__default.createElement(RenderedLineChart, _extends({
|
|
642
|
+
className: classNames(LineChart.className, className),
|
|
643
|
+
colorTheme: colorTheme,
|
|
644
|
+
data: propsData,
|
|
645
|
+
dotRole: dotRole,
|
|
646
|
+
id: id,
|
|
647
|
+
isDotSelected: isDotSelected,
|
|
648
|
+
labelDecorator: labelDecorator,
|
|
649
|
+
legendDecorator: legendDecorator,
|
|
650
|
+
legendVariant: legendVariant,
|
|
651
|
+
localeText: localeText,
|
|
652
|
+
onDotClick: onDotClick,
|
|
653
|
+
size: size,
|
|
654
|
+
sortingMethod: sortingMethod,
|
|
655
|
+
tooltipDecorator: tooltipDecorator,
|
|
656
|
+
tooltipVariant: tooltipVariant,
|
|
657
|
+
xAxisPlacement: xAxisPlacement,
|
|
658
|
+
xAxisVariant: xAxisVariant,
|
|
659
|
+
yAxisPlacement: yAxisPlacement,
|
|
660
|
+
yAxisVariant: yAxisVariant
|
|
661
|
+
}, forwardedProps, {
|
|
662
|
+
ref: ref
|
|
663
|
+
}));
|
|
664
|
+
});
|
|
665
|
+
LineChart.className = CLASSNAME;
|
|
666
|
+
LineChart.displayName = COMPONENT_NAME;
|
|
667
|
+
|
|
668
|
+
export { LineChart as L, StyledLineChart as S, LineChartLegendVariant as a, StyledLineChartEmptyText as b };
|
|
669
|
+
//# sourceMappingURL=LineChart2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineChart2.js","sources":["../../src/components/LineChart/types.ts","../../src/components/LineChart/styles.ts","../../src/components/LineChart/LoadingLineChart.tsx","../../src/components/LineChart/utils.ts","../../src/components/LineChart/EmptyLineChart.tsx","../../src/components/LineChart/intl/index.ts","../../src/components/LineChart/RenderedLineChart.tsx","../../src/components/LineChart/LineChart.tsx"],"sourcesContent":["import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n TwoCategoryData,\n ChartAxesProps,\n MarginProps,\n Statistics,\n} from '../../types';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactElement, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { LegendProps } from '../Legend';\nimport { SortingMethod } from '../../utils';\nimport { AnchorProps } from '../DataPoint';\n\n/**\n * Component's labels variant.\n */\nexport const LineChartLegendVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n custom: 'custom',\n} as const;\nexport type LineChartLegendVariant = ValueOf<typeof LineChartLegendVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\nexport type LineChartDimensions = ChartDimensions & {\n fontSize: number;\n};\n\n/**\n * Component props.\n */\nexport interface LineChartProps extends ChartContainerProps, ChartAxesProps {\n /** Dataset to use to generate the chart. */\n data?: TwoCategoryData;\n /** Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Method used to define the anchor props to use when the dot is a navigation link. */\n getDotAnchorProps?: (datum: DotDatum) => AnchorProps;\n /** Method to determine whether a dot is selected or not. */\n isDotSelected?: (datum: DotDatum) => boolean | undefined;\n /** Method to override the data point labels. */\n labelDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Method modifying what's displayed within the legend when the legendVariant is \"custom\". */\n legendDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to \"custom\", use `legendDecorator` to customize it. */\n legendVariant?: LineChartLegendVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'> & { extraLegendItems?: Statistics };\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Custom margins, used to give more space for axes labels and legend for instance. */\n margins?: MarginProps;\n /** Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. */\n onDotClick?: (datum: DotDatum) => void;\n /** LineChart size. */\n size?: ChartSize | LineChartDimensions;\n /** Define how to sort categories. */\n sortingMethod?: SortingMethod;\n /** Reference to the SVG tag. */\n svgRef?: MutableRefObject<SVGSVGElement>;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n colorTheme?: ChartTheme;\n /** Method modifying what's displayed within the tooltip when the tooltipVariant is \"custom\". */\n tooltipDecorator?: (\n data: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledLineChartProps = LineChartProps & {};\n","import styled from 'styled-components';\nimport { StyledLineChartProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledLineChart = styled(ChartContainer)<StyledLineChartProps>``;\n\nexport const StyledLineChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $theme: Theme;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-poppins);\n color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-text-primary)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\n\nimport { LineChartProps } from './types';\nimport { StyledLineChart } from './styles';\n\nexport const LoadingLineChart = forwardRef<HTMLDivElement, LineChartProps>((props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledLineChart {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n Loading...\n </StyledLineChart>\n );\n});\n","import { ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { CoordinatesCategoryData, CoordinatesCategoryDatum, Statistics, TwoCategoryData } from '../../types';\n\nimport { ChartSize } from '../../types';\nimport { LineChartDimensions } from './types';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | LineChartDimensions): LineChartDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return { width: 600, height: 300, fontSize: 30 };\n case ChartSize.medium:\n default:\n return { width: 750, height: 375, fontSize: 34 };\n case ChartSize.large:\n return { width: 900, height: 450, fontSize: 38 };\n }\n};\n\nexport const BASE_NUMBER_OF_TICKS = 20;\n\nexport const getClosestLineIndex = (value: number, scale: d3ScaleLinear<number, number, never>) => {\n const ticks = scale.ticks(BASE_NUMBER_OF_TICKS);\n const delta = ticks[1] - ticks[0];\n const index = Math.round(value / delta);\n const roundValue = index * delta;\n return [index, roundValue];\n};\n\nexport const group = (\n data: CoordinatesCategoryData,\n x: d3ScaleLinear<number, number, never>,\n y: d3ScaleLinear<number, number, never>\n) => {\n const groupDict: Record<\n string,\n {\n category: string;\n x: number;\n y: number;\n data: CoordinatesCategoryDatum;\n points: CoordinatesCategoryData;\n }\n > = {};\n\n data.forEach((d) => {\n const [i, rx] = getClosestLineIndex(d.key[0], x);\n const [j, ry] = getClosestLineIndex(d.key[1], y);\n\n const key = `${i}_${j}_${d.key[2]}`;\n if (!(key in groupDict)) {\n groupDict[key] = {\n category: d.key[2] as string,\n x: rx,\n y: ry,\n data: {\n key: d.key,\n value: 0,\n },\n points: [],\n };\n }\n\n groupDict[key].points.push(d);\n groupDict[key].data.value += 1;\n });\n\n return Object.values(groupDict);\n};\n\nexport const countBy = (arr: CoordinatesCategoryData, sortingMethod: SortingMethod) => {\n const counts = arr.reduce(\n (prev, curr) => ((prev[curr.key[2] as string] = ++(prev[curr.key[2] as string] as number) || 1), prev),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort(getSortingMethod(sortingMethod));\n};\n\nexport const statsBy: (arr: TwoCategoryData, sortingMethod: SortingMethod) => Statistics = (arr, sortingMethod) => {\n const counts = arr.reduce((prev, curr) => {\n if (!curr.value) {\n return prev;\n }\n if (!prev[curr.key[1] as string]) {\n prev[curr.key[1] as string] = {\n value: curr.value,\n min: curr.value,\n max: curr.value,\n values: [curr.value],\n };\n } else {\n prev[curr.key[1] as string] = {\n value: prev[curr.key[1] as string].value + curr.value,\n min: Math.min(prev[curr.key[1] as string].min, curr.value),\n max: Math.max(prev[curr.key[1] as string].max, curr.value),\n values: [...prev[curr.key[1] as string].values, curr.value],\n };\n }\n return prev;\n }, {} as Record<string, { value: number; min: number; max: number; values: number[] }>);\n\n return Object.keys(counts)\n .map((key) => ({\n key: key,\n value: counts[key].value,\n min: counts[key].min,\n max: counts[key].max,\n values: counts[key].values,\n first: counts[key].values[0],\n last: counts[key].values[counts[key].values.length - 1],\n trending: {\n overall:\n ((counts[key].values[counts[key].values.length - 1] - counts[key].values[0]) * 100) / counts[key].values[0],\n },\n }))\n .sort(getSortingMethod(sortingMethod));\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear } from 'd3';\n\nimport { AnyScale, JSONArray } from '../../types';\nimport { LineChartProps } from './types';\nimport { StyledLineChart, StyledLineChartEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyLineChart = forwardRef<HTMLDivElement, LineChartProps>((props, ref) => {\n const { className, data: propsData, emptyComponent, localeText, size, ...forwardedProps } = props;\n const theme = useTheme();\n\n const cache = useRef<JSONArray>();\n\n const data = propsData;\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 48, right: 16, bottom: 48 };\n const chartWidth = width - margins.left - margins.right;\n\n return (\n <StyledLineChart {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledLineChartEmptyText $maxWidth={width} $textSize={chartDimensions.fontSize / 2} $theme={theme}>\n <span>{localeText?.emptyChartText}</span>\n </StyledLineChartEmptyText>\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={width - 32}\n scale={d3scaleLinear().domain([]).range([0, chartWidth]) as AnyScale}\n x={0}\n y={height}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledLineChart>\n );\n});\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport {\n extent as d3extent,\n scaleLinear as d3scaleLinear,\n scalePoint as d3scalePoint,\n scaleTime as d3scaleTime,\n line as d3line,\n ScaleTime as d3ScaleTime,\n} from 'd3';\n\nimport { Flexbox, useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, DotDatum, LegendItemDatum, LegendVariant, LinePointDatum, TwoCategoryData } from '../../types';\nimport { LineChartLegendVariant, LineChartProps } from './types';\nimport { StyledLineChart } from './styles';\nimport { useColor } from '../../hooks';\nimport { Axis, AxisVariant } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot, DotVariant } from '../Dot';\nimport { statsBy, sizeToDimension } from './utils';\nimport { Line } from '../Line';\nimport { getSortingMethod, isValidDate, mergeLegends } from '../../utils';\n\ninterface RenderedLineChartProps extends Required<Pick<LineChartProps, 'data'>>, Omit<LineChartProps, 'data'> {}\n\nexport const RenderedLineChart = forwardRef<HTMLDivElement, RenderedLineChartProps>((props, ref) => {\n const {\n className,\n data: propsData,\n dotRole,\n disableAnimations,\n getDotAnchorProps,\n id,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onDotClick,\n size,\n sortingMethod,\n colorTheme,\n tooltipDecorator,\n tooltipVariant,\n xAxisVariant,\n xAxisPlacement,\n xAxisTickFormat: propsXAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n xAxisMinValue,\n xAxisMaxValue,\n xAxisTickRemodelling,\n yAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n yAxisMinValue,\n yAxisMaxValue,\n yAxisTickRemodelling,\n dateParser,\n ...forwardedProps\n } = props;\n\n const cache = useRef<TwoCategoryData>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const xScaleType: 'number' | 'string' | 'Date' | 'dateString' | undefined =\n propsData[0].key[0] instanceof Date\n ? 'Date'\n : typeof propsData[0].key[0] === 'number'\n ? 'number'\n : typeof propsData[0].key[0] === 'string' && isValidDate(propsData[0].key[0])\n ? 'dateString'\n : typeof propsData[0].key[0] === 'string'\n ? 'string'\n : undefined;\n const data =\n xScaleType === 'number'\n ? propsData.filter((datum) => typeof datum.key[0] === 'number' && !Number.isNaN(datum.key[0]))\n : xScaleType === 'dateString'\n ? propsData.filter((datum) => isValidDate(datum.key[0] as string))\n : xScaleType === 'string'\n ? propsData.filter((datum) => typeof datum.key[0] === 'string')\n : xScaleType === 'Date'\n ? propsData.filter((datum) => datum.key[0] instanceof Date)\n : propsData;\n\n useEffect(() => {\n cache.current = data;\n });\n\n const svgRef = useRef<SVGSVGElement>();\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = {\n top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n ...propsMargins,\n };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n\n const scaleX = (() => {\n if (xScaleType === 'number') {\n const domain = d3extent(data, (d) => d.key[0] as number) as [number, number];\n domain[0] = (xAxisMinValue as number) ?? domain[0];\n domain[1] = (xAxisMaxValue as number) ?? domain[1];\n return d3scaleLinear().domain(domain).range([0, chartWidth]).nice();\n } else if (xScaleType === 'dateString') {\n const domain = d3extent(data, (d) => Date.parse(d.key[0] as string)) as [number, number];\n domain[0] = (xAxisMinValue as number) ?? domain[0];\n domain[1] = (xAxisMaxValue as number) ?? domain[1];\n return d3scaleTime()\n .domain([new Date(domain[0]), new Date(domain[1])])\n .range([0, chartWidth])\n .nice();\n } else if (xScaleType === 'Date') {\n const domain = d3extent(data, (d) => (d.key[0] as Date).valueOf()) as [number, number];\n domain[0] = (xAxisMinValue as number) ?? domain[0];\n domain[1] = (xAxisMaxValue as number) ?? domain[1];\n return d3scaleTime()\n .domain([new Date(domain[0]), new Date(domain[1])])\n .range([0, chartWidth])\n .nice();\n } else {\n const domain =\n xAxisTickValues && Array.isArray(xAxisTickValues)\n ? (xAxisTickValues as string[])\n : data.map((d) => d.key[0] as string);\n domain[0] = (xAxisMinValue as string) ?? domain[0];\n domain[1] = (xAxisMaxValue as string) ?? domain[1];\n return d3scalePoint().domain(domain).range([0, chartWidth]);\n }\n })();\n const scaleY = (() => {\n const domain = d3extent(data, (d) => d.value) as [number, number];\n domain[0] = (yAxisMinValue as number) ?? domain[0];\n domain[1] = (yAxisMaxValue as number) ?? domain[1];\n return d3scaleLinear().domain(domain).range([chartHeight, 0]).nice();\n })();\n const xAxisTickFormat =\n propsXAxisTickFormat ??\n (xScaleType === 'Date' || xScaleType === 'dateString'\n ? (scaleX as d3ScaleTime<number, number, never>).tickFormat()\n : undefined);\n\n const hasCategory = data[0] && data[0].key.length >= 2 && data[0].key[1] !== null && data[0].key[1] !== undefined;\n const statsByCategory = statsBy(data, sortingMethod!);\n const colorScale = useColor({\n data: statsByCategory,\n colorTheme: colorTheme!,\n category: (d) => d.key as string,\n theme,\n });\n\n const circles = data\n .sort((a, b) => {\n if (xScaleType === 'number') {\n if (a.key[0] < b.key[0]) return -1;\n if (a.key[0] > b.key[0]) return 1;\n return 0;\n } else if (xScaleType === 'dateString') {\n if (Date.parse(a.key[0] as string) < Date.parse(b.key[0] as string)) return -1;\n if (Date.parse(a.key[0] as string) > Date.parse(b.key[0] as string)) return 1;\n return 0;\n } else if (xScaleType === 'Date') {\n if ((a.key[0] as Date).valueOf() < (b.key[0] as Date).valueOf()) return -1;\n if ((a.key[0] as Date).valueOf() > (b.key[0] as Date).valueOf()) return 1;\n return 0;\n } else if (xScaleType === 'string' && xAxisTickValues && Array.isArray(xAxisTickValues)) {\n if (xAxisTickValues.indexOf(a.key[0]) < xAxisTickValues.indexOf(b.key[0])) return -1;\n if (xAxisTickValues.indexOf(a.key[0]) > xAxisTickValues.indexOf(b.key[0])) return 1;\n return 0;\n }\n return 0;\n })\n .filter((d) => d.value !== null)\n .map((d) => ({\n category: d.key[1] ?? 'default',\n x:\n xScaleType === 'dateString'\n ? dateParser\n ? dateParser(d.key[0] as string)\n : new Date(Date.parse(d.key[0] as string))\n : d.key[0],\n y: d.value,\n data: {\n key: d.key,\n value: d.value,\n },\n points: [d],\n }));\n const lines = hasCategory\n ? Object.values(\n circles.reduce((prev, curr: (typeof circles)[number]) => {\n if (!prev[curr.category!]) {\n prev[curr.category!] = [];\n }\n prev[curr.category!].push(curr);\n return prev;\n }, {} as Record<string, typeof circles>)\n )\n : [circles];\n\n const createLine = d3line<LinePointDatum>()\n .x((d) => scaleX(d.x as any) as any)\n .y((d) => scaleY(d.y as any));\n\n const categories: string[] = [];\n const pivotedTable = circles.reduce((acc, item) => {\n const { x, category, y } = item;\n if (!categories.includes(category)) {\n categories.push(category);\n }\n const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();\n\n let entry = acc.find((e) => e.key === formattedKey);\n if (!entry) {\n entry = { key: formattedKey };\n acc.push(entry);\n }\n\n entry[category] = y;\n\n return acc;\n }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledLineChart\n mode={typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-linear-with-categories', {\n categoryLength: categories.length,\n circleLength: circles.length,\n })\n : format('definition-linear', { circleLength: circles.length })\n }\n xAxisDefinition={\n xScaleType !== 'string'\n ? format(`x-axis-${xScaleType === 'number' ? 'numbers' : 'dates'}-definition`, {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scaleX.domain()[0],\n end: scaleX.domain()[1],\n })\n : format('x-axis-categories-definition', { numAxis: xAxisPlacement === 'both' ? 2 : 1 })\n }\n yAxisDefinition={format('y-axis-numbers-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scaleY.domain()[0],\n end: scaleY.domain()[1],\n })}\n dataTableRepresentation={\n hasCategory\n ? {\n header: (\n <thead>\n <tr>\n <th scope=\"col\">{xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'}</th>\n {categories.map((category) => (\n <th key={category} scope=\"col\">\n {category}\n </th>\n ))}\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {pivotedTable.map((row) => (\n <tr key={row.key}>\n <th scope=\"row\">{row.key}</th>\n {categories.map((category) => (\n <th key={`${row.key}-${category}-${row[category]}`} scope=\"col\">\n {row[category]}\n </th>\n ))}\n </tr>\n ))}\n </tbody>\n ),\n }\n : {\n header: (\n <thead>\n <tr>\n <th scope=\"col\">{xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'}</th>\n <th scope=\"col\">Value</th>\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {circles.map((datum) => {\n const key = xAxisTickFormat ? xAxisTickFormat(datum.x as any) : datum.x.toString();\n return (\n <tr key={key}>\n <th scope=\"row\">{key}</th>\n <td>{datum.y}</td>\n </tr>\n );\n })}\n </tbody>\n ),\n }\n }\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n <svg\n ref={svgRef as RefObject<SVGSVGElement>}\n width={width}\n height={height}\n aria-label={\n typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function'\n ? format('interactive-chart')\n : format('static-chart')\n }\n aria-hidden=\"false\"\n >\n <g transform={`translate(${margins.left},${margins.top})`} aria-hidden=\"true\">\n {lines.map((line, index) => {\n return (\n <Line\n color={colorScale?.(line[0].category!)}\n data={line.filter((point) => point.y !== null) as any}\n disableAnimations={disableAnimations}\n createLine={createLine}\n key={`line _${index}`}\n />\n );\n })}\n </g>\n {categories.map((category, categoryIndex) => {\n const filteredCircles = circles.filter((circle) => circle.category === category);\n return (\n <g\n key={`${id}-series-${category}`}\n transform={`translate(${margins.left},${margins.top})`}\n aria-hidden=\"false\"\n role=\"region\"\n {...(hasCategory\n ? {\n 'aria-label': `${category}, category ${categoryIndex + 1} of ${categories.length} with ${\n filteredCircles.length\n } circles`,\n }\n : {})}\n >\n {filteredCircles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n xScaleType === 'number' &&\n (circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1])\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n r: 4,\n };\n\n return (\n <Dot\n id={`id${id}__circle-${categoryIndex}.${index}`}\n color={colorScale?.(circle.category!)}\n data={to}\n dataset={circles}\n isSelected={Boolean(isDotSelected?.(to))}\n anchorProps={getDotAnchorProps ? getDotAnchorProps(to) : undefined}\n key={`circle _${categoryIndex}.${index}`}\n labelDecorator={labelDecorator}\n onClick={onDotClick}\n role={dotRole}\n scaleX={scaleX}\n scaleY={scaleY}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={DotVariant.hollow}\n />\n );\n })}\n </g>\n );\n })}\n <g transform={`translate(${margins.left},${margins.top})`}>\n {['bottom', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n tickRemodelling={xAxisTickRemodelling}\n variant={xAxisVariant}\n />\n ) : null}\n {['top', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"top\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n tickRemodelling={xAxisTickRemodelling}\n variant={xAxisVariant}\n />\n ) : null}\n {['left', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n tickRemodelling={yAxisTickRemodelling}\n variant={yAxisVariant}\n />\n ) : null}\n {['right', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"right\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n tickRemodelling={yAxisTickRemodelling}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n </svg>\n </Flexbox>\n {hasCategory && legendVariant !== LineChartLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, statsByCategory).sort(getSortingMethod(sortingMethod!))\n : statsByCategory\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === LineChartLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === LineChartLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === LineChartLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as DotDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledLineChart>\n );\n});\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { LineChartLegendVariant, LineChartProps } from './types';\nimport { LoadingLineChart } from './LoadingLineChart';\nimport { EmptyLineChart } from './EmptyLineChart';\nimport { RenderedLineChart } from './RenderedLineChart';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'LineChart';\nconst CLASSNAME = 'redsift-line-chart';\n\nexport const LineChart: Comp<LineChartProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n colorTheme = ColorTheme.dark,\n data: propsData,\n dotRole,\n emptyComponent,\n id: propsId,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onDotClick,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n tooltipDecorator,\n tooltipVariant = TooltipVariant.none,\n xAxisPlacement = 'bottom',\n xAxisVariant = AxisVariant.default,\n yAxisPlacement = 'left',\n yAxisVariant = AxisVariant.default,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? LineChartLegendVariant.externalLabel;\n\n if (propsData === undefined || propsData === null) {\n return <LoadingLineChart id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyLineChart\n data={propsData}\n emptyComponent={emptyComponent}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedLineChart\n className={classNames(LineChart.className, className)}\n colorTheme={colorTheme}\n data={propsData}\n dotRole={dotRole}\n id={id}\n isDotSelected={isDotSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n localeText={localeText}\n onDotClick={onDotClick}\n size={size}\n sortingMethod={sortingMethod}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nLineChart.className = CLASSNAME;\nLineChart.displayName = COMPONENT_NAME;\n"],"names":["LineChartLegendVariant","none","externalLabel","externalLabelValue","externalLabelPercent","custom","StyledLineChart","styled","ChartContainer","StyledLineChartEmptyText","div","_ref","$maxWidth","_ref2","$theme","_ref3","$textSize","_ref4","LoadingLineChart","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","sizeToDimension","size","ChartSize","small","width","height","fontSize","medium","large","statsBy","arr","sortingMethod","counts","reduce","prev","curr","value","key","min","max","values","Math","Object","keys","map","first","last","length","trending","overall","sort","getSortingMethod","EmptyLineChart","data","propsData","emptyComponent","localeText","theme","useTheme","cache","useRef","useEffect","current","chartDimensions","margins","top","left","right","bottom","chartWidth","Fragment","emptyChartText","transform","Axis","position","scale","d3scaleLinear","domain","range","x","y","tickValues","enUS","frFR","RenderedLineChart","dotRole","disableAnimations","getDotAnchorProps","id","isDotSelected","labelDecorator","legendDecorator","legendVariant","legendProps","propsMargins","onDotClick","colorTheme","tooltipDecorator","tooltipVariant","xAxisVariant","xAxisPlacement","xAxisTickFormat","propsXAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","xAxisMinValue","xAxisMaxValue","xAxisTickRemodelling","yAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","yAxisMinValue","yAxisMaxValue","yAxisTickRemodelling","dateParser","format","useMessageFormatter","intlMessages","xScaleType","Date","isValidDate","undefined","filter","datum","Number","isNaN","svgRef","_objectSpread","AxisVariant","default","tickValue","chartHeight","scaleX","d3extent","d","nice","parse","d3scaleTime","_ref5","_ref6","valueOf","_ref7","_ref8","Array","isArray","d3scalePoint","scaleY","_ref9","_ref10","tickFormat","hasCategory","statsByCategory","colorScale","useColor","category","circles","a","b","indexOf","_d$key$","points","lines","push","createLine","d3line","categories","pivotedTable","acc","item","includes","formattedKey","toString","entry","find","e","_ref11","extraLegendItems","forwardedLegendProps","_excluded2","mode","definition","categoryLength","circleLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","dataTableRepresentation","header","scope","body","row","Flexbox","flexDirection","alignItems","gap","line","index","Line","color","point","categoryIndex","filteredCircles","circle","role","scaleXDomain","scaleYDomain","to","r","Dot","dataset","isSelected","Boolean","anchorProps","onClick","variant","DotVariant","hollow","tickPadding","tickRotation","tickSize","tickRemodelling","Legend","mergeLegends","LegendVariant","percent","label","COMPONENT_NAME","CLASSNAME","LineChart","ColorTheme","dark","propsId","propsLegendVariant","TooltipVariant","_id","useId","classNames","displayName"],"mappings":";;;;;;;;;;;;;;AAmBA;AACA;AACA;AACO,MAAMA,sBAAsB,GAAG;AACpCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAU;;AAWV;AACA;AACA;;ACpCA;AACA;AACA;MACaC,eAAe,GAAGC,MAAM,CAACC,cAAc,CAAwB,CAAC,EAAA;AAEhEC,MAAAA,wBAAwB,GAAGF,MAAM,CAACG,GAI5C,CAAA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAA,EAAiBC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C;AACA;AACA;AACA;AACA,WAAA,EAAaC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,KAAA,CAAA;EAAA,OAAM,CAAA,oBAAA,EAAsBC,MAAO,CAA0B,yBAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AACtF,eAAA,EAAiBC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C,iBAAA,EAAmBC,KAAA,IAAA;EAAA,IAAC;AAAED,IAAAA,SAAAA;AAAU,GAAC,GAAAC,KAAA,CAAA;AAAA,EAAA,OAAKD,SAAS,CAAA;AAAA,CAAC,CAAA;AAChD;AACA;;;AC/BO,MAAME,gBAAgB,gBAAGC,UAAU,CAAiC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACzF,MAAM;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGF,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,WAAA,CAAA,CAAA;EAE9C,oBACEC,cAAA,CAAAC,aAAA,CAACrB,eAAe,EAAAsB,QAAA,KAAKL,cAAc,EAAA;AAAED,IAAAA,SAAS,EAAEA,SAAU;AAACD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAAC,YAEjF,CAAC,CAAA;AAEtB,CAAC,CAAC;;ACLK,MAAMQ,eAAe,GAAIC,IAAqC,IAA0B;AAC7F,EAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;AAC5B,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,QAAQA,IAAI;IACV,KAAKC,SAAS,CAACC,KAAK;MAClB,OAAO;AAAEC,QAAAA,KAAK,EAAE,GAAG;AAAEC,QAAAA,MAAM,EAAE,GAAG;AAAEC,QAAAA,QAAQ,EAAE,EAAA;OAAI,CAAA;IAClD,KAAKJ,SAAS,CAACK,MAAM,CAAA;AACrB,IAAA;MACE,OAAO;AAAEH,QAAAA,KAAK,EAAE,GAAG;AAAEC,QAAAA,MAAM,EAAE,GAAG;AAAEC,QAAAA,QAAQ,EAAE,EAAA;OAAI,CAAA;IAClD,KAAKJ,SAAS,CAACM,KAAK;MAClB,OAAO;AAAEJ,QAAAA,KAAK,EAAE,GAAG;AAAEC,QAAAA,MAAM,EAAE,GAAG;AAAEC,QAAAA,QAAQ,EAAE,EAAA;OAAI,CAAA;AACpD,GAAA;AACF,CAAC,CAAA;AAgEM,MAAMG,OAA2E,GAAGA,CAACC,GAAG,EAAEC,aAAa,KAAK;EACjH,MAAMC,MAAM,GAAGF,GAAG,CAACG,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAK;AACxC,IAAA,IAAI,CAACA,IAAI,CAACC,KAAK,EAAE;AACf,MAAA,OAAOF,IAAI,CAAA;AACb,KAAA;IACA,IAAI,CAACA,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,EAAE;MAChCH,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,GAAG;QAC5BD,KAAK,EAAED,IAAI,CAACC,KAAK;QACjBE,GAAG,EAAEH,IAAI,CAACC,KAAK;QACfG,GAAG,EAAEJ,IAAI,CAACC,KAAK;AACfI,QAAAA,MAAM,EAAE,CAACL,IAAI,CAACC,KAAK,CAAA;OACpB,CAAA;AACH,KAAC,MAAM;MACLF,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,GAAG;AAC5BD,QAAAA,KAAK,EAAEF,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,CAACD,KAAK,GAAGD,IAAI,CAACC,KAAK;QACrDE,GAAG,EAAEG,IAAI,CAACH,GAAG,CAACJ,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,CAACC,GAAG,EAAEH,IAAI,CAACC,KAAK,CAAC;QAC1DG,GAAG,EAAEE,IAAI,CAACF,GAAG,CAACL,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,CAACE,GAAG,EAAEJ,IAAI,CAACC,KAAK,CAAC;AAC1DI,QAAAA,MAAM,EAAE,CAAC,GAAGN,IAAI,CAACC,IAAI,CAACE,GAAG,CAAC,CAAC,CAAC,CAAW,CAACG,MAAM,EAAEL,IAAI,CAACC,KAAK,CAAA;OAC3D,CAAA;AACH,KAAA;AACA,IAAA,OAAOF,IAAI,CAAA;GACZ,EAAE,EAAmF,CAAC,CAAA;EAEvF,OAAOQ,MAAM,CAACC,IAAI,CAACX,MAAM,CAAC,CACvBY,GAAG,CAAEP,GAAG,KAAM;AACbA,IAAAA,GAAG,EAAEA,GAAG;AACRD,IAAAA,KAAK,EAAEJ,MAAM,CAACK,GAAG,CAAC,CAACD,KAAK;AACxBE,IAAAA,GAAG,EAAEN,MAAM,CAACK,GAAG,CAAC,CAACC,GAAG;AACpBC,IAAAA,GAAG,EAAEP,MAAM,CAACK,GAAG,CAAC,CAACE,GAAG;AACpBC,IAAAA,MAAM,EAAER,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM;IAC1BK,KAAK,EAAEb,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAAC,CAAC,CAAC;AAC5BM,IAAAA,IAAI,EAAEd,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAACR,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;AACvDC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,OAAO,EACJ,CAACjB,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAACR,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC,GAAGf,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAIR,MAAM,CAACK,GAAG,CAAC,CAACG,MAAM,CAAC,CAAC,CAAA;AAC9G,KAAA;GACD,CAAC,CAAC,CACFU,IAAI,CAACC,gBAAgB,CAACpB,aAAa,CAAC,CAAC,CAAA;AAC1C,CAAC;;;AClHM,MAAMqB,cAAc,gBAAG1C,UAAU,CAAiC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACvF,MAAM;MAAEC,SAAS;AAAEwC,MAAAA,IAAI,EAAEC,SAAS;MAAEC,cAAc;MAAEC,UAAU;AAAEnC,MAAAA,IAAAA;AAAwB,KAAC,GAAGV,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,WAAA,CAAA,CAAA;AACjG,EAAA,MAAMyC,KAAK,GAAGC,QAAQ,EAAE,CAAA;AAExB,EAAA,MAAMC,KAAK,GAAGC,MAAM,EAAa,CAAA;EAEjC,MAAMP,IAAI,GAAGC,SAAS,CAAA;AAEtBO,EAAAA,SAAS,CAAC,MAAM;IACdF,KAAK,CAACG,OAAO,GAAGT,IAAI,CAAA;AACtB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMU,eAAe,GAAG3C,eAAe,CAACC,IAAK,CAAC,CAAA;AAC9C,EAAA,MAAMG,KAAK,GAAGuC,eAAe,CAACvC,KAAK,CAAA;AACnC,EAAA,MAAMC,MAAM,GAAGsC,eAAe,CAACtC,MAAM,CAAA;AACrC,EAAA,MAAMuC,OAAO,GAAG;AAAEC,IAAAA,GAAG,EAAE,EAAE;AAAEC,IAAAA,IAAI,EAAE,EAAE;AAAEC,IAAAA,KAAK,EAAE,EAAE;AAAEC,IAAAA,MAAM,EAAE,EAAA;GAAI,CAAA;EAC5D,MAAMC,UAAU,GAAG7C,KAAK,GAAGwC,OAAO,CAACE,IAAI,GAAGF,OAAO,CAACG,KAAK,CAAA;EAEvD,oBACElD,cAAA,CAAAC,aAAA,CAACrB,eAAe,EAAAsB,QAAA,KAAKL,cAAc,EAAA;AAAED,IAAAA,SAAS,EAAEA,SAAU;AAACD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAC9F2C,cAAc,KAAdA,IAAAA,IAAAA,cAAc,cAAdA,cAAc,gBACbtC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAqD,QAAA,EAAA,IAAA,eACErD,cAAA,CAAAC,aAAA,CAAClB,wBAAwB,EAAA;AAACG,IAAAA,SAAS,EAAEqB,KAAM;AAACjB,IAAAA,SAAS,EAAEwD,eAAe,CAACrC,QAAQ,GAAG,CAAE;AAACrB,IAAAA,MAAM,EAAEoD,KAAAA;AAAM,GAAA,eACjGxC,cAAA,CAAAC,aAAA,CAAOsC,MAAAA,EAAAA,IAAAA,EAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEe,cAAqB,CAChB,CAAC,eAC3BtD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKM,IAAAA,KAAK,EAAEA,KAAM;AAACC,IAAAA,MAAM,EAAEA,MAAAA;GACzBR,eAAAA,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;IAAGsD,SAAS,EAAG,aAAYR,OAAO,CAACE,IAAK,CAAGF,CAAAA,EAAAA,OAAO,CAACC,GAAI,CAAA,CAAA,CAAA;AAAG,GAAA,eACxDhD,cAAA,CAAAC,aAAA,CAACuD,IAAI,EAAA;AACHC,IAAAA,QAAQ,EAAC,QAAQ;IACjB3B,MAAM,EAAEvB,KAAK,GAAG,EAAG;AACnBmD,IAAAA,KAAK,EAAEC,WAAa,EAAE,CAACC,MAAM,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAET,UAAU,CAAC,CAAc;AACrEU,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAEvD,MAAO;AACVwD,IAAAA,UAAU,EAAE,CAAA;AAAE,GACf,CACA,CACA,CACL,CAEW,CAAC,CAAA;AAEtB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDF,mBAAe;AACb,EAAA,OAAO,EAAEC,IAAI;AACb,EAAA,OAAO,EAAEC,IAAAA;AACX,CAAC;;;;ACoBM,MAAMC,iBAAiB,gBAAG1E,UAAU,CAAyC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClG,MAAM;MACJC,SAAS;AACTwC,MAAAA,IAAI,EAAEC,SAAS;MACf+B,OAAO;MACPC,iBAAiB;MACjBC,iBAAiB;MACjBC,EAAE;MACFC,aAAa;MACbC,cAAc;MACdC,eAAe;MACfC,aAAa;MACbC,WAAW;AACX7B,MAAAA,OAAO,EAAE8B,YAAY;MACrBC,UAAU;MACV1E,IAAI;MACJU,aAAa;MACbiE,UAAU;MACVC,gBAAgB;MAChBC,cAAc;MACdC,YAAY;MACZC,cAAc;AACdC,MAAAA,eAAe,EAAEC,oBAAoB;MACrCC,gBAAgB;MAChBC,iBAAiB;MACjBC,aAAa;MACbC,eAAe;MACfC,aAAa;MACbC,aAAa;MACbC,oBAAoB;MACpBC,YAAY;MACZC,cAAc;MACdC,eAAe;MACfC,gBAAgB;MAChBC,iBAAiB;MACjBC,aAAa;MACbC,eAAe;MACfC,aAAa;MACbC,aAAa;MACbC,oBAAoB;AACpBC,MAAAA,UAAAA;AAEF,KAAC,GAAG7G,KAAK;AADJG,IAAAA,cAAc,GAAAC,wBAAA,CACfJ,KAAK,EAAAK,WAAA,CAAA,CAAA;AAET,EAAA,MAAM2C,KAAK,GAAGC,MAAM,EAAmB,CAAA;AACvC,EAAA,MAAMH,KAAK,GAAGC,QAAQ,EAAE,CAAA;AAExB,EAAA,MAAM+D,MAAM,GAAGC,mBAAmB,CAACC,YAAY,CAAC,CAAA;AAEhD,EAAA,MAAMC,UAAmE,GACvEtE,SAAS,CAAC,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,CAAC,YAAYwF,IAAI,GAC/B,MAAM,GACN,OAAOvE,SAAS,CAAC,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,GACvC,QAAQ,GACR,OAAOiB,SAAS,CAAC,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAIyF,WAAW,CAACxE,SAAS,CAAC,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,CAAC,CAAC,GAC3E,YAAY,GACZ,OAAOiB,SAAS,CAAC,CAAC,CAAC,CAACjB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,GACvC,QAAQ,GACR0F,SAAS,CAAA;EACf,MAAM1E,IAAI,GACRuE,UAAU,KAAK,QAAQ,GACnBtE,SAAS,CAAC0E,MAAM,CAAEC,KAAK,IAAK,OAAOA,KAAK,CAAC5F,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC6F,MAAM,CAACC,KAAK,CAACF,KAAK,CAAC5F,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5FuF,UAAU,KAAK,YAAY,GAC3BtE,SAAS,CAAC0E,MAAM,CAAEC,KAAK,IAAKH,WAAW,CAACG,KAAK,CAAC5F,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,GAChEuF,UAAU,KAAK,QAAQ,GACvBtE,SAAS,CAAC0E,MAAM,CAAEC,KAAK,IAAK,OAAOA,KAAK,CAAC5F,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,GAC7DuF,UAAU,KAAK,MAAM,GACrBtE,SAAS,CAAC0E,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAAC5F,GAAG,CAAC,CAAC,CAAC,YAAYwF,IAAI,CAAC,GACzDvE,SAAS,CAAA;AAEfO,EAAAA,SAAS,CAAC,MAAM;IACdF,KAAK,CAACG,OAAO,GAAGT,IAAI,CAAA;AACtB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM+E,MAAM,GAAGxE,MAAM,EAAiB,CAAA;AAEtC,EAAA,MAAMG,eAAe,GAAG3C,eAAe,CAACC,IAAK,CAAC,CAAA;AAC9C,EAAA,MAAMG,KAAK,GAAGuC,eAAe,CAACvC,KAAK,CAAA;AACnC,EAAA,MAAMC,MAAM,GAAGsC,eAAe,CAACtC,MAAM,CAAA;EACrC,MAAMuC,OAAO,GAAAqE,cAAA,CAAA;AACXpE,IAAAA,GAAG,EAAEkC,YAAY,KAAKmC,WAAW,CAACC,OAAO,IAAIpC,YAAY,KAAKmC,WAAW,CAACE,SAAS,GAAG,EAAE,GAAG,CAAC;AAC5FtE,IAAAA,IAAI,EAAE4C,YAAY,KAAKwB,WAAW,CAACC,OAAO,IAAIzB,YAAY,KAAKwB,WAAW,CAACE,SAAS,GAAG,EAAE,GAAG,CAAC;AAC7FrE,IAAAA,KAAK,EAAE2C,YAAY,KAAKwB,WAAW,CAACC,OAAO,IAAIzB,YAAY,KAAKwB,WAAW,CAACE,SAAS,GAAG,EAAE,GAAG,CAAC;AAC9FpE,IAAAA,MAAM,EAAE+B,YAAY,KAAKmC,WAAW,CAACC,OAAO,IAAIpC,YAAY,KAAKmC,WAAW,CAACE,SAAS,GAAG,EAAE,GAAG,CAAA;AAAC,GAAA,EAC5F1C,YAAY,CAChB,CAAA;EACD,MAAM2C,WAAW,GAAGhH,MAAM,GAAGuC,OAAO,CAACC,GAAG,GAAGD,OAAO,CAACI,MAAM,CAAA;EACzD,MAAMC,UAAU,GAAG7C,KAAK,GAAGwC,OAAO,CAACE,IAAI,GAAGF,OAAO,CAACG,KAAK,CAAA;EAEvD,MAAMuE,MAAM,GAAG,CAAC,MAAM;IACpB,IAAId,UAAU,KAAK,QAAQ,EAAE;MAAA,IAAA1H,IAAA,EAAAE,KAAA,CAAA;AAC3B,MAAA,MAAMyE,MAAM,GAAG8D,MAAQ,CAACtF,IAAI,EAAGuF,CAAC,IAAKA,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAW,CAAqB,CAAA;AAC5EwC,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAA3E,IAAA,GAAIyG,aAAa,MAAAzG,IAAAA,IAAAA,IAAA,cAAAA,IAAA,GAAe2E,MAAM,CAAC,CAAC,CAAC,CAAA;AAClDA,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAzE,KAAA,GAAIwG,aAAa,MAAAxG,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAeyE,MAAM,CAAC,CAAC,CAAC,CAAA;MAClD,OAAOD,WAAa,EAAE,CAACC,MAAM,CAACA,MAAM,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAET,UAAU,CAAC,CAAC,CAACwE,IAAI,EAAE,CAAA;AACrE,KAAC,MAAM,IAAIjB,UAAU,KAAK,YAAY,EAAE;MAAA,IAAAtH,KAAA,EAAAE,KAAA,CAAA;AACtC,MAAA,MAAMqE,MAAM,GAAG8D,MAAQ,CAACtF,IAAI,EAAGuF,CAAC,IAAKf,IAAI,CAACiB,KAAK,CAACF,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAW,CAAC,CAAqB,CAAA;AACxFwC,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAvE,KAAA,GAAIqG,aAAa,MAAArG,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAeuE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClDA,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAArE,KAAA,GAAIoG,aAAa,MAAApG,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAeqE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClD,MAAA,OAAOkE,SAAW,EAAE,CACjBlE,MAAM,CAAC,CAAC,IAAIgD,IAAI,CAAChD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIgD,IAAI,CAAChD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClDC,KAAK,CAAC,CAAC,CAAC,EAAET,UAAU,CAAC,CAAC,CACtBwE,IAAI,EAAE,CAAA;AACX,KAAC,MAAM,IAAIjB,UAAU,KAAK,MAAM,EAAE;MAAA,IAAAoB,KAAA,EAAAC,KAAA,CAAA;AAChC,MAAA,MAAMpE,MAAM,GAAG8D,MAAQ,CAACtF,IAAI,EAAGuF,CAAC,IAAMA,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAC,CAAU6G,OAAO,EAAE,CAAqB,CAAA;AACtFrE,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAmE,KAAA,GAAIrC,aAAa,MAAAqC,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAenE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClDA,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAoE,KAAA,GAAIrC,aAAa,MAAAqC,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAepE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClD,MAAA,OAAOkE,SAAW,EAAE,CACjBlE,MAAM,CAAC,CAAC,IAAIgD,IAAI,CAAChD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIgD,IAAI,CAAChD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClDC,KAAK,CAAC,CAAC,CAAC,EAAET,UAAU,CAAC,CAAC,CACtBwE,IAAI,EAAE,CAAA;AACX,KAAC,MAAM;MAAA,IAAAM,KAAA,EAAAC,KAAA,CAAA;MACL,MAAMvE,MAAM,GACV6B,eAAe,IAAI2C,KAAK,CAACC,OAAO,CAAC5C,eAAe,CAAC,GAC5CA,eAAe,GAChBrD,IAAI,CAACT,GAAG,CAAEgG,CAAC,IAAKA,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAW,CAAC,CAAA;AACzCwC,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAsE,KAAA,GAAIxC,aAAa,MAAAwC,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAetE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClDA,MAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAAuE,KAAA,GAAIxC,aAAa,MAAAwC,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAevE,MAAM,CAAC,CAAC,CAAC,CAAA;AAClD,MAAA,OAAO0E,UAAY,EAAE,CAAC1E,MAAM,CAACA,MAAM,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAET,UAAU,CAAC,CAAC,CAAA;AAC7D,KAAA;AACF,GAAC,GAAG,CAAA;EACJ,MAAMmF,MAAM,GAAG,CAAC,MAAM;IAAA,IAAAC,KAAA,EAAAC,MAAA,CAAA;IACpB,MAAM7E,MAAM,GAAG8D,MAAQ,CAACtF,IAAI,EAAGuF,CAAC,IAAKA,CAAC,CAACxG,KAAK,CAAqB,CAAA;AACjEyC,IAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAA4E,KAAA,GAAIpC,aAAa,MAAAoC,IAAAA,IAAAA,KAAA,cAAAA,KAAA,GAAe5E,MAAM,CAAC,CAAC,CAAC,CAAA;AAClDA,IAAAA,MAAM,CAAC,CAAC,CAAC,GAAA,CAAA6E,MAAA,GAAIpC,aAAa,MAAAoC,IAAAA,IAAAA,MAAA,cAAAA,MAAA,GAAe7E,MAAM,CAAC,CAAC,CAAC,CAAA;IAClD,OAAOD,WAAa,EAAE,CAACC,MAAM,CAACA,MAAM,CAAC,CAACC,KAAK,CAAC,CAAC2D,WAAW,EAAE,CAAC,CAAC,CAAC,CAACI,IAAI,EAAE,CAAA;AACtE,GAAC,GAAG,CAAA;EACJ,MAAMxC,eAAe,GACnBC,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,oBAAoB,GACnBsB,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,YAAY,GAChDc,MAAM,CAAwCiB,UAAU,EAAE,GAC3D5B,SAAU,CAAA;AAEhB,EAAA,MAAM6B,WAAW,GAAGvG,IAAI,CAAC,CAAC,CAAC,IAAIA,IAAI,CAAC,CAAC,CAAC,CAAChB,GAAG,CAACU,MAAM,IAAI,CAAC,IAAIM,IAAI,CAAC,CAAC,CAAC,CAAChB,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAIgB,IAAI,CAAC,CAAC,CAAC,CAAChB,GAAG,CAAC,CAAC,CAAC,KAAK0F,SAAS,CAAA;AACjH,EAAA,MAAM8B,eAAe,GAAGhI,OAAO,CAACwB,IAAI,EAAEtB,aAAc,CAAC,CAAA;EACrD,MAAM+H,UAAU,GAAGC,QAAQ,CAAC;AAC1B1G,IAAAA,IAAI,EAAEwG,eAAe;AACrB7D,IAAAA,UAAU,EAAEA,UAAW;AACvBgE,IAAAA,QAAQ,EAAGpB,CAAC,IAAKA,CAAC,CAACvG,GAAa;AAChCoB,IAAAA,KAAAA;AACF,GAAC,CAAC,CAAA;EAEF,MAAMwG,OAAO,GAAG5G,IAAI,CACjBH,IAAI,CAAC,CAACgH,CAAC,EAAEC,CAAC,KAAK;IACd,IAAIvC,UAAU,KAAK,QAAQ,EAAE;AAC3B,MAAA,IAAIsC,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,GAAG8H,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAClC,MAAA,IAAI6H,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,GAAG8H,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACjC,MAAA,OAAO,CAAC,CAAA;AACV,KAAC,MAAM,IAAIuF,UAAU,KAAK,YAAY,EAAE;MACtC,IAAIC,IAAI,CAACiB,KAAK,CAACoB,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAW,CAAC,GAAGwF,IAAI,CAACiB,KAAK,CAACqB,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;MAC9E,IAAIwF,IAAI,CAACiB,KAAK,CAACoB,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAW,CAAC,GAAGwF,IAAI,CAACiB,KAAK,CAACqB,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAW,CAAC,EAAE,OAAO,CAAC,CAAA;AAC7E,MAAA,OAAO,CAAC,CAAA;AACV,KAAC,MAAM,IAAIuF,UAAU,KAAK,MAAM,EAAE;MAChC,IAAKsC,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,CAAU6G,OAAO,EAAE,GAAIiB,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,CAAU6G,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;MAC1E,IAAKgB,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,CAAU6G,OAAO,EAAE,GAAIiB,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,CAAU6G,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;AACzE,MAAA,OAAO,CAAC,CAAA;AACV,KAAC,MAAM,IAAItB,UAAU,KAAK,QAAQ,IAAIlB,eAAe,IAAI2C,KAAK,CAACC,OAAO,CAAC5C,eAAe,CAAC,EAAE;MACvF,IAAIA,eAAe,CAAC0D,OAAO,CAACF,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGqE,eAAe,CAAC0D,OAAO,CAACD,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;MACpF,IAAIqE,eAAe,CAAC0D,OAAO,CAACF,CAAC,CAAC7H,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGqE,eAAe,CAAC0D,OAAO,CAACD,CAAC,CAAC9H,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACnF,MAAA,OAAO,CAAC,CAAA;AACV,KAAA;AACA,IAAA,OAAO,CAAC,CAAA;AACV,GAAC,CAAC,CACD2F,MAAM,CAAEY,CAAC,IAAKA,CAAC,CAACxG,KAAK,KAAK,IAAI,CAAC,CAC/BQ,GAAG,CAAEgG,CAAC,IAAA;AAAA,IAAA,IAAAyB,OAAA,CAAA;IAAA,OAAM;AACXL,MAAAA,QAAQ,EAAAK,CAAAA,OAAA,GAAEzB,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAC,MAAAgI,IAAAA,IAAAA,OAAA,KAAAA,KAAAA,CAAAA,GAAAA,OAAA,GAAI,SAAS;AAC/BtF,MAAAA,CAAC,EACC6C,UAAU,KAAK,YAAY,GACvBJ,UAAU,GACRA,UAAU,CAACoB,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAW,CAAC,GAC9B,IAAIwF,IAAI,CAACA,IAAI,CAACiB,KAAK,CAACF,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,GAC1CuG,CAAC,CAACvG,GAAG,CAAC,CAAC,CAAC;MACd2C,CAAC,EAAE4D,CAAC,CAACxG,KAAK;AACViB,MAAAA,IAAI,EAAE;QACJhB,GAAG,EAAEuG,CAAC,CAACvG,GAAG;QACVD,KAAK,EAAEwG,CAAC,CAACxG,KAAAA;OACV;MACDkI,MAAM,EAAE,CAAC1B,CAAC,CAAA;KACX,CAAA;AAAA,GAAC,CAAC,CAAA;AACL,EAAA,MAAM2B,KAAK,GAAGX,WAAW,GACrBlH,MAAM,CAACF,MAAM,CACXyH,OAAO,CAAChI,MAAM,CAAC,CAACC,IAAI,EAAEC,IAA8B,KAAK;AACvD,IAAA,IAAI,CAACD,IAAI,CAACC,IAAI,CAAC6H,QAAQ,CAAE,EAAE;AACzB9H,MAAAA,IAAI,CAACC,IAAI,CAAC6H,QAAQ,CAAE,GAAG,EAAE,CAAA;AAC3B,KAAA;IACA9H,IAAI,CAACC,IAAI,CAAC6H,QAAQ,CAAE,CAACQ,IAAI,CAACrI,IAAI,CAAC,CAAA;AAC/B,IAAA,OAAOD,IAAI,CAAA;GACZ,EAAE,EAAoC,CACzC,CAAC,GACD,CAAC+H,OAAO,CAAC,CAAA;AAEb,EAAA,MAAMQ,UAAU,GAAGC,IAAM,EAAkB,CACxC3F,CAAC,CAAE6D,CAAC,IAAKF,MAAM,CAACE,CAAC,CAAC7D,CAAQ,CAAQ,CAAC,CACnCC,CAAC,CAAE4D,CAAC,IAAKY,MAAM,CAACZ,CAAC,CAAC5D,CAAQ,CAAC,CAAC,CAAA;EAE/B,MAAM2F,UAAoB,GAAG,EAAE,CAAA;EAC/B,MAAMC,YAAY,GAAGX,OAAO,CAAChI,MAAM,CAAC,CAAC4I,GAAG,EAAEC,IAAI,KAAK;IACjD,MAAM;MAAE/F,CAAC;MAAEiF,QAAQ;AAAEhF,MAAAA,CAAAA;AAAE,KAAC,GAAG8F,IAAI,CAAA;AAC/B,IAAA,IAAI,CAACH,UAAU,CAACI,QAAQ,CAACf,QAAQ,CAAC,EAAE;AAClCW,MAAAA,UAAU,CAACH,IAAI,CAACR,QAAQ,CAAC,CAAA;AAC3B,KAAA;AACA,IAAA,MAAMgB,YAAY,GAAG3E,eAAe,GAAGA,eAAe,CAACtB,CAAQ,CAAC,GAAGA,CAAC,CAACkG,QAAQ,EAAE,CAAA;AAE/E,IAAA,IAAIC,KAAK,GAAGL,GAAG,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC/I,GAAG,KAAK2I,YAAY,CAAC,CAAA;IACnD,IAAI,CAACE,KAAK,EAAE;AACVA,MAAAA,KAAK,GAAG;AAAE7I,QAAAA,GAAG,EAAE2I,YAAAA;OAAc,CAAA;AAC7BH,MAAAA,GAAG,CAACL,IAAI,CAACU,KAAK,CAAC,CAAA;AACjB,KAAA;AAEAA,IAAAA,KAAK,CAAClB,QAAQ,CAAC,GAAGhF,CAAC,CAAA;AAEnB,IAAA,OAAO6F,GAAG,CAAA;GACX,EAAE,EAAiF,CAAC,CAAA;AAErF,EAAA,MAAAQ,MAAA,GAAsDxF,WAAW,IAAI,EAAE;AAAjE,IAAA;AAAEyF,MAAAA,gBAAAA;AAA0C,KAAC,GAAAD,MAAA;AAAtBE,IAAAA,oBAAoB,GAAAxK,wBAAA,CAAAsK,MAAA,EAAAG,UAAA,CAAA,CAAA;AAEjD,EAAA,oBACEvK,cAAA,CAAAC,aAAA,CAACrB,eAAe,EAAAsB,QAAA,CAAA;AACdsK,IAAAA,IAAI,EAAE,OAAO1F,UAAU,KAAK,UAAU,IAAI,OAAOR,iBAAiB,KAAK,UAAU,GAAG,aAAa,GAAG,QAAS;AAC7GmG,IAAAA,UAAU,EACR9B,WAAW,GACPnC,MAAM,CAAC,mCAAmC,EAAE;MAC1CkE,cAAc,EAAEhB,UAAU,CAAC5H,MAAM;MACjC6I,YAAY,EAAE3B,OAAO,CAAClH,MAAAA;AACxB,KAAC,CAAC,GACF0E,MAAM,CAAC,mBAAmB,EAAE;MAAEmE,YAAY,EAAE3B,OAAO,CAAClH,MAAAA;AAAO,KAAC,CACjE;AACD8I,IAAAA,eAAe,EACbjE,UAAU,KAAK,QAAQ,GACnBH,MAAM,CAAE,CAAA,OAAA,EAASG,UAAU,KAAK,QAAQ,GAAG,SAAS,GAAG,OAAQ,aAAY,EAAE;AAC3EkE,MAAAA,OAAO,EAAE1F,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;MAC1C2F,KAAK,EAAErD,MAAM,CAAC7D,MAAM,EAAE,CAAC,CAAC,CAAC;AACzBmH,MAAAA,GAAG,EAAEtD,MAAM,CAAC7D,MAAM,EAAE,CAAC,CAAC,CAAA;AACxB,KAAC,CAAC,GACF4C,MAAM,CAAC,8BAA8B,EAAE;AAAEqE,MAAAA,OAAO,EAAE1F,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAA;AAAE,KAAC,CAC1F;AACD6F,IAAAA,eAAe,EAAExE,MAAM,CAAC,2BAA2B,EAAE;AACnDqE,MAAAA,OAAO,EAAE/E,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;MAC1CgF,KAAK,EAAEvC,MAAM,CAAC3E,MAAM,EAAE,CAAC,CAAC,CAAC;AACzBmH,MAAAA,GAAG,EAAExC,MAAM,CAAC3E,MAAM,EAAE,CAAC,CAAC,CAAA;AACxB,KAAC,CAAE;IACHqH,uBAAuB,EACrBtC,WAAW,GACP;MACEuC,MAAM,eACJlL,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,eACED,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,eACED,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkL,QAAAA,KAAK,EAAC,KAAA;OAAOxE,EAAAA,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,YAAY,GAAG,MAAM,GAAG,KAAU,CAAC,EAC3F+C,UAAU,CAAC/H,GAAG,CAAEoH,QAAQ,iBACvB/I,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAImB,QAAAA,GAAG,EAAE2H,QAAS;AAACoC,QAAAA,KAAK,EAAC,KAAA;AAAK,OAAA,EAC3BpC,QACC,CACL,CACC,CACC,CACR;AACDqC,MAAAA,IAAI,eACFpL,cAAA,CAAAC,aAAA,CACG0J,OAAAA,EAAAA,IAAAA,EAAAA,YAAY,CAAChI,GAAG,CAAE0J,GAAG,iBACpBrL,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;QAAImB,GAAG,EAAEiK,GAAG,CAACjK,GAAAA;OACXpB,eAAAA,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkL,QAAAA,KAAK,EAAC,KAAA;AAAK,OAAA,EAAEE,GAAG,CAACjK,GAAQ,CAAC,EAC7BsI,UAAU,CAAC/H,GAAG,CAAEoH,QAAQ,iBACvB/I,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAImB,QAAAA,GAAG,EAAG,CAAA,EAAEiK,GAAG,CAACjK,GAAI,CAAA,CAAA,EAAG2H,QAAS,CAAA,CAAA,EAAGsC,GAAG,CAACtC,QAAQ,CAAE,CAAE,CAAA;AAACoC,QAAAA,KAAK,EAAC,KAAA;AAAK,OAAA,EAC5DE,GAAG,CAACtC,QAAQ,CACX,CACL,CACC,CACL,CACI,CAAA;AAEX,KAAC,GACD;MACEmC,MAAM,eACJlL,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,eACED,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,eACED,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkL,QAAAA,KAAK,EAAC,KAAA;AAAK,OAAA,EAAExE,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,YAAY,GAAG,MAAM,GAAG,KAAU,CAAC,eAC5F3G,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkL,QAAAA,KAAK,EAAC,KAAA;OAAM,EAAA,OAAS,CACvB,CACC,CACR;MACDC,IAAI,eACFpL,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,EACG+I,OAAO,CAACrH,GAAG,CAAEqF,KAAK,IAAK;AACtB,QAAA,MAAM5F,GAAG,GAAGgE,eAAe,GAAGA,eAAe,CAAC4B,KAAK,CAAClD,CAAQ,CAAC,GAAGkD,KAAK,CAAClD,CAAC,CAACkG,QAAQ,EAAE,CAAA;QAClF,oBACEhK,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAImB,UAAAA,GAAG,EAAEA,GAAAA;SACPpB,eAAAA,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkL,UAAAA,KAAK,EAAC,KAAA;SAAO/J,EAAAA,GAAQ,CAAC,eAC1BpB,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAK+G,KAAK,CAACjD,CAAM,CACf,CAAC,CAAA;AAET,OAAC,CACI,CAAA;AAEX,KAAA;AACL,GAAA,EACGlE,cAAc,EAAA;AAClB0E,IAAAA,EAAE,EAAEA,EAAG;AACP3E,IAAAA,SAAS,EAAEA,SAAU;AACrBD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,eAEtCK,cAAA,CAAAC,aAAA,CAACqL,OAAO,EAAA;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,GAAG,EAAC,GAAA;GACtDzL,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEN,IAAAA,GAAG,EAAEwH,MAAmC;AACxC5G,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EACE,OAAOsE,UAAU,KAAK,UAAU,IAAI,OAAOR,iBAAiB,KAAK,UAAU,GACvEkC,MAAM,CAAC,mBAAmB,CAAC,GAC3BA,MAAM,CAAC,cAAc,CAC1B;IACD,aAAY,EAAA,OAAA;GAEZxG,eAAAA,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;IAAGsD,SAAS,EAAG,aAAYR,OAAO,CAACE,IAAK,CAAGF,CAAAA,EAAAA,OAAO,CAACC,GAAI,CAAG,CAAA,CAAA;IAAC,aAAY,EAAA,MAAA;GACpEsG,EAAAA,KAAK,CAAC3H,GAAG,CAAC,CAAC+J,IAAI,EAAEC,KAAK,KAAK;AAC1B,IAAA,oBACE3L,cAAA,CAAAC,aAAA,CAAC2L,IAAI,EAAA;AACHC,MAAAA,KAAK,EAAEhD,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAG6C,IAAI,CAAC,CAAC,CAAC,CAAC3C,QAAS,CAAE;AACvC3G,MAAAA,IAAI,EAAEsJ,IAAI,CAAC3E,MAAM,CAAE+E,KAAK,IAAKA,KAAK,CAAC/H,CAAC,KAAK,IAAI,CAAS;AACtDM,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCmF,MAAAA,UAAU,EAAEA,UAAW;MACvBpI,GAAG,EAAG,SAAQuK,KAAM,CAAA,CAAA;AAAE,KACvB,CAAC,CAAA;GAEL,CACA,CAAC,EACHjC,UAAU,CAAC/H,GAAG,CAAC,CAACoH,QAAQ,EAAEgD,aAAa,KAAK;AAC3C,IAAA,MAAMC,eAAe,GAAGhD,OAAO,CAACjC,MAAM,CAAEkF,MAAM,IAAKA,MAAM,CAAClD,QAAQ,KAAKA,QAAQ,CAAC,CAAA;AAChF,IAAA,oBACE/I,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAAC,QAAA,CAAA;AACEkB,MAAAA,GAAG,EAAG,CAAA,EAAEmD,EAAG,CAAA,QAAA,EAAUwE,QAAS,CAAE,CAAA;MAChCxF,SAAS,EAAG,aAAYR,OAAO,CAACE,IAAK,CAAGF,CAAAA,EAAAA,OAAO,CAACC,GAAI,CAAG,CAAA,CAAA;AACvD,MAAA,aAAA,EAAY,OAAO;AACnBkJ,MAAAA,IAAI,EAAC,QAAA;AAAQ,KAAA,EACRvD,WAAW,GACZ;AACE,MAAA,YAAY,EAAG,CAAA,EAAEI,QAAS,CAAA,WAAA,EAAagD,aAAa,GAAG,CAAE,CAAMrC,IAAAA,EAAAA,UAAU,CAAC5H,MAAO,CAC/EkK,MAAAA,EAAAA,eAAe,CAAClK,MACjB,CAAA,QAAA,CAAA;AACH,KAAC,GACD,EAAE,CAAA,EAELkK,eAAe,CAACrK,GAAG,CAAC,CAACsK,MAAM,EAAEN,KAAK,KAAK;AACtC,MAAA,MAAMQ,YAAY,GAAG1E,MAAM,CAAC7D,MAAM,EAAE,CAAA;AACpC,MAAA,MAAMwI,YAAY,GAAG7D,MAAM,CAAC3E,MAAM,EAAE,CAAA;AAEpC,MAAA,IACE+C,UAAU,KAAK,QAAQ,KACtBsF,MAAM,CAACnI,CAAC,GAAIqI,YAAY,CAAC,CAAC,CAAC,IAC1BF,MAAM,CAACnI,CAAC,GAAIqI,YAAY,CAAC,CAAC,CAAC,IAC3BF,MAAM,CAAClI,CAAC,GAAIqI,YAAY,CAAC,CAAC,CAAC,IAC3BH,MAAM,CAAClI,CAAC,GAAIqI,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B;AACA,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AAEA,MAAA,MAAMC,EAAE,GAAAjF,cAAA,CAAAA,cAAA,KACH6E,MAAM,CAAA,EAAA,EAAA,EAAA;AACTK,QAAAA,CAAC,EAAE,CAAA;OACJ,CAAA,CAAA;AAED,MAAA,oBACEtM,cAAA,CAAAC,aAAA,CAACsM,GAAG,EAAA;AACFhI,QAAAA,EAAE,EAAG,CAAIA,EAAAA,EAAAA,EAAG,YAAWwH,aAAc,CAAA,CAAA,EAAGJ,KAAM,CAAE,CAAA;QAChDE,KAAK,EAAEhD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAGoD,MAAM,CAAClD,QAAS,CAAE;AACtC3G,QAAAA,IAAI,EAAEiK,EAAG;AACTG,QAAAA,OAAO,EAAExD,OAAQ;QACjByD,UAAU,EAAEC,OAAO,CAAClI,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG6H,EAAE,CAAC,CAAE;QACzCM,WAAW,EAAErI,iBAAiB,GAAGA,iBAAiB,CAAC+H,EAAE,CAAC,GAAGvF,SAAU;AACnE1F,QAAAA,GAAG,EAAG,CAAA,QAAA,EAAU2K,aAAc,CAAA,CAAA,EAAGJ,KAAM,CAAE,CAAA;AACzClH,QAAAA,cAAc,EAAEA,cAAe;AAC/BmI,QAAAA,OAAO,EAAE9H,UAAW;AACpBoH,QAAAA,IAAI,EAAE9H,OAAQ;AACdqD,QAAAA,MAAM,EAAEA,MAAO;AACfc,QAAAA,MAAM,EAAEA,MAAO;AACfvD,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,QAAAA,cAAc,EAAEA,cAAe;QAC/B4H,OAAO,EAAEC,UAAU,CAACC,MAAAA;AAAO,OAC5B,CAAC,CAAA;AAEN,KAAC,CACA,CAAC,CAAA;AAER,GAAC,CAAC,eACF/M,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;IAAGsD,SAAS,EAAG,aAAYR,OAAO,CAACE,IAAK,CAAGF,CAAAA,EAAAA,OAAO,CAACC,GAAI,CAAA,CAAA,CAAA;AAAG,GAAA,EACvD,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC8G,QAAQ,CAAC3E,cAAe,CAAC,gBAC3CnF,cAAA,CAAAC,aAAA,CAACuD,IAAI,EAAA;AACHa,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCZ,IAAAA,QAAQ,EAAC,QAAQ;AACjB3B,IAAAA,MAAM,EAAEsB,UAAW;AACnBM,IAAAA,KAAK,EAAE+D,MAAmB;AAC1B3D,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAEyD,WAAY;AACfxD,IAAAA,UAAU,EAAEyB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,CAAE;AACjCuH,IAAAA,WAAW,EAAE1H,gBAAiB;AAC9B2H,IAAAA,YAAY,EAAE1H,iBAAkB;AAChC2H,IAAAA,QAAQ,EAAE1H,aAAc;AACxBkD,IAAAA,UAAU,EAAEtD,eAAgB;AAC5B+H,IAAAA,eAAe,EAAEvH,oBAAqB;AACtCiH,IAAAA,OAAO,EAAE3H,YAAAA;AAAa,GACvB,CAAC,GACA,IAAI,EACP,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC4E,QAAQ,CAAC3E,cAAe,CAAC,gBACxCnF,cAAA,CAAAC,aAAA,CAACuD,IAAI,EAAA;AACHa,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCZ,IAAAA,QAAQ,EAAC,KAAK;AACd3B,IAAAA,MAAM,EAAEsB,UAAW;AACnBM,IAAAA,KAAK,EAAE+D,MAAmB;AAC1B3D,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,UAAU,EAAEyB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,CAAE;AACjCuH,IAAAA,WAAW,EAAE1H,gBAAiB;AAC9B2H,IAAAA,YAAY,EAAE1H,iBAAkB;AAChC2H,IAAAA,QAAQ,EAAE1H,aAAc;AACxBkD,IAAAA,UAAU,EAAEtD,eAAgB;AAC5B+H,IAAAA,eAAe,EAAEvH,oBAAqB;AACtCiH,IAAAA,OAAO,EAAE3H,YAAAA;AAAa,GACvB,CAAC,GACA,IAAI,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC4E,QAAQ,CAAChE,cAAe,CAAC,gBACzC9F,cAAA,CAAAC,aAAA,CAACuD,IAAI,EAAA;AACHa,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCZ,IAAAA,QAAQ,EAAC,MAAM;AACf3B,IAAAA,MAAM,EAAE0F,WAAY;AACpB9D,IAAAA,KAAK,EAAE6E,MAAmB;AAC1BzE,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAEyD,WAAY;AACfxD,IAAAA,UAAU,EAAEmC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,CAAE;AACjC6G,IAAAA,WAAW,EAAEhH,gBAAiB;AAC9BiH,IAAAA,YAAY,EAAEhH,iBAAkB;AAChCiH,IAAAA,QAAQ,EAAEhH,aAAc;AACxBwC,IAAAA,UAAU,EAAE3C,eAAgB;AAC5BoH,IAAAA,eAAe,EAAE7G,oBAAqB;AACtCuG,IAAAA,OAAO,EAAEhH,YAAAA;AAAa,GACvB,CAAC,GACA,IAAI,EACP,CAAC,OAAO,EAAE,MAAM,CAAC,CAACiE,QAAQ,CAAChE,cAAe,CAAC,gBAC1C9F,cAAA,CAAAC,aAAA,CAACuD,IAAI,EAAA;AACHa,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCZ,IAAAA,QAAQ,EAAC,OAAO;AAChB3B,IAAAA,MAAM,EAAE0F,WAAY;AACpB9D,IAAAA,KAAK,EAAE6E,MAAmB;AAC1BzE,IAAAA,CAAC,EAAEV,UAAW;AACdW,IAAAA,CAAC,EAAEyD,WAAY;AACfxD,IAAAA,UAAU,EAAEmC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,CAAE;AACjC6G,IAAAA,WAAW,EAAEhH,gBAAiB;AAC9BiH,IAAAA,YAAY,EAAEhH,iBAAkB;AAChCiH,IAAAA,QAAQ,EAAEhH,aAAc;AACxBwC,IAAAA,UAAU,EAAE3C,eAAgB;AAC5BoH,IAAAA,eAAe,EAAE7G,oBAAqB;AACtCuG,IAAAA,OAAO,EAAEhH,YAAAA;GACV,CAAC,GACA,IACH,CACA,CACE,CAAC,EACT8C,WAAW,IAAIhE,aAAa,KAAKrG,sBAAsB,CAACC,IAAI,gBAC3DyB,cAAA,CAAAC,aAAA,CAACmN,MAAM,EAAAlN,QAAA,CAAA;AACLkC,IAAAA,IAAI,EAAE,CAACiI,gBAAgB,GACnBgD,YAAY,CAAChD,gBAAgB,EAAEzB,eAAe,CAAC,CAAC3G,IAAI,CAACC,gBAAgB,CAACpB,aAAc,CAAC,CAAC,GACtF8H,eAAe,EACjBjH,GAAG,CAAEgG,CAAC,IAAAP,cAAA,CAAAA,cAAA,KACHO,CAAC,CAAA,EAAA,EAAA,EAAA;MACJkE,KAAK,EAAEhD,UAAU,KAAVA,IAAAA,IAAAA,UAAU,uBAAVA,UAAU,CAAGlB,CAAC,CAACvG,GAAG,CAAA;AAAE,KAAA,CAC3B,CAAE;AACJyL,IAAAA,OAAO,EACLlI,aAAa,KAAKrG,sBAAsB,CAACG,kBAAkB,GACvD6O,aAAa,CAACnM,KAAK,GACnBwD,aAAa,KAAKrG,sBAAsB,CAACI,oBAAoB,GAC7D4O,aAAa,CAACC,OAAO,GACrB5I,aAAa,KAAKrG,sBAAsB,CAACE,aAAa,GACtD8O,aAAa,CAACE,KAAK,GACnBF,aAAa,CAAC3O,MACnB;AACD+F,IAAAA,eAAe,EACbA,eAAe,GACX,CAACsC,KAAsB,EAAEtH,KAAK,KAAKgF,eAAe,CAACsC,KAAK,EAAyBtH,KAAK,CAAC,GACvFoH,SAAAA;AACL,GAAA,EACGwD,oBAAoB,CACzB,CAAC,GACA,IACW,CAAC,CAAA;AAEtB,CAAC,CAAC;;;ACjfF,MAAMmD,cAAc,GAAG,WAAW,CAAA;AAClC,MAAMC,SAAS,GAAG,oBAAoB,CAAA;AAE/B,MAAMC,SAA+C,gBAAGlO,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACxF,MAAM;MACJC,SAAS;MACTmF,UAAU,GAAG6I,UAAU,CAACC,IAAI;AAC5BzL,MAAAA,IAAI,EAAEC,SAAS;MACf+B,OAAO;MACP9B,cAAc;AACdiC,MAAAA,EAAE,EAAEuJ,OAAO;MACXtJ,aAAa;MACbC,cAAc;MACdC,eAAe;AACfC,MAAAA,aAAa,EAAEoJ,kBAAkB;AACjCxL,MAAAA,UAAU,GAAG;AAAEe,QAAAA,cAAc,EAAE,SAAA;OAAW;MAC1CwB,UAAU;MACV1E,IAAI,GAAGC,SAAS,CAACK,MAAM;AACvBI,MAAAA,aAAa,GAAG,YAAY;MAC5BkE,gBAAgB;MAChBC,cAAc,GAAG+I,cAAc,CAACzP,IAAI;AACpC4G,MAAAA,cAAc,GAAG,QAAQ;MACzBD,YAAY,GAAGmC,WAAW,CAACC,OAAO;AAClCxB,MAAAA,cAAc,GAAG,MAAM;MACvBD,YAAY,GAAGwB,WAAW,CAACC,OAAAA;AAE7B,KAAC,GAAG5H,KAAK;AADJG,IAAAA,cAAc,GAAAC,wBAAA,CACfJ,KAAK,EAAAK,SAAA,CAAA,CAAA;AACT,EAAA,MAAM,CAACkO,GAAG,CAAC,GAAGC,KAAK,EAAE,CAAA;EACrB,MAAM3J,EAAE,GAAGuJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,OAAO,GAAIG,GAAG,CAAA;EAEzB,MAAMtJ,aAAa,GAAGoJ,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,cAAlBA,kBAAkB,GAAIzP,sBAAsB,CAACE,aAAa,CAAA;AAEhF,EAAA,IAAI6D,SAAS,KAAKyE,SAAS,IAAIzE,SAAS,KAAK,IAAI,EAAE;AACjD,IAAA,oBAAOrC,cAAA,CAAAC,aAAA,CAACT,gBAAgB,EAAAU,QAAA,CAAA;AAACqE,MAAAA,EAAE,EAAEA,EAAAA;AAAG,KAAA,EAAK1E,cAAc,EAAA;AAAEF,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,CAAE,CAAC,CAAA;AACnE,GAAA;AAEA,EAAA,IAAI0C,SAAS,CAACP,MAAM,KAAK,CAAC,EAAE;AAC1B,IAAA,oBACE9B,cAAA,CAAAC,aAAA,CAACkC,cAAc,EAAAjC,QAAA,CAAA;AACbkC,MAAAA,IAAI,EAAEC,SAAU;AAChBC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,UAAU,EAAEA,UAAW;AACvBnC,MAAAA,IAAI,EAAEA,IAAK;AACXU,MAAAA,aAAa,EAAEA,aAAc;AAC7BqE,MAAAA,cAAc,EAAEA,cAAe;AAC/BD,MAAAA,YAAY,EAAEA,YAAa;AAC3BY,MAAAA,cAAc,EAAEA,cAAe;AAC/BD,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAAA,EACvBhG,cAAc,EAAA;AAClBF,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,CACV,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBACEK,cAAA,CAAAC,aAAA,CAACkE,iBAAiB,EAAAjE,QAAA,CAAA;IAChBN,SAAS,EAAEuO,UAAU,CAACR,SAAS,CAAC/N,SAAS,EAAEA,SAAS,CAAE;AACtDmF,IAAAA,UAAU,EAAEA,UAAW;AACvB3C,IAAAA,IAAI,EAAEC,SAAU;AAChB+B,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,EAAE,EAAEA,EAAG;AACPC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,aAAa,EAAEA,aAAc;AAC7BpC,IAAAA,UAAU,EAAEA,UAAW;AACvBuC,IAAAA,UAAU,EAAEA,UAAW;AACvB1E,IAAAA,IAAI,EAAEA,IAAK;AACXU,IAAAA,aAAa,EAAEA,aAAc;AAC7BkE,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BE,IAAAA,cAAc,EAAEA,cAAe;AAC/BD,IAAAA,YAAY,EAAEA,YAAa;AAC3BY,IAAAA,cAAc,EAAEA,cAAe;AAC/BD,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAA,EACvBhG,cAAc,EAAA;AAClBF,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CACV,CAAC,CAAA;AAEN,CAAC,EAAC;AACFgO,SAAS,CAAC/N,SAAS,GAAG8N,SAAS,CAAA;AAC/BC,SAAS,CAACS,WAAW,GAAGX,cAAc;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { P as PieChart, c as PieChartDimensions, b as PieChartLegendVariant, d as PieChartProps, a as PieChartVariant, e as StyledPieChart, f as StyledPieChartCenterText, g as StyledPieChartEmptyText, S as StyledPieChartProps } from './styles.d12.ts';
|
|
2
|
+
import '@redsift/design-system';
|
|
3
|
+
import 'styled-components';
|
|
4
|
+
import 'react';
|
|
5
|
+
import 'd3-shape';
|
|
6
|
+
import './types.js';
|
|
7
|
+
import 'd3';
|
|
8
|
+
import './types.d4.ts';
|
|
9
|
+
import '@redsift/popovers';
|
|
10
|
+
import './data.js';
|
|
11
|
+
import './types.d3.ts';
|
|
12
|
+
import './types.d6.ts';
|
|
13
|
+
import './types.d7.ts';
|
|
14
|
+
import '../index.d2.ts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PieChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|