@semcore/d3-chart 16.7.0-prerelease.1 → 16.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/lib/cjs/Area.js +11 -11
  2. package/lib/cjs/Axis.js +18 -16
  3. package/lib/cjs/Axis.js.map +1 -1
  4. package/lib/cjs/Bar.js +16 -16
  5. package/lib/cjs/Bubble.js +14 -14
  6. package/lib/cjs/CompactHorizontalBar.js +20 -20
  7. package/lib/cjs/CompactHorizontalBar.js.map +1 -1
  8. package/lib/cjs/Donut.js +9 -9
  9. package/lib/cjs/Dots.js +8 -8
  10. package/lib/cjs/HorizontalBar.js +17 -17
  11. package/lib/cjs/HorizontalBar.js.map +1 -1
  12. package/lib/cjs/Hover.js +3 -3
  13. package/lib/cjs/Line.js +9 -9
  14. package/lib/cjs/Plot.js +6 -9
  15. package/lib/cjs/Plot.js.map +1 -1
  16. package/lib/cjs/Radar.js +19 -19
  17. package/lib/cjs/RadialTree.js +12 -12
  18. package/lib/cjs/RadialTree.js.map +1 -1
  19. package/lib/cjs/Reference.js +12 -12
  20. package/lib/cjs/ResponsiveContainer.js +2 -2
  21. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  22. package/lib/cjs/ScatterPlot.js +9 -9
  23. package/lib/cjs/StackBar.js +3 -8
  24. package/lib/cjs/StackBar.js.map +1 -1
  25. package/lib/cjs/Tooltip.js +18 -19
  26. package/lib/cjs/Tooltip.js.map +1 -1
  27. package/lib/cjs/Venn.js +12 -12
  28. package/lib/cjs/Venn.js.map +1 -1
  29. package/lib/cjs/a11y/PlotA11yModule.js +37 -79
  30. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  31. package/lib/cjs/a11y/PlotA11yView.js +39 -12
  32. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  33. package/lib/cjs/a11y/translations/module/de.json +2 -2
  34. package/lib/cjs/a11y/translations/module/en.json +2 -2
  35. package/lib/cjs/a11y/translations/module/es.json +2 -2
  36. package/lib/cjs/a11y/translations/module/fr.json +2 -2
  37. package/lib/cjs/a11y/translations/module/it.json +2 -2
  38. package/lib/cjs/a11y/translations/module/ja.json +2 -2
  39. package/lib/cjs/a11y/translations/module/ko.json +2 -2
  40. package/lib/cjs/a11y/translations/module/nl.json +2 -2
  41. package/lib/cjs/a11y/translations/module/pl.json +2 -2
  42. package/lib/cjs/a11y/translations/module/pt.json +2 -2
  43. package/lib/cjs/a11y/translations/module/sv.json +2 -2
  44. package/lib/cjs/a11y/translations/module/tr.json +2 -2
  45. package/lib/cjs/a11y/translations/module/vi.json +2 -2
  46. package/lib/cjs/a11y/translations/module/zh.json +2 -2
  47. package/lib/cjs/component/Chart/AbstractChart.js +9 -9
  48. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  49. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  50. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  51. package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -1
  52. package/lib/cjs/component/Chart/BarChart.js +66 -19
  53. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  54. package/lib/cjs/component/Chart/BarChart.type.js.map +1 -1
  55. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  56. package/lib/cjs/component/Chart/CigaretteChart.js +8 -8
  57. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  58. package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  59. package/lib/cjs/component/Chart/DonutChart.js +2 -2
  60. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  61. package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
  62. package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -1
  63. package/lib/cjs/component/Chart/LineChart.type.js.map +1 -1
  64. package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
  65. package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
  66. package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
  67. package/lib/cjs/component/ChartLegend/BaseLegend.js +1 -1
  68. package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  69. package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  70. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +6 -6
  71. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  72. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  73. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +23 -23
  74. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  75. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  76. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +9 -9
  77. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  78. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  79. package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
  80. package/lib/cjs/style/axis.shadow.css +3 -1
  81. package/lib/cjs/style/plot.shadow.css +1 -3
  82. package/lib/cjs/style/plotA11yModule.shadow.css +10 -11
  83. package/lib/cjs/style/plotA11yView.shadow.css +13 -26
  84. package/lib/cjs/types/Axis.d.js.map +1 -1
  85. package/lib/cjs/types/CompactHorizontalBar.d.js.map +1 -1
  86. package/lib/cjs/types/Hover.d.js.map +1 -1
  87. package/lib/cjs/types/Line.d.js.map +1 -1
  88. package/lib/cjs/types/Plot.d.js.map +1 -1
  89. package/lib/cjs/types/Radar.d.js.map +1 -1
  90. package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
  91. package/lib/cjs/types/Tooltip.d.js.map +1 -1
  92. package/lib/cjs/types/Venn.d.js.map +1 -1
  93. package/lib/cjs/utils.js.map +1 -1
  94. package/lib/es6/Area.js +11 -11
  95. package/lib/es6/Axis.js +18 -16
  96. package/lib/es6/Axis.js.map +1 -1
  97. package/lib/es6/Bar.js +16 -16
  98. package/lib/es6/Bubble.js +14 -14
  99. package/lib/es6/CompactHorizontalBar.js +17 -17
  100. package/lib/es6/CompactHorizontalBar.js.map +1 -1
  101. package/lib/es6/Donut.js +9 -9
  102. package/lib/es6/Dots.js +8 -8
  103. package/lib/es6/HorizontalBar.js +17 -17
  104. package/lib/es6/HorizontalBar.js.map +1 -1
  105. package/lib/es6/Hover.js +3 -3
  106. package/lib/es6/Line.js +9 -9
  107. package/lib/es6/Plot.js +5 -8
  108. package/lib/es6/Plot.js.map +1 -1
  109. package/lib/es6/Radar.js +19 -19
  110. package/lib/es6/RadialTree.js +12 -12
  111. package/lib/es6/RadialTree.js.map +1 -1
  112. package/lib/es6/Reference.js +12 -12
  113. package/lib/es6/ResponsiveContainer.js +1 -1
  114. package/lib/es6/ResponsiveContainer.js.map +1 -1
  115. package/lib/es6/ScatterPlot.js +9 -9
  116. package/lib/es6/StackBar.js +3 -8
  117. package/lib/es6/StackBar.js.map +1 -1
  118. package/lib/es6/Tooltip.js +10 -11
  119. package/lib/es6/Tooltip.js.map +1 -1
  120. package/lib/es6/Venn.js +10 -10
  121. package/lib/es6/Venn.js.map +1 -1
  122. package/lib/es6/a11y/PlotA11yModule.js +36 -80
  123. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  124. package/lib/es6/a11y/PlotA11yView.js +37 -10
  125. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  126. package/lib/es6/a11y/translations/module/de.json +2 -2
  127. package/lib/es6/a11y/translations/module/en.json +2 -2
  128. package/lib/es6/a11y/translations/module/es.json +2 -2
  129. package/lib/es6/a11y/translations/module/fr.json +2 -2
  130. package/lib/es6/a11y/translations/module/it.json +2 -2
  131. package/lib/es6/a11y/translations/module/ja.json +2 -2
  132. package/lib/es6/a11y/translations/module/ko.json +2 -2
  133. package/lib/es6/a11y/translations/module/nl.json +2 -2
  134. package/lib/es6/a11y/translations/module/pl.json +2 -2
  135. package/lib/es6/a11y/translations/module/pt.json +2 -2
  136. package/lib/es6/a11y/translations/module/sv.json +2 -2
  137. package/lib/es6/a11y/translations/module/tr.json +2 -2
  138. package/lib/es6/a11y/translations/module/vi.json +2 -2
  139. package/lib/es6/a11y/translations/module/zh.json +2 -2
  140. package/lib/es6/component/Chart/AbstractChart.js +5 -5
  141. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  142. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  143. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  144. package/lib/es6/component/Chart/AreaChart.type.js.map +1 -1
  145. package/lib/es6/component/Chart/BarChart.js +67 -20
  146. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  147. package/lib/es6/component/Chart/BarChart.type.js.map +1 -1
  148. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  149. package/lib/es6/component/Chart/CigaretteChart.js +1 -1
  150. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  151. package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  152. package/lib/es6/component/Chart/DonutChart.js +1 -1
  153. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  154. package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
  155. package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -1
  156. package/lib/es6/component/Chart/LineChart.type.js.map +1 -1
  157. package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
  158. package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
  159. package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
  160. package/lib/es6/component/ChartLegend/BaseLegend.js +1 -1
  161. package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  162. package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  163. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +5 -5
  164. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  165. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  166. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +18 -18
  167. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  168. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  169. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +7 -7
  170. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  171. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  172. package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
  173. package/lib/es6/style/axis.shadow.css +3 -1
  174. package/lib/es6/style/plot.shadow.css +1 -3
  175. package/lib/es6/style/plotA11yModule.shadow.css +10 -11
  176. package/lib/es6/style/plotA11yView.shadow.css +13 -26
  177. package/lib/es6/types/Axis.d.js.map +1 -1
  178. package/lib/es6/types/CompactHorizontalBar.d.js.map +1 -1
  179. package/lib/es6/types/Hover.d.js.map +1 -1
  180. package/lib/es6/types/Line.d.js.map +1 -1
  181. package/lib/es6/types/Plot.d.js.map +1 -1
  182. package/lib/es6/types/Radar.d.js.map +1 -1
  183. package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
  184. package/lib/es6/types/Tooltip.d.js.map +1 -1
  185. package/lib/es6/types/Venn.d.js.map +1 -1
  186. package/lib/es6/utils.js.map +1 -1
  187. package/lib/esm/AnimatedClipPath.mjs +2 -7
  188. package/lib/esm/Area.mjs +14 -14
  189. package/lib/esm/Axis.mjs +21 -19
  190. package/lib/esm/Bar.mjs +17 -17
  191. package/lib/esm/Bubble.mjs +16 -16
  192. package/lib/esm/CompactHorizontalBar.mjs +20 -19
  193. package/lib/esm/Donut.mjs +15 -13
  194. package/lib/esm/Dots.mjs +10 -10
  195. package/lib/esm/HorizontalBar.mjs +18 -18
  196. package/lib/esm/Hover.mjs +6 -6
  197. package/lib/esm/Line.mjs +12 -12
  198. package/lib/esm/Plot.mjs +7 -10
  199. package/lib/esm/Radar.mjs +23 -23
  200. package/lib/esm/RadialTree.mjs +13 -13
  201. package/lib/esm/Reference.mjs +13 -13
  202. package/lib/esm/ResponsiveContainer.mjs +2 -2
  203. package/lib/esm/ScatterPlot.mjs +12 -11
  204. package/lib/esm/StackBar.mjs +4 -9
  205. package/lib/esm/StackedArea.mjs +2 -2
  206. package/lib/esm/Tooltip.mjs +13 -16
  207. package/lib/esm/Venn.mjs +13 -12
  208. package/lib/esm/a11y/PlotA11yModule.mjs +31 -69
  209. package/lib/esm/a11y/PlotA11yView.mjs +35 -10
  210. package/lib/esm/a11y/insights.mjs +2 -1
  211. package/lib/esm/a11y/intl.mjs +1 -1
  212. package/lib/esm/a11y/translations/module/de.json.mjs +2 -4
  213. package/lib/esm/a11y/translations/module/en.json.mjs +2 -4
  214. package/lib/esm/a11y/translations/module/es.json.mjs +2 -4
  215. package/lib/esm/a11y/translations/module/fr.json.mjs +2 -4
  216. package/lib/esm/a11y/translations/module/it.json.mjs +2 -4
  217. package/lib/esm/a11y/translations/module/ja.json.mjs +2 -4
  218. package/lib/esm/a11y/translations/module/ko.json.mjs +2 -4
  219. package/lib/esm/a11y/translations/module/nl.json.mjs +2 -4
  220. package/lib/esm/a11y/translations/module/pl.json.mjs +2 -4
  221. package/lib/esm/a11y/translations/module/pt.json.mjs +2 -4
  222. package/lib/esm/a11y/translations/module/sv.json.mjs +2 -4
  223. package/lib/esm/a11y/translations/module/tr.json.mjs +2 -4
  224. package/lib/esm/a11y/translations/module/vi.json.mjs +2 -4
  225. package/lib/esm/a11y/translations/module/zh.json.mjs +2 -4
  226. package/lib/esm/component/Chart/AbstractChart.mjs +12 -10
  227. package/lib/esm/component/Chart/AreaChart.mjs +5 -4
  228. package/lib/esm/component/Chart/BarChart.mjs +44 -3
  229. package/lib/esm/component/Chart/BubbleChart.mjs +3 -2
  230. package/lib/esm/component/Chart/CigaretteChart.mjs +6 -5
  231. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +2 -1
  232. package/lib/esm/component/Chart/DonutChart.mjs +3 -2
  233. package/lib/esm/component/Chart/HistogramChart.mjs +5 -4
  234. package/lib/esm/component/Chart/LineChart.mjs +4 -3
  235. package/lib/esm/component/Chart/RadarChart.mjs +2 -1
  236. package/lib/esm/component/Chart/ScatterPlotChart.mjs +3 -2
  237. package/lib/esm/component/Chart/VennChart.mjs +2 -1
  238. package/lib/esm/component/ChartLegend/BaseLegend.mjs +1 -1
  239. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +7 -7
  240. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +21 -25
  241. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +9 -9
  242. package/lib/esm/component/ChartLegend/index.mjs +2 -0
  243. package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +1 -1
  244. package/lib/esm/createElement.mjs +2 -4
  245. package/lib/esm/index.mjs +1 -0
  246. package/lib/esm/style/axis.shadow.css +3 -1
  247. package/lib/esm/style/plot.shadow.css +1 -3
  248. package/lib/esm/style/plotA11yModule.shadow.css +10 -11
  249. package/lib/esm/style/plotA11yView.shadow.css +13 -26
  250. package/lib/esm/utils.mjs +2 -2
  251. package/lib/types/Axis.d.ts +4 -0
  252. package/lib/types/CompactHorizontalBar.d.ts +1 -1
  253. package/lib/types/Hover.d.ts +1 -1
  254. package/lib/types/Line.d.ts +1 -1
  255. package/lib/types/Plot.d.ts +1 -1
  256. package/lib/types/Radar.d.ts +1 -1
  257. package/lib/types/ResponsiveContainer.d.ts +1 -1
  258. package/lib/types/Tooltip.d.ts +1 -3
  259. package/lib/types/Venn.d.ts +1 -1
  260. package/lib/types/a11y/PlotA11yModule.d.ts +4 -11
  261. package/lib/types/a11y/PlotA11yView.d.ts +13 -2
  262. package/lib/types/a11y/translations/module/__intergalactic-dynamic-locales.d.ts +14 -14
  263. package/lib/types/component/Chart/AbstractChart.d.ts +1 -1
  264. package/lib/types/component/Chart/AbstractChart.type.d.ts +1 -1
  265. package/lib/types/component/Chart/AreaChart.type.d.ts +1 -1
  266. package/lib/types/component/Chart/BarChart.type.d.ts +1 -1
  267. package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
  268. package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
  269. package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
  270. package/lib/types/component/Chart/HistogramChart.type.d.ts +1 -1
  271. package/lib/types/component/Chart/LineChart.type.d.ts +1 -1
  272. package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
  273. package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
  274. package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
  275. package/lib/types/component/ChartLegend/BaseLegend.d.ts +1 -1
  276. package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +1 -1
  277. package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.type.d.ts +1 -1
  278. package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +1 -1
  279. package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +1 -1
  280. package/lib/types/utils.d.ts +10 -10
  281. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.js","names":["_core","require","_ariaProps","_assignProps3","_flexBox","_typography","_react","_interopRequireWildcard","_","_hints","_utils","_ChartLegend","style","sstyled","insert","NOT_A_VALUE","exports","AbstractChart","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","makeDataHintsContainer","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","state","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref5","_ref6","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref7","_ref8","Date","isNaN","getMilliseconds","totalValue","allNotAValue","legendItem","NaN","getValueScale","Math","apply","_toConsumableArray2","min","avg","round","log10","valueScale","pow","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","callAllEventHandlers","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","xTicks","yTicks","childrenX","_ref9","children","childrenY","_ref0","Fragment","YAxis","Ticks","multiline","Grid","XAxis","getTooltipChildren","options","_ref","_ref3","_dataItem","_this3","STooltipChildrenWrapper","Box","Tooltip","dataItem","_this$asProps7","styles","title","Flex","cn","Title","assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","_this$asProps8","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","_extractAriaProps","extractAriaProps","extractedAriaProps","Plot","renderTooltip","renderChart","Component"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport React, { Fragment } from 'react';\n\nimport type { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport type { HoverLine, HoverRect } from '../..';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { makeDataHintsContainer } from '../../a11y/hints';\nimport style from '../../style/abstract-chart.shadow.css';\nimport { interpolateValue } from '../../utils';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport type { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport type { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\n\nexport type ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport const NOT_A_VALUE = 'n/a';\n\nexport abstract class AbstractChart<\n Data extends ListData | ObjectData,\n Props extends BaseChartProps<Data>,\n Enhancers extends readonly ((...args: any[]) => any)[] = [],\n State extends ChartState = ChartState,\n DefaultProps = {},\n> extends Component<Props, {}, State, Enhancers, DefaultProps> {\n public static style = style;\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n constructor(props: Props) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n\n this.state = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n } as State;\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use='secondary'>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? NOT_A_VALUE}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n let allNotAValue = true;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (item === null) {\n allNotAValue = false;\n return sum;\n }\n\n if (typeof item === 'number') {\n allNotAValue = false;\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n allNotAValue = false;\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (allNotAValue) {\n return Number.NaN;\n }\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return NOT_A_VALUE;\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n // we hide Legend for one item on chart except not manually set to show.\n showLegend === undefined && this.dataKeys.length === 1 ||\n showLegend === false\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n 'dataHints': this.dataHints,\n 'items': dataDefinitions,\n 'size': lProps.size,\n 'shape': lProps.shape,\n 'w': lProps.w,\n 'h': lProps.h,\n patterns,\n 'direction':\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n 'onChangeVisibleItem': lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n 'onMouseEnterItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n 'onMouseLeaveItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const {\n invertAxis,\n showXAxis,\n showYAxis,\n data,\n axisXValueFormatter,\n axisYValueFormatter,\n multilineXTicks,\n multilineYTicks,\n } = this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks\n ? (\n <YAxis.Ticks multiline={multilineYTicks} ticks={yTicks}>{childrenY}</YAxis.Ticks>\n )\n : (\n <YAxis.Ticks multiline={multilineYTicks}>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks\n ? (\n <XAxis.Ticks multiline={multilineXTicks} ticks={xTicks}>{childrenX}</XAxis.Ticks>\n )\n : (\n <XAxis.Ticks multiline={multilineXTicks}>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n protected getTooltipChildren<D extends ObjectData>(options: {\n Tooltip: typeof HoverLine['Tooltip'] | typeof HoverRect['Tooltip'];\n dataItem: D;\n }) {\n const STooltipChildrenWrapper = Root;\n const { Tooltip, dataItem } = options;\n\n const { styles, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n const title = dataItem[groupKey as keyof D]?.toString();\n\n return sstyled(styles)(\n <Flex direction='column'>\n { title && <Tooltip.Title>{title}</Tooltip.Title> }\n\n <STooltipChildrenWrapper\n render={Box}\n columnsCount='2'\n __excludeProps={['data']}\n >\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Fragment key={item.id}>\n <Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </Tooltip.Dot>\n <Text textAlign='end' bold>{this.tooltipValueFormatter(dataItem[item.id] as string)}</Text>\n </Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(dataItem)}\n </STooltipChildrenWrapper>\n </Flex>,\n );\n }\n\n protected renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue(dataItem);\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration, eventEmitter, showTooltip } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data', 'eventEmitter']} role='group'>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n eventEmitter={eventEmitter}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {!showTooltip ? null : this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AbstractChart.js","names":["_core","require","_baseComponents","_ariaProps","_assignProps3","_typography","_react","_interopRequireWildcard","_","_hints","_utils","_ChartLegend","style","sstyled","insert","NOT_A_VALUE","exports","AbstractChart","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","makeDataHintsContainer","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","state","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref5","_ref6","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref7","_ref8","Date","isNaN","getMilliseconds","totalValue","allNotAValue","legendItem","NaN","getValueScale","Math","apply","_toConsumableArray2","min","avg","round","log10","valueScale","pow","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","callAllEventHandlers","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","xTicks","yTicks","childrenX","_ref9","children","childrenY","_ref0","Fragment","YAxis","Ticks","multiline","Grid","XAxis","getTooltipChildren","options","_ref","_ref3","_dataItem","_this3","STooltipChildrenWrapper","Box","Tooltip","dataItem","_this$asProps7","styles","title","Flex","cn","Title","assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","_this$asProps8","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","_extractAriaProps","extractAriaProps","extractedAriaProps","Plot","renderTooltip","renderChart","Component"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { Flex, Box } from '@semcore/base-components';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { Text } from '@semcore/typography';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport React, { Fragment } from 'react';\n\nimport type { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport type { HoverLine, HoverRect } from '../..';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { makeDataHintsContainer } from '../../a11y/hints';\nimport style from '../../style/abstract-chart.shadow.css';\nimport { interpolateValue } from '../../utils';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport type { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport type { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\n\nexport type ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport const NOT_A_VALUE = 'n/a';\n\nexport abstract class AbstractChart<\n Data extends ListData | ObjectData,\n Props extends BaseChartProps<Data>,\n Enhancers extends readonly ((...args: any[]) => any)[] = [],\n DefaultProps = {},\n State extends ChartState = ChartState,\n> extends Component<Props, Enhancers, Readonly<{}>, DefaultProps, State> {\n public static style = style;\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n constructor(props: Props) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n\n this.state = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n } as State;\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use='secondary'>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? NOT_A_VALUE}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n let allNotAValue = true;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (item === null) {\n allNotAValue = false;\n return sum;\n }\n\n if (typeof item === 'number') {\n allNotAValue = false;\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n allNotAValue = false;\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (allNotAValue) {\n return Number.NaN;\n }\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return NOT_A_VALUE;\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n // we hide Legend for one item on chart except not manually set to show.\n showLegend === undefined && this.dataKeys.length === 1 ||\n showLegend === false\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n 'dataHints': this.dataHints,\n 'items': dataDefinitions,\n 'size': lProps.size,\n 'shape': lProps.shape,\n 'w': lProps.w,\n 'h': lProps.h,\n patterns,\n 'direction':\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n 'onChangeVisibleItem': lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n 'onMouseEnterItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n 'onMouseLeaveItem': lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const {\n invertAxis,\n showXAxis,\n showYAxis,\n data,\n axisXValueFormatter,\n axisYValueFormatter,\n multilineXTicks,\n multilineYTicks,\n } = this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks\n ? (\n <YAxis.Ticks multiline={multilineYTicks} ticks={yTicks}>{childrenY}</YAxis.Ticks>\n )\n : (\n <YAxis.Ticks multiline={multilineYTicks}>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks\n ? (\n <XAxis.Ticks multiline={multilineXTicks} ticks={xTicks}>{childrenX}</XAxis.Ticks>\n )\n : (\n <XAxis.Ticks multiline={multilineXTicks}>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n protected getTooltipChildren<D extends ObjectData>(options: {\n Tooltip: typeof HoverLine['Tooltip'] | typeof HoverRect['Tooltip'];\n dataItem: D;\n }) {\n const STooltipChildrenWrapper = Root;\n const { Tooltip, dataItem } = options;\n\n const { styles, groupKey } = this.asProps;\n const { dataDefinitions } = this.state;\n const title = dataItem[groupKey as keyof D]?.toString();\n\n return sstyled(styles)(\n <Flex direction='column'>\n { title && <Tooltip.Title>{title}</Tooltip.Title> }\n\n <STooltipChildrenWrapper\n render={Box}\n columnsCount='2'\n __excludeProps={['data']}\n >\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Fragment key={item.id}>\n <Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </Tooltip.Dot>\n <Text textAlign='end' bold>{this.tooltipValueFormatter(dataItem[item.id] as string)}</Text>\n </Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(dataItem)}\n </STooltipChildrenWrapper>\n </Flex>,\n );\n }\n\n protected renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue(dataItem);\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration, eventEmitter, showTooltip } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data', 'eventEmitter']} role='group'>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n eventEmitter={eventEmitter}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {!showTooltip ? null : this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { FlexProps } from '@semcore/flex-box';\nimport type Icon from '@semcore/icon';\nimport type React from 'react';\n\nimport type { PatternsConfig } from '../../Pattern';\n// @ts-ignore\nimport type { PlotSummarizerConfig } from '../../Plot';\nimport type { PlotEventEmitter } from '../../utils';\nimport type { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport type { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\n/**\n * Chart, Legend must have an accessible names (aria-name).\n * It should describe chart or legend content.\n */\nexport type AriaNameProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n 'title'?: string;\n}>;\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /** Enables multiline tick labels for X axis, applicable only for band scales */\n multilineXTicks?: boolean;\n /** Enables multiline tick labels for Y axis, applicable only for band scales */\n multilineYTicks?: boolean;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n /**\n * Custom event emitter. Could be useful to handle event on few charts at the same time.\n */\n eventEmitter?: InstanceType<typeof PlotEventEmitter>;\n /**\n * Config for a11y summary\n */\n a11yAltTextConfig?: PlotSummarizerConfig;\n\n /**\n * Animations duration, set 0 to disable animations\n */\n duration?: number;\n /**\n * Flag to show/hide legend\n */\n showLegend?: boolean;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n} & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import type { FlexProps } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type Icon from '@semcore/icon';\nimport type React from 'react';\n\nimport type { PatternsConfig } from '../../Pattern';\n// @ts-ignore\nimport type { PlotSummarizerConfig } from '../../Plot';\nimport type { PlotEventEmitter } from '../../utils';\nimport type { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport type { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\n/**\n * Chart, Legend must have an accessible names (aria-name).\n * It should describe chart or legend content.\n */\nexport type AriaNameProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n 'title'?: string;\n}>;\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /** Enables multiline tick labels for X axis, applicable only for band scales */\n multilineXTicks?: boolean;\n /** Enables multiline tick labels for Y axis, applicable only for band scales */\n multilineYTicks?: boolean;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n /**\n * Custom event emitter. Could be useful to handle event on few charts at the same time.\n */\n eventEmitter?: InstanceType<typeof PlotEventEmitter>;\n /**\n * Config for a11y summary\n */\n a11yAltTextConfig?: PlotSummarizerConfig;\n\n /**\n * Animations duration, set 0 to disable animations\n */\n duration?: number;\n /**\n * Flag to show/hide legend\n */\n showLegend?: boolean;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n} & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart2","_intergalacticDynamicLocales","AreaChartComponent","_AbstractChart","_classCallCheck2","_callSuper2","arguments","_inherits2","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","stacked","flatValues","_superPropGet2","min","Math","apply","_toConsumableArray2","max","value","renderChart","_this$asProps3","curve","showDots","onClickArea","_this$state","state","dataDefinitions","highlightedLine","createElement","StackedArea","x","map","item","index","checked","Area","y","id","color","transparent","onClick","Dots","display","renderTooltip","_this","_this$asProps4","HoverLine","Tooltip","wMin","_ref","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","AreaChart","exports","createComponent"],"sources":["../../../../src/component/Chart/AreaChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Area, minMax, HoverLine, StackedArea } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { AreaChartData, AreaChartProps, AreaChartType } from './AreaChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass AreaChartComponent extends AbstractChart<\n AreaChartData,\n AreaChartProps,\n typeof AreaChartComponent.enhance\n> {\n static displayName = 'Chart.Area';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, marginY = 40, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 24, plotHeight, stacked } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n const min = Math.min(...flatValues);\n const max = stacked ? super.maxStackedValue : Math.max(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n renderChart() {\n const { groupKey, curve, showDots, stacked, onClickArea } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (stacked) {\n return (\n <StackedArea x={groupKey}>\n {dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <StackedArea.Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n onClick={onClickArea}\n >\n {showDots && <StackedArea.Area.Dots display />}\n </StackedArea.Area>\n )\n );\n })}\n </StackedArea>\n );\n }\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n onClick={onClickArea}\n >\n {showDots && <Area.Dots display />}\n </Area>\n )\n );\n });\n }\n\n renderTooltip() {\n const { data, groupKey } = this.asProps;\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverLine.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Area' });\n }\n}\n\nexport const AreaChart: AreaChartType = createComponent(AreaChartComponent);\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAGA,IAAAK,CAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AAEA,IAAAO,4BAAA,GAAAP,OAAA;AAJA;AAAA,IAMMQ,kBAAkB,0BAAAC,cAAA;EAAA,SAAAD,mBAAA;IAAA,IAAAE,gBAAA,mBAAAF,kBAAA;IAAA,WAAAG,WAAA,mBAAAH,kBAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,aAAAL,kBAAA,EAAAC,cAAA;EAAA,WAAAK,aAAA,aAAAN,kBAAA;IAAAO,GAAA;IAAAC,GAAA,EAStB,SAAAA,IAAA,EAAa;MACX,IAAAC,aAAA,GAA4D,IAAI,CAACC,OAAO;QAAhEC,MAAM,GAAAF,aAAA,CAANE,MAAM;QAAAC,qBAAA,GAAAH,aAAA,CAAEI,OAAO;QAAPA,OAAO,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAEE,SAAS,GAAAL,aAAA,CAATK,SAAS;QAAEC,IAAI,GAAAN,aAAA,CAAJM,IAAI;QAAEC,QAAQ,GAAAP,aAAA,CAARO,QAAQ;MAEvD,IAAIL,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,IAAMM,QAAQ,GAAGF,IAAI,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC;MAClC,IAAME,KAAK,GAAG,CAACL,OAAO,EAAEC,SAAS,GAAG,IAAI,CAACK,WAAW,CAAC;MACrD,IAAMC,MAAM,GAAG,IAAAC,QAAM,EAACN,IAAI,EAAEC,QAAQ,CAAC;MAErC,IAAIC,QAAQ,YAAYK,IAAI,IAAI,CAACC,MAAM,CAACC,KAAK,CAACP,QAAQ,CAACQ,eAAe,CAAC,CAAC,CAAC,EAAE;QACzE,OAAO,IAAAC,kBAAS,EAACN,MAAM,EAAEF,KAAK,CAAC;MACjC;MAEA,OAAO,IAAAS,oBAAW,EAACP,MAAM,EAAEF,KAAK,CAAC;IACnC;EAAC;IAAAX,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAoC;MAClC,IAAAoB,cAAA,GAAsD,IAAI,CAAClB,OAAO;QAA1DmB,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAAC,qBAAA,GAAAF,cAAA,CAAEG,OAAO;QAAPA,OAAO,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAEE,UAAU,GAAAJ,cAAA,CAAVI,UAAU;QAAEC,OAAO,GAAAL,cAAA,CAAPK,OAAO;MAEjD,IAAIJ,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,IAAMK,UAAU,OAAAC,cAAA,aAAAnC,kBAAA,wBAAmB;MACnC,IAAMoC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAAE,KAAA,CAARD,IAAI,MAAAE,mBAAA,aAAQL,UAAU,EAAC;MACnC,IAAMM,GAAG,GAAGP,OAAO,OAAAE,cAAA,aAAAnC,kBAAA,gCAA2BqC,IAAI,CAACG,GAAG,CAAAF,KAAA,CAARD,IAAI,MAAAE,mBAAA,aAAQL,UAAU,EAAC;MAErE,OAAO,IAAAP,oBAAW,EAAC,CAAC,CACjBT,KAAK,CAAC,CAACc,UAAU,GAAGD,OAAO,EAAE,IAAI,CAACZ,WAAW,CAAC,CAAC,CAC/CC,MAAM,CAAC,CAACgB,GAAG,EAAEI,GAAG,CAAC,CAAC;IACvB;EAAC;IAAAjC,GAAA;IAAAkC,KAAA,EAED,SAAAC,WAAWA,CAAA,EAAG;MACZ,IAAAC,cAAA,GAA4D,IAAI,CAACjC,OAAO;QAAhEM,QAAQ,GAAA2B,cAAA,CAAR3B,QAAQ;QAAE4B,KAAK,GAAAD,cAAA,CAALC,KAAK;QAAEC,QAAQ,GAAAF,cAAA,CAARE,QAAQ;QAAEZ,OAAO,GAAAU,cAAA,CAAPV,OAAO;QAAEa,WAAW,GAAAH,cAAA,CAAXG,WAAW;MACvD,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/CC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;MAExC,IAAIjB,OAAO,EAAE;QACX,oBACErC,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAAuD,WAAW;UAACC,CAAC,EAAErC;QAAS,GACtBiC,eAAe,CAACK,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK,EAAK;UACpC,OACED,IAAI,CAACE,OAAO,iBACV7D,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAAuD,WAAW,CAACM,IAAI;YACfL,CAAC,EAAErC,QAAS;YACZ2C,CAAC,EAAEJ,IAAI,CAACK,EAAG;YACXrD,GAAG,EAAEgD,IAAI,CAACK,EAAG;YACbC,KAAK,EAAEN,IAAI,CAACM,KAAM;YAClBC,WAAW,EAAEZ,eAAe,KAAK,CAAC,CAAC,IAAIA,eAAe,KAAKM,KAAM;YACjEZ,KAAK,EAAEA,KAAM;YACbmB,OAAO,EAAEjB;UAAY,GAEpBD,QAAQ,iBAAIjD,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAAuD,WAAW,CAACM,IAAI,CAACM,IAAI;YAACC,OAAO;UAAA,CAAE,CAC7B,CACnB;QAEL,CAAC,CACU,CAAC;MAElB;MAEA,OAAOhB,eAAe,CAACK,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK,EAAK;QAC1C,OACED,IAAI,CAACE,OAAO,iBACV7D,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAA6D,IAAI;UACHL,CAAC,EAAErC,QAAS;UACZ2C,CAAC,EAAEJ,IAAI,CAACK,EAAG;UACXrD,GAAG,EAAEgD,IAAI,CAACK,EAAG;UACbC,KAAK,EAAEN,IAAI,CAACM,KAAM;UAClBC,WAAW,EAAEZ,eAAe,KAAK,CAAC,CAAC,IAAIA,eAAe,KAAKM,KAAM;UACjEZ,KAAK,EAAEA,KAAM;UACbmB,OAAO,EAAEjB;QAAY,GAEpBD,QAAQ,iBAAIjD,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAA6D,IAAI,CAACM,IAAI;UAACC,OAAO;QAAA,CAAE,CAC7B,CACP;MAEL,CAAC,CAAC;IACJ;EAAC;IAAA1D,GAAA;IAAAkC,KAAA,EAED,SAAAyB,aAAaA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACd,IAAAC,cAAA,GAA2B,IAAI,CAAC1D,OAAO;QAA/BK,IAAI,GAAAqD,cAAA,CAAJrD,IAAI;QAAEC,QAAQ,GAAAoD,cAAA,CAARpD,QAAQ;MAEtB,oBACEpB,MAAA,YAAAuD,aAAA,CAACtD,CAAA,CAAAwE,SAAS,CAACC,OAAO;QAACjB,CAAC,EAAErC,QAAS;QAACuD,IAAI,EAAE;MAAI,GACvC,UAAAC,IAAA,EAAqB;QAAA,IAAlBC,MAAM,GAAAD,IAAA,CAANC,MAAM;QACR,IAAMC,QAAQ,GAAG3D,IAAI,CAAC0D,MAAM,CAAC;QAE7B,OAAO;UACLE,QAAQ,EAAER,KAAI,CAACS,kBAAkB,CAAC;YAChCN,OAAO,EAAED,WAAS,CAACC,OAAO;YAC1BI,QAAQ,EAARA;UACF,CAAC;QACH,CAAC;MACH,CACiB,CAAC;IAExB;EAAC;IAAAnE,GAAA;IAAAkC,KAAA,EAED,SAAUoC,kBAAkBA,CAAA,EAAW;MACrC,OAAO,IAAI,CAACnE,OAAO,CAACoE,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAO,CAAC,CAAC;IAC1E;EAAC;AAAA,EA/G8BC,6BAAa;AAAA,IAAAC,gBAAA,aAAxCjF,kBAAkB,iBAKD,YAAY;AAAA,IAAAiF,gBAAA,aAL7BjF,kBAAkB,aAOL,CAAC,IAAAkF,uBAAW,EAACC,8CAAiB,CAAC,CAAC;AA2G5C,IAAMC,SAAwB,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,qBAAe,EAACtF,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AreaChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart2","_intergalacticDynamicLocales","AreaChartComponent","_AbstractChart","_classCallCheck2","_callSuper2","arguments","_inherits2","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","stacked","flatValues","_superPropGet2","min","Math","apply","_toConsumableArray2","max","value","renderChart","_this$asProps3","curve","showDots","onClickArea","_this$state","state","dataDefinitions","highlightedLine","createElement","StackedArea","x","map","item","index","checked","Area","y","id","color","transparent","onClick","Dots","display","renderTooltip","_this","_this$asProps4","HoverLine","Tooltip","wMin","_ref","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","AreaChart","exports","createComponent"],"sources":["../../../../src/component/Chart/AreaChart.tsx"],"sourcesContent":["import { Flex, Box } from '@semcore/base-components';\nimport { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Area, minMax, HoverLine, StackedArea } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { AreaChartData, AreaChartProps, AreaChartType } from './AreaChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass AreaChartComponent extends AbstractChart<\n AreaChartData,\n AreaChartProps,\n typeof AreaChartComponent.enhance\n> {\n static displayName = 'Chart.Area';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, marginY = 40, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 24, plotHeight, stacked } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n const min = Math.min(...flatValues);\n const max = stacked ? super.maxStackedValue : Math.max(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n renderChart() {\n const { groupKey, curve, showDots, stacked, onClickArea } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (stacked) {\n return (\n <StackedArea x={groupKey}>\n {dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <StackedArea.Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n onClick={onClickArea}\n >\n {showDots && <StackedArea.Area.Dots display />}\n </StackedArea.Area>\n )\n );\n })}\n </StackedArea>\n );\n }\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n onClick={onClickArea}\n >\n {showDots && <Area.Dots display />}\n </Area>\n )\n );\n });\n }\n\n renderTooltip() {\n const { data, groupKey } = this.asProps;\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverLine.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Area' });\n }\n}\n\nexport const AreaChart: AreaChartType = createComponent(AreaChartComponent);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart.type.js","names":[],"sources":["../../../../src/component/Chart/AreaChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleLinear, ScaleTime } from 'd3-scale';\nimport type { CurveFactory } from 'd3-shape';\n\nimport type { AriaNameProps, BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\nexport type AreaChartData = Array<Record<string, number | typeof interpolateValue | Date>>;\n\nexport type AreaChartProps = BaseChartProps<AreaChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether to display dots on the area chart lines */\n showDots?: boolean;\n /** D3 curve factory for line interpolation (e.g., curveLinear, curveCardinal) */\n curve?: CurveFactory;\n /** Enables stacked area chart mode */\n stacked?: boolean;\n /** Callback triggered when a user clicks on a chart at a position corresponding to a data item */\n onClickArea?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type AreaChartType = Intergalactic.Component<typeof Flex, Intergalactic.InternalTypings.EfficientOmit<AreaChartProps, 'showLegend'> & { showLegend?: boolean } & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"AreaChart.type.js","names":[],"sources":["../../../../src/component/Chart/AreaChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear, ScaleTime } from 'd3-scale';\nimport type { CurveFactory } from 'd3-shape';\n\nimport type { AriaNameProps, BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\nexport type AreaChartData = Array<Record<string, number | typeof interpolateValue | Date>>;\n\nexport type AreaChartProps = BaseChartProps<AreaChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether to display dots on the area chart lines */\n showDots?: boolean;\n /** D3 curve factory for line interpolation (e.g., curveLinear, curveCardinal) */\n curve?: CurveFactory;\n /** Enables stacked area chart mode */\n stacked?: boolean;\n /** Callback triggered when a user clicks on a chart at a position corresponding to a data item */\n onClickArea?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type AreaChartType = Intergalactic.Component<typeof Flex, Intergalactic.InternalTypings.EfficientOmit<AreaChartProps, 'showLegend'> & { showLegend?: boolean } & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
@@ -195,6 +195,53 @@ var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
195
195
  };
196
196
  });
197
197
  }
