@fluentui/react-charting 5.16.21 → 5.16.23

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 (798) hide show
  1. package/CHANGELOG.json +55 -1
  2. package/CHANGELOG.md +24 -2
  3. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js +4 -5
  4. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  5. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js +5 -6
  6. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  7. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js +4 -5
  8. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  9. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +1 -1
  10. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  11. package/lib-commonjs/utilities/FocusableTooltipText.d.ts +27 -0
  12. package/lib-commonjs/utilities/FocusableTooltipText.js +57 -0
  13. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -0
  14. package/lib-commonjs/version.js +1 -1
  15. package/lib-commonjs/version.js.map +1 -1
  16. package/package.json +6 -6
  17. package/dist/react-charting.js +0 -1
  18. package/dist/react-charting.min.js +0 -1
  19. package/lib/AreaChart.d.ts +0 -1
  20. package/lib/AreaChart.js +0 -2
  21. package/lib/AreaChart.js.map +0 -1
  22. package/lib/CartesianChart.d.ts +0 -1
  23. package/lib/CartesianChart.js +0 -2
  24. package/lib/CartesianChart.js.map +0 -1
  25. package/lib/DonutChart.d.ts +0 -1
  26. package/lib/DonutChart.js +0 -2
  27. package/lib/DonutChart.js.map +0 -1
  28. package/lib/GroupedVerticalBarChart.d.ts +0 -1
  29. package/lib/GroupedVerticalBarChart.js +0 -2
  30. package/lib/GroupedVerticalBarChart.js.map +0 -1
  31. package/lib/HeatMapChart.d.ts +0 -1
  32. package/lib/HeatMapChart.js +0 -2
  33. package/lib/HeatMapChart.js.map +0 -1
  34. package/lib/HorizontalBarChart.d.ts +0 -1
  35. package/lib/HorizontalBarChart.js +0 -2
  36. package/lib/HorizontalBarChart.js.map +0 -1
  37. package/lib/Legends.d.ts +0 -1
  38. package/lib/Legends.js +0 -2
  39. package/lib/Legends.js.map +0 -1
  40. package/lib/LineChart.d.ts +0 -1
  41. package/lib/LineChart.js +0 -2
  42. package/lib/LineChart.js.map +0 -1
  43. package/lib/PieChart.d.ts +0 -1
  44. package/lib/PieChart.js +0 -2
  45. package/lib/PieChart.js.map +0 -1
  46. package/lib/SankeyChart.d.ts +0 -1
  47. package/lib/SankeyChart.js +0 -2
  48. package/lib/SankeyChart.js.map +0 -1
  49. package/lib/Sparkline.d.ts +0 -1
  50. package/lib/Sparkline.js +0 -2
  51. package/lib/Sparkline.js.map +0 -1
  52. package/lib/StackedBarChart.d.ts +0 -1
  53. package/lib/StackedBarChart.js +0 -2
  54. package/lib/StackedBarChart.js.map +0 -1
  55. package/lib/Styling.d.ts +0 -2
  56. package/lib/Styling.js +0 -8
  57. package/lib/Styling.js.map +0 -1
  58. package/lib/TreeChart.d.ts +0 -1
  59. package/lib/TreeChart.js +0 -2
  60. package/lib/TreeChart.js.map +0 -1
  61. package/lib/Utilities.d.ts +0 -2
  62. package/lib/Utilities.js +0 -20
  63. package/lib/Utilities.js.map +0 -1
  64. package/lib/VerticalBarChart.d.ts +0 -1
  65. package/lib/VerticalBarChart.js +0 -2
  66. package/lib/VerticalBarChart.js.map +0 -1
  67. package/lib/VerticalStackedBarChart.d.ts +0 -1
  68. package/lib/VerticalStackedBarChart.js +0 -2
  69. package/lib/VerticalStackedBarChart.js.map +0 -1
  70. package/lib/components/AreaChart/AreaChart.base.d.ts +0 -92
  71. package/lib/components/AreaChart/AreaChart.base.js +0 -562
  72. package/lib/components/AreaChart/AreaChart.base.js.map +0 -1
  73. package/lib/components/AreaChart/AreaChart.d.ts +0 -3
  74. package/lib/components/AreaChart/AreaChart.js +0 -6
  75. package/lib/components/AreaChart/AreaChart.js.map +0 -1
  76. package/lib/components/AreaChart/AreaChart.styles.d.ts +0 -2
  77. package/lib/components/AreaChart/AreaChart.styles.js +0 -7
  78. package/lib/components/AreaChart/AreaChart.styles.js.map +0 -1
  79. package/lib/components/AreaChart/AreaChart.types.d.ts +0 -37
  80. package/lib/components/AreaChart/AreaChart.types.js +0 -2
  81. package/lib/components/AreaChart/AreaChart.types.js.map +0 -1
  82. package/lib/components/AreaChart/index.d.ts +0 -2
  83. package/lib/components/AreaChart/index.js +0 -3
  84. package/lib/components/AreaChart/index.js.map +0 -1
  85. package/lib/components/CommonComponents/CartesianChart.base.d.ts +0 -43
  86. package/lib/components/CommonComponents/CartesianChart.base.js +0 -331
  87. package/lib/components/CommonComponents/CartesianChart.base.js.map +0 -1
  88. package/lib/components/CommonComponents/CartesianChart.d.ts +0 -3
  89. package/lib/components/CommonComponents/CartesianChart.js +0 -5
  90. package/lib/components/CommonComponents/CartesianChart.js.map +0 -1
  91. package/lib/components/CommonComponents/CartesianChart.styles.d.ts +0 -2
  92. package/lib/components/CommonComponents/CartesianChart.styles.js +0 -163
  93. package/lib/components/CommonComponents/CartesianChart.styles.js.map +0 -1
  94. package/lib/components/CommonComponents/CartesianChart.types.d.ts +0 -428
  95. package/lib/components/CommonComponents/CartesianChart.types.js +0 -2
  96. package/lib/components/CommonComponents/CartesianChart.types.js.map +0 -1
  97. package/lib/components/CommonComponents/index.d.ts +0 -2
  98. package/lib/components/CommonComponents/index.js +0 -3
  99. package/lib/components/CommonComponents/index.js.map +0 -1
  100. package/lib/components/DonutChart/Arc/Arc.d.ts +0 -21
  101. package/lib/components/DonutChart/Arc/Arc.js +0 -86
  102. package/lib/components/DonutChart/Arc/Arc.js.map +0 -1
  103. package/lib/components/DonutChart/Arc/Arc.styles.d.ts +0 -2
  104. package/lib/components/DonutChart/Arc/Arc.styles.js +0 -28
  105. package/lib/components/DonutChart/Arc/Arc.styles.js.map +0 -1
  106. package/lib/components/DonutChart/Arc/Arc.types.d.ts +0 -124
  107. package/lib/components/DonutChart/Arc/Arc.types.js +0 -2
  108. package/lib/components/DonutChart/Arc/Arc.types.js.map +0 -1
  109. package/lib/components/DonutChart/Arc/index.d.ts +0 -2
  110. package/lib/components/DonutChart/Arc/index.js +0 -3
  111. package/lib/components/DonutChart/Arc/index.js.map +0 -1
  112. package/lib/components/DonutChart/DonutChart.base.d.ts +0 -50
  113. package/lib/components/DonutChart/DonutChart.base.js +0 -211
  114. package/lib/components/DonutChart/DonutChart.base.js.map +0 -1
  115. package/lib/components/DonutChart/DonutChart.d.ts +0 -3
  116. package/lib/components/DonutChart/DonutChart.js +0 -6
  117. package/lib/components/DonutChart/DonutChart.js.map +0 -1
  118. package/lib/components/DonutChart/DonutChart.styles.d.ts +0 -2
  119. package/lib/components/DonutChart/DonutChart.styles.js +0 -30
  120. package/lib/components/DonutChart/DonutChart.styles.js.map +0 -1
  121. package/lib/components/DonutChart/DonutChart.types.d.ts +0 -63
  122. package/lib/components/DonutChart/DonutChart.types.js +0 -2
  123. package/lib/components/DonutChart/DonutChart.types.js.map +0 -1
  124. package/lib/components/DonutChart/Pie/Pie.d.ts +0 -15
  125. package/lib/components/DonutChart/Pie/Pie.js +0 -71
  126. package/lib/components/DonutChart/Pie/Pie.js.map +0 -1
  127. package/lib/components/DonutChart/Pie/Pie.styles.d.ts +0 -2
  128. package/lib/components/DonutChart/Pie/Pie.styles.js +0 -19
  129. package/lib/components/DonutChart/Pie/Pie.styles.js.map +0 -1
  130. package/lib/components/DonutChart/Pie/Pie.types.d.ts +0 -96
  131. package/lib/components/DonutChart/Pie/Pie.types.js +0 -2
  132. package/lib/components/DonutChart/Pie/Pie.types.js.map +0 -1
  133. package/lib/components/DonutChart/Pie/index.d.ts +0 -2
  134. package/lib/components/DonutChart/Pie/index.js +0 -3
  135. package/lib/components/DonutChart/Pie/index.js.map +0 -1
  136. package/lib/components/DonutChart/index.d.ts +0 -3
  137. package/lib/components/DonutChart/index.js +0 -4
  138. package/lib/components/DonutChart/index.js.map +0 -1
  139. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -62
  140. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +0 -381
  141. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +0 -1
  142. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +0 -3
  143. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +0 -6
  144. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +0 -1
  145. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.d.ts +0 -2
  146. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +0 -17
  147. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +0 -1
  148. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +0 -83
  149. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +0 -2
  150. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +0 -1
  151. package/lib/components/GroupedVerticalBarChart/index.d.ts +0 -2
  152. package/lib/components/GroupedVerticalBarChart/index.js +0 -3
  153. package/lib/components/GroupedVerticalBarChart/index.js.map +0 -1
  154. package/lib/components/HeatMapChart/HeatMapChart.base.d.ts +0 -147
  155. package/lib/components/HeatMapChart/HeatMapChart.base.js +0 -498
  156. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +0 -1
  157. package/lib/components/HeatMapChart/HeatMapChart.d.ts +0 -3
  158. package/lib/components/HeatMapChart/HeatMapChart.js +0 -5
  159. package/lib/components/HeatMapChart/HeatMapChart.js.map +0 -1
  160. package/lib/components/HeatMapChart/HeatMapChart.styles.d.ts +0 -2
  161. package/lib/components/HeatMapChart/HeatMapChart.styles.js +0 -24
  162. package/lib/components/HeatMapChart/HeatMapChart.styles.js.map +0 -1
  163. package/lib/components/HeatMapChart/HeatMapChart.types.d.ts +0 -110
  164. package/lib/components/HeatMapChart/HeatMapChart.types.js +0 -2
  165. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +0 -1
  166. package/lib/components/HeatMapChart/index.d.ts +0 -2
  167. package/lib/components/HeatMapChart/index.js +0 -3
  168. package/lib/components/HeatMapChart/index.js.map +0 -1
  169. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +0 -36
  170. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js +0 -238
  171. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +0 -1
  172. package/lib/components/HorizontalBarChart/HorizontalBarChart.d.ts +0 -3
  173. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +0 -6
  174. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +0 -1
  175. package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.d.ts +0 -2
  176. package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js +0 -69
  177. package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +0 -1
  178. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +0 -172
  179. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +0 -6
  180. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +0 -1
  181. package/lib/components/HorizontalBarChart/index.d.ts +0 -3
  182. package/lib/components/HorizontalBarChart/index.js +0 -4
  183. package/lib/components/HorizontalBarChart/index.js.map +0 -1
  184. package/lib/components/Legends/Legends.base.d.ts +0 -44
  185. package/lib/components/Legends/Legends.base.js +0 -293
  186. package/lib/components/Legends/Legends.base.js.map +0 -1
  187. package/lib/components/Legends/Legends.d.ts +0 -3
  188. package/lib/components/Legends/Legends.js +0 -5
  189. package/lib/components/Legends/Legends.js.map +0 -1
  190. package/lib/components/Legends/Legends.styles.d.ts +0 -2
  191. package/lib/components/Legends/Legends.styles.js +0 -103
  192. package/lib/components/Legends/Legends.styles.js.map +0 -1
  193. package/lib/components/Legends/Legends.types.d.ts +0 -169
  194. package/lib/components/Legends/Legends.types.js +0 -2
  195. package/lib/components/Legends/Legends.types.js.map +0 -1
  196. package/lib/components/Legends/index.d.ts +0 -3
  197. package/lib/components/Legends/index.js +0 -4
  198. package/lib/components/Legends/index.js.map +0 -1
  199. package/lib/components/Legends/shape.d.ts +0 -9
  200. package/lib/components/Legends/shape.js +0 -24
  201. package/lib/components/Legends/shape.js.map +0 -1
  202. package/lib/components/LineChart/LineChart.base.d.ts +0 -84
  203. package/lib/components/LineChart/LineChart.base.js +0 -815
  204. package/lib/components/LineChart/LineChart.base.js.map +0 -1
  205. package/lib/components/LineChart/LineChart.d.ts +0 -3
  206. package/lib/components/LineChart/LineChart.js +0 -6
  207. package/lib/components/LineChart/LineChart.js.map +0 -1
  208. package/lib/components/LineChart/LineChart.styles.d.ts +0 -2
  209. package/lib/components/LineChart/LineChart.styles.js +0 -7
  210. package/lib/components/LineChart/LineChart.styles.js.map +0 -1
  211. package/lib/components/LineChart/LineChart.types.d.ts +0 -72
  212. package/lib/components/LineChart/LineChart.types.js +0 -2
  213. package/lib/components/LineChart/LineChart.types.js.map +0 -1
  214. package/lib/components/LineChart/eventAnnotation/EventAnnotation.d.ts +0 -10
  215. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +0 -93
  216. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +0 -1
  217. package/lib/components/LineChart/eventAnnotation/LabelLink.d.ts +0 -22
  218. package/lib/components/LineChart/eventAnnotation/LabelLink.js +0 -37
  219. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +0 -1
  220. package/lib/components/LineChart/eventAnnotation/Textbox.d.ts +0 -13
  221. package/lib/components/LineChart/eventAnnotation/Textbox.js +0 -37
  222. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +0 -1
  223. package/lib/components/LineChart/index.d.ts +0 -3
  224. package/lib/components/LineChart/index.js +0 -4
  225. package/lib/components/LineChart/index.js.map +0 -1
  226. package/lib/components/PieChart/Arc/Arc.d.ts +0 -12
  227. package/lib/components/PieChart/Arc/Arc.js +0 -57
  228. package/lib/components/PieChart/Arc/Arc.js.map +0 -1
  229. package/lib/components/PieChart/Arc/Arc.styles.d.ts +0 -2
  230. package/lib/components/PieChart/Arc/Arc.styles.js +0 -8
  231. package/lib/components/PieChart/Arc/Arc.styles.js.map +0 -1
  232. package/lib/components/PieChart/Arc/Arc.types.d.ts +0 -60
  233. package/lib/components/PieChart/Arc/Arc.types.js +0 -2
  234. package/lib/components/PieChart/Arc/Arc.types.js.map +0 -1
  235. package/lib/components/PieChart/Arc/index.d.ts +0 -2
  236. package/lib/components/PieChart/Arc/index.js +0 -3
  237. package/lib/components/PieChart/Arc/index.js.map +0 -1
  238. package/lib/components/PieChart/Pie/Pie.d.ts +0 -10
  239. package/lib/components/PieChart/Pie/Pie.js +0 -35
  240. package/lib/components/PieChart/Pie/Pie.js.map +0 -1
  241. package/lib/components/PieChart/Pie/Pie.styles.d.ts +0 -2
  242. package/lib/components/PieChart/Pie/Pie.styles.js +0 -6
  243. package/lib/components/PieChart/Pie/Pie.styles.js.map +0 -1
  244. package/lib/components/PieChart/Pie/Pie.types.d.ts +0 -46
  245. package/lib/components/PieChart/Pie/Pie.types.js +0 -2
  246. package/lib/components/PieChart/Pie/Pie.types.js.map +0 -1
  247. package/lib/components/PieChart/Pie/index.d.ts +0 -2
  248. package/lib/components/PieChart/Pie/index.js +0 -3
  249. package/lib/components/PieChart/Pie/index.js.map +0 -1
  250. package/lib/components/PieChart/PieChart.base.d.ts +0 -7
  251. package/lib/components/PieChart/PieChart.base.js +0 -34
  252. package/lib/components/PieChart/PieChart.base.js.map +0 -1
  253. package/lib/components/PieChart/PieChart.d.ts +0 -3
  254. package/lib/components/PieChart/PieChart.js +0 -6
  255. package/lib/components/PieChart/PieChart.js.map +0 -1
  256. package/lib/components/PieChart/PieChart.styles.d.ts +0 -2
  257. package/lib/components/PieChart/PieChart.styles.js +0 -29
  258. package/lib/components/PieChart/PieChart.styles.js.map +0 -1
  259. package/lib/components/PieChart/PieChart.types.d.ts +0 -63
  260. package/lib/components/PieChart/PieChart.types.js +0 -2
  261. package/lib/components/PieChart/PieChart.types.js.map +0 -1
  262. package/lib/components/PieChart/index.d.ts +0 -2
  263. package/lib/components/PieChart/index.js +0 -3
  264. package/lib/components/PieChart/index.js.map +0 -1
  265. package/lib/components/SankeyChart/SankeyChart.base.d.ts +0 -95
  266. package/lib/components/SankeyChart/SankeyChart.base.js +0 -674
  267. package/lib/components/SankeyChart/SankeyChart.base.js.map +0 -1
  268. package/lib/components/SankeyChart/SankeyChart.d.ts +0 -3
  269. package/lib/components/SankeyChart/SankeyChart.js +0 -6
  270. package/lib/components/SankeyChart/SankeyChart.js.map +0 -1
  271. package/lib/components/SankeyChart/SankeyChart.styles.d.ts +0 -2
  272. package/lib/components/SankeyChart/SankeyChart.styles.js +0 -58
  273. package/lib/components/SankeyChart/SankeyChart.styles.js.map +0 -1
  274. package/lib/components/SankeyChart/SankeyChart.types.d.ts +0 -83
  275. package/lib/components/SankeyChart/SankeyChart.types.js +0 -2
  276. package/lib/components/SankeyChart/SankeyChart.types.js.map +0 -1
  277. package/lib/components/SankeyChart/index.d.ts +0 -2
  278. package/lib/components/SankeyChart/index.js +0 -3
  279. package/lib/components/SankeyChart/index.js.map +0 -1
  280. package/lib/components/Sparkline/Sparkline.base.d.ts +0 -20
  281. package/lib/components/Sparkline/Sparkline.base.js +0 -76
  282. package/lib/components/Sparkline/Sparkline.base.js.map +0 -1
  283. package/lib/components/Sparkline/Sparkline.d.ts +0 -3
  284. package/lib/components/Sparkline/Sparkline.js +0 -6
  285. package/lib/components/Sparkline/Sparkline.js.map +0 -1
  286. package/lib/components/Sparkline/Sparkline.styles.d.ts +0 -2
  287. package/lib/components/Sparkline/Sparkline.styles.js +0 -10
  288. package/lib/components/Sparkline/Sparkline.styles.js.map +0 -1
  289. package/lib/components/Sparkline/Sparkline.types.d.ts +0 -51
  290. package/lib/components/Sparkline/Sparkline.types.js +0 -2
  291. package/lib/components/Sparkline/Sparkline.types.js.map +0 -1
  292. package/lib/components/Sparkline/index.d.ts +0 -2
  293. package/lib/components/Sparkline/index.js +0 -3
  294. package/lib/components/Sparkline/index.js.map +0 -1
  295. package/lib/components/StackedBarChart/MultiStackedBarChart.base.d.ts +0 -56
  296. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js +0 -357
  297. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +0 -1
  298. package/lib/components/StackedBarChart/MultiStackedBarChart.d.ts +0 -3
  299. package/lib/components/StackedBarChart/MultiStackedBarChart.js +0 -6
  300. package/lib/components/StackedBarChart/MultiStackedBarChart.js.map +0 -1
  301. package/lib/components/StackedBarChart/MultiStackedBarChart.styles.d.ts +0 -2
  302. package/lib/components/StackedBarChart/MultiStackedBarChart.styles.js +0 -90
  303. package/lib/components/StackedBarChart/MultiStackedBarChart.styles.js.map +0 -1
  304. package/lib/components/StackedBarChart/MultiStackedBarChart.types.d.ts +0 -198
  305. package/lib/components/StackedBarChart/MultiStackedBarChart.types.js +0 -6
  306. package/lib/components/StackedBarChart/MultiStackedBarChart.types.js.map +0 -1
  307. package/lib/components/StackedBarChart/StackedBarChart.base.d.ts +0 -51
  308. package/lib/components/StackedBarChart/StackedBarChart.base.js +0 -312
  309. package/lib/components/StackedBarChart/StackedBarChart.base.js.map +0 -1
  310. package/lib/components/StackedBarChart/StackedBarChart.d.ts +0 -3
  311. package/lib/components/StackedBarChart/StackedBarChart.js +0 -6
  312. package/lib/components/StackedBarChart/StackedBarChart.js.map +0 -1
  313. package/lib/components/StackedBarChart/StackedBarChart.styles.d.ts +0 -2
  314. package/lib/components/StackedBarChart/StackedBarChart.styles.js +0 -104
  315. package/lib/components/StackedBarChart/StackedBarChart.styles.js.map +0 -1
  316. package/lib/components/StackedBarChart/StackedBarChart.types.d.ts +0 -210
  317. package/lib/components/StackedBarChart/StackedBarChart.types.js +0 -2
  318. package/lib/components/StackedBarChart/StackedBarChart.types.js.map +0 -1
  319. package/lib/components/StackedBarChart/index.d.ts +0 -5
  320. package/lib/components/StackedBarChart/index.js +0 -6
  321. package/lib/components/StackedBarChart/index.js.map +0 -1
  322. package/lib/components/TreeChart/TreeChart.base.d.ts +0 -18
  323. package/lib/components/TreeChart/TreeChart.base.js +0 -316
  324. package/lib/components/TreeChart/TreeChart.base.js.map +0 -1
  325. package/lib/components/TreeChart/TreeChart.d.ts +0 -3
  326. package/lib/components/TreeChart/TreeChart.js +0 -5
  327. package/lib/components/TreeChart/TreeChart.js.map +0 -1
  328. package/lib/components/TreeChart/TreeChart.styles.d.ts +0 -2
  329. package/lib/components/TreeChart/TreeChart.styles.js +0 -29
  330. package/lib/components/TreeChart/TreeChart.styles.js.map +0 -1
  331. package/lib/components/TreeChart/TreeChart.types.d.ts +0 -197
  332. package/lib/components/TreeChart/TreeChart.types.js +0 -23
  333. package/lib/components/TreeChart/TreeChart.types.js.map +0 -1
  334. package/lib/components/TreeChart/index.d.ts +0 -2
  335. package/lib/components/TreeChart/index.js +0 -3
  336. package/lib/components/TreeChart/index.js.map +0 -1
  337. package/lib/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -74
  338. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +0 -536
  339. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +0 -1
  340. package/lib/components/VerticalBarChart/VerticalBarChart.d.ts +0 -3
  341. package/lib/components/VerticalBarChart/VerticalBarChart.js +0 -6
  342. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
  343. package/lib/components/VerticalBarChart/VerticalBarChart.styles.d.ts +0 -2
  344. package/lib/components/VerticalBarChart/VerticalBarChart.styles.js +0 -28
  345. package/lib/components/VerticalBarChart/VerticalBarChart.styles.js.map +0 -1
  346. package/lib/components/VerticalBarChart/VerticalBarChart.types.d.ts +0 -114
  347. package/lib/components/VerticalBarChart/VerticalBarChart.types.js +0 -2
  348. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +0 -1
  349. package/lib/components/VerticalBarChart/index.d.ts +0 -2
  350. package/lib/components/VerticalBarChart/index.js +0 -3
  351. package/lib/components/VerticalBarChart/index.js.map +0 -1
  352. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -85
  353. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +0 -666
  354. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +0 -1
  355. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +0 -3
  356. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +0 -6
  357. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +0 -1
  358. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.d.ts +0 -2
  359. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +0 -18
  360. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +0 -1
  361. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +0 -142
  362. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +0 -2
  363. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +0 -1
  364. package/lib/components/VerticalStackedBarChart/index.d.ts +0 -2
  365. package/lib/components/VerticalStackedBarChart/index.js +0 -3
  366. package/lib/components/VerticalStackedBarChart/index.js.map +0 -1
  367. package/lib/index.d.ts +0 -19
  368. package/lib/index.js +0 -20
  369. package/lib/index.js.map +0 -1
  370. package/lib/types/IDataPoint.d.ts +0 -545
  371. package/lib/types/IDataPoint.js +0 -2
  372. package/lib/types/IDataPoint.js.map +0 -1
  373. package/lib/types/IEventAnnotation.d.ts +0 -6
  374. package/lib/types/IEventAnnotation.js +0 -2
  375. package/lib/types/IEventAnnotation.js.map +0 -1
  376. package/lib/types/ILegendDataItem.d.ts +0 -10
  377. package/lib/types/ILegendDataItem.js +0 -2
  378. package/lib/types/ILegendDataItem.js.map +0 -1
  379. package/lib/types/index.d.ts +0 -2
  380. package/lib/types/index.js +0 -3
  381. package/lib/types/index.js.map +0 -1
  382. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.d.ts +0 -6
  383. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js +0 -38
  384. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js.map +0 -1
  385. package/lib/utilities/ChartHoverCard/ChartHoverCard.d.ts +0 -3
  386. package/lib/utilities/ChartHoverCard/ChartHoverCard.js +0 -6
  387. package/lib/utilities/ChartHoverCard/ChartHoverCard.js.map +0 -1
  388. package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.d.ts +0 -2
  389. package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js +0 -82
  390. package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +0 -1
  391. package/lib/utilities/ChartHoverCard/ChartHoverCard.types.d.ts +0 -105
  392. package/lib/utilities/ChartHoverCard/ChartHoverCard.types.js +0 -2
  393. package/lib/utilities/ChartHoverCard/ChartHoverCard.types.js.map +0 -1
  394. package/lib/utilities/ChartHoverCard/index.d.ts +0 -3
  395. package/lib/utilities/ChartHoverCard/index.js +0 -4
  396. package/lib/utilities/ChartHoverCard/index.js.map +0 -1
  397. package/lib/utilities/colors.d.ts +0 -51
  398. package/lib/utilities/colors.js +0 -132
  399. package/lib/utilities/colors.js.map +0 -1
  400. package/lib/utilities/index.d.ts +0 -3
  401. package/lib/utilities/index.js +0 -4
  402. package/lib/utilities/index.js.map +0 -1
  403. package/lib/utilities/utilities.d.ts +0 -377
  404. package/lib/utilities/utilities.js +0 -864
  405. package/lib/utilities/utilities.js.map +0 -1
  406. package/lib/version.d.ts +0 -1
  407. package/lib/version.js +0 -5
  408. package/lib/version.js.map +0 -1
  409. package/lib-amd/AreaChart.d.ts +0 -1
  410. package/lib-amd/AreaChart.js +0 -6
  411. package/lib-amd/AreaChart.js.map +0 -1
  412. package/lib-amd/CartesianChart.d.ts +0 -1
  413. package/lib-amd/CartesianChart.js +0 -6
  414. package/lib-amd/CartesianChart.js.map +0 -1
  415. package/lib-amd/DonutChart.d.ts +0 -1
  416. package/lib-amd/DonutChart.js +0 -6
  417. package/lib-amd/DonutChart.js.map +0 -1
  418. package/lib-amd/GroupedVerticalBarChart.d.ts +0 -1
  419. package/lib-amd/GroupedVerticalBarChart.js +0 -6
  420. package/lib-amd/GroupedVerticalBarChart.js.map +0 -1
  421. package/lib-amd/HeatMapChart.d.ts +0 -1
  422. package/lib-amd/HeatMapChart.js +0 -6
  423. package/lib-amd/HeatMapChart.js.map +0 -1
  424. package/lib-amd/HorizontalBarChart.d.ts +0 -1
  425. package/lib-amd/HorizontalBarChart.js +0 -6
  426. package/lib-amd/HorizontalBarChart.js.map +0 -1
  427. package/lib-amd/Legends.d.ts +0 -1
  428. package/lib-amd/Legends.js +0 -6
  429. package/lib-amd/Legends.js.map +0 -1
  430. package/lib-amd/LineChart.d.ts +0 -1
  431. package/lib-amd/LineChart.js +0 -6
  432. package/lib-amd/LineChart.js.map +0 -1
  433. package/lib-amd/PieChart.d.ts +0 -1
  434. package/lib-amd/PieChart.js +0 -6
  435. package/lib-amd/PieChart.js.map +0 -1
  436. package/lib-amd/SankeyChart.d.ts +0 -1
  437. package/lib-amd/SankeyChart.js +0 -6
  438. package/lib-amd/SankeyChart.js.map +0 -1
  439. package/lib-amd/Sparkline.d.ts +0 -1
  440. package/lib-amd/Sparkline.js +0 -6
  441. package/lib-amd/Sparkline.js.map +0 -1
  442. package/lib-amd/StackedBarChart.d.ts +0 -1
  443. package/lib-amd/StackedBarChart.js +0 -6
  444. package/lib-amd/StackedBarChart.js.map +0 -1
  445. package/lib-amd/Styling.d.ts +0 -2
  446. package/lib-amd/Styling.js +0 -75
  447. package/lib-amd/Styling.js.map +0 -1
  448. package/lib-amd/TreeChart.d.ts +0 -1
  449. package/lib-amd/TreeChart.js +0 -6
  450. package/lib-amd/TreeChart.js.map +0 -1
  451. package/lib-amd/Utilities.d.ts +0 -2
  452. package/lib-amd/Utilities.js +0 -183
  453. package/lib-amd/Utilities.js.map +0 -1
  454. package/lib-amd/VerticalBarChart.d.ts +0 -1
  455. package/lib-amd/VerticalBarChart.js +0 -6
  456. package/lib-amd/VerticalBarChart.js.map +0 -1
  457. package/lib-amd/VerticalStackedBarChart.d.ts +0 -1
  458. package/lib-amd/VerticalStackedBarChart.js +0 -6
  459. package/lib-amd/VerticalStackedBarChart.js.map +0 -1
  460. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +0 -92
  461. package/lib-amd/components/AreaChart/AreaChart.base.js +0 -555
  462. package/lib-amd/components/AreaChart/AreaChart.base.js.map +0 -1
  463. package/lib-amd/components/AreaChart/AreaChart.d.ts +0 -3
  464. package/lib-amd/components/AreaChart/AreaChart.js +0 -8
  465. package/lib-amd/components/AreaChart/AreaChart.js.map +0 -1
  466. package/lib-amd/components/AreaChart/AreaChart.styles.d.ts +0 -2
  467. package/lib-amd/components/AreaChart/AreaChart.styles.js +0 -12
  468. package/lib-amd/components/AreaChart/AreaChart.styles.js.map +0 -1
  469. package/lib-amd/components/AreaChart/AreaChart.types.d.ts +0 -37
  470. package/lib-amd/components/AreaChart/AreaChart.types.js +0 -5
  471. package/lib-amd/components/AreaChart/AreaChart.types.js.map +0 -1
  472. package/lib-amd/components/AreaChart/index.d.ts +0 -2
  473. package/lib-amd/components/AreaChart/index.js +0 -7
  474. package/lib-amd/components/AreaChart/index.js.map +0 -1
  475. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +0 -43
  476. package/lib-amd/components/CommonComponents/CartesianChart.base.js +0 -329
  477. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +0 -1
  478. package/lib-amd/components/CommonComponents/CartesianChart.d.ts +0 -3
  479. package/lib-amd/components/CommonComponents/CartesianChart.js +0 -7
  480. package/lib-amd/components/CommonComponents/CartesianChart.js.map +0 -1
  481. package/lib-amd/components/CommonComponents/CartesianChart.styles.d.ts +0 -2
  482. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +0 -166
  483. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +0 -1
  484. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +0 -428
  485. package/lib-amd/components/CommonComponents/CartesianChart.types.js +0 -5
  486. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +0 -1
  487. package/lib-amd/components/CommonComponents/index.d.ts +0 -2
  488. package/lib-amd/components/CommonComponents/index.js +0 -7
  489. package/lib-amd/components/CommonComponents/index.js.map +0 -1
  490. package/lib-amd/components/DonutChart/Arc/Arc.d.ts +0 -21
  491. package/lib-amd/components/DonutChart/Arc/Arc.js +0 -85
  492. package/lib-amd/components/DonutChart/Arc/Arc.js.map +0 -1
  493. package/lib-amd/components/DonutChart/Arc/Arc.styles.d.ts +0 -2
  494. package/lib-amd/components/DonutChart/Arc/Arc.styles.js +0 -33
  495. package/lib-amd/components/DonutChart/Arc/Arc.styles.js.map +0 -1
  496. package/lib-amd/components/DonutChart/Arc/Arc.types.d.ts +0 -124
  497. package/lib-amd/components/DonutChart/Arc/Arc.types.js +0 -5
  498. package/lib-amd/components/DonutChart/Arc/Arc.types.js.map +0 -1
  499. package/lib-amd/components/DonutChart/Arc/index.d.ts +0 -2
  500. package/lib-amd/components/DonutChart/Arc/index.js +0 -7
  501. package/lib-amd/components/DonutChart/Arc/index.js.map +0 -1
  502. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +0 -50
  503. package/lib-amd/components/DonutChart/DonutChart.base.js +0 -208
  504. package/lib-amd/components/DonutChart/DonutChart.base.js.map +0 -1
  505. package/lib-amd/components/DonutChart/DonutChart.d.ts +0 -3
  506. package/lib-amd/components/DonutChart/DonutChart.js +0 -8
  507. package/lib-amd/components/DonutChart/DonutChart.js.map +0 -1
  508. package/lib-amd/components/DonutChart/DonutChart.styles.d.ts +0 -2
  509. package/lib-amd/components/DonutChart/DonutChart.styles.js +0 -36
  510. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +0 -1
  511. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +0 -63
  512. package/lib-amd/components/DonutChart/DonutChart.types.js +0 -5
  513. package/lib-amd/components/DonutChart/DonutChart.types.js.map +0 -1
  514. package/lib-amd/components/DonutChart/Pie/Pie.d.ts +0 -15
  515. package/lib-amd/components/DonutChart/Pie/Pie.js +0 -69
  516. package/lib-amd/components/DonutChart/Pie/Pie.js.map +0 -1
  517. package/lib-amd/components/DonutChart/Pie/Pie.styles.d.ts +0 -2
  518. package/lib-amd/components/DonutChart/Pie/Pie.styles.js +0 -24
  519. package/lib-amd/components/DonutChart/Pie/Pie.styles.js.map +0 -1
  520. package/lib-amd/components/DonutChart/Pie/Pie.types.d.ts +0 -96
  521. package/lib-amd/components/DonutChart/Pie/Pie.types.js +0 -5
  522. package/lib-amd/components/DonutChart/Pie/Pie.types.js.map +0 -1
  523. package/lib-amd/components/DonutChart/Pie/index.d.ts +0 -2
  524. package/lib-amd/components/DonutChart/Pie/index.js +0 -7
  525. package/lib-amd/components/DonutChart/Pie/index.js.map +0 -1
  526. package/lib-amd/components/DonutChart/index.d.ts +0 -3
  527. package/lib-amd/components/DonutChart/index.js +0 -8
  528. package/lib-amd/components/DonutChart/index.js.map +0 -1
  529. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -62
  530. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +0 -375
  531. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +0 -1
  532. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +0 -3
  533. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +0 -8
  534. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +0 -1
  535. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.d.ts +0 -2
  536. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +0 -21
  537. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +0 -1
  538. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +0 -83
  539. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +0 -5
  540. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +0 -1
  541. package/lib-amd/components/GroupedVerticalBarChart/index.d.ts +0 -2
  542. package/lib-amd/components/GroupedVerticalBarChart/index.js +0 -7
  543. package/lib-amd/components/GroupedVerticalBarChart/index.js.map +0 -1
  544. package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +0 -147
  545. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +0 -492
  546. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +0 -1
  547. package/lib-amd/components/HeatMapChart/HeatMapChart.d.ts +0 -3
  548. package/lib-amd/components/HeatMapChart/HeatMapChart.js +0 -7
  549. package/lib-amd/components/HeatMapChart/HeatMapChart.js.map +0 -1
  550. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.d.ts +0 -2
  551. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js +0 -29
  552. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js.map +0 -1
  553. package/lib-amd/components/HeatMapChart/HeatMapChart.types.d.ts +0 -110
  554. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js +0 -5
  555. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js.map +0 -1
  556. package/lib-amd/components/HeatMapChart/index.d.ts +0 -2
  557. package/lib-amd/components/HeatMapChart/index.js +0 -7
  558. package/lib-amd/components/HeatMapChart/index.js.map +0 -1
  559. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +0 -36
  560. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +0 -234
  561. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +0 -1
  562. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.d.ts +0 -3
  563. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js +0 -8
  564. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js.map +0 -1
  565. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.d.ts +0 -2
  566. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +0 -72
  567. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +0 -1
  568. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +0 -172
  569. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js +0 -11
  570. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js.map +0 -1
  571. package/lib-amd/components/HorizontalBarChart/index.d.ts +0 -3
  572. package/lib-amd/components/HorizontalBarChart/index.js +0 -8
  573. package/lib-amd/components/HorizontalBarChart/index.js.map +0 -1
  574. package/lib-amd/components/Legends/Legends.base.d.ts +0 -44
  575. package/lib-amd/components/Legends/Legends.base.js +0 -290
  576. package/lib-amd/components/Legends/Legends.base.js.map +0 -1
  577. package/lib-amd/components/Legends/Legends.d.ts +0 -3
  578. package/lib-amd/components/Legends/Legends.js +0 -7
  579. package/lib-amd/components/Legends/Legends.js.map +0 -1
  580. package/lib-amd/components/Legends/Legends.styles.d.ts +0 -2
  581. package/lib-amd/components/Legends/Legends.styles.js +0 -107
  582. package/lib-amd/components/Legends/Legends.styles.js.map +0 -1
  583. package/lib-amd/components/Legends/Legends.types.d.ts +0 -169
  584. package/lib-amd/components/Legends/Legends.types.js +0 -5
  585. package/lib-amd/components/Legends/Legends.types.js.map +0 -1
  586. package/lib-amd/components/Legends/index.d.ts +0 -3
  587. package/lib-amd/components/Legends/index.js +0 -8
  588. package/lib-amd/components/Legends/index.js.map +0 -1
  589. package/lib-amd/components/Legends/shape.d.ts +0 -9
  590. package/lib-amd/components/Legends/shape.js +0 -27
  591. package/lib-amd/components/Legends/shape.js.map +0 -1
  592. package/lib-amd/components/LineChart/LineChart.base.d.ts +0 -84
  593. package/lib-amd/components/LineChart/LineChart.base.js +0 -809
  594. package/lib-amd/components/LineChart/LineChart.base.js.map +0 -1
  595. package/lib-amd/components/LineChart/LineChart.d.ts +0 -3
  596. package/lib-amd/components/LineChart/LineChart.js +0 -8
  597. package/lib-amd/components/LineChart/LineChart.js.map +0 -1
  598. package/lib-amd/components/LineChart/LineChart.styles.d.ts +0 -2
  599. package/lib-amd/components/LineChart/LineChart.styles.js +0 -12
  600. package/lib-amd/components/LineChart/LineChart.styles.js.map +0 -1
  601. package/lib-amd/components/LineChart/LineChart.types.d.ts +0 -72
  602. package/lib-amd/components/LineChart/LineChart.types.js +0 -5
  603. package/lib-amd/components/LineChart/LineChart.types.js.map +0 -1
  604. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.d.ts +0 -10
  605. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +0 -95
  606. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +0 -1
  607. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.d.ts +0 -22
  608. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js +0 -40
  609. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js.map +0 -1
  610. package/lib-amd/components/LineChart/eventAnnotation/Textbox.d.ts +0 -13
  611. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +0 -40
  612. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +0 -1
  613. package/lib-amd/components/LineChart/index.d.ts +0 -3
  614. package/lib-amd/components/LineChart/index.js +0 -8
  615. package/lib-amd/components/LineChart/index.js.map +0 -1
  616. package/lib-amd/components/PieChart/Arc/Arc.d.ts +0 -12
  617. package/lib-amd/components/PieChart/Arc/Arc.js +0 -56
  618. package/lib-amd/components/PieChart/Arc/Arc.js.map +0 -1
  619. package/lib-amd/components/PieChart/Arc/Arc.styles.d.ts +0 -2
  620. package/lib-amd/components/PieChart/Arc/Arc.styles.js +0 -13
  621. package/lib-amd/components/PieChart/Arc/Arc.styles.js.map +0 -1
  622. package/lib-amd/components/PieChart/Arc/Arc.types.d.ts +0 -60
  623. package/lib-amd/components/PieChart/Arc/Arc.types.js +0 -5
  624. package/lib-amd/components/PieChart/Arc/Arc.types.js.map +0 -1
  625. package/lib-amd/components/PieChart/Arc/index.d.ts +0 -2
  626. package/lib-amd/components/PieChart/Arc/index.js +0 -7
  627. package/lib-amd/components/PieChart/Arc/index.js.map +0 -1
  628. package/lib-amd/components/PieChart/Pie/Pie.d.ts +0 -10
  629. package/lib-amd/components/PieChart/Pie/Pie.js +0 -35
  630. package/lib-amd/components/PieChart/Pie/Pie.js.map +0 -1
  631. package/lib-amd/components/PieChart/Pie/Pie.styles.d.ts +0 -2
  632. package/lib-amd/components/PieChart/Pie/Pie.styles.js +0 -12
  633. package/lib-amd/components/PieChart/Pie/Pie.styles.js.map +0 -1
  634. package/lib-amd/components/PieChart/Pie/Pie.types.d.ts +0 -46
  635. package/lib-amd/components/PieChart/Pie/Pie.types.js +0 -5
  636. package/lib-amd/components/PieChart/Pie/Pie.types.js.map +0 -1
  637. package/lib-amd/components/PieChart/Pie/index.d.ts +0 -2
  638. package/lib-amd/components/PieChart/Pie/index.js +0 -7
  639. package/lib-amd/components/PieChart/Pie/index.js.map +0 -1
  640. package/lib-amd/components/PieChart/PieChart.base.d.ts +0 -7
  641. package/lib-amd/components/PieChart/PieChart.base.js +0 -35
  642. package/lib-amd/components/PieChart/PieChart.base.js.map +0 -1
  643. package/lib-amd/components/PieChart/PieChart.d.ts +0 -3
  644. package/lib-amd/components/PieChart/PieChart.js +0 -8
  645. package/lib-amd/components/PieChart/PieChart.js.map +0 -1
  646. package/lib-amd/components/PieChart/PieChart.styles.d.ts +0 -2
  647. package/lib-amd/components/PieChart/PieChart.styles.js +0 -34
  648. package/lib-amd/components/PieChart/PieChart.styles.js.map +0 -1
  649. package/lib-amd/components/PieChart/PieChart.types.d.ts +0 -63
  650. package/lib-amd/components/PieChart/PieChart.types.js +0 -5
  651. package/lib-amd/components/PieChart/PieChart.types.js.map +0 -1
  652. package/lib-amd/components/PieChart/index.d.ts +0 -2
  653. package/lib-amd/components/PieChart/index.js +0 -7
  654. package/lib-amd/components/PieChart/index.js.map +0 -1
  655. package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +0 -95
  656. package/lib-amd/components/SankeyChart/SankeyChart.base.js +0 -669
  657. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +0 -1
  658. package/lib-amd/components/SankeyChart/SankeyChart.d.ts +0 -3
  659. package/lib-amd/components/SankeyChart/SankeyChart.js +0 -8
  660. package/lib-amd/components/SankeyChart/SankeyChart.js.map +0 -1
  661. package/lib-amd/components/SankeyChart/SankeyChart.styles.d.ts +0 -2
  662. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +0 -62
  663. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +0 -1
  664. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +0 -83
  665. package/lib-amd/components/SankeyChart/SankeyChart.types.js +0 -5
  666. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +0 -1
  667. package/lib-amd/components/SankeyChart/index.d.ts +0 -2
  668. package/lib-amd/components/SankeyChart/index.js +0 -7
  669. package/lib-amd/components/SankeyChart/index.js.map +0 -1
  670. package/lib-amd/components/Sparkline/Sparkline.base.d.ts +0 -20
  671. package/lib-amd/components/Sparkline/Sparkline.base.js +0 -74
  672. package/lib-amd/components/Sparkline/Sparkline.base.js.map +0 -1
  673. package/lib-amd/components/Sparkline/Sparkline.d.ts +0 -3
  674. package/lib-amd/components/Sparkline/Sparkline.js +0 -8
  675. package/lib-amd/components/Sparkline/Sparkline.js.map +0 -1
  676. package/lib-amd/components/Sparkline/Sparkline.styles.d.ts +0 -2
  677. package/lib-amd/components/Sparkline/Sparkline.styles.js +0 -15
  678. package/lib-amd/components/Sparkline/Sparkline.styles.js.map +0 -1
  679. package/lib-amd/components/Sparkline/Sparkline.types.d.ts +0 -51
  680. package/lib-amd/components/Sparkline/Sparkline.types.js +0 -5
  681. package/lib-amd/components/Sparkline/Sparkline.types.js.map +0 -1
  682. package/lib-amd/components/Sparkline/index.d.ts +0 -2
  683. package/lib-amd/components/Sparkline/index.js +0 -7
  684. package/lib-amd/components/Sparkline/index.js.map +0 -1
  685. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +0 -56
  686. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +0 -352
  687. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +0 -1
  688. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.d.ts +0 -3
  689. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js +0 -8
  690. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js.map +0 -1
  691. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.d.ts +0 -2
  692. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +0 -93
  693. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +0 -1
  694. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.d.ts +0 -198
  695. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js +0 -11
  696. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js.map +0 -1
  697. package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +0 -51
  698. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +0 -309
  699. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +0 -1
  700. package/lib-amd/components/StackedBarChart/StackedBarChart.d.ts +0 -3
  701. package/lib-amd/components/StackedBarChart/StackedBarChart.js +0 -8
  702. package/lib-amd/components/StackedBarChart/StackedBarChart.js.map +0 -1
  703. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.d.ts +0 -2
  704. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +0 -108
  705. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +0 -1
  706. package/lib-amd/components/StackedBarChart/StackedBarChart.types.d.ts +0 -210
  707. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js +0 -5
  708. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js.map +0 -1
  709. package/lib-amd/components/StackedBarChart/index.d.ts +0 -5
  710. package/lib-amd/components/StackedBarChart/index.js +0 -10
  711. package/lib-amd/components/StackedBarChart/index.js.map +0 -1
  712. package/lib-amd/components/TreeChart/TreeChart.base.d.ts +0 -18
  713. package/lib-amd/components/TreeChart/TreeChart.base.js +0 -314
  714. package/lib-amd/components/TreeChart/TreeChart.base.js.map +0 -1
  715. package/lib-amd/components/TreeChart/TreeChart.d.ts +0 -3
  716. package/lib-amd/components/TreeChart/TreeChart.js +0 -7
  717. package/lib-amd/components/TreeChart/TreeChart.js.map +0 -1
  718. package/lib-amd/components/TreeChart/TreeChart.styles.d.ts +0 -2
  719. package/lib-amd/components/TreeChart/TreeChart.styles.js +0 -34
  720. package/lib-amd/components/TreeChart/TreeChart.styles.js.map +0 -1
  721. package/lib-amd/components/TreeChart/TreeChart.types.d.ts +0 -197
  722. package/lib-amd/components/TreeChart/TreeChart.types.js +0 -28
  723. package/lib-amd/components/TreeChart/TreeChart.types.js.map +0 -1
  724. package/lib-amd/components/TreeChart/index.d.ts +0 -2
  725. package/lib-amd/components/TreeChart/index.js +0 -7
  726. package/lib-amd/components/TreeChart/index.js.map +0 -1
  727. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -74
  728. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +0 -529
  729. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +0 -1
  730. package/lib-amd/components/VerticalBarChart/VerticalBarChart.d.ts +0 -3
  731. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js +0 -8
  732. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
  733. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.d.ts +0 -2
  734. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +0 -32
  735. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +0 -1
  736. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.d.ts +0 -114
  737. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js +0 -5
  738. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js.map +0 -1
  739. package/lib-amd/components/VerticalBarChart/index.d.ts +0 -2
  740. package/lib-amd/components/VerticalBarChart/index.js +0 -7
  741. package/lib-amd/components/VerticalBarChart/index.js.map +0 -1
  742. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -85
  743. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +0 -659
  744. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +0 -1
  745. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +0 -3
  746. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js +0 -8
  747. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +0 -1
  748. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.d.ts +0 -2
  749. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +0 -22
  750. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +0 -1
  751. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +0 -142
  752. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +0 -5
  753. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +0 -1
  754. package/lib-amd/components/VerticalStackedBarChart/index.d.ts +0 -2
  755. package/lib-amd/components/VerticalStackedBarChart/index.js +0 -7
  756. package/lib-amd/components/VerticalStackedBarChart/index.js.map +0 -1
  757. package/lib-amd/index.d.ts +0 -19
  758. package/lib-amd/index.js +0 -23
  759. package/lib-amd/index.js.map +0 -1
  760. package/lib-amd/types/IDataPoint.d.ts +0 -545
  761. package/lib-amd/types/IDataPoint.js +0 -5
  762. package/lib-amd/types/IDataPoint.js.map +0 -1
  763. package/lib-amd/types/IEventAnnotation.d.ts +0 -6
  764. package/lib-amd/types/IEventAnnotation.js +0 -5
  765. package/lib-amd/types/IEventAnnotation.js.map +0 -1
  766. package/lib-amd/types/ILegendDataItem.d.ts +0 -10
  767. package/lib-amd/types/ILegendDataItem.js +0 -5
  768. package/lib-amd/types/ILegendDataItem.js.map +0 -1
  769. package/lib-amd/types/index.d.ts +0 -2
  770. package/lib-amd/types/index.js +0 -7
  771. package/lib-amd/types/index.js.map +0 -1
  772. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.d.ts +0 -6
  773. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +0 -39
  774. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +0 -1
  775. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.d.ts +0 -3
  776. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js +0 -8
  777. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js.map +0 -1
  778. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.d.ts +0 -2
  779. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js +0 -87
  780. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +0 -1
  781. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.d.ts +0 -105
  782. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js +0 -5
  783. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js.map +0 -1
  784. package/lib-amd/utilities/ChartHoverCard/index.d.ts +0 -3
  785. package/lib-amd/utilities/ChartHoverCard/index.js +0 -8
  786. package/lib-amd/utilities/ChartHoverCard/index.js.map +0 -1
  787. package/lib-amd/utilities/colors.d.ts +0 -51
  788. package/lib-amd/utilities/colors.js +0 -139
  789. package/lib-amd/utilities/colors.js.map +0 -1
  790. package/lib-amd/utilities/index.d.ts +0 -3
  791. package/lib-amd/utilities/index.js +0 -8
  792. package/lib-amd/utilities/index.js.map +0 -1
  793. package/lib-amd/utilities/utilities.d.ts +0 -377
  794. package/lib-amd/utilities/utilities.js +0 -888
  795. package/lib-amd/utilities/utilities.js.map +0 -1
  796. package/lib-amd/version.d.ts +0 -1
  797. package/lib-amd/version.js +0 -6
  798. package/lib-amd/version.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,61 @@
2
2
  "name": "@fluentui/react-charting",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 24 Apr 2023 07:35:55 GMT",
5
+ "date": "Mon, 01 May 2023 07:37:36 GMT",
6
+ "tag": "@fluentui/react-charting_v5.16.23",
7
+ "version": "5.16.23",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "beachball",
12
+ "package": "@fluentui/react-charting",
13
+ "comment": "Bump @fluentui/react-focus to v8.8.20",
14
+ "commit": "46f19b90d2088f055f9cd4bfad840f72fe68f0d8"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui/react-charting",
19
+ "comment": "Bump @fluentui/set-version to v8.2.7",
20
+ "commit": "46f19b90d2088f055f9cd4bfad840f72fe68f0d8"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@fluentui/react-charting",
25
+ "comment": "Bump @fluentui/react to v8.108.3",
26
+ "commit": "46f19b90d2088f055f9cd4bfad840f72fe68f0d8"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@fluentui/react-charting",
31
+ "comment": "Bump @fluentui/jest-serializer-merge-styles to v8.0.25",
32
+ "commit": "46f19b90d2088f055f9cd4bfad840f72fe68f0d8"
33
+ }
34
+ ]
35
+ }
36
+ },
37
+ {
38
+ "date": "Tue, 25 Apr 2023 07:38:31 GMT",
39
+ "tag": "@fluentui/react-charting_v5.16.22",
40
+ "version": "5.16.22",
41
+ "comments": {
42
+ "patch": [
43
+ {
44
+ "author": "kumarkshitij@microsoft.com",
45
+ "package": "@fluentui/react-charting",
46
+ "commit": "999a7998e3913ab823fe24069f0b5d1aab2b2ce0",
47
+ "comment": "Disable focus on non-interactive elements"
48
+ },
49
+ {
50
+ "author": "beachball",
51
+ "package": "@fluentui/react-charting",
52
+ "comment": "Bump @fluentui/react to v8.108.2",
53
+ "commit": "2d93a25e46b76bb473f1deaea3180df5ef3c53ec"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "date": "Mon, 24 Apr 2023 07:36:03 GMT",
6
60
  "tag": "@fluentui/react-charting_v5.16.21",
7
61
  "version": "5.16.21",
8
62
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,34 @@
1
1
  # Change Log - @fluentui/react-charting
2
2
 
3
- This log was last generated on Mon, 24 Apr 2023 07:35:55 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 01 May 2023 07:37:36 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [5.16.23](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.16.23)
8
+
9
+ Mon, 01 May 2023 07:37:36 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.16.22..@fluentui/react-charting_v5.16.23)
11
+
12
+ ### Patches
13
+
14
+ - Bump @fluentui/react-focus to v8.8.20 ([PR #27724](https://github.com/microsoft/fluentui/pull/27724) by beachball)
15
+ - Bump @fluentui/set-version to v8.2.7 ([PR #27724](https://github.com/microsoft/fluentui/pull/27724) by beachball)
16
+ - Bump @fluentui/react to v8.108.3 ([PR #27724](https://github.com/microsoft/fluentui/pull/27724) by beachball)
17
+ - Bump @fluentui/jest-serializer-merge-styles to v8.0.25 ([PR #27724](https://github.com/microsoft/fluentui/pull/27724) by beachball)
18
+
19
+ ## [5.16.22](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.16.22)
20
+
21
+ Tue, 25 Apr 2023 07:38:31 GMT
22
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.16.21..@fluentui/react-charting_v5.16.22)
23
+
24
+ ### Patches
25
+
26
+ - Disable focus on non-interactive elements ([PR #27580](https://github.com/microsoft/fluentui/pull/27580) by kumarkshitij@microsoft.com)
27
+ - Bump @fluentui/react to v8.108.2 ([PR #26482](https://github.com/microsoft/fluentui/pull/26482) by beachball)
28
+
7
29
  ## [5.16.21](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.16.21)
8
30
 
9
- Mon, 24 Apr 2023 07:35:55 GMT
31
+ Mon, 24 Apr 2023 07:36:03 GMT
10
32
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.16.20..@fluentui/react-charting_v5.16.21)
11
33
 
12
34
  ### Patches
@@ -8,8 +8,8 @@ var index_1 = require("./index");
8
8
  var Callout_1 = require("@fluentui/react/lib/Callout");
9
9
  var index_2 = require("../../utilities/index");
10
10
  var react_focus_1 = require("@fluentui/react-focus");
11
- var react_1 = require("@fluentui/react");
12
11
  var d3_format_1 = require("d3-format");
12
+ var FocusableTooltipText_1 = require("../../utilities/FocusableTooltipText");
13
13
  var getClassNames = Utilities_1.classNamesFunction();
14
14
  var HorizontalBarChartBase = /** @class */ (function (_super) {
15
15
  tslib_1.__extends(HorizontalBarChartBase, _super);
@@ -41,7 +41,7 @@ var HorizontalBarChartBase = /** @class */ (function (_super) {
41
41
  });
42
42
  };
43
43
  _this._getChartDataText = function (data) {
44
- return _this.props.barChartCustomData ? (React.createElement("div", { "data-is-focusable": true, role: "text" }, _this.props.barChartCustomData(data))) : (_this._getDefaultTextData(data));
44
+ return _this.props.barChartCustomData ? (React.createElement("div", { role: "text" }, _this.props.barChartCustomData(data))) : (_this._getDefaultTextData(data));
45
45
  };
46
46
  _this._closeCallout = function () {
47
47
  _this.setState({
@@ -108,8 +108,7 @@ var HorizontalBarChartBase = /** @class */ (function (_super) {
108
108
  React.createElement("div", { className: classNames.items },
109
109
  React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal },
110
110
  React.createElement("div", { className: _this._classNames.chartTitle },
111
- points.chartTitle && (React.createElement(react_1.TooltipHost, { overflowMode: react_1.TooltipOverflowMode.Self, hostClassName: _this._classNames.chartTitleLeft, content: points.chartTitle },
112
- React.createElement("span", tslib_1.__assign({}, index_2.getAccessibleDataObject(points.chartTitleAccessibilityData)), points.chartTitle))),
111
+ points.chartTitle && (React.createElement(FocusableTooltipText_1.FocusableTooltipText, { className: _this._classNames.chartTitleLeft, content: points.chartTitle, accessibilityData: points.chartTitleAccessibilityData })),
113
112
  chartDataText)),
114
113
  points.chartData[0].data && _this._createBenchmark(points),
115
114
  React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal, className: _this._classNames.chartWrapper },
@@ -157,7 +156,7 @@ var HorizontalBarChartBase = /** @class */ (function (_super) {
157
156
  var chartData = data.chartData[0];
158
157
  var x = chartData.horizontalBarChartdata.x;
159
158
  var y = chartData.horizontalBarChartdata.y;
160
- var accessibilityData = index_2.getAccessibleDataObject(data.chartDataAccessibilityData);
159
+ var accessibilityData = index_2.getAccessibleDataObject(data.chartDataAccessibilityData, 'text', false);
161
160
  switch (chartDataMode) {
162
161
  case 'default':
163
162
  return (React.createElement("div", tslib_1.__assign({ className: this._classNames.chartTitleRight }, accessibilityData), index_2.convertToLocaleString(x, culture)));
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalBarChart.base.js","sourceRoot":"../src/","sources":["components/HorizontalBarChart/HorizontalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, find, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport {\n IAccessibilityProps,\n IChartProps,\n IHorizontalBarChartProps,\n IHorizontalBarChartStyleProps,\n IHorizontalBarChartStyles,\n IChartDataPoint,\n IRefArrayData,\n HorizontalBarChartVariant,\n} from './index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { ChartHoverCard, convertToLocaleString, getAccessibleDataObject } from '../../utilities/index';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { TooltipHost, TooltipOverflowMode } from '@fluentui/react';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nconst getClassNames = classNamesFunction<IHorizontalBarChartStyleProps, IHorizontalBarChartStyles>();\n\nexport interface IHorizontalBarChartState {\n isCalloutVisible: boolean;\n refSelected: SVGGElement | null | undefined;\n color: string;\n hoverValue: string | number | Date | null;\n lineColor: string;\n legend: string | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n barCalloutProps?: IChartDataPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport class HorizontalBarChartBase extends React.Component<IHorizontalBarChartProps, IHorizontalBarChartState> {\n private _barHeight: number;\n private _classNames: IProcessedStyleSet<IHorizontalBarChartStyles>;\n private _uniqLineText: string;\n private _calloutId: string;\n private _refArray: IRefArrayData[];\n private _calloutAnchorPoint: IChartDataPoint | null;\n private _isRTL: boolean = getRTL();\n\n constructor(props: IHorizontalBarChartProps) {\n super(props);\n this.state = {\n isCalloutVisible: false,\n hoverValue: '',\n lineColor: '',\n legend: '',\n refSelected: null,\n // eslint-disable-next-line react/no-unused-state\n color: '',\n xCalloutValue: '',\n yCalloutValue: '',\n };\n this._refArray = [];\n this._uniqLineText = '_HorizontalLine_' + Math.random().toString(36).substring(7);\n this._hoverOff = this._hoverOff.bind(this);\n this._calloutId = getId('callout');\n }\n\n public render(): JSX.Element {\n const { data, theme } = this.props;\n this._adjustProps();\n const { palette } = theme!;\n let datapoint: number | undefined = 0;\n return (\n <div className={this._classNames.root} onMouseLeave={this._handleChartMouseLeave}>\n {data!.map((points: IChartProps, index: number) => {\n if (points.chartData && points.chartData![0] && points.chartData![0].horizontalBarChartdata!.x) {\n datapoint = points.chartData![0].horizontalBarChartdata!.x;\n } else {\n datapoint = 0;\n }\n points.chartData![1] = {\n legend: '',\n horizontalBarChartdata: {\n x: points.chartData![0].horizontalBarChartdata!.y - datapoint!,\n y: points.chartData![0].horizontalBarChartdata!.y,\n },\n color: palette.neutralLight,\n };\n\n // Hide right side text of chart title for absolute-scale variant\n const chartDataText =\n this.props.variant === HorizontalBarChartVariant.AbsoluteScale ? null : this._getChartDataText(points!);\n const bars = this._createBars(points!, palette);\n const keyVal = this._uniqLineText + '_' + index;\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n width: this.props.width,\n showTriangle: !!points!.chartData![0].data,\n variant: this.props.variant,\n });\n\n return (\n <div key={index}>\n <div className={classNames.items}>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartTitle}>\n {points!.chartTitle && (\n <TooltipHost\n overflowMode={TooltipOverflowMode.Self}\n hostClassName={this._classNames.chartTitleLeft}\n content={points!.chartTitle}\n >\n <span {...getAccessibleDataObject(points!.chartTitleAccessibilityData)}>\n {points!.chartTitle}\n </span>\n </TooltipHost>\n )}\n {chartDataText}\n </div>\n </FocusZone>\n {points!.chartData![0].data && this._createBenchmark(points!)}\n <FocusZone direction={FocusZoneDirection.horizontal} className={this._classNames.chartWrapper}>\n <svg className={this._classNames.chart} aria-label={points!.chartTitle}>\n <g\n id={keyVal}\n key={keyVal}\n ref={(e: SVGGElement) => {\n this._refCallback(e, points!.chartData![0].legend);\n }}\n // NOTE: points.chartData![0] contains current data value\n onClick={() => {\n const p = points!.chartData![0];\n if (p && p.onClick) {\n p.onClick();\n }\n }}\n >\n {bars}\n </g>\n </svg>\n </FocusZone>\n </div>\n </div>\n );\n })}\n <Callout\n target={this.state.refSelected}\n coverTarget={true}\n isBeakVisible={false}\n gapSpace={30}\n hidden={!(!this.props.hideTooltip && this.state.isCalloutVisible)}\n directionalHint={DirectionalHint.topAutoEdge}\n id={this._calloutId}\n onDismiss={this._closeCallout}\n preventDismissOnLostFocus={true}\n {...this.props.calloutProps!}\n {...getAccessibleDataObject(this.state.callOutAccessibilityData)}\n >\n <>\n {this.props.onRenderCalloutPerHorizontalBar ? (\n this.props.onRenderCalloutPerHorizontalBar(this.state.barCalloutProps)\n ) : (\n <ChartHoverCard\n Legend={this.state.xCalloutValue ? this.state.xCalloutValue : this.state.legend!}\n YValue={this.state.yCalloutValue ? this.state.yCalloutValue : this.state.hoverValue!}\n color={this.state.lineColor}\n culture={this.props.culture}\n />\n )}\n </>\n </Callout>\n </div>\n );\n }\n\n private _refCallback(element: SVGGElement, legendTitle: string | undefined): void {\n this._refArray.push({ index: legendTitle, refElement: element });\n }\n\n private _hoverOn(hoverValue: string | number | Date | null, point: IChartDataPoint): void {\n if ((!this.state.isCalloutVisible || this.state.legend !== point.legend!) && this._calloutAnchorPoint !== point) {\n const currentHoveredElement = find(\n this._refArray,\n (currentElement: IRefArrayData) => currentElement.index === point.legend,\n );\n this._calloutAnchorPoint = point;\n this.setState({\n isCalloutVisible: true,\n hoverValue: hoverValue,\n lineColor: point.color!,\n legend: point.legend!,\n refSelected: currentHoveredElement!.refElement,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n barCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n }\n\n private _hoverOff(): void {\n /**/\n }\n\n private _handleChartMouseLeave = () => {\n this._calloutAnchorPoint = null;\n if (this.state.isCalloutVisible) {\n this.setState({\n isCalloutVisible: false,\n hoverValue: '',\n refSelected: null,\n lineColor: '',\n legend: '',\n });\n }\n };\n\n private _adjustProps = (): void => {\n this._barHeight = this.props.barHeight || 12;\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n width: this.props.width,\n className: this.props.className,\n barHeight: this._barHeight,\n color: this.state.lineColor,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n };\n\n private _getChartDataText = (data: IChartProps) => {\n return this.props.barChartCustomData ? (\n <div data-is-focusable={true} role=\"text\">\n {this.props.barChartCustomData(data)}\n </div>\n ) : (\n this._getDefaultTextData(data)\n );\n };\n\n private _getDefaultTextData(data: IChartProps): JSX.Element {\n const { culture } = this.props;\n const chartDataMode = this.props.chartDataMode || 'default';\n const chartData: IChartDataPoint = data!.chartData![0];\n const x = chartData.horizontalBarChartdata!.x;\n const y = chartData.horizontalBarChartdata!.y;\n\n const accessibilityData = getAccessibleDataObject(data.chartDataAccessibilityData!);\n switch (chartDataMode) {\n case 'default':\n return (\n <div className={this._classNames.chartTitleRight} {...accessibilityData}>\n {convertToLocaleString(x, culture)}\n </div>\n );\n case 'fraction':\n return (\n <div {...accessibilityData}>\n <span className={this._classNames.chartTitleRight}>{convertToLocaleString(x, culture)}</span>\n <span className={this._classNames.chartDataTextDenominator}>\n {' / ' + convertToLocaleString(y, culture)}\n </span>\n </div>\n );\n case 'percentage':\n const dataRatioPercentage = `${convertToLocaleString(Math.round((x / y) * 100), culture)}%`;\n return (\n <div className={this._classNames.chartTitleRight} {...accessibilityData}>\n {dataRatioPercentage}\n </div>\n );\n }\n }\n\n private _createBenchmark(data: IChartProps): JSX.Element {\n const totalData = data.chartData![0].horizontalBarChartdata!.y;\n const benchmarkData = data.chartData![0].data;\n const benchmarkRatio = Math.round(((benchmarkData ? benchmarkData : 0) / totalData) * 100);\n\n const benchmarkStyles = {\n left: 'calc(' + benchmarkRatio + '% - 4px)',\n };\n\n return (\n <div className={this._classNames.benchmarkContainer}>\n <div className={this._classNames.triangle} style={benchmarkStyles} />\n </div>\n );\n }\n\n private _createBars(data: IChartProps, palette: IPalette): JSX.Element[] {\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const total = data.chartData!.reduce(\n (acc: number, point: IChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n let prevPosition = 0;\n let value = 0;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: IChartDataPoint, index: number) => {\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / 100 : 1;\n\n const bars = data.chartData!.map((point: IChartDataPoint, index: number) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n startingPoint.push(prevPosition);\n\n const xValue = point.horizontalBarChartdata!.x;\n const placeholderIndex = 1;\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (index === placeholderIndex && this.props.variant === HorizontalBarChartVariant.AbsoluteScale) {\n if (this.props.hideLabels) {\n return <text key={index} />;\n }\n\n const barValue = data.chartData![0].horizontalBarChartdata!.x;\n\n return (\n <text\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] : startingPoint[index]}%`}\n y={this._barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${this._isRTL ? -4 : 4})`}\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(barValue < 1000 ? '.2~' : '.1', barValue)(barValue)}\n </text>\n );\n }\n\n return (\n <rect\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] - value : startingPoint[index]}%`}\n y={0}\n data-is-focusable={point.legend !== '' ? true : false}\n width={value + '%'}\n height={this._barHeight}\n fill={color}\n onMouseOver={point.legend !== '' ? this._hoverOn.bind(this, xValue, point) : undefined}\n onFocus={point.legend !== '' ? this._hoverOn.bind(this, xValue, point) : undefined}\n role=\"img\"\n aria-label={this._getAriaLabel(point)}\n onBlur={this._hoverOff}\n onMouseLeave={this._hoverOff}\n className={this._classNames.barWrapper}\n />\n );\n });\n return bars;\n }\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _getAriaLabel = (point: IChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue =\n point.yAxisCalloutData ||\n (point.horizontalBarChartdata ? `${point.horizontalBarChartdata.x}/${point.horizontalBarChartdata.y}` : 0);\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n}\n"]}
1
+ {"version":3,"file":"HorizontalBarChart.base.js","sourceRoot":"../src/","sources":["components/HorizontalBarChart/HorizontalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, find, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport {\n IAccessibilityProps,\n IChartProps,\n IHorizontalBarChartProps,\n IHorizontalBarChartStyleProps,\n IHorizontalBarChartStyles,\n IChartDataPoint,\n IRefArrayData,\n HorizontalBarChartVariant,\n} from './index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { ChartHoverCard, convertToLocaleString, getAccessibleDataObject } from '../../utilities/index';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\nimport { FocusableTooltipText } from '../../utilities/FocusableTooltipText';\n\nconst getClassNames = classNamesFunction<IHorizontalBarChartStyleProps, IHorizontalBarChartStyles>();\n\nexport interface IHorizontalBarChartState {\n isCalloutVisible: boolean;\n refSelected: SVGGElement | null | undefined;\n color: string;\n hoverValue: string | number | Date | null;\n lineColor: string;\n legend: string | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n barCalloutProps?: IChartDataPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport class HorizontalBarChartBase extends React.Component<IHorizontalBarChartProps, IHorizontalBarChartState> {\n private _barHeight: number;\n private _classNames: IProcessedStyleSet<IHorizontalBarChartStyles>;\n private _uniqLineText: string;\n private _calloutId: string;\n private _refArray: IRefArrayData[];\n private _calloutAnchorPoint: IChartDataPoint | null;\n private _isRTL: boolean = getRTL();\n\n constructor(props: IHorizontalBarChartProps) {\n super(props);\n this.state = {\n isCalloutVisible: false,\n hoverValue: '',\n lineColor: '',\n legend: '',\n refSelected: null,\n // eslint-disable-next-line react/no-unused-state\n color: '',\n xCalloutValue: '',\n yCalloutValue: '',\n };\n this._refArray = [];\n this._uniqLineText = '_HorizontalLine_' + Math.random().toString(36).substring(7);\n this._hoverOff = this._hoverOff.bind(this);\n this._calloutId = getId('callout');\n }\n\n public render(): JSX.Element {\n const { data, theme } = this.props;\n this._adjustProps();\n const { palette } = theme!;\n let datapoint: number | undefined = 0;\n return (\n <div className={this._classNames.root} onMouseLeave={this._handleChartMouseLeave}>\n {data!.map((points: IChartProps, index: number) => {\n if (points.chartData && points.chartData![0] && points.chartData![0].horizontalBarChartdata!.x) {\n datapoint = points.chartData![0].horizontalBarChartdata!.x;\n } else {\n datapoint = 0;\n }\n points.chartData![1] = {\n legend: '',\n horizontalBarChartdata: {\n x: points.chartData![0].horizontalBarChartdata!.y - datapoint!,\n y: points.chartData![0].horizontalBarChartdata!.y,\n },\n color: palette.neutralLight,\n };\n\n // Hide right side text of chart title for absolute-scale variant\n const chartDataText =\n this.props.variant === HorizontalBarChartVariant.AbsoluteScale ? null : this._getChartDataText(points!);\n const bars = this._createBars(points!, palette);\n const keyVal = this._uniqLineText + '_' + index;\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n width: this.props.width,\n showTriangle: !!points!.chartData![0].data,\n variant: this.props.variant,\n });\n\n return (\n <div key={index}>\n <div className={classNames.items}>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartTitle}>\n {points!.chartTitle && (\n <FocusableTooltipText\n className={this._classNames.chartTitleLeft}\n content={points!.chartTitle}\n accessibilityData={points!.chartTitleAccessibilityData}\n />\n )}\n {chartDataText}\n </div>\n </FocusZone>\n {points!.chartData![0].data && this._createBenchmark(points!)}\n <FocusZone direction={FocusZoneDirection.horizontal} className={this._classNames.chartWrapper}>\n <svg className={this._classNames.chart} aria-label={points!.chartTitle}>\n <g\n id={keyVal}\n key={keyVal}\n ref={(e: SVGGElement) => {\n this._refCallback(e, points!.chartData![0].legend);\n }}\n // NOTE: points.chartData![0] contains current data value\n onClick={() => {\n const p = points!.chartData![0];\n if (p && p.onClick) {\n p.onClick();\n }\n }}\n >\n {bars}\n </g>\n </svg>\n </FocusZone>\n </div>\n </div>\n );\n })}\n <Callout\n target={this.state.refSelected}\n coverTarget={true}\n isBeakVisible={false}\n gapSpace={30}\n hidden={!(!this.props.hideTooltip && this.state.isCalloutVisible)}\n directionalHint={DirectionalHint.topAutoEdge}\n id={this._calloutId}\n onDismiss={this._closeCallout}\n preventDismissOnLostFocus={true}\n {...this.props.calloutProps!}\n {...getAccessibleDataObject(this.state.callOutAccessibilityData)}\n >\n <>\n {this.props.onRenderCalloutPerHorizontalBar ? (\n this.props.onRenderCalloutPerHorizontalBar(this.state.barCalloutProps)\n ) : (\n <ChartHoverCard\n Legend={this.state.xCalloutValue ? this.state.xCalloutValue : this.state.legend!}\n YValue={this.state.yCalloutValue ? this.state.yCalloutValue : this.state.hoverValue!}\n color={this.state.lineColor}\n culture={this.props.culture}\n />\n )}\n </>\n </Callout>\n </div>\n );\n }\n\n private _refCallback(element: SVGGElement, legendTitle: string | undefined): void {\n this._refArray.push({ index: legendTitle, refElement: element });\n }\n\n private _hoverOn(hoverValue: string | number | Date | null, point: IChartDataPoint): void {\n if ((!this.state.isCalloutVisible || this.state.legend !== point.legend!) && this._calloutAnchorPoint !== point) {\n const currentHoveredElement = find(\n this._refArray,\n (currentElement: IRefArrayData) => currentElement.index === point.legend,\n );\n this._calloutAnchorPoint = point;\n this.setState({\n isCalloutVisible: true,\n hoverValue: hoverValue,\n lineColor: point.color!,\n legend: point.legend!,\n refSelected: currentHoveredElement!.refElement,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n barCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData,\n });\n }\n }\n\n private _hoverOff(): void {\n /**/\n }\n\n private _handleChartMouseLeave = () => {\n this._calloutAnchorPoint = null;\n if (this.state.isCalloutVisible) {\n this.setState({\n isCalloutVisible: false,\n hoverValue: '',\n refSelected: null,\n lineColor: '',\n legend: '',\n });\n }\n };\n\n private _adjustProps = (): void => {\n this._barHeight = this.props.barHeight || 12;\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n width: this.props.width,\n className: this.props.className,\n barHeight: this._barHeight,\n color: this.state.lineColor,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n };\n\n private _getChartDataText = (data: IChartProps) => {\n return this.props.barChartCustomData ? (\n <div role=\"text\">{this.props.barChartCustomData(data)}</div>\n ) : (\n this._getDefaultTextData(data)\n );\n };\n\n private _getDefaultTextData(data: IChartProps): JSX.Element {\n const { culture } = this.props;\n const chartDataMode = this.props.chartDataMode || 'default';\n const chartData: IChartDataPoint = data!.chartData![0];\n const x = chartData.horizontalBarChartdata!.x;\n const y = chartData.horizontalBarChartdata!.y;\n\n const accessibilityData = getAccessibleDataObject(data.chartDataAccessibilityData!, 'text', false);\n switch (chartDataMode) {\n case 'default':\n return (\n <div className={this._classNames.chartTitleRight} {...accessibilityData}>\n {convertToLocaleString(x, culture)}\n </div>\n );\n case 'fraction':\n return (\n <div {...accessibilityData}>\n <span className={this._classNames.chartTitleRight}>{convertToLocaleString(x, culture)}</span>\n <span className={this._classNames.chartDataTextDenominator}>\n {' / ' + convertToLocaleString(y, culture)}\n </span>\n </div>\n );\n case 'percentage':\n const dataRatioPercentage = `${convertToLocaleString(Math.round((x / y) * 100), culture)}%`;\n return (\n <div className={this._classNames.chartTitleRight} {...accessibilityData}>\n {dataRatioPercentage}\n </div>\n );\n }\n }\n\n private _createBenchmark(data: IChartProps): JSX.Element {\n const totalData = data.chartData![0].horizontalBarChartdata!.y;\n const benchmarkData = data.chartData![0].data;\n const benchmarkRatio = Math.round(((benchmarkData ? benchmarkData : 0) / totalData) * 100);\n\n const benchmarkStyles = {\n left: 'calc(' + benchmarkRatio + '% - 4px)',\n };\n\n return (\n <div className={this._classNames.benchmarkContainer}>\n <div className={this._classNames.triangle} style={benchmarkStyles} />\n </div>\n );\n }\n\n private _createBars(data: IChartProps, palette: IPalette): JSX.Element[] {\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const total = data.chartData!.reduce(\n (acc: number, point: IChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n let prevPosition = 0;\n let value = 0;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: IChartDataPoint, index: number) => {\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / 100 : 1;\n\n const bars = data.chartData!.map((point: IChartDataPoint, index: number) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n startingPoint.push(prevPosition);\n\n const xValue = point.horizontalBarChartdata!.x;\n const placeholderIndex = 1;\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (index === placeholderIndex && this.props.variant === HorizontalBarChartVariant.AbsoluteScale) {\n if (this.props.hideLabels) {\n return <text key={index} />;\n }\n\n const barValue = data.chartData![0].horizontalBarChartdata!.x;\n\n return (\n <text\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] : startingPoint[index]}%`}\n y={this._barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${this._isRTL ? -4 : 4})`}\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(barValue < 1000 ? '.2~' : '.1', barValue)(barValue)}\n </text>\n );\n }\n\n return (\n <rect\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] - value : startingPoint[index]}%`}\n y={0}\n data-is-focusable={point.legend !== '' ? true : false}\n width={value + '%'}\n height={this._barHeight}\n fill={color}\n onMouseOver={point.legend !== '' ? this._hoverOn.bind(this, xValue, point) : undefined}\n onFocus={point.legend !== '' ? this._hoverOn.bind(this, xValue, point) : undefined}\n role=\"img\"\n aria-label={this._getAriaLabel(point)}\n onBlur={this._hoverOff}\n onMouseLeave={this._hoverOff}\n className={this._classNames.barWrapper}\n />\n );\n });\n return bars;\n }\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _getAriaLabel = (point: IChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue =\n point.yAxisCalloutData ||\n (point.horizontalBarChartdata ? `${point.horizontalBarChartdata.x}/${point.horizontalBarChartdata.y}` : 0);\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n}\n"]}
@@ -9,8 +9,8 @@ var index_2 = require("./index");
9
9
  var Callout_1 = require("@fluentui/react/lib/Callout");
10
10
  var react_focus_1 = require("@fluentui/react-focus");
11
11
  var index_3 = require("../../utilities/index");
12
- var react_1 = require("@fluentui/react");
13
12
  var d3_format_1 = require("d3-format");
13
+ var FocusableTooltipText_1 = require("../../utilities/FocusableTooltipText");
14
14
  var getClassNames = Utilities_1.classNamesFunction();
15
15
  var MultiStackedBarChartBase = /** @class */ (function (_super) {
16
16
  tslib_1.__extends(MultiStackedBarChartBase, _super);
@@ -249,7 +249,7 @@ var MultiStackedBarChartBase = /** @class */ (function (_super) {
249
249
  if (!this.props.hideLabels) {
250
250
  bars.push(React.createElement("text", { key: "text", x: (this._isRTL
251
251
  ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value
252
- : (startingPoint[startingPoint.length - 1] || 0) + value) + "%", y: barHeight / 2, dominantBaseline: "central", transform: "translate(" + (this._isRTL ? -4 : 4) + ")", className: this._classNames.barLabel, "data-is-focusable": true, "aria-label": "Total: " + barTotalValue, role: "img" }, d3_format_1.formatPrefix(barTotalValue < 1000 ? '.2~' : '.1', barTotalValue)(barTotalValue)));
252
+ : (startingPoint[startingPoint.length - 1] || 0) + value) + "%", y: barHeight / 2, dominantBaseline: "central", transform: "translate(" + (this._isRTL ? -4 : 4) + ")", className: this._classNames.barLabel, "aria-label": "Total: " + barTotalValue, role: "img" }, d3_format_1.formatPrefix(barTotalValue < 1000 ? '.2~' : '.1', barTotalValue)(barTotalValue)));
253
253
  }
254
254
  }
255
255
  else {
@@ -271,12 +271,11 @@ var MultiStackedBarChartBase = /** @class */ (function (_super) {
271
271
  return (React.createElement("div", { className: this._classNames.singleChartRoot },
272
272
  React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal },
273
273
  React.createElement("div", { className: this._classNames.chartTitle },
274
- data.chartTitle && (React.createElement(react_1.TooltipHost, { overflowMode: react_1.TooltipOverflowMode.Self, hostClassName: this._classNames.chartTitleLeft, content: data.chartTitle },
275
- React.createElement("span", tslib_1.__assign({}, index_3.getAccessibleDataObject(data.chartTitleAccessibilityData)), data.chartTitle))),
276
- showRatio && (React.createElement("div", tslib_1.__assign({}, index_3.getAccessibleDataObject(data.chartDataAccessibilityData)),
274
+ data.chartTitle && (React.createElement(FocusableTooltipText_1.FocusableTooltipText, { className: this._classNames.chartTitleLeft, content: data.chartTitle, accessibilityData: data.chartTitleAccessibilityData })),
275
+ showRatio && (React.createElement("div", tslib_1.__assign({}, index_3.getAccessibleDataObject(data.chartDataAccessibilityData, 'text', false)),
277
276
  React.createElement("span", { className: this._classNames.ratioNumerator }, getChartData()),
278
277
  !hideDenominator && (React.createElement("span", { className: this._classNames.ratioDenominator }, ' / ' + index_3.convertToLocaleString(barTotalValue, culture))))),
279
- showNumber && (React.createElement("div", tslib_1.__assign({ className: this._classNames.ratioNumerator }, index_3.getAccessibleDataObject(data.chartDataAccessibilityData)), getChartData())))),
278
+ showNumber && (React.createElement("div", tslib_1.__assign({ className: this._classNames.ratioNumerator }, index_3.getAccessibleDataObject(data.chartDataAccessibilityData, 'text', false)), getChartData())))),
280
279
  React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal },
281
280
  React.createElement("div", { className: this._classNames.chartWrapper },
282
281
  React.createElement("svg", { className: this._classNames.chart, "aria-label": data === null || data === void 0 ? void 0 : data.chartTitle }, bars)))));
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStackedBarChart.base.js","sourceRoot":"../src/","sources":["components/StackedBarChart/MultiStackedBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { ILegend, Legends } from '../Legends/index';\nimport {\n IAccessibilityProps,\n IChartDataPoint,\n IChartProps,\n IMultiStackedBarChartProps,\n IMultiStackedBarChartStyles,\n IMultiStackedBarChartStyleProps,\n MultiStackedBarChartVariant,\n} from './index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ChartHoverCard, convertToLocaleString, getAccessibleDataObject } from '../../utilities/index';\nimport { TooltipHost, TooltipOverflowMode } from '@fluentui/react';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nconst getClassNames = classNamesFunction<IMultiStackedBarChartStyleProps, IMultiStackedBarChartStyles>();\n\nexport interface IRefArrayData {\n legendText?: string;\n refElement?: SVGGElement;\n}\n\nexport interface IMultiStackedBarChartState {\n isCalloutVisible: boolean;\n refArray: IRefArrayData[];\n selectedLegend: string;\n activeLegend: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected: any;\n dataForHoverCard: number;\n color: string;\n xCalloutValue?: string;\n yCalloutValue?: string;\n dataPointCalloutProps?: IChartDataPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n}\n\nexport class MultiStackedBarChartBase extends React.Component<IMultiStackedBarChartProps, IMultiStackedBarChartState> {\n public static defaultProps: Partial<IMultiStackedBarChartProps> = {\n barHeight: 12,\n hideRatio: [],\n hideDenominator: [],\n };\n\n private _classNames: IProcessedStyleSet<IMultiStackedBarChartStyles>;\n private _calloutId: string;\n private _calloutAnchorPoint: IChartDataPoint | null;\n private _longestBarTotalValue: number;\n private _isRTL: boolean = getRTL();\n\n public constructor(props: IMultiStackedBarChartProps) {\n super(props);\n this.state = {\n isCalloutVisible: false,\n refArray: [],\n selectedLegend: '',\n activeLegend: '',\n refSelected: null,\n dataForHoverCard: 0,\n color: '',\n xCalloutValue: '',\n yCalloutValue: '',\n calloutLegend: '',\n };\n this._onLeave = this._onLeave.bind(this);\n this._onBarLeave = this._onBarLeave.bind(this);\n this._calloutId = getId('callout');\n }\n\n public render(): JSX.Element {\n const { data, theme, culture } = this.props;\n this._adjustProps();\n const { palette } = theme!;\n const legends = this._getLegendData(data!, this.props.hideRatio!, palette);\n const { isCalloutVisible } = this.state;\n\n this._classNames = getClassNames(this.props.styles!, {\n legendColor: this.state.color,\n theme: theme!,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n\n const legendName = this.state.xCalloutValue ? this.state.xCalloutValue : this.state.calloutLegend;\n const calloutYVal = this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard;\n\n this._longestBarTotalValue = this._computeLongestBarTotalValue();\n const bars: JSX.Element[] = data!.map((singleChartData: IChartProps, index: number) => {\n const singleChartBars = this._createBarsAndLegends(\n singleChartData!,\n this.props.barHeight!,\n palette,\n this.props.hideRatio![index],\n this.props.hideDenominator![index],\n this.props.href,\n );\n return <div key={index}>{singleChartBars}</div>;\n });\n\n return (\n <div className={this._classNames.root} onMouseLeave={this._handleChartMouseLeave}>\n {bars}\n {!this.props.hideLegend && <div className={this._classNames.legendContainer}>{legends}</div>}\n <Callout\n gapSpace={15}\n isBeakVisible={false}\n target={this.state.refSelected}\n setInitialFocus={true}\n hidden={!(!this.props.hideTooltip && isCalloutVisible)}\n directionalHint={DirectionalHint.topAutoEdge}\n id={this._calloutId}\n onDismiss={this._closeCallout}\n preventDismissOnLostFocus={true}\n /** Keep the callout updated with details of focused/hovered bar */\n shouldUpdateWhenHidden={true}\n {...this.props.calloutProps!}\n {...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false)}\n >\n <>\n {this.props.onRenderCalloutPerDataPoint ? (\n this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n ) : (\n <ChartHoverCard Legend={legendName} YValue={calloutYVal} color={this.state.color} culture={culture} />\n )}\n </>\n </Callout>\n </div>\n );\n }\n\n private _createBarsAndLegends(\n data: IChartProps,\n barHeight: number,\n palette: IPalette,\n hideRatio: boolean,\n hideDenominator: boolean,\n href?: string,\n ): JSX.Element {\n const { culture } = this.props;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const barTotalValue = data.chartData!.reduce(\n (acc: number, point: IChartDataPoint) => acc + (point.data ? point.data : 0),\n 0,\n );\n const total =\n this.props.variant === MultiStackedBarChartVariant.AbsoluteScale ? this._longestBarTotalValue : barTotalValue;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: IChartDataPoint, index: number) => {\n const pointData = point.data ? point.data : 0;\n value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;\n if (value < 1 && value !== 0) {\n value = 1;\n } else if (value > 99 && value !== 100) {\n value = 99;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n // Include an imaginary placeholder bar with value equal to\n // the difference between longestBarTotalValue and barTotalValue\n // while calculating sumOfPercent to get correct scalingRatio for absolute-scale variant\n if (this.props.variant === MultiStackedBarChartVariant.AbsoluteScale) {\n let value = total === 0 ? 0 : ((total - barTotalValue) / total) * 100;\n if (value < 1 && value !== 0) {\n value = 1;\n } else if (value > 99 && value !== 100) {\n value = 99;\n }\n sumOfPercent += value;\n }\n\n const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / 100 : 1;\n\n let prevPosition = 0;\n let value = 0;\n\n const bars = data.chartData!.map((point: IChartDataPoint, index: number) => {\n const color: string = point.color\n ? point.color\n : point.placeHolder\n ? palette.neutralLight\n : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.data ? point.data : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;\n if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else if (value > 99 && value !== 100) {\n value = 99 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n\n startingPoint.push(prevPosition);\n\n const styles = this.props.styles;\n const shouldHighlight = this._legendHighlighted(point.legend!) || this._noLegendHighlighted() ? true : false;\n\n this._classNames = getClassNames(styles!, {\n theme: this.props.theme!,\n shouldHighlight: shouldHighlight,\n href: href,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n\n return (\n <g\n key={index}\n className={point.placeHolder ? this._classNames.placeHolderOnHover : this._classNames.opacityChangeOnHover}\n ref={(e: SVGGElement) => {\n this._refCallback(e, point.legend!);\n }}\n data-is-focusable={!this.props.hideTooltip}\n onFocus={this._onBarFocus.bind(this, pointData, color, point)}\n onBlur={this._onBarLeave}\n role=\"img\"\n aria-label={this._getAriaLabel(point)}\n onMouseOver={point.placeHolder ? undefined : this._onBarHover.bind(this, pointData, color, point)}\n onMouseMove={point.placeHolder ? undefined : this._onBarHover.bind(this, pointData, color, point)}\n onMouseLeave={point.placeHolder ? undefined : this._onBarLeave}\n onClick={href ? (point.placeHolder ? undefined : this._redirectToUrl.bind(this, href)) : point.onClick}\n >\n <rect\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] - value : startingPoint[index]}%`}\n y={0}\n width={value + '%'}\n height={barHeight}\n fill={color}\n />\n </g>\n );\n });\n if (this.props.variant === MultiStackedBarChartVariant.AbsoluteScale) {\n if (!this.props.hideLabels) {\n bars.push(\n <text\n key=\"text\"\n x={`${\n this._isRTL\n ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value\n : (startingPoint[startingPoint.length - 1] || 0) + value\n }%`}\n y={barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${this._isRTL ? -4 : 4})`}\n className={this._classNames.barLabel}\n data-is-focusable={true}\n aria-label={`Total: ${barTotalValue}`}\n role=\"img\"\n >\n {d3FormatPrefix(barTotalValue < 1000 ? '.2~' : '.1', barTotalValue)(barTotalValue)}\n </text>,\n );\n }\n } else {\n // Render placeholder bars only for part-to-whole variant\n if (data.chartData!.length === 0) {\n bars.push(\n <g key={0} className={this._classNames.noData} onClick={this._redirectToUrl.bind(this, href)}>\n <rect key={0} x={'0%'} y={0} width={'100%'} height={barHeight} fill={palette.neutralLight} />\n </g>,\n );\n }\n if (barTotalValue === 0) {\n bars.push(\n <g key={'empty'} className={this._classNames.noData} onClick={this._redirectToUrl.bind(this, href)}>\n <rect key={0} x={'0%'} y={0} width={'100%'} height={barHeight} fill={palette.neutralLight} />\n </g>,\n );\n }\n }\n const hideNumber = hideRatio === undefined ? false : hideRatio;\n\n // Hide right side text of chart title for absolute-scale variant\n const showRatio =\n this.props.variant !== MultiStackedBarChartVariant.AbsoluteScale && !hideNumber && data!.chartData!.length === 2;\n const showNumber =\n this.props.variant !== MultiStackedBarChartVariant.AbsoluteScale && !hideNumber && data!.chartData!.length === 1;\n\n const getChartData = () => convertToLocaleString(data!.chartData![0].data ? data!.chartData![0].data : 0, culture);\n return (\n <div className={this._classNames.singleChartRoot}>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartTitle}>\n {data!.chartTitle && (\n <TooltipHost\n overflowMode={TooltipOverflowMode.Self}\n hostClassName={this._classNames.chartTitleLeft}\n content={data!.chartTitle}\n >\n <span {...getAccessibleDataObject(data!.chartTitleAccessibilityData)}>{data!.chartTitle}</span>\n </TooltipHost>\n )}\n {showRatio && (\n <div {...getAccessibleDataObject(data!.chartDataAccessibilityData)}>\n <span className={this._classNames.ratioNumerator}>{getChartData()}</span>\n {!hideDenominator && (\n <span className={this._classNames.ratioDenominator}>\n {' / ' + convertToLocaleString(barTotalValue, culture)}\n </span>\n )}\n </div>\n )}\n {showNumber && (\n <div\n className={this._classNames.ratioNumerator}\n {...getAccessibleDataObject(data!.chartDataAccessibilityData)}\n >\n {getChartData()}\n </div>\n )}\n </div>\n </FocusZone>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartWrapper}>\n <svg className={this._classNames.chart} aria-label={data?.chartTitle}>\n {bars}\n </svg>\n </div>\n </FocusZone>\n </div>\n );\n }\n\n private _onBarFocus(pointData: number, color: string, point: IChartDataPoint): void {\n this.state.refArray.forEach((obj: IRefArrayData) => {\n if (obj.legendText === point.legend!) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend!,\n calloutLegend: point.legend!,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData!,\n });\n }\n });\n }\n\n private _refCallback(element: SVGGElement, legendTitle: string): void {\n this.state.refArray.push({ legendText: legendTitle, refElement: element });\n }\n\n private _adjustProps = (): void => {\n const { theme, className, styles, width, barHeight } = this.props;\n this._classNames = getClassNames(styles!, {\n legendColor: this.state.color,\n theme: theme!,\n width: width,\n className,\n barHeight: barHeight,\n });\n };\n\n private _onHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _getLegendData = (data: IChartProps[], hideRatio: boolean[], palette: IPalette): JSX.Element => {\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n data.forEach((singleChartData: IChartProps, index: number) => {\n const validChartData = singleChartData.chartData!.filter((_: IChartDataPoint) => !_.placeHolder);\n if (validChartData!.length < 3) {\n const hideNumber = hideRatio[index] === undefined ? false : hideRatio[index];\n if (hideNumber) {\n validChartData!.forEach((point: IChartDataPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === point.legend! && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLeave();\n },\n };\n actions.push(legend);\n });\n }\n } else {\n validChartData!.forEach((point: IChartDataPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === point.legend! && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLeave();\n },\n };\n actions.push(legend);\n });\n }\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n overflowText={this.props.legendsOverflowText}\n {...this.props.legendProps}\n />\n );\n };\n\n private _onClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _onBarHover(\n pointData: number,\n color: string,\n point: IChartDataPoint,\n mouseEvent: React.MouseEvent<SVGPathElement>,\n ): void {\n mouseEvent.persist();\n\n if (this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend!,\n calloutLegend: point.legend!,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData!,\n });\n }\n }\n\n private _onBarLeave(): void {\n /**/\n }\n\n private _handleChartMouseLeave = () => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _redirectToUrl(href: string | undefined): void {\n href ? (window.location.href = href) : '';\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: IChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue = point.yAxisCalloutData || point.data || 0;\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n\n private _computeLongestBarTotalValue = () => {\n let longestBarTotalValue = 0;\n this.props.data!.forEach(({ chartData }) => {\n const barTotalValue = chartData!.reduce(\n (acc: number, point: IChartDataPoint) => acc + (point.data ? point.data : 0),\n 0,\n );\n longestBarTotalValue = Math.max(longestBarTotalValue, barTotalValue);\n });\n return longestBarTotalValue;\n };\n}\n"]}
1
+ {"version":3,"file":"MultiStackedBarChart.base.js","sourceRoot":"../src/","sources":["components/StackedBarChart/MultiStackedBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, getId, getRTL } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { ILegend, Legends } from '../Legends/index';\nimport {\n IAccessibilityProps,\n IChartDataPoint,\n IChartProps,\n IMultiStackedBarChartProps,\n IMultiStackedBarChartStyles,\n IMultiStackedBarChartStyleProps,\n MultiStackedBarChartVariant,\n} from './index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ChartHoverCard, convertToLocaleString, getAccessibleDataObject } from '../../utilities/index';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\nimport { FocusableTooltipText } from '../../utilities/FocusableTooltipText';\n\nconst getClassNames = classNamesFunction<IMultiStackedBarChartStyleProps, IMultiStackedBarChartStyles>();\n\nexport interface IRefArrayData {\n legendText?: string;\n refElement?: SVGGElement;\n}\n\nexport interface IMultiStackedBarChartState {\n isCalloutVisible: boolean;\n refArray: IRefArrayData[];\n selectedLegend: string;\n activeLegend: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected: any;\n dataForHoverCard: number;\n color: string;\n xCalloutValue?: string;\n yCalloutValue?: string;\n dataPointCalloutProps?: IChartDataPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n}\n\nexport class MultiStackedBarChartBase extends React.Component<IMultiStackedBarChartProps, IMultiStackedBarChartState> {\n public static defaultProps: Partial<IMultiStackedBarChartProps> = {\n barHeight: 12,\n hideRatio: [],\n hideDenominator: [],\n };\n\n private _classNames: IProcessedStyleSet<IMultiStackedBarChartStyles>;\n private _calloutId: string;\n private _calloutAnchorPoint: IChartDataPoint | null;\n private _longestBarTotalValue: number;\n private _isRTL: boolean = getRTL();\n\n public constructor(props: IMultiStackedBarChartProps) {\n super(props);\n this.state = {\n isCalloutVisible: false,\n refArray: [],\n selectedLegend: '',\n activeLegend: '',\n refSelected: null,\n dataForHoverCard: 0,\n color: '',\n xCalloutValue: '',\n yCalloutValue: '',\n calloutLegend: '',\n };\n this._onLeave = this._onLeave.bind(this);\n this._onBarLeave = this._onBarLeave.bind(this);\n this._calloutId = getId('callout');\n }\n\n public render(): JSX.Element {\n const { data, theme, culture } = this.props;\n this._adjustProps();\n const { palette } = theme!;\n const legends = this._getLegendData(data!, this.props.hideRatio!, palette);\n const { isCalloutVisible } = this.state;\n\n this._classNames = getClassNames(this.props.styles!, {\n legendColor: this.state.color,\n theme: theme!,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n\n const legendName = this.state.xCalloutValue ? this.state.xCalloutValue : this.state.calloutLegend;\n const calloutYVal = this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard;\n\n this._longestBarTotalValue = this._computeLongestBarTotalValue();\n const bars: JSX.Element[] = data!.map((singleChartData: IChartProps, index: number) => {\n const singleChartBars = this._createBarsAndLegends(\n singleChartData!,\n this.props.barHeight!,\n palette,\n this.props.hideRatio![index],\n this.props.hideDenominator![index],\n this.props.href,\n );\n return <div key={index}>{singleChartBars}</div>;\n });\n\n return (\n <div className={this._classNames.root} onMouseLeave={this._handleChartMouseLeave}>\n {bars}\n {!this.props.hideLegend && <div className={this._classNames.legendContainer}>{legends}</div>}\n <Callout\n gapSpace={15}\n isBeakVisible={false}\n target={this.state.refSelected}\n setInitialFocus={true}\n hidden={!(!this.props.hideTooltip && isCalloutVisible)}\n directionalHint={DirectionalHint.topAutoEdge}\n id={this._calloutId}\n onDismiss={this._closeCallout}\n preventDismissOnLostFocus={true}\n /** Keep the callout updated with details of focused/hovered bar */\n shouldUpdateWhenHidden={true}\n {...this.props.calloutProps!}\n {...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false)}\n >\n <>\n {this.props.onRenderCalloutPerDataPoint ? (\n this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n ) : (\n <ChartHoverCard Legend={legendName} YValue={calloutYVal} color={this.state.color} culture={culture} />\n )}\n </>\n </Callout>\n </div>\n );\n }\n\n private _createBarsAndLegends(\n data: IChartProps,\n barHeight: number,\n palette: IPalette,\n hideRatio: boolean,\n hideDenominator: boolean,\n href?: string,\n ): JSX.Element {\n const { culture } = this.props;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const barTotalValue = data.chartData!.reduce(\n (acc: number, point: IChartDataPoint) => acc + (point.data ? point.data : 0),\n 0,\n );\n const total =\n this.props.variant === MultiStackedBarChartVariant.AbsoluteScale ? this._longestBarTotalValue : barTotalValue;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: IChartDataPoint, index: number) => {\n const pointData = point.data ? point.data : 0;\n value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;\n if (value < 1 && value !== 0) {\n value = 1;\n } else if (value > 99 && value !== 100) {\n value = 99;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n // Include an imaginary placeholder bar with value equal to\n // the difference between longestBarTotalValue and barTotalValue\n // while calculating sumOfPercent to get correct scalingRatio for absolute-scale variant\n if (this.props.variant === MultiStackedBarChartVariant.AbsoluteScale) {\n let value = total === 0 ? 0 : ((total - barTotalValue) / total) * 100;\n if (value < 1 && value !== 0) {\n value = 1;\n } else if (value > 99 && value !== 100) {\n value = 99;\n }\n sumOfPercent += value;\n }\n\n const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / 100 : 1;\n\n let prevPosition = 0;\n let value = 0;\n\n const bars = data.chartData!.map((point: IChartDataPoint, index: number) => {\n const color: string = point.color\n ? point.color\n : point.placeHolder\n ? palette.neutralLight\n : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.data ? point.data : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;\n if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else if (value > 99 && value !== 100) {\n value = 99 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n\n startingPoint.push(prevPosition);\n\n const styles = this.props.styles;\n const shouldHighlight = this._legendHighlighted(point.legend!) || this._noLegendHighlighted() ? true : false;\n\n this._classNames = getClassNames(styles!, {\n theme: this.props.theme!,\n shouldHighlight: shouldHighlight,\n href: href,\n variant: this.props.variant,\n hideLabels: this.props.hideLabels,\n });\n\n return (\n <g\n key={index}\n className={point.placeHolder ? this._classNames.placeHolderOnHover : this._classNames.opacityChangeOnHover}\n ref={(e: SVGGElement) => {\n this._refCallback(e, point.legend!);\n }}\n data-is-focusable={!this.props.hideTooltip}\n onFocus={this._onBarFocus.bind(this, pointData, color, point)}\n onBlur={this._onBarLeave}\n role=\"img\"\n aria-label={this._getAriaLabel(point)}\n onMouseOver={point.placeHolder ? undefined : this._onBarHover.bind(this, pointData, color, point)}\n onMouseMove={point.placeHolder ? undefined : this._onBarHover.bind(this, pointData, color, point)}\n onMouseLeave={point.placeHolder ? undefined : this._onBarLeave}\n onClick={href ? (point.placeHolder ? undefined : this._redirectToUrl.bind(this, href)) : point.onClick}\n >\n <rect\n key={index}\n x={`${this._isRTL ? 100 - startingPoint[index] - value : startingPoint[index]}%`}\n y={0}\n width={value + '%'}\n height={barHeight}\n fill={color}\n />\n </g>\n );\n });\n if (this.props.variant === MultiStackedBarChartVariant.AbsoluteScale) {\n if (!this.props.hideLabels) {\n bars.push(\n <text\n key=\"text\"\n x={`${\n this._isRTL\n ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value\n : (startingPoint[startingPoint.length - 1] || 0) + value\n }%`}\n y={barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${this._isRTL ? -4 : 4})`}\n className={this._classNames.barLabel}\n aria-label={`Total: ${barTotalValue}`}\n role=\"img\"\n >\n {d3FormatPrefix(barTotalValue < 1000 ? '.2~' : '.1', barTotalValue)(barTotalValue)}\n </text>,\n );\n }\n } else {\n // Render placeholder bars only for part-to-whole variant\n if (data.chartData!.length === 0) {\n bars.push(\n <g key={0} className={this._classNames.noData} onClick={this._redirectToUrl.bind(this, href)}>\n <rect key={0} x={'0%'} y={0} width={'100%'} height={barHeight} fill={palette.neutralLight} />\n </g>,\n );\n }\n if (barTotalValue === 0) {\n bars.push(\n <g key={'empty'} className={this._classNames.noData} onClick={this._redirectToUrl.bind(this, href)}>\n <rect key={0} x={'0%'} y={0} width={'100%'} height={barHeight} fill={palette.neutralLight} />\n </g>,\n );\n }\n }\n const hideNumber = hideRatio === undefined ? false : hideRatio;\n\n // Hide right side text of chart title for absolute-scale variant\n const showRatio =\n this.props.variant !== MultiStackedBarChartVariant.AbsoluteScale && !hideNumber && data!.chartData!.length === 2;\n const showNumber =\n this.props.variant !== MultiStackedBarChartVariant.AbsoluteScale && !hideNumber && data!.chartData!.length === 1;\n\n const getChartData = () => convertToLocaleString(data!.chartData![0].data ? data!.chartData![0].data : 0, culture);\n return (\n <div className={this._classNames.singleChartRoot}>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartTitle}>\n {data!.chartTitle && (\n <FocusableTooltipText\n className={this._classNames.chartTitleLeft}\n content={data!.chartTitle}\n accessibilityData={data!.chartTitleAccessibilityData}\n />\n )}\n {showRatio && (\n <div {...getAccessibleDataObject(data!.chartDataAccessibilityData, 'text', false)}>\n <span className={this._classNames.ratioNumerator}>{getChartData()}</span>\n {!hideDenominator && (\n <span className={this._classNames.ratioDenominator}>\n {' / ' + convertToLocaleString(barTotalValue, culture)}\n </span>\n )}\n </div>\n )}\n {showNumber && (\n <div\n className={this._classNames.ratioNumerator}\n {...getAccessibleDataObject(data!.chartDataAccessibilityData, 'text', false)}\n >\n {getChartData()}\n </div>\n )}\n </div>\n </FocusZone>\n <FocusZone direction={FocusZoneDirection.horizontal}>\n <div className={this._classNames.chartWrapper}>\n <svg className={this._classNames.chart} aria-label={data?.chartTitle}>\n {bars}\n </svg>\n </div>\n </FocusZone>\n </div>\n );\n }\n\n private _onBarFocus(pointData: number, color: string, point: IChartDataPoint): void {\n this.state.refArray.forEach((obj: IRefArrayData) => {\n if (obj.legendText === point.legend!) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend!,\n calloutLegend: point.legend!,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData!,\n });\n }\n });\n }\n\n private _refCallback(element: SVGGElement, legendTitle: string): void {\n this.state.refArray.push({ legendText: legendTitle, refElement: element });\n }\n\n private _adjustProps = (): void => {\n const { theme, className, styles, width, barHeight } = this.props;\n this._classNames = getClassNames(styles!, {\n legendColor: this.state.color,\n theme: theme!,\n width: width,\n className,\n barHeight: barHeight,\n });\n };\n\n private _onHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _getLegendData = (data: IChartProps[], hideRatio: boolean[], palette: IPalette): JSX.Element => {\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n data.forEach((singleChartData: IChartProps, index: number) => {\n const validChartData = singleChartData.chartData!.filter((_: IChartDataPoint) => !_.placeHolder);\n if (validChartData!.length < 3) {\n const hideNumber = hideRatio[index] === undefined ? false : hideRatio[index];\n if (hideNumber) {\n validChartData!.forEach((point: IChartDataPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === point.legend! && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLeave();\n },\n };\n actions.push(legend);\n });\n }\n } else {\n validChartData!.forEach((point: IChartDataPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === point.legend! && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend!,\n color: color,\n action: () => {\n this._onClick(point.legend!);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onHover(point.legend!);\n },\n onMouseOutAction: () => {\n this._onLeave();\n },\n };\n actions.push(legend);\n });\n }\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n overflowText={this.props.legendsOverflowText}\n {...this.props.legendProps}\n />\n );\n };\n\n private _onClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _onBarHover(\n pointData: number,\n color: string,\n point: IChartDataPoint,\n mouseEvent: React.MouseEvent<SVGPathElement>,\n ): void {\n mouseEvent.persist();\n\n if (this._calloutAnchorPoint !== point) {\n this._calloutAnchorPoint = point;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === point.legend!,\n calloutLegend: point.legend!,\n dataForHoverCard: pointData,\n color: color,\n xCalloutValue: point.xAxisCalloutData!,\n yCalloutValue: point.yAxisCalloutData!,\n dataPointCalloutProps: point,\n callOutAccessibilityData: point.callOutAccessibilityData!,\n });\n }\n }\n\n private _onBarLeave(): void {\n /**/\n }\n\n private _handleChartMouseLeave = () => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _redirectToUrl(href: string | undefined): void {\n href ? (window.location.href = href) : '';\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: IChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue = point.yAxisCalloutData || point.data || 0;\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n\n private _computeLongestBarTotalValue = () => {\n let longestBarTotalValue = 0;\n this.props.data!.forEach(({ chartData }) => {\n const barTotalValue = chartData!.reduce(\n (acc: number, point: IChartDataPoint) => acc + (point.data ? point.data : 0),\n 0,\n );\n longestBarTotalValue = Math.max(longestBarTotalValue, barTotalValue);\n });\n return longestBarTotalValue;\n };\n}\n"]}
@@ -8,7 +8,7 @@ var index_1 = require("../Legends/index");
8
8
  var Callout_1 = require("@fluentui/react/lib/Callout");
9
9
  var react_focus_1 = require("@fluentui/react-focus");
10
10
  var index_2 = require("../../utilities/index");
11
- var react_1 = require("@fluentui/react");
11
+ var FocusableTooltipText_1 = require("../../utilities/FocusableTooltipText");
12
12
  var getClassNames = Utilities_1.classNamesFunction();
13
13
  var StackedBarChartBase = /** @class */ (function (_super) {
14
14
  tslib_1.__extends(StackedBarChartBase, _super);
@@ -104,12 +104,11 @@ var StackedBarChartBase = /** @class */ (function (_super) {
104
104
  return (React.createElement("div", { className: this._classNames.root, onMouseLeave: this._handleChartMouseLeave },
105
105
  React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal },
106
106
  React.createElement("div", { className: this._classNames.chartTitle },
107
- data.chartTitle && (React.createElement(react_1.TooltipHost, { overflowMode: react_1.TooltipOverflowMode.Self, hostClassName: this._classNames.chartTitleLeft, content: data.chartTitle },
108
- React.createElement("span", tslib_1.__assign({}, index_2.getAccessibleDataObject(data.chartTitleAccessibilityData)), data.chartTitle))),
109
- showRatio && (React.createElement("div", tslib_1.__assign({}, index_2.getAccessibleDataObject(data.chartDataAccessibilityData)),
107
+ data.chartTitle && (React.createElement(FocusableTooltipText_1.FocusableTooltipText, { className: this._classNames.chartTitleLeft, content: data.chartTitle, accessibilityData: data.chartTitleAccessibilityData })),
108
+ showRatio && (React.createElement("div", tslib_1.__assign({}, index_2.getAccessibleDataObject(data.chartDataAccessibilityData, 'text', false)),
110
109
  React.createElement("span", { className: this._classNames.ratioNumerator }, getChartData()),
111
110
  !this.props.hideDenominator && (React.createElement("span", { className: this._classNames.ratioDenominator }, ' / ' + index_2.convertToLocaleString(total, culture))))),
112
- showNumber && (React.createElement("div", tslib_1.__assign({ className: this._classNames.ratioNumerator }, index_2.getAccessibleDataObject(data.chartDataAccessibilityData)), getChartData()))),
111
+ showNumber && (React.createElement("div", tslib_1.__assign({ className: this._classNames.ratioNumerator }, index_2.getAccessibleDataObject(data.chartDataAccessibilityData, 'text', false)), getChartData()))),
113
112
  (benchmarkData || targetData) && (React.createElement("div", { className: this._classNames.benchmarkContainer },
114
113
  benchmarkData && React.createElement("div", { className: this._classNames.benchmark, role: "text" }),
115
114
  targetData && React.createElement("div", { className: this._classNames.target, role: "text" })))),