@fluentui/react-charting 5.21.28 → 5.21.30

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 (743) hide show
  1. package/CHANGELOG.json +55 -1
  2. package/CHANGELOG.md +24 -2
  3. package/dist/react-charting.js +1 -0
  4. package/dist/react-charting.min.js +1 -0
  5. package/lib/AreaChart.js.map +1 -1
  6. package/lib/CartesianChart.js.map +1 -1
  7. package/lib/DonutChart.js.map +1 -1
  8. package/lib/GaugeChart.js.map +1 -1
  9. package/lib/GroupedVerticalBarChart.js.map +1 -1
  10. package/lib/HeatMapChart.js.map +1 -1
  11. package/lib/HorizontalBarChart.js.map +1 -1
  12. package/lib/HorizontalBarChartWithAxis.js.map +1 -1
  13. package/lib/Legends.js.map +1 -1
  14. package/lib/LineChart.js.map +1 -1
  15. package/lib/PieChart.js.map +1 -1
  16. package/lib/SankeyChart.js.map +1 -1
  17. package/lib/Sparkline.js.map +1 -1
  18. package/lib/StackedBarChart.js.map +1 -1
  19. package/lib/Styling.js.map +1 -1
  20. package/lib/TreeChart.js.map +1 -1
  21. package/lib/Utilities.js.map +1 -1
  22. package/lib/VerticalBarChart.js.map +1 -1
  23. package/lib/VerticalStackedBarChart.js.map +1 -1
  24. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  25. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  26. package/lib/components/AreaChart/AreaChart.styles.js.map +1 -1
  27. package/lib/components/AreaChart/AreaChart.types.js.map +1 -1
  28. package/lib/components/AreaChart/index.js.map +1 -1
  29. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  30. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  31. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  32. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  33. package/lib/components/CommonComponents/index.js.map +1 -1
  34. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  35. package/lib/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  36. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
  37. package/lib/components/DonutChart/Arc/index.js.map +1 -1
  38. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  39. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  40. package/lib/components/DonutChart/DonutChart.styles.js.map +1 -1
  41. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  42. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  43. package/lib/components/DonutChart/Pie/Pie.styles.js.map +1 -1
  44. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
  45. package/lib/components/DonutChart/Pie/index.js.map +1 -1
  46. package/lib/components/DonutChart/index.js.map +1 -1
  47. package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
  48. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  49. package/lib/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  50. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  51. package/lib/components/GaugeChart/index.js.map +1 -1
  52. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  53. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  54. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  55. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  56. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
  57. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  58. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  59. package/lib/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
  60. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  61. package/lib/components/HeatMapChart/index.js.map +1 -1
  62. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  63. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  64. package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  65. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  66. package/lib/components/HorizontalBarChart/index.js.map +1 -1
  67. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  68. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  69. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  70. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  71. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  72. package/lib/components/Legends/Legends.base.js.map +1 -1
  73. package/lib/components/Legends/Legends.js.map +1 -1
  74. package/lib/components/Legends/Legends.styles.js.map +1 -1
  75. package/lib/components/Legends/Legends.types.js.map +1 -1
  76. package/lib/components/Legends/index.js.map +1 -1
  77. package/lib/components/Legends/shape.js.map +1 -1
  78. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  79. package/lib/components/LineChart/LineChart.js.map +1 -1
  80. package/lib/components/LineChart/LineChart.styles.js.map +1 -1
  81. package/lib/components/LineChart/LineChart.types.js.map +1 -1
  82. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  83. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  84. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  85. package/lib/components/LineChart/index.js.map +1 -1
  86. package/lib/components/PieChart/Arc/Arc.js.map +1 -1
  87. package/lib/components/PieChart/Arc/Arc.styles.js.map +1 -1
  88. package/lib/components/PieChart/Arc/Arc.types.js.map +1 -1
  89. package/lib/components/PieChart/Arc/index.js.map +1 -1
  90. package/lib/components/PieChart/Pie/Pie.js.map +1 -1
  91. package/lib/components/PieChart/Pie/Pie.styles.js.map +1 -1
  92. package/lib/components/PieChart/Pie/Pie.types.js.map +1 -1
  93. package/lib/components/PieChart/Pie/index.js.map +1 -1
  94. package/lib/components/PieChart/PieChart.base.js.map +1 -1
  95. package/lib/components/PieChart/PieChart.js.map +1 -1
  96. package/lib/components/PieChart/PieChart.styles.js.map +1 -1
  97. package/lib/components/PieChart/PieChart.types.js.map +1 -1
  98. package/lib/components/PieChart/index.js.map +1 -1
  99. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  100. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  101. package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  102. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  103. package/lib/components/SankeyChart/index.js.map +1 -1
  104. package/lib/components/Sparkline/Sparkline.base.js.map +1 -1
  105. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  106. package/lib/components/Sparkline/Sparkline.styles.js.map +1 -1
  107. package/lib/components/Sparkline/Sparkline.types.js.map +1 -1
  108. package/lib/components/Sparkline/index.js.map +1 -1
  109. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  110. package/lib/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  111. package/lib/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  112. package/lib/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  113. package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  114. package/lib/components/StackedBarChart/StackedBarChart.js.map +1 -1
  115. package/lib/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  116. package/lib/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  117. package/lib/components/StackedBarChart/index.js.map +1 -1
  118. package/lib/components/TreeChart/TreeChart.base.js.map +1 -1
  119. package/lib/components/TreeChart/TreeChart.js.map +1 -1
  120. package/lib/components/TreeChart/TreeChart.styles.js.map +1 -1
  121. package/lib/components/TreeChart/TreeChart.types.js.map +1 -1
  122. package/lib/components/TreeChart/index.js.map +1 -1
  123. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  124. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  125. package/lib/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  126. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  127. package/lib/components/VerticalBarChart/index.js.map +1 -1
  128. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  129. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  130. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  131. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  132. package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
  133. package/lib/index.js.map +1 -1
  134. package/lib/types/IDataPoint.js.map +1 -1
  135. package/lib/types/IEventAnnotation.js.map +1 -1
  136. package/lib/types/ILegendDataItem.js.map +1 -1
  137. package/lib/types/index.js.map +1 -1
  138. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  139. package/lib/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
  140. package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
  141. package/lib/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
  142. package/lib/utilities/ChartHoverCard/index.js.map +1 -1
  143. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  144. package/lib/utilities/SVGTooltipText.js.map +1 -1
  145. package/lib/utilities/colors.js.map +1 -1
  146. package/lib/utilities/index.js.map +1 -1
  147. package/lib/utilities/locale-util.js.map +1 -1
  148. package/lib/utilities/test-data.js.map +1 -1
  149. package/lib/utilities/utilities.js.map +1 -1
  150. package/lib/utilities/vbc-utils.js.map +1 -1
  151. package/lib/version.js +1 -1
  152. package/lib/version.js.map +1 -1
  153. package/lib-amd/AreaChart.d.ts +1 -0
  154. package/lib-amd/AreaChart.js +6 -0
  155. package/lib-amd/AreaChart.js.map +1 -0
  156. package/lib-amd/CartesianChart.d.ts +1 -0
  157. package/lib-amd/CartesianChart.js +6 -0
  158. package/lib-amd/CartesianChart.js.map +1 -0
  159. package/lib-amd/DonutChart.d.ts +1 -0
  160. package/lib-amd/DonutChart.js +6 -0
  161. package/lib-amd/DonutChart.js.map +1 -0
  162. package/lib-amd/GaugeChart.d.ts +1 -0
  163. package/lib-amd/GaugeChart.js +6 -0
  164. package/lib-amd/GaugeChart.js.map +1 -0
  165. package/lib-amd/GroupedVerticalBarChart.d.ts +1 -0
  166. package/lib-amd/GroupedVerticalBarChart.js +6 -0
  167. package/lib-amd/GroupedVerticalBarChart.js.map +1 -0
  168. package/lib-amd/HeatMapChart.d.ts +1 -0
  169. package/lib-amd/HeatMapChart.js +6 -0
  170. package/lib-amd/HeatMapChart.js.map +1 -0
  171. package/lib-amd/HorizontalBarChart.d.ts +1 -0
  172. package/lib-amd/HorizontalBarChart.js +6 -0
  173. package/lib-amd/HorizontalBarChart.js.map +1 -0
  174. package/lib-amd/HorizontalBarChartWithAxis.d.ts +1 -0
  175. package/lib-amd/HorizontalBarChartWithAxis.js +6 -0
  176. package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -0
  177. package/lib-amd/Legends.d.ts +1 -0
  178. package/lib-amd/Legends.js +6 -0
  179. package/lib-amd/Legends.js.map +1 -0
  180. package/lib-amd/LineChart.d.ts +1 -0
  181. package/lib-amd/LineChart.js +6 -0
  182. package/lib-amd/LineChart.js.map +1 -0
  183. package/lib-amd/PieChart.d.ts +1 -0
  184. package/lib-amd/PieChart.js +6 -0
  185. package/lib-amd/PieChart.js.map +1 -0
  186. package/lib-amd/SankeyChart.d.ts +1 -0
  187. package/lib-amd/SankeyChart.js +6 -0
  188. package/lib-amd/SankeyChart.js.map +1 -0
  189. package/lib-amd/Sparkline.d.ts +1 -0
  190. package/lib-amd/Sparkline.js +6 -0
  191. package/lib-amd/Sparkline.js.map +1 -0
  192. package/lib-amd/StackedBarChart.d.ts +1 -0
  193. package/lib-amd/StackedBarChart.js +6 -0
  194. package/lib-amd/StackedBarChart.js.map +1 -0
  195. package/lib-amd/Styling.d.ts +2 -0
  196. package/lib-amd/Styling.js +75 -0
  197. package/lib-amd/Styling.js.map +1 -0
  198. package/lib-amd/TreeChart.d.ts +1 -0
  199. package/lib-amd/TreeChart.js +6 -0
  200. package/lib-amd/TreeChart.js.map +1 -0
  201. package/lib-amd/Utilities.d.ts +2 -0
  202. package/lib-amd/Utilities.js +183 -0
  203. package/lib-amd/Utilities.js.map +1 -0
  204. package/lib-amd/VerticalBarChart.d.ts +1 -0
  205. package/lib-amd/VerticalBarChart.js +6 -0
  206. package/lib-amd/VerticalBarChart.js.map +1 -0
  207. package/lib-amd/VerticalStackedBarChart.d.ts +1 -0
  208. package/lib-amd/VerticalStackedBarChart.js +6 -0
  209. package/lib-amd/VerticalStackedBarChart.js.map +1 -0
  210. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +103 -0
  211. package/lib-amd/components/AreaChart/AreaChart.base.js +652 -0
  212. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -0
  213. package/lib-amd/components/AreaChart/AreaChart.d.ts +7 -0
  214. package/lib-amd/components/AreaChart/AreaChart.js +12 -0
  215. package/lib-amd/components/AreaChart/AreaChart.js.map +1 -0
  216. package/lib-amd/components/AreaChart/AreaChart.styles.d.ts +2 -0
  217. package/lib-amd/components/AreaChart/AreaChart.styles.js +12 -0
  218. package/lib-amd/components/AreaChart/AreaChart.styles.js.map +1 -0
  219. package/lib-amd/components/AreaChart/AreaChart.types.d.ts +59 -0
  220. package/lib-amd/components/AreaChart/AreaChart.types.js +5 -0
  221. package/lib-amd/components/AreaChart/AreaChart.types.js.map +1 -0
  222. package/lib-amd/components/AreaChart/index.d.ts +2 -0
  223. package/lib-amd/components/AreaChart/index.js +7 -0
  224. package/lib-amd/components/AreaChart/index.js.map +1 -0
  225. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +62 -0
  226. package/lib-amd/components/CommonComponents/CartesianChart.base.js +593 -0
  227. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -0
  228. package/lib-amd/components/CommonComponents/CartesianChart.d.ts +7 -0
  229. package/lib-amd/components/CommonComponents/CartesianChart.js +11 -0
  230. package/lib-amd/components/CommonComponents/CartesianChart.js.map +1 -0
  231. package/lib-amd/components/CommonComponents/CartesianChart.styles.d.ts +2 -0
  232. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +180 -0
  233. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -0
  234. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +528 -0
  235. package/lib-amd/components/CommonComponents/CartesianChart.types.js +5 -0
  236. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -0
  237. package/lib-amd/components/CommonComponents/index.d.ts +2 -0
  238. package/lib-amd/components/CommonComponents/index.js +7 -0
  239. package/lib-amd/components/CommonComponents/index.js.map +1 -0
  240. package/lib-amd/components/DonutChart/Arc/Arc.d.ts +21 -0
  241. package/lib-amd/components/DonutChart/Arc/Arc.js +88 -0
  242. package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -0
  243. package/lib-amd/components/DonutChart/Arc/Arc.styles.d.ts +2 -0
  244. package/lib-amd/components/DonutChart/Arc/Arc.styles.js +33 -0
  245. package/lib-amd/components/DonutChart/Arc/Arc.styles.js.map +1 -0
  246. package/lib-amd/components/DonutChart/Arc/Arc.types.d.ts +124 -0
  247. package/lib-amd/components/DonutChart/Arc/Arc.types.js +5 -0
  248. package/lib-amd/components/DonutChart/Arc/Arc.types.js.map +1 -0
  249. package/lib-amd/components/DonutChart/Arc/index.d.ts +2 -0
  250. package/lib-amd/components/DonutChart/Arc/index.js +7 -0
  251. package/lib-amd/components/DonutChart/Arc/index.js.map +1 -0
  252. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +54 -0
  253. package/lib-amd/components/DonutChart/DonutChart.base.js +241 -0
  254. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -0
  255. package/lib-amd/components/DonutChart/DonutChart.d.ts +7 -0
  256. package/lib-amd/components/DonutChart/DonutChart.js +12 -0
  257. package/lib-amd/components/DonutChart/DonutChart.js.map +1 -0
  258. package/lib-amd/components/DonutChart/DonutChart.styles.d.ts +2 -0
  259. package/lib-amd/components/DonutChart/DonutChart.styles.js +36 -0
  260. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -0
  261. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +75 -0
  262. package/lib-amd/components/DonutChart/DonutChart.types.js +5 -0
  263. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -0
  264. package/lib-amd/components/DonutChart/Pie/Pie.d.ts +15 -0
  265. package/lib-amd/components/DonutChart/Pie/Pie.js +67 -0
  266. package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -0
  267. package/lib-amd/components/DonutChart/Pie/Pie.styles.d.ts +2 -0
  268. package/lib-amd/components/DonutChart/Pie/Pie.styles.js +24 -0
  269. package/lib-amd/components/DonutChart/Pie/Pie.styles.js.map +1 -0
  270. package/lib-amd/components/DonutChart/Pie/Pie.types.d.ts +96 -0
  271. package/lib-amd/components/DonutChart/Pie/Pie.types.js +5 -0
  272. package/lib-amd/components/DonutChart/Pie/Pie.types.js.map +1 -0
  273. package/lib-amd/components/DonutChart/Pie/index.d.ts +2 -0
  274. package/lib-amd/components/DonutChart/Pie/index.js +7 -0
  275. package/lib-amd/components/DonutChart/Pie/index.js.map +1 -0
  276. package/lib-amd/components/DonutChart/index.d.ts +3 -0
  277. package/lib-amd/components/DonutChart/index.js +8 -0
  278. package/lib-amd/components/DonutChart/index.js.map +1 -0
  279. package/lib-amd/components/GaugeChart/GaugeChart.base.d.ts +75 -0
  280. package/lib-amd/components/GaugeChart/GaugeChart.base.js +410 -0
  281. package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -0
  282. package/lib-amd/components/GaugeChart/GaugeChart.d.ts +7 -0
  283. package/lib-amd/components/GaugeChart/GaugeChart.js +11 -0
  284. package/lib-amd/components/GaugeChart/GaugeChart.js.map +1 -0
  285. package/lib-amd/components/GaugeChart/GaugeChart.styles.d.ts +2 -0
  286. package/lib-amd/components/GaugeChart/GaugeChart.styles.js +122 -0
  287. package/lib-amd/components/GaugeChart/GaugeChart.styles.js.map +1 -0
  288. package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +238 -0
  289. package/lib-amd/components/GaugeChart/GaugeChart.types.js +22 -0
  290. package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -0
  291. package/lib-amd/components/GaugeChart/index.d.ts +2 -0
  292. package/lib-amd/components/GaugeChart/index.js +7 -0
  293. package/lib-amd/components/GaugeChart/index.js.map +1 -0
  294. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +72 -0
  295. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +425 -0
  296. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -0
  297. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +7 -0
  298. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +12 -0
  299. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  300. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.d.ts +2 -0
  301. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +21 -0
  302. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -0
  303. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +111 -0
  304. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +5 -0
  305. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  306. package/lib-amd/components/GroupedVerticalBarChart/index.d.ts +2 -0
  307. package/lib-amd/components/GroupedVerticalBarChart/index.js +7 -0
  308. package/lib-amd/components/GroupedVerticalBarChart/index.js.map +1 -0
  309. package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +152 -0
  310. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +538 -0
  311. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -0
  312. package/lib-amd/components/HeatMapChart/HeatMapChart.d.ts +7 -0
  313. package/lib-amd/components/HeatMapChart/HeatMapChart.js +11 -0
  314. package/lib-amd/components/HeatMapChart/HeatMapChart.js.map +1 -0
  315. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.d.ts +2 -0
  316. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js +29 -0
  317. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js.map +1 -0
  318. package/lib-amd/components/HeatMapChart/HeatMapChart.types.d.ts +122 -0
  319. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js +5 -0
  320. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  321. package/lib-amd/components/HeatMapChart/index.d.ts +2 -0
  322. package/lib-amd/components/HeatMapChart/index.js +7 -0
  323. package/lib-amd/components/HeatMapChart/index.js.map +1 -0
  324. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +47 -0
  325. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +270 -0
  326. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -0
  327. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.d.ts +7 -0
  328. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js +12 -0
  329. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  330. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.d.ts +2 -0
  331. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +69 -0
  332. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -0
  333. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +188 -0
  334. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js +14 -0
  335. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  336. package/lib-amd/components/HorizontalBarChart/index.d.ts +3 -0
  337. package/lib-amd/components/HorizontalBarChart/index.js +8 -0
  338. package/lib-amd/components/HorizontalBarChart/index.js.map +1 -0
  339. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +61 -0
  340. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +499 -0
  341. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
  342. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +7 -0
  343. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +12 -0
  344. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  345. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
  346. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +17 -0
  347. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
  348. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +112 -0
  349. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +5 -0
  350. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  351. package/lib-amd/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
  352. package/lib-amd/components/HorizontalBarChartWithAxis/index.js +7 -0
  353. package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  354. package/lib-amd/components/Legends/Legends.base.d.ts +43 -0
  355. package/lib-amd/components/Legends/Legends.base.js +308 -0
  356. package/lib-amd/components/Legends/Legends.base.js.map +1 -0
  357. package/lib-amd/components/Legends/Legends.d.ts +7 -0
  358. package/lib-amd/components/Legends/Legends.js +11 -0
  359. package/lib-amd/components/Legends/Legends.js.map +1 -0
  360. package/lib-amd/components/Legends/Legends.styles.d.ts +2 -0
  361. package/lib-amd/components/Legends/Legends.styles.js +111 -0
  362. package/lib-amd/components/Legends/Legends.styles.js.map +1 -0
  363. package/lib-amd/components/Legends/Legends.types.d.ts +210 -0
  364. package/lib-amd/components/Legends/Legends.types.js +5 -0
  365. package/lib-amd/components/Legends/Legends.types.js.map +1 -0
  366. package/lib-amd/components/Legends/index.d.ts +3 -0
  367. package/lib-amd/components/Legends/index.js +8 -0
  368. package/lib-amd/components/Legends/index.js.map +1 -0
  369. package/lib-amd/components/Legends/shape.d.ts +9 -0
  370. package/lib-amd/components/Legends/shape.js +27 -0
  371. package/lib-amd/components/Legends/shape.js.map +1 -0
  372. package/lib-amd/components/LineChart/LineChart.base.d.ts +92 -0
  373. package/lib-amd/components/LineChart/LineChart.base.js +861 -0
  374. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -0
  375. package/lib-amd/components/LineChart/LineChart.d.ts +7 -0
  376. package/lib-amd/components/LineChart/LineChart.js +12 -0
  377. package/lib-amd/components/LineChart/LineChart.js.map +1 -0
  378. package/lib-amd/components/LineChart/LineChart.styles.d.ts +2 -0
  379. package/lib-amd/components/LineChart/LineChart.styles.js +12 -0
  380. package/lib-amd/components/LineChart/LineChart.styles.js.map +1 -0
  381. package/lib-amd/components/LineChart/LineChart.types.d.ts +98 -0
  382. package/lib-amd/components/LineChart/LineChart.types.js +5 -0
  383. package/lib-amd/components/LineChart/LineChart.types.js.map +1 -0
  384. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.d.ts +12 -0
  385. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +97 -0
  386. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  387. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.d.ts +24 -0
  388. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js +42 -0
  389. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  390. package/lib-amd/components/LineChart/eventAnnotation/Textbox.d.ts +13 -0
  391. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +40 -0
  392. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  393. package/lib-amd/components/LineChart/index.d.ts +3 -0
  394. package/lib-amd/components/LineChart/index.js +8 -0
  395. package/lib-amd/components/LineChart/index.js.map +1 -0
  396. package/lib-amd/components/PieChart/Arc/Arc.d.ts +17 -0
  397. package/lib-amd/components/PieChart/Arc/Arc.js +85 -0
  398. package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -0
  399. package/lib-amd/components/PieChart/Arc/Arc.styles.d.ts +3 -0
  400. package/lib-amd/components/PieChart/Arc/Arc.styles.js +16 -0
  401. package/lib-amd/components/PieChart/Arc/Arc.styles.js.map +1 -0
  402. package/lib-amd/components/PieChart/Arc/Arc.types.d.ts +73 -0
  403. package/lib-amd/components/PieChart/Arc/Arc.types.js +5 -0
  404. package/lib-amd/components/PieChart/Arc/Arc.types.js.map +1 -0
  405. package/lib-amd/components/PieChart/Arc/index.d.ts +2 -0
  406. package/lib-amd/components/PieChart/Arc/index.js +7 -0
  407. package/lib-amd/components/PieChart/Arc/index.js.map +1 -0
  408. package/lib-amd/components/PieChart/Pie/Pie.d.ts +10 -0
  409. package/lib-amd/components/PieChart/Pie/Pie.js +43 -0
  410. package/lib-amd/components/PieChart/Pie/Pie.js.map +1 -0
  411. package/lib-amd/components/PieChart/Pie/Pie.styles.d.ts +2 -0
  412. package/lib-amd/components/PieChart/Pie/Pie.styles.js +12 -0
  413. package/lib-amd/components/PieChart/Pie/Pie.styles.js.map +1 -0
  414. package/lib-amd/components/PieChart/Pie/Pie.types.d.ts +47 -0
  415. package/lib-amd/components/PieChart/Pie/Pie.types.js +5 -0
  416. package/lib-amd/components/PieChart/Pie/Pie.types.js.map +1 -0
  417. package/lib-amd/components/PieChart/Pie/index.d.ts +2 -0
  418. package/lib-amd/components/PieChart/Pie/index.js +7 -0
  419. package/lib-amd/components/PieChart/Pie/index.js.map +1 -0
  420. package/lib-amd/components/PieChart/PieChart.base.d.ts +10 -0
  421. package/lib-amd/components/PieChart/PieChart.base.js +46 -0
  422. package/lib-amd/components/PieChart/PieChart.base.js.map +1 -0
  423. package/lib-amd/components/PieChart/PieChart.d.ts +7 -0
  424. package/lib-amd/components/PieChart/PieChart.js +12 -0
  425. package/lib-amd/components/PieChart/PieChart.js.map +1 -0
  426. package/lib-amd/components/PieChart/PieChart.styles.d.ts +2 -0
  427. package/lib-amd/components/PieChart/PieChart.styles.js +34 -0
  428. package/lib-amd/components/PieChart/PieChart.styles.js.map +1 -0
  429. package/lib-amd/components/PieChart/PieChart.types.d.ts +75 -0
  430. package/lib-amd/components/PieChart/PieChart.types.js +5 -0
  431. package/lib-amd/components/PieChart/PieChart.types.js.map +1 -0
  432. package/lib-amd/components/PieChart/index.d.ts +2 -0
  433. package/lib-amd/components/PieChart/index.js +7 -0
  434. package/lib-amd/components/PieChart/index.js.map +1 -0
  435. package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +90 -0
  436. package/lib-amd/components/SankeyChart/SankeyChart.base.js +930 -0
  437. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -0
  438. package/lib-amd/components/SankeyChart/SankeyChart.d.ts +7 -0
  439. package/lib-amd/components/SankeyChart/SankeyChart.js +12 -0
  440. package/lib-amd/components/SankeyChart/SankeyChart.js.map +1 -0
  441. package/lib-amd/components/SankeyChart/SankeyChart.styles.d.ts +2 -0
  442. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +65 -0
  443. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -0
  444. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +146 -0
  445. package/lib-amd/components/SankeyChart/SankeyChart.types.js +5 -0
  446. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -0
  447. package/lib-amd/components/SankeyChart/index.d.ts +2 -0
  448. package/lib-amd/components/SankeyChart/index.js +7 -0
  449. package/lib-amd/components/SankeyChart/index.js.map +1 -0
  450. package/lib-amd/components/Sparkline/Sparkline.base.d.ts +23 -0
  451. package/lib-amd/components/Sparkline/Sparkline.base.js +84 -0
  452. package/lib-amd/components/Sparkline/Sparkline.base.js.map +1 -0
  453. package/lib-amd/components/Sparkline/Sparkline.d.ts +7 -0
  454. package/lib-amd/components/Sparkline/Sparkline.js +12 -0
  455. package/lib-amd/components/Sparkline/Sparkline.js.map +1 -0
  456. package/lib-amd/components/Sparkline/Sparkline.styles.d.ts +2 -0
  457. package/lib-amd/components/Sparkline/Sparkline.styles.js +15 -0
  458. package/lib-amd/components/Sparkline/Sparkline.styles.js.map +1 -0
  459. package/lib-amd/components/Sparkline/Sparkline.types.d.ts +59 -0
  460. package/lib-amd/components/Sparkline/Sparkline.types.js +5 -0
  461. package/lib-amd/components/Sparkline/Sparkline.types.js.map +1 -0
  462. package/lib-amd/components/Sparkline/index.d.ts +2 -0
  463. package/lib-amd/components/Sparkline/index.js +7 -0
  464. package/lib-amd/components/Sparkline/index.js.map +1 -0
  465. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +70 -0
  466. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +412 -0
  467. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -0
  468. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.d.ts +7 -0
  469. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js +12 -0
  470. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js.map +1 -0
  471. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.d.ts +2 -0
  472. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +89 -0
  473. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -0
  474. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.d.ts +213 -0
  475. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js +14 -0
  476. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -0
  477. package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +63 -0
  478. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +349 -0
  479. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -0
  480. package/lib-amd/components/StackedBarChart/StackedBarChart.d.ts +7 -0
  481. package/lib-amd/components/StackedBarChart/StackedBarChart.js +12 -0
  482. package/lib-amd/components/StackedBarChart/StackedBarChart.js.map +1 -0
  483. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.d.ts +2 -0
  484. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +107 -0
  485. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +1 -0
  486. package/lib-amd/components/StackedBarChart/StackedBarChart.types.d.ts +222 -0
  487. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js +5 -0
  488. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js.map +1 -0
  489. package/lib-amd/components/StackedBarChart/index.d.ts +5 -0
  490. package/lib-amd/components/StackedBarChart/index.js +10 -0
  491. package/lib-amd/components/StackedBarChart/index.js.map +1 -0
  492. package/lib-amd/components/TreeChart/TreeChart.base.d.ts +18 -0
  493. package/lib-amd/components/TreeChart/TreeChart.base.js +320 -0
  494. package/lib-amd/components/TreeChart/TreeChart.base.js.map +1 -0
  495. package/lib-amd/components/TreeChart/TreeChart.d.ts +7 -0
  496. package/lib-amd/components/TreeChart/TreeChart.js +11 -0
  497. package/lib-amd/components/TreeChart/TreeChart.js.map +1 -0
  498. package/lib-amd/components/TreeChart/TreeChart.styles.d.ts +2 -0
  499. package/lib-amd/components/TreeChart/TreeChart.styles.js +34 -0
  500. package/lib-amd/components/TreeChart/TreeChart.styles.js.map +1 -0
  501. package/lib-amd/components/TreeChart/TreeChart.types.d.ts +216 -0
  502. package/lib-amd/components/TreeChart/TreeChart.types.js +34 -0
  503. package/lib-amd/components/TreeChart/TreeChart.types.js.map +1 -0
  504. package/lib-amd/components/TreeChart/index.d.ts +2 -0
  505. package/lib-amd/components/TreeChart/index.js +7 -0
  506. package/lib-amd/components/TreeChart/index.js.map +1 -0
  507. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +84 -0
  508. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +738 -0
  509. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -0
  510. package/lib-amd/components/VerticalBarChart/VerticalBarChart.d.ts +7 -0
  511. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js +12 -0
  512. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  513. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.d.ts +2 -0
  514. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +32 -0
  515. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -0
  516. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.d.ts +145 -0
  517. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js +5 -0
  518. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  519. package/lib-amd/components/VerticalBarChart/index.d.ts +2 -0
  520. package/lib-amd/components/VerticalBarChart/index.js +7 -0
  521. package/lib-amd/components/VerticalBarChart/index.js.map +1 -0
  522. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +92 -0
  523. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +754 -0
  524. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -0
  525. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +7 -0
  526. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js +12 -0
  527. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  528. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.d.ts +2 -0
  529. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +22 -0
  530. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -0
  531. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +172 -0
  532. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +5 -0
  533. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  534. package/lib-amd/components/VerticalStackedBarChart/index.d.ts +2 -0
  535. package/lib-amd/components/VerticalStackedBarChart/index.js +7 -0
  536. package/lib-amd/components/VerticalStackedBarChart/index.js.map +1 -0
  537. package/lib-amd/index.d.ts +21 -0
  538. package/lib-amd/index.js +25 -0
  539. package/lib-amd/index.js.map +1 -0
  540. package/lib-amd/types/IDataPoint.d.ts +687 -0
  541. package/lib-amd/types/IDataPoint.js +5 -0
  542. package/lib-amd/types/IDataPoint.js.map +1 -0
  543. package/lib-amd/types/IEventAnnotation.d.ts +6 -0
  544. package/lib-amd/types/IEventAnnotation.js +5 -0
  545. package/lib-amd/types/IEventAnnotation.js.map +1 -0
  546. package/lib-amd/types/ILegendDataItem.d.ts +10 -0
  547. package/lib-amd/types/ILegendDataItem.js +5 -0
  548. package/lib-amd/types/ILegendDataItem.js.map +1 -0
  549. package/lib-amd/types/index.d.ts +2 -0
  550. package/lib-amd/types/index.js +7 -0
  551. package/lib-amd/types/index.js.map +1 -0
  552. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.d.ts +6 -0
  553. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +39 -0
  554. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -0
  555. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.d.ts +3 -0
  556. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js +8 -0
  557. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -0
  558. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.d.ts +2 -0
  559. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js +103 -0
  560. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -0
  561. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.d.ts +105 -0
  562. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js +5 -0
  563. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -0
  564. package/lib-amd/utilities/ChartHoverCard/index.d.ts +3 -0
  565. package/lib-amd/utilities/ChartHoverCard/index.js +8 -0
  566. package/lib-amd/utilities/ChartHoverCard/index.js.map +1 -0
  567. package/lib-amd/utilities/FocusableTooltipText.d.ts +27 -0
  568. package/lib-amd/utilities/FocusableTooltipText.js +54 -0
  569. package/lib-amd/utilities/FocusableTooltipText.js.map +1 -0
  570. package/lib-amd/utilities/SVGTooltipText.d.ts +95 -0
  571. package/lib-amd/utilities/SVGTooltipText.js +175 -0
  572. package/lib-amd/utilities/SVGTooltipText.js.map +1 -0
  573. package/lib-amd/utilities/colors.d.ts +51 -0
  574. package/lib-amd/utilities/colors.js +139 -0
  575. package/lib-amd/utilities/colors.js.map +1 -0
  576. package/lib-amd/utilities/index.d.ts +4 -0
  577. package/lib-amd/utilities/index.js +9 -0
  578. package/lib-amd/utilities/index.js.map +1 -0
  579. package/lib-amd/utilities/locale-util.d.ts +3 -0
  580. package/lib-amd/utilities/locale-util.js +24 -0
  581. package/lib-amd/utilities/locale-util.js.map +1 -0
  582. package/lib-amd/utilities/test-data.d.ts +27 -0
  583. package/lib-amd/utilities/test-data.js +214 -0
  584. package/lib-amd/utilities/test-data.js.map +1 -0
  585. package/lib-amd/utilities/utilities.d.ts +411 -0
  586. package/lib-amd/utilities/utilities.js +1085 -0
  587. package/lib-amd/utilities/utilities.js.map +1 -0
  588. package/lib-amd/utilities/vbc-utils.d.ts +2 -0
  589. package/lib-amd/utilities/vbc-utils.js +38 -0
  590. package/lib-amd/utilities/vbc-utils.js.map +1 -0
  591. package/lib-amd/version.d.ts +1 -0
  592. package/lib-amd/version.js +6 -0
  593. package/lib-amd/version.js.map +1 -0
  594. package/lib-commonjs/AreaChart.js.map +1 -1
  595. package/lib-commonjs/CartesianChart.js.map +1 -1
  596. package/lib-commonjs/DonutChart.js.map +1 -1
  597. package/lib-commonjs/GaugeChart.js.map +1 -1
  598. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
  599. package/lib-commonjs/HeatMapChart.js.map +1 -1
  600. package/lib-commonjs/HorizontalBarChart.js.map +1 -1
  601. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
  602. package/lib-commonjs/Legends.js.map +1 -1
  603. package/lib-commonjs/LineChart.js.map +1 -1
  604. package/lib-commonjs/PieChart.js.map +1 -1
  605. package/lib-commonjs/SankeyChart.js.map +1 -1
  606. package/lib-commonjs/Sparkline.js.map +1 -1
  607. package/lib-commonjs/StackedBarChart.js.map +1 -1
  608. package/lib-commonjs/Styling.js.map +1 -1
  609. package/lib-commonjs/TreeChart.js.map +1 -1
  610. package/lib-commonjs/Utilities.js.map +1 -1
  611. package/lib-commonjs/VerticalBarChart.js.map +1 -1
  612. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
  613. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  614. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  615. package/lib-commonjs/components/AreaChart/AreaChart.styles.js.map +1 -1
  616. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -1
  617. package/lib-commonjs/components/AreaChart/index.js.map +1 -1
  618. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  619. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  620. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  621. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  622. package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
  623. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  624. package/lib-commonjs/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  625. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
  626. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
  627. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  628. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  629. package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
  630. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  631. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  632. package/lib-commonjs/components/DonutChart/Pie/Pie.styles.js.map +1 -1
  633. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
  634. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
  635. package/lib-commonjs/components/DonutChart/index.js.map +1 -1
  636. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
  637. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  638. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  639. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  640. package/lib-commonjs/components/GaugeChart/index.js.map +1 -1
  641. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  642. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  643. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  644. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  645. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
  646. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  647. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  648. package/lib-commonjs/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
  649. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  650. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
  651. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  652. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  653. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  654. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  655. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
  656. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  657. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  658. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  659. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  660. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  661. package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
  662. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  663. package/lib-commonjs/components/Legends/Legends.styles.js.map +1 -1
  664. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  665. package/lib-commonjs/components/Legends/index.js.map +1 -1
  666. package/lib-commonjs/components/Legends/shape.js.map +1 -1
  667. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  668. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  669. package/lib-commonjs/components/LineChart/LineChart.styles.js.map +1 -1
  670. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
  671. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  672. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  673. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  674. package/lib-commonjs/components/LineChart/index.js.map +1 -1
  675. package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
  676. package/lib-commonjs/components/PieChart/Arc/Arc.styles.js.map +1 -1
  677. package/lib-commonjs/components/PieChart/Arc/Arc.types.js.map +1 -1
  678. package/lib-commonjs/components/PieChart/Arc/index.js.map +1 -1
  679. package/lib-commonjs/components/PieChart/Pie/Pie.js.map +1 -1
  680. package/lib-commonjs/components/PieChart/Pie/Pie.styles.js.map +1 -1
  681. package/lib-commonjs/components/PieChart/Pie/Pie.types.js.map +1 -1
  682. package/lib-commonjs/components/PieChart/Pie/index.js.map +1 -1
  683. package/lib-commonjs/components/PieChart/PieChart.base.js.map +1 -1
  684. package/lib-commonjs/components/PieChart/PieChart.js.map +1 -1
  685. package/lib-commonjs/components/PieChart/PieChart.styles.js.map +1 -1
  686. package/lib-commonjs/components/PieChart/PieChart.types.js.map +1 -1
  687. package/lib-commonjs/components/PieChart/index.js.map +1 -1
  688. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  689. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  690. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  691. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  692. package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
  693. package/lib-commonjs/components/Sparkline/Sparkline.base.js.map +1 -1
  694. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  695. package/lib-commonjs/components/Sparkline/Sparkline.styles.js.map +1 -1
  696. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -1
  697. package/lib-commonjs/components/Sparkline/index.js.map +1 -1
  698. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  699. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  700. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  701. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  702. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  703. package/lib-commonjs/components/StackedBarChart/StackedBarChart.js.map +1 -1
  704. package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  705. package/lib-commonjs/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  706. package/lib-commonjs/components/StackedBarChart/index.js.map +1 -1
  707. package/lib-commonjs/components/TreeChart/TreeChart.base.js.map +1 -1
  708. package/lib-commonjs/components/TreeChart/TreeChart.js.map +1 -1
  709. package/lib-commonjs/components/TreeChart/TreeChart.styles.js.map +1 -1
  710. package/lib-commonjs/components/TreeChart/TreeChart.types.js.map +1 -1
  711. package/lib-commonjs/components/TreeChart/index.js.map +1 -1
  712. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  713. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  714. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  715. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  716. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
  717. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  718. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  719. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  720. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  721. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
  722. package/lib-commonjs/index.js.map +1 -1
  723. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  724. package/lib-commonjs/types/IEventAnnotation.js.map +1 -1
  725. package/lib-commonjs/types/ILegendDataItem.js.map +1 -1
  726. package/lib-commonjs/types/index.js.map +1 -1
  727. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  728. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
  729. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
  730. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
  731. package/lib-commonjs/utilities/ChartHoverCard/index.js.map +1 -1
  732. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  733. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  734. package/lib-commonjs/utilities/colors.js.map +1 -1
  735. package/lib-commonjs/utilities/index.js.map +1 -1
  736. package/lib-commonjs/utilities/locale-util.js.map +1 -1
  737. package/lib-commonjs/utilities/test-data.js.map +1 -1
  738. package/lib-commonjs/utilities/utilities.js.map +1 -1
  739. package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
  740. package/lib-commonjs/version.js +1 -1
  741. package/lib-commonjs/version.js.map +1 -1
  742. package/package.json +4 -4
  743. package/project.json +1 -1
@@ -0,0 +1,538 @@
1
+ define(["require", "exports", "tslib", "../../components/CommonComponents/index", "d3-scale", "@fluentui/react/lib/Utilities", "@fluentui/react-focus", "@fluentui/react/lib/Callout", "react", "../Legends/index", "../../utilities/locale-util", "../../utilities/utilities", "d3-format", "d3-time-format"], function (require, exports, tslib_1, index_1, d3_scale_1, Utilities_1, react_focus_1, Callout_1, React, index_2, locale_util_1, utilities_1, d3_format_1, d3_time_format_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.HeatMapChartBase = void 0;
5
+ var getClassNames = (0, Utilities_1.classNamesFunction)();
6
+ var HeatMapChartBase = /** @class */ (function (_super) {
7
+ tslib_1.__extends(HeatMapChartBase, _super);
8
+ function HeatMapChartBase(props) {
9
+ var _this = _super.call(this, props) || this;
10
+ /**
11
+ * This array contains ref for all the rectangles
12
+ * drawn inside the chard
13
+ */
14
+ _this._rectRefArray = {};
15
+ _this._getMinMaxOfYAxis = function () {
16
+ return { startValue: 0, endValue: 0 };
17
+ };
18
+ _this._getDomainNRangeValues = function (points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
19
+ var domainNRangeValue;
20
+ if (xAxisType === utilities_1.XAxisTypes.NumericAxis || xAxisType === utilities_1.XAxisTypes.DateAxis) {
21
+ domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };
22
+ }
23
+ else {
24
+ domainNRangeValue = (0, utilities_1.domainRangeOfXStringAxis)(margins, width, isRTL);
25
+ }
26
+ return domainNRangeValue;
27
+ };
28
+ _this._getXandY = function () {
29
+ var x = '';
30
+ var y = '';
31
+ _this.props.data.forEach(function (item) {
32
+ if (item.data && item.data.length > 0) {
33
+ x = item.data[0].x;
34
+ y = item.data[0].y;
35
+ return { x: x, y: y };
36
+ }
37
+ });
38
+ return { x: x, y: y };
39
+ };
40
+ _this._getOpacity = function (legendTitle) {
41
+ var opacity = _this._legendHighlighted(legendTitle) || _this._noLegendHighlighted() ? '1' : '0.1';
42
+ return opacity;
43
+ };
44
+ _this._rectRefCallback = function (rectElement, index, dataPointObject) {
45
+ _this._rectRefArray[index] = { data: dataPointObject, refElement: rectElement };
46
+ };
47
+ _this._onRectFocus = function (id, data) {
48
+ _this.setState({
49
+ target: _this._rectRefArray[id].refElement,
50
+ /** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */
51
+ isCalloutVisible: _this.state.selectedLegend === '' || _this.state.selectedLegend === data.legend,
52
+ calloutYValue: "".concat(data.rectText),
53
+ calloutTextColor: Number.isNaN(data.value)
54
+ ? _this.props.theme.semanticColors.bodyText
55
+ : _this._colorScale(data.value),
56
+ calloutLegend: data.legend,
57
+ ratio: data.ratio || null,
58
+ descriptionMessage: data.descriptionMessage || '',
59
+ calloutId: id,
60
+ callOutAccessibilityData: data.callOutAccessibilityData,
61
+ });
62
+ };
63
+ _this._onRectMouseOver = function (id, data, mouseEvent) {
64
+ mouseEvent.persist();
65
+ if (_this._calloutAnchorPoint !== data) {
66
+ _this._calloutAnchorPoint = data;
67
+ _this.setState({
68
+ target: _this._rectRefArray[id].refElement,
69
+ /** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */
70
+ isCalloutVisible: _this.state.selectedLegend === '' || _this.state.selectedLegend === data.legend,
71
+ calloutYValue: "".concat(data.rectText),
72
+ calloutTextColor: Number.isNaN(data.value)
73
+ ? _this.props.theme.semanticColors.bodyText
74
+ : _this._colorScale(data.value),
75
+ calloutLegend: data.legend,
76
+ ratio: data.ratio || null,
77
+ descriptionMessage: data.descriptionMessage || '',
78
+ calloutId: id,
79
+ callOutAccessibilityData: data.callOutAccessibilityData,
80
+ });
81
+ }
82
+ };
83
+ _this._onRectBlurOrMouseOut = function () {
84
+ /**/
85
+ };
86
+ _this._handleChartMouseLeave = function () {
87
+ _this._calloutAnchorPoint = null;
88
+ _this.setState({
89
+ isCalloutVisible: false,
90
+ });
91
+ };
92
+ /**
93
+ * This is the function which is responsible for
94
+ * drawing the rectangle in the graph and also
95
+ * attaching dom events to that rectangles
96
+ */
97
+ _this._createRectangles = function () {
98
+ var rectangles = [];
99
+ var yAxisDataPoints = _this._stringYAxisDataPoints.slice().reverse();
100
+ /**
101
+ * yAxisDataPoint is noting but the DataPoint
102
+ * which will be rendered on the y-axis
103
+ */
104
+ yAxisDataPoints.forEach(function (yAxisDataPoint) {
105
+ var index = 0;
106
+ _this._stringXAxisDataPoints.forEach(function (xAxisDataPoint) {
107
+ var _a;
108
+ var rectElement;
109
+ var id = "x".concat(xAxisDataPoint, "y").concat(yAxisDataPoint);
110
+ if (((_a = _this._dataSet[yAxisDataPoint][index]) === null || _a === void 0 ? void 0 : _a.x) === xAxisDataPoint) {
111
+ /**
112
+ * dataPointObject is an object where it contains information on single
113
+ * data point such as x, y , value, rectText property of the rectangle
114
+ */
115
+ var dataPointObject_1 = _this._dataSet[yAxisDataPoint][index];
116
+ rectElement = (React.createElement("g", { key: id, role: "img", "aria-label": _this._getAriaLabel(dataPointObject_1), "data-is-focusable": _this._legendHighlighted(dataPointObject_1.legend) || _this._noLegendHighlighted(), fillOpacity: _this._getOpacity(dataPointObject_1.legend), transform: "translate(".concat(_this._xAxisScale(dataPointObject_1.x), ", ").concat(_this._yAxisScale(dataPointObject_1.y), ")"), ref: function (gElement) {
117
+ _this._rectRefCallback(gElement, id, dataPointObject_1);
118
+ }, onFocus: _this._onRectFocus.bind(_this, id, dataPointObject_1), onBlur: _this._onRectBlurOrMouseOut, onMouseOver: _this._onRectMouseOver.bind(_this, id, dataPointObject_1), onMouseOut: _this._onRectBlurOrMouseOut },
119
+ React.createElement("rect", { fill: _this._colorScale(dataPointObject_1.value), width: _this._xAxisScale.bandwidth(), height: _this._yAxisScale.bandwidth(), onClick: dataPointObject_1.onClick }),
120
+ React.createElement("text", { dominantBaseline: 'middle', textAnchor: 'middle', className: _this._classNames.text, transform: "translate(".concat(_this._xAxisScale.bandwidth() / 2, ", ").concat(_this._yAxisScale.bandwidth() / 2, ")") }, (0, locale_util_1.convertToLocaleString)(dataPointObject_1.rectText, _this.props.culture))));
121
+ index++;
122
+ }
123
+ else {
124
+ var dataPointObject_2 = {
125
+ x: xAxisDataPoint,
126
+ y: yAxisDataPoint,
127
+ value: NaN,
128
+ rectText: 'No data available',
129
+ legend: '',
130
+ };
131
+ rectElement = (React.createElement("g", { key: id, role: "img", "aria-label": _this._getAriaLabel(dataPointObject_2), "data-is-focusable": _this._noLegendHighlighted(), transform: "translate(".concat(_this._xAxisScale(dataPointObject_2.x), ", ").concat(_this._yAxisScale(dataPointObject_2.y), ")"), ref: function (gElement) {
132
+ _this._rectRefCallback(gElement, id, dataPointObject_2);
133
+ }, onFocus: _this._onRectFocus.bind(_this, id, dataPointObject_2), onBlur: _this._onRectBlurOrMouseOut, onMouseOver: _this._onRectMouseOver.bind(_this, id, dataPointObject_2), onMouseOut: _this._onRectBlurOrMouseOut },
134
+ React.createElement("rect", { fill: _this.props.theme.semanticColors.bodyBackground, width: _this._xAxisScale.bandwidth(), height: _this._yAxisScale.bandwidth() })));
135
+ }
136
+ rectangles.push(rectElement);
137
+ });
138
+ });
139
+ return rectangles;
140
+ };
141
+ _this._createLegendBars = function () {
142
+ var _a = _this.props, data = _a.data, legendProps = _a.legendProps;
143
+ var legends = [];
144
+ data.forEach(function (item) {
145
+ var legend = {
146
+ title: item.legend,
147
+ color: _this._colorScale(item.value),
148
+ action: function () {
149
+ _this._onLegendClick(item.legend);
150
+ },
151
+ hoverAction: function () {
152
+ _this._handleChartMouseLeave();
153
+ _this._onLegendHover(item.legend);
154
+ },
155
+ onMouseOutAction: function () {
156
+ _this._onLegendLeave();
157
+ },
158
+ };
159
+ legends.push(legend);
160
+ });
161
+ return React.createElement(index_2.Legends, tslib_1.__assign({}, legendProps, { legends: legends }));
162
+ };
163
+ _this._getColorScale = function () {
164
+ var _a = _this.props, domainValuesForColorScale = _a.domainValuesForColorScale, rangeValuesForColorScale = _a.rangeValuesForColorScale;
165
+ return (0, d3_scale_1.scaleLinear)()
166
+ .domain(domainValuesForColorScale)
167
+ .range(rangeValuesForColorScale);
168
+ };
169
+ _this._getXIndex = function (value) {
170
+ if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
171
+ return "".concat(value.getTime());
172
+ }
173
+ else if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
174
+ return value;
175
+ }
176
+ else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
177
+ return "".concat(value);
178
+ }
179
+ else {
180
+ return '';
181
+ }
182
+ };
183
+ _this._getYIndex = function (value) {
184
+ if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
185
+ return "".concat(value.getTime());
186
+ }
187
+ else if (_this._yAxisType === utilities_1.YAxisType.StringAxis) {
188
+ return value;
189
+ }
190
+ else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
191
+ return "".concat(value);
192
+ }
193
+ else {
194
+ return '';
195
+ }
196
+ };
197
+ /**
198
+ * This will create a new data set based on the prop
199
+ * @data
200
+ * We will be using This data set to contsruct our rectangles
201
+ * in the chart, we use this data set becuase, when we loop in this
202
+ * data and build the heat map, it will support accessibility as
203
+ * specified in the figma
204
+ */
205
+ _this._createNewDataSet = function (data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString) {
206
+ /**
207
+ * please do not destructure any of the props here,
208
+ * instead send them as parameter to this functions so that
209
+ * this functions get called whenever the prop changes
210
+ */
211
+ var flattenData = [];
212
+ /**
213
+ * below for each loop will store all the datapoints in the one array.
214
+ * basically it will flatten the nestesd array (data prop) into single array
215
+ * of object. where each object contains x, y, rectText , value and legend propety of single
216
+ * data point.
217
+ */
218
+ data.forEach(function (item) {
219
+ item.data.forEach(function (point) {
220
+ flattenData.push(tslib_1.__assign(tslib_1.__assign({}, point), { legend: item.legend }));
221
+ });
222
+ });
223
+ var yPoints = {};
224
+ var uniqueYPoints = {};
225
+ var uniqueXPoints = {};
226
+ flattenData.forEach(function (item) {
227
+ var posX = _this._getXIndex(item.x);
228
+ var posY = _this._getYIndex(item.y);
229
+ uniqueXPoints[posX] = '1';
230
+ uniqueYPoints[posY] = '1';
231
+ /** we will check if the property(posY) is already there in object, if Yes,
232
+ * then we will append the item in the Array related to the pos, if not
233
+ * then we will simply append the item in the new Array and
234
+ * assign that array to the property (posY) in the Object
235
+ * and finally we will get the array of Objects associated to each
236
+ * property (which is nothing but y data point) and object in the
237
+ * array are noting but x data points associated to the property y
238
+ */
239
+ if (yPoints[posY]) {
240
+ yPoints[posY] = tslib_1.__spreadArray(tslib_1.__spreadArray([], yPoints[posY], true), [item], false);
241
+ }
242
+ else {
243
+ yPoints[posY] = [item];
244
+ }
245
+ });
246
+ /**
247
+ * we will now sort(ascending) the array's of y data point based on the x value
248
+ * sorting is important to achive the accessibility order of the
249
+ * rectangles and then format the x and y datapoints respectively
250
+ */
251
+ Object.keys(yPoints).forEach(function (item) {
252
+ yPoints[item]
253
+ .sort(function (a, b) {
254
+ if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
255
+ return a.x.toLowerCase() > b.x.toLowerCase() ? 1 : -1;
256
+ }
257
+ else if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
258
+ return a.x.getTime() - b.x.getTime();
259
+ }
260
+ else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
261
+ return +a.x > +b.x ? 1 : -1;
262
+ }
263
+ else {
264
+ return a.x > b.x ? 1 : -1;
265
+ }
266
+ })
267
+ .forEach(function (datapoint) {
268
+ if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
269
+ datapoint.x = _this._getStringFormattedDate(datapoint.x, xAxisDateFormatString);
270
+ }
271
+ if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
272
+ datapoint.x = _this._getStringFormattedNumber(datapoint.x, xAxisNumberFormatString);
273
+ }
274
+ if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
275
+ datapoint.x = _this._getFormattedLabelForXAxisDataPoint(datapoint.x);
276
+ }
277
+ if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
278
+ datapoint.y = _this._getStringFormattedDate(datapoint.y, yAxisDateFormatString);
279
+ }
280
+ if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
281
+ datapoint.y = _this._getStringFormattedNumber(datapoint.y, yAxisNumberFormatString);
282
+ }
283
+ if (_this._yAxisType === utilities_1.YAxisType.StringAxis) {
284
+ datapoint.y = _this._getFormattedLabelForYAxisDataPoint(datapoint.y);
285
+ }
286
+ });
287
+ });
288
+ /**
289
+ * if y-axis data points are of type date or number or if we have string formatter,
290
+ * then we need to change data points to their respective string
291
+ * format, becuase in the private variable this._stringYAxisDatapoints, points will be stored in
292
+ * string format. and in here `yPoint` are not so we need to change, so that
293
+ * function `this._createRectangles` should work perfetcly while looping, and if we don't change
294
+ * then `this._createRectangles` will fail while looping, causing the error
295
+ * Cannot read property 'forEach' of undefined
296
+ */
297
+ Object.keys(yPoints).forEach(function (yPoint) {
298
+ if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
299
+ yPoints[_this._getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];
300
+ }
301
+ else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
302
+ yPoints["".concat(_this._getStringFormattedNumber(yPoint, yAxisNumberFormatString))] = yPoints[yPoint];
303
+ }
304
+ else {
305
+ yPoints[_this._getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];
306
+ }
307
+ });
308
+ /**
309
+ * assigning new data set
310
+ */
311
+ var dataSet = yPoints;
312
+ /**
313
+ * These are the Y axis data points which will get rendered in the
314
+ * Y axis in graph
315
+ */
316
+ var yAxisPoints = _this._getYAxisDataPoints(uniqueYPoints);
317
+ /**
318
+ * These are the x axis data points which will get rendered in the
319
+ * x axis in the graph
320
+ */
321
+ var xAxisPoints = _this._getXAxisDataPoints(uniqueXPoints);
322
+ return {
323
+ dataSet: dataSet,
324
+ yAxisPoints: yAxisPoints,
325
+ xAxisPoints: xAxisPoints,
326
+ };
327
+ };
328
+ /**
329
+ * This function will return the final sorted and formatted x-axis points
330
+ * which will be rendered on the x-axis
331
+ * @param points
332
+ * @returns x-axis points
333
+ */
334
+ _this._getXAxisDataPoints = function (points) {
335
+ var xAxisPoints = [];
336
+ var unFormattedXAxisDataPoints = Object.keys(points).sort(function (a, b) {
337
+ if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis || _this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
338
+ return +a - +b;
339
+ }
340
+ else {
341
+ return a.toLowerCase() > b.toLowerCase() ? 1 : -1;
342
+ }
343
+ });
344
+ xAxisPoints = unFormattedXAxisDataPoints.map(function (xPoint) {
345
+ if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
346
+ return _this._getStringFormattedDate(xPoint, _this.props.xAxisDateFormatString);
347
+ }
348
+ else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
349
+ return _this._getStringFormattedNumber(xPoint, _this.props.xAxisNumberFormatString);
350
+ }
351
+ else {
352
+ return _this._getFormattedLabelForXAxisDataPoint(xPoint);
353
+ }
354
+ });
355
+ return xAxisPoints;
356
+ };
357
+ /**
358
+ * This function will return the final sorted and formatted y-axis points
359
+ * which will be rendered on the y-axis
360
+ * @param points
361
+ * @returns yaxis points
362
+ */
363
+ _this._getYAxisDataPoints = function (points) {
364
+ var yAxisPoints = [];
365
+ var unFormattedYAxisDataPoints = Object.keys(points).sort(function (a, b) {
366
+ if (_this._yAxisType === utilities_1.YAxisType.DateAxis || _this._yAxisType === utilities_1.YAxisType.NumericAxis) {
367
+ return +a - +b;
368
+ }
369
+ else {
370
+ return a.toLowerCase() > b.toLowerCase() ? 1 : -1;
371
+ }
372
+ });
373
+ yAxisPoints = unFormattedYAxisDataPoints.map(function (yPoint) {
374
+ if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
375
+ return _this._getStringFormattedDate(yPoint, _this.props.yAxisDateFormatString);
376
+ }
377
+ else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
378
+ return _this._getStringFormattedNumber(yPoint, _this.props.yAxisNumberFormatString);
379
+ }
380
+ else {
381
+ return _this._getFormattedLabelForYAxisDataPoint(yPoint);
382
+ }
383
+ });
384
+ return yAxisPoints;
385
+ };
386
+ _this._getStringFormattedDate = function (point, formatString) {
387
+ var date = new Date();
388
+ date.setTime(+point);
389
+ return (0, d3_time_format_1.timeFormat)(formatString || '%b/%d')(date);
390
+ };
391
+ _this._getStringFormattedNumber = function (point, formatString) {
392
+ return (0, d3_format_1.format)(formatString || '.2~s')(+point);
393
+ };
394
+ _this._getFormattedLabelForXAxisDataPoint = function (point) {
395
+ var xAxisStringFormatter = _this.props.xAxisStringFormatter;
396
+ return xAxisStringFormatter ? xAxisStringFormatter(point) : point;
397
+ };
398
+ _this._getFormattedLabelForYAxisDataPoint = function (point) {
399
+ var yAxisStringFormatter = _this.props.yAxisStringFormatter;
400
+ return yAxisStringFormatter ? yAxisStringFormatter(point) : point;
401
+ };
402
+ _this._closeCallout = function () {
403
+ _this.setState({
404
+ isCalloutVisible: false,
405
+ });
406
+ };
407
+ /**
408
+ * This function checks if the given legend is highlighted or not.
409
+ * A legend can be highlighted in 2 ways:
410
+ * 1. selection: if the user clicks on it
411
+ * 2. hovering: if there is no selected legend and the user hovers over it
412
+ */
413
+ _this._legendHighlighted = function (legendTitle) {
414
+ return (_this.state.selectedLegend === legendTitle ||
415
+ (_this.state.selectedLegend === '' && _this.state.activeLegend === legendTitle));
416
+ };
417
+ /**
418
+ * This function checks if none of the legends is selected or hovered.
419
+ */
420
+ _this._noLegendHighlighted = function () {
421
+ return _this.state.selectedLegend === '' && _this.state.activeLegend === '';
422
+ };
423
+ _this._getAriaLabel = function (point) {
424
+ var _a;
425
+ var xValue = point.x;
426
+ var yValue = point.y;
427
+ var legend = point.legend;
428
+ var zValue = point.ratio ? "".concat(point.ratio[0], "/").concat(point.ratio[1]) : point.rectText || point.value;
429
+ var description = point.descriptionMessage;
430
+ return (((_a = point.callOutAccessibilityData) === null || _a === void 0 ? void 0 : _a.ariaLabel) ||
431
+ "".concat(xValue, ", ").concat(yValue, ". ").concat(legend, ", ").concat(zValue, ".") + (description ? " ".concat(description, ".") : ''));
432
+ };
433
+ _this._getChartTitle = function () {
434
+ var chartTitle = _this.props.chartTitle;
435
+ var numDataPoints = _this.props.data.reduce(function (acc, curr) { return acc + curr.data.length; }, 0);
436
+ return (chartTitle ? "".concat(chartTitle, ". ") : '') + "Heat map chart with ".concat(numDataPoints, " data points. ");
437
+ };
438
+ /**
439
+ * below funciton creates a new data set from the prop
440
+ * @data and also finds all the unique x-axis datapoints
441
+ * and y-axis datapoints(which will render in the axis in graph)
442
+ * we store this in a memoized function, because we want to calulate
443
+ * this set whenever props changes.
444
+ */
445
+ _this._createSet = (0, Utilities_1.memoizeFunction)(function (data, xDate, xNum, yDate, yNum) { return _this._createNewDataSet(data, xDate, xNum, yDate, yNum); });
446
+ _this.state = {
447
+ selectedLegend: '',
448
+ activeLegend: '',
449
+ isCalloutVisible: false,
450
+ target: null,
451
+ calloutLegend: '',
452
+ calloutTextColor: '',
453
+ calloutYValue: '',
454
+ ratio: null,
455
+ descriptionMessage: '',
456
+ calloutId: '',
457
+ };
458
+ _this._emptyChartId = (0, Utilities_1.getId)('_HeatMap_empty');
459
+ return _this;
460
+ }
461
+ HeatMapChartBase.prototype.render = function () {
462
+ var _this = this;
463
+ var _a = this._getXandY(), x = _a.x, y = _a.y;
464
+ this._xAxisType = (0, utilities_1.getTypeOfAxis)(x, true);
465
+ this._yAxisType = (0, utilities_1.getTypeOfAxis)(y, false);
466
+ var _b = this.props, data = _b.data, xAxisDateFormatString = _b.xAxisDateFormatString, xAxisNumberFormatString = _b.xAxisNumberFormatString, yAxisDateFormatString = _b.yAxisDateFormatString, yAxisNumberFormatString = _b.yAxisNumberFormatString;
467
+ this._colorScale = this._getColorScale();
468
+ var _c = this._createSet(data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString), dataSet = _c.dataSet, xAxisPoints = _c.xAxisPoints, yAxisPoints = _c.yAxisPoints;
469
+ this._dataSet = dataSet;
470
+ this._stringYAxisDataPoints = yAxisPoints;
471
+ this._stringXAxisDataPoints = xAxisPoints;
472
+ this._classNames = getClassNames(this.props.styles, { theme: this.props.theme });
473
+ var calloutProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ isBeakVisible: false, gapSpace: 8 }, this.props.calloutProps), { isCalloutVisible: this.state.isCalloutVisible, id: this.state.calloutId, YValue: this.state.calloutYValue, legend: this.state.calloutLegend, color: this.state.calloutTextColor, target: this.state.target, styles: this._classNames.subComponentStyles.calloutStyles, directionalHint: Callout_1.DirectionalHint.topAutoEdge, onDismiss: this._closeCallout }), (0, utilities_1.getAccessibleDataObject)(this.state.callOutAccessibilityData, 'text', false)), { preventDismissOnLostFocus: true });
474
+ var chartHoverProps = tslib_1.__assign(tslib_1.__assign({}, (this.state.ratio && {
475
+ ratio: this.state.ratio,
476
+ })), { descriptionMessage: this.state.descriptionMessage });
477
+ return !this._isChartEmpty() ? (React.createElement(index_1.CartesianChart, tslib_1.__assign({}, this.props, { chartTitle: this._getChartTitle(), points: data, chartType: utilities_1.ChartTypes.HeatMapChart, xAxisType: utilities_1.XAxisTypes.StringAxis, yAxisType: utilities_1.YAxisType.StringAxis, calloutProps: calloutProps, createYAxis: utilities_1.createNumericYAxis, chartHoverProps: chartHoverProps, styles: this._classNames.subComponentStyles.cartesianStyles, datasetForXAxisDomain: this._stringXAxisDataPoints, stringDatasetForYAxisDomain: this._stringYAxisDataPoints, createStringYAxis: utilities_1.createStringYAxis, getDomainNRangeValues: this._getDomainNRangeValues, getMinMaxOfYAxis: this._getMinMaxOfYAxis, xAxisTickCount: this._stringXAxisDataPoints.length, xAxistickSize: 0, xAxisPadding: 0.02, yAxisPadding: 0.02, svgFocusZoneProps: {
478
+ direction: react_focus_1.FocusZoneDirection.bidirectional,
479
+ }, legendBars: this._createLegendBars(), onChartMouseLeave: this._handleChartMouseLeave,
480
+ /* eslint-disable react/jsx-no-bind */
481
+ // eslint-disable-next-line react/no-children-prop
482
+ children: function (props) {
483
+ _this._xAxisScale = props.xScale;
484
+ _this._yAxisScale = props.yScale;
485
+ return _this._createRectangles();
486
+ } }))) : (React.createElement("div", { id: this._emptyChartId, role: 'alert', style: { opacity: '0' }, "aria-label": 'Graph has no data to display' }));
487
+ };
488
+ /**
489
+ * when the legend is hovered we need to highlight
490
+ * all the rectangles which fall under that category
491
+ * and un-highlight the rest of them
492
+ * @param legendTitle
493
+ */
494
+ HeatMapChartBase.prototype._onLegendHover = function (legendTitle) {
495
+ this.setState({
496
+ activeLegend: legendTitle,
497
+ });
498
+ };
499
+ /**
500
+ * when the mouse is out from the legend , we need
501
+ * to show the graph in initial mode.
502
+ */
503
+ HeatMapChartBase.prototype._onLegendLeave = function () {
504
+ this.setState({
505
+ activeLegend: '',
506
+ });
507
+ };
508
+ /**
509
+ * @param legendTitle
510
+ * when the legend is clicked we need to highlight
511
+ * all the rectangles which fall under that category
512
+ * and un highlight the rest of them
513
+ */
514
+ HeatMapChartBase.prototype._onLegendClick = function (legendTitle) {
515
+ /**
516
+ * check if the legend is already selceted,
517
+ * if yes, un-select the legend, else
518
+ * set the selected legend state to legendTitle
519
+ */
520
+ if (this.state.selectedLegend === legendTitle) {
521
+ this.setState({
522
+ selectedLegend: '',
523
+ });
524
+ }
525
+ else {
526
+ this.setState({
527
+ selectedLegend: legendTitle,
528
+ });
529
+ }
530
+ };
531
+ HeatMapChartBase.prototype._isChartEmpty = function () {
532
+ return !(this.props.data && this.props.data.length > 0);
533
+ };
534
+ return HeatMapChartBase;
535
+ }(React.Component));
536
+ exports.HeatMapChartBase = HeatMapChartBase;
537
+ });
538
+ //# sourceMappingURL=HeatMapChart.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeatMapChart.base.js","sourceRoot":"../src/","sources":["components/HeatMapChart/HeatMapChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import { CartesianChart, IChildProps, IModifiedCartesianChartProps } from '../../components/CommonComponents/index';\nimport { IAccessibilityProps, IHeatMapChartData, IHeatMapChartDataPoint } from '../../types/IDataPoint';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { classNamesFunction, getId, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport * as React from 'react';\nimport { IHeatMapChartProps, IHeatMapChartStyleProps, IHeatMapChartStyles } from './HeatMapChart.types';\nimport { ILegend, Legends } from '../Legends/index';\nimport { convertToLocaleString } from '../../utilities/locale-util';\nimport {\n ChartTypes,\n createNumericYAxis,\n getAccessibleDataObject,\n XAxisTypes,\n YAxisType,\n getTypeOfAxis,\n IMargins,\n IDomainNRange,\n domainRangeOfXStringAxis,\n createStringYAxis,\n} from '../../utilities/utilities';\nimport { Target } from '@fluentui/react';\nimport { format as d3Format } from 'd3-format';\nimport { timeFormat as d3TimeFormat } from 'd3-time-format';\n\ntype DataSet = {\n dataSet: RectanglesGraphData;\n yAxisPoints: string[];\n xAxisPoints: string[];\n};\ntype FlattenData = IHeatMapChartDataPoint & {\n legend: string;\n};\ninterface IRectRef {\n data: FlattenData;\n refElement: SVGGElement;\n}\ntype RectanglesGraphData = { [key: string]: FlattenData[] };\nexport interface IHeatMapChartState {\n /**\n * contains the selected legend string\n */\n selectedLegend: string;\n /**\n * contains the hovered legend string\n */\n activeLegend: string;\n /**\n * determines wethere to show or hide the callout\n * @default false\n */\n isCalloutVisible: boolean;\n /**\n * y value to be shown in callout\n */\n calloutYValue: string;\n /**\n * legend title to be shown in callout\n */\n calloutLegend: string;\n /**\n * color of the text in the callout\n */\n calloutTextColor: string;\n /**\n * The target that the Callout should try to position itself based on\n */\n target: Target;\n /**\n * ratio to show in the callout\n */\n ratio: [number, number] | null;\n\n /**\n * description message to show in the callout\n */\n descriptionMessage: string;\n /**\n * id to give to callout for accesiblity purpose\n */\n calloutId: string;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\nconst getClassNames = classNamesFunction<IHeatMapChartStyleProps, IHeatMapChartStyles>();\nexport class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatMapChartState> {\n private _classNames: IProcessedStyleSet<IHeatMapChartStyles>;\n private _stringXAxisDataPoints: string[];\n private _stringYAxisDataPoints: string[];\n private _createSet: (\n data: IHeatMapChartData[],\n xDate: string | undefined,\n xNum: string | undefined,\n yDate: string | undefined,\n yNum: string | undefined,\n ) => DataSet;\n private _dataSet: RectanglesGraphData;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _colorScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xAxisScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _yAxisScale: any;\n /**\n * This array contains ref for all the rectangles\n * drawn inside the chard\n */\n private _rectRefArray: { [key: string]: IRectRef } = {};\n private _xAxisType: XAxisTypes;\n private _yAxisType: YAxisType;\n private _calloutAnchorPoint: FlattenData | null;\n private _emptyChartId: string;\n public constructor(props: IHeatMapChartProps) {\n super(props);\n /**\n * below funciton creates a new data set from the prop\n * @data and also finds all the unique x-axis datapoints\n * and y-axis datapoints(which will render in the axis in graph)\n * we store this in a memoized function, because we want to calulate\n * this set whenever props changes.\n */\n this._createSet = memoizeFunction(\n (\n data: IHeatMapChartData[],\n xDate: string | undefined,\n xNum: string | undefined,\n yDate: string | undefined,\n yNum: string | undefined,\n ): DataSet => this._createNewDataSet(data, xDate, xNum, yDate, yNum),\n );\n this.state = {\n selectedLegend: '',\n activeLegend: '',\n isCalloutVisible: false,\n target: null,\n calloutLegend: '',\n calloutTextColor: '',\n calloutYValue: '',\n ratio: null,\n descriptionMessage: '',\n calloutId: '',\n };\n this._emptyChartId = getId('_HeatMap_empty');\n }\n\n public render(): React.ReactNode {\n const { x, y } = this._getXandY();\n this._xAxisType = getTypeOfAxis(x, true) as XAxisTypes;\n this._yAxisType = getTypeOfAxis(y, false) as YAxisType;\n const { data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString } =\n this.props;\n this._colorScale = this._getColorScale();\n const { dataSet, xAxisPoints, yAxisPoints } = this._createSet(\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n );\n this._dataSet = dataSet;\n this._stringYAxisDataPoints = yAxisPoints;\n this._stringXAxisDataPoints = xAxisPoints;\n this._classNames = getClassNames(this.props.styles!, { theme: this.props.theme! });\n const calloutProps: IModifiedCartesianChartProps['calloutProps'] = {\n isBeakVisible: false,\n gapSpace: 8,\n ...this.props.calloutProps,\n isCalloutVisible: this.state.isCalloutVisible,\n id: this.state.calloutId,\n YValue: this.state.calloutYValue,\n legend: this.state.calloutLegend,\n color: this.state.calloutTextColor,\n target: this.state.target,\n styles: this._classNames.subComponentStyles.calloutStyles,\n directionalHint: DirectionalHint.topAutoEdge,\n onDismiss: this._closeCallout,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false),\n preventDismissOnLostFocus: true,\n };\n const chartHoverProps: IModifiedCartesianChartProps['chartHoverProps'] = {\n ...(this.state.ratio && {\n ratio: this.state.ratio,\n }),\n descriptionMessage: this.state.descriptionMessage,\n };\n return !this._isChartEmpty() ? (\n <CartesianChart\n {...this.props}\n chartTitle={this._getChartTitle()}\n points={data}\n chartType={ChartTypes.HeatMapChart}\n xAxisType={XAxisTypes.StringAxis}\n yAxisType={YAxisType.StringAxis}\n calloutProps={calloutProps}\n createYAxis={createNumericYAxis}\n chartHoverProps={chartHoverProps}\n styles={this._classNames.subComponentStyles!.cartesianStyles}\n datasetForXAxisDomain={this._stringXAxisDataPoints}\n stringDatasetForYAxisDomain={this._stringYAxisDataPoints}\n createStringYAxis={createStringYAxis}\n getDomainNRangeValues={this._getDomainNRangeValues}\n getMinMaxOfYAxis={this._getMinMaxOfYAxis}\n xAxisTickCount={this._stringXAxisDataPoints.length}\n xAxistickSize={0}\n xAxisPadding={0.02}\n yAxisPadding={0.02}\n svgFocusZoneProps={{\n direction: FocusZoneDirection.bidirectional,\n }}\n legendBars={this._createLegendBars()}\n onChartMouseLeave={this._handleChartMouseLeave}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n this._xAxisScale = props.xScale;\n this._yAxisScale = props.yScale;\n return this._createRectangles();\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 _getMinMaxOfYAxis = () => {\n return { startValue: 0, endValue: 0 };\n };\n\n private _getDomainNRangeValues = (\n points: IHeatMapChartDataPoint[],\n margins: IMargins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ) => {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis || xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);\n }\n return domainNRangeValue;\n };\n\n private _getXandY = (): { x: string | Date | number; y: string | Date | number } => {\n let x: string | Date | number = '';\n let y: string | Date | number = '';\n this.props.data.forEach((item: IHeatMapChartData) => {\n if (item.data && item.data.length > 0) {\n x = item.data[0].x;\n y = item.data[0].y;\n return { x, y };\n }\n });\n return { x, y };\n };\n\n private _getOpacity = (legendTitle: string): string => {\n const opacity = this._legendHighlighted(legendTitle) || this._noLegendHighlighted() ? '1' : '0.1';\n return opacity;\n };\n\n private _rectRefCallback = (rectElement: SVGGElement, index: number | string, dataPointObject: FlattenData): void => {\n this._rectRefArray[index] = { data: dataPointObject, refElement: rectElement };\n };\n\n private _onRectFocus = (id: string, data: FlattenData): void => {\n this.setState({\n target: this._rectRefArray[id].refElement,\n /** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === data.legend,\n calloutYValue: `${data.rectText}`,\n calloutTextColor: Number.isNaN(data.value)\n ? this.props.theme!.semanticColors.bodyText\n : this._colorScale(data.value),\n calloutLegend: data.legend,\n ratio: data.ratio || null,\n descriptionMessage: data.descriptionMessage || '',\n calloutId: id,\n callOutAccessibilityData: data.callOutAccessibilityData,\n });\n };\n\n private _onRectMouseOver = (id: string, data: FlattenData, mouseEvent: React.MouseEvent<SVGGElement>): void => {\n mouseEvent.persist();\n if (this._calloutAnchorPoint !== data) {\n this._calloutAnchorPoint = data;\n this.setState({\n target: this._rectRefArray[id].refElement,\n /** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === data.legend,\n calloutYValue: `${data.rectText}`,\n calloutTextColor: Number.isNaN(data.value)\n ? this.props.theme!.semanticColors.bodyText\n : this._colorScale(data.value),\n calloutLegend: data.legend,\n ratio: data.ratio || null,\n descriptionMessage: data.descriptionMessage || '',\n calloutId: id,\n callOutAccessibilityData: data.callOutAccessibilityData,\n });\n }\n };\n\n private _onRectBlurOrMouseOut = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n /**\n * This is the function which is responsible for\n * drawing the rectangle in the graph and also\n * attaching dom events to that rectangles\n */\n private _createRectangles = (): React.ReactNode => {\n const rectangles: JSX.Element[] = [];\n const yAxisDataPoints = this._stringYAxisDataPoints.slice().reverse();\n /**\n * yAxisDataPoint is noting but the DataPoint\n * which will be rendered on the y-axis\n */\n yAxisDataPoints.forEach((yAxisDataPoint: string) => {\n let index = 0;\n this._stringXAxisDataPoints.forEach((xAxisDataPoint: string) => {\n let rectElement: JSX.Element;\n const id = `x${xAxisDataPoint}y${yAxisDataPoint}`;\n if (this._dataSet[yAxisDataPoint][index]?.x === xAxisDataPoint) {\n /**\n * dataPointObject is an object where it contains information on single\n * data point such as x, y , value, rectText property of the rectangle\n */\n const dataPointObject = this._dataSet[yAxisDataPoint][index];\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={this._getAriaLabel(dataPointObject)}\n data-is-focusable={this._legendHighlighted(dataPointObject.legend) || this._noLegendHighlighted()}\n fillOpacity={this._getOpacity(dataPointObject.legend)}\n transform={`translate(${this._xAxisScale(dataPointObject.x)}, ${this._yAxisScale(dataPointObject.y)})`}\n ref={(gElement: SVGGElement) => {\n this._rectRefCallback(gElement, id, dataPointObject);\n }}\n onFocus={this._onRectFocus.bind(this, id, dataPointObject)}\n onBlur={this._onRectBlurOrMouseOut}\n onMouseOver={this._onRectMouseOver.bind(this, id, dataPointObject)}\n onMouseOut={this._onRectBlurOrMouseOut}\n >\n <rect\n fill={this._colorScale(dataPointObject.value)}\n width={this._xAxisScale.bandwidth()}\n height={this._yAxisScale.bandwidth()}\n onClick={dataPointObject.onClick}\n />\n <text\n dominantBaseline={'middle'}\n textAnchor={'middle'}\n className={this._classNames.text}\n transform={`translate(${this._xAxisScale.bandwidth() / 2}, ${this._yAxisScale.bandwidth() / 2})`}\n >\n {convertToLocaleString(dataPointObject.rectText, this.props.culture)}\n </text>\n </g>\n );\n index++;\n } else {\n const dataPointObject: FlattenData = {\n x: xAxisDataPoint,\n y: yAxisDataPoint,\n value: NaN,\n rectText: 'No data available',\n legend: '',\n };\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={this._getAriaLabel(dataPointObject)}\n data-is-focusable={this._noLegendHighlighted()}\n transform={`translate(${this._xAxisScale(dataPointObject.x)}, ${this._yAxisScale(dataPointObject.y)})`}\n ref={(gElement: SVGGElement) => {\n this._rectRefCallback(gElement, id, dataPointObject);\n }}\n onFocus={this._onRectFocus.bind(this, id, dataPointObject)}\n onBlur={this._onRectBlurOrMouseOut}\n onMouseOver={this._onRectMouseOver.bind(this, id, dataPointObject)}\n onMouseOut={this._onRectBlurOrMouseOut}\n >\n <rect\n fill={this.props.theme!.semanticColors.bodyBackground}\n width={this._xAxisScale.bandwidth()}\n height={this._yAxisScale.bandwidth()}\n />\n </g>\n );\n }\n rectangles.push(rectElement);\n });\n });\n return rectangles;\n };\n /**\n * when the legend is hovered we need to highlight\n * all the rectangles which fall under that category\n * and un-highlight the rest of them\n * @param legendTitle\n */\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n /**\n * when the mouse is out from the legend , we need\n * to show the graph in initial mode.\n */\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n /**\n * @param legendTitle\n * when the legend is clicked we need to highlight\n * all the rectangles which fall under that category\n * and un highlight the rest of them\n */\n private _onLegendClick(legendTitle: string): void {\n /**\n * check if the legend is already selceted,\n * if yes, un-select the legend, else\n * set the selected legend state to legendTitle\n */\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n private _createLegendBars = (): JSX.Element => {\n const { data, legendProps } = this.props;\n const legends: ILegend[] = [];\n data.forEach((item: IHeatMapChartData) => {\n const legend: ILegend = {\n title: item.legend,\n color: this._colorScale(item.value),\n action: () => {\n this._onLegendClick(item.legend);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(item.legend);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n legends.push(legend);\n });\n return <Legends {...legendProps} legends={legends} />;\n };\n\n private _getColorScale = () => {\n const { domainValuesForColorScale, rangeValuesForColorScale } = this.props;\n return d3ScaleLinear()\n .domain(domainValuesForColorScale)\n .range(rangeValuesForColorScale as unknown as number[]);\n };\n\n private _getXIndex = (value: string | Date | number): string => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (this._xAxisType === XAxisTypes.StringAxis) {\n return value as string;\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n private _getYIndex = (value: string | Date | number): string => {\n if (this._yAxisType === YAxisType.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (this._yAxisType === YAxisType.StringAxis) {\n return value as string;\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n\n /**\n * This will create a new data set based on the prop\n * @data\n * We will be using This data set to contsruct our rectangles\n * in the chart, we use this data set becuase, when we loop in this\n * data and build the heat map, it will support accessibility as\n * specified in the figma\n */\n\n private _createNewDataSet = (\n data: IHeatMapChartData[],\n xAxisDateFormatString: string | undefined,\n xAxisNumberFormatString: string | undefined,\n yAxisDateFormatString: string | undefined,\n yAxisNumberFormatString: string | undefined,\n ): DataSet => {\n /**\n * please do not destructure any of the props here,\n * instead send them as parameter to this functions so that\n * this functions get called whenever the prop changes\n */\n const flattenData: FlattenData[] = [];\n /**\n * below for each loop will store all the datapoints in the one array.\n * basically it will flatten the nestesd array (data prop) into single array\n * of object. where each object contains x, y, rectText , value and legend propety of single\n * data point.\n */\n data.forEach((item: IHeatMapChartData) => {\n item.data.forEach((point: IHeatMapChartDataPoint) => {\n flattenData.push({ ...point, legend: item.legend });\n });\n });\n const yPoints: RectanglesGraphData = {};\n const uniqueYPoints: { [key: string]: '1' } = {};\n const uniqueXPoints: { [key: string]: '1' } = {};\n flattenData.forEach((item: FlattenData) => {\n const posX = this._getXIndex(item.x);\n const posY = this._getYIndex(item.y);\n\n uniqueXPoints[posX] = '1';\n uniqueYPoints[posY] = '1';\n /** we will check if the property(posY) is already there in object, if Yes,\n * then we will append the item in the Array related to the pos, if not\n * then we will simply append the item in the new Array and\n * assign that array to the property (posY) in the Object\n * and finally we will get the array of Objects associated to each\n * property (which is nothing but y data point) and object in the\n * array are noting but x data points associated to the property y\n */\n if (yPoints[posY]) {\n yPoints[posY] = [...yPoints[posY], item];\n } else {\n yPoints[posY] = [item];\n }\n });\n /**\n * we will now sort(ascending) the array's of y data point based on the x value\n * sorting is important to achive the accessibility order of the\n * rectangles and then format the x and y datapoints respectively\n */\n Object.keys(yPoints).forEach((item: string) => {\n yPoints[item]\n .sort((a: IHeatMapChartDataPoint, b: IHeatMapChartDataPoint) => {\n if (this._xAxisType === XAxisTypes.StringAxis) {\n return (a.x as string).toLowerCase() > (b.x as string).toLowerCase() ? 1 : -1;\n } else if (this._xAxisType === XAxisTypes.DateAxis) {\n return (a.x as Date).getTime() - (b.x as Date).getTime();\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return +(a.x as string) > +(b.x as string) ? 1 : -1;\n } else {\n return a.x > b.x ? 1 : -1;\n }\n })\n .forEach((datapoint: IHeatMapChartDataPoint) => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n datapoint.x = this._getStringFormattedDate(datapoint.x as string, xAxisDateFormatString);\n }\n if (this._xAxisType === XAxisTypes.NumericAxis) {\n datapoint.x = this._getStringFormattedNumber(datapoint.x as string, xAxisNumberFormatString);\n }\n if (this._xAxisType === XAxisTypes.StringAxis) {\n datapoint.x = this._getFormattedLabelForXAxisDataPoint(datapoint.x as string);\n }\n if (this._yAxisType === YAxisType.DateAxis) {\n datapoint.y = this._getStringFormattedDate(datapoint.y as string, yAxisDateFormatString);\n }\n if (this._yAxisType === YAxisType.NumericAxis) {\n datapoint.y = this._getStringFormattedNumber(datapoint.y as string, yAxisNumberFormatString);\n }\n if (this._yAxisType === YAxisType.StringAxis) {\n datapoint.y = this._getFormattedLabelForYAxisDataPoint(datapoint.y as string);\n }\n });\n });\n /**\n * if y-axis data points are of type date or number or if we have string formatter,\n * then we need to change data points to their respective string\n * format, becuase in the private variable this._stringYAxisDatapoints, points will be stored in\n * string format. and in here `yPoint` are not so we need to change, so that\n * function `this._createRectangles` should work perfetcly while looping, and if we don't change\n * then `this._createRectangles` will fail while looping, causing the error\n * Cannot read property 'forEach' of undefined\n */\n\n Object.keys(yPoints).forEach((yPoint: string) => {\n if (this._yAxisType === YAxisType.DateAxis) {\n yPoints[this._getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n yPoints[`${this._getStringFormattedNumber(yPoint, yAxisNumberFormatString)}`] = yPoints[yPoint];\n } else {\n yPoints[this._getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];\n }\n });\n /**\n * assigning new data set\n */\n const dataSet = yPoints;\n /**\n * These are the Y axis data points which will get rendered in the\n * Y axis in graph\n */\n const yAxisPoints = this._getYAxisDataPoints(uniqueYPoints);\n /**\n * These are the x axis data points which will get rendered in the\n * x axis in the graph\n */\n\n const xAxisPoints = this._getXAxisDataPoints(uniqueXPoints);\n return {\n dataSet,\n yAxisPoints,\n xAxisPoints,\n };\n };\n\n /**\n * This function will return the final sorted and formatted x-axis points\n * which will be rendered on the x-axis\n * @param points\n * @returns x-axis points\n */\n private _getXAxisDataPoints = (points: { [key: string]: '1' }): string[] => {\n let xAxisPoints: string[] = [];\n const unFormattedXAxisDataPoints = Object.keys(points).sort((a: string, b: string) => {\n if (this._xAxisType === XAxisTypes.DateAxis || this._xAxisType === XAxisTypes.NumericAxis) {\n return +a - +b;\n } else {\n return a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n xAxisPoints = unFormattedXAxisDataPoints.map((xPoint: string) => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n return this._getStringFormattedDate(xPoint, this.props.xAxisDateFormatString);\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return this._getStringFormattedNumber(xPoint, this.props.xAxisNumberFormatString);\n } else {\n return this._getFormattedLabelForXAxisDataPoint(xPoint);\n }\n });\n\n return xAxisPoints;\n };\n /**\n * This function will return the final sorted and formatted y-axis points\n * which will be rendered on the y-axis\n * @param points\n * @returns yaxis points\n */\n private _getYAxisDataPoints = (points: { [key: string]: '1' }): string[] => {\n let yAxisPoints: string[] = [];\n const unFormattedYAxisDataPoints = Object.keys(points).sort((a: string, b: string) => {\n if (this._yAxisType === YAxisType.DateAxis || this._yAxisType === YAxisType.NumericAxis) {\n return +a - +b;\n } else {\n return a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n yAxisPoints = unFormattedYAxisDataPoints.map((yPoint: string) => {\n if (this._yAxisType === YAxisType.DateAxis) {\n return this._getStringFormattedDate(yPoint, this.props.yAxisDateFormatString);\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n return this._getStringFormattedNumber(yPoint, this.props.yAxisNumberFormatString);\n } else {\n return this._getFormattedLabelForYAxisDataPoint(yPoint);\n }\n });\n\n return yAxisPoints;\n };\n\n private _getStringFormattedDate = (point: string, formatString?: string): string => {\n const date = new Date();\n date.setTime(+point);\n return d3TimeFormat(formatString || '%b/%d')(date);\n };\n\n private _getStringFormattedNumber = (point: string, formatString?: string): string => {\n return d3Format(formatString || '.2~s')(+point);\n };\n\n private _getFormattedLabelForXAxisDataPoint = (point: string): string => {\n const { xAxisStringFormatter } = this.props;\n return xAxisStringFormatter ? xAxisStringFormatter(point) : point;\n };\n\n private _getFormattedLabelForYAxisDataPoint = (point: string): string => {\n const { yAxisStringFormatter } = this.props;\n return yAxisStringFormatter ? yAxisStringFormatter(point) : point;\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\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: FlattenData): string => {\n const xValue = point.x;\n const yValue = point.y;\n const legend = point.legend;\n const zValue = point.ratio ? `${point.ratio[0]}/${point.ratio[1]}` : point.rectText || point.value;\n const description = point.descriptionMessage;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}, ${yValue}. ${legend}, ${zValue}.` + (description ? ` ${description}.` : '')\n );\n };\n\n private _isChartEmpty(): boolean {\n return !(this.props.data && this.props.data.length > 0);\n }\n\n private _getChartTitle = (): string => {\n const { chartTitle } = this.props;\n const numDataPoints = this.props.data.reduce((acc, curr) => acc + curr.data.length, 0);\n return (chartTitle ? `${chartTitle}. ` : '') + `Heat map chart with ${numDataPoints} data points. `;\n };\n}\n"]}