198
+ }, {
199
+ key: "renderAxis",
200
+ value: function renderAxis() {
201
+ var _this$asProps6 = this.asProps,
202
+ invertAxis = _this$asProps6.invertAxis,
203
+ showXAxis = _this$asProps6.showXAxis,
204
+ showYAxis = _this$asProps6.showYAxis,
205
+ data = _this$asProps6.data,
206
+ axisXValueFormatter = _this$asProps6.axisXValueFormatter,
207
+ axisYValueFormatter = _this$asProps6.axisYValueFormatter,
208
+ multilineXTicks = _this$asProps6.multilineXTicks,
209
+ multilineYTicks = _this$asProps6.multilineYTicks;
210
+ if (!Array.isArray(data)) {
211
+ return null;
212
+ }
213
+ var xTicks = this.xTicks;
214
+ var yTicks = this.yTicks;
215
+ var childrenX = axisXValueFormatter ? function (_ref2) {
216
+ var value = _ref2.value;
217
+ return {
218
+ children: axisXValueFormatter(value)
219
+ };
220
+ } : undefined;
221
+ var childrenY = axisYValueFormatter ? function (_ref3) {
222
+ var value = _ref3.value;
223
+ return {
224
+ children: axisYValueFormatter(value)
225
+ };
226
+ } : undefined;
227
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, showYAxis && /*#__PURE__*/_react["default"].createElement(_.YAxis, null, yTicks ? /*#__PURE__*/_react["default"].createElement(_.YAxis.Ticks, {
228
+ primaryText: invertAxis,
229
+ multiline: multilineYTicks,
230
+ ticks: yTicks
231
+ }, childrenY) : /*#__PURE__*/_react["default"].createElement(_.YAxis.Ticks, {
232
+ primaryText: invertAxis,
233
+ multiline: multilineYTicks
234
+ }, childrenY), invertAxis !== true && (yTicks ? /*#__PURE__*/_react["default"].createElement(_.YAxis.Grid, {
235
+ ticks: yTicks
236
+ }) : /*#__PURE__*/_react["default"].createElement(_.YAxis.Grid, null))), showXAxis && /*#__PURE__*/_react["default"].createElement(_.XAxis, null, xTicks ? /*#__PURE__*/_react["default"].createElement(_.XAxis.Ticks, {
237
+ multiline: multilineXTicks,
238
+ ticks: xTicks
239
+ }, childrenX) : /*#__PURE__*/_react["default"].createElement(_.XAxis.Ticks, {
240
+ multiline: multilineXTicks
241
+ }, childrenX), invertAxis === true && (xTicks ? /*#__PURE__*/_react["default"].createElement(_.XAxis.Grid, {
242
+ ticks: xTicks
243
+ }) : /*#__PURE__*/_react["default"].createElement(_.XAxis.Grid, null))));
244
+ }
198
245
  }, {
199
246
  key: "getLegendAriaLabel",
200
247
  value: function getLegendAriaLabel() {
@@ -205,16 +252,16 @@ var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
205
252
  }, {
206
253
  key: "categoryScale",
207
254
  get: function get() {
208
- var _this$asProps6 = this.asProps,
209
- _this$asProps6$margin = _this$asProps6.marginY,
210
- marginY = _this$asProps6$margin === void 0 ? 40 : _this$asProps6$margin,
211
- _this$asProps6$margin2 = _this$asProps6.marginX,
212
- marginX = _this$asProps6$margin2 === void 0 ? 24 : _this$asProps6$margin2,
213
- plotWidth = _this$asProps6.plotWidth,
214
- plotHeight = _this$asProps6.plotHeight,
215
- invertAxis = _this$asProps6.invertAxis,
216
- data = _this$asProps6.data,
217
- groupKey = _this$asProps6.groupKey;
255
+ var _this$asProps7 = this.asProps,
256
+ _this$asProps7$margin = _this$asProps7.marginY,
257
+ marginY = _this$asProps7$margin === void 0 ? 40 : _this$asProps7$margin,
258
+ _this$asProps7$margin2 = _this$asProps7.marginX,
259
+ marginX = _this$asProps7$margin2 === void 0 ? 24 : _this$asProps7$margin2,
260
+ plotWidth = _this$asProps7.plotWidth,
261
+ plotHeight = _this$asProps7.plotHeight,
262
+ invertAxis = _this$asProps7.invertAxis,
263
+ data = _this$asProps7.data,
264
+ groupKey = _this$asProps7.groupKey;
218
265
  var testItem = data[0][groupKey];
219
266
  var range = invertAxis ? [plotHeight - marginX, this.plotPadding] : [marginY, plotWidth - this.plotPadding];
220
267
  if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {
@@ -229,15 +276,15 @@ var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
229
276
  }, {
230
277
  key: "valueScale",
231
278
  get: function get() {
232
- var _this$asProps7 = this.asProps,
233
- _this$asProps7$margin = _this$asProps7.marginY,
234
- marginY = _this$asProps7$margin === void 0 ? 40 : _this$asProps7$margin,
235
- _this$asProps7$margin2 = _this$asProps7.marginX,
236
- marginX = _this$asProps7$margin2 === void 0 ? 24 : _this$asProps7$margin2,
237
- plotWidth = _this$asProps7.plotWidth,
238
- plotHeight = _this$asProps7.plotHeight,
239
- invertAxis = _this$asProps7.invertAxis,
240
- type = _this$asProps7.type;
279
+ var _this$asProps8 = this.asProps,
280
+ _this$asProps8$margin = _this$asProps8.marginY,
281
+ marginY = _this$asProps8$margin === void 0 ? 40 : _this$asProps8$margin,
282
+ _this$asProps8$margin2 = _this$asProps8.marginX,
283
+ marginX = _this$asProps8$margin2 === void 0 ? 24 : _this$asProps8$margin2,
284
+ plotWidth = _this$asProps8.plotWidth,
285
+ plotHeight = _this$asProps8.plotHeight,
286
+ invertAxis = _this$asProps8.invertAxis,
287
+ type = _this$asProps8.type;
241
288
  var max = type === 'stack' ? (0, _superPropGet2["default"])(BarChartComponent, "maxStackedValue", this, 1) : Math.max.apply(Math, (0, _toConsumableArray2["default"])((0, _superPropGet2["default"])(BarChartComponent, "flatValues", this, 1)));
242
289
  return (0, _d3Scale.scaleLinear)().range(invertAxis ? [marginY, plotWidth - this.plotPadding] : [plotHeight - marginX, this.plotPadding]).domain([0, max]);
243
290
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart2","_","_intergalacticDynamicLocales","BarChartComponent","_AbstractChart","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","_data","e","barIndex","barKey","onClickBar","asProps","_inherits2","_createClass2","key","get","_this$asProps","xScale","invertAxis","valueScale","categoryScale","_this$asProps2","yScale","value","defaultLegendProps","props","trend","undefined","withTrend","renderTrend","_this$asProps3","groupKey","state","trendItem","createElement","Line","data","x","y","color","style","strokeWidth","strokeDasharray","Dots","display","renderChart","_this2","_this$asProps4","_this$asProps4$type","type","_this$state","dataDefinitions","highlightedLine","item","BarComponent","GroupBar","HorizontalBar","Bar","checked","Fragment","id","onClick","handleClickBar","map","index","commonBarComponentProps","transparent","_extends2","StackBar","renderTooltip","_this3","_this$asProps5","onClickHoverRect","HoverRect","Tooltip","wMin","_ref","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_this$asProps6","_this$asProps6$margin","marginY","_this$asProps6$margin2","marginX","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","scaleBand","paddingInner","paddingOuter","_this$asProps7","_this$asProps7$margin","_this$asProps7$margin2","max","_superPropGet2","Math","apply","_toConsumableArray2","scaleLinear","AbstractChart","i18nEnhance","localizedMessages","BarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/BarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type { BarChartData, BarChartProps, BarChartType } from './BarChart.type';\n// @ts-ignore\nimport { minMax, GroupBar, HoverRect, StackBar, Line } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport type { BarProps } from '../../types';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass BarChartComponent extends AbstractChart<\n BarChartData,\n BarChartProps,\n typeof BarChartComponent.enhance\n> {\n static displayName = 'Chart.Bar';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, invertAxis } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return invertAxis ? this.valueScale : this.categoryScale;\n }\n\n get yScale() {\n const { yScale, invertAxis } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return invertAxis ? this.categoryScale : this.valueScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n if (this.props.trend !== undefined) {\n return { withTrend: true };\n }\n\n return {};\n }\n\n renderTrend(key: LegendItemKey) {\n const { groupKey, invertAxis, trend } = this.asProps;\n const { withTrend } = this.state;\n const trendItem = trend?.[key];\n\n if (withTrend && trendItem) {\n return (\n <Line\n data={trendItem}\n key={`${key}_${groupKey}`}\n x={invertAxis ? 'y' : 'x'}\n y={invertAxis ? 'x' : 'y'}\n color='wall'\n style={{ strokeWidth: 3, strokeDasharray: 5 }}\n >\n <Line.Dots data={trendItem} display />\n </Line>\n );\n }\n\n return null;\n }\n\n renderChart() {\n const { groupKey, type = 'group', invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (dataDefinitions.length === 1) {\n const item = dataDefinitions[0];\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n return (\n item.checked && (\n <>\n <BarComponent\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n onClick={this.handleClickBar}\n />\n {this.renderTrend(item.id)}\n </>\n )\n );\n }\n\n if (type === 'group') {\n return (\n <>\n <GroupBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n onClick: this.handleClickBar,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </GroupBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n if (type === 'stack') {\n return (\n <>\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n onClick: this.handleClickBar,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n return null;\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis, onClickHoverRect } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n onClick={onClickHoverRect}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Bar' });\n }\n\n private handleClickBar = (\n _data: BarChartData[0],\n e: React.SyntheticEvent,\n barIndex: number,\n barKey: string,\n ) => {\n const { onClickBar } = this.asProps;\n\n if (onClickBar) {\n onClickBar(barIndex, barKey, e);\n }\n };\n\n private get categoryScale() {\n const {\n marginY = 40,\n marginX = 24,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.4).paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 40, marginX = 24, plotWidth, plotHeight, invertAxis, type } = this.asProps;\n\n const max = type === 'stack' ? super.maxStackedValue : Math.max(...super.flatValues);\n\n return scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max]);\n }\n}\n\nexport const BarChart: BarChartType = createComponent(BarChartComponent);\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,eAAA,GAAAL,OAAA;AAIA,IAAAM,CAAA,GAAAN,OAAA;AACA,IAAAO,4BAAA,GAAAP,OAAA;AAFA;AAAA,IAMMQ,iBAAiB,0BAAAC,cAAA;EAAA,SAAAD,kBAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,iBAAA;IAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,OAAAQ,WAAA,mBAAAV,iBAAA,KAAAW,MAAA,CAAAJ,IAAA;IAAA,IAAAK,gBAAA,aAAAV,KAAA,oBA0KI,UACvBW,KAAsB,EACtBC,CAAuB,EACvBC,QAAgB,EAChBC,MAAc,EACX;MACH,IAAQC,UAAU,GAAKf,KAAA,CAAKgB,OAAO,CAA3BD,UAAU;MAElB,IAAIA,UAAU,EAAE;QACdA,UAAU,CAACF,QAAQ,EAAEC,MAAM,EAAEF,CAAC,CAAC;MACjC;IACF,CAAC;IAAA,OAAAZ,KAAA;EAAA;EAAA,IAAAiB,UAAA,aAAAnB,iBAAA,EAAAC,cAAA;EAAA,WAAAmB,aAAA,aAAApB,iBAAA;IAAAqB,GAAA;IAAAC,GAAA,EA5KD,SAAAA,IAAA,EAAa;MACX,IAAAC,aAAA,GAA+B,IAAI,CAACL,OAAO;QAAnCM,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEC,UAAU,GAAAF,aAAA,CAAVE,UAAU;MAE1B,IAAID,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,OAAOC,UAAU,GAAG,IAAI,CAACC,UAAU,GAAG,IAAI,CAACC,aAAa;IAC1D;EAAC;IAAAN,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAAM,cAAA,GAA+B,IAAI,CAACV,OAAO;QAAnCW,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEJ,UAAU,GAAAG,cAAA,CAAVH,UAAU;MAE1B,IAAII,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,OAAOJ,UAAU,GAAG,IAAI,CAACE,aAAa,GAAG,IAAI,CAACD,UAAU;IAC1D;EAAC;IAAAL,GAAA;IAAAS,KAAA,EAED,SAAUC,kBAAkBA,CAAA,EAA6B;MACvD,IAAI,IAAI,CAACC,KAAK,CAACC,KAAK,KAAKC,SAAS,EAAE;QAClC,OAAO;UAAEC,SAAS,EAAE;QAAK,CAAC;MAC5B;MAEA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAd,GAAA;IAAAS,KAAA,EAED,SAAAM,WAAWA,CAACf,GAAkB,EAAE;MAC9B,IAAAgB,cAAA,GAAwC,IAAI,CAACnB,OAAO;QAA5CoB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEb,UAAU,GAAAY,cAAA,CAAVZ,UAAU;QAAEQ,KAAK,GAAAI,cAAA,CAALJ,KAAK;MACnC,IAAQE,SAAS,GAAK,IAAI,CAACI,KAAK,CAAxBJ,SAAS;MACjB,IAAMK,SAAS,GAAGP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAGZ,GAAG,CAAC;MAE9B,IAAIc,SAAS,IAAIK,SAAS,EAAE;QAC1B,oBACE5C,MAAA,YAAA6C,aAAA,CAAC3C,CAAA,CAAA4C,IAAI;UACHC,IAAI,EAAEH,SAAU;UAChBnB,GAAG,KAAAV,MAAA,CAAKU,GAAG,OAAAV,MAAA,CAAI2B,QAAQ,CAAG;UAC1BM,CAAC,EAAEnB,UAAU,GAAG,GAAG,GAAG,GAAI;UAC1BoB,CAAC,EAAEpB,UAAU,GAAG,GAAG,GAAG,GAAI;UAC1BqB,KAAK,EAAC,MAAM;UACZC,KAAK,EAAE;YAAEC,WAAW,EAAE,CAAC;YAAEC,eAAe,EAAE;UAAE;QAAE,gBAE9CrD,MAAA,YAAA6C,aAAA,CAAC3C,CAAA,CAAA4C,IAAI,CAACQ,IAAI;UAACP,IAAI,EAAEH,SAAU;UAACW,OAAO;QAAA,CAAE,CACjC,CAAC;MAEX;MAEA,OAAO,IAAI;IACb;EAAC;IAAA9B,GAAA;IAAAS,KAAA,EAED,SAAAsB,WAAWA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACZ,IAAAC,cAAA,GAAiD,IAAI,CAACpC,OAAO;QAArDoB,QAAQ,GAAAgB,cAAA,CAARhB,QAAQ;QAAAiB,mBAAA,GAAAD,cAAA,CAAEE,IAAI;QAAJA,IAAI,GAAAD,mBAAA,cAAG,OAAO,GAAAA,mBAAA;QAAE9B,UAAU,GAAA6B,cAAA,CAAV7B,UAAU;MAC5C,IAAAgC,WAAA,GAA6C,IAAI,CAAClB,KAAK;QAA/CmB,eAAe,GAAAD,WAAA,CAAfC,eAAe;QAAEC,eAAe,GAAAF,WAAA,CAAfE,eAAe;MAExC,IAAID,eAAe,CAACpD,MAAM,KAAK,CAAC,EAAE;QAChC,IAAMsD,IAAI,GAAGF,eAAe,CAAC,CAAC,CAAC;QAC/B,IAAMG,YAAY,GAAGpC,UAAU,GAAGqC,UAAQ,CAACC,aAAa,GAAGD,UAAQ,CAACE,GAAG;QAEvE,OACEJ,IAAI,CAACK,OAAO,iBACVrE,MAAA,YAAA6C,aAAA,CAAA7C,MAAA,YAAAsE,QAAA,qBACEtE,MAAA,YAAA6C,aAAA,CAACoB,YAAY;UACXjB,CAAC,EAAEnB,UAAU,GAAGmC,IAAI,CAACO,EAAE,GAAG7B,QAAS;UACnCO,CAAC,EAAEpB,UAAU,GAAGa,QAAQ,GAAGsB,IAAI,CAACO,EAAG;UACnC9C,GAAG,EAAEuC,IAAI,CAACO,EAAG;UACbrB,KAAK,EAAEc,IAAI,CAACd,KAAM;UAClBsB,OAAO,EAAE,IAAI,CAACC;QAAe,CAC9B,CAAC,EACD,IAAI,CAACjC,WAAW,CAACwB,IAAI,CAACO,EAAE,CACzB,CACH;MAEL;MAEA,IAAIX,IAAI,KAAK,OAAO,EAAE;QACpB,oBACE5D,MAAA,YAAA6C,aAAA,CAAA7C,MAAA,YAAAsE,QAAA,qBACEtE,MAAA,YAAA6C,aAAA,CAAC3C,CAAA,CAAAgE,QAAQ;UAAClB,CAAC,EAAEnB,UAAU,GAAGS,SAAS,GAAGI,QAAS;UAACO,CAAC,EAAEpB,UAAU,GAAGa,QAAQ,GAAGJ;QAAU,GAClFwB,eAAe,CAACY,GAAG,CAAC,UAACV,IAAI,EAAEW,KAAK,EAAK;UACpC,IAAMV,YAAY,GAAGpC,UAAU,GAAGqC,UAAQ,CAACC,aAAa,GAAGD,UAAQ,CAACE,GAAG;UAEvE,IAAMQ,uBAAiC,GAAG;YACxC1B,KAAK,EAAEc,IAAI,CAACd,KAAK;YACjB2B,WAAW,EAAEd,eAAe,KAAK,CAAC,CAAC,IAAIA,eAAe,KAAKY,KAAK;YAChEH,OAAO,EAAEf,MAAI,CAACgB;UAChB,CAAC;UAED,IAAI5C,UAAU,EAAE;YACd+C,uBAAuB,CAAC5B,CAAC,GAAGgB,IAAI,CAACO,EAAE;UACrC,CAAC,MAAM;YACLK,uBAAuB,CAAC3B,CAAC,GAAGe,IAAI,CAACO,EAAE;UACrC;UAEA,OAAOP,IAAI,CAACK,OAAO,iBAAIrE,MAAA,YAAA6C,aAAA,CAACoB,YAAY,MAAAa,SAAA;YAACrD,GAAG,EAAEuC,IAAI,CAACO;UAAG,GAAKK,uBAAuB,CAAG,CAAC;QACpF,CAAC,CACO,CAAC,EACVd,eAAe,CAACY,GAAG,CAAC,UAACV,IAAI;UAAA,OAAKA,IAAI,CAACK,OAAO,IAAIZ,MAAI,CAACjB,WAAW,CAACwB,IAAI,CAACO,EAAE,CAAC;QAAA,EACxE,CAAC;MAEP;MAEA,IAAIX,IAAI,KAAK,OAAO,EAAE;QACpB,oBACE5D,MAAA,YAAA6C,aAAA,CAAA7C,MAAA,YAAAsE,QAAA,qBACEtE,MAAA,YAAA6C,aAAA,CAAC3C,CAAA,CAAA6E,QAAQ;UAAC/B,CAAC,EAAEnB,UAAU,GAAGS,SAAS,GAAGI,QAAS;UAACO,CAAC,EAAEpB,UAAU,GAAGa,QAAQ,GAAGJ;QAAU,GAClFwB,eAAe,CAACY,GAAG,CAAC,UAACV,IAAI,EAAEW,KAAK,EAAK;UACpC,IAAMV,YAAY,GAAGpC,UAAU,GAAGkD,UAAQ,CAACZ,aAAa,GAAGY,UAAQ,CAACX,GAAG;UAEvE,IAAMQ,uBAAiC,GAAG;YACxC1B,KAAK,EAAEc,IAAI,CAACd,KAAK;YACjB2B,WAAW,EAAEd,eAAe,KAAK,CAAC,CAAC,IAAIA,eAAe,KAAKY,KAAK;YAChEH,OAAO,EAAEf,MAAI,CAACgB;UAChB,CAAC;UAED,IAAI5C,UAAU,EAAE;YACd+C,uBAAuB,CAAC5B,CAAC,GAAGgB,IAAI,CAACO,EAAE;UACrC,CAAC,MAAM;YACLK,uBAAuB,CAAC3B,CAAC,GAAGe,IAAI,CAACO,EAAE;UACrC;UAEA,OAAOP,IAAI,CAACK,OAAO,iBAAIrE,MAAA,YAAA6C,aAAA,CAACoB,YAAY,MAAAa,SAAA;YAACrD,GAAG,EAAEuC,IAAI,CAACO;UAAG,GAAKK,uBAAuB,CAAG,CAAC;QACpF,CAAC,CACO,CAAC,EACVd,eAAe,CAACY,GAAG,CAAC,UAACV,IAAI;UAAA,OAAKA,IAAI,CAACK,OAAO,IAAIZ,MAAI,CAACjB,WAAW,CAACwB,IAAI,CAACO,EAAE,CAAC;QAAA,EACxE,CAAC;MAEP;MAEA,OAAO,IAAI;IACb;EAAC;IAAA9C,GAAA;IAAAS,KAAA,EAED,SAAA8C,aAAaA,CAAA,EAAoB;MAAA,IAAAC,MAAA;MAC/B,IAAAC,cAAA,GAAyD,IAAI,CAAC5D,OAAO;QAA7DyB,IAAI,GAAAmC,cAAA,CAAJnC,IAAI;QAAEL,QAAQ,GAAAwC,cAAA,CAARxC,QAAQ;QAAEb,UAAU,GAAAqD,cAAA,CAAVrD,UAAU;QAAEsD,gBAAgB,GAAAD,cAAA,CAAhBC,gBAAgB;MAEpD,oBACEnF,MAAA,YAAA6C,aAAA,CAAC3C,CAAA,CAAAkF,SAAS,CAACC,OAAO;QAChBrC,CAAC,EAAEnB,UAAU,GAAGS,SAAS,GAAGI,QAAS;QACrCO,CAAC,EAAEpB,UAAU,GAAGa,QAAQ,GAAGJ,SAAU;QACrCgD,IAAI,EAAE,GAAI;QACVd,OAAO,EAAEW;MAAiB,GAEzB,UAAAI,IAAA,EAA6B;QAAA,IAA1BC,MAAM,GAAAD,IAAA,CAANC,MAAM;UAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;QAChB,IAAMd,KAAK,GAAG9C,UAAU,GAAG4D,MAAM,GAAGD,MAAM;QAC1C,IAAME,QAAQ,GAAG3C,IAAI,CAAC4B,KAAK,CAAC;QAE5B,OAAO;UACLgB,QAAQ,EAAEV,MAAI,CAACW,kBAAkB,CAAC;YAChCP,OAAO,EAAED,WAAS,CAACC,OAAO;YAC1BK,QAAQ,EAARA;UACF,CAAC;QACH,CAAC;MACH,CACiB,CAAC;IAExB;EAAC;IAAAjE,GAAA;IAAAS,KAAA,EAED,SAAU2D,kBAAkBA,CAAA,EAAW;MACrC,OAAO,IAAI,CAACvE,OAAO,CAACwE,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAM,CAAC,CAAC;IACzE;EAAC;IAAAtE,GAAA;IAAAC,GAAA,EAeD,SAAAA,IAAA,EAA4B;MAC1B,IAAAsE,cAAA,GAQI,IAAI,CAAC1E,OAAO;QAAA2E,qBAAA,GAAAD,cAAA,CAPdE,OAAO;QAAPA,OAAO,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAAE,sBAAA,GAAAH,cAAA,CACZI,OAAO;QAAPA,OAAO,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;QACZE,SAAS,GAAAL,cAAA,CAATK,SAAS;QACTC,UAAU,GAAAN,cAAA,CAAVM,UAAU;QACVzE,UAAU,GAAAmE,cAAA,CAAVnE,UAAU;QACVkB,IAAI,GAAAiD,cAAA,CAAJjD,IAAI;QACJL,QAAQ,GAAAsD,cAAA,CAARtD,QAAQ;MAGV,IAAM6D,QAAQ,GAAGxD,IAAI,CAAC,CAAC,CAAC,CAACL,QAAQ,CAAC;MAClC,IAAM8D,KAAK,GAAG3E,UAAU,GACpB,CAACyE,UAAU,GAAGF,OAAO,EAAE,IAAI,CAACK,WAAW,CAAC,GACxC,CAACP,OAAO,EAAEG,SAAS,GAAG,IAAI,CAACI,WAAW,CAAC;MAE3C,IAAIF,QAAQ,YAAYG,IAAI,IAAI,CAACC,MAAM,CAACC,KAAK,CAACL,QAAQ,CAACM,eAAe,CAAC,CAAC,CAAC,EAAE;QACzE,IAAMC,OAAM,GAAG,IAAAC,QAAM,EAAChE,IAAI,EAAEL,QAAQ,CAAC;QAErC,OAAO,IAAAsE,kBAAS,EAACF,OAAM,EAAEN,KAAK,CAAC;MACjC;MAEA,IAAMM,MAAM,GAAG/D,IAAI,CAAC2B,GAAG,CAAC,UAACV,IAAI;QAAA,OAAKA,IAAI,CAACtB,QAAQ,CAAC;MAAA,EAAC;MAEjD,OAAO,IAAAuE,kBAAS,EAACH,MAAM,EAAEN,KAAK,CAAC,CAACU,YAAY,CAAC,GAAG,CAAC,CAACC,YAAY,CAAC,GAAG,CAAC;IACrE;EAAC;IAAA1F,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAyB;MACvB,IAAA0F,cAAA,GAAgF,IAAI,CAAC9F,OAAO;QAAA+F,qBAAA,GAAAD,cAAA,CAApFlB,OAAO;QAAPA,OAAO,GAAAmB,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAAAC,sBAAA,GAAAF,cAAA,CAAEhB,OAAO;QAAPA,OAAO,GAAAkB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;QAAEjB,SAAS,GAAAe,cAAA,CAATf,SAAS;QAAEC,UAAU,GAAAc,cAAA,CAAVd,UAAU;QAAEzE,UAAU,GAAAuF,cAAA,CAAVvF,UAAU;QAAE+B,IAAI,GAAAwD,cAAA,CAAJxD,IAAI;MAE3E,IAAM2D,GAAG,GAAG3D,IAAI,KAAK,OAAO,OAAA4D,cAAA,aAAApH,iBAAA,gCAA2BqH,IAAI,CAACF,GAAG,CAAAG,KAAA,CAARD,IAAI,MAAAE,mBAAA,iBAAAH,cAAA,aAAApH,iBAAA,yBAAwB,CAAC;MAEpF,OAAO,IAAAwH,oBAAW,EAAC,CAAC,CACjBpB,KAAK,CACJ3E,UAAU,GACN,CAACqE,OAAO,EAAEG,SAAS,GAAG,IAAI,CAACI,WAAW,CAAC,GACvC,CAACH,UAAU,GAAGF,OAAO,EAAE,IAAI,CAACK,WAAW,CAC7C,CAAC,CACAK,MAAM,CAAC,CAAC,CAAC,EAAES,GAAG,CAAC,CAAC;IACrB;EAAC;AAAA,EA9N6BM,6BAAa;AAAA,IAAA7G,gBAAA,aAAvCZ,iBAAiB,iBAKA,WAAW;AAAA,IAAAY,gBAAA,aAL5BZ,iBAAiB,aAOJ,CAAC,IAAA0H,uBAAW,EAACC,8CAAiB,CAAC,CAAC;AA0N5C,IAAMC,QAAsB,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,qBAAe,EAAC9H,iBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"BarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart2","_","_intergalacticDynamicLocales","BarChartComponent","_AbstractChart","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","_data","e","barIndex","barKey","onClickBar","asProps","_inherits2","_createClass2","key","get","_this$asProps","xScale","invertAxis","valueScale","categoryScale","_this$asProps2","yScale","value","defaultLegendProps","props","trend","undefined","withTrend","renderTrend","_this$asProps3","groupKey","state","trendItem","createElement","Line","data","x","y","color","style","strokeWidth","strokeDasharray","Dots","display","renderChart","_this2","_this$asProps4","_this$asProps4$type","type","_this$state","dataDefinitions","highlightedLine","item","BarComponent","GroupBar","HorizontalBar","Bar","checked","Fragment","id","onClick","handleClickBar","map","index","commonBarComponentProps","transparent","_extends2","StackBar","renderTooltip","_this3","_this$asProps5","onClickHoverRect","HoverRect","Tooltip","wMin","_ref","xIndex","yIndex","dataItem","children","getTooltipChildren","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","isArray","xTicks","yTicks","childrenX","_ref2","childrenY","_ref3","YAxis","Ticks","primaryText","multiline","ticks","Grid","XAxis","getLegendAriaLabel","getI18nText","chartType","_this$asProps7","_this$asProps7$margin","marginY","_this$asProps7$margin2","marginX","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","scaleBand","paddingInner","paddingOuter","_this$asProps8","_this$asProps8$margin","_this$asProps8$margin2","max","_superPropGet2","Math","apply","_toConsumableArray2","scaleLinear","AbstractChart","i18nEnhance","localizedMessages","BarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/BarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type { BarChartData, BarChartProps, BarChartType } from './BarChart.type';\n// @ts-ignore\nimport { minMax, GroupBar, HoverRect, StackBar, Line, YAxis, XAxis } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport type { BarProps } from '../../types';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass BarChartComponent extends AbstractChart<\n BarChartData,\n BarChartProps,\n typeof BarChartComponent.enhance\n> {\n static displayName = 'Chart.Bar';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, invertAxis } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return invertAxis ? this.valueScale : this.categoryScale;\n }\n\n get yScale() {\n const { yScale, invertAxis } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return invertAxis ? this.categoryScale : this.valueScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n if (this.props.trend !== undefined) {\n return { withTrend: true };\n }\n\n return {};\n }\n\n renderTrend(key: LegendItemKey) {\n const { groupKey, invertAxis, trend } = this.asProps;\n const { withTrend } = this.state;\n const trendItem = trend?.[key];\n\n if (withTrend && trendItem) {\n return (\n <Line\n data={trendItem}\n key={`${key}_${groupKey}`}\n x={invertAxis ? 'y' : 'x'}\n y={invertAxis ? 'x' : 'y'}\n color='wall'\n style={{ strokeWidth: 3, strokeDasharray: 5 }}\n >\n <Line.Dots data={trendItem} display />\n </Line>\n );\n }\n\n return null;\n }\n\n renderChart() {\n const { groupKey, type = 'group', invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (dataDefinitions.length === 1) {\n const item = dataDefinitions[0];\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n return (\n item.checked && (\n <>\n <BarComponent\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n onClick={this.handleClickBar}\n />\n {this.renderTrend(item.id)}\n </>\n )\n );\n }\n\n if (type === 'group') {\n return (\n <>\n <GroupBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n onClick: this.handleClickBar,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </GroupBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n if (type === 'stack') {\n return (\n <>\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n onClick: this.handleClickBar,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n return null;\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis, onClickHoverRect } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n onClick={onClickHoverRect}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected override renderAxis(): React.ReactNode {\n const {\n invertAxis,\n showXAxis,\n showYAxis,\n data,\n axisXValueFormatter,\n axisYValueFormatter,\n multilineXTicks,\n multilineYTicks,\n } = this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks\n ? (\n <YAxis.Ticks primaryText={invertAxis} multiline={multilineYTicks} ticks={yTicks}>{childrenY}</YAxis.Ticks>\n )\n : (\n <YAxis.Ticks primaryText={invertAxis} multiline={multilineYTicks}>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks\n ? (\n <XAxis.Ticks multiline={multilineXTicks} ticks={xTicks}>{childrenX}</XAxis.Ticks>\n )\n : (\n <XAxis.Ticks multiline={multilineXTicks}>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Bar' });\n }\n\n private handleClickBar = (\n _data: BarChartData[0],\n e: React.SyntheticEvent,\n barIndex: number,\n barKey: string,\n ) => {\n const { onClickBar } = this.asProps;\n\n if (onClickBar) {\n onClickBar(barIndex, barKey, e);\n }\n };\n\n private get categoryScale() {\n const {\n marginY = 40,\n marginX = 24,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.4).paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 40, marginX = 24, plotWidth, plotHeight, invertAxis, type } = this.asProps;\n\n const max = type === 'stack' ? super.maxStackedValue : Math.max(...super.flatValues);\n\n return scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max]);\n }\n}\n\nexport const BarChart: BarChartType = createComponent(BarChartComponent);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.type.js","names":[],"sources":["../../../../src/component/Chart/BarChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { AriaNameProps, BaseChartProps } from './AbstractChart.type';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\ntype TrendItem = {\n x: number | string;\n y: number | string;\n};\n\ntype BarKey = string;\n\nexport type BarChartData = Array<Record<BarKey, string | number | Date>>;\n\nexport type BarChartProps = BaseChartProps<BarChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether bars are grouped side-by-side or stacked */\n type?: 'stack' | 'group';\n /** Optional trend line data to overlay on the bars */\n trend?: Record<LegendItemKey, TrendItem[]>;\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, barKey: BarKey, e: React.SyntheticEvent) => void;\n};\n\nexport type BarChartType = Intergalactic.Component<typeof Flex, BarChartProps & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"BarChart.type.js","names":[],"sources":["../../../../src/component/Chart/BarChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { AriaNameProps, BaseChartProps } from './AbstractChart.type';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\ntype TrendItem = {\n x: number | string;\n y: number | string;\n};\n\ntype BarKey = string;\n\nexport type BarChartData = Array<Record<BarKey, string | number | Date>>;\n\nexport type BarChartProps = BaseChartProps<BarChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether bars are grouped side-by-side or stacked */\n type?: 'stack' | 'group';\n /** Optional trend line data to overlay on the bars */\n trend?: Record<LegendItemKey, TrendItem[]>;\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, barKey: BarKey, e: React.SyntheticEvent) => void;\n};\n\nexport type BarChartType = Intergalactic.Component<typeof Flex, BarChartProps & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BubbleChart.type.js","names":[],"sources":["../../../../src/component/Chart/BubbleChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleLinear } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type ScaledValues = {\n x: number[];\n y: number[];\n};\n\nexport type BubbleChartData = Array<{\n x: number;\n y: number;\n value: number;\n label?: string;\n color?: string;\n}>;\n\nexport type BubbleChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<BubbleChartData>,\n 'showTotalInTooltip'\n> & {\n /** Field name that groups the data points */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Callback triggered when a user clicks on a bubble */\n onClickBubble?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type BubbleChartType = Intergalactic.Component<typeof Flex, BubbleChartProps>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"BubbleChart.type.js","names":[],"sources":["../../../../src/component/Chart/BubbleChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type ScaledValues = {\n x: number[];\n y: number[];\n};\n\nexport type BubbleChartData = Array<{\n x: number;\n y: number;\n value: number;\n label?: string;\n color?: string;\n}>;\n\nexport type BubbleChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<BubbleChartData>,\n 'showTotalInTooltip'\n> & {\n /** Field name that groups the data points */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Callback triggered when a user clicks on a bubble */\n onClickBubble?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type BubbleChartType = Intergalactic.Component<typeof Flex, BubbleChartProps>;\n"],"mappings":"","ignoreList":[]}
@@ -16,12 +16,12 @@ var _superPropGet2 = _interopRequireDefault(require("@babel/runtime/helpers/supe
16
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
18
  var _core = require("@semcore/core");
19
+ var _baseComponents = require("@semcore/base-components");
19
20
  var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
20
21
  var _resolveColorEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/resolveColorEnhance"));
21
22
  var _rafTrottle = _interopRequireDefault(require("@semcore/core/lib/utils/rafTrottle"));
22
23
  var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
23
24
  var _divider = _interopRequireDefault(require("@semcore/divider"));
24
- var _flexBox = require("@semcore/flex-box");
25
25
  var _typography = require("@semcore/typography");
26
26
  var _d3Scale = require("d3-scale");
27
27
  var _react = _interopRequireDefault(require("react"));
@@ -295,7 +295,7 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
295
295
  dataDefinitions = _this$state2.dataDefinitions,
296
296
  pX = _this$state2.pX,
297
297
  pY = _this$state2.pY;
298
- var STooltipChildrenWrapper = _flexBox.Box;
298
+ var STooltipChildrenWrapper = _baseComponents.Box;
299
299
  if (!showTooltip) {
300
300
  return null;
301
301
  }
@@ -337,7 +337,7 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
337
337
  };
338
338
  }
339
339
  return {
340
- children: (_ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref4.cn("Flex", {
340
+ children: (_ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_baseComponents.Flex, _ref4.cn("Flex", {
341
341
  "direction": 'column'
342
342
  }), tooltipTitle && /*#__PURE__*/_react["default"].createElement(_.HoverRect.Tooltip.Title, null, "Some tooltip title"), /*#__PURE__*/_react["default"].createElement(STooltipChildrenWrapper, _ref4.cn("STooltipChildrenWrapper", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
343
343
  "columnsCount": showPercentColumn ? '3' : '2',
@@ -391,7 +391,7 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
391
391
  return null;
392
392
  }
393
393
  var total = this.totalValue();
394
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_flexBox.Box, {
394
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_baseComponents.Box, {
395
395
  mt: 2,
396
396
  mr: 2
397
397
  }, "Total"), showPercentValueInTooltip && total !== 0 && /*#__PURE__*/_react["default"].createElement(_typography.Text, {
@@ -415,7 +415,7 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
415
415
  value: function render() {
416
416
  var _ref2 = this.asProps,
417
417
  _ref6;
418
- var SChart = _flexBox.Flex;
418
+ var SChart = _baseComponents.Flex;
419
419
  var _this$asProps5 = this.asProps,
420
420
  styles = _this$asProps5.styles,
421
421
  plotWidth = _this$asProps5.plotWidth,
@@ -431,7 +431,7 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
431
431
  "gap": 6,
432
432
  "direction": 'column',
433
433
  "__excludeProps": ['onClick', 'data']
434
- }, _ref2))), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref5.cn("Flex", {
434
+ }, _ref2))), /*#__PURE__*/_react["default"].createElement(_baseComponents.Flex, _ref5.cn("Flex", {
435
435
  "direction": 'column'
436
436
  }), header, /*#__PURE__*/_react["default"].createElement(_.Plot, _ref5.cn("Plot", {
437
437
  "ref": this.plotRef,
@@ -460,10 +460,10 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
460
460
  "a11yAltTextConfig": a11yAltTextConfig,
461
461
  "onMouseMove": this.onPlotMouseMove,
462
462
  "onMouseLeave": this.onPlotMouseLeave
463
- }), this.renderTooltip(), this.renderChart()), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref6.cn("Flex", {
463
+ }), this.renderTooltip(), this.renderChart()), /*#__PURE__*/_react["default"].createElement(_baseComponents.Flex, _ref6.cn("Flex", {
464
464
  "direction": 'column',
465
465
  "gap": 2
466
- }), header && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_flexBox.Box, _ref6.cn("Box", {}), header), /*#__PURE__*/_react["default"].createElement(_divider["default"], _ref6.cn("Divider", {}))), this.renderLegend()));
466
+ }), header && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_baseComponents.Box, _ref6.cn("Box", {}), header), /*#__PURE__*/_react["default"].createElement(_divider["default"], _ref6.cn("Divider", {}))), this.renderLegend()));
467
467
  }
468
468
  }, {
469
469
  key: "getLegendAriaLabel",