@semcore/d3-chart 17.1.0 → 17.2.0-prerelease.5

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 (260) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Area.js +17 -11
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +28 -16
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +22 -16
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +20 -14
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/CompactHorizontalBar.js +22 -16
  11. package/lib/cjs/CompactHorizontalBar.js.map +1 -1
  12. package/lib/cjs/Donut.js +15 -9
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +8 -8
  15. package/lib/cjs/GroupBar.js +6 -0
  16. package/lib/cjs/GroupBar.js.map +1 -1
  17. package/lib/cjs/HorizontalBar.js +22 -16
  18. package/lib/cjs/HorizontalBar.js.map +1 -1
  19. package/lib/cjs/Hover.js +3 -3
  20. package/lib/cjs/Line.js +15 -9
  21. package/lib/cjs/Line.js.map +1 -1
  22. package/lib/cjs/Plot.js +8 -2
  23. package/lib/cjs/Plot.js.map +1 -1
  24. package/lib/cjs/Radar.js +25 -19
  25. package/lib/cjs/Radar.js.map +1 -1
  26. package/lib/cjs/RadialTree.js +17 -12
  27. package/lib/cjs/RadialTree.js.map +1 -1
  28. package/lib/cjs/Reference.js +12 -12
  29. package/lib/cjs/ResponsiveContainer.js +6 -0
  30. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  31. package/lib/cjs/ScatterPlot.js +15 -9
  32. package/lib/cjs/ScatterPlot.js.map +1 -1
  33. package/lib/cjs/StackBar.js +6 -0
  34. package/lib/cjs/StackBar.js.map +1 -1
  35. package/lib/cjs/StackedArea.js +6 -0
  36. package/lib/cjs/StackedArea.js.map +1 -1
  37. package/lib/cjs/Tooltip.js +10 -9
  38. package/lib/cjs/Tooltip.js.map +1 -1
  39. package/lib/cjs/Venn.js +15 -9
  40. package/lib/cjs/Venn.js.map +1 -1
  41. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  42. package/lib/cjs/a11y/PlotA11yView.js +2 -2
  43. package/lib/cjs/component/Chart/AbstractChart.js +4 -10
  44. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  45. package/lib/cjs/component/Chart/AreaChart.js +12 -0
  46. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  47. package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -1
  48. package/lib/cjs/component/Chart/BarChart.js +12 -0
  49. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  50. package/lib/cjs/component/Chart/BarChart.type.js.map +1 -1
  51. package/lib/cjs/component/Chart/BubbleChart.js +12 -0
  52. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  53. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  54. package/lib/cjs/component/Chart/CigaretteChart.js +9 -3
  55. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  56. package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
  57. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +7 -1
  58. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  59. package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  60. package/lib/cjs/component/Chart/DonutChart.js +6 -0
  61. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  62. package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
  63. package/lib/cjs/component/Chart/HistogramChart.js +12 -0
  64. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  65. package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -1
  66. package/lib/cjs/component/Chart/LineChart.js +12 -0
  67. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  68. package/lib/cjs/component/Chart/LineChart.type.js.map +1 -1
  69. package/lib/cjs/component/Chart/RadarChart.js +12 -0
  70. package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
  71. package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
  72. package/lib/cjs/component/Chart/ScatterPlotChart.js +6 -0
  73. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  74. package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
  75. package/lib/cjs/component/Chart/VennChart.js +6 -0
  76. package/lib/cjs/component/Chart/VennChart.js.map +1 -1
  77. package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
  78. package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  79. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +10 -4
  80. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  81. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  82. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +80 -44
  83. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  84. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +4 -0
  85. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  86. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +12 -6
  87. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  88. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  89. package/lib/cjs/component/Cigarette/Cigarette.js +6 -0
  90. package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
  91. package/lib/cjs/style/plot.shadow.css +1 -1
  92. package/lib/es6/Area.js +17 -11
  93. package/lib/es6/Area.js.map +1 -1
  94. package/lib/es6/Axis.js +28 -16
  95. package/lib/es6/Axis.js.map +1 -1
  96. package/lib/es6/Bar.js +22 -16
  97. package/lib/es6/Bar.js.map +1 -1
  98. package/lib/es6/Bubble.js +20 -14
  99. package/lib/es6/Bubble.js.map +1 -1
  100. package/lib/es6/CompactHorizontalBar.js +22 -16
  101. package/lib/es6/CompactHorizontalBar.js.map +1 -1
  102. package/lib/es6/Donut.js +15 -9
  103. package/lib/es6/Donut.js.map +1 -1
  104. package/lib/es6/Dots.js +8 -8
  105. package/lib/es6/GroupBar.js +6 -0
  106. package/lib/es6/GroupBar.js.map +1 -1
  107. package/lib/es6/HorizontalBar.js +22 -16
  108. package/lib/es6/HorizontalBar.js.map +1 -1
  109. package/lib/es6/Hover.js +3 -3
  110. package/lib/es6/Line.js +15 -9
  111. package/lib/es6/Line.js.map +1 -1
  112. package/lib/es6/Plot.js +8 -2
  113. package/lib/es6/Plot.js.map +1 -1
  114. package/lib/es6/Radar.js +25 -19
  115. package/lib/es6/Radar.js.map +1 -1
  116. package/lib/es6/RadialTree.js +17 -12
  117. package/lib/es6/RadialTree.js.map +1 -1
  118. package/lib/es6/Reference.js +12 -12
  119. package/lib/es6/ResponsiveContainer.js +6 -0
  120. package/lib/es6/ResponsiveContainer.js.map +1 -1
  121. package/lib/es6/ScatterPlot.js +15 -9
  122. package/lib/es6/ScatterPlot.js.map +1 -1
  123. package/lib/es6/StackBar.js +6 -0
  124. package/lib/es6/StackBar.js.map +1 -1
  125. package/lib/es6/StackedArea.js +6 -0
  126. package/lib/es6/StackedArea.js.map +1 -1
  127. package/lib/es6/Tooltip.js +10 -9
  128. package/lib/es6/Tooltip.js.map +1 -1
  129. package/lib/es6/Venn.js +15 -9
  130. package/lib/es6/Venn.js.map +1 -1
  131. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  132. package/lib/es6/a11y/PlotA11yView.js +2 -2
  133. package/lib/es6/component/Chart/AbstractChart.js +4 -10
  134. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  135. package/lib/es6/component/Chart/AreaChart.js +12 -0
  136. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  137. package/lib/es6/component/Chart/AreaChart.type.js.map +1 -1
  138. package/lib/es6/component/Chart/BarChart.js +12 -0
  139. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  140. package/lib/es6/component/Chart/BarChart.type.js.map +1 -1
  141. package/lib/es6/component/Chart/BubbleChart.js +12 -0
  142. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  143. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  144. package/lib/es6/component/Chart/CigaretteChart.js +9 -3
  145. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  146. package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
  147. package/lib/es6/component/Chart/CompactHorizontalBarChart.js +7 -1
  148. package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  149. package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  150. package/lib/es6/component/Chart/DonutChart.js +6 -0
  151. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  152. package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
  153. package/lib/es6/component/Chart/HistogramChart.js +12 -0
  154. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  155. package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -1
  156. package/lib/es6/component/Chart/LineChart.js +12 -0
  157. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  158. package/lib/es6/component/Chart/LineChart.type.js.map +1 -1
  159. package/lib/es6/component/Chart/RadarChart.js +12 -0
  160. package/lib/es6/component/Chart/RadarChart.js.map +1 -1
  161. package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
  162. package/lib/es6/component/Chart/ScatterPlotChart.js +6 -0
  163. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  164. package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
  165. package/lib/es6/component/Chart/VennChart.js +7 -0
  166. package/lib/es6/component/Chart/VennChart.js.map +1 -1
  167. package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
  168. package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  169. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +10 -4
  170. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  171. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  172. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +80 -44
  173. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  174. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +4 -0
  175. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  176. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +12 -6
  177. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  178. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  179. package/lib/es6/component/Cigarette/Cigarette.js +6 -0
  180. package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
  181. package/lib/es6/style/plot.shadow.css +1 -1
  182. package/lib/esm/AnimatedClipPath.mjs +2 -2
  183. package/lib/esm/Area.mjs +13 -13
  184. package/lib/esm/Axis.mjs +19 -19
  185. package/lib/esm/Bar.mjs +18 -18
  186. package/lib/esm/Bubble.mjs +16 -16
  187. package/lib/esm/CompactHorizontalBar.mjs +18 -18
  188. package/lib/esm/Donut.mjs +11 -11
  189. package/lib/esm/Dots.mjs +9 -9
  190. package/lib/esm/GroupBar.mjs +1 -1
  191. package/lib/esm/HorizontalBar.mjs +18 -18
  192. package/lib/esm/Hover.mjs +5 -5
  193. package/lib/esm/Line.mjs +11 -11
  194. package/lib/esm/Pattern.mjs +1 -1
  195. package/lib/esm/Plot.mjs +4 -4
  196. package/lib/esm/Radar.mjs +21 -21
  197. package/lib/esm/RadialTree.mjs +14 -14
  198. package/lib/esm/Reference.mjs +14 -14
  199. package/lib/esm/ResponsiveContainer.mjs +1 -1
  200. package/lib/esm/ScatterPlot.mjs +11 -11
  201. package/lib/esm/StackBar.mjs +1 -1
  202. package/lib/esm/StackedArea.mjs +1 -1
  203. package/lib/esm/Tooltip.mjs +12 -11
  204. package/lib/esm/Venn.mjs +12 -12
  205. package/lib/esm/a11y/PlotA11yModule.mjs +4 -4
  206. package/lib/esm/a11y/PlotA11yView.mjs +3 -3
  207. package/lib/esm/component/Chart/AbstractChart.mjs +6 -12
  208. package/lib/esm/component/Chart/AreaChart.mjs +7 -1
  209. package/lib/esm/component/Chart/BarChart.mjs +8 -2
  210. package/lib/esm/component/Chart/BubbleChart.mjs +7 -1
  211. package/lib/esm/component/Chart/CigaretteChart.mjs +3 -3
  212. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +2 -2
  213. package/lib/esm/component/Chart/DonutChart.mjs +1 -1
  214. package/lib/esm/component/Chart/HistogramChart.mjs +8 -2
  215. package/lib/esm/component/Chart/LineChart.mjs +7 -1
  216. package/lib/esm/component/Chart/RadarChart.mjs +7 -1
  217. package/lib/esm/component/Chart/ScatterPlotChart.mjs +1 -1
  218. package/lib/esm/component/Chart/VennChart.mjs +1 -1
  219. package/lib/esm/component/ChartLegend/BaseLegend.mjs +1 -1
  220. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +6 -6
  221. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +76 -46
  222. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.type.mjs +4 -0
  223. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +8 -8
  224. package/lib/esm/component/Cigarette/Cigarette.mjs +1 -1
  225. package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +1 -1
  226. package/lib/esm/createElement.mjs +1 -1
  227. package/lib/esm/style/plot.shadow.css +1 -1
  228. package/lib/types/RadialTree.d.ts +5 -0
  229. package/lib/types/component/Chart/AbstractChart.d.ts +2 -2
  230. package/lib/types/component/Chart/AreaChart.d.ts +5 -0
  231. package/lib/types/component/Chart/AreaChart.type.d.ts +6 -0
  232. package/lib/types/component/Chart/BarChart.d.ts +5 -0
  233. package/lib/types/component/Chart/BarChart.type.d.ts +6 -0
  234. package/lib/types/component/Chart/BubbleChart.d.ts +5 -0
  235. package/lib/types/component/Chart/BubbleChart.type.d.ts +6 -0
  236. package/lib/types/component/Chart/CigaretteChart.d.ts +5 -0
  237. package/lib/types/component/Chart/CigaretteChart.type.d.ts +14 -0
  238. package/lib/types/component/Chart/CompactHorizontalBarChart.d.ts +5 -0
  239. package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +7 -0
  240. package/lib/types/component/Chart/DonutChart.d.ts +5 -0
  241. package/lib/types/component/Chart/DonutChart.type.d.ts +7 -0
  242. package/lib/types/component/Chart/HistogramChart.d.ts +5 -0
  243. package/lib/types/component/Chart/HistogramChart.type.d.ts +6 -0
  244. package/lib/types/component/Chart/LineChart.d.ts +5 -0
  245. package/lib/types/component/Chart/LineChart.type.d.ts +6 -0
  246. package/lib/types/component/Chart/RadarChart.d.ts +5 -0
  247. package/lib/types/component/Chart/RadarChart.type.d.ts +6 -0
  248. package/lib/types/component/Chart/ScatterPlotChart.d.ts +5 -0
  249. package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +7 -0
  250. package/lib/types/component/Chart/VennChart.d.ts +5 -0
  251. package/lib/types/component/Chart/VennChart.type.d.ts +6 -0
  252. package/lib/types/component/ChartLegend/BaseLegend.d.ts +2 -2
  253. package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.d.ts +5 -0
  254. package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.type.d.ts +4 -0
  255. package/lib/types/component/ChartLegend/LegendItem/LegendItem.d.ts +5 -0
  256. package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +15 -7
  257. package/lib/types/component/ChartLegend/LegendTable/LegendTable.d.ts +5 -0
  258. package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +3 -0
  259. package/lib/types/component/Cigarette/Cigarette.d.ts +5 -0
  260. package/package.json +13 -13
