@redsift/charts 11.6.0-muiv5-alpha.10 → 11.6.0-muiv5-alpha.11
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 → _virtual/_internal}/_rollupPluginBabelHelpers.js +1 -1
- package/package.json +2 -2
- package/packages/charts/src/_internal/config.js +15 -0
- package/packages/charts/src/_internal/config.js.map +1 -0
- package/{_internal → packages/charts/src/_internal}/scheme.js +1 -1
- package/packages/charts/src/_internal/scheme.js.map +1 -0
- package/packages/charts/src/components/Arc/_internal/Arc.js +3 -0
- package/{_internal → packages/charts/src/components/Arc/_internal}/Arc.js.map +1 -1
- package/{_internal → packages/charts/src/components/Arc/_internal}/Arc2.js +8 -51
- package/packages/charts/src/components/Arc/_internal/Arc2.js.map +1 -0
- package/packages/charts/src/components/Arc/_internal/styles.js +49 -0
- package/packages/charts/src/components/Arc/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Arcs/_internal/Arcs.js +3 -0
- package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs.js.map +1 -1
- package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs2.js +7 -11
- package/packages/charts/src/components/Arcs/_internal/Arcs2.js.map +1 -0
- package/packages/charts/src/components/Arcs/_internal/styles.js +9 -0
- package/packages/charts/src/components/Arcs/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Axis/_internal/Axis.js +4 -0
- package/{_internal → packages/charts/src/components/Axis/_internal}/Axis.js.map +1 -1
- package/{_internal → packages/charts/src/components/Axis/_internal}/Axis2.js +9 -186
- package/packages/charts/src/components/Axis/_internal/Axis2.js.map +1 -0
- package/packages/charts/src/components/Axis/_internal/computeTicks.js +117 -0
- package/packages/charts/src/components/Axis/_internal/computeTicks.js.map +1 -0
- package/packages/charts/src/components/Axis/_internal/styles.js +51 -0
- package/packages/charts/src/components/Axis/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Axis/_internal/types.js +24 -0
- package/packages/charts/src/components/Axis/_internal/types.js.map +1 -0
- package/packages/charts/src/components/Bar/_internal/Bar.js +4 -0
- package/{_internal → packages/charts/src/components/Bar/_internal}/Bar.js.map +1 -1
- package/{_internal → packages/charts/src/components/Bar/_internal}/Bar2.js +9 -84
- package/packages/charts/src/components/Bar/_internal/Bar2.js.map +1 -0
- package/packages/charts/src/components/Bar/_internal/styles.js +66 -0
- package/packages/charts/src/components/Bar/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Bar/_internal/types.js +18 -0
- package/packages/charts/src/components/Bar/_internal/types.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/BarChart.js +4 -0
- package/{_internal → packages/charts/src/components/BarChart/_internal}/BarChart.js.map +1 -1
- package/packages/charts/src/components/BarChart/_internal/BarChart2.js +141 -0
- package/packages/charts/src/components/BarChart/_internal/BarChart2.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/BarChartBars.js +168 -0
- package/packages/charts/src/components/BarChart/_internal/BarChartBars.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/BarChartSection.js +139 -0
- package/packages/charts/src/components/BarChart/_internal/BarChartSection.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js +57 -0
- package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js +18 -0
- package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js +549 -0
- package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js +236 -0
- package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/context.js +13 -0
- package/packages/charts/src/components/BarChart/_internal/context.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/styles.js +71 -0
- package/packages/charts/src/components/BarChart/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/types.js +17 -0
- package/packages/charts/src/components/BarChart/_internal/types.js.map +1 -0
- package/packages/charts/src/components/BarChart/_internal/utils.js +69 -0
- package/packages/charts/src/components/BarChart/_internal/utils.js.map +1 -0
- package/packages/charts/src/components/BarChart/intl/_internal/en-US.js +17 -0
- package/packages/charts/src/components/BarChart/intl/_internal/en-US.js.map +1 -0
- package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js +17 -0
- package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js.map +1 -0
- package/packages/charts/src/components/BarChart/intl/index.js +10 -0
- package/packages/charts/src/components/BarChart/intl/index.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/_internal/ChartContainer.js +3 -0
- package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer.js.map +1 -1
- package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer2.js +5 -104
- package/packages/charts/src/components/ChartContainer/_internal/ChartContainer2.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/_internal/context.js +6 -0
- package/packages/charts/src/components/ChartContainer/_internal/context.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/_internal/styles.js +76 -0
- package/packages/charts/src/components/ChartContainer/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js +14 -0
- package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js +14 -0
- package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js.map +1 -0
- package/packages/charts/src/components/ChartContainer/intl/index.js +10 -0
- package/packages/charts/src/components/ChartContainer/intl/index.js.map +1 -0
- package/packages/charts/src/components/DataPoint/_internal/DataPoint.js +3 -0
- package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint.js.map +1 -1
- package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint2.js +4 -10
- package/packages/charts/src/components/DataPoint/_internal/DataPoint2.js.map +1 -0
- package/packages/charts/src/components/DataPoint/_internal/styles.js +10 -0
- package/packages/charts/src/components/DataPoint/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Dot/_internal/Dot.js +4 -0
- package/{_internal → packages/charts/src/components/Dot/_internal}/Dot.js.map +1 -1
- package/{_internal → packages/charts/src/components/Dot/_internal}/Dot2.js +5 -60
- package/packages/charts/src/components/Dot/_internal/Dot2.js.map +1 -0
- package/packages/charts/src/components/Dot/_internal/styles.js +49 -0
- package/packages/charts/src/components/Dot/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Dot/_internal/types.js +14 -0
- package/packages/charts/src/components/Dot/_internal/types.js.map +1 -0
- package/packages/charts/src/components/Legend/_internal/Legend.js +3 -0
- package/{_internal → packages/charts/src/components/Legend/_internal}/Legend.js.map +1 -1
- package/{_internal/Legend3.js → packages/charts/src/components/Legend/_internal/Legend2.js} +6 -17
- package/packages/charts/src/components/Legend/_internal/Legend2.js.map +1 -0
- package/packages/charts/src/components/Legend/_internal/styles.js +15 -0
- package/packages/charts/src/components/Legend/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/LegendItem/_internal/LegendItem.js +3 -0
- package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem.js.map +1 -1
- package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem2.js +6 -63
- package/packages/charts/src/components/LegendItem/_internal/LegendItem2.js.map +1 -0
- package/packages/charts/src/components/LegendItem/_internal/styles.js +63 -0
- package/packages/charts/src/components/LegendItem/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/Line/_internal/Line.js +3 -0
- package/{_internal → packages/charts/src/components/Line/_internal}/Line.js.map +1 -1
- package/{_internal → packages/charts/src/components/Line/_internal}/Line2.js +7 -11
- package/packages/charts/src/components/Line/_internal/Line2.js.map +1 -0
- package/packages/charts/src/components/Line/_internal/styles.js +9 -0
- package/packages/charts/src/components/Line/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js +58 -0
- package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/LineChart.js +4 -0
- package/{_internal → packages/charts/src/components/LineChart/_internal}/LineChart.js.map +1 -1
- package/packages/charts/src/components/LineChart/_internal/LineChart2.js +96 -0
- package/packages/charts/src/components/LineChart/_internal/LineChart2.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js +18 -0
- package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js.map +1 -0
- package/{_internal/LineChart2.js → packages/charts/src/components/LineChart/_internal/RenderedLineChart.js} +20 -317
- package/packages/charts/src/components/LineChart/_internal/RenderedLineChart.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/styles.js +53 -0
- package/packages/charts/src/components/LineChart/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/types.js +17 -0
- package/packages/charts/src/components/LineChart/_internal/types.js.map +1 -0
- package/packages/charts/src/components/LineChart/_internal/utils.js +67 -0
- package/packages/charts/src/components/LineChart/_internal/utils.js.map +1 -0
- package/packages/charts/src/components/LineChart/intl/_internal/en-US.js +17 -0
- package/packages/charts/src/components/LineChart/intl/_internal/en-US.js.map +1 -0
- package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js +17 -0
- package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js.map +1 -0
- package/packages/charts/src/components/LineChart/intl/index.js +10 -0
- package/packages/charts/src/components/LineChart/intl/index.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js +85 -0
- package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js +18 -0
- package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/PieChart.js +4 -0
- package/{_internal → packages/charts/src/components/PieChart/_internal}/PieChart.js.map +1 -1
- package/packages/charts/src/components/PieChart/_internal/PieChart2.js +98 -0
- package/packages/charts/src/components/PieChart/_internal/PieChart2.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js +198 -0
- package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/styles.js +168 -0
- package/packages/charts/src/components/PieChart/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/types.js +27 -0
- package/packages/charts/src/components/PieChart/_internal/types.js.map +1 -0
- package/packages/charts/src/components/PieChart/_internal/utils.js +37 -0
- package/packages/charts/src/components/PieChart/_internal/utils.js.map +1 -0
- package/packages/charts/src/components/PieChart/intl/_internal/en-US.js +9 -0
- package/packages/charts/src/components/PieChart/intl/_internal/en-US.js.map +1 -0
- package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js +9 -0
- package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js.map +1 -0
- package/packages/charts/src/components/PieChart/intl/index.js +10 -0
- package/packages/charts/src/components/PieChart/intl/index.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js +58 -0
- package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js +18 -0
- package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js +354 -0
- package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot.js +4 -0
- package/{_internal → packages/charts/src/components/ScatterPlot/_internal}/ScatterPlot.js.map +1 -1
- package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js +105 -0
- package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/styles.js +53 -0
- package/packages/charts/src/components/ScatterPlot/_internal/styles.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/types.js +24 -0
- package/packages/charts/src/components/ScatterPlot/_internal/types.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/_internal/utils.js +70 -0
- package/packages/charts/src/components/ScatterPlot/_internal/utils.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js +12 -0
- package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js +17 -0
- package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js.map +1 -0
- package/packages/charts/src/components/ScatterPlot/intl/index.js +10 -0
- package/packages/charts/src/components/ScatterPlot/intl/index.js.map +1 -0
- package/packages/charts/src/hooks/_internal/useBrush.js +48 -0
- package/packages/charts/src/hooks/_internal/useBrush.js.map +1 -0
- package/packages/charts/src/hooks/_internal/useColor.js +20 -0
- package/packages/charts/src/hooks/_internal/useColor.js.map +1 -0
- package/{_internal → packages/charts/src/hooks/_internal}/useFormatCategoricalData.js +4 -3
- package/packages/charts/src/hooks/_internal/useFormatCategoricalData.js.map +1 -0
- package/packages/charts/src/hooks/_internal/useZoom.js +39 -0
- package/packages/charts/src/hooks/_internal/useZoom.js.map +1 -0
- package/packages/charts/src/index.js +43 -0
- package/packages/charts/src/index.js.map +1 -0
- package/{_internal/legend2.js → packages/charts/src/types/_internal/legend.js} +2 -2
- package/packages/charts/src/types/_internal/legend.js.map +1 -0
- package/packages/charts/src/types/_internal/size.js +8 -0
- package/packages/charts/src/types/_internal/size.js.map +1 -0
- package/packages/charts/src/types/_internal/theme.js +13 -0
- package/packages/charts/src/types/_internal/theme.js.map +1 -0
- package/{_internal/theme.js → packages/charts/src/utils/index.js} +2 -37
- package/packages/charts/src/utils/index.js.map +1 -0
- package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js +4 -0
- package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js.map +1 -0
- package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js +4 -0
- package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js.map +1 -0
- package/packages/icons/src/components/mdi/_internal/mdiMouse.js +4 -0
- package/packages/icons/src/components/mdi/_internal/mdiMouse.js.map +1 -0
- package/_internal/Arc.js +0 -2
- package/_internal/Arc2.js.map +0 -1
- package/_internal/Arcs.js +0 -2
- package/_internal/Arcs2.js.map +0 -1
- package/_internal/Axis.js +0 -2
- package/_internal/Axis2.js.map +0 -1
- package/_internal/Bar.js +0 -2
- package/_internal/Bar2.js.map +0 -1
- package/_internal/BarChart.js +0 -2
- package/_internal/BarChart2.js +0 -1419
- package/_internal/BarChart2.js.map +0 -1
- package/_internal/ChartContainer.js +0 -2
- package/_internal/ChartContainer2.js.map +0 -1
- package/_internal/DataPoint.js +0 -2
- package/_internal/DataPoint2.js.map +0 -1
- package/_internal/Dot.js +0 -2
- package/_internal/Dot2.js.map +0 -1
- package/_internal/Legend.js +0 -2
- package/_internal/Legend3.js.map +0 -1
- package/_internal/LegendItem.js +0 -2
- package/_internal/LegendItem2.js.map +0 -1
- package/_internal/Line.js +0 -2
- package/_internal/Line2.js.map +0 -1
- package/_internal/LineChart.js +0 -2
- package/_internal/LineChart2.js.map +0 -1
- package/_internal/PieChart.js +0 -2
- package/_internal/PieChart2.js +0 -605
- package/_internal/PieChart2.js.map +0 -1
- package/_internal/ScatterPlot.js +0 -2
- package/_internal/ScatterPlot2.js +0 -740
- package/_internal/ScatterPlot2.js.map +0 -1
- package/_internal/config.js +0 -13
- package/_internal/config.js.map +0 -1
- package/_internal/legend2.js.map +0 -1
- package/_internal/scheme.js.map +0 -1
- package/_internal/theme.js.map +0 -1
- package/_internal/useFormatCategoricalData.js.map +0 -1
- package/index.js +0 -18
- package/index.js.map +0 -1
- package/index2.js +0 -16
- package/index2.js.map +0 -1
- /package/{_internal → _virtual/_internal}/_rollupPluginBabelHelpers.js.map +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { objectSpread2 as _objectSpread2 } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
const getScaleTicks = (scale, spec) => {
|
|
4
|
+
// specific values
|
|
5
|
+
if (Array.isArray(spec)) {
|
|
6
|
+
return spec;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// continuous scales
|
|
10
|
+
if ('ticks' in scale) {
|
|
11
|
+
// default behaviour
|
|
12
|
+
if (spec === undefined) {
|
|
13
|
+
return scale.ticks();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// specific tick count
|
|
17
|
+
if (typeof spec === 'number' && isFinite(spec) && Math.floor(spec) === spec) {
|
|
18
|
+
return scale.ticks(spec);
|
|
19
|
+
}
|
|
20
|
+
if (typeof spec === 'function') {
|
|
21
|
+
return scale.ticks();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// non linear scale default
|
|
26
|
+
return scale.domain();
|
|
27
|
+
};
|
|
28
|
+
const centerScale = scale => {
|
|
29
|
+
const bandwidth = scale.bandwidth();
|
|
30
|
+
if (bandwidth === 0) return scale;
|
|
31
|
+
let offset = bandwidth / 2;
|
|
32
|
+
if (scale.round()) {
|
|
33
|
+
offset = Math.round(offset);
|
|
34
|
+
}
|
|
35
|
+
return d => {
|
|
36
|
+
var _scale;
|
|
37
|
+
return ((_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0) + offset;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
const computeTicks = _ref => {
|
|
41
|
+
let {
|
|
42
|
+
axis,
|
|
43
|
+
scale,
|
|
44
|
+
ticksPosition,
|
|
45
|
+
tickValues,
|
|
46
|
+
tickSize,
|
|
47
|
+
tickPadding,
|
|
48
|
+
tickRotation,
|
|
49
|
+
tickRemodelling
|
|
50
|
+
} = _ref;
|
|
51
|
+
const values = tickRemodelling ? tickRemodelling(getScaleTicks(scale, tickValues)) : getScaleTicks(scale, tickValues);
|
|
52
|
+
const position = 'bandwidth' in scale ? centerScale(scale) : scale;
|
|
53
|
+
const line = {
|
|
54
|
+
lineX: 0,
|
|
55
|
+
lineY: 0
|
|
56
|
+
};
|
|
57
|
+
const text = {
|
|
58
|
+
textX: 0,
|
|
59
|
+
textY: 0
|
|
60
|
+
};
|
|
61
|
+
const isRTL = typeof document === 'object' ? document.dir === 'rtl' : false;
|
|
62
|
+
let translate;
|
|
63
|
+
let textAlign = 'middle';
|
|
64
|
+
let textBaseline = 'central';
|
|
65
|
+
if (axis === 'x') {
|
|
66
|
+
translate = d => {
|
|
67
|
+
var _position;
|
|
68
|
+
return {
|
|
69
|
+
x: (_position = position(d)) !== null && _position !== void 0 ? _position : 0,
|
|
70
|
+
y: 0
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
line.lineY = tickSize * (ticksPosition === 'after' ? 1 : -1);
|
|
74
|
+
text.textY = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);
|
|
75
|
+
if (ticksPosition === 'after') {
|
|
76
|
+
textBaseline = 'text-before-edge';
|
|
77
|
+
} else {
|
|
78
|
+
textBaseline = 'alphabetic';
|
|
79
|
+
}
|
|
80
|
+
if (tickRotation === 0) {
|
|
81
|
+
textAlign = 'middle';
|
|
82
|
+
} else if (ticksPosition === 'after' && tickRotation < 0 || ticksPosition === 'before' && tickRotation > 0) {
|
|
83
|
+
textAlign = isRTL ? 'start' : 'end';
|
|
84
|
+
textBaseline = 'middle';
|
|
85
|
+
} else if (ticksPosition === 'after' && tickRotation > 0 || ticksPosition === 'before' && tickRotation < 0) {
|
|
86
|
+
textAlign = isRTL ? 'end' : 'start';
|
|
87
|
+
textBaseline = 'middle';
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
translate = d => {
|
|
91
|
+
var _position2;
|
|
92
|
+
return {
|
|
93
|
+
x: 0,
|
|
94
|
+
y: (_position2 = position(d)) !== null && _position2 !== void 0 ? _position2 : 0
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
line.lineX = tickSize * (ticksPosition === 'after' ? 1 : -1);
|
|
98
|
+
text.textX = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);
|
|
99
|
+
if (ticksPosition === 'after') {
|
|
100
|
+
textAlign = 'start';
|
|
101
|
+
} else {
|
|
102
|
+
textAlign = 'end';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const ticks = values.map(value => _objectSpread2(_objectSpread2(_objectSpread2({
|
|
106
|
+
key: value instanceof Date ? `${value.valueOf()}` : `${value}`,
|
|
107
|
+
value
|
|
108
|
+
}, translate(value)), line), text));
|
|
109
|
+
return {
|
|
110
|
+
ticks,
|
|
111
|
+
textAlign,
|
|
112
|
+
textBaseline
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export { centerScale, computeTicks };
|
|
117
|
+
//# sourceMappingURL=computeTicks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeTicks.js","sources":["../../../../../../../src/components/Axis/computeTicks.ts"],"sourcesContent":["import { AnyScale, Coordinates, ScaleValue, ScaleWithBandwidth, TicksSpec } from '../../types';\n\nconst getScaleTicks = (scale: AnyScale, spec?: TicksSpec) => {\n // specific values\n if (Array.isArray(spec)) {\n return spec;\n }\n\n // continuous scales\n if ('ticks' in scale) {\n // default behaviour\n if (spec === undefined) {\n return scale.ticks();\n }\n\n // specific tick count\n if (typeof spec === 'number' && isFinite(spec) && Math.floor(spec) === spec) {\n return scale.ticks(spec);\n }\n\n if (typeof spec === 'function') {\n return scale.ticks();\n }\n }\n\n // non linear scale default\n return scale.domain();\n};\n\nexport const centerScale = (scale: ScaleWithBandwidth) => {\n const bandwidth = scale.bandwidth();\n\n if (bandwidth === 0) return scale;\n\n let offset = bandwidth / 2;\n if (scale.round()) {\n offset = Math.round(offset);\n }\n\n return <T extends ScaleValue>(d: T) => (scale(d) ?? 0) + offset;\n};\n\nexport const computeTicks = ({\n axis,\n scale,\n ticksPosition,\n tickValues,\n tickSize,\n tickPadding,\n tickRotation,\n tickRemodelling,\n}: {\n axis: 'x' | 'y';\n scale: AnyScale;\n ticksPosition?: 'after' | 'before';\n tickValues?: TicksSpec;\n tickSize: number;\n tickPadding: number;\n tickRotation: number;\n tickRemodelling?: (tickValues: any[]) => any[];\n}) => {\n const values = tickRemodelling ? tickRemodelling(getScaleTicks(scale, tickValues)) : getScaleTicks(scale, tickValues);\n\n const position = 'bandwidth' in scale ? centerScale(scale) : scale;\n const line = { lineX: 0, lineY: 0 };\n const text = { textX: 0, textY: 0 };\n\n const isRTL = typeof document === 'object' ? document.dir === 'rtl' : false;\n let translate: (value: ScaleValue) => Coordinates;\n let textAlign = 'middle';\n let textBaseline = 'central';\n\n if (axis === 'x') {\n translate = (d) => ({ x: position(d) ?? 0, y: 0 });\n\n line.lineY = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textY = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textBaseline = 'text-before-edge';\n } else {\n textBaseline = 'alphabetic';\n }\n\n if (tickRotation === 0) {\n textAlign = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation < 0) || (ticksPosition === 'before' && tickRotation > 0)) {\n textAlign = isRTL ? 'start' : 'end';\n textBaseline = 'middle';\n } else if ((ticksPosition === 'after' && tickRotation > 0) || (ticksPosition === 'before' && tickRotation < 0)) {\n textAlign = isRTL ? 'end' : 'start';\n textBaseline = 'middle';\n }\n } else {\n translate = (d) => ({ x: 0, y: position(d) ?? 0 });\n\n line.lineX = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textX = (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textAlign = 'start';\n } else {\n textAlign = 'end';\n }\n }\n\n const ticks = values.map((value: ScaleValue) => ({\n key: value instanceof Date ? `${value.valueOf()}` : `${value}`,\n value,\n ...translate(value),\n ...line,\n ...text,\n }));\n\n return {\n ticks,\n textAlign,\n textBaseline,\n };\n};\n"],"names":["getScaleTicks","scale","spec","Array","isArray","undefined","ticks","isFinite","Math","floor","domain","centerScale","bandwidth","offset","round","d","_scale","computeTicks","_ref","axis","ticksPosition","tickValues","tickSize","tickPadding","tickRotation","tickRemodelling","values","position","line","lineX","lineY","text","textX","textY","isRTL","document","dir","translate","textAlign","textBaseline","_position","x","y","_position2","map","value","_objectSpread","key","Date","valueOf"],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { a as it } from '../../../../../../node_modules/@react-spring/web/dist/esm/index.js';
|
|
3
|
+
import { Theme } from '@redsift/design-system';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Component style.
|
|
7
|
+
*/
|
|
8
|
+
const StyledAxis = styled(it.g)`
|
|
9
|
+
.redsift-axis__line,
|
|
10
|
+
.redsift-axis-tick__line {
|
|
11
|
+
fill: none;
|
|
12
|
+
${_ref => {
|
|
13
|
+
let {
|
|
14
|
+
$theme
|
|
15
|
+
} = _ref;
|
|
16
|
+
return css`
|
|
17
|
+
stroke: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
18
|
+
`;
|
|
19
|
+
}}
|
|
20
|
+
shape-rendering: crispEdges;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
text {
|
|
24
|
+
font-family: var(--redsift-typography-font-family-poppins);
|
|
25
|
+
${_ref2 => {
|
|
26
|
+
let {
|
|
27
|
+
$theme
|
|
28
|
+
} = _ref2;
|
|
29
|
+
return css`
|
|
30
|
+
fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
31
|
+
`;
|
|
32
|
+
}}
|
|
33
|
+
font-size: 10px;
|
|
34
|
+
user-select: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
text.colored {
|
|
38
|
+
${_ref3 => {
|
|
39
|
+
let {
|
|
40
|
+
$theme,
|
|
41
|
+
$color
|
|
42
|
+
} = _ref3;
|
|
43
|
+
return css`
|
|
44
|
+
fill: ${$color === 'green' ? '#029B57' : $color === 'red' ? '#CB0E0E' : `var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};
|
|
45
|
+
`;
|
|
46
|
+
}}
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
|
|
50
|
+
export { StyledAxis };
|
|
51
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../../src/components/Axis/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledAxisProps } from './types';\nimport { animated } from '@react-spring/web';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledAxis = styled(animated.g)<StyledAxisProps>`\n .redsift-axis__line,\n .redsift-axis-tick__line {\n fill: none;\n ${({ $theme }) => css`\n stroke: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-poppins);\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n font-size: 10px;\n user-select: none;\n }\n\n text.colored {\n ${({ $theme, $color }) => css`\n fill: ${$color === 'green'\n ? '#029B57'\n : $color === 'red'\n ? '#CB0E0E'\n : `var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};\n `}\n }\n`;\n"],"names":["StyledAxis","styled","animated","g","_ref","$theme","css","Theme","dark","_ref2","_ref3","$color"],"mappings":";;;;AAKA;AACA;AACA;AACO,MAAMA,UAAU,GAAGC,MAAM,CAACC,EAAQ,CAACC,CAAC,CAAmB,CAAA;AAC9D;AACA;AACA;AACA,IAAA,EAAMC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AAC1B,0CAA4CD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AAC5F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMC,KAAA,IAAA;EAAA,IAAC;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAI,KAAA,CAAA;AAAA,EAAA,OAAKH,GAAI,CAAA;AAC1B,wCAA0CD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AAC1F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA,IAAA,EAAME,KAAA,IAAA;EAAA,IAAC;IAAEL,MAAM;AAAEM,IAAAA,MAAAA;AAAO,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKJ,GAAI,CAAA;AAClC,YAAcK,EAAAA,MAAM,KAAK,OAAO,GACtB,SAAS,GACTA,MAAM,KAAK,KAAK,GAChB,SAAS,GACR,CAA8BN,4BAAAA,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAG,CAAA,CAAA,CAAA;AAC5F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component variant.
|
|
3
|
+
*/
|
|
4
|
+
const AxisVariant = {
|
|
5
|
+
none: 'none',
|
|
6
|
+
line: 'line',
|
|
7
|
+
lineTick: 'lineTick',
|
|
8
|
+
tick: 'tick',
|
|
9
|
+
tickValue: 'tickValue',
|
|
10
|
+
default: 'default'
|
|
11
|
+
};
|
|
12
|
+
const AxisPosition = {
|
|
13
|
+
top: 'top',
|
|
14
|
+
right: 'right',
|
|
15
|
+
bottom: 'bottom',
|
|
16
|
+
left: 'left'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Component props.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export { AxisPosition, AxisVariant };
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../../../src/components/Axis/types.ts"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ValueOf, Theme } from '@redsift/design-system';\nimport { AnyScale, NumericValue, ScaleValue, StringValue, TicksSpec } from '../../types';\n\n/**\n * Component variant.\n */\nexport const AxisVariant = {\n none: 'none',\n line: 'line',\n lineTick: 'lineTick',\n tick: 'tick',\n tickValue: 'tickValue',\n default: 'default',\n} as const;\nexport type AxisVariant = ValueOf<typeof AxisVariant>;\n\nexport const AxisPosition = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n};\nexport type AxisPosition = ValueOf<typeof AxisPosition>;\n\n/**\n * Component props.\n */\nexport interface AxisProps extends Omit<ComponentProps<'g'>, 'scale'> {\n /** Disable animations. */\n disableAnimations?: boolean;\n format?: string;\n /** Whether to display grid or not. The length is mandatory and should usually be the length of the other axis. */\n grid?:\n | boolean\n | {\n length?: number;\n stroke?: string;\n strokeWidth?: number;\n strokeDasharray?: string;\n opacity?: number;\n };\n legend?: string;\n legendOffset?: number;\n legendPosition?: 'start' | 'middle' | 'end';\n legendX?: number;\n legendY?: number;\n legendRotation?: number;\n legendStyle?: React.CSSProperties;\n /** Length of the axis. */\n length?: number;\n /** Position of axis. top|bottom means this is an x axis, right|left means this is an y axis. */\n position?: AxisPosition;\n /** Scale (d3.js) used to generate the axis. */\n scale?: AnyScale;\n tickFormat?:\n | ((d: NumericValue) => string)\n | ((d: StringValue) => string)\n | ((d: Date) => string)\n | ((d: ScaleValue) => string);\n tickPadding?: number;\n tickRotation?: number;\n tickSize?: number;\n tickValues?: TicksSpec;\n tickRemodelling?: (tickValues: any[]) => any[];\n /** Variant. */\n variant?: AxisVariant;\n /** X position. */\n x?: number;\n /** Y position. */\n y?: number;\n /** Chart width, used for horizontal grid. */\n chartWidth?: number;\n /** Chart height, used for horizontal grid. */\n chartHeight?: number;\n /** Section height, used for horizontal grid within a section. */\n sectionHeight?: number;\n /** Color used for tick values. */\n textColor?: string;\n /** Custom method to choose which tick value to color if not all. */\n tickToColor?: (\n tick?: {\n textX: number;\n textY: number;\n lineX: number;\n lineY: number;\n x: number;\n y: number;\n key: string;\n value: ScaleValue;\n },\n index?: number\n ) => boolean;\n}\n\nexport type StyledAxisProps = Omit<AxisProps, 'areXLabelsRotated' | 'size' | 'scale'> & {\n $theme: Theme;\n $color?: string;\n};\n"],"names":["AxisVariant","none","line","lineTick","tick","tickValue","default","AxisPosition","top","right","bottom","left"],"mappings":"AAIA;AACA;AACA;AACO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAGH,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAA;AACR,EAAC;;AAGD;AACA;AACA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1,89 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import {
|
|
4
|
+
import { a as it } from '../../../../../../node_modules/@react-spring/web/dist/esm/index.js';
|
|
5
5
|
import { interpolate } from 'd3';
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Component variant.
|
|
14
|
-
*/
|
|
15
|
-
const BarOrientation = {
|
|
16
|
-
horizontal: 'horizontal',
|
|
17
|
-
vertical: 'vertical'
|
|
18
|
-
};
|
|
19
|
-
const BarDirection = {
|
|
20
|
-
up: 'up',
|
|
21
|
-
down: 'down'
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Component props.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Component style.
|
|
30
|
-
*/
|
|
31
|
-
const StyledBar = styled(DataPoint)`
|
|
32
|
-
text {
|
|
33
|
-
${_ref => {
|
|
34
|
-
let {
|
|
35
|
-
$theme
|
|
36
|
-
} = _ref;
|
|
37
|
-
return css`
|
|
38
|
-
fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
39
|
-
`;
|
|
40
|
-
}}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
${_ref2 => {
|
|
44
|
-
let {
|
|
45
|
-
$clickable
|
|
46
|
-
} = _ref2;
|
|
47
|
-
return $clickable ? css`
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
|
|
50
|
-
&:hover,
|
|
51
|
-
&:focus,
|
|
52
|
-
&.focused {
|
|
53
|
-
outline: none;
|
|
54
|
-
rect {
|
|
55
|
-
fill-opacity: 0.7;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// &:focus-visible {
|
|
60
|
-
// rect {
|
|
61
|
-
// stroke: var(--redsift-color-primary-n);
|
|
62
|
-
// stroke-width: 4px;
|
|
63
|
-
// paint-order: stroke;
|
|
64
|
-
// }
|
|
65
|
-
// }
|
|
66
|
-
|
|
67
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
68
|
-
&:focus-visible,
|
|
69
|
-
&.focused {
|
|
70
|
-
outline: 2px solid var(--redsift-color-primary-n);
|
|
71
|
-
transition: outline-offset 75ms ease-out;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&:not(&:active)&:focus-visible,
|
|
75
|
-
&:not(&:active)&.focused {
|
|
76
|
-
transition-duration: 0.25s;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
&:not(&:active)&:focus-visible,
|
|
81
|
-
&:not(&:active)&.focused {
|
|
82
|
-
outline-offset: 0.2rem;
|
|
83
|
-
}
|
|
84
|
-
` : '';
|
|
85
|
-
}}}
|
|
86
|
-
`;
|
|
6
|
+
import { useTheme } from '@redsift/design-system';
|
|
7
|
+
import { BarOrientation, BarDirection } from './types.js';
|
|
8
|
+
import { StyledBar } from './styles.js';
|
|
9
|
+
import { monochrome } from '../../../_internal/scheme.js';
|
|
10
|
+
import { config } from '../../../_internal/config.js';
|
|
11
|
+
import { useSpring as J } from '../../../../../../node_modules/@react-spring/core/dist/esm/index.js';
|
|
87
12
|
|
|
88
13
|
const _excluded = ["className", "disableAnimations", "gap", "height", "maxHeight", "orientation", "direction", "previousData", "scale", "scalePosition", "width", "minWidth"];
|
|
89
14
|
const COMPONENT_NAME = 'Bar';
|
|
@@ -166,5 +91,5 @@ const Bar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
166
91
|
Bar.className = CLASSNAME;
|
|
167
92
|
Bar.displayName = COMPONENT_NAME;
|
|
168
93
|
|
|
169
|
-
export { Bar
|
|
94
|
+
export { Bar };
|
|
170
95
|
//# sourceMappingURL=Bar2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bar2.js","sources":["../../../../../../../src/components/Bar/Bar.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { interpolate as d3interpolate } from 'd3';\n\nimport { Comp, useTheme } from '@redsift/design-system';\n\nimport { BarDirection, BarOrientation, BarProps } from './types';\nimport { StyledBar } from './styles';\nimport { monochrome } from '../../scheme';\nimport { config } from '../../config';\nimport { BarDatum } from '@redsift/charts/types';\n\nconst COMPONENT_NAME = 'Bar';\nconst CLASSNAME = 'redsift-bar';\n\nexport const Bar: Comp<BarProps, SVGGElement> = forwardRef((props, ref) => {\n const { color = monochrome, data, index = 0, isSelected: propsIsSelected, labelDecorator, onClick, role } = props;\n\n const {\n className,\n disableAnimations,\n gap = 5,\n height = 40,\n maxHeight = 100,\n orientation = BarOrientation.horizontal,\n direction = BarDirection.up,\n previousData = {\n data: {\n key: '',\n value: 0,\n },\n },\n scale,\n scalePosition,\n width = 40,\n minWidth,\n ...forwardedProps\n } = props;\n\n const theme = useTheme();\n\n const getValue = (data: BarDatum['data']) =>\n data?.cumulativeValue !== undefined ? data.cumulativeValue : data?.value;\n const interpolator = d3interpolate(getValue(previousData!.data) || 0, getValue(data.data) || 0);\n\n const text = labelDecorator\n ? labelDecorator(data, { index, isSelected: propsIsSelected, color })\n : (data.data.key as string);\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n const isHorizontal = orientation === BarOrientation.horizontal;\n const goesUp = direction === BarDirection.up;\n const isOrdinal = typeof scalePosition.domain()[0] === 'string';\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({ t: 1 });\n },\n from: { t: 0 },\n });\n\n const computedWidth: number = minWidth ? Math.max(minWidth, width) : width;\n\n return (\n <StyledBar\n {...forwardedProps}\n ref={ref}\n className={classNames(Bar.className, className)}\n transform={\n isHorizontal\n ? `translate(0, ${scalePosition(data.data.key as any)! + gap! / 2})`\n : `translate(${\n goesUp\n ? scalePosition(data.data.key as any)! + (isOrdinal ? computedWidth + gap! / 2 : computedWidth / 2)\n : scalePosition(data.data.key as any)! + (isOrdinal ? -computedWidth + gap! / 2 : -computedWidth / 2)\n }, ${maxHeight})${goesUp ? ', rotate(180)' : ''}`\n }\n $clickable={Boolean(onClick)}\n $theme={theme}\n >\n {isHorizontal ? (\n <animated.rect\n height={height}\n fill={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n width={\n config.immediate || disableAnimations\n ? scale(data.data.value)\n : animatedProps.t.to((t) => scale(interpolator(t)))\n }\n />\n ) : (\n <animated.rect\n height={\n config.immediate || disableAnimations\n ? goesUp\n ? maxHeight! - scale(getValue(data.data))\n : scale(getValue(data.data)) - maxHeight!\n : animatedProps.t.to((t) =>\n Math.max(0, goesUp ? maxHeight! - scale(interpolator(t)) : scale(interpolator(t)) - maxHeight!)\n )\n }\n fill={isDeselected ? 'var(--redsift-color-neutral-light-grey)' : color}\n width={computedWidth}\n />\n )}\n {isHorizontal ? (\n <text x=\"10\" y={height! / 2} dy=\"0.35em\" aria-hidden={true}>\n {text}\n </text>\n ) : null}\n </StyledBar>\n );\n});\nBar.className = CLASSNAME;\nBar.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","Bar","forwardRef","props","ref","color","monochrome","data","index","isSelected","propsIsSelected","labelDecorator","onClick","role","className","disableAnimations","gap","height","maxHeight","orientation","BarOrientation","horizontal","direction","BarDirection","up","previousData","key","value","scale","scalePosition","width","minWidth","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","getValue","cumulativeValue","undefined","interpolator","d3interpolate","text","isSelectable","isDeselected","isHorizontal","goesUp","isOrdinal","domain","animatedProps","useSpring","_objectSpread","config","to","next","t","from","computedWidth","Math","max","React","createElement","StyledBar","_extends","classNames","transform","$clickable","Boolean","$theme","animated","rect","fill","immediate","x","y","dy","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { Theme } from '@redsift/design-system';
|
|
3
|
+
import { DataPoint } from '../../DataPoint/_internal/DataPoint2.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Component style.
|
|
7
|
+
*/
|
|
8
|
+
const StyledBar = styled(DataPoint)`
|
|
9
|
+
text {
|
|
10
|
+
${_ref => {
|
|
11
|
+
let {
|
|
12
|
+
$theme
|
|
13
|
+
} = _ref;
|
|
14
|
+
return css`
|
|
15
|
+
fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
16
|
+
`;
|
|
17
|
+
}}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
${_ref2 => {
|
|
21
|
+
let {
|
|
22
|
+
$clickable
|
|
23
|
+
} = _ref2;
|
|
24
|
+
return $clickable ? css`
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
|
|
27
|
+
&:hover,
|
|
28
|
+
&:focus,
|
|
29
|
+
&.focused {
|
|
30
|
+
outline: none;
|
|
31
|
+
rect {
|
|
32
|
+
fill-opacity: 0.7;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// &:focus-visible {
|
|
37
|
+
// rect {
|
|
38
|
+
// stroke: var(--redsift-color-primary-n);
|
|
39
|
+
// stroke-width: 4px;
|
|
40
|
+
// paint-order: stroke;
|
|
41
|
+
// }
|
|
42
|
+
// }
|
|
43
|
+
|
|
44
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
45
|
+
&:focus-visible,
|
|
46
|
+
&.focused {
|
|
47
|
+
outline: 2px solid var(--redsift-color-primary-n);
|
|
48
|
+
transition: outline-offset 75ms ease-out;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&:not(&:active)&:focus-visible,
|
|
52
|
+
&:not(&:active)&.focused {
|
|
53
|
+
transition-duration: 0.25s;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:not(&:active)&:focus-visible,
|
|
58
|
+
&:not(&:active)&.focused {
|
|
59
|
+
outline-offset: 0.2rem;
|
|
60
|
+
}
|
|
61
|
+
` : '';
|
|
62
|
+
}}}
|
|
63
|
+
`;
|
|
64
|
+
|
|
65
|
+
export { StyledBar };
|
|
66
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../../src/components/Bar/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledBarProps } from './types';\nimport { DataPoint } from '../DataPoint';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledBar = styled(DataPoint)<StyledBarProps>`\n text {\n ${({ $theme }) => css`\n fill: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n `}\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus,\n &.focused {\n outline: none;\n rect {\n fill-opacity: 0.7;\n }\n }\n\n // &:focus-visible {\n // rect {\n // stroke: var(--redsift-color-primary-n);\n // stroke-width: 4px;\n // paint-order: stroke;\n // }\n // }\n\n @media (prefers-reduced-motion: no-preference) {\n &:focus-visible,\n &.focused {\n outline: 2px solid var(--redsift-color-primary-n);\n transition: outline-offset 75ms ease-out;\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n transition-duration: 0.25s;\n }\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n outline-offset: 0.2rem;\n }\n `\n : ''}}\n`;\n"],"names":["StyledBar","styled","DataPoint","_ref","$theme","css","Theme","dark","_ref2","$clickable"],"mappings":";;;;AAKA;AACA;AACA;MACaA,SAAS,GAAGC,MAAM,CAACC,SAAS,CAAkB,CAAA;AAC3D;AACA,IAAA,EAAMC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AAC1B,wCAA0CD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AAC1F,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA,EAAA,EAAIC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,KAAA,CAAA;EAAA,OACfC,UAAU,GACNJ,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component variant.
|
|
3
|
+
*/
|
|
4
|
+
const BarOrientation = {
|
|
5
|
+
horizontal: 'horizontal',
|
|
6
|
+
vertical: 'vertical'
|
|
7
|
+
};
|
|
8
|
+
const BarDirection = {
|
|
9
|
+
up: 'up',
|
|
10
|
+
down: 'down'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component props.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export { BarDirection, BarOrientation };
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../../../src/components/Bar/types.ts"],"sourcesContent":["import { ScaleLinear as d3ScaleLinear, ScaleTime as d3ScaleTime, ScalePoint as d3ScalePoint } from 'd3';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { BarDatum } from '../../types';\nimport { DataPointProps, StyledDataPointProps } from '../DataPoint';\n\n/**\n * Component variant.\n */\nexport const BarOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\nexport type BarOrientation = ValueOf<typeof BarOrientation>;\n\nexport const BarDirection = {\n up: 'up',\n down: 'down',\n};\nexport type BarDirection = ValueOf<typeof BarDirection>;\n\n/**\n * Component props.\n */\nexport interface BarProps extends DataPointProps<BarDatum> {\n /** Gap between two siblings. */\n gap?: number;\n /** Height of the bar in horizontal orientation. */\n height?: number;\n /** Maximum height of the bar. */\n maxHeight?: number;\n /** Orientation of the bar. */\n orientation?: BarOrientation;\n /** Direction of the bar, works only with vertical orientation. */\n direction?: BarOrientation;\n /** A linear continuous scale defined over a numeric domain used to determine the width or height of the bar (depending on the orientation). */\n scale: d3ScaleLinear<number, number, never>;\n /** A scale defined over a numeric/time/ordinal domain used to determine the position of the bar. */\n scalePosition: d3ScaleLinear<number, number, never> | d3ScaleTime<number, number, never> | d3ScalePoint<string>;\n /** Width of the bar in vertical orientation. */\n width?: number;\n /** Min width of the bar in vertical orientation. */\n minWidth?: number;\n}\n\nexport type StyledBarProps = StyledDataPointProps &\n Omit<BarProps, 'scale' | 'scalePosition'> & {\n $theme: Theme;\n };\n"],"names":["BarOrientation","horizontal","vertical","BarDirection","up","down"],"mappings":"AAKA;AACA;AACA;AACO,MAAMA,cAAc,GAAG;AAC5BC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,EAAC;AAGM,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,IAAI,EAAE,MAAA;AACR,EAAC;;AAGD;AACA;AACA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"BarChart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useId } from '@redsift/design-system';
|
|
5
|
+
import { BarChartLegendVariant } from './types.js';
|
|
6
|
+
import { EmptyBarChart } from './EmptyBarChart.js';
|
|
7
|
+
import { LoadingBarChart } from './LoadingBarChart.js';
|
|
8
|
+
import { RenderedOrdinalBarChart } from './RenderedOrdinalBarChart.js';
|
|
9
|
+
import { RenderedLinearBarChart } from './RenderedLinearBarChart.js';
|
|
10
|
+
import { isValidDate } from '../../../utils/index.js';
|
|
11
|
+
import { BarChartSection } from './BarChartSection.js';
|
|
12
|
+
import { BarChartBars, BarChartGroupedTooltip } from './BarChartBars.js';
|
|
13
|
+
import { ColorTheme } from '../../../types/_internal/theme.js';
|
|
14
|
+
import { ChartContainerTitle, ChartContainerDescription } from '../../ChartContainer/_internal/ChartContainer2.js';
|
|
15
|
+
import { BarOrientation } from '../../Bar/_internal/types.js';
|
|
16
|
+
import { ChartSize } from '../../../types/_internal/size.js';
|
|
17
|
+
import { TooltipVariant } from '../../../types/_internal/legend.js';
|
|
18
|
+
import { Axis } from '../../Axis/_internal/Axis2.js';
|
|
19
|
+
import { Legend } from '../../Legend/_internal/Legend2.js';
|
|
20
|
+
import { LegendItem } from '../../LegendItem/_internal/LegendItem2.js';
|
|
21
|
+
|
|
22
|
+
const _excluded = ["barRole", "caping", "chartRef", "className", "colorTheme", "data", "dataType", "emptyComponent", "id", "isBarSelected", "labelDecorator", "legendDecorator", "legendVariant", "localeText", "onBarClick", "orientation", "others", "size", "sortingMethod", "theme", "tooltipDecorator", "tooltipVariant", "xAxisPlacement", "yAxisPlacement"];
|
|
23
|
+
const COMPONENT_NAME = 'BarChart';
|
|
24
|
+
const CLASSNAME = 'redsift-barchart';
|
|
25
|
+
const BaseBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
26
|
+
const {
|
|
27
|
+
barRole,
|
|
28
|
+
caping,
|
|
29
|
+
chartRef,
|
|
30
|
+
className,
|
|
31
|
+
colorTheme = ColorTheme.default,
|
|
32
|
+
data: propsData,
|
|
33
|
+
dataType: propsDataType,
|
|
34
|
+
emptyComponent,
|
|
35
|
+
id: propsId,
|
|
36
|
+
isBarSelected = () => true,
|
|
37
|
+
labelDecorator,
|
|
38
|
+
legendDecorator,
|
|
39
|
+
legendVariant: propsLegendVariant,
|
|
40
|
+
localeText = {
|
|
41
|
+
emptyChartText: 'No Data'
|
|
42
|
+
},
|
|
43
|
+
onBarClick,
|
|
44
|
+
orientation = BarOrientation.horizontal,
|
|
45
|
+
others = true,
|
|
46
|
+
size = ChartSize.medium,
|
|
47
|
+
sortingMethod = 'desc-value',
|
|
48
|
+
theme,
|
|
49
|
+
tooltipDecorator,
|
|
50
|
+
tooltipVariant = TooltipVariant.value,
|
|
51
|
+
xAxisPlacement = 'bottom',
|
|
52
|
+
yAxisPlacement = 'left'
|
|
53
|
+
} = props,
|
|
54
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
55
|
+
const [_id] = useId();
|
|
56
|
+
const id = propsId !== null && propsId !== void 0 ? propsId : _id;
|
|
57
|
+
const legendVariant = propsLegendVariant !== null && propsLegendVariant !== void 0 ? propsLegendVariant : BarChartLegendVariant.externalLabel;
|
|
58
|
+
if (propsData === undefined || propsData === null) {
|
|
59
|
+
return /*#__PURE__*/React__default.createElement(LoadingBarChart, _extends({
|
|
60
|
+
id: id
|
|
61
|
+
}, forwardedProps, {
|
|
62
|
+
ref: ref
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
if (propsData.length === 0) {
|
|
66
|
+
return /*#__PURE__*/React__default.createElement(EmptyBarChart, _extends({
|
|
67
|
+
data: propsData,
|
|
68
|
+
emptyComponent: emptyComponent,
|
|
69
|
+
id: id,
|
|
70
|
+
localeText: localeText,
|
|
71
|
+
size: size
|
|
72
|
+
}, forwardedProps, {
|
|
73
|
+
ref: ref
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
const dataType = propsDataType ? propsDataType : Array.isArray(propsData[0].key) ? 'TwoCategoryData' : propsData[0].key instanceof Date ? 'LinearData' : typeof propsData[0].key === 'number' ? 'LinearData' : typeof propsData[0].key === 'string' && isValidDate(propsData[0].key) ? 'LinearData' : typeof propsData[0].key === 'string' ? 'CategoryData' : 'CategoryData';
|
|
77
|
+
if (dataType === 'CategoryData') {
|
|
78
|
+
return /*#__PURE__*/React__default.createElement(RenderedOrdinalBarChart, _extends({
|
|
79
|
+
barRole: barRole,
|
|
80
|
+
caping: caping,
|
|
81
|
+
chartRef: chartRef,
|
|
82
|
+
className: classNames(BaseBarChart.className, className),
|
|
83
|
+
data: propsData,
|
|
84
|
+
id: id,
|
|
85
|
+
isBarSelected: isBarSelected,
|
|
86
|
+
labelDecorator: labelDecorator,
|
|
87
|
+
onBarClick: onBarClick,
|
|
88
|
+
orientation: orientation,
|
|
89
|
+
others: others,
|
|
90
|
+
size: size,
|
|
91
|
+
sortingMethod: sortingMethod,
|
|
92
|
+
theme: theme,
|
|
93
|
+
tooltipDecorator: tooltipDecorator,
|
|
94
|
+
colorTheme: colorTheme,
|
|
95
|
+
tooltipVariant: tooltipVariant,
|
|
96
|
+
xAxisPlacement: xAxisPlacement,
|
|
97
|
+
yAxisPlacement: yAxisPlacement
|
|
98
|
+
}, forwardedProps, {
|
|
99
|
+
ref: ref
|
|
100
|
+
}));
|
|
101
|
+
} else if (dataType === 'LinearData' || dataType === 'TwoCategoryData') {
|
|
102
|
+
return /*#__PURE__*/React__default.createElement(RenderedLinearBarChart, _extends({
|
|
103
|
+
barRole: barRole,
|
|
104
|
+
chartRef: chartRef,
|
|
105
|
+
className: classNames(BaseBarChart.className, className),
|
|
106
|
+
data: propsData,
|
|
107
|
+
id: id,
|
|
108
|
+
isBarSelected: isBarSelected,
|
|
109
|
+
labelDecorator: labelDecorator,
|
|
110
|
+
legendDecorator: legendDecorator,
|
|
111
|
+
legendVariant: legendVariant,
|
|
112
|
+
onBarClick: onBarClick,
|
|
113
|
+
size: size,
|
|
114
|
+
sortingMethod: sortingMethod,
|
|
115
|
+
theme: theme,
|
|
116
|
+
tooltipDecorator: tooltipDecorator,
|
|
117
|
+
colorTheme: colorTheme,
|
|
118
|
+
tooltipVariant: tooltipVariant,
|
|
119
|
+
xAxisPlacement: xAxisPlacement,
|
|
120
|
+
yAxisPlacement: yAxisPlacement
|
|
121
|
+
}, forwardedProps, {
|
|
122
|
+
ref: ref
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
});
|
|
127
|
+
BaseBarChart.className = CLASSNAME;
|
|
128
|
+
BaseBarChart.displayName = COMPONENT_NAME;
|
|
129
|
+
const BarChart = Object.assign(BaseBarChart, {
|
|
130
|
+
Section: BarChartSection,
|
|
131
|
+
Bars: BarChartBars,
|
|
132
|
+
Axis: Axis,
|
|
133
|
+
GroupedTooltip: BarChartGroupedTooltip,
|
|
134
|
+
Legend: Legend,
|
|
135
|
+
LegendItem: LegendItem,
|
|
136
|
+
Title: ChartContainerTitle,
|
|
137
|
+
Description: ChartContainerDescription
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
export { BarChart, BaseBarChart };
|
|
141
|
+
//# sourceMappingURL=BarChart2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarChart2.js","sources":["../../../../../../../src/components/BarChart/BarChart.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, LinearData, TooltipVariant } from '../../types';\nimport { BarChartLegendVariant, BarChartProps } from './types';\nimport { EmptyBarChart } from './EmptyBarChart';\nimport { LoadingBarChart } from './LoadingBarChart';\nimport { RenderedOrdinalBarChart } from './RenderedOrdinalBarChart';\nimport { RenderedLinearBarChart } from './RenderedLinearBarChart';\nimport { BarOrientation } from '../Bar';\nimport { isValidDate } from '../../utils';\nimport { BarChartSection } from './BarChartSection';\nimport { BarChartBars, BarChartGroupedTooltip } from './BarChartBars';\nimport { Axis } from '../Axis';\nimport { Legend } from '../Legend';\nimport { LegendItem } from '../LegendItem';\nimport { ChartContainerDescription, ChartContainerTitle } from '../ChartContainer';\n\nconst COMPONENT_NAME = 'BarChart';\nconst CLASSNAME = 'redsift-barchart';\n\nexport const BaseBarChart: Comp<BarChartProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n barRole,\n caping,\n chartRef,\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n dataType: propsDataType,\n emptyComponent,\n id: propsId,\n isBarSelected = () => true,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onBarClick,\n orientation = BarOrientation.horizontal,\n others = true,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n theme,\n tooltipDecorator,\n tooltipVariant = TooltipVariant.value,\n xAxisPlacement = 'bottom',\n yAxisPlacement = 'left',\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? BarChartLegendVariant.externalLabel;\n\n if (propsData === undefined || propsData === null) {\n return <LoadingBarChart id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyBarChart\n data={propsData}\n emptyComponent={emptyComponent}\n id={id}\n localeText={localeText}\n size={size}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n const dataType = propsDataType\n ? propsDataType\n : Array.isArray(propsData[0].key)\n ? 'TwoCategoryData'\n : propsData[0].key instanceof Date\n ? 'LinearData'\n : typeof propsData[0].key === 'number'\n ? 'LinearData'\n : typeof propsData[0].key === 'string' && isValidDate(propsData[0].key)\n ? 'LinearData'\n : typeof propsData[0].key === 'string'\n ? 'CategoryData'\n : 'CategoryData';\n\n if (dataType === 'CategoryData') {\n return (\n <RenderedOrdinalBarChart\n barRole={barRole}\n caping={caping}\n chartRef={chartRef}\n className={classNames(BaseBarChart.className, className)}\n data={propsData}\n id={id}\n isBarSelected={isBarSelected}\n labelDecorator={labelDecorator}\n onBarClick={onBarClick}\n orientation={orientation}\n others={others}\n size={size}\n sortingMethod={sortingMethod}\n theme={theme}\n tooltipDecorator={tooltipDecorator}\n colorTheme={colorTheme}\n tooltipVariant={tooltipVariant}\n xAxisPlacement={xAxisPlacement}\n yAxisPlacement={yAxisPlacement}\n {...forwardedProps}\n ref={ref}\n />\n );\n } else if (dataType === 'LinearData' || dataType === 'TwoCategoryData') {\n return (\n <RenderedLinearBarChart\n barRole={barRole}\n chartRef={chartRef}\n className={classNames(BaseBarChart.className, className)}\n data={propsData as LinearData}\n id={id}\n isBarSelected={isBarSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n onBarClick={onBarClick}\n size={size}\n sortingMethod={sortingMethod}\n theme={theme}\n tooltipDecorator={tooltipDecorator}\n colorTheme={colorTheme}\n tooltipVariant={tooltipVariant}\n xAxisPlacement={xAxisPlacement}\n yAxisPlacement={yAxisPlacement}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return null;\n});\nBaseBarChart.className = CLASSNAME;\nBaseBarChart.displayName = COMPONENT_NAME;\n\nexport const BarChart = Object.assign(BaseBarChart, {\n Section: BarChartSection,\n Bars: BarChartBars,\n Axis: Axis,\n GroupedTooltip: BarChartGroupedTooltip,\n Legend: Legend,\n LegendItem: LegendItem,\n Title: ChartContainerTitle,\n Description: ChartContainerDescription,\n});\n"],"names":["COMPONENT_NAME","CLASSNAME","BaseBarChart","forwardRef","props","ref","barRole","caping","chartRef","className","colorTheme","ColorTheme","default","data","propsData","dataType","propsDataType","emptyComponent","id","propsId","isBarSelected","labelDecorator","legendDecorator","legendVariant","propsLegendVariant","localeText","emptyChartText","onBarClick","orientation","BarOrientation","horizontal","others","size","ChartSize","medium","sortingMethod","theme","tooltipDecorator","tooltipVariant","TooltipVariant","value","xAxisPlacement","yAxisPlacement","forwardedProps","_objectWithoutProperties","_excluded","_id","useId","BarChartLegendVariant","externalLabel","undefined","React","createElement","LoadingBarChart","_extends","length","EmptyBarChart","Array","isArray","key","Date","isValidDate","RenderedOrdinalBarChart","classNames","RenderedLinearBarChart","displayName","BarChart","Object","assign","Section","BarChartSection","Bars","BarChartBars","Axis","GroupedTooltip","BarChartGroupedTooltip","Legend","LegendItem","Title","ChartContainerTitle","Description","ChartContainerDescription"],"mappings":"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"}
|