@fluentui/react-charting 5.17.12 → 5.18.1

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 (313) hide show
  1. package/CHANGELOG.json +45 -1
  2. package/CHANGELOG.md +25 -2
  3. package/config/api-extractor.json +3 -0
  4. package/dist/react-charting.d.ts +3637 -0
  5. package/dist/react-charting.js +1 -1
  6. package/dist/react-charting.min.js +1 -1
  7. package/etc/react-charting.api.md +1518 -0
  8. package/lib/components/AreaChart/AreaChart.d.ts +4 -0
  9. package/lib/components/AreaChart/AreaChart.js +4 -0
  10. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  11. package/lib/components/AreaChart/AreaChart.types.d.ts +4 -0
  12. package/lib/components/AreaChart/AreaChart.types.js.map +1 -1
  13. package/lib/components/CommonComponents/CartesianChart.types.d.ts +1 -1
  14. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  15. package/lib/components/DonutChart/DonutChart.d.ts +4 -0
  16. package/lib/components/DonutChart/DonutChart.js +4 -0
  17. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  18. package/lib/components/DonutChart/DonutChart.types.d.ts +4 -0
  19. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  20. package/lib/components/GaugeChart/GaugeChart.d.ts +4 -0
  21. package/lib/components/GaugeChart/GaugeChart.js +4 -0
  22. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  23. package/lib/components/GaugeChart/GaugeChart.types.d.ts +8 -0
  24. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  25. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +1 -0
  26. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +13 -8
  27. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  28. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +4 -0
  29. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +4 -0
  30. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  31. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +10 -6
  32. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  33. package/lib/components/HeatMapChart/HeatMapChart.d.ts +4 -0
  34. package/lib/components/HeatMapChart/HeatMapChart.js +4 -0
  35. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  36. package/lib/components/HeatMapChart/HeatMapChart.types.d.ts +4 -0
  37. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  38. package/lib/components/HorizontalBarChart/HorizontalBarChart.d.ts +4 -0
  39. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +4 -0
  40. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  41. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +5 -1
  42. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  43. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +4 -0
  44. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +4 -0
  45. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  46. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +4 -0
  47. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  48. package/lib/components/Legends/Legends.d.ts +4 -0
  49. package/lib/components/Legends/Legends.js +4 -0
  50. package/lib/components/Legends/Legends.js.map +1 -1
  51. package/lib/components/Legends/Legends.types.d.ts +20 -0
  52. package/lib/components/Legends/Legends.types.js.map +1 -1
  53. package/lib/components/LineChart/LineChart.d.ts +4 -0
  54. package/lib/components/LineChart/LineChart.js +4 -0
  55. package/lib/components/LineChart/LineChart.js.map +1 -1
  56. package/lib/components/LineChart/LineChart.types.d.ts +4 -0
  57. package/lib/components/LineChart/LineChart.types.js.map +1 -1
  58. package/lib/components/PieChart/PieChart.d.ts +4 -0
  59. package/lib/components/PieChart/PieChart.js +4 -0
  60. package/lib/components/PieChart/PieChart.js.map +1 -1
  61. package/lib/components/PieChart/PieChart.types.d.ts +4 -0
  62. package/lib/components/PieChart/PieChart.types.js.map +1 -1
  63. package/lib/components/SankeyChart/SankeyChart.d.ts +4 -0
  64. package/lib/components/SankeyChart/SankeyChart.js +4 -0
  65. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  66. package/lib/components/SankeyChart/SankeyChart.types.d.ts +4 -0
  67. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  68. package/lib/components/Sparkline/Sparkline.d.ts +4 -0
  69. package/lib/components/Sparkline/Sparkline.js +4 -0
  70. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  71. package/lib/components/Sparkline/Sparkline.types.d.ts +4 -0
  72. package/lib/components/Sparkline/Sparkline.types.js.map +1 -1
  73. package/lib/components/StackedBarChart/MultiStackedBarChart.d.ts +4 -0
  74. package/lib/components/StackedBarChart/MultiStackedBarChart.js +4 -0
  75. package/lib/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  76. package/lib/components/StackedBarChart/MultiStackedBarChart.types.d.ts +4 -0
  77. package/lib/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  78. package/lib/components/StackedBarChart/StackedBarChart.d.ts +4 -0
  79. package/lib/components/StackedBarChart/StackedBarChart.js +4 -0
  80. package/lib/components/StackedBarChart/StackedBarChart.js.map +1 -1
  81. package/lib/components/StackedBarChart/StackedBarChart.types.d.ts +4 -0
  82. package/lib/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  83. package/lib/components/TreeChart/TreeChart.d.ts +4 -0
  84. package/lib/components/TreeChart/TreeChart.js +4 -0
  85. package/lib/components/TreeChart/TreeChart.js.map +1 -1
  86. package/lib/components/TreeChart/TreeChart.types.d.ts +4 -0
  87. package/lib/components/TreeChart/TreeChart.types.js.map +1 -1
  88. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +20 -6
  89. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  90. package/lib/components/VerticalBarChart/VerticalBarChart.d.ts +4 -0
  91. package/lib/components/VerticalBarChart/VerticalBarChart.js +4 -0
  92. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  93. package/lib/components/VerticalBarChart/VerticalBarChart.types.d.ts +11 -7
  94. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  95. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +9 -5
  96. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  97. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +4 -0
  98. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +4 -0
  99. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  100. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +4 -0
  101. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  102. package/lib/version.js +1 -1
  103. package/lib/version.js.map +1 -1
  104. package/lib-amd/components/AreaChart/AreaChart.d.ts +4 -0
  105. package/lib-amd/components/AreaChart/AreaChart.js +4 -0
  106. package/lib-amd/components/AreaChart/AreaChart.js.map +1 -1
  107. package/lib-amd/components/AreaChart/AreaChart.types.d.ts +4 -0
  108. package/lib-amd/components/AreaChart/AreaChart.types.js.map +1 -1
  109. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +1 -1
  110. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  111. package/lib-amd/components/DonutChart/DonutChart.d.ts +4 -0
  112. package/lib-amd/components/DonutChart/DonutChart.js +4 -0
  113. package/lib-amd/components/DonutChart/DonutChart.js.map +1 -1
  114. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +4 -0
  115. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -1
  116. package/lib-amd/components/GaugeChart/GaugeChart.d.ts +4 -0
  117. package/lib-amd/components/GaugeChart/GaugeChart.js +4 -0
  118. package/lib-amd/components/GaugeChart/GaugeChart.js.map +1 -1
  119. package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +8 -0
  120. package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -1
  121. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +1 -0
  122. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +13 -8
  123. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  124. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +4 -0
  125. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +4 -0
  126. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  127. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +10 -6
  128. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  129. package/lib-amd/components/HeatMapChart/HeatMapChart.d.ts +4 -0
  130. package/lib-amd/components/HeatMapChart/HeatMapChart.js +4 -0
  131. package/lib-amd/components/HeatMapChart/HeatMapChart.js.map +1 -1
  132. package/lib-amd/components/HeatMapChart/HeatMapChart.types.d.ts +4 -0
  133. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  134. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.d.ts +4 -0
  135. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js +4 -0
  136. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  137. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +5 -1
  138. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  139. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +4 -0
  140. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +4 -0
  141. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  142. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +4 -0
  143. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  144. package/lib-amd/components/Legends/Legends.d.ts +4 -0
  145. package/lib-amd/components/Legends/Legends.js +4 -0
  146. package/lib-amd/components/Legends/Legends.js.map +1 -1
  147. package/lib-amd/components/Legends/Legends.types.d.ts +20 -0
  148. package/lib-amd/components/Legends/Legends.types.js.map +1 -1
  149. package/lib-amd/components/LineChart/LineChart.d.ts +4 -0
  150. package/lib-amd/components/LineChart/LineChart.js +4 -0
  151. package/lib-amd/components/LineChart/LineChart.js.map +1 -1
  152. package/lib-amd/components/LineChart/LineChart.types.d.ts +4 -0
  153. package/lib-amd/components/LineChart/LineChart.types.js.map +1 -1
  154. package/lib-amd/components/PieChart/PieChart.d.ts +4 -0
  155. package/lib-amd/components/PieChart/PieChart.js +4 -0
  156. package/lib-amd/components/PieChart/PieChart.js.map +1 -1
  157. package/lib-amd/components/PieChart/PieChart.types.d.ts +4 -0
  158. package/lib-amd/components/PieChart/PieChart.types.js.map +1 -1
  159. package/lib-amd/components/SankeyChart/SankeyChart.d.ts +4 -0
  160. package/lib-amd/components/SankeyChart/SankeyChart.js +4 -0
  161. package/lib-amd/components/SankeyChart/SankeyChart.js.map +1 -1
  162. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +4 -0
  163. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -1
  164. package/lib-amd/components/Sparkline/Sparkline.d.ts +4 -0
  165. package/lib-amd/components/Sparkline/Sparkline.js +4 -0
  166. package/lib-amd/components/Sparkline/Sparkline.js.map +1 -1
  167. package/lib-amd/components/Sparkline/Sparkline.types.d.ts +4 -0
  168. package/lib-amd/components/Sparkline/Sparkline.types.js.map +1 -1
  169. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.d.ts +4 -0
  170. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js +4 -0
  171. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  172. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.d.ts +4 -0
  173. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  174. package/lib-amd/components/StackedBarChart/StackedBarChart.d.ts +4 -0
  175. package/lib-amd/components/StackedBarChart/StackedBarChart.js +4 -0
  176. package/lib-amd/components/StackedBarChart/StackedBarChart.js.map +1 -1
  177. package/lib-amd/components/StackedBarChart/StackedBarChart.types.d.ts +4 -0
  178. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  179. package/lib-amd/components/TreeChart/TreeChart.d.ts +4 -0
  180. package/lib-amd/components/TreeChart/TreeChart.js +4 -0
  181. package/lib-amd/components/TreeChart/TreeChart.js.map +1 -1
  182. package/lib-amd/components/TreeChart/TreeChart.types.d.ts +4 -0
  183. package/lib-amd/components/TreeChart/TreeChart.types.js.map +1 -1
  184. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +20 -6
  185. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  186. package/lib-amd/components/VerticalBarChart/VerticalBarChart.d.ts +4 -0
  187. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js +4 -0
  188. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  189. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.d.ts +11 -7
  190. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  191. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +9 -5
  192. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  193. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +4 -0
  194. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js +4 -0
  195. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  196. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +4 -0
  197. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  198. package/lib-amd/version.js +1 -1
  199. package/lib-amd/version.js.map +1 -1
  200. package/lib-commonjs/components/AreaChart/AreaChart.d.ts +4 -0
  201. package/lib-commonjs/components/AreaChart/AreaChart.js +4 -0
  202. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  203. package/lib-commonjs/components/AreaChart/AreaChart.types.d.ts +4 -0
  204. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -1
  205. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +1 -1
  206. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  207. package/lib-commonjs/components/DonutChart/DonutChart.d.ts +4 -0
  208. package/lib-commonjs/components/DonutChart/DonutChart.js +4 -0
  209. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  210. package/lib-commonjs/components/DonutChart/DonutChart.types.d.ts +4 -0
  211. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  212. package/lib-commonjs/components/GaugeChart/GaugeChart.d.ts +4 -0
  213. package/lib-commonjs/components/GaugeChart/GaugeChart.js +4 -0
  214. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  215. package/lib-commonjs/components/GaugeChart/GaugeChart.types.d.ts +8 -0
  216. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  217. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +1 -0
  218. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +13 -8
  219. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  220. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +4 -0
  221. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +4 -0
  222. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  223. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +10 -6
  224. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  225. package/lib-commonjs/components/HeatMapChart/HeatMapChart.d.ts +4 -0
  226. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +4 -0
  227. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  228. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.d.ts +4 -0
  229. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  230. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.d.ts +4 -0
  231. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +4 -0
  232. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  233. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +5 -1
  234. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  235. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +4 -0
  236. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +4 -0
  237. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  238. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +4 -0
  239. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  240. package/lib-commonjs/components/Legends/Legends.d.ts +4 -0
  241. package/lib-commonjs/components/Legends/Legends.js +4 -0
  242. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  243. package/lib-commonjs/components/Legends/Legends.types.d.ts +20 -0
  244. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  245. package/lib-commonjs/components/LineChart/LineChart.d.ts +4 -0
  246. package/lib-commonjs/components/LineChart/LineChart.js +4 -0
  247. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  248. package/lib-commonjs/components/LineChart/LineChart.types.d.ts +4 -0
  249. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
  250. package/lib-commonjs/components/PieChart/PieChart.d.ts +4 -0
  251. package/lib-commonjs/components/PieChart/PieChart.js +4 -0
  252. package/lib-commonjs/components/PieChart/PieChart.js.map +1 -1
  253. package/lib-commonjs/components/PieChart/PieChart.types.d.ts +4 -0
  254. package/lib-commonjs/components/PieChart/PieChart.types.js.map +1 -1
  255. package/lib-commonjs/components/SankeyChart/SankeyChart.d.ts +4 -0
  256. package/lib-commonjs/components/SankeyChart/SankeyChart.js +4 -0
  257. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  258. package/lib-commonjs/components/SankeyChart/SankeyChart.types.d.ts +4 -0
  259. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  260. package/lib-commonjs/components/Sparkline/Sparkline.d.ts +4 -0
  261. package/lib-commonjs/components/Sparkline/Sparkline.js +4 -0
  262. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  263. package/lib-commonjs/components/Sparkline/Sparkline.types.d.ts +4 -0
  264. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -1
  265. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.d.ts +4 -0
  266. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.js +4 -0
  267. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  268. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.types.d.ts +4 -0
  269. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  270. package/lib-commonjs/components/StackedBarChart/StackedBarChart.d.ts +4 -0
  271. package/lib-commonjs/components/StackedBarChart/StackedBarChart.js +4 -0
  272. package/lib-commonjs/components/StackedBarChart/StackedBarChart.js.map +1 -1
  273. package/lib-commonjs/components/StackedBarChart/StackedBarChart.types.d.ts +4 -0
  274. package/lib-commonjs/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  275. package/lib-commonjs/components/TreeChart/TreeChart.d.ts +4 -0
  276. package/lib-commonjs/components/TreeChart/TreeChart.js +4 -0
  277. package/lib-commonjs/components/TreeChart/TreeChart.js.map +1 -1
  278. package/lib-commonjs/components/TreeChart/TreeChart.types.d.ts +4 -0
  279. package/lib-commonjs/components/TreeChart/TreeChart.types.js.map +1 -1
  280. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +20 -6
  281. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  282. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.d.ts +4 -0
  283. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +4 -0
  284. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  285. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.d.ts +11 -7
  286. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  287. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +9 -5
  288. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  289. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +4 -0
  290. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +4 -0
  291. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  292. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +4 -0
  293. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  294. package/lib-commonjs/version.js +1 -1
  295. package/lib-commonjs/version.js.map +1 -1
  296. package/package.json +2 -1
  297. package/src/components/AreaChart/AreaChart.types.ts +5 -0
  298. package/src/components/CommonComponents/CartesianChart.types.ts +1 -1
  299. package/src/components/DonutChart/DonutChart.types.ts +4 -0
  300. package/src/components/GaugeChart/GaugeChart.types.ts +8 -0
  301. package/src/components/HeatMapChart/HeatMapChart.types.ts +4 -0
  302. package/src/components/HorizontalBarChart/HorizontalBarChart.types.ts +5 -1
  303. package/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.ts +4 -0
  304. package/src/components/Legends/Legends.types.ts +20 -0
  305. package/src/components/LineChart/LineChart.types.ts +5 -0
  306. package/src/components/PieChart/PieChart.types.ts +4 -0
  307. package/src/components/SankeyChart/SankeyChart.types.ts +4 -0
  308. package/src/components/Sparkline/Sparkline.types.ts +4 -0
  309. package/src/components/StackedBarChart/MultiStackedBarChart.types.ts +4 -0
  310. package/src/components/StackedBarChart/StackedBarChart.types.ts +4 -0
  311. package/src/components/TreeChart/TreeChart.types.ts +4 -0
  312. package/src/components/VerticalBarChart/VerticalBarChart.types.ts +11 -7
  313. package/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts +4 -0