@@ -10,10 +10,10 @@ import { makeDataSummarizationConfig } from './hints';
10
10
  import { getIntl } from './intl';
11
11
  import { summarize } from './summarize';
12
12
  /*!__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
13
- const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_1tcnu_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255));color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));border:3px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));font-size:var(--intergalactic-fs-50, 10px);z-index:var(--intergalactic-z-index-overlay, 500);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_1tcnu_gg_{border:3px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPlotA11yView_1tcnu_gg_{border:3px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SPlotA11yView_1tcnu_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_1tcnu_gg_ table,.___SPlotA11yView_1tcnu_gg_ td,.___SPlotA11yView_1tcnu_gg_ th{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_1tcnu_gg_ table,.___SPlotA11yView_1tcnu_gg_ td,.___SPlotA11yView_1tcnu_gg_ th{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPlotA11yView_1tcnu_gg_ table,.___SPlotA11yView_1tcnu_gg_ td,.___SPlotA11yView_1tcnu_gg_ th{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}", /*__inner_css_end__*/"1tcnu_gg_"),
13
+ const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_ufc1r_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral,#fff);color:var(--intergalactic-text-primary,#010500e5);border:3px solid var(--intergalactic-border-primary,#000c0829);font-size:var(--intergalactic-fs-50,10px);z-index:var(--intergalactic-z-index-overlay,500);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_ufc1r_gg_{border:3px solid var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPlotA11yView_ufc1r_gg_{border:3px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}.___SPlotA11yView_ufc1r_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x,8px);display:block}.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPlotA11yView_ufc1r_gg_ :is(table,td,th){border:1px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}", /*__inner_css_end__*/"ufc1r_gg_"),
14
14
  /*__reshadow_css_end__*/
