@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.
Files changed (244) hide show
  1. package/{_internal → _virtual/_internal}/_rollupPluginBabelHelpers.js +1 -1
  2. package/package.json +2 -2
  3. package/packages/charts/src/_internal/config.js +15 -0
  4. package/packages/charts/src/_internal/config.js.map +1 -0
  5. package/{_internal → packages/charts/src/_internal}/scheme.js +1 -1
  6. package/packages/charts/src/_internal/scheme.js.map +1 -0
  7. package/packages/charts/src/components/Arc/_internal/Arc.js +3 -0
  8. package/{_internal → packages/charts/src/components/Arc/_internal}/Arc.js.map +1 -1
  9. package/{_internal → packages/charts/src/components/Arc/_internal}/Arc2.js +8 -51
  10. package/packages/charts/src/components/Arc/_internal/Arc2.js.map +1 -0
  11. package/packages/charts/src/components/Arc/_internal/styles.js +49 -0
  12. package/packages/charts/src/components/Arc/_internal/styles.js.map +1 -0
  13. package/packages/charts/src/components/Arcs/_internal/Arcs.js +3 -0
  14. package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs.js.map +1 -1
  15. package/{_internal → packages/charts/src/components/Arcs/_internal}/Arcs2.js +7 -11
  16. package/packages/charts/src/components/Arcs/_internal/Arcs2.js.map +1 -0
  17. package/packages/charts/src/components/Arcs/_internal/styles.js +9 -0
  18. package/packages/charts/src/components/Arcs/_internal/styles.js.map +1 -0
  19. package/packages/charts/src/components/Axis/_internal/Axis.js +4 -0
  20. package/{_internal → packages/charts/src/components/Axis/_internal}/Axis.js.map +1 -1
  21. package/{_internal → packages/charts/src/components/Axis/_internal}/Axis2.js +9 -186
  22. package/packages/charts/src/components/Axis/_internal/Axis2.js.map +1 -0
  23. package/packages/charts/src/components/Axis/_internal/computeTicks.js +117 -0
  24. package/packages/charts/src/components/Axis/_internal/computeTicks.js.map +1 -0
  25. package/packages/charts/src/components/Axis/_internal/styles.js +51 -0
  26. package/packages/charts/src/components/Axis/_internal/styles.js.map +1 -0
  27. package/packages/charts/src/components/Axis/_internal/types.js +24 -0
  28. package/packages/charts/src/components/Axis/_internal/types.js.map +1 -0
  29. package/packages/charts/src/components/Bar/_internal/Bar.js +4 -0
  30. package/{_internal → packages/charts/src/components/Bar/_internal}/Bar.js.map +1 -1
  31. package/{_internal → packages/charts/src/components/Bar/_internal}/Bar2.js +9 -84
  32. package/packages/charts/src/components/Bar/_internal/Bar2.js.map +1 -0
  33. package/packages/charts/src/components/Bar/_internal/styles.js +66 -0
  34. package/packages/charts/src/components/Bar/_internal/styles.js.map +1 -0
  35. package/packages/charts/src/components/Bar/_internal/types.js +18 -0
  36. package/packages/charts/src/components/Bar/_internal/types.js.map +1 -0
  37. package/packages/charts/src/components/BarChart/_internal/BarChart.js +4 -0
  38. package/{_internal → packages/charts/src/components/BarChart/_internal}/BarChart.js.map +1 -1
  39. package/packages/charts/src/components/BarChart/_internal/BarChart2.js +141 -0
  40. package/packages/charts/src/components/BarChart/_internal/BarChart2.js.map +1 -0
  41. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js +168 -0
  42. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js.map +1 -0
  43. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js +139 -0
  44. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js.map +1 -0
  45. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js +57 -0
  46. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js.map +1 -0
  47. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js +18 -0
  48. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js.map +1 -0
  49. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js +549 -0
  50. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js.map +1 -0
  51. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js +236 -0
  52. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js.map +1 -0
  53. package/packages/charts/src/components/BarChart/_internal/context.js +13 -0
  54. package/packages/charts/src/components/BarChart/_internal/context.js.map +1 -0
  55. package/packages/charts/src/components/BarChart/_internal/styles.js +71 -0
  56. package/packages/charts/src/components/BarChart/_internal/styles.js.map +1 -0
  57. package/packages/charts/src/components/BarChart/_internal/types.js +17 -0
  58. package/packages/charts/src/components/BarChart/_internal/types.js.map +1 -0
  59. package/packages/charts/src/components/BarChart/_internal/utils.js +69 -0
  60. package/packages/charts/src/components/BarChart/_internal/utils.js.map +1 -0
  61. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js +17 -0
  62. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js.map +1 -0
  63. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js +17 -0
  64. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js.map +1 -0
  65. package/packages/charts/src/components/BarChart/intl/index.js +10 -0
  66. package/packages/charts/src/components/BarChart/intl/index.js.map +1 -0
  67. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer.js +3 -0
  68. package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer.js.map +1 -1
  69. package/{_internal → packages/charts/src/components/ChartContainer/_internal}/ChartContainer2.js +5 -104
  70. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer2.js.map +1 -0
  71. package/packages/charts/src/components/ChartContainer/_internal/context.js +6 -0
  72. package/packages/charts/src/components/ChartContainer/_internal/context.js.map +1 -0
  73. package/packages/charts/src/components/ChartContainer/_internal/styles.js +76 -0
  74. package/packages/charts/src/components/ChartContainer/_internal/styles.js.map +1 -0
  75. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js +14 -0
  76. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js.map +1 -0
  77. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js +14 -0
  78. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js.map +1 -0
  79. package/packages/charts/src/components/ChartContainer/intl/index.js +10 -0
  80. package/packages/charts/src/components/ChartContainer/intl/index.js.map +1 -0
  81. package/packages/charts/src/components/DataPoint/_internal/DataPoint.js +3 -0
  82. package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint.js.map +1 -1
  83. package/{_internal → packages/charts/src/components/DataPoint/_internal}/DataPoint2.js +4 -10
  84. package/packages/charts/src/components/DataPoint/_internal/DataPoint2.js.map +1 -0
  85. package/packages/charts/src/components/DataPoint/_internal/styles.js +10 -0
  86. package/packages/charts/src/components/DataPoint/_internal/styles.js.map +1 -0
  87. package/packages/charts/src/components/Dot/_internal/Dot.js +4 -0
  88. package/{_internal → packages/charts/src/components/Dot/_internal}/Dot.js.map +1 -1
  89. package/{_internal → packages/charts/src/components/Dot/_internal}/Dot2.js +5 -60
  90. package/packages/charts/src/components/Dot/_internal/Dot2.js.map +1 -0
  91. package/packages/charts/src/components/Dot/_internal/styles.js +49 -0
  92. package/packages/charts/src/components/Dot/_internal/styles.js.map +1 -0
  93. package/packages/charts/src/components/Dot/_internal/types.js +14 -0
  94. package/packages/charts/src/components/Dot/_internal/types.js.map +1 -0
  95. package/packages/charts/src/components/Legend/_internal/Legend.js +3 -0
  96. package/{_internal → packages/charts/src/components/Legend/_internal}/Legend.js.map +1 -1
  97. package/{_internal/Legend3.js → packages/charts/src/components/Legend/_internal/Legend2.js} +6 -17
  98. package/packages/charts/src/components/Legend/_internal/Legend2.js.map +1 -0
  99. package/packages/charts/src/components/Legend/_internal/styles.js +15 -0
  100. package/packages/charts/src/components/Legend/_internal/styles.js.map +1 -0
  101. package/packages/charts/src/components/LegendItem/_internal/LegendItem.js +3 -0
  102. package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem.js.map +1 -1
  103. package/{_internal → packages/charts/src/components/LegendItem/_internal}/LegendItem2.js +6 -63
  104. package/packages/charts/src/components/LegendItem/_internal/LegendItem2.js.map +1 -0
  105. package/packages/charts/src/components/LegendItem/_internal/styles.js +63 -0
  106. package/packages/charts/src/components/LegendItem/_internal/styles.js.map +1 -0
  107. package/packages/charts/src/components/Line/_internal/Line.js +3 -0
  108. package/{_internal → packages/charts/src/components/Line/_internal}/Line.js.map +1 -1
  109. package/{_internal → packages/charts/src/components/Line/_internal}/Line2.js +7 -11
  110. package/packages/charts/src/components/Line/_internal/Line2.js.map +1 -0
  111. package/packages/charts/src/components/Line/_internal/styles.js +9 -0
  112. package/packages/charts/src/components/Line/_internal/styles.js.map +1 -0
  113. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js +58 -0
  114. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js.map +1 -0
  115. package/packages/charts/src/components/LineChart/_internal/LineChart.js +4 -0
  116. package/{_internal → packages/charts/src/components/LineChart/_internal}/LineChart.js.map +1 -1
  117. package/packages/charts/src/components/LineChart/_internal/LineChart2.js +96 -0
  118. package/packages/charts/src/components/LineChart/_internal/LineChart2.js.map +1 -0
  119. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js +18 -0
  120. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js.map +1 -0
  121. package/{_internal/LineChart2.js → packages/charts/src/components/LineChart/_internal/RenderedLineChart.js} +20 -317
  122. package/packages/charts/src/components/LineChart/_internal/RenderedLineChart.js.map +1 -0
  123. package/packages/charts/src/components/LineChart/_internal/styles.js +53 -0
  124. package/packages/charts/src/components/LineChart/_internal/styles.js.map +1 -0
  125. package/packages/charts/src/components/LineChart/_internal/types.js +17 -0
  126. package/packages/charts/src/components/LineChart/_internal/types.js.map +1 -0
  127. package/packages/charts/src/components/LineChart/_internal/utils.js +67 -0
  128. package/packages/charts/src/components/LineChart/_internal/utils.js.map +1 -0
  129. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js +17 -0
  130. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js.map +1 -0
  131. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js +17 -0
  132. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js.map +1 -0
  133. package/packages/charts/src/components/LineChart/intl/index.js +10 -0
  134. package/packages/charts/src/components/LineChart/intl/index.js.map +1 -0
  135. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js +85 -0
  136. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js.map +1 -0
  137. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js +18 -0
  138. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js.map +1 -0
  139. package/packages/charts/src/components/PieChart/_internal/PieChart.js +4 -0
  140. package/{_internal → packages/charts/src/components/PieChart/_internal}/PieChart.js.map +1 -1
  141. package/packages/charts/src/components/PieChart/_internal/PieChart2.js +98 -0
  142. package/packages/charts/src/components/PieChart/_internal/PieChart2.js.map +1 -0
  143. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js +198 -0
  144. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js.map +1 -0
  145. package/packages/charts/src/components/PieChart/_internal/styles.js +168 -0
  146. package/packages/charts/src/components/PieChart/_internal/styles.js.map +1 -0
  147. package/packages/charts/src/components/PieChart/_internal/types.js +27 -0
  148. package/packages/charts/src/components/PieChart/_internal/types.js.map +1 -0
  149. package/packages/charts/src/components/PieChart/_internal/utils.js +37 -0
  150. package/packages/charts/src/components/PieChart/_internal/utils.js.map +1 -0
  151. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js +9 -0
  152. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js.map +1 -0
  153. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js +9 -0
  154. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js.map +1 -0
  155. package/packages/charts/src/components/PieChart/intl/index.js +10 -0
  156. package/packages/charts/src/components/PieChart/intl/index.js.map +1 -0
  157. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js +58 -0
  158. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js.map +1 -0
  159. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js +18 -0
  160. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js.map +1 -0
  161. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js +354 -0
  162. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js.map +1 -0
  163. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot.js +4 -0
  164. package/{_internal → packages/charts/src/components/ScatterPlot/_internal}/ScatterPlot.js.map +1 -1
  165. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js +105 -0
  166. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js.map +1 -0
  167. package/packages/charts/src/components/ScatterPlot/_internal/styles.js +53 -0
  168. package/packages/charts/src/components/ScatterPlot/_internal/styles.js.map +1 -0
  169. package/packages/charts/src/components/ScatterPlot/_internal/types.js +24 -0
  170. package/packages/charts/src/components/ScatterPlot/_internal/types.js.map +1 -0
  171. package/packages/charts/src/components/ScatterPlot/_internal/utils.js +70 -0
  172. package/packages/charts/src/components/ScatterPlot/_internal/utils.js.map +1 -0
  173. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js +12 -0
  174. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js.map +1 -0
  175. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js +17 -0
  176. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js.map +1 -0
  177. package/packages/charts/src/components/ScatterPlot/intl/index.js +10 -0
  178. package/packages/charts/src/components/ScatterPlot/intl/index.js.map +1 -0
  179. package/packages/charts/src/hooks/_internal/useBrush.js +48 -0
  180. package/packages/charts/src/hooks/_internal/useBrush.js.map +1 -0
  181. package/packages/charts/src/hooks/_internal/useColor.js +20 -0
  182. package/packages/charts/src/hooks/_internal/useColor.js.map +1 -0
  183. package/{_internal → packages/charts/src/hooks/_internal}/useFormatCategoricalData.js +4 -3
  184. package/packages/charts/src/hooks/_internal/useFormatCategoricalData.js.map +1 -0
  185. package/packages/charts/src/hooks/_internal/useZoom.js +39 -0
  186. package/packages/charts/src/hooks/_internal/useZoom.js.map +1 -0
  187. package/packages/charts/src/index.js +43 -0
  188. package/packages/charts/src/index.js.map +1 -0
  189. package/{_internal/legend2.js → packages/charts/src/types/_internal/legend.js} +2 -2
  190. package/packages/charts/src/types/_internal/legend.js.map +1 -0
  191. package/packages/charts/src/types/_internal/size.js +8 -0
  192. package/packages/charts/src/types/_internal/size.js.map +1 -0
  193. package/packages/charts/src/types/_internal/theme.js +13 -0
  194. package/packages/charts/src/types/_internal/theme.js.map +1 -0
  195. package/{_internal/theme.js → packages/charts/src/utils/index.js} +2 -37
  196. package/packages/charts/src/utils/index.js.map +1 -0
  197. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js +4 -0
  198. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js.map +1 -0
  199. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js +4 -0
  200. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js.map +1 -0
  201. package/packages/icons/src/components/mdi/_internal/mdiMouse.js +4 -0
  202. package/packages/icons/src/components/mdi/_internal/mdiMouse.js.map +1 -0
  203. package/_internal/Arc.js +0 -2
  204. package/_internal/Arc2.js.map +0 -1
  205. package/_internal/Arcs.js +0 -2
  206. package/_internal/Arcs2.js.map +0 -1
  207. package/_internal/Axis.js +0 -2
  208. package/_internal/Axis2.js.map +0 -1
  209. package/_internal/Bar.js +0 -2
  210. package/_internal/Bar2.js.map +0 -1
  211. package/_internal/BarChart.js +0 -2
  212. package/_internal/BarChart2.js +0 -1419
  213. package/_internal/BarChart2.js.map +0 -1
  214. package/_internal/ChartContainer.js +0 -2
  215. package/_internal/ChartContainer2.js.map +0 -1
  216. package/_internal/DataPoint.js +0 -2
  217. package/_internal/DataPoint2.js.map +0 -1
  218. package/_internal/Dot.js +0 -2
  219. package/_internal/Dot2.js.map +0 -1
  220. package/_internal/Legend.js +0 -2
  221. package/_internal/Legend3.js.map +0 -1
  222. package/_internal/LegendItem.js +0 -2
  223. package/_internal/LegendItem2.js.map +0 -1
  224. package/_internal/Line.js +0 -2
  225. package/_internal/Line2.js.map +0 -1
  226. package/_internal/LineChart.js +0 -2
  227. package/_internal/LineChart2.js.map +0 -1
  228. package/_internal/PieChart.js +0 -2
  229. package/_internal/PieChart2.js +0 -605
  230. package/_internal/PieChart2.js.map +0 -1
  231. package/_internal/ScatterPlot.js +0 -2
  232. package/_internal/ScatterPlot2.js +0 -740
  233. package/_internal/ScatterPlot2.js.map +0 -1
  234. package/_internal/config.js +0 -13
  235. package/_internal/config.js.map +0 -1
  236. package/_internal/legend2.js.map +0 -1
  237. package/_internal/scheme.js.map +0 -1
  238. package/_internal/theme.js.map +0 -1
  239. package/_internal/useFormatCategoricalData.js.map +0 -1
  240. package/index.js +0 -18
  241. package/index.js.map +0 -1
  242. package/index2.js +0 -16
  243. package/index2.js.map +0 -1
  244. /package/{_internal → _virtual/_internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -0,0 +1,549 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef, useMemo, useEffect } from 'react';
3
+ import { extent, scaleLinear, scaleUtc, scalePoint, utcParse, scaleLog } from 'd3';
4
+ import { useTheme, useMessageFormatter, isComponent, Flexbox } from '@redsift/design-system';
5
+ import intlMessages from '../intl/index.js';
6
+ import { BarChartLegendVariant } from './types.js';
7
+ import { StyledBarChart } from './styles.js';
8
+ import { sizeToDimension, statsBy } from './utils.js';
9
+ import { isValidDate, getSortingMethod, mergeLegends } from '../../../utils/index.js';
10
+ import { BarChartContext } from './context.js';
11
+ import { ChartTypeContext } from '../../ChartContainer/_internal/context.js';
12
+ import { BarChartBars } from './BarChartBars.js';
13
+ import { BarDirection } from '../../Bar/_internal/types.js';
14
+ import { useColor } from '../../../hooks/_internal/useColor.js';
15
+ import { getAxisType, Axis } from '../../Axis/_internal/Axis2.js';
16
+ import { Legend } from '../../Legend/_internal/Legend2.js';
17
+ import { AxisVariant } from '../../Axis/_internal/types.js';
18
+ import { LegendVariant } from '../../../types/_internal/legend.js';
19
+
20
+ const _excluded = ["barProps", "children", "className", "data", "direction", "disableAnimations", "id", "getBarAnchorProps", "isBarSelected", "labelDecorator", "legendDecorator", "legendVariant", "legendProps", "margins", "onBarClick", "size", "sortingMethod", "barRole", "colorTheme", "tooltipVariant", "tooltipDecorator", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "xAxisMinValue", "xAxisMaxValue", "xAxisTickRemodelling", "xAxisStartDateOffset", "xAxisEndDateOffset", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues", "yAxisMinValue", "yAxisMaxValue", "yAxisTickRemodelling", "xScaleType", "yScaleLogBase", "dateParser"],
21
+ _excluded2 = ["extraLegendItems"];
22
+ const COMPONENT_TYPES = {
23
+ AXES: 'Axis',
24
+ SECTIONS: 'BarChartSection',
25
+ BARS: 'BarChartBars',
26
+ LEGENDS: 'Legend'
27
+ };
28
+ const getComponentPosition = child => {
29
+ var _child$type;
30
+ if (! /*#__PURE__*/React__default.isValidElement(child)) return null;
31
+ const displayName = (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName;
32
+ if (COMPONENT_TYPES.AXES === displayName) return 'axes';
33
+ if (COMPONENT_TYPES.SECTIONS === displayName) return 'sections';
34
+ if (COMPONENT_TYPES.BARS === displayName) return 'bars';
35
+ if (COMPONENT_TYPES.LEGENDS === displayName) return 'legend';
36
+ return null;
37
+ };
38
+ const getKey = datum => Array.isArray(datum.key) ? datum.key[0] : datum.key;
39
+ const filterData = (hasCategory, data, filterFn) => {
40
+ if (hasCategory) {
41
+ return data.filter(filterFn);
42
+ }
43
+ return data.filter(filterFn);
44
+ };
45
+ const reduceData = (hasCategory, data, reduceFn, initialValue) => {
46
+ if (hasCategory) {
47
+ return data.reduce(reduceFn, initialValue);
48
+ }
49
+ return data.reduce(reduceFn, initialValue);
50
+ };
51
+ const isSameKey = (key, previousKey, xScaleType) => xScaleType === 'Date' || xScaleType === 'dateString' ? key.getTime() === previousKey.getTime() : key === previousKey;
52
+ const RenderedLinearBarChart = /*#__PURE__*/forwardRef((props, ref) => {
53
+ var _chartDimensions$maxW, _chartDimensions$minW;
54
+ const {
55
+ barProps,
56
+ children,
57
+ className,
58
+ data: propsData,
59
+ direction = BarDirection.up,
60
+ disableAnimations,
61
+ id,
62
+ getBarAnchorProps,
63
+ isBarSelected,
64
+ labelDecorator,
65
+ legendDecorator,
66
+ legendVariant,
67
+ legendProps,
68
+ margins: propsMargins,
69
+ onBarClick,
70
+ size,
71
+ sortingMethod: propsSortingMethod,
72
+ barRole,
73
+ colorTheme,
74
+ tooltipVariant,
75
+ tooltipDecorator,
76
+ xAxisVariant: propsXAxisVariant,
77
+ xAxisPlacement,
78
+ xAxisTickFormat: propsXAxisTickFormat,
79
+ xAxisTickPadding,
80
+ xAxisTickRotation,
81
+ xAxisTickSize,
82
+ xAxisTickValues,
83
+ xAxisMinValue,
84
+ xAxisMaxValue,
85
+ xAxisTickRemodelling,
86
+ xAxisStartDateOffset = -1,
87
+ xAxisEndDateOffset = 1,
88
+ yAxisVariant: propsYAxisVariant,
89
+ yAxisPlacement,
90
+ yAxisTickFormat,
91
+ yAxisTickPadding,
92
+ yAxisTickRotation,
93
+ yAxisTickSize,
94
+ yAxisTickValues,
95
+ yAxisMinValue,
96
+ yAxisMaxValue,
97
+ yAxisTickRemodelling,
98
+ xScaleType: propsXScaleType,
99
+ yScaleLogBase,
100
+ dateParser
101
+ } = props,
102
+ forwardedProps = _objectWithoutProperties(props, _excluded);
103
+ const cache = useRef();
104
+ const theme = useTheme();
105
+ const format = useMessageFormatter(intlMessages);
106
+ const hasCategory = propsData[0] && Array.isArray(propsData[0].key) && propsData[0].key.length >= 2 && propsData[0].key[1] !== null && propsData[0].key[1] !== undefined;
107
+ const sections = useMemo(() => {
108
+ const sectionList = [];
109
+ React__default.Children.forEach(children, child => {
110
+ if (isComponent('BarChartSection')(child)) {
111
+ const categories = React__default.Children.toArray(child.props.children).filter(c => isComponent('BarChartBars')(c)).map(c => c.props.category);
112
+ sectionList.push(categories);
113
+ }
114
+ });
115
+ return sectionList;
116
+ }, [children]);
117
+ const hasSections = sections.length > 0;
118
+ const sortingMethod = hasSections ? sections.flat() : propsSortingMethod;
119
+ const xScaleType = propsXScaleType ? propsXScaleType : getKey(propsData[0]) instanceof Date ? 'Date' : typeof getKey(propsData[0]) === 'number' ? 'number' : typeof getKey(propsData[0]) === 'string' && isValidDate(getKey(propsData[0])) ? 'dateString' : undefined;
120
+ const data = xScaleType === 'number' ? filterData(hasCategory, propsData, datum => typeof getKey(datum) === 'number' && !Number.isNaN(getKey(datum))) : xScaleType === 'dateString' ? filterData(hasCategory, propsData, datum => isValidDate(getKey(datum))) : xScaleType === 'Date' ? filterData(hasCategory, propsData, datum => getKey(datum) instanceof Date) : propsData;
121
+ useEffect(() => {
122
+ cache.current = data;
123
+ });
124
+ const svgRef = useRef();
125
+ const xAxisVariant = propsXAxisVariant ? propsXAxisVariant : AxisVariant.tickValue;
126
+ const yAxisVariant = propsYAxisVariant ? propsYAxisVariant : AxisVariant.default;
127
+ const chartDimensions = sizeToDimension(size);
128
+ const width = Math.max(Math.min(chartDimensions.width, (_chartDimensions$maxW = chartDimensions.maxWidth) !== null && _chartDimensions$maxW !== void 0 ? _chartDimensions$maxW : Infinity), (_chartDimensions$minW = chartDimensions.minWidth) !== null && _chartDimensions$minW !== void 0 ? _chartDimensions$minW : -Infinity);
129
+ const height = chartDimensions.height;
130
+ const margins = _objectSpread2({
131
+ top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,
132
+ left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,
133
+ right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,
134
+ bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8
135
+ }, propsMargins);
136
+ const chartHeight = height - margins.top - margins.bottom;
137
+ const chartWidth = width - margins.left - margins.right;
138
+ const numberOfBars = filterData(hasCategory, data, datum => datum.value).length;
139
+ const gap = 5;
140
+ let barWidth = chartWidth / (numberOfBars * 2) - gap;
141
+ const scaleX = (() => {
142
+ if (xScaleType === 'number') {
143
+ var _ref, _ref2;
144
+ const domain = extent(data, d => getKey(d));
145
+ domain[0] = (_ref = xAxisMinValue) !== null && _ref !== void 0 ? _ref : domain[0];
146
+ domain[1] = (_ref2 = xAxisMaxValue) !== null && _ref2 !== void 0 ? _ref2 : domain[1];
147
+ const gap = domain[1] - domain[0];
148
+ domain[0] -= gap * 0.1;
149
+ domain[1] += gap * 0.1;
150
+ return scaleLinear().domain(domain).range([0, chartWidth]).nice();
151
+ } else if (xScaleType === 'dateString' || xScaleType === 'Date') {
152
+ var _ref3, _ref4;
153
+ const domain = xScaleType === 'dateString' ? extent(data, d => Date.parse(getKey(d))) : extent(data, d => getKey(d).valueOf());
154
+ domain[0] = (_ref3 = xAxisMinValue) !== null && _ref3 !== void 0 ? _ref3 : domain[0];
155
+ domain[1] = (_ref4 = xAxisMaxValue) !== null && _ref4 !== void 0 ? _ref4 : domain[1];
156
+ const startDate = xAxisTickValues && typeof xAxisTickValues === 'function' && typeof xAxisTickValues.offset === 'function' ? xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset) : new Date(domain[0]);
157
+ const endDate = xAxisTickValues && typeof xAxisTickValues === 'function' && typeof xAxisTickValues.offset === 'function' ? xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset) : new Date(domain[1]);
158
+ return barProps !== null && barProps !== void 0 && barProps.width && typeof barProps.width === 'number' ? scaleUtc().domain([startDate, endDate]).range([barProps.width / 2 + 10, chartWidth - (barProps.width / 2 + 5)]) : scaleUtc().domain([startDate, endDate]).range([barWidth, chartWidth - barWidth]).nice();
159
+ } else {
160
+ var _ref5, _ref6;
161
+ const domain = xAxisTickValues && Array.isArray(xAxisTickValues) ? xAxisTickValues : data.map(d => getKey(d));
162
+ domain[0] = (_ref5 = xAxisMinValue) !== null && _ref5 !== void 0 ? _ref5 : domain[0];
163
+ domain[1] = (_ref6 = xAxisMaxValue) !== null && _ref6 !== void 0 ? _ref6 : domain[1];
164
+ return scalePoint().domain(domain).range([0, chartWidth]);
165
+ }
166
+ })();
167
+ const xAxisTickFormat = propsXAxisTickFormat !== null && propsXAxisTickFormat !== void 0 ? propsXAxisTickFormat : xScaleType === 'Date' || xScaleType === 'dateString' ? scaleX.tickFormat() : undefined;
168
+ const statsByCategory = statsBy(data, sortingMethod);
169
+ const colorScale = useColor({
170
+ data: statsByCategory,
171
+ colorTheme: colorTheme,
172
+ category: d => d.key,
173
+ theme
174
+ });
175
+ const bars = reduceData(hasCategory, filterData(hasCategory, data.sort((a, b) => {
176
+ const currentKeyA = hasCategory ? a.key[0] : a.key;
177
+ const currentKeyB = hasCategory ? b.key[0] : b.key;
178
+ if (xScaleType === 'number') {
179
+ if (currentKeyA < currentKeyB) return -1;
180
+ if (currentKeyA > currentKeyB) return 1;
181
+ } else if (xScaleType === 'dateString') {
182
+ if (Date.parse(currentKeyA) < Date.parse(currentKeyB)) return -1;
183
+ if (Date.parse(currentKeyA) > Date.parse(currentKeyB)) return 1;
184
+ } else if (xScaleType === 'Date') {
185
+ if (currentKeyA.valueOf() < currentKeyB.valueOf()) return -1;
186
+ if (currentKeyA.valueOf() > currentKeyB.valueOf()) return 1;
187
+ } else if (xScaleType === 'string' && xAxisTickValues && Array.isArray(xAxisTickValues)) {
188
+ if (xAxisTickValues.indexOf(currentKeyA) < xAxisTickValues.indexOf(currentKeyB)) return -1;
189
+ if (xAxisTickValues.indexOf(currentKeyA) > xAxisTickValues.indexOf(currentKeyB)) return 1;
190
+ }
191
+ return hasCategory ? getSortingMethod(sortingMethod !== null && sortingMethod !== void 0 ? sortingMethod : 'asc-key')({
192
+ key: a.key[1],
193
+ value: a.value
194
+ }, {
195
+ key: b.key[1],
196
+ value: b.value
197
+ }) : 0;
198
+ }), d => d.value !== null), (previousValue, currentValue, currentIndex) => {
199
+ var _key$;
200
+ const currentKeyD = hasCategory ? currentValue.key[0] : currentValue.key;
201
+ const formattedKeyD = xScaleType === 'dateString' ? dateParser ? dateParser(currentKeyD) : utcParse('%Y-%m-%d')(currentKeyD) : currentKeyD;
202
+ const category = hasCategory ? (_key$ = currentValue.key[1]) !== null && _key$ !== void 0 ? _key$ : 'default' : 'default';
203
+ const isSameSection = !hasSections ? true : (() => {
204
+ var _previousValue;
205
+ const findSectionIndex = cat => sections.findIndex(section => section.includes(cat));
206
+ const currentSection = findSectionIndex(category);
207
+ const prevSection = findSectionIndex((_previousValue = previousValue[currentIndex - 1]) === null || _previousValue === void 0 ? void 0 : _previousValue.category);
208
+ return currentSection !== -1 && currentSection === prevSection;
209
+ })();
210
+ previousValue.push({
211
+ category,
212
+ key: formattedKeyD,
213
+ value: currentValue.value,
214
+ cumulativeValue: currentValue.value
215
+ });
216
+ if (hasCategory && currentIndex > 0 && isSameKey(formattedKeyD, previousValue[currentIndex - 1].key, xScaleType) && isSameSection) {
217
+ previousValue[currentIndex].cumulativeValue = previousValue[currentIndex].cumulativeValue + previousValue[currentIndex - 1].cumulativeValue;
218
+ }
219
+ return previousValue;
220
+ }, []).filter(bar => yScaleLogBase === undefined || bar.cumulativeValue !== 0);
221
+ const getScaleY = function (direction) {
222
+ var _ref7, _ref8;
223
+ let from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
224
+ let to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
225
+ let categories = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ['default'];
226
+ let hasSectionTitle = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
227
+ const domain = extent(bars.filter(bar => categories.includes(bar.category)), d => d.cumulativeValue);
228
+ domain[0] = (_ref7 = yAxisMinValue) !== null && _ref7 !== void 0 ? _ref7 : domain[0];
229
+ domain[1] = (_ref8 = yAxisMaxValue) !== null && _ref8 !== void 0 ? _ref8 : domain[1] * (hasSectionTitle ? 1.2 : 1);
230
+ if (domain[1] === 0 && domain[0] === 0) {
231
+ domain[1] = 1;
232
+ }
233
+ return (yScaleLogBase ? scaleLog().clamp(true).base(yScaleLogBase) : scaleLinear()).domain(domain).range(direction === 'down' ? [0, chartHeight * to - chartHeight * from] : [chartHeight * to - chartHeight * from, 0]).nice();
234
+ };
235
+ if (xScaleType) {
236
+ const minimalGap = Math.min(...bars.map((bar, i) => i > 0 ? Math.abs(bar.key - bars[i - 1].key) : undefined).filter(k => k)) * 0.9;
237
+ barWidth = Math.min(barWidth, chartWidth / ((scaleX.domain()[1] - scaleX.domain()[0]) / minimalGap), chartWidth / (xAxisTickValues && typeof xAxisTickValues !== 'string' ? typeof xAxisTickValues === 'number' ? xAxisTickValues : Array.isArray(xAxisTickValues) ? xAxisTickValues.length : xAxisTickValues.range(scaleX.domain()[0], scaleX.domain()[1]).length : 1));
238
+ }
239
+ const categories = sortingMethod && Array.isArray(sortingMethod) ? sortingMethod : [];
240
+ const pivotedTable = bars.reduce((acc, item) => {
241
+ const {
242
+ key,
243
+ category,
244
+ value
245
+ } = item;
246
+ if (!categories.includes(category)) {
247
+ categories.push(category);
248
+ }
249
+ const formattedKey = xAxisTickFormat ? xAxisTickFormat(key) : key.toString();
250
+ let entry = acc.find(e => e.key === formattedKey);
251
+ if (!entry) {
252
+ entry = {
253
+ key: formattedKey
254
+ };
255
+ acc.push(entry);
256
+ }
257
+ entry[category] = value;
258
+ return acc;
259
+ }, []);
260
+ const scaleY = getScaleY(direction, 0, 1, categories);
261
+ const _ref9 = legendProps || {},
262
+ {
263
+ extraLegendItems
264
+ } = _ref9,
265
+ forwardedLegendProps = _objectWithoutProperties(_ref9, _excluded2);
266
+ const {
267
+ axisComponents,
268
+ sectionComponents,
269
+ barsComponents,
270
+ legendComponents,
271
+ titleComponent,
272
+ descriptionComponent,
273
+ multipleScaleY
274
+ } = useMemo(() => {
275
+ const axisComponents = [];
276
+ const sectionComponents = [];
277
+ const barsComponents = [];
278
+ const legendComponents = [];
279
+ let titleComponent;
280
+ let descriptionComponent;
281
+ const multipleScaleY = [];
282
+ React__default.Children.forEach(children, (child, index) => {
283
+ const position = getComponentPosition(child);
284
+ if (isComponent('ChartContainerTitle')(child)) {
285
+ titleComponent = child;
286
+ }
287
+ if (isComponent('ChartContainerDescription')(child)) {
288
+ descriptionComponent = child;
289
+ }
290
+ if (!position || ! /*#__PURE__*/React__default.isValidElement(child)) return;
291
+ let enhancedChild = child;
292
+ if (isComponent('BarChartSection')(child)) {
293
+ const categories = React__default.Children.toArray(child.props.children).filter(c => isComponent('BarChartBars')(c)).map(c => c.props.category);
294
+ const scaleY = getScaleY(child.props.direction || 'up', child.props.from, child.props.to, categories, child.props.title !== '');
295
+ multipleScaleY.push(scaleY);
296
+ enhancedChild = /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({
297
+ scaleX: scaleX,
298
+ scaleY: scaleY,
299
+ key: child.key || `section-${child.props.from}-${child.props.to}-${categories.join('-')}`
300
+ }, child.props));
301
+ }
302
+ if (isComponent('Axis')(child)) {
303
+ var _ref10;
304
+ const isX = getAxisType(child.props.position) === 'x';
305
+ enhancedChild = /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({
306
+ key: child.key || `axis-${child.props.position}-${index}`,
307
+ chartWidth,
308
+ chartHeight,
309
+ scale: isX ? scaleX : scaleY,
310
+ x: child.props.position === 'right' ? chartWidth : 0,
311
+ y: child.props.position === 'bottom' ? chartHeight : child.props.position === 'top' ? 0 : chartHeight,
312
+ disableAnimations,
313
+ length: isX ? chartWidth : chartHeight,
314
+ tickValues: (_ref10 = isX ? xAxisTickValues : yAxisTickValues) !== null && _ref10 !== void 0 ? _ref10 : 8,
315
+ tickPadding: isX ? xAxisTickPadding : yAxisTickPadding,
316
+ tickRotation: isX ? xAxisTickRotation : yAxisTickRotation,
317
+ tickSize: isX ? xAxisTickSize : yAxisTickSize,
318
+ tickFormat: isX ? xAxisTickFormat : yAxisTickFormat,
319
+ tickRemodelling: isX ? xAxisTickRemodelling : yAxisTickRemodelling,
320
+ variant: isX ? xAxisVariant : yAxisVariant
321
+ }, child.props));
322
+ }
323
+ if (isComponent('Legend')(child)) {
324
+ enhancedChild = /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({
325
+ key: child.key || `legend-${index}`,
326
+ data: (extraLegendItems ? mergeLegends(extraLegendItems, statsByCategory).sort(getSortingMethod(sortingMethod)) : statsByCategory).map(d => _objectSpread2(_objectSpread2({}, d), {}, {
327
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(d.key)
328
+ }))
329
+ }, child.props));
330
+ }
331
+ switch (position) {
332
+ case 'axes':
333
+ axisComponents.push(enhancedChild);
334
+ break;
335
+ case 'sections':
336
+ sectionComponents.push(enhancedChild);
337
+ break;
338
+ case 'bars':
339
+ barsComponents.push(enhancedChild);
340
+ break;
341
+ case 'legend':
342
+ legendComponents.push(enhancedChild);
343
+ break;
344
+ }
345
+ });
346
+ return {
347
+ axisComponents,
348
+ sectionComponents,
349
+ barsComponents,
350
+ legendComponents,
351
+ titleComponent,
352
+ descriptionComponent,
353
+ multipleScaleY
354
+ };
355
+ }, [children]);
356
+ return /*#__PURE__*/React__default.createElement(ChartTypeContext.Provider, {
357
+ value: "bar"
358
+ }, /*#__PURE__*/React__default.createElement(BarChartContext.Provider, {
359
+ value: {
360
+ barProps,
361
+ barRole,
362
+ bars: bars,
363
+ barWidth,
364
+ cache,
365
+ categories,
366
+ chartHeight,
367
+ chartWidth,
368
+ colorScale,
369
+ direction,
370
+ disableAnimations,
371
+ format,
372
+ gap,
373
+ getBarAnchorProps,
374
+ hasCategory,
375
+ id,
376
+ isBarSelected,
377
+ labelDecorator,
378
+ margins,
379
+ onBarClick,
380
+ scaleX,
381
+ scaleY,
382
+ tooltipVariant,
383
+ tooltipDecorator,
384
+ xAxisTickFormat,
385
+ xAxisTickPadding,
386
+ xAxisTickRemodelling,
387
+ xAxisTickRotation,
388
+ xAxisTickSize,
389
+ xAxisTickValues,
390
+ xAxisVariant,
391
+ xScaleType,
392
+ yAxisTickValues,
393
+ yAxisTickPadding,
394
+ yAxisTickRotation,
395
+ yAxisTickSize,
396
+ yAxisTickFormat,
397
+ yAxisTickRemodelling,
398
+ yAxisVariant
399
+ }
400
+ }, /*#__PURE__*/React__default.createElement(StyledBarChart, _extends({
401
+ mode: typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? 'interactive' : 'static',
402
+ definition: hasCategory ? format('definition-linear-with-categories', {
403
+ categoryLength: categories.length,
404
+ barLength: bars.length
405
+ }) : format('definition-linear', {
406
+ barLength: bars.length
407
+ }),
408
+ xAxisDefinition: format(`x-axis-${xScaleType === 'number' ? 'numbers' : 'dates'}-definition`, {
409
+ numAxis: xAxisPlacement === 'both' ? 2 : 1,
410
+ start: xAxisTickFormat ? xAxisTickFormat(scaleX.domain()[0]) : scaleX.domain()[0],
411
+ end: xAxisTickFormat ? xAxisTickFormat(scaleX.domain()[1]) : scaleX.domain()[1]
412
+ }),
413
+ yAxisDefinition: multipleScaleY.length > 0 ? multipleScaleY.map(scale => format('y-axis-numbers-definition', {
414
+ numAxis: yAxisPlacement === 'both' ? 2 : 1,
415
+ start: scale.domain()[0],
416
+ end: scale.domain()[1]
417
+ })).join(' ') : format('y-axis-numbers-definition', {
418
+ numAxis: yAxisPlacement === 'both' ? 2 : 1,
419
+ start: scaleY.domain()[0],
420
+ end: scaleY.domain()[1]
421
+ }),
422
+ dataTableRepresentation: hasCategory ? {
423
+ header: /*#__PURE__*/React__default.createElement("thead", null, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("th", {
424
+ scope: "col"
425
+ }, xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'), categories.map(category => /*#__PURE__*/React__default.createElement("th", {
426
+ key: category,
427
+ scope: "col"
428
+ }, category)))),
429
+ body: /*#__PURE__*/React__default.createElement("tbody", null, pivotedTable.map(row => /*#__PURE__*/React__default.createElement("tr", {
430
+ key: row.key
431
+ }, /*#__PURE__*/React__default.createElement("th", {
432
+ scope: "row"
433
+ }, row.key), categories.map(category => /*#__PURE__*/React__default.createElement("th", {
434
+ key: `${row.key}-${category}-${row[category]}`,
435
+ scope: "col"
436
+ }, row[category])))))
437
+ } : {
438
+ header: /*#__PURE__*/React__default.createElement("thead", null, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("th", {
439
+ scope: "col"
440
+ }, xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'), /*#__PURE__*/React__default.createElement("th", {
441
+ scope: "col"
442
+ }, "Value"))),
443
+ body: /*#__PURE__*/React__default.createElement("tbody", null, bars.map(datum => {
444
+ const key = xAxisTickFormat ? xAxisTickFormat(datum.key) : datum.key.toString();
445
+ return /*#__PURE__*/React__default.createElement("tr", {
446
+ key: key
447
+ }, /*#__PURE__*/React__default.createElement("th", {
448
+ scope: "row"
449
+ }, key), /*#__PURE__*/React__default.createElement("td", null, datum.value));
450
+ }))
451
+ },
452
+ title: titleComponent,
453
+ description: descriptionComponent
454
+ }, forwardedProps, {
455
+ id: id,
456
+ className: className,
457
+ ref: ref
458
+ }), /*#__PURE__*/React__default.createElement(Flexbox, {
459
+ flexDirection: "column",
460
+ alignItems: "center",
461
+ gap: "8"
462
+ }, /*#__PURE__*/React__default.createElement("svg", {
463
+ ref: svgRef,
464
+ width: width,
465
+ height: height,
466
+ "aria-label": typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? format('interactive-chart') : format('static-chart'),
467
+ "aria-hidden": "false"
468
+ }, axisComponents.length === 0 && sectionComponents.length === 0 ? /*#__PURE__*/React__default.createElement("g", {
469
+ transform: `translate(${margins.left},${margins.top})`,
470
+ "aria-hidden": "true"
471
+ }, ['bottom', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
472
+ disableAnimations: disableAnimations,
473
+ position: "bottom",
474
+ length: chartWidth,
475
+ scale: scaleX,
476
+ x: 0,
477
+ y: chartHeight,
478
+ tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 8,
479
+ tickPadding: xAxisTickPadding,
480
+ tickRotation: xAxisTickRotation,
481
+ tickSize: xAxisTickSize,
482
+ tickFormat: xAxisTickFormat,
483
+ tickRemodelling: xAxisTickRemodelling,
484
+ variant: xAxisVariant
485
+ }) : null, ['top', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
486
+ disableAnimations: disableAnimations,
487
+ position: "top",
488
+ length: chartWidth,
489
+ scale: scaleX,
490
+ x: 0,
491
+ y: 0,
492
+ tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 8,
493
+ tickPadding: xAxisTickPadding,
494
+ tickRotation: xAxisTickRotation,
495
+ tickSize: xAxisTickSize,
496
+ tickFormat: xAxisTickFormat,
497
+ tickRemodelling: xAxisTickRemodelling,
498
+ variant: xAxisVariant
499
+ }) : null, ['left', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
500
+ disableAnimations: disableAnimations,
501
+ position: "left",
502
+ length: chartHeight,
503
+ scale: scaleY,
504
+ x: 0,
505
+ y: chartHeight,
506
+ tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 8,
507
+ tickPadding: yAxisTickPadding,
508
+ tickRotation: yAxisTickRotation,
509
+ tickSize: yAxisTickSize,
510
+ tickFormat: yAxisTickFormat,
511
+ tickRemodelling: yAxisTickRemodelling,
512
+ variant: yAxisVariant
513
+ }) : null, ['right', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
514
+ disableAnimations: disableAnimations,
515
+ position: "right",
516
+ length: chartHeight,
517
+ scale: scaleY,
518
+ x: chartWidth,
519
+ y: chartHeight,
520
+ tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 8,
521
+ tickPadding: yAxisTickPadding,
522
+ tickRotation: yAxisTickRotation,
523
+ tickSize: yAxisTickSize,
524
+ tickFormat: yAxisTickFormat,
525
+ tickRemodelling: yAxisTickRemodelling,
526
+ variant: yAxisVariant
527
+ }) : null) : /*#__PURE__*/React__default.createElement("g", {
528
+ transform: `translate(${margins.left},${margins.top})`,
529
+ "aria-hidden": "true"
530
+ }, axisComponents), sectionComponents, barsComponents.length === 0 && sectionComponents.length === 0 ? /*#__PURE__*/React__default.createElement("g", {
531
+ transform: `translate(${margins.left},${margins.top})`,
532
+ "aria-hidden": "true"
533
+ }, (hasSections ? sections : [categories]).map(section => section.map(category => /*#__PURE__*/React__default.createElement(BarChartBars, {
534
+ key: category,
535
+ category: category
536
+ }))), ' ') : /*#__PURE__*/React__default.createElement("g", {
537
+ transform: `translate(${margins.left},${margins.top})`,
538
+ "aria-hidden": "true"
539
+ }, barsComponents))), legendComponents.length === 0 && hasCategory && legendVariant !== BarChartLegendVariant.none ? /*#__PURE__*/React__default.createElement(Legend, _extends({
540
+ data: (extraLegendItems ? mergeLegends(extraLegendItems, statsByCategory).sort(getSortingMethod(sortingMethod)) : statsByCategory).map(d => _objectSpread2(_objectSpread2({}, d), {}, {
541
+ color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(d.key)
542
+ })),
543
+ variant: legendVariant === BarChartLegendVariant.externalLabelValue ? LegendVariant.value : legendVariant === BarChartLegendVariant.externalLabelPercent ? LegendVariant.percent : legendVariant === BarChartLegendVariant.externalLabel ? LegendVariant.label : LegendVariant.custom,
544
+ legendDecorator: legendDecorator ? (datum, props) => legendDecorator(datum, props) : undefined
545
+ }, forwardedLegendProps)) : legendComponents)));
546
+ });
547
+
548
+ export { COMPONENT_TYPES, RenderedLinearBarChart, getComponentPosition };
549
+ //# sourceMappingURL=RenderedLinearBarChart.js.map