@@ -1,3 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { IStackedBarChartProps } from './StackedBarChart.types';
3
+ /**
4
+ * StackedBarchart component.
5
+ * {@docCategory StackedBarChart}
6
+ */
3
7
  export declare const StackedBarChart: React.FunctionComponent<IStackedBarChartProps>;
@@ -5,5 +5,9 @@ var Utilities_1 = require("@fluentui/react/lib/Utilities");
5
5
  var StackedBarChart_base_1 = require("./StackedBarChart.base");
6
6
  var StackedBarChart_styles_1 = require("./StackedBarChart.styles");
7
7
  // Create a StackedBarChart variant which uses these default styles and this styled subcomponent.
8
+ /**
9
+ * StackedBarchart component.
10
+ * {@docCategory StackedBarChart}
11
+ */
8
12
  exports.StackedBarChart = (0, Utilities_1.styled)(StackedBarChart_base_1.StackedBarChartBase, StackedBarChart_styles_1.getStyles);
9
13
  //# sourceMappingURL=StackedBarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StackedBarChart.js","sourceRoot":"../src/","sources":["components/StackedBarChart/StackedBarChart.tsx"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,+DAA6D;AAC7D,mEAAqD;AAErD,iGAAiG;AACpF,QAAA,eAAe,GAAmD,IAAA,kBAAM,EAInF,0CAAmB,EAAE,kCAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { IStackedBarChartProps, IStackedBarChartStyleProps, IStackedBarChartStyles } from './StackedBarChart.types';\nimport { StackedBarChartBase } from './StackedBarChart.base';\nimport { getStyles } from './StackedBarChart.styles';\n\n// Create a StackedBarChart variant which uses these default styles and this styled subcomponent.\nexport const StackedBarChart: React.FunctionComponent<IStackedBarChartProps> = styled<\n IStackedBarChartProps,\n IStackedBarChartStyleProps,\n IStackedBarChartStyles\n>(StackedBarChartBase, getStyles);\n"]}
1
+ {"version":3,"file":"StackedBarChart.js","sourceRoot":"../src/","sources":["components/StackedBarChart/StackedBarChart.tsx"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,+DAA6D;AAC7D,mEAAqD;AAErD,iGAAiG;AACjG;;;GAGG;AACU,QAAA,eAAe,GAAmD,IAAA,kBAAM,EAInF,0CAAmB,EAAE,kCAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { IStackedBarChartProps, IStackedBarChartStyleProps, IStackedBarChartStyles } from './StackedBarChart.types';\nimport { StackedBarChartBase } from './StackedBarChart.base';\nimport { getStyles } from './StackedBarChart.styles';\n\n// Create a StackedBarChart variant which uses these default styles and this styled subcomponent.\n/**\n * StackedBarchart component.\n * {@docCategory StackedBarChart}\n */\nexport const StackedBarChart: React.FunctionComponent<IStackedBarChartProps> = styled<\n IStackedBarChartProps,\n IStackedBarChartStyleProps,\n IStackedBarChartStyles\n>(StackedBarChartBase, getStyles);\n"]}
@@ -7,6 +7,10 @@ import { ILegendsProps } from '../Legends/index';
7
7
  export interface IStackedBarChart {
8
8
  }
9
9
  import { IChartProps, IChartDataPoint } from './index';
10
+ /**
11
+ * IStackedBarChartProps for StackedBarchart component.
12
+ * {@docCategory StackedBarChart}
13
+ */
10
14
  export interface IStackedBarChartProps {
11
15
  /**
12
16
  * Data to render in the chart.
@@ -1 +1 @@
1
- {"version":3,"file":"StackedBarChart.types.js","sourceRoot":"../src/","sources":["components/StackedBarChart/StackedBarChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ITheme, IStyle } from '@fluentui/react/lib/Styling';\nimport { ICalloutProps } from '@fluentui/react/lib/Callout';\nimport { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport { IOverflowSetProps } from '@fluentui/react/lib/OverflowSet';\nimport { IFocusZoneProps } from '@fluentui/react-focus';\nimport { ILegendsProps } from '../Legends/index';\n\nexport interface IStackedBarChart {}\nimport { IChartProps, IChartDataPoint } from './index';\n\nexport interface IStackedBarChartProps {\n /**\n * Data to render in the chart.\n */\n data?: IChartProps;\n\n /**\n * Benchmark Data to render in the chart.\n */\n benchmarkData?: IChartDataPoint;\n\n /**\n * Target Data to render in the chart.\n */\n targetData?: IChartDataPoint;\n\n /**\n * Width of the chart.\n */\n width?: number;\n\n /**\n * Height of each bar in the chart.\n */\n barHeight?: number;\n\n /**\n * Do not show the legend at the bottom of chart\n * when there are more than two datapoints\n *\n * @default false\n */\n hideLegend?: boolean;\n\n /**\n * Do not show number/ratio on top of bar\n *\n * @default false\n */\n hideNumberDisplay?: boolean;\n\n /**\n * Do not show tooltips in chart\n *\n * @default false\n */\n hideTooltip?: boolean;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<IStackedBarChartStyleProps, IStackedBarChartStyles>;\n\n /**\n * Color setting of bar background color, this will show while all data points value is 0\n */\n barBackgroundColor?: string;\n\n /**\n * Url that the data-viz needs to redirect to upon clicking on it\n */\n href?: string;\n\n /**\n * If this value is set, the fixed display pattern for less than 2 data points chart will be ignore\n */\n ignoreFixStyle?: boolean;\n\n /**\n * If this value is set to true the denominator will not be shown for the ratio above the chart\n */\n hideDenominator?: boolean;\n\n /**\n * Enable the legends to wrap lines if there is not enough space to show all legends on a single line\n */\n enabledLegendsWrapLines?: boolean;\n\n /**\n * overflow props for the legend\n */\n legendsOverflowProps?: Partial<IOverflowSetProps>;\n\n /**\n * text for overflow legends string\n */\n legendsOverflowText?: string;\n\n /**\n * focus zone props in hover card for legends\n */\n focusZonePropsForLegendsInHoverCard?: IFocusZoneProps;\n\n /**\n * props for the legends in the chart\n */\n legendProps?: Partial<ILegendsProps>;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IChartDataPoint>;\n\n /**\n * props for the callout in the chart\n */\n calloutProps?: Partial<ICalloutProps>;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n}\n\nexport interface IStackedBarChartStyleProps {\n /**\n * Theme (provided through customization.)\n */\n theme: ITheme;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * Width of the chart.\n */\n width?: number;\n\n /**\n * Height of bar in the chart.\n */\n barHeight?: number;\n\n /**\n * prop to show data of the chart with appropriate legend color\n */\n legendColor?: string;\n\n /**\n * prop to check if the chart is selcted or hovered upon to determine opacity\n */\n shouldHighlight?: boolean;\n\n /**\n * prop to check which specific section of the stacked bar chart is selected or hovered upon\n */\n isChartSelected?: boolean;\n\n /**\n * prop to check to decide cursor type\n */\n href?: string;\n\n /**\n * the color for the benchmark triangle\n */\n benchmarkColor?: string;\n\n /**\n * the ratio position for the benchmark triangle\n */\n benchmarkRatio?: number;\n\n /**\n * the color for the target triangle\n */\n targetColor?: string;\n\n /**\n * the ratio position for the target triangle\n */\n targetRatio?: number;\n\n /**\n * prop to check if benchmark data or target data is provided\n */\n showTriangle?: boolean;\n}\n\nexport interface IStackedBarChartStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n /**\n * Style for the chart.\n */\n chart: IStyle;\n\n /**\n * Style for the chart Title.\n */\n chartTitle: IStyle;\n\n /**\n * Style for left side text of the chart title\n */\n chartTitleLeft: IStyle;\n\n /**\n * Style for the legend container div\n */\n legendContainer: IStyle;\n\n /**\n * Style to change the opacity of bars in dataviz when we hover on a single bar or legends\n */\n opacityChangeOnHover: IStyle;\n\n /**\n * Style for the chart ratio numerator\n */\n ratioNumerator: IStyle;\n\n /**\n * Style for the chart ratio denominator\n */\n ratioDenominator: IStyle;\n\n /**\n * Style for the benchmark container\n */\n benchmarkContainer: IStyle;\n\n /**\n * Style for the benchmark triangle\n */\n benchmark: IStyle;\n\n /**\n * Style for the target triangle\n */\n target: IStyle;\n}\n"]}
1
+ {"version":3,"file":"StackedBarChart.types.js","sourceRoot":"../src/","sources":["components/StackedBarChart/StackedBarChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ITheme, IStyle } from '@fluentui/react/lib/Styling';\nimport { ICalloutProps } from '@fluentui/react/lib/Callout';\nimport { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport { IOverflowSetProps } from '@fluentui/react/lib/OverflowSet';\nimport { IFocusZoneProps } from '@fluentui/react-focus';\nimport { ILegendsProps } from '../Legends/index';\n\nexport interface IStackedBarChart {}\nimport { IChartProps, IChartDataPoint } from './index';\n\n/**\n * IStackedBarChartProps for StackedBarchart component.\n * {@docCategory StackedBarChart}\n */\nexport interface IStackedBarChartProps {\n /**\n * Data to render in the chart.\n */\n data?: IChartProps;\n\n /**\n * Benchmark Data to render in the chart.\n */\n benchmarkData?: IChartDataPoint;\n\n /**\n * Target Data to render in the chart.\n */\n targetData?: IChartDataPoint;\n\n /**\n * Width of the chart.\n */\n width?: number;\n\n /**\n * Height of each bar in the chart.\n */\n barHeight?: number;\n\n /**\n * Do not show the legend at the bottom of chart\n * when there are more than two datapoints\n *\n * @default false\n */\n hideLegend?: boolean;\n\n /**\n * Do not show number/ratio on top of bar\n *\n * @default false\n */\n hideNumberDisplay?: boolean;\n\n /**\n * Do not show tooltips in chart\n *\n * @default false\n */\n hideTooltip?: boolean;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<IStackedBarChartStyleProps, IStackedBarChartStyles>;\n\n /**\n * Color setting of bar background color, this will show while all data points value is 0\n */\n barBackgroundColor?: string;\n\n /**\n * Url that the data-viz needs to redirect to upon clicking on it\n */\n href?: string;\n\n /**\n * If this value is set, the fixed display pattern for less than 2 data points chart will be ignore\n */\n ignoreFixStyle?: boolean;\n\n /**\n * If this value is set to true the denominator will not be shown for the ratio above the chart\n */\n hideDenominator?: boolean;\n\n /**\n * Enable the legends to wrap lines if there is not enough space to show all legends on a single line\n */\n enabledLegendsWrapLines?: boolean;\n\n /**\n * overflow props for the legend\n */\n legendsOverflowProps?: Partial<IOverflowSetProps>;\n\n /**\n * text for overflow legends string\n */\n legendsOverflowText?: string;\n\n /**\n * focus zone props in hover card for legends\n */\n focusZonePropsForLegendsInHoverCard?: IFocusZoneProps;\n\n /**\n * props for the legends in the chart\n */\n legendProps?: Partial<ILegendsProps>;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IChartDataPoint>;\n\n /**\n * props for the callout in the chart\n */\n calloutProps?: Partial<ICalloutProps>;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n}\n\nexport interface IStackedBarChartStyleProps {\n /**\n * Theme (provided through customization.)\n */\n theme: ITheme;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * Width of the chart.\n */\n width?: number;\n\n /**\n * Height of bar in the chart.\n */\n barHeight?: number;\n\n /**\n * prop to show data of the chart with appropriate legend color\n */\n legendColor?: string;\n\n /**\n * prop to check if the chart is selcted or hovered upon to determine opacity\n */\n shouldHighlight?: boolean;\n\n /**\n * prop to check which specific section of the stacked bar chart is selected or hovered upon\n */\n isChartSelected?: boolean;\n\n /**\n * prop to check to decide cursor type\n */\n href?: string;\n\n /**\n * the color for the benchmark triangle\n */\n benchmarkColor?: string;\n\n /**\n * the ratio position for the benchmark triangle\n */\n benchmarkRatio?: number;\n\n /**\n * the color for the target triangle\n */\n targetColor?: string;\n\n /**\n * the ratio position for the target triangle\n */\n targetRatio?: number;\n\n /**\n * prop to check if benchmark data or target data is provided\n */\n showTriangle?: boolean;\n}\n\nexport interface IStackedBarChartStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n /**\n * Style for the chart.\n */\n chart: IStyle;\n\n /**\n * Style for the chart Title.\n */\n chartTitle: IStyle;\n\n /**\n * Style for left side text of the chart title\n */\n chartTitleLeft: IStyle;\n\n /**\n * Style for the legend container div\n */\n legendContainer: IStyle;\n\n /**\n * Style to change the opacity of bars in dataviz when we hover on a single bar or legends\n */\n opacityChangeOnHover: IStyle;\n\n /**\n * Style for the chart ratio numerator\n */\n ratioNumerator: IStyle;\n\n /**\n * Style for the chart ratio denominator\n */\n ratioDenominator: IStyle;\n\n /**\n * Style for the benchmark container\n */\n benchmarkContainer: IStyle;\n\n /**\n * Style for the benchmark triangle\n */\n benchmark: IStyle;\n\n /**\n * Style for the target triangle\n */\n target: IStyle;\n}\n"]}
@@ -1,3 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ITreeProps } from './TreeChart.types';
3
+ /**
4
+ * Treechart component.
5
+ * {@docCategory TreeChart}
6
+ */
3
7
  export declare const TreeChart: React.FunctionComponent<ITreeProps>;
@@ -4,5 +4,9 @@ exports.TreeChart = void 0;
4
4
  var Utilities_1 = require("@fluentui/react/lib/Utilities");
5
5
  var TreeChart_base_1 = require("./TreeChart.base");
6
6
  var TreeChart_styles_1 = require("./TreeChart.styles");
7
+ /**
8
+ * Treechart component.
9
+ * {@docCategory TreeChart}
10
+ */
7
11
  exports.TreeChart = (0, Utilities_1.styled)(TreeChart_base_1.TreeChartBase, TreeChart_styles_1.getStyles);
8
12
  //# sourceMappingURL=TreeChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeChart.js","sourceRoot":"../src/","sources":["components/TreeChart/TreeChart.tsx"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,mDAAiD;AACjD,uDAA+C;AAElC,QAAA,SAAS,GAAwC,IAAA,kBAAM,EAClE,8BAAa,EACb,4BAAS,CACV,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { ITreeStyles, ITreeProps, ITreeStyleProps } from './TreeChart.types';\nimport { TreeChartBase } from './TreeChart.base';\nimport { getStyles } from './TreeChart.styles';\n\nexport const TreeChart: React.FunctionComponent<ITreeProps> = styled<ITreeProps, ITreeStyleProps, ITreeStyles>(\n TreeChartBase,\n getStyles,\n);\n"]}
1
+ {"version":3,"file":"TreeChart.js","sourceRoot":"../src/","sources":["components/TreeChart/TreeChart.tsx"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,mDAAiD;AACjD,uDAA+C;AAE/C;;;GAGG;AACU,QAAA,SAAS,GAAwC,IAAA,kBAAM,EAClE,8BAAa,EACb,4BAAS,CACV,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { ITreeStyles, ITreeProps, ITreeStyleProps } from './TreeChart.types';\nimport { TreeChartBase } from './TreeChart.base';\nimport { getStyles } from './TreeChart.styles';\n\n/**\n * Treechart component.\n * {@docCategory TreeChart}\n */\nexport const TreeChart: React.FunctionComponent<ITreeProps> = styled<ITreeProps, ITreeStyleProps, ITreeStyles>(\n TreeChartBase,\n getStyles,\n);\n"]}
@@ -1,5 +1,9 @@
1
1
  import { IStyle, ITheme } from '@fluentui/react/lib/Styling';
2
2
  import { IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';
3
+ /**
4
+ * ITreeChartDataPoint interface for Treechart component.
5
+ * {@docCategory TreeChart}
6
+ */
3
7
  export interface ITreeChartDataPoint {
4
8
  /**
5
9
  * Node main text
@@ -1 +1 @@
1
- {"version":3,"file":"TreeChart.types.js","sourceRoot":"../src/","sources":["components/TreeChart/TreeChart.types.ts"],"names":[],"mappings":";;;AA8BA,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,uDAAQ,CAAA;IACR;;OAEG;IACH,6DAAW,CAAA;AACb,CAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;AAED,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,uDAAY,CAAA;IACZ;;OAEG;IACH,2DAAc,CAAA;AAChB,CAAC,EATW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QASvB","sourcesContent":["import { IStyle, ITheme } from '@fluentui/react/lib/Styling';\nimport { IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\n\nexport interface ITreeChartDataPoint {\n /**\n * Node main text\n */\n name: string;\n /**\n * Subtext value (optional)\n */\n subname?: string;\n /**\n * Bodytext value (optional)\n */\n bodytext?: string;\n /**\n * Metric text value (optional)\n */\n metric?: string;\n /**\n * Color of the rectangular box\n */\n fill: string;\n /**\n * Recursive datastructure for child node object\n */\n children?: Array<ITreeChartDataPoint>;\n}\n\nexport enum NodesComposition {\n /**\n * NodeComposition enum val for long: number = 1\n */\n long = 1,\n /**\n * NodeComposition enum val for compact: number = 0\n */\n compact = 0,\n}\n\nexport enum TreeTraverse {\n /**\n * TreeTraverse enum val for preOrder: number = 1\n */\n preOrder = 1,\n /**\n * TreeTraverse enum val for levelOrder: number = 0\n */\n levelOrder = 0,\n}\n\nexport interface ITreeProps {\n /**\n * An object of chart data points for the Tree chart\n */\n treeData: ITreeChartDataPoint;\n /**\n * compostion for three layer chart, long: composition = 1; compact: composition = 0\n */\n composition?: NodesComposition.long | NodesComposition.compact;\n /**\n * Node Width Size for the Tree Layout\n * * @default 75\n */\n layoutWidth?: number;\n /**\n * traversal order for tree chart, preOrder = 1, levelOrder = 0\n */\n treeTraversal?: TreeTraverse.preOrder | TreeTraverse.levelOrder;\n /**\n * Width of SVG tree chart\n * * @default 1500\n */\n width?: number;\n /**\n * Height of SVG tree chart\n * * @default 700\n */\n height?: number;\n /**\n * Margin for the SVG tree chart\n */\n marign?: { left: number; right: number; top: number; bottom: number };\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<ITreeStyleProps, ITreeStyles>;\n /**\n * Additional CSS class(es) to apply to the TreeChart.\n */\n className?: string;\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n}\nexport interface ITreeState {\n /**\n * Width of SVG tree chart\n * * @default 1500\n */\n _width: number;\n /**\n * Height of SVG tree chart\n * * @default 700\n */\n _height: number;\n /**\n * Layout Width of SVG tree chart\n * * @default 75\n */\n _layoutWidth?: number;\n}\n\nexport interface ITreeDataStructure {\n /**\n * Node id of each node\n */\n id: number;\n /**\n * Children node object\n */\n children: Array<ITreeDataStructure>;\n /**\n * Node main text\n */\n dataName: string;\n /**\n * Subtext value (optional)\n */\n subName?: string;\n /**\n * Bodytext value (optional)\n */\n bodyText?: string;\n /**\n * Metric text value (optional)\n */\n metricName?: string;\n /**\n * Color of the rectangular box\n */\n fill: string;\n /**\n * X-coordindate of node\n */\n x: number;\n /**\n * Y-coordindate of node\n */\n y: number;\n /**\n * Node id of each node's parent\n */\n parentID: number;\n}\n\nexport interface ITreeStyleProps {\n /**\n * Theme (provided through customization.)\n */\n theme: ITheme;\n /**\n * Additional CSS class(es) to apply to the TreeChart.\n */\n className?: string;\n}\nexport interface ITreeStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n /**\n * Style for the Link/Path element.\n */\n link: IStyle;\n /**\n * Style for rectangular Node\n */\n rectNode: IStyle;\n /**\n * Style for the node main Text\n */\n rectText: IStyle;\n /**\n * Style for the node sub Text\n */\n rectSubText: IStyle;\n /**\n * Style for the node body Text\n */\n rectBodyText: IStyle;\n /**\n * Style for the node metric value Text\n */\n rectMetricText: IStyle;\n}\n"]}
1
+ {"version":3,"file":"TreeChart.types.js","sourceRoot":"../src/","sources":["components/TreeChart/TreeChart.types.ts"],"names":[],"mappings":";;;AAkCA,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,uDAAQ,CAAA;IACR;;OAEG;IACH,6DAAW,CAAA;AACb,CAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;AAED,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,uDAAY,CAAA;IACZ;;OAEG;IACH,2DAAc,CAAA;AAChB,CAAC,EATW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QASvB","sourcesContent":["import { IStyle, ITheme } from '@fluentui/react/lib/Styling';\nimport { IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\n\n/**\n * ITreeChartDataPoint interface for Treechart component.\n * {@docCategory TreeChart}\n */\nexport interface ITreeChartDataPoint {\n /**\n * Node main text\n */\n name: string;\n /**\n * Subtext value (optional)\n */\n subname?: string;\n /**\n * Bodytext value (optional)\n */\n bodytext?: string;\n /**\n * Metric text value (optional)\n */\n metric?: string;\n /**\n * Color of the rectangular box\n */\n fill: string;\n /**\n * Recursive datastructure for child node object\n */\n children?: Array<ITreeChartDataPoint>;\n}\n\nexport enum NodesComposition {\n /**\n * NodeComposition enum val for long: number = 1\n */\n long = 1,\n /**\n * NodeComposition enum val for compact: number = 0\n */\n compact = 0,\n}\n\nexport enum TreeTraverse {\n /**\n * TreeTraverse enum val for preOrder: number = 1\n */\n preOrder = 1,\n /**\n * TreeTraverse enum val for levelOrder: number = 0\n */\n levelOrder = 0,\n}\n\nexport interface ITreeProps {\n /**\n * An object of chart data points for the Tree chart\n */\n treeData: ITreeChartDataPoint;\n /**\n * compostion for three layer chart, long: composition = 1; compact: composition = 0\n */\n composition?: NodesComposition.long | NodesComposition.compact;\n /**\n * Node Width Size for the Tree Layout\n * * @default 75\n */\n layoutWidth?: number;\n /**\n * traversal order for tree chart, preOrder = 1, levelOrder = 0\n */\n treeTraversal?: TreeTraverse.preOrder | TreeTraverse.levelOrder;\n /**\n * Width of SVG tree chart\n * * @default 1500\n */\n width?: number;\n /**\n * Height of SVG tree chart\n * * @default 700\n */\n height?: number;\n /**\n * Margin for the SVG tree chart\n */\n marign?: { left: number; right: number; top: number; bottom: number };\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<ITreeStyleProps, ITreeStyles>;\n /**\n * Additional CSS class(es) to apply to the TreeChart.\n */\n className?: string;\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n}\nexport interface ITreeState {\n /**\n * Width of SVG tree chart\n * * @default 1500\n */\n _width: number;\n /**\n * Height of SVG tree chart\n * * @default 700\n */\n _height: number;\n /**\n * Layout Width of SVG tree chart\n * * @default 75\n */\n _layoutWidth?: number;\n}\n\nexport interface ITreeDataStructure {\n /**\n * Node id of each node\n */\n id: number;\n /**\n * Children node object\n */\n children: Array<ITreeDataStructure>;\n /**\n * Node main text\n */\n dataName: string;\n /**\n * Subtext value (optional)\n */\n subName?: string;\n /**\n * Bodytext value (optional)\n */\n bodyText?: string;\n /**\n * Metric text value (optional)\n */\n metricName?: string;\n /**\n * Color of the rectangular box\n */\n fill: string;\n /**\n * X-coordindate of node\n */\n x: number;\n /**\n * Y-coordindate of node\n */\n y: number;\n /**\n * Node id of each node's parent\n */\n parentID: number;\n}\n\nexport interface ITreeStyleProps {\n /**\n * Theme (provided through customization.)\n */\n theme: ITheme;\n /**\n * Additional CSS class(es) to apply to the TreeChart.\n */\n className?: string;\n}\nexport interface ITreeStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n /**\n * Style for the Link/Path element.\n */\n link: IStyle;\n /**\n * Style for rectangular Node\n */\n rectNode: IStyle;\n /**\n * Style for the node main Text\n */\n rectText: IStyle;\n /**\n * Style for the node sub Text\n */\n rectSubText: IStyle;\n /**\n * Style for the node body Text\n */\n rectBodyText: IStyle;\n /**\n * Style for the node metric value Text\n */\n rectMetricText: IStyle;\n}\n"]}
@@ -427,13 +427,20 @@ var VerticalBarChartBase = /** @class */ (function (_super) {
427
427
  shouldHighlight: shouldHighlight,
428
428
  });
429
429
  var barHeight = Math.max(yBarScale(point.y), 0);
430
- if (barHeight < 1) {
430
+ var adjustedBarHeight = 0;
431
+ if (barHeight <= 0) {
431
432
  return React.createElement(React.Fragment, { key: point.x }, " ");
432
433
  }
434
+ else if (barHeight <= Math.ceil(yBarScale(_this._yMax) / 100.0)) {
435
+ adjustedBarHeight = Math.ceil(yBarScale(_this._yMax) / 100.0);
436
+ }
437
+ else {
438
+ adjustedBarHeight = barHeight;
439
+ }
433
440
  var xPoint = xBarScale(point.x);
434
- var yPoint = containerHeight - _this.margins.bottom - yBarScale(point.y);
441
+ var yPoint = containerHeight - _this.margins.bottom - adjustedBarHeight;
435
442
  return (React.createElement("g", { key: point.x },
436
- React.createElement("rect", { id: (0, Utilities_1.getId)('_VBC_bar_'), x: xPoint, className: _this._classNames.opacityChangeOnHover, y: yPoint, width: _this._barWidth, "data-is-focusable": !_this.props.hideTooltip, height: barHeight, ref: function (e) {
443
+ React.createElement("rect", { id: (0, Utilities_1.getId)('_VBC_bar_'), x: xPoint, className: _this._classNames.opacityChangeOnHover, y: yPoint, width: _this._barWidth, "data-is-focusable": !_this.props.hideTooltip, height: adjustedBarHeight, ref: function (e) {
437
444
  _this._refCallback(e, point.legend);
438
445
  }, onClick: point.onClick, onMouseOver: _this._onBarHover.bind(_this, point, colorScale(point.y)), "aria-label": _this._getAriaLabel(point), role: "img", onMouseLeave: _this._onBarLeave, onFocus: _this._onBarFocus.bind(_this, point, index, colorScale(point.y)), onBlur: _this._onBarLeave, fill: point.color && !useSingleColor ? point.color : colorScale(point.y) }),
439
446
  _this._renderBarLabel(xPoint, yPoint, point.y)));
@@ -469,13 +476,20 @@ var VerticalBarChartBase = /** @class */ (function (_super) {
469
476
  var colorScale = this._createColors();
470
477
  var bars = this._points.map(function (point, index) {
471
478
  var barHeight = Math.max(yBarScale(point.y), 0);
472
- if (barHeight < 1) {
479
+ var adjustedBarHeight = 0;
480
+ if (barHeight <= 0) {
473
481
  return React.createElement(React.Fragment, { key: point.x }, " ");
474
482
  }
483
+ else if (barHeight <= Math.ceil(yBarScale(_this._yMax) / 100.0)) {
484
+ adjustedBarHeight = Math.ceil(yBarScale(_this._yMax) / 100.0);
485
+ }
486
+ else {
487
+ adjustedBarHeight = barHeight;
488
+ }
475
489
  var xPoint = xBarScale(point.x);
476
- var yPoint = containerHeight - _this.margins.bottom - yBarScale(point.y);
490
+ var yPoint = containerHeight - _this.margins.bottom - adjustedBarHeight;
477
491
  return (React.createElement("g", { key: point.x, transform: "translate(".concat(0.5 * (xBarScale.bandwidth() - _this._barWidth), ", 0)") },
478
- React.createElement("rect", { id: (0, Utilities_1.getId)('_VBC_bar_'), x: xPoint, y: yPoint, width: _this._barWidth, height: barHeight, "aria-label": _this._getAriaLabel(point), role: "img", ref: function (e) {
492
+ React.createElement("rect", { id: (0, Utilities_1.getId)('_VBC_bar_'), x: xPoint, y: yPoint, width: _this._barWidth, height: adjustedBarHeight, "aria-label": _this._getAriaLabel(point), role: "img", ref: function (e) {
479
493
  _this._refCallback(e, point.legend);
480
494
  }, onClick: point.onClick, onMouseOver: _this._onBarHover.bind(_this, point, colorScale(point.y)), onMouseLeave: _this._onBarLeave, onBlur: _this._onBarLeave, "data-is-focusable": !_this.props.hideTooltip, onFocus: _this._onBarFocus.bind(_this, point, index, colorScale(point.y)), fill: point.color ? point.color : colorScale(point.y) }),
481
495
  _this._renderBarLabel(xPoint, yPoint, point.y)));
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalBarChart.base.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { line as d3Line } from 'd3-shape';\nimport { select as d3Select } from 'd3-selection';\nimport { scaleLinear as d3ScaleLinear, ScaleLinear as D3ScaleLinear, scaleBand as d3ScaleBand } from 'd3-scale';\nimport { classNamesFunction, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport {\n IAccessibilityProps,\n CartesianChart,\n ChartHoverCard,\n IBasestate,\n IMargins,\n ILegend,\n IRefArrayData,\n IVerticalBarChartProps,\n IVerticalBarChartStyleProps,\n IVerticalBarChartStyles,\n IVerticalBarChartDataPoint,\n Legends,\n IChildProps,\n IYValueHover,\n} from '../../index';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ChartTypes,\n IAxisData,\n getAccessibleDataObject,\n XAxisTypes,\n NumericAxis,\n StringAxis,\n getTypeOfAxis,\n tooltipOfXAxislabels,\n} from '../../utilities/index';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nenum CircleVisbility {\n show = 'visibility',\n hide = 'hidden',\n}\nconst getClassNames = classNamesFunction<IVerticalBarChartStyleProps, IVerticalBarChartStyles>();\n\nconst MIN_DOMAIN_MARGIN = 8;\n\nexport interface IVerticalBarChartState extends IBasestate {\n dataPointCalloutProps?: IVerticalBarChartDataPoint; // define this in hover and focus\n /**\n * data point of x, where rectangle is hovered or focused\n */\n activeXdataPoint: number | string | null;\n YValueHover: IYValueHover[];\n hoverXValue?: string | number | null;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n}\n\ntype ColorScale = (_p?: number) => string;\n\nexport class VerticalBarChartBase extends React.Component<IVerticalBarChartProps, IVerticalBarChartState> {\n private _points: IVerticalBarChartDataPoint[];\n private _barWidth: number;\n private _colors: string[];\n private _classNames: IProcessedStyleSet<IVerticalBarChartStyles>;\n private _refArray: IRefArrayData[];\n private _calloutId: string;\n private margins: IMargins;\n private _isRtl: boolean = getRTL();\n private _bars: JSX.Element[];\n private _xAxisLabels: string[];\n private _yMax: number;\n private _isHavingLine: boolean;\n private _tooltipId: string;\n private _xAxisType: XAxisTypes;\n private _calloutAnchorPoint: IVerticalBarChartDataPoint | null;\n private _domainMargin: number;\n private _emptyChartId: string;\n\n public constructor(props: IVerticalBarChartProps) {\n super(props);\n this.state = {\n color: '',\n dataForHoverCard: 0,\n isCalloutVisible: false,\n refSelected: null,\n selectedLegend: '',\n activeLegend: '',\n xCalloutValue: '',\n yCalloutValue: '',\n activeXdataPoint: null,\n YValueHover: [],\n hoverXValue: '',\n calloutLegend: '',\n };\n this._isHavingLine = this._checkForLine();\n this._calloutId = getId('callout');\n this._tooltipId = getId('VCTooltipID_');\n this._refArray = [];\n this._xAxisType =\n this.props.data! && this.props.data!.length > 0\n ? (getTypeOfAxis(this.props.data![0].x, true) as XAxisTypes)\n : XAxisTypes.StringAxis;\n this._domainMargin = MIN_DOMAIN_MARGIN;\n this._emptyChartId = getId('_VBC_empty');\n }\n\n public render(): JSX.Element {\n this._adjustProps();\n this._xAxisLabels = this._points.map((point: IVerticalBarChartDataPoint) => point.x as string);\n this._yMax = Math.max(\n d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.y)!,\n this.props.yMaxValue || 0,\n );\n const legendBars: JSX.Element = this._getLegendData(this._points, this.props.theme!.palette);\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n legendColor: this.state.color,\n });\n const calloutProps = {\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n target: this.state.refSelected,\n isBeakVisible: false,\n ...(this._isHavingLine && {\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n }),\n gapSpace: 15,\n color: this.state.color,\n legend: this.state.calloutLegend,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n onDismiss: this._closeCallout,\n preventDismissOnLostFocus: true,\n ...this.props.calloutProps,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData),\n };\n const tickParams = {\n tickValues: this.props.tickValues,\n tickFormat: this.props.tickFormat,\n };\n return !this._isChartEmpty() ? (\n <CartesianChart\n {...this.props}\n points={this._points}\n chartType={ChartTypes.VerticalBarChart}\n xAxisType={this._xAxisType}\n calloutProps={calloutProps}\n tickParams={tickParams}\n {...(this._isHavingLine && { isCalloutForStack: true })}\n legendBars={legendBars}\n datasetForXAxisDomain={this._xAxisLabels}\n barwidth={this._barWidth}\n focusZoneDirection={FocusZoneDirection.horizontal}\n customizedCallout={this._getCustomizedCallout()}\n getmargins={this._getMargins}\n getGraphData={this._getGraphData}\n getAxisData={this._getAxisData}\n onChartMouseLeave={this._handleChartMouseLeave}\n getDomainMargins={this._getDomainMargins}\n {...(this._xAxisType !== XAxisTypes.NumericAxis && { xAxisInnerPadding: 2 / 3, xAxisOuterPadding: 0 })}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n return (\n <>\n <g>{this._bars}</g>\n {this._isHavingLine && (\n <g>\n {this._createLine(\n props.xScale!,\n props.yScale!,\n props.containerHeight,\n props.containerWidth,\n props.yScaleSecondary,\n )}\n </g>\n )}\n </>\n );\n }}\n />\n ) : (\n <div\n id={this._emptyChartId}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n\n private _createLine = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScale: any,\n containerHeight: number = 0,\n containerWidth: number = 0,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScaleSecondary?: any,\n ): React.ReactNode => {\n const isNumericAxis = this._xAxisType === XAxisTypes.NumericAxis;\n const { xBarScale } = this._getScales(containerHeight, containerWidth, isNumericAxis);\n const colorScale = this._createColors();\n const { theme } = this.props;\n const { data, lineLegendColor = theme!.palette.yellow, lineLegendText } = this.props;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const lineData: Array<any> = [];\n const line: JSX.Element[] = [];\n data &&\n data.forEach((item: IVerticalBarChartDataPoint, index: number) => {\n if (item.lineData && item.lineData.y) {\n lineData.push({\n x: item.x,\n y: item.lineData!.y,\n useSecondaryYScale: item.lineData!.useSecondaryYScale ?? false,\n point: item,\n index,\n });\n }\n });\n const linePath = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => (!isNumericAxis ? xBarScale(d.x) + 0.5 * xBarScale.bandwidth() : xScale(d.x)))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => (d.useSecondaryYScale && yScaleSecondary ? yScaleSecondary(d.y) : yScale(d.y)));\n const shouldHighlight = this._legendHighlighted(lineLegendText!) || this._noLegendHighlighted() ? true : false;\n const lineBorderWidth = this.props.lineOptions?.lineBorderWidth\n ? Number.parseFloat(this.props.lineOptions!.lineBorderWidth!.toString())\n : 0;\n\n if (lineBorderWidth > 0) {\n line.push(\n <path\n key={getId('_VBC_line_')}\n id={getId('_VBC_line_')}\n opacity={shouldHighlight ? 1 : 0.1}\n d={linePath(lineData)!}\n fill=\"transparent\"\n strokeLinecap=\"square\"\n strokeWidth={3 + lineBorderWidth * 2}\n stroke={theme!.palette.white}\n />,\n );\n }\n line.push(\n <path\n key={getId('_VBC_line_')}\n id={getId('_VBC_line_')}\n opacity={shouldHighlight ? 1 : 0.1}\n d={linePath(lineData)!}\n fill=\"transparent\"\n strokeLinecap=\"square\"\n strokeWidth={3}\n stroke={lineLegendColor}\n />,\n );\n\n const dots: React.ReactNode[] = lineData.map(\n (\n item: {\n x: number | string;\n y: number;\n useSecondaryYScale: boolean;\n point: IVerticalBarChartDataPoint;\n index: number;\n },\n index: number,\n ) => {\n return (\n <circle\n key={index}\n id={getId('_VBC_point_')}\n cx={!isNumericAxis ? xBarScale(item.x) + 0.5 * xBarScale.bandwidth() : xScale(item.x)}\n cy={item.useSecondaryYScale && yScaleSecondary ? yScaleSecondary(item.y) : yScale(item.y)}\n onMouseOver={this._onBarHover.bind(this, item.point, colorScale(item.y))}\n onMouseOut={this._onBarLeave}\n r={8}\n stroke={lineLegendColor}\n fill={this.props.theme!.palette.white}\n strokeWidth={3}\n visibility={this.state.activeXdataPoint === item.x ? CircleVisbility.show : CircleVisbility.hide}\n onClick={item.point.lineData?.onClick}\n />\n );\n },\n );\n\n return (\n <>\n {line}\n {dots}\n </>\n );\n };\n\n private _checkForLine = (): boolean => {\n const { data } = this.props;\n return data!.some((item: IVerticalBarChartDataPoint) => item?.lineData?.y !== undefined);\n };\n\n private _adjustProps(): void {\n this._points = this.props.data || [];\n this._barWidth = this.props.barWidth || 16;\n const { palette } = this.props.theme!;\n this._colors = this.props.colors || [palette.blueLight, palette.blue, palette.blueMid, palette.blueDark];\n this._isHavingLine = this._checkForLine();\n }\n\n private _getMargins = (margins: IMargins) => {\n this.margins = margins;\n };\n\n private _renderContentForBothLineAndBars = (point: IVerticalBarChartDataPoint): JSX.Element => {\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n const content: JSX.Element[] = YValueHover.map((item: IYValueHover, index: number) => {\n return (\n <ChartHoverCard\n key={index}\n Legend={item.legend}\n {...(index === 0 && { XValue: `${hoverXValue || item.data}` })}\n color={item.color}\n YValue={item.data || item.y}\n culture={this.props.culture}\n />\n );\n });\n return <>{content}</>;\n };\n private _renderContentForOnlyBars = (props: IVerticalBarChartDataPoint): JSX.Element => {\n const { useSingleColor = false } = this.props;\n return (\n <>\n <ChartHoverCard\n XValue={props.xAxisCalloutData || (props.x as string)}\n Legend={props.legend}\n YValue={props.yAxisCalloutData || props.y}\n color={!useSingleColor && props.color ? props.color : this._createColors()(props.y)}\n culture={this.props.culture}\n />\n </>\n );\n };\n\n private _renderCallout = (props?: IVerticalBarChartDataPoint): JSX.Element | null => {\n return props\n ? this._isHavingLine\n ? this._renderContentForBothLineAndBars(props)\n : this._renderContentForOnlyBars(props)\n : null;\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps, this._renderCallout)\n : null;\n };\n\n private _getGraphData = (\n xScale: StringAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement?: SVGElement | null,\n ) => {\n return (this._bars =\n this._xAxisType === XAxisTypes.NumericAxis\n ? this._createNumericBars(containerHeight, containerWidth, xElement!)\n : this._createStringBars(containerHeight, containerWidth, xElement!));\n };\n\n private _createColors(): D3ScaleLinear<string, string> | ColorScale {\n const increment = this._colors.length <= 1 ? 1 : 1 / (this._colors.length - 1);\n const { useSingleColor = false } = this.props;\n if (useSingleColor) {\n return (_p?: number) => {\n const { theme, colors } = this.props;\n return colors && colors.length > 0 ? colors[0] : theme!.palette.blueLight;\n };\n }\n const domainValues = [];\n for (let i = 0; i < this._colors.length; i++) {\n domainValues.push(increment * i * this._yMax);\n }\n const colorScale = d3ScaleLinear<string>().domain(domainValues).range(this._colors);\n return colorScale;\n }\n\n private _refCallback = (element: SVGRectElement, legendTitle: string): void => {\n this._refArray.push({ index: legendTitle, refElement: element });\n };\n\n private _getCalloutContentForLineAndBar = (\n point: IVerticalBarChartDataPoint,\n ): { YValueHover: IYValueHover[]; hoverXValue: string | number | null } => {\n const YValueHover: IYValueHover[] = [];\n const { theme, useSingleColor = false } = this.props;\n const { data, lineLegendText, lineLegendColor = theme!.palette.yellow } = this.props;\n const selectedPoint = data!.filter((xDataPoint: IVerticalBarChartDataPoint) => xDataPoint.x === point.x);\n // there might be no y value of the line for the hovered bar. so we need to check this condition\n if (this._isHavingLine && selectedPoint[0].lineData?.y !== undefined) {\n // callout data for the line\n YValueHover.push({\n legend: lineLegendText,\n color: lineLegendColor,\n y: selectedPoint[0].lineData?.y,\n data: selectedPoint[0].lineData?.yAxisCalloutData,\n yAxisCalloutData: selectedPoint[0].lineData?.yAxisCalloutData,\n });\n }\n // callout data for the bar\n YValueHover.push({\n legend: selectedPoint[0].legend,\n y: selectedPoint[0].y,\n color: !useSingleColor\n ? selectedPoint[0].color\n ? selectedPoint[0].color\n : this._createColors()(selectedPoint[0].y)\n : this._createColors()(1),\n data: selectedPoint[0].yAxisCalloutData,\n yAxisCalloutData: selectedPoint[0].yAxisCalloutData,\n });\n return { YValueHover, hoverXValue: point.xAxisCalloutData || point.x.toString() };\n };\n\n private _onBarHover(\n point: IVerticalBarChartDataPoint,\n color: string,\n mouseEvent: React.MouseEvent<SVGElement>,\n ): void {\n mouseEvent.persist();\n\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n if (this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend,\n dataForHoverCard: point.y,\n calloutLegend: point.legend!,\n color: point.color || color,\n // To display callout value, if no callout value given, taking given point.x value as a string.\n xCalloutValue: point.xAxisCalloutData || point.x.toString(),\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n activeXdataPoint: point.x,\n YValueHover,\n hoverXValue,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n }\n\n private _onBarLeave = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n activeXdataPoint: null,\n YValueHover: [],\n hoverXValue: '',\n });\n };\n\n private _onBarFocus = (point: IVerticalBarChartDataPoint, refArrayIndexNumber: number, color: string): void => {\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n this._refArray.forEach((obj: IRefArrayData, index: number) => {\n if (obj.index === point.legend! && refArrayIndexNumber === index) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend,\n calloutLegend: point.legend!,\n dataForHoverCard: point.y,\n color: point.color || color,\n xCalloutValue: point.xAxisCalloutData || point.x.toString(),\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n activeXdataPoint: point.x,\n YValueHover,\n hoverXValue,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n });\n };\n\n private _getScales = (\n containerHeight: number,\n containerWidth: number,\n isNumericScale: boolean,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): { xBarScale: any; yBarScale: any } => {\n if (isNumericScale) {\n const xMax = d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.x as number)!;\n const xMin = d3Min(this._points, (point: IVerticalBarChartDataPoint) => point.x as number)!;\n const xBarScale = d3ScaleLinear()\n .domain(this._isRtl ? [xMax, xMin] : [xMin, xMax])\n .nice()\n .range([\n this.margins.left! + this._domainMargin,\n containerWidth - this.margins.right! - this._barWidth - this._domainMargin,\n ]);\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight - this.margins.bottom! - this.margins.top!]);\n return { xBarScale, yBarScale };\n } else {\n const xBarScale = d3ScaleBand()\n .domain(this._xAxisLabels)\n .range([this.margins.left! + this._domainMargin, containerWidth - this.margins.right! - this._domainMargin])\n .paddingInner(2 / 3);\n\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight - this.margins.bottom! - this.margins.top!]);\n return { xBarScale, yBarScale };\n }\n };\n\n private _createNumericBars(containerHeight: number, containerWidth: number, xElement: SVGElement): JSX.Element[] {\n const { useSingleColor = false } = this.props;\n const { xBarScale, yBarScale } = this._getScales(containerHeight, containerWidth, true);\n const colorScale = this._createColors();\n const bars = this._points.map((point: IVerticalBarChartDataPoint, index: number) => {\n const shouldHighlight = this._legendHighlighted(point.legend!) || this._noLegendHighlighted() ? true : false;\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n legendColor: this.state.color,\n shouldHighlight: shouldHighlight,\n });\n const barHeight: number = Math.max(yBarScale(point.y), 0);\n if (barHeight < 1) {\n return <React.Fragment key={point.x}> </React.Fragment>;\n }\n const xPoint = xBarScale(point.x as number);\n const yPoint = containerHeight - this.margins.bottom! - yBarScale(point.y);\n return (\n <g key={point.x}>\n <rect\n id={getId('_VBC_bar_')}\n x={xPoint}\n className={this._classNames.opacityChangeOnHover}\n y={yPoint}\n width={this._barWidth}\n data-is-focusable={!this.props.hideTooltip}\n height={barHeight}\n ref={(e: SVGRectElement) => {\n this._refCallback(e, point.legend!);\n }}\n onClick={point.onClick}\n onMouseOver={this._onBarHover.bind(this, point, colorScale(point.y))}\n aria-label={this._getAriaLabel(point)}\n role=\"img\"\n onMouseLeave={this._onBarLeave}\n onFocus={this._onBarFocus.bind(this, point, index, colorScale(point.y))}\n onBlur={this._onBarLeave}\n fill={point.color && !useSingleColor ? point.color : colorScale(point.y)}\n />\n {this._renderBarLabel(xPoint, yPoint, point.y)}\n </g>\n );\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xBarScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return bars;\n }\n\n private _createStringBars(containerHeight: number, containerWidth: number, xElement: SVGElement): JSX.Element[] {\n const { xBarScale, yBarScale } = this._getScales(containerHeight, containerWidth, false);\n const colorScale = this._createColors();\n const bars = this._points.map((point: IVerticalBarChartDataPoint, index: number) => {\n const barHeight: number = Math.max(yBarScale(point.y), 0);\n if (barHeight < 1) {\n return <React.Fragment key={point.x}> </React.Fragment>;\n }\n const xPoint = xBarScale(point.x);\n const yPoint = containerHeight - this.margins.bottom! - yBarScale(point.y);\n return (\n <g key={point.x} transform={`translate(${0.5 * (xBarScale.bandwidth() - this._barWidth)}, 0)`}>\n <rect\n id={getId('_VBC_bar_')}\n x={xPoint}\n y={yPoint}\n width={this._barWidth}\n height={barHeight}\n aria-label={this._getAriaLabel(point)}\n role=\"img\"\n ref={(e: SVGRectElement) => {\n this._refCallback(e, point.legend!);\n }}\n onClick={point.onClick}\n onMouseOver={this._onBarHover.bind(this, point, colorScale(point.y))}\n onMouseLeave={this._onBarLeave}\n onBlur={this._onBarLeave}\n data-is-focusable={!this.props.hideTooltip}\n onFocus={this._onBarFocus.bind(this, point, index, colorScale(point.y))}\n fill={point.color ? point.color : colorScale(point.y)}\n />\n {this._renderBarLabel(xPoint, yPoint, point.y)}\n </g>\n );\n });\n\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xBarScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n showTooltip: this.props.showXAxisLablesTooltip,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return bars;\n }\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _onLegendClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _getLegendData = (data: IVerticalBarChartDataPoint[], palette: IPalette): JSX.Element => {\n const { theme, useSingleColor } = this.props;\n const { lineLegendText, lineLegendColor = theme!.palette.yellow } = this.props;\n const actions: ILegend[] = [];\n data.forEach((point: IVerticalBarChartDataPoint, _index: number) => {\n const color: string = !useSingleColor ? point.color! : this._createColors()(1);\n // mapping data to the format Legends component needs\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onLegendClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n actions.push(legend);\n });\n if (this._isHavingLine && lineLegendText && lineLegendColor) {\n const lineLegend: ILegend = {\n title: lineLegendText,\n color: lineLegendColor,\n action: () => {\n this._onLegendClick(lineLegendText);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(lineLegendText);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n isLineLegendInBarChart: true,\n };\n actions.unshift(lineLegend);\n }\n const legends = (\n <Legends\n legends={actions}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n overflowProps={this.props.legendsOverflowProps}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n overflowText={this.props.legendsOverflowText}\n {...this.props.legendProps}\n />\n );\n return legends;\n };\n\n private _getAxisData = (yAxisData: IAxisData) => {\n if (yAxisData && yAxisData.yAxisDomainValues.length) {\n const { yAxisDomainValues: domainValue } = yAxisData;\n this._yMax = Math.max(domainValue[domainValue.length - 1], this.props.yMaxValue || 0);\n }\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n private _legendHighlighted = (legendTitle: string) => {\n return (\n this.state.selectedLegend === legendTitle ||\n (this.state.selectedLegend === '' && this.state.activeLegend === legendTitle)\n );\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n private _noLegendHighlighted = () => {\n return this.state.selectedLegend === '' && this.state.activeLegend === '';\n };\n\n private _getAriaLabel = (point: IVerticalBarChartDataPoint): string => {\n const xValue = point.xAxisCalloutData || point.x;\n const legend = point.legend;\n const yValue = point.yAxisCalloutData || point.y;\n const lineLegend = this.props.lineLegendText || 'Line';\n const lineYValue = point.lineData?.yAxisCalloutData || point.lineData?.y;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}. ` +\n (legend ? `${legend}, ` : '') +\n `${yValue}.` +\n (typeof lineYValue !== 'undefined' ? ` ${lineLegend}, ${lineYValue}.` : '')\n );\n };\n\n private _renderBarLabel(xPoint: number, yPoint: number, barValue: number) {\n if (this.props.hideLabels || this._barWidth < 16) {\n return null;\n }\n\n return (\n <text\n x={xPoint + this._barWidth / 2}\n y={yPoint - 6}\n textAnchor=\"middle\"\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(barValue < 1000 ? '.2~' : '.1', barValue)(barValue)}\n </text>\n );\n }\n\n private _getDomainMargins = (containerWidth: number): IMargins => {\n if (this._xAxisType !== XAxisTypes.NumericAxis) {\n /** Total width available to render the bars */\n const totalWidth =\n containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);\n let barWidth = Math.min(this.props.barWidth || 16, 24);\n /** Total width required to render the bars. Directly proportional to bar width */\n const reqWidth = (3 * this._xAxisLabels.length - 2) * barWidth;\n\n this._domainMargin = MIN_DOMAIN_MARGIN;\n if (totalWidth >= reqWidth) {\n // Center align the chart by setting equal left and right margins for domain\n this._domainMargin += (totalWidth - reqWidth) / 2;\n } else {\n /** Maximum possible bar width to maintain 2:1 spacing */\n const maxBandwidth = totalWidth / (3 * this._xAxisLabels.length - 2);\n barWidth = maxBandwidth;\n }\n this._barWidth = barWidth;\n }\n\n return {\n ...this.margins,\n left: this.margins.left! + this._domainMargin,\n right: this.margins.right! + this._domainMargin,\n };\n };\n\n private _isChartEmpty(): boolean {\n return (\n this._points.length === 0 ||\n (d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.y)! <= 0 && !this._isHavingLine)\n );\n }\n}\n"]}
1
+ {"version":3,"file":"VerticalBarChart.base.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { line as d3Line } from 'd3-shape';\nimport { select as d3Select } from 'd3-selection';\nimport { scaleLinear as d3ScaleLinear, ScaleLinear as D3ScaleLinear, scaleBand as d3ScaleBand } from 'd3-scale';\nimport { classNamesFunction, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport {\n IAccessibilityProps,\n CartesianChart,\n ChartHoverCard,\n IBasestate,\n IMargins,\n ILegend,\n IRefArrayData,\n IVerticalBarChartProps,\n IVerticalBarChartStyleProps,\n IVerticalBarChartStyles,\n IVerticalBarChartDataPoint,\n Legends,\n IChildProps,\n IYValueHover,\n} from '../../index';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ChartTypes,\n IAxisData,\n getAccessibleDataObject,\n XAxisTypes,\n NumericAxis,\n StringAxis,\n getTypeOfAxis,\n tooltipOfXAxislabels,\n} from '../../utilities/index';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nenum CircleVisbility {\n show = 'visibility',\n hide = 'hidden',\n}\nconst getClassNames = classNamesFunction<IVerticalBarChartStyleProps, IVerticalBarChartStyles>();\n\nconst MIN_DOMAIN_MARGIN = 8;\n\nexport interface IVerticalBarChartState extends IBasestate {\n dataPointCalloutProps?: IVerticalBarChartDataPoint; // define this in hover and focus\n /**\n * data point of x, where rectangle is hovered or focused\n */\n activeXdataPoint: number | string | null;\n YValueHover: IYValueHover[];\n hoverXValue?: string | number | null;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n}\n\ntype ColorScale = (_p?: number) => string;\n\nexport class VerticalBarChartBase extends React.Component<IVerticalBarChartProps, IVerticalBarChartState> {\n private _points: IVerticalBarChartDataPoint[];\n private _barWidth: number;\n private _colors: string[];\n private _classNames: IProcessedStyleSet<IVerticalBarChartStyles>;\n private _refArray: IRefArrayData[];\n private _calloutId: string;\n private margins: IMargins;\n private _isRtl: boolean = getRTL();\n private _bars: JSX.Element[];\n private _xAxisLabels: string[];\n private _yMax: number;\n private _isHavingLine: boolean;\n private _tooltipId: string;\n private _xAxisType: XAxisTypes;\n private _calloutAnchorPoint: IVerticalBarChartDataPoint | null;\n private _domainMargin: number;\n private _emptyChartId: string;\n\n public constructor(props: IVerticalBarChartProps) {\n super(props);\n this.state = {\n color: '',\n dataForHoverCard: 0,\n isCalloutVisible: false,\n refSelected: null,\n selectedLegend: '',\n activeLegend: '',\n xCalloutValue: '',\n yCalloutValue: '',\n activeXdataPoint: null,\n YValueHover: [],\n hoverXValue: '',\n calloutLegend: '',\n };\n this._isHavingLine = this._checkForLine();\n this._calloutId = getId('callout');\n this._tooltipId = getId('VCTooltipID_');\n this._refArray = [];\n this._xAxisType =\n this.props.data! && this.props.data!.length > 0\n ? (getTypeOfAxis(this.props.data![0].x, true) as XAxisTypes)\n : XAxisTypes.StringAxis;\n this._domainMargin = MIN_DOMAIN_MARGIN;\n this._emptyChartId = getId('_VBC_empty');\n }\n\n public render(): JSX.Element {\n this._adjustProps();\n this._xAxisLabels = this._points.map((point: IVerticalBarChartDataPoint) => point.x as string);\n this._yMax = Math.max(\n d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.y)!,\n this.props.yMaxValue || 0,\n );\n const legendBars: JSX.Element = this._getLegendData(this._points, this.props.theme!.palette);\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n legendColor: this.state.color,\n });\n const calloutProps = {\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n target: this.state.refSelected,\n isBeakVisible: false,\n ...(this._isHavingLine && {\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n }),\n gapSpace: 15,\n color: this.state.color,\n legend: this.state.calloutLegend,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n onDismiss: this._closeCallout,\n preventDismissOnLostFocus: true,\n ...this.props.calloutProps,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData),\n };\n const tickParams = {\n tickValues: this.props.tickValues,\n tickFormat: this.props.tickFormat,\n };\n return !this._isChartEmpty() ? (\n <CartesianChart\n {...this.props}\n points={this._points}\n chartType={ChartTypes.VerticalBarChart}\n xAxisType={this._xAxisType}\n calloutProps={calloutProps}\n tickParams={tickParams}\n {...(this._isHavingLine && { isCalloutForStack: true })}\n legendBars={legendBars}\n datasetForXAxisDomain={this._xAxisLabels}\n barwidth={this._barWidth}\n focusZoneDirection={FocusZoneDirection.horizontal}\n customizedCallout={this._getCustomizedCallout()}\n getmargins={this._getMargins}\n getGraphData={this._getGraphData}\n getAxisData={this._getAxisData}\n onChartMouseLeave={this._handleChartMouseLeave}\n getDomainMargins={this._getDomainMargins}\n {...(this._xAxisType !== XAxisTypes.NumericAxis && { xAxisInnerPadding: 2 / 3, xAxisOuterPadding: 0 })}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n return (\n <>\n <g>{this._bars}</g>\n {this._isHavingLine && (\n <g>\n {this._createLine(\n props.xScale!,\n props.yScale!,\n props.containerHeight,\n props.containerWidth,\n props.yScaleSecondary,\n )}\n </g>\n )}\n </>\n );\n }}\n />\n ) : (\n <div\n id={this._emptyChartId}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n\n private _createLine = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScale: any,\n containerHeight: number = 0,\n containerWidth: number = 0,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScaleSecondary?: any,\n ): React.ReactNode => {\n const isNumericAxis = this._xAxisType === XAxisTypes.NumericAxis;\n const { xBarScale } = this._getScales(containerHeight, containerWidth, isNumericAxis);\n const colorScale = this._createColors();\n const { theme } = this.props;\n const { data, lineLegendColor = theme!.palette.yellow, lineLegendText } = this.props;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const lineData: Array<any> = [];\n const line: JSX.Element[] = [];\n data &&\n data.forEach((item: IVerticalBarChartDataPoint, index: number) => {\n if (item.lineData && item.lineData.y) {\n lineData.push({\n x: item.x,\n y: item.lineData!.y,\n useSecondaryYScale: item.lineData!.useSecondaryYScale ?? false,\n point: item,\n index,\n });\n }\n });\n const linePath = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => (!isNumericAxis ? xBarScale(d.x) + 0.5 * xBarScale.bandwidth() : xScale(d.x)))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => (d.useSecondaryYScale && yScaleSecondary ? yScaleSecondary(d.y) : yScale(d.y)));\n const shouldHighlight = this._legendHighlighted(lineLegendText!) || this._noLegendHighlighted() ? true : false;\n const lineBorderWidth = this.props.lineOptions?.lineBorderWidth\n ? Number.parseFloat(this.props.lineOptions!.lineBorderWidth!.toString())\n : 0;\n\n if (lineBorderWidth > 0) {\n line.push(\n <path\n key={getId('_VBC_line_')}\n id={getId('_VBC_line_')}\n opacity={shouldHighlight ? 1 : 0.1}\n d={linePath(lineData)!}\n fill=\"transparent\"\n strokeLinecap=\"square\"\n strokeWidth={3 + lineBorderWidth * 2}\n stroke={theme!.palette.white}\n />,\n );\n }\n line.push(\n <path\n key={getId('_VBC_line_')}\n id={getId('_VBC_line_')}\n opacity={shouldHighlight ? 1 : 0.1}\n d={linePath(lineData)!}\n fill=\"transparent\"\n strokeLinecap=\"square\"\n strokeWidth={3}\n stroke={lineLegendColor}\n />,\n );\n\n const dots: React.ReactNode[] = lineData.map(\n (\n item: {\n x: number | string;\n y: number;\n useSecondaryYScale: boolean;\n point: IVerticalBarChartDataPoint;\n index: number;\n },\n index: number,\n ) => {\n return (\n <circle\n key={index}\n id={getId('_VBC_point_')}\n cx={!isNumericAxis ? xBarScale(item.x) + 0.5 * xBarScale.bandwidth() : xScale(item.x)}\n cy={item.useSecondaryYScale && yScaleSecondary ? yScaleSecondary(item.y) : yScale(item.y)}\n onMouseOver={this._onBarHover.bind(this, item.point, colorScale(item.y))}\n onMouseOut={this._onBarLeave}\n r={8}\n stroke={lineLegendColor}\n fill={this.props.theme!.palette.white}\n strokeWidth={3}\n visibility={this.state.activeXdataPoint === item.x ? CircleVisbility.show : CircleVisbility.hide}\n onClick={item.point.lineData?.onClick}\n />\n );\n },\n );\n\n return (\n <>\n {line}\n {dots}\n </>\n );\n };\n\n private _checkForLine = (): boolean => {\n const { data } = this.props;\n return data!.some((item: IVerticalBarChartDataPoint) => item?.lineData?.y !== undefined);\n };\n\n private _adjustProps(): void {\n this._points = this.props.data || [];\n this._barWidth = this.props.barWidth || 16;\n const { palette } = this.props.theme!;\n this._colors = this.props.colors || [palette.blueLight, palette.blue, palette.blueMid, palette.blueDark];\n this._isHavingLine = this._checkForLine();\n }\n\n private _getMargins = (margins: IMargins) => {\n this.margins = margins;\n };\n\n private _renderContentForBothLineAndBars = (point: IVerticalBarChartDataPoint): JSX.Element => {\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n const content: JSX.Element[] = YValueHover.map((item: IYValueHover, index: number) => {\n return (\n <ChartHoverCard\n key={index}\n Legend={item.legend}\n {...(index === 0 && { XValue: `${hoverXValue || item.data}` })}\n color={item.color}\n YValue={item.data || item.y}\n culture={this.props.culture}\n />\n );\n });\n return <>{content}</>;\n };\n private _renderContentForOnlyBars = (props: IVerticalBarChartDataPoint): JSX.Element => {\n const { useSingleColor = false } = this.props;\n return (\n <>\n <ChartHoverCard\n XValue={props.xAxisCalloutData || (props.x as string)}\n Legend={props.legend}\n YValue={props.yAxisCalloutData || props.y}\n color={!useSingleColor && props.color ? props.color : this._createColors()(props.y)}\n culture={this.props.culture}\n />\n </>\n );\n };\n\n private _renderCallout = (props?: IVerticalBarChartDataPoint): JSX.Element | null => {\n return props\n ? this._isHavingLine\n ? this._renderContentForBothLineAndBars(props)\n : this._renderContentForOnlyBars(props)\n : null;\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps, this._renderCallout)\n : null;\n };\n\n private _getGraphData = (\n xScale: StringAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement?: SVGElement | null,\n ) => {\n return (this._bars =\n this._xAxisType === XAxisTypes.NumericAxis\n ? this._createNumericBars(containerHeight, containerWidth, xElement!)\n : this._createStringBars(containerHeight, containerWidth, xElement!));\n };\n\n private _createColors(): D3ScaleLinear<string, string> | ColorScale {\n const increment = this._colors.length <= 1 ? 1 : 1 / (this._colors.length - 1);\n const { useSingleColor = false } = this.props;\n if (useSingleColor) {\n return (_p?: number) => {\n const { theme, colors } = this.props;\n return colors && colors.length > 0 ? colors[0] : theme!.palette.blueLight;\n };\n }\n const domainValues = [];\n for (let i = 0; i < this._colors.length; i++) {\n domainValues.push(increment * i * this._yMax);\n }\n const colorScale = d3ScaleLinear<string>().domain(domainValues).range(this._colors);\n return colorScale;\n }\n\n private _refCallback = (element: SVGRectElement, legendTitle: string): void => {\n this._refArray.push({ index: legendTitle, refElement: element });\n };\n\n private _getCalloutContentForLineAndBar = (\n point: IVerticalBarChartDataPoint,\n ): { YValueHover: IYValueHover[]; hoverXValue: string | number | null } => {\n const YValueHover: IYValueHover[] = [];\n const { theme, useSingleColor = false } = this.props;\n const { data, lineLegendText, lineLegendColor = theme!.palette.yellow } = this.props;\n const selectedPoint = data!.filter((xDataPoint: IVerticalBarChartDataPoint) => xDataPoint.x === point.x);\n // there might be no y value of the line for the hovered bar. so we need to check this condition\n if (this._isHavingLine && selectedPoint[0].lineData?.y !== undefined) {\n // callout data for the line\n YValueHover.push({\n legend: lineLegendText,\n color: lineLegendColor,\n y: selectedPoint[0].lineData?.y,\n data: selectedPoint[0].lineData?.yAxisCalloutData,\n yAxisCalloutData: selectedPoint[0].lineData?.yAxisCalloutData,\n });\n }\n // callout data for the bar\n YValueHover.push({\n legend: selectedPoint[0].legend,\n y: selectedPoint[0].y,\n color: !useSingleColor\n ? selectedPoint[0].color\n ? selectedPoint[0].color\n : this._createColors()(selectedPoint[0].y)\n : this._createColors()(1),\n data: selectedPoint[0].yAxisCalloutData,\n yAxisCalloutData: selectedPoint[0].yAxisCalloutData,\n });\n return { YValueHover, hoverXValue: point.xAxisCalloutData || point.x.toString() };\n };\n\n private _onBarHover(\n point: IVerticalBarChartDataPoint,\n color: string,\n mouseEvent: React.MouseEvent<SVGElement>,\n ): void {\n mouseEvent.persist();\n\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n if (this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend,\n dataForHoverCard: point.y,\n calloutLegend: point.legend!,\n color: point.color || color,\n // To display callout value, if no callout value given, taking given point.x value as a string.\n xCalloutValue: point.xAxisCalloutData || point.x.toString(),\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n activeXdataPoint: point.x,\n YValueHover,\n hoverXValue,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n }\n\n private _onBarLeave = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n activeXdataPoint: null,\n YValueHover: [],\n hoverXValue: '',\n });\n };\n\n private _onBarFocus = (point: IVerticalBarChartDataPoint, refArrayIndexNumber: number, color: string): void => {\n const { YValueHover, hoverXValue } = this._getCalloutContentForLineAndBar(point);\n this._refArray.forEach((obj: IRefArrayData, index: number) => {\n if (obj.index === point.legend! && refArrayIndexNumber === index) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend,\n calloutLegend: point.legend!,\n dataForHoverCard: point.y,\n color: point.color || color,\n xCalloutValue: point.xAxisCalloutData || point.x.toString(),\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n activeXdataPoint: point.x,\n YValueHover,\n hoverXValue,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n });\n };\n\n private _getScales = (\n containerHeight: number,\n containerWidth: number,\n isNumericScale: boolean,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): { xBarScale: any; yBarScale: any } => {\n if (isNumericScale) {\n const xMax = d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.x as number)!;\n const xMin = d3Min(this._points, (point: IVerticalBarChartDataPoint) => point.x as number)!;\n const xBarScale = d3ScaleLinear()\n .domain(this._isRtl ? [xMax, xMin] : [xMin, xMax])\n .nice()\n .range([\n this.margins.left! + this._domainMargin,\n containerWidth - this.margins.right! - this._barWidth - this._domainMargin,\n ]);\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight - this.margins.bottom! - this.margins.top!]);\n return { xBarScale, yBarScale };\n } else {\n const xBarScale = d3ScaleBand()\n .domain(this._xAxisLabels)\n .range([this.margins.left! + this._domainMargin, containerWidth - this.margins.right! - this._domainMargin])\n .paddingInner(2 / 3);\n\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight - this.margins.bottom! - this.margins.top!]);\n return { xBarScale, yBarScale };\n }\n };\n\n private _createNumericBars(containerHeight: number, containerWidth: number, xElement: SVGElement): JSX.Element[] {\n const { useSingleColor = false } = this.props;\n const { xBarScale, yBarScale } = this._getScales(containerHeight, containerWidth, true);\n const colorScale = this._createColors();\n const bars = this._points.map((point: IVerticalBarChartDataPoint, index: number) => {\n const shouldHighlight = this._legendHighlighted(point.legend!) || this._noLegendHighlighted() ? true : false;\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n legendColor: this.state.color,\n shouldHighlight: shouldHighlight,\n });\n const barHeight: number = Math.max(yBarScale(point.y), 0);\n let adjustedBarHeight = 0;\n if (barHeight <= 0) {\n return <React.Fragment key={point.x}> </React.Fragment>;\n } else if (barHeight <= Math.ceil(yBarScale(this._yMax) / 100.0)) {\n adjustedBarHeight = Math.ceil(yBarScale(this._yMax) / 100.0);\n } else {\n adjustedBarHeight = barHeight;\n }\n const xPoint = xBarScale(point.x as number);\n const yPoint = containerHeight - this.margins.bottom! - adjustedBarHeight;\n return (\n <g key={point.x}>\n <rect\n id={getId('_VBC_bar_')}\n x={xPoint}\n className={this._classNames.opacityChangeOnHover}\n y={yPoint}\n width={this._barWidth}\n data-is-focusable={!this.props.hideTooltip}\n height={adjustedBarHeight}\n ref={(e: SVGRectElement) => {\n this._refCallback(e, point.legend!);\n }}\n onClick={point.onClick}\n onMouseOver={this._onBarHover.bind(this, point, colorScale(point.y))}\n aria-label={this._getAriaLabel(point)}\n role=\"img\"\n onMouseLeave={this._onBarLeave}\n onFocus={this._onBarFocus.bind(this, point, index, colorScale(point.y))}\n onBlur={this._onBarLeave}\n fill={point.color && !useSingleColor ? point.color : colorScale(point.y)}\n />\n {this._renderBarLabel(xPoint, yPoint, point.y)}\n </g>\n );\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xBarScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return bars;\n }\n\n private _createStringBars(containerHeight: number, containerWidth: number, xElement: SVGElement): JSX.Element[] {\n const { xBarScale, yBarScale } = this._getScales(containerHeight, containerWidth, false);\n const colorScale = this._createColors();\n const bars = this._points.map((point: IVerticalBarChartDataPoint, index: number) => {\n const barHeight: number = Math.max(yBarScale(point.y), 0);\n let adjustedBarHeight = 0;\n if (barHeight <= 0) {\n return <React.Fragment key={point.x}> </React.Fragment>;\n } else if (barHeight <= Math.ceil(yBarScale(this._yMax) / 100.0)) {\n adjustedBarHeight = Math.ceil(yBarScale(this._yMax) / 100.0);\n } else {\n adjustedBarHeight = barHeight;\n }\n const xPoint = xBarScale(point.x);\n const yPoint = containerHeight - this.margins.bottom! - adjustedBarHeight;\n return (\n <g key={point.x} transform={`translate(${0.5 * (xBarScale.bandwidth() - this._barWidth)}, 0)`}>\n <rect\n id={getId('_VBC_bar_')}\n x={xPoint}\n y={yPoint}\n width={this._barWidth}\n height={adjustedBarHeight}\n aria-label={this._getAriaLabel(point)}\n role=\"img\"\n ref={(e: SVGRectElement) => {\n this._refCallback(e, point.legend!);\n }}\n onClick={point.onClick}\n onMouseOver={this._onBarHover.bind(this, point, colorScale(point.y))}\n onMouseLeave={this._onBarLeave}\n onBlur={this._onBarLeave}\n data-is-focusable={!this.props.hideTooltip}\n onFocus={this._onBarFocus.bind(this, point, index, colorScale(point.y))}\n fill={point.color ? point.color : colorScale(point.y)}\n />\n {this._renderBarLabel(xPoint, yPoint, point.y)}\n </g>\n );\n });\n\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xBarScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n showTooltip: this.props.showXAxisLablesTooltip,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return bars;\n }\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _onLegendClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _getLegendData = (data: IVerticalBarChartDataPoint[], palette: IPalette): JSX.Element => {\n const { theme, useSingleColor } = this.props;\n const { lineLegendText, lineLegendColor = theme!.palette.yellow } = this.props;\n const actions: ILegend[] = [];\n data.forEach((point: IVerticalBarChartDataPoint, _index: number) => {\n const color: string = !useSingleColor ? point.color! : this._createColors()(1);\n // mapping data to the format Legends component needs\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onLegendClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n actions.push(legend);\n });\n if (this._isHavingLine && lineLegendText && lineLegendColor) {\n const lineLegend: ILegend = {\n title: lineLegendText,\n color: lineLegendColor,\n action: () => {\n this._onLegendClick(lineLegendText);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(lineLegendText);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n isLineLegendInBarChart: true,\n };\n actions.unshift(lineLegend);\n }\n const legends = (\n <Legends\n legends={actions}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n overflowProps={this.props.legendsOverflowProps}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n overflowText={this.props.legendsOverflowText}\n {...this.props.legendProps}\n />\n );\n return legends;\n };\n\n private _getAxisData = (yAxisData: IAxisData) => {\n if (yAxisData && yAxisData.yAxisDomainValues.length) {\n const { yAxisDomainValues: domainValue } = yAxisData;\n this._yMax = Math.max(domainValue[domainValue.length - 1], this.props.yMaxValue || 0);\n }\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n private _legendHighlighted = (legendTitle: string) => {\n return (\n this.state.selectedLegend === legendTitle ||\n (this.state.selectedLegend === '' && this.state.activeLegend === legendTitle)\n );\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n private _noLegendHighlighted = () => {\n return this.state.selectedLegend === '' && this.state.activeLegend === '';\n };\n\n private _getAriaLabel = (point: IVerticalBarChartDataPoint): string => {\n const xValue = point.xAxisCalloutData || point.x;\n const legend = point.legend;\n const yValue = point.yAxisCalloutData || point.y;\n const lineLegend = this.props.lineLegendText || 'Line';\n const lineYValue = point.lineData?.yAxisCalloutData || point.lineData?.y;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}. ` +\n (legend ? `${legend}, ` : '') +\n `${yValue}.` +\n (typeof lineYValue !== 'undefined' ? ` ${lineLegend}, ${lineYValue}.` : '')\n );\n };\n\n private _renderBarLabel(xPoint: number, yPoint: number, barValue: number) {\n if (this.props.hideLabels || this._barWidth < 16) {\n return null;\n }\n\n return (\n <text\n x={xPoint + this._barWidth / 2}\n y={yPoint - 6}\n textAnchor=\"middle\"\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(barValue < 1000 ? '.2~' : '.1', barValue)(barValue)}\n </text>\n );\n }\n\n private _getDomainMargins = (containerWidth: number): IMargins => {\n if (this._xAxisType !== XAxisTypes.NumericAxis) {\n /** Total width available to render the bars */\n const totalWidth =\n containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);\n let barWidth = Math.min(this.props.barWidth || 16, 24);\n /** Total width required to render the bars. Directly proportional to bar width */\n const reqWidth = (3 * this._xAxisLabels.length - 2) * barWidth;\n\n this._domainMargin = MIN_DOMAIN_MARGIN;\n if (totalWidth >= reqWidth) {\n // Center align the chart by setting equal left and right margins for domain\n this._domainMargin += (totalWidth - reqWidth) / 2;\n } else {\n /** Maximum possible bar width to maintain 2:1 spacing */\n const maxBandwidth = totalWidth / (3 * this._xAxisLabels.length - 2);\n barWidth = maxBandwidth;\n }\n this._barWidth = barWidth;\n }\n\n return {\n ...this.margins,\n left: this.margins.left! + this._domainMargin,\n right: this.margins.right! + this._domainMargin,\n };\n };\n\n private _isChartEmpty(): boolean {\n return (\n this._points.length === 0 ||\n (d3Max(this._points, (point: IVerticalBarChartDataPoint) => point.y)! <= 0 && !this._isHavingLine)\n );\n }\n}\n"]}
@@ -1,3 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { IVerticalBarChartProps } from '../../index';
3
+ /**
4
+ * VerticalBarchart component.
5
+ * {@docCategory VerticalBarChart}
6
+ */
3
7
  export declare const VerticalBarChart: React.FunctionComponent<IVerticalBarChartProps>;
@@ -5,5 +5,9 @@ var Utilities_1 = require("../../Utilities");
5
5
  var VerticalBarChart_base_1 = require("./VerticalBarChart.base");
6
6
  var VerticalBarChart_styles_1 = require("./VerticalBarChart.styles");
7
7
  // Create a VerticalBarChart variant which uses these default styles and this styled subcomponent.
8
+ /**
9
+ * VerticalBarchart component.
10
+ * {@docCategory VerticalBarChart}
11
+ */
8
12
  exports.VerticalBarChart = (0, Utilities_1.styled)(VerticalBarChart_base_1.VerticalBarChartBase, VerticalBarChart_styles_1.getStyles);
9
13
  //# sourceMappingURL=VerticalBarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalBarChart.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.tsx"],"names":[],"mappings":";;;AACA,6CAAyC;AAEzC,iEAA+D;AAC/D,qEAAsD;AAEtD,kGAAkG;AACrF,QAAA,gBAAgB,GAAoD,IAAA,kBAAM,EAIrF,4CAAoB,EAAE,mCAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IVerticalBarChartProps, IVerticalBarChartStyleProps, IVerticalBarChartStyles } from '../../index';\nimport { VerticalBarChartBase } from './VerticalBarChart.base';\nimport { getStyles } from './VerticalBarChart.styles';\n\n// Create a VerticalBarChart variant which uses these default styles and this styled subcomponent.\nexport const VerticalBarChart: React.FunctionComponent<IVerticalBarChartProps> = styled<\n IVerticalBarChartProps,\n IVerticalBarChartStyleProps,\n IVerticalBarChartStyles\n>(VerticalBarChartBase, getStyles);\n"]}
1
+ {"version":3,"file":"VerticalBarChart.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.tsx"],"names":[],"mappings":";;;AACA,6CAAyC;AAEzC,iEAA+D;AAC/D,qEAAsD;AAEtD,kGAAkG;AAClG;;;GAGG;AACU,QAAA,gBAAgB,GAAoD,IAAA,kBAAM,EAIrF,4CAAoB,EAAE,mCAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IVerticalBarChartProps, IVerticalBarChartStyleProps, IVerticalBarChartStyles } from '../../index';\nimport { VerticalBarChartBase } from './VerticalBarChart.base';\nimport { getStyles } from './VerticalBarChart.styles';\n\n// Create a VerticalBarChart variant which uses these default styles and this styled subcomponent.\n/**\n * VerticalBarchart component.\n * {@docCategory VerticalBarChart}\n */\nexport const VerticalBarChart: React.FunctionComponent<IVerticalBarChartProps> = styled<\n IVerticalBarChartProps,\n IVerticalBarChartStyleProps,\n IVerticalBarChartStyles\n>(VerticalBarChartBase, getStyles);\n"]}
@@ -2,6 +2,10 @@ import { IStyle } from '@fluentui/react/lib/Styling';
2
2
  import { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';
3
3
  import { ICartesianChartProps, ICartesianChartStyleProps, ICartesianChartStyles, IVerticalBarChartDataPoint } from '../../index';
4
4
  import { ILineChartLineOptions } from '../../types/index';
5
+ /**
6
+ * IVerticalBarChartProps for VerticalBarchart component.
7
+ * {@docCategory VerticalBarChart}
8
+ */
5
9
  export interface IVerticalBarChartProps extends ICartesianChartProps {
6
10
  /**
7
11
  * Data to render in the chart.
@@ -70,37 +74,37 @@ export interface IVerticalBarChartStyleProps extends ICartesianChartStyleProps {
70
74
  export interface IVerticalBarChartStyles extends ICartesianChartStyles {
71
75
  /**
72
76
  * Style for the chart label.
73
- * @deprecated
77
+ * @deprecated This style cannot be customized anymore
74
78
  */
75
79
  chartLabel?: IStyle;
76
80
  /**
77
81
  * Style for the line representing the domain of the x-axis.
78
- * @deprecated
82
+ * @deprecated This style cannot be customized anymore
79
83
  */
80
84
  xAxisDomain?: IStyle;
81
85
  /**
82
86
  * Style for the lines representing the ticks along the x-axis.
83
- * @deprecated
87
+ * @deprecated This style cannot be customized anymore
84
88
  */
85
89
  xAxisTicks?: IStyle;
86
90
  /**
87
91
  * Style for the text labeling each tick along the x-axis.
88
- * @deprecated
92
+ * @deprecated This style cannot be customized anymore
89
93
  */
90
94
  xAxisText?: IStyle;
91
95
  /**
92
96
  * Style for the line representing the domain of the y-axis.
93
- * @deprecated
97
+ * @deprecated This style cannot be customized anymore
94
98
  */
95
99
  yAxisDomain?: IStyle;
96
100
  /**
97
101
  * Style for the lines representing the ticks along the y-axis.
98
- * @deprecated
102
+ * @deprecated This style cannot be customized anymore
99
103
  */
100
104
  yAxisTicks?: IStyle;
101
105
  /**
102
106
  * Style for the text labeling each tick along the y-axis.
103
- * @deprecated
107
+ * @deprecated This style cannot be customized anymore
104
108
  */
105
109
  yAxisText?: IStyle;
106
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalBarChart.types.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IStyle } from '@fluentui/react/lib/Styling';\nimport { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport {\n ICartesianChartProps,\n ICartesianChartStyleProps,\n ICartesianChartStyles,\n IVerticalBarChartDataPoint,\n} from '../../index';\nimport { ILineChartLineOptions } from '../../types/index';\n\nexport interface IVerticalBarChartProps extends ICartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data?: IVerticalBarChartDataPoint[];\n\n /**\n * Define a custom callout renderer for a data point.\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IVerticalBarChartDataPoint>;\n\n /**\n * Width of each bar in the chart.\n */\n barWidth?: number;\n\n /**\n * Colors from which to select the color of each bar.\n */\n colors?: string[];\n\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Legend text for the line datapoint in the chart\n */\n lineLegendText?: string;\n\n /**\n * color for the legend of the line in the chart\n * @default theme.yellow\n */\n\n lineLegendColor?: string;\n\n /**\n * This prop makes sure that all the bars are of same color.\n * it will take the first color from the array of colors in\n * prop `colors` or if `colors` prop is not given then default color is palette.blueLight\n * @default false\n */\n useSingleColor?: boolean;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<IVerticalBarChartStyleProps, IVerticalBarChartStyles>;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * it's padding between bar's or lines in the graph\n */\n xAxisPadding?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * Prop to hide the bar labels\n * @default false\n */\n hideLabels?: boolean;\n}\n\nexport interface IVerticalBarChartStyleProps extends ICartesianChartStyleProps {\n /**\n * color of the datapoint legend\n */\n legendColor?: string;\n}\n\nexport interface IVerticalBarChartStyles extends ICartesianChartStyles {\n /**\n * Style for the chart label.\n * @deprecated\n */\n chartLabel?: IStyle;\n\n /**\n * Style for the line representing the domain of the x-axis.\n * @deprecated\n */\n xAxisDomain?: IStyle;\n\n /**\n * Style for the lines representing the ticks along the x-axis.\n * @deprecated\n */\n xAxisTicks?: IStyle;\n\n /**\n * Style for the text labeling each tick along the x-axis.\n * @deprecated\n */\n xAxisText?: IStyle;\n\n /**\n * Style for the line representing the domain of the y-axis.\n * @deprecated\n */\n yAxisDomain?: IStyle;\n\n /**\n * Style for the lines representing the ticks along the y-axis.\n * @deprecated\n */\n yAxisTicks?: IStyle;\n\n /**\n * Style for the text labeling each tick along the y-axis.\n * @deprecated\n */\n yAxisText?: IStyle;\n\n /**\n * Style to change the opacity of bars in dataviz when we hover on a single bar or legends\n */\n opacityChangeOnHover: IStyle;\n\n /**\n * Style for the bar labels\n */\n barLabel: IStyle;\n}\n"]}
1
+ {"version":3,"file":"VerticalBarChart.types.js","sourceRoot":"../src/","sources":["components/VerticalBarChart/VerticalBarChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IStyle } from '@fluentui/react/lib/Styling';\nimport { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport {\n ICartesianChartProps,\n ICartesianChartStyleProps,\n ICartesianChartStyles,\n IVerticalBarChartDataPoint,\n} from '../../index';\nimport { ILineChartLineOptions } from '../../types/index';\n\n/**\n * IVerticalBarChartProps for VerticalBarchart component.\n * {@docCategory VerticalBarChart}\n */\nexport interface IVerticalBarChartProps extends ICartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data?: IVerticalBarChartDataPoint[];\n\n /**\n * Define a custom callout renderer for a data point.\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IVerticalBarChartDataPoint>;\n\n /**\n * Width of each bar in the chart.\n */\n barWidth?: number;\n\n /**\n * Colors from which to select the color of each bar.\n */\n colors?: string[];\n\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Legend text for the line datapoint in the chart\n */\n lineLegendText?: string;\n\n /**\n * color for the legend of the line in the chart\n * @default theme.yellow\n */\n\n lineLegendColor?: string;\n\n /**\n * This prop makes sure that all the bars are of same color.\n * it will take the first color from the array of colors in\n * prop `colors` or if `colors` prop is not given then default color is palette.blueLight\n * @default false\n */\n useSingleColor?: boolean;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<IVerticalBarChartStyleProps, IVerticalBarChartStyles>;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * it's padding between bar's or lines in the graph\n */\n xAxisPadding?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * Prop to hide the bar labels\n * @default false\n */\n hideLabels?: boolean;\n}\n\nexport interface IVerticalBarChartStyleProps extends ICartesianChartStyleProps {\n /**\n * color of the datapoint legend\n */\n legendColor?: string;\n}\n\nexport interface IVerticalBarChartStyles extends ICartesianChartStyles {\n /**\n * Style for the chart label.\n * @deprecated This style cannot be customized anymore\n */\n chartLabel?: IStyle;\n\n /**\n * Style for the line representing the domain of the x-axis.\n * @deprecated This style cannot be customized anymore\n */\n xAxisDomain?: IStyle;\n\n /**\n * Style for the lines representing the ticks along the x-axis.\n * @deprecated This style cannot be customized anymore\n */\n xAxisTicks?: IStyle;\n\n /**\n * Style for the text labeling each tick along the x-axis.\n * @deprecated This style cannot be customized anymore\n */\n xAxisText?: IStyle;\n\n /**\n * Style for the line representing the domain of the y-axis.\n * @deprecated This style cannot be customized anymore\n */\n yAxisDomain?: IStyle;\n\n /**\n * Style for the lines representing the ticks along the y-axis.\n * @deprecated This style cannot be customized anymore\n */\n yAxisTicks?: IStyle;\n\n /**\n * Style for the text labeling each tick along the y-axis.\n * @deprecated This style cannot be customized anymore\n */\n yAxisText?: IStyle;\n\n /**\n * Style to change the opacity of bars in dataviz when we hover on a single bar or legends\n */\n opacityChangeOnHover: IStyle;\n\n /**\n * Style for the bar labels\n */\n barLabel: IStyle;\n}\n"]}