15
15
  {
16
- "__SPlotA11yView": "___SPlotA11yView_1tcnu_gg_"
16
+ "__SPlotA11yView": "___SPlotA11yView_ufc1r_gg_"
17
17
  });
18
18
  import { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';
19
19
  export function PlotA11yView({
@@ -15,12 +15,12 @@ import React, { Fragment } from 'react';
15
15
  import { Plot, XAxis, YAxis } from '../..';
16
16
  import { makeDataHintsContainer } from '../../a11y/hints';
17
17
  /*!__reshadow-styles__:"../../style/abstract-chart.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltipChildrenWrapper_1psc9_gg_{display:grid;grid-column-gap:var(--intergalactic-spacing-2x, 8px);-moz-column-gap:var(--intergalactic-spacing-2x, 8px);column-gap:var(--intergalactic-spacing-2x, 8px)}.___STooltipChildrenWrapper_1psc9_gg_._columnsCount_2_1psc9_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_1psc9_gg_._columnsCount_3_1psc9_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"1psc9_gg_"),
18
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltipChildrenWrapper_1snkx_gg_{display:grid;grid-column-gap:var(--intergalactic-spacing-2x,8px);-moz-column-gap:var(--intergalactic-spacing-2x,8px);column-gap:var(--intergalactic-spacing-2x,8px)}.___STooltipChildrenWrapper_1snkx_gg_._columnsCount_2_1snkx_gg_{grid-template-columns:auto minmax(28px,max-content)}.___STooltipChildrenWrapper_1snkx_gg_._columnsCount_3_1snkx_gg_{grid-template-columns:auto minmax(28px,max-content) minmax(28px,max-content)}", /*__inner_css_end__*/"1snkx_gg_"),
19
19
  /*__reshadow_css_end__*/
20
20
  {
21
- "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_1psc9_gg_",
22
- "_columnsCount_2": "_columnsCount_2_1psc9_gg_",
23
- "_columnsCount_3": "_columnsCount_3_1psc9_gg_"
21
+ "__STooltipChildrenWrapper": "___STooltipChildrenWrapper_1snkx_gg_",
22
+ "_columnsCount_2": "_columnsCount_2_1snkx_gg_",
23
+ "_columnsCount_3": "_columnsCount_3_1snkx_gg_"
24
24
  });
25
25
  import { interpolateValue } from '../../utils';
26
26
  import ChartLegend, { ChartLegendTable } from '../ChartLegend';
@@ -478,10 +478,4 @@ export class AbstractChart extends Component {
478
478
  }
479
479
  }
480
480
  _defineProperty(AbstractChart, "style", style);
481
- _defineProperty(AbstractChart, "defaultProps", {
482
- direction: 'column',
483
- showXAxis: true,
484
- showYAxis: true,
485
- showTooltip: true
486
- });
487
481
  //# sourceMappingURL=AbstractChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.js","names":["Flex","Box","Component","Root","sstyled","extractAriaProps","callAllEventHandlers","Text","React","Fragment","Plot","XAxis","YAxis","makeDataHintsContainer","style","_sstyled","insert","interpolateValue","ChartLegend","ChartLegendTable","NOT_A_VALUE","AbstractChart","constructor","props","_defineProperty","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","state","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","componentDidUpdate","prevProps","data","legendProps","setState","dataKeys","map","key","index","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","value","dataValue","Map","get","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","use","groupKey","keys","filter","xTicks","invertAxis","xTicksCount","yTicksCount","asProps","scale","xScale","ticks","yTicks","yScale","flatValues","result","item","add","entries","forEach","Set","maxStackedValue","max","val","barSum","Date","isNaN","getMilliseconds","totalValue","allNotAValue","legendItem","NaN","getValueScale","Math","min","avg","round","log10","valueScale","isVisible","prevState","findIndex","line","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","direction","showLegend","patterns","length","lProps","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","childrenX","children","childrenY","Ticks","multiline","Grid","getTooltipChildren","options","_ref","_ref3","STooltipChildrenWrapper","Tooltip","dataItem","styles","title","cn","Title","_assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","extractedAriaProps","_assignProps2","renderTooltip","renderChart"],"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
+ {"version":3,"file":"AbstractChart.js","names":["Flex","Box","Component","Root","sstyled","extractAriaProps","callAllEventHandlers","Text","React","Fragment","Plot","XAxis","YAxis","makeDataHintsContainer","style","_sstyled","insert","interpolateValue","ChartLegend","ChartLegendTable","NOT_A_VALUE","AbstractChart","constructor","props","_defineProperty","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","state","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","componentDidUpdate","prevProps","data","legendProps","setState","dataKeys","map","key","index","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","value","dataValue","Map","get","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","use","groupKey","keys","filter","xTicks","invertAxis","xTicksCount","yTicksCount","asProps","scale","xScale","ticks","yTicks","yScale","flatValues","result","item","add","entries","forEach","Set","maxStackedValue","max","val","barSum","Date","isNaN","getMilliseconds","totalValue","allNotAValue","legendItem","NaN","getValueScale","Math","min","avg","round","log10","valueScale","isVisible","prevState","findIndex","line","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","direction","showLegend","patterns","length","lProps","commonLegendProps","dataHints","size","shape","w","h","disableSelectItems","onChangeVisibleItem","disableHoverItems","onMouseEnterItem","onMouseLeaveItem","getLegendAriaLabel","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","childrenX","children","childrenY","Ticks","multiline","Grid","getTooltipChildren","options","_ref","_ref3","STooltipChildrenWrapper","Tooltip","dataItem","styles","title","cn","Title","_assignProps","Dot","mr","textAlign","bold","renderTooltipTotalLine","showTotalInTooltip","mt","render","_ref2","_ref4","SChart","plotWidth","plotHeight","a11yAltTextConfig","duration","eventEmitter","showTooltip","extractedAriaProps","_assignProps2","renderTooltip","renderChart"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { Flex, Box } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\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 InnerProps = {},\n State extends ChartState = ChartState,\n DefaultProps extends Intergalactic.InternalTypings.ValidDefaultProps<DefaultProps, Props & InnerProps> = never,\n> extends Component<Props, Enhancers, Readonly<{}>, InnerProps, State, DefaultProps> {\n public static style = style;\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":[]}
@@ -112,7 +112,19 @@ class AreaChartComponent extends AbstractChart {
112
112
  });
113
113
  }
114
114
  }
115
+
116
+ /**
117
+ * AreaChart
118
+ *
119
+ * {@link https://developer.semrush.com/intergalactic/data-display/area-chart/area-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/area-chart/area-chart-code/|Examples}
120
+ */
115
121
  _defineProperty(AreaChartComponent, "displayName", 'Chart.Area');
116
122
  _defineProperty(AreaChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
123
+ _defineProperty(AreaChartComponent, "defaultProps", {
124
+ direction: 'column',
125
+ showXAxis: true,
126
+ showYAxis: true,
127
+ showTooltip: true
128
+ });
117
129
  export const AreaChart = createComponent(AreaChartComponent);
118
130
  //# sourceMappingURL=AreaChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart.js","names":["createComponent","i18nEnhance","scaleLinear","scaleTime","React","Area","minMax","HoverLine","StackedArea","AbstractChart","localizedMessages","AreaChartComponent","xScale","marginY","plotWidth","data","groupKey","asProps","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","yScale","marginX","plotHeight","stacked","flatValues","min","Math","max","maxStackedValue","renderChart","curve","showDots","onClickArea","dataDefinitions","highlightedLine","state","createElement","x","map","item","index","checked","y","id","key","color","transparent","onClick","Dots","display","renderTooltip","Tooltip","wMin","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty","AreaChart"],"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
+ {"version":3,"file":"AreaChart.js","names":["createComponent","i18nEnhance","scaleLinear","scaleTime","React","Area","minMax","HoverLine","StackedArea","AbstractChart","localizedMessages","AreaChartComponent","xScale","marginY","plotWidth","data","groupKey","asProps","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","yScale","marginX","plotHeight","stacked","flatValues","min","Math","max","maxStackedValue","renderChart","curve","showDots","onClickArea","dataDefinitions","highlightedLine","state","createElement","x","map","item","index","checked","y","id","key","color","transparent","onClick","Dots","display","renderTooltip","Tooltip","wMin","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","showXAxis","showYAxis","showTooltip","AreaChart"],"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 type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { AreaChartData, AreaChartProps, AreaChartType, AreaChartDefaultProps } 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 ChartState,\n AreaChartDefaultProps\n> {\n static displayName = 'Chart.Area';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } 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\n/**\n * AreaChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/area-chart/area-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/area-chart/area-chart-code/|Examples}\n */\nexport const AreaChart = createComponent<\n AreaChartType,\n typeof AreaChartComponent\n>(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 { 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":[]}
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 AreaChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type AreaChartType = Intergalactic.Component<typeof Flex, Intergalactic.InternalTypings.EfficientOmit<AreaChartProps, 'showLegend'> & { showLegend?: boolean } & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
@@ -248,7 +248,19 @@ class BarChartComponent extends AbstractChart {
248
248
  return scaleLinear().range(invertAxis ? [marginY, plotWidth - this.plotPadding] : [plotHeight - marginX, this.plotPadding]).domain([0, max]);
249
249
  }
250
250
  }
251
+
252
+ /**
253
+ * BarChart
254
+ *
255
+ * {@link https://developer.semrush.com/intergalactic/data-display/bar-chart/bar-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bar-chart/bar-chart-code/|Examples}
256
+ */
251
257
  _defineProperty(BarChartComponent, "displayName", 'Chart.Bar');
252
258
  _defineProperty(BarChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
259
+ _defineProperty(BarChartComponent, "defaultProps", {
260
+ direction: 'column',
261
+ showXAxis: true,
262
+ showYAxis: true,
263
+ showTooltip: true
264
+ });
253
265
  export const BarChart = createComponent(BarChartComponent);
254
266
  //# sourceMappingURL=BarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.js","names":["createComponent","i18nEnhance","scaleBand","scaleLinear","scaleTime","React","AbstractChart","minMax","GroupBar","HoverRect","StackBar","Line","YAxis","XAxis","localizedMessages","BarChartComponent","constructor","args","_defineProperty","_data","e","barIndex","barKey","onClickBar","asProps","xScale","invertAxis","valueScale","categoryScale","yScale","defaultLegendProps","props","trend","undefined","withTrend","renderTrend","key","groupKey","state","trendItem","createElement","data","x","y","color","style","strokeWidth","strokeDasharray","Dots","display","renderChart","type","dataDefinitions","highlightedLine","length","item","BarComponent","HorizontalBar","Bar","checked","Fragment","id","onClick","handleClickBar","map","index","commonBarComponentProps","transparent","_extends","renderTooltip","onClickHoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","Array","isArray","xTicks","yTicks","childrenX","value","childrenY","Ticks","primaryText","multiline","ticks","Grid","getLegendAriaLabel","getI18nText","chartType","marginY","marginX","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","paddingInner","paddingOuter","max","maxStackedValue","Math","flatValues","BarChart"],"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
+ {"version":3,"file":"BarChart.js","names":["createComponent","i18nEnhance","scaleBand","scaleLinear","scaleTime","React","AbstractChart","minMax","GroupBar","HoverRect","StackBar","Line","YAxis","XAxis","localizedMessages","BarChartComponent","constructor","args","_defineProperty","_data","e","barIndex","barKey","onClickBar","asProps","xScale","invertAxis","valueScale","categoryScale","yScale","defaultLegendProps","props","trend","undefined","withTrend","renderTrend","key","groupKey","state","trendItem","createElement","data","x","y","color","style","strokeWidth","strokeDasharray","Dots","display","renderChart","type","dataDefinitions","highlightedLine","length","item","BarComponent","HorizontalBar","Bar","checked","Fragment","id","onClick","handleClickBar","map","index","commonBarComponentProps","transparent","_extends","renderTooltip","onClickHoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","renderAxis","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","multilineXTicks","multilineYTicks","Array","isArray","xTicks","yTicks","childrenX","value","childrenY","Ticks","primaryText","multiline","ticks","Grid","getLegendAriaLabel","getI18nText","chartType","marginY","marginX","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","paddingInner","paddingOuter","max","maxStackedValue","Math","flatValues","direction","showTooltip","BarChart"],"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 type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type { BarChartData, BarChartProps, BarChartType, BarChartDefaultProps } 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 ChartState,\n BarChartDefaultProps\n> {\n static displayName = 'Chart.Bar';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } 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\n/**\n * BarChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/bar-chart/bar-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bar-chart/bar-chart-code/|Examples}\n */\nexport const BarChart = createComponent<\n BarChartType,\n typeof BarChartComponent\n>(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 { 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
+ {"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 BarChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type BarChartType = Intergalactic.Component<typeof Flex, BarChartProps & AriaNameProps>;\n"],"mappings":"","ignoreList":[]}
@@ -123,7 +123,19 @@ class BubbleChartComponent extends AbstractChart {
123
123
  });
124
124
  }
125
125
  }
126
+
127
+ /**
128
+ * BubbleChart
129
+ *
130
+ * {@link https://developer.semrush.com/intergalactic/data-display/bubble-chart/bubble-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bubble-chart/bubble-chart-code/|Examples}
131
+ */
126
132
  _defineProperty(BubbleChartComponent, "displayName", 'Chart.Bubble');
127
133
  _defineProperty(BubbleChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
134
+ _defineProperty(BubbleChartComponent, "defaultProps", {
135
+ direction: 'column',
136
+ showXAxis: true,
137
+ showYAxis: true,
138
+ showTooltip: true
139
+ });
128
140
  export const BubbleChart = createComponent(BubbleChartComponent);
129
141
  //# sourceMappingURL=BubbleChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BubbleChart.js","names":["createComponent","i18nEnhance","Text","scaleLinear","React","Bubble","calculateBubbleDomain","AbstractChart","localizedMessages","BubbleChartComponent","dataKeys","data","props","map","_","index","toString","getDefaultDataDefinitions","legendProps","item","key","legendData","legendMap","color","undefined","resolveColor","dataDefinition","id","label","icon","checked","defaultChecked","columns","additionalInfo","count","xScale","marginY","plotWidth","asProps","range","plotPadding","domain","yScale","marginX","plotHeight","defaultLegendProps","shape","renderChart","onClickBubble","dataDefinitions","state","createElement","onClick","x","y","value","Circle","visible","renderTooltip","Tooltip","children","Fragment","Title","tag","getLegendAriaLabel","getI18nText","chartType","_defineProperty","BubbleChart"],"sources":["../../../../src/component/Chart/BubbleChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear, type ScaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bubble, calculateBubbleDomain } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { BubbleChartData, BubbleChartProps, BubbleChartType } from './BubbleChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass BubbleChartComponent extends AbstractChart<\n BubbleChartData,\n BubbleChartProps,\n typeof BubbleChartComponent.enhance\n> {\n static displayName = 'Chart.Bubble';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected get dataKeys(): string[] {\n const { data } = this.props;\n\n return data.map((_, index) => index.toString());\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const { legendProps, data } = this.props;\n\n return data.map((item, index) => {\n const key = index.toString();\n const legendData = legendProps?.legendMap?.[key];\n\n if (item.color === undefined) {\n item.color = this.resolveColor(key, index);\n }\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? item.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: item.color,\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 return dataDefinition;\n });\n }\n\n get xScale() {\n const { xScale, marginY = 30, plotWidth, data } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = calculateBubbleDomain(data, 'x', range);\n\n return scaleLinear().domain(domain).range(range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, data } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const range = [plotHeight - marginX, this.plotPadding];\n const domain = calculateBubbleDomain(data, 'y', range);\n\n return scaleLinear().domain(domain).range(range);\n }\n\n defaultLegendProps() {\n return {\n shape: 'Circle' as const,\n };\n }\n\n renderChart() {\n const { onClickBubble } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Bubble onClick={onClickBubble} x='x' y='y' value='value' color='color' label='label'>\n {dataDefinitions.map(({ checked, id }, index) => (\n <Bubble.Circle visible={checked} key={id} index={index} />\n ))}\n </Bubble>\n );\n }\n\n renderTooltip() {\n return (\n <Bubble.Tooltip>\n {({ index, data }: any) => {\n return {\n children: (\n <>\n <Bubble.Tooltip.Title>Data</Bubble.Tooltip.Title>\n <Text tag='div'>\n X axis\n {' '}\n {data[index].x}\n </Text>\n <Text tag='div'>\n Y axis\n {' '}\n {data[index].y}\n </Text>\n <Text tag='div'>\n Value\n {' '}\n {data[index].value}\n </Text>\n </>\n ),\n };\n }}\n </Bubble.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Bubble' });\n }\n}\n\nexport const BubbleChart: BubbleChartType = createComponent(BubbleChartComponent);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BubbleChart.js","names":["createComponent","i18nEnhance","Text","scaleLinear","React","Bubble","calculateBubbleDomain","AbstractChart","localizedMessages","BubbleChartComponent","dataKeys","data","props","map","_","index","toString","getDefaultDataDefinitions","legendProps","item","key","legendData","legendMap","color","undefined","resolveColor","dataDefinition","id","label","icon","checked","defaultChecked","columns","additionalInfo","count","xScale","marginY","plotWidth","asProps","range","plotPadding","domain","yScale","marginX","plotHeight","defaultLegendProps","shape","renderChart","onClickBubble","dataDefinitions","state","createElement","onClick","x","y","value","Circle","visible","renderTooltip","Tooltip","children","Fragment","Title","tag","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","showXAxis","showYAxis","showTooltip","BubbleChart"],"sources":["../../../../src/component/Chart/BubbleChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear, type ScaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bubble, calculateBubbleDomain } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { BubbleChartData, BubbleChartProps, BubbleChartType, BubbleChartDefaultProps } from './BubbleChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass BubbleChartComponent extends AbstractChart<\n BubbleChartData,\n BubbleChartProps,\n typeof BubbleChartComponent.enhance,\n {},\n ChartState,\n BubbleChartDefaultProps\n> {\n static displayName = 'Chart.Bubble';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n protected get dataKeys(): string[] {\n const { data } = this.props;\n\n return data.map((_, index) => index.toString());\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const { legendProps, data } = this.props;\n\n return data.map((item, index) => {\n const key = index.toString();\n const legendData = legendProps?.legendMap?.[key];\n\n if (item.color === undefined) {\n item.color = this.resolveColor(key, index);\n }\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? item.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: item.color,\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 return dataDefinition;\n });\n }\n\n get xScale() {\n const { xScale, marginY = 30, plotWidth, data } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = calculateBubbleDomain(data, 'x', range);\n\n return scaleLinear().domain(domain).range(range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, data } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const range = [plotHeight - marginX, this.plotPadding];\n const domain = calculateBubbleDomain(data, 'y', range);\n\n return scaleLinear().domain(domain).range(range);\n }\n\n defaultLegendProps() {\n return {\n shape: 'Circle' as const,\n };\n }\n\n renderChart() {\n const { onClickBubble } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Bubble onClick={onClickBubble} x='x' y='y' value='value' color='color' label='label'>\n {dataDefinitions.map(({ checked, id }, index) => (\n <Bubble.Circle visible={checked} key={id} index={index} />\n ))}\n </Bubble>\n );\n }\n\n renderTooltip() {\n return (\n <Bubble.Tooltip>\n {({ index, data }: any) => {\n return {\n children: (\n <>\n <Bubble.Tooltip.Title>Data</Bubble.Tooltip.Title>\n <Text tag='div'>\n X axis\n {' '}\n {data[index].x}\n </Text>\n <Text tag='div'>\n Y axis\n {' '}\n {data[index].y}\n </Text>\n <Text tag='div'>\n Value\n {' '}\n {data[index].value}\n </Text>\n </>\n ),\n };\n }}\n </Bubble.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Bubble' });\n }\n}\n\n/**\n * BubbleChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/bubble-chart/bubble-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bubble-chart/bubble-chart-code/|Examples}\n */\nexport const BubbleChart = createComponent<\n BubbleChartType,\n typeof BubbleChartComponent\n>(BubbleChartComponent);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
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":[]}
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 BubbleChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type BubbleChartType = Intergalactic.Component<typeof Flex, BubbleChartProps>;\n"],"mappings":"","ignoreList":[]}
@@ -32,13 +32,13 @@ class CigaretteChartComponent extends AbstractChart {
32
32
  _defineProperty(this, "onPlotMouseMove", trottle(event => {
33
33
  if (!this.plotRef.current) return;
34
34
  const [pX, pY] = eventToPoint(event, this.plotRef.current);
35
- this.setState(prevState => ({
35
+ this.setState(() => ({
36
36
  pX,
37
37
  pY
38
38
  }));
39
39
  }));
40
40
  _defineProperty(this, "onPlotMouseLeave", trottle(() => {
41
- this.setState(prevState => ({
41
+ this.setState(() => ({
42
42
  pX: null,
43
43
  pY: null
44
44
  }));
@@ -452,11 +452,17 @@ class CigaretteChartComponent extends AbstractChart {
452
452
  return scaleThreshold(domain, range);
453
453
  }
454
454
  }
455
+
456
+ /**
457
+ * CigaretteChart
458
+ *
459
+ * {@link https://developer.semrush.com/intergalactic/data-display/cigarette-chart/cigarette-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/cigarette-chart/cigarette-chart-code/|Examples}
460
+ */
455
461
  _defineProperty(CigaretteChartComponent, "displayName", 'Cigarette.Bar');
456
462
  _defineProperty(CigaretteChartComponent, "defaultProps", props => {
457
463
  const invertAxis = props.invertAxis ?? true;
458
464
  return {
459
- invertAxis: invertAxis,
465
+ invertAxis,
460
466
  showXAxis: false,
461
467
  showYAxis: false,
462
468
  showTooltip: true,