@fluentui/react-charting 5.16.36 → 5.16.38

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 (403) hide show
  1. package/CHANGELOG.json +43 -1
  2. package/CHANGELOG.md +22 -2
  3. package/dist/react-charting.js +1 -1
  4. package/dist/react-charting.min.js +1 -1
  5. package/lib/components/AreaChart/AreaChart.base.d.ts +1 -0
  6. package/lib/components/AreaChart/AreaChart.base.js +38 -27
  7. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  8. package/lib/components/CommonComponents/CartesianChart.base.js +2 -1
  9. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  10. package/lib/components/DonutChart/DonutChart.base.d.ts +1 -0
  11. package/lib/components/DonutChart/DonutChart.base.js +9 -2
  12. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  13. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  14. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +11 -2
  15. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  16. package/lib/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
  17. package/lib/components/HeatMapChart/HeatMapChart.base.js +10 -3
  18. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  19. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
  20. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js +9 -2
  21. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  22. package/lib/components/LineChart/LineChart.base.d.ts +2 -0
  23. package/lib/components/LineChart/LineChart.base.js +12 -2
  24. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  25. package/lib/components/PieChart/PieChart.base.d.ts +6 -1
  26. package/lib/components/PieChart/PieChart.base.js +17 -5
  27. package/lib/components/PieChart/PieChart.base.js.map +1 -1
  28. package/lib/components/SankeyChart/SankeyChart.base.d.ts +1 -0
  29. package/lib/components/SankeyChart/SankeyChart.base.js +48 -41
  30. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  31. package/lib/components/Sparkline/Sparkline.base.d.ts +1 -0
  32. package/lib/components/Sparkline/Sparkline.base.js +40 -30
  33. package/lib/components/Sparkline/Sparkline.base.js.map +1 -1
  34. package/lib/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
  35. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js +37 -25
  36. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  37. package/lib/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
  38. package/lib/components/StackedBarChart/StackedBarChart.base.js +68 -54
  39. package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  40. package/lib/components/TreeChart/TreeChart.base.js +2 -1
  41. package/lib/components/TreeChart/TreeChart.base.js.map +1 -1
  42. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
  43. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +39 -26
  44. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  45. package/lib/version.js +1 -1
  46. package/lib/version.js.map +1 -1
  47. package/lib-amd/AreaChart.js +1 -1
  48. package/lib-amd/AreaChart.js.map +1 -1
  49. package/lib-amd/CartesianChart.js +1 -1
  50. package/lib-amd/CartesianChart.js.map +1 -1
  51. package/lib-amd/DonutChart.js +1 -1
  52. package/lib-amd/DonutChart.js.map +1 -1
  53. package/lib-amd/GroupedVerticalBarChart.js +1 -1
  54. package/lib-amd/GroupedVerticalBarChart.js.map +1 -1
  55. package/lib-amd/HeatMapChart.js +1 -1
  56. package/lib-amd/HeatMapChart.js.map +1 -1
  57. package/lib-amd/HorizontalBarChart.js +1 -1
  58. package/lib-amd/HorizontalBarChart.js.map +1 -1
  59. package/lib-amd/HorizontalBarChartWithAxis.js +1 -1
  60. package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -1
  61. package/lib-amd/Legends.js +1 -1
  62. package/lib-amd/Legends.js.map +1 -1
  63. package/lib-amd/LineChart.js +1 -1
  64. package/lib-amd/LineChart.js.map +1 -1
  65. package/lib-amd/PieChart.js +1 -1
  66. package/lib-amd/PieChart.js.map +1 -1
  67. package/lib-amd/SankeyChart.js +1 -1
  68. package/lib-amd/SankeyChart.js.map +1 -1
  69. package/lib-amd/Sparkline.js +1 -1
  70. package/lib-amd/Sparkline.js.map +1 -1
  71. package/lib-amd/StackedBarChart.js +1 -1
  72. package/lib-amd/StackedBarChart.js.map +1 -1
  73. package/lib-amd/TreeChart.js +1 -1
  74. package/lib-amd/TreeChart.js.map +1 -1
  75. package/lib-amd/VerticalBarChart.js +1 -1
  76. package/lib-amd/VerticalBarChart.js.map +1 -1
  77. package/lib-amd/VerticalStackedBarChart.js +1 -1
  78. package/lib-amd/VerticalStackedBarChart.js.map +1 -1
  79. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +1 -0
  80. package/lib-amd/components/AreaChart/AreaChart.base.js +46 -35
  81. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  82. package/lib-amd/components/AreaChart/AreaChart.styles.js +1 -1
  83. package/lib-amd/components/AreaChart/AreaChart.styles.js.map +1 -1
  84. package/lib-amd/components/AreaChart/index.js +2 -2
  85. package/lib-amd/components/AreaChart/index.js.map +1 -1
  86. package/lib-amd/components/CommonComponents/CartesianChart.base.js +13 -12
  87. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  88. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +3 -3
  89. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  90. package/lib-amd/components/CommonComponents/index.js +2 -2
  91. package/lib-amd/components/CommonComponents/index.js.map +1 -1
  92. package/lib-amd/components/DonutChart/Arc/Arc.js +1 -1
  93. package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -1
  94. package/lib-amd/components/DonutChart/Arc/index.js +2 -2
  95. package/lib-amd/components/DonutChart/Arc/index.js.map +1 -1
  96. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +1 -0
  97. package/lib-amd/components/DonutChart/DonutChart.base.js +13 -6
  98. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
  99. package/lib-amd/components/DonutChart/Pie/Pie.js +1 -1
  100. package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -1
  101. package/lib-amd/components/DonutChart/Pie/index.js +2 -2
  102. package/lib-amd/components/DonutChart/Pie/index.js.map +1 -1
  103. package/lib-amd/components/DonutChart/index.js +3 -3
  104. package/lib-amd/components/DonutChart/index.js.map +1 -1
  105. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  106. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +16 -7
  107. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  108. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +1 -1
  109. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  110. package/lib-amd/components/GroupedVerticalBarChart/index.js +2 -2
  111. package/lib-amd/components/GroupedVerticalBarChart/index.js.map +1 -1
  112. package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
  113. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +15 -8
  114. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  115. package/lib-amd/components/HeatMapChart/index.js +2 -2
  116. package/lib-amd/components/HeatMapChart/index.js.map +1 -1
  117. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
  118. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +14 -7
  119. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  120. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +2 -2
  121. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  122. package/lib-amd/components/HorizontalBarChart/index.js +3 -3
  123. package/lib-amd/components/HorizontalBarChart/index.js.map +1 -1
  124. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +6 -6
  125. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  126. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +1 -1
  127. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  128. package/lib-amd/components/HorizontalBarChartWithAxis/index.js +2 -2
  129. package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  130. package/lib-amd/components/Legends/Legends.base.js +11 -11
  131. package/lib-amd/components/Legends/Legends.base.js.map +1 -1
  132. package/lib-amd/components/Legends/Legends.styles.js +2 -2
  133. package/lib-amd/components/Legends/Legends.styles.js.map +1 -1
  134. package/lib-amd/components/Legends/index.js +3 -3
  135. package/lib-amd/components/Legends/index.js.map +1 -1
  136. package/lib-amd/components/Legends/shape.js +2 -2
  137. package/lib-amd/components/Legends/shape.js.map +1 -1
  138. package/lib-amd/components/LineChart/LineChart.base.d.ts +2 -0
  139. package/lib-amd/components/LineChart/LineChart.base.js +26 -16
  140. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
  141. package/lib-amd/components/LineChart/LineChart.styles.js +1 -1
  142. package/lib-amd/components/LineChart/LineChart.styles.js.map +1 -1
  143. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +2 -2
  144. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  145. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +2 -2
  146. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  147. package/lib-amd/components/LineChart/index.js +3 -3
  148. package/lib-amd/components/LineChart/index.js.map +1 -1
  149. package/lib-amd/components/PieChart/Arc/Arc.js +2 -2
  150. package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -1
  151. package/lib-amd/components/PieChart/Arc/index.js +2 -2
  152. package/lib-amd/components/PieChart/Arc/index.js.map +1 -1
  153. package/lib-amd/components/PieChart/Pie/Pie.js +1 -1
  154. package/lib-amd/components/PieChart/Pie/Pie.js.map +1 -1
  155. package/lib-amd/components/PieChart/Pie/index.js +2 -2
  156. package/lib-amd/components/PieChart/Pie/index.js.map +1 -1
  157. package/lib-amd/components/PieChart/PieChart.base.d.ts +6 -1
  158. package/lib-amd/components/PieChart/PieChart.base.js +17 -5
  159. package/lib-amd/components/PieChart/PieChart.base.js.map +1 -1
  160. package/lib-amd/components/PieChart/PieChart.styles.js +1 -1
  161. package/lib-amd/components/PieChart/PieChart.styles.js.map +1 -1
  162. package/lib-amd/components/PieChart/index.js +2 -2
  163. package/lib-amd/components/PieChart/index.js.map +1 -1
  164. package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +1 -0
  165. package/lib-amd/components/SankeyChart/SankeyChart.base.js +49 -42
  166. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -1
  167. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +1 -1
  168. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  169. package/lib-amd/components/SankeyChart/index.js +2 -2
  170. package/lib-amd/components/SankeyChart/index.js.map +1 -1
  171. package/lib-amd/components/Sparkline/Sparkline.base.d.ts +1 -0
  172. package/lib-amd/components/Sparkline/Sparkline.base.js +40 -30
  173. package/lib-amd/components/Sparkline/Sparkline.base.js.map +1 -1
  174. package/lib-amd/components/Sparkline/Sparkline.styles.js +1 -1
  175. package/lib-amd/components/Sparkline/Sparkline.styles.js.map +1 -1
  176. package/lib-amd/components/Sparkline/index.js +2 -2
  177. package/lib-amd/components/Sparkline/index.js.map +1 -1
  178. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
  179. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +41 -29
  180. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  181. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +1 -1
  182. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  183. package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
  184. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +70 -56
  185. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  186. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +1 -1
  187. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  188. package/lib-amd/components/StackedBarChart/index.js +5 -5
  189. package/lib-amd/components/StackedBarChart/index.js.map +1 -1
  190. package/lib-amd/components/TreeChart/TreeChart.base.js +4 -3
  191. package/lib-amd/components/TreeChart/TreeChart.base.js.map +1 -1
  192. package/lib-amd/components/TreeChart/TreeChart.styles.js +4 -4
  193. package/lib-amd/components/TreeChart/TreeChart.styles.js.map +1 -1
  194. package/lib-amd/components/TreeChart/index.js +2 -2
  195. package/lib-amd/components/TreeChart/index.js.map +1 -1
  196. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +6 -6
  197. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  198. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +1 -1
  199. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  200. package/lib-amd/components/VerticalBarChart/index.js +2 -2
  201. package/lib-amd/components/VerticalBarChart/index.js.map +1 -1
  202. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
  203. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +49 -36
  204. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  205. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +1 -1
  206. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  207. package/lib-amd/components/VerticalStackedBarChart/index.js +2 -2
  208. package/lib-amd/components/VerticalStackedBarChart/index.js.map +1 -1
  209. package/lib-amd/index.js +19 -19
  210. package/lib-amd/index.js.map +1 -1
  211. package/lib-amd/types/index.js +2 -2
  212. package/lib-amd/types/index.js.map +1 -1
  213. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +1 -1
  214. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  215. package/lib-amd/utilities/ChartHoverCard/index.js +3 -3
  216. package/lib-amd/utilities/ChartHoverCard/index.js.map +1 -1
  217. package/lib-amd/utilities/FocusableTooltipText.js +2 -2
  218. package/lib-amd/utilities/FocusableTooltipText.js.map +1 -1
  219. package/lib-amd/utilities/index.js +3 -3
  220. package/lib-amd/utilities/index.js.map +1 -1
  221. package/lib-amd/utilities/utilities.js +4 -4
  222. package/lib-amd/utilities/utilities.js.map +1 -1
  223. package/lib-amd/version.js +1 -1
  224. package/lib-amd/version.js.map +1 -1
  225. package/lib-commonjs/AreaChart.js +1 -1
  226. package/lib-commonjs/AreaChart.js.map +1 -1
  227. package/lib-commonjs/CartesianChart.js +1 -1
  228. package/lib-commonjs/CartesianChart.js.map +1 -1
  229. package/lib-commonjs/DonutChart.js +1 -1
  230. package/lib-commonjs/DonutChart.js.map +1 -1
  231. package/lib-commonjs/GroupedVerticalBarChart.js +1 -1
  232. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
  233. package/lib-commonjs/HeatMapChart.js +1 -1
  234. package/lib-commonjs/HeatMapChart.js.map +1 -1
  235. package/lib-commonjs/HorizontalBarChart.js +1 -1
  236. package/lib-commonjs/HorizontalBarChart.js.map +1 -1
  237. package/lib-commonjs/HorizontalBarChartWithAxis.js +1 -1
  238. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
  239. package/lib-commonjs/Legends.js +1 -1
  240. package/lib-commonjs/Legends.js.map +1 -1
  241. package/lib-commonjs/LineChart.js +1 -1
  242. package/lib-commonjs/LineChart.js.map +1 -1
  243. package/lib-commonjs/PieChart.js +1 -1
  244. package/lib-commonjs/PieChart.js.map +1 -1
  245. package/lib-commonjs/SankeyChart.js +1 -1
  246. package/lib-commonjs/SankeyChart.js.map +1 -1
  247. package/lib-commonjs/Sparkline.js +1 -1
  248. package/lib-commonjs/Sparkline.js.map +1 -1
  249. package/lib-commonjs/StackedBarChart.js +1 -1
  250. package/lib-commonjs/StackedBarChart.js.map +1 -1
  251. package/lib-commonjs/TreeChart.js +1 -1
  252. package/lib-commonjs/TreeChart.js.map +1 -1
  253. package/lib-commonjs/VerticalBarChart.js +1 -1
  254. package/lib-commonjs/VerticalBarChart.js.map +1 -1
  255. package/lib-commonjs/VerticalStackedBarChart.js +1 -1
  256. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
  257. package/lib-commonjs/components/AreaChart/AreaChart.base.d.ts +1 -0
  258. package/lib-commonjs/components/AreaChart/AreaChart.base.js +46 -35
  259. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  260. package/lib-commonjs/components/AreaChart/AreaChart.styles.js +1 -1
  261. package/lib-commonjs/components/AreaChart/AreaChart.styles.js.map +1 -1
  262. package/lib-commonjs/components/AreaChart/index.js +2 -2
  263. package/lib-commonjs/components/AreaChart/index.js.map +1 -1
  264. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +13 -12
  265. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  266. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +3 -3
  267. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  268. package/lib-commonjs/components/CommonComponents/index.js +2 -2
  269. package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
  270. package/lib-commonjs/components/DonutChart/Arc/Arc.js +1 -1
  271. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  272. package/lib-commonjs/components/DonutChart/Arc/index.js +2 -2
  273. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
  274. package/lib-commonjs/components/DonutChart/DonutChart.base.d.ts +1 -0
  275. package/lib-commonjs/components/DonutChart/DonutChart.base.js +13 -6
  276. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  277. package/lib-commonjs/components/DonutChart/Pie/Pie.js +1 -1
  278. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  279. package/lib-commonjs/components/DonutChart/Pie/index.js +2 -2
  280. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
  281. package/lib-commonjs/components/DonutChart/index.js +3 -3
  282. package/lib-commonjs/components/DonutChart/index.js.map +1 -1
  283. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  284. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +16 -7
  285. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  286. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +1 -1
  287. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  288. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +2 -2
  289. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
  290. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
  291. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js +15 -8
  292. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  293. package/lib-commonjs/components/HeatMapChart/index.js +2 -2
  294. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
  295. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
  296. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js +14 -7
  297. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  298. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js +2 -2
  299. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  300. package/lib-commonjs/components/HorizontalBarChart/index.js +3 -3
  301. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
  302. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +6 -6
  303. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  304. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +1 -1
  305. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  306. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +2 -2
  307. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  308. package/lib-commonjs/components/Legends/Legends.base.js +11 -11
  309. package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
  310. package/lib-commonjs/components/Legends/Legends.styles.js +2 -2
  311. package/lib-commonjs/components/Legends/Legends.styles.js.map +1 -1
  312. package/lib-commonjs/components/Legends/index.js +3 -3
  313. package/lib-commonjs/components/Legends/index.js.map +1 -1
  314. package/lib-commonjs/components/Legends/shape.js +2 -2
  315. package/lib-commonjs/components/Legends/shape.js.map +1 -1
  316. package/lib-commonjs/components/LineChart/LineChart.base.d.ts +2 -0
  317. package/lib-commonjs/components/LineChart/LineChart.base.js +26 -16
  318. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  319. package/lib-commonjs/components/LineChart/LineChart.styles.js +1 -1
  320. package/lib-commonjs/components/LineChart/LineChart.styles.js.map +1 -1
  321. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +2 -2
  322. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  323. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +2 -2
  324. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  325. package/lib-commonjs/components/LineChart/index.js +3 -3
  326. package/lib-commonjs/components/LineChart/index.js.map +1 -1
  327. package/lib-commonjs/components/PieChart/Arc/Arc.js +2 -2
  328. package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
  329. package/lib-commonjs/components/PieChart/Arc/index.js +2 -2
  330. package/lib-commonjs/components/PieChart/Arc/index.js.map +1 -1
  331. package/lib-commonjs/components/PieChart/Pie/Pie.js +1 -1
  332. package/lib-commonjs/components/PieChart/Pie/Pie.js.map +1 -1
  333. package/lib-commonjs/components/PieChart/Pie/index.js +2 -2
  334. package/lib-commonjs/components/PieChart/Pie/index.js.map +1 -1
  335. package/lib-commonjs/components/PieChart/PieChart.base.d.ts +6 -1
  336. package/lib-commonjs/components/PieChart/PieChart.base.js +17 -5
  337. package/lib-commonjs/components/PieChart/PieChart.base.js.map +1 -1
  338. package/lib-commonjs/components/PieChart/PieChart.styles.js +1 -1
  339. package/lib-commonjs/components/PieChart/PieChart.styles.js.map +1 -1
  340. package/lib-commonjs/components/PieChart/index.js +2 -2
  341. package/lib-commonjs/components/PieChart/index.js.map +1 -1
  342. package/lib-commonjs/components/SankeyChart/SankeyChart.base.d.ts +1 -0
  343. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js +49 -42
  344. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  345. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js +1 -1
  346. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  347. package/lib-commonjs/components/SankeyChart/index.js +2 -2
  348. package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
  349. package/lib-commonjs/components/Sparkline/Sparkline.base.d.ts +1 -0
  350. package/lib-commonjs/components/Sparkline/Sparkline.base.js +40 -30
  351. package/lib-commonjs/components/Sparkline/Sparkline.base.js.map +1 -1
  352. package/lib-commonjs/components/Sparkline/Sparkline.styles.js +1 -1
  353. package/lib-commonjs/components/Sparkline/Sparkline.styles.js.map +1 -1
  354. package/lib-commonjs/components/Sparkline/index.js +2 -2
  355. package/lib-commonjs/components/Sparkline/index.js.map +1 -1
  356. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
  357. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js +41 -29
  358. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  359. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js +1 -1
  360. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  361. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
  362. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js +70 -56
  363. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  364. package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js +1 -1
  365. package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  366. package/lib-commonjs/components/StackedBarChart/index.js +5 -5
  367. package/lib-commonjs/components/StackedBarChart/index.js.map +1 -1
  368. package/lib-commonjs/components/TreeChart/TreeChart.base.js +4 -3
  369. package/lib-commonjs/components/TreeChart/TreeChart.base.js.map +1 -1
  370. package/lib-commonjs/components/TreeChart/TreeChart.styles.js +4 -4
  371. package/lib-commonjs/components/TreeChart/TreeChart.styles.js.map +1 -1
  372. package/lib-commonjs/components/TreeChart/index.js +2 -2
  373. package/lib-commonjs/components/TreeChart/index.js.map +1 -1
  374. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +6 -6
  375. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  376. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js +1 -1
  377. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  378. package/lib-commonjs/components/VerticalBarChart/index.js +2 -2
  379. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
  380. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
  381. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +49 -36
  382. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  383. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +1 -1
  384. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  385. package/lib-commonjs/components/VerticalStackedBarChart/index.js +2 -2
  386. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
  387. package/lib-commonjs/index.js +19 -19
  388. package/lib-commonjs/index.js.map +1 -1
  389. package/lib-commonjs/types/index.js +2 -2
  390. package/lib-commonjs/types/index.js.map +1 -1
  391. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js +1 -1
  392. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  393. package/lib-commonjs/utilities/ChartHoverCard/index.js +3 -3
  394. package/lib-commonjs/utilities/ChartHoverCard/index.js.map +1 -1
  395. package/lib-commonjs/utilities/FocusableTooltipText.js +2 -2
  396. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  397. package/lib-commonjs/utilities/index.js +3 -3
  398. package/lib-commonjs/utilities/index.js.map +1 -1
  399. package/lib-commonjs/utilities/utilities.js +4 -4
  400. package/lib-commonjs/utilities/utilities.js.map +1 -1
  401. package/lib-commonjs/version.js +1 -1
  402. package/lib-commonjs/version.js.map +1 -1
  403. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyChart.base.js","sourceRoot":"../src/","sources":["components/SankeyChart/SankeyChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, getId, getRTL, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport { ISankeyChartData, ISankeyChartProps, ISankeyChartStyleProps, ISankeyChartStyles } from './SankeyChart.types';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport * as d3Sankey from 'd3-sankey';\nimport { area as d3Area, curveBumpX as d3CurveBasis } from 'd3-shape';\nimport { sum as d3Sum } from 'd3-array';\nimport { ChartHoverCard, IBasestate, IChartHoverCardProps, SLink, SNode } from '../../index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { select, selectAll } from 'd3-selection';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '@fluentui/react-focus';\nimport { IMargins } from '../../utilities/utilities';\n\nconst getClassNames = classNamesFunction<ISankeyChartStyleProps, ISankeyChartStyles>();\nconst PADDING_PERCENTAGE = 0.3;\n\ntype NodesInColumns = { [key: number]: SNode[] };\ntype NodeColors = { fillColor: string; borderColor: string };\n\nexport interface ISankeyChartState extends IBasestate, IChartHoverCardProps {\n containerWidth: number;\n containerHeight: number;\n selectedState: boolean;\n selectedLinks: Set<Number>;\n selectedNodes: Set<Number>;\n selectedNode?: SNode;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedLink?: SLink;\n shouldOverflow: boolean;\n}\n\nconst NON_SELECTED_NODE_AND_STREAM_COLOR: string = '#757575';\nconst DEFAULT_NODE_COLORS: NodeColors[] = [\n { fillColor: '#00758F', borderColor: '#002E39' },\n { fillColor: '#77004D', borderColor: '#43002C' },\n { fillColor: '#4F6BED', borderColor: '#3B52B4' },\n { fillColor: '#937600', borderColor: '#6D5700' },\n { fillColor: '#286EA8', borderColor: '#00457E' },\n { fillColor: '#A43FB1', borderColor: '#7C158A' },\n { fillColor: '#CC3595', borderColor: '#7F215D' },\n { fillColor: '#0E7878', borderColor: '#004E4E' },\n { fillColor: '#8764B8', borderColor: '#4B3867' },\n { fillColor: '#9C663F', borderColor: '#6D4123' },\n];\n\nconst MIN_HEIGHT_FOR_DOUBLINE_TYPE = 36;\nconst MIN_HEIGHT_FOR_TYPE = 24;\nconst REST_STREAM_OPACITY: number = 1;\nconst NON_SELECTED_OPACITY: number = 1;\nconst SELECTED_STREAM_OPACITY: number = 0.3;\nconst NON_SELECTED_STREAM_BORDER_OPACITY: number = 0.5;\nconst DEFAULT_TEXT_COLOR: string = '#323130';\nconst NON_SELECTED_TEXT_COLOR: string = '#FFFFFF';\n\nexport class SankeyChartBase extends React.Component<ISankeyChartProps, ISankeyChartState> {\n private _classNames: IProcessedStyleSet<ISankeyChartStyles>;\n private chartContainer: HTMLDivElement;\n private _reqID: number;\n private _calloutId: string;\n private _linkId: string;\n private _nodesInColumn: NodesInColumns;\n private _sankey: d3Sankey.SankeyLayout<d3Sankey.SankeyGraph<{}, {}>, {}, {}>;\n private _margins: IMargins;\n private _isRtl: boolean = getRTL();\n private _normalizeData: (data: ISankeyChartData) => void;\n\n constructor(props: ISankeyChartProps) {\n super(props);\n this.state = {\n containerHeight: 468,\n containerWidth: 912,\n selectedState: false,\n selectedLinks: new Set<number>(),\n selectedNodes: new Set<number>(),\n shouldOverflow: false,\n isCalloutVisible: false,\n };\n this._calloutId = getId('callout');\n this._linkId = getId('link');\n this._margins = { top: 36, right: 48, bottom: 32, left: 48 };\n this._preRenderLayout();\n this._normalizeData = memoizeFunction((data: ISankeyChartData) => this._normalizeSankeyData(data));\n }\n public componentDidMount(): void {\n this._fitParentContainer();\n }\n\n public componentDidUpdate(prevProps: ISankeyChartProps): void {\n if (prevProps.shouldResize !== this.props.shouldResize) {\n this._fitParentContainer();\n }\n }\n public componentWillUnmount(): void {\n cancelAnimationFrame(this._reqID);\n }\n public render(): React.ReactNode {\n const { theme, className, styles, pathColor } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n width: this.state.containerWidth,\n height: this.state.containerHeight,\n pathColor,\n className,\n });\n // We are using the this._margins.left and this._margins.top in sankey extent while constructing the layout\n const { height, width } = this._preRenderLayout();\n this._normalizeData(this.props.data.SankeyChartData!);\n let nodePadding = 8;\n nodePadding = this._adjustPadding(this._sankey, height - 6, this._nodesInColumn);\n\n this._sankey.nodePadding(nodePadding);\n this._sankey(this.props.data.SankeyChartData!);\n this._populateNodeActualValue(this.props.data.SankeyChartData!);\n this._assignNodeColors();\n const nodeData = this._createNodes(width);\n const linkData = this._createLinks();\n const calloutProps = {\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n target: this.state.refSelected,\n color: this.state.color,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n descriptionMessage: this.state.descriptionMessage,\n isBeakVisible: false,\n gapSpace: 15,\n onDismiss: this._onCloseCallout,\n className: this._classNames.calloutContentRoot,\n preventDismissOnLostFocus: true,\n };\n return (\n <div\n className={this._classNames.root}\n role={'presentation'}\n ref={(rootElem: HTMLDivElement) => (this.chartContainer = rootElem)}\n onMouseLeave={this._onCloseCallout}\n >\n <FocusZone\n direction={FocusZoneDirection.bidirectional}\n isCircularNavigation={true}\n handleTabKey={FocusZoneTabbableElements.all}\n >\n <svg width={width} height={height} id={getId('sankeyChart')}>\n <g className={this._classNames.links} strokeOpacity={1}>\n {linkData}\n </g>\n <g className={this._classNames.nodes}>{nodeData}</g>\n {calloutProps.isCalloutVisible && (\n <Callout {...calloutProps}>\n <ChartHoverCard\n XValue={calloutProps.XValue}\n YValue={calloutProps.YValue}\n color={calloutProps.color}\n descriptionMessage={calloutProps.descriptionMessage ? calloutProps.descriptionMessage : ''}\n />\n </Callout>\n )}\n </svg>\n </FocusZone>\n </div>\n );\n }\n\n private _preRenderLayout(): { height: number; width: number } {\n const width = this.state.containerWidth - this._margins.right!;\n const height =\n this.state.containerHeight - this._margins.bottom! > 0 ? this.state.containerHeight - this._margins.bottom! : 0;\n\n this._sankey = d3Sankey\n .sankey()\n .nodeWidth(124)\n .extent([\n [this._margins.left!, this._margins.top!],\n [width - 1, height - 6],\n ])\n .nodeAlign(this._isRtl ? d3Sankey.sankeyRight : d3Sankey.sankeyJustify);\n\n return { height, width };\n }\n\n /**\n * This is used for calculating the node non normalized value based on link non normalized value.\n *\n */\n private _populateNodeActualValue(data: ISankeyChartData) {\n data.links.forEach((link: SLink) => {\n if (!link.unnormalizedValue) {\n link.unnormalizedValue = link.value;\n }\n });\n data.nodes.forEach((node: SNode) => {\n node.actualValue = Math.max(\n d3Sum(node.sourceLinks!, (link: SLink) => link.unnormalizedValue),\n d3Sum(node.targetLinks!, (link: SLink) => link.unnormalizedValue),\n );\n });\n }\n\n private _normalizeSankeyData(data: ISankeyChartData): void {\n this._nodesInColumn = this._populateNodeInColumns(data, this._sankey);\n this._adjustOnePercentHeightNodes(this._nodesInColumn);\n }\n /**\n *\n * This is used to group nodes by column index.\n */\n private _populateNodeInColumns(\n graph: ISankeyChartData,\n sankey: d3Sankey.SankeyLayout<d3Sankey.SankeyGraph<{}, {}>, {}, {}>,\n ) {\n sankey(graph);\n const nodesInColumn: NodesInColumns = {};\n graph.nodes.forEach((node: SNode) => {\n const columnId = node.layer!;\n if (nodesInColumn[columnId]) {\n nodesInColumn[columnId].push(node);\n } else {\n nodesInColumn[columnId] = [node];\n }\n });\n return nodesInColumn;\n }\n\n /**\n * This is used to normalize the nodes value whose value is less than 1% of the total column value.\n *\n */\n private _adjustOnePercentHeightNodes(nodesInColumn: NodesInColumns) {\n const totalColumnValue = Object.values(nodesInColumn).map((column: SNode[]) => {\n return d3Sum(column, (node: SNode) => node.value);\n });\n totalColumnValue.forEach((columnValue: number, index: number) => {\n let totalPercentage = 0;\n nodesInColumn[index].forEach((node: SNode) => {\n const nodePercentage = (node.value! / columnValue) * 100;\n node.actualValue = node.value;\n //if the value is less than 1% then we are making it as 1% of total .\n if (nodePercentage < 1) {\n node.value = 0.01 * columnValue;\n totalPercentage = totalPercentage + 1;\n } else {\n totalPercentage = totalPercentage + nodePercentage;\n }\n });\n //since we have adjusted the value to be 1% but we need to keep the sum of the percentage value under 100.\n const scalingRatio = totalPercentage !== 0 ? totalPercentage / 100 : 1;\n if (scalingRatio > 1) {\n nodesInColumn[index].forEach((node: SNode) => {\n node.value = node.value! / scalingRatio;\n this._changeColumnValue(node, node.actualValue!, node.value);\n });\n }\n });\n }\n\n /**\n *\n * This is used for normalizing each links value for reflecting the normalized node value.\n */\n private _changeColumnValue(node: SNode, originalValue: number, normalizedValue: number) {\n node.sourceLinks!.forEach((link: SLink) => {\n link.unnormalizedValue = link.value;\n const linkRatio = link.value / originalValue;\n link.value = normalizedValue * linkRatio;\n });\n node.targetLinks!.forEach((link: SLink) => {\n link.unnormalizedValue = link.value;\n const linkRatio = link.value / originalValue;\n link.value = normalizedValue * linkRatio;\n });\n }\n\n /**\n *\n * This is used to introduce dynamic padding for cases where the number of nodes in a column is huge\n * so that we maintain a node to space ratio for such columns as if we fail to do so the\n * chart is devoid of nodes and only shows links.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _adjustPadding(sankey: any, height: number, nodesInColumn: NodesInColumns) {\n let padding = this._sankey.nodePadding();\n Object.values(nodesInColumn).forEach((column: SNode[]) => {\n const minPadding = PADDING_PERCENTAGE * height;\n const toatlPaddingInColumn = height - d3Sum(column, (node: SNode) => node.y1! - node.y0!);\n if (minPadding < toatlPaddingInColumn) {\n //Here we are calculating the min of default and calculated padding, we will not increase the padding\n //in any scenario.\n padding = Math.min(padding, minPadding / (column.length - 1));\n }\n });\n return padding;\n }\n\n private _createLinks(): React.ReactNode[] | undefined {\n const links: React.ReactNode[] = [];\n\n if (this.props.data.SankeyChartData) {\n this.props.data.SankeyChartData.links.forEach((singleLink: SLink, index: number) => {\n const onMouseOut = () => {\n this._onStreamLeave(singleLink);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const data = (d: any) => {\n return [\n { x: d.source.x1, y0: d.y0 + d.width / 2, y1: d.y0 - d.width / 2 },\n { x: d.target.x0, y0: d.y1 + d.width / 2, y1: d.y1 - d.width / 2 },\n ];\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dataPoints: Array<any> = data(singleLink);\n const linkArea = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((p: any) => p.x)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((p: any) => p.y0)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((p: any) => p.y1)\n .curve(d3CurveBasis);\n const gradientUrl = `url(#gradient-${this._linkId}-${index})`;\n const link = (\n <g key={`${this._linkId}-${index}`}>\n <defs>\n <linearGradient id={`gradient-${this._linkId}-${index}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0\" stopColor={(singleLink.source as SNode).color} />\n <stop offset=\"100%\" stopColor={(singleLink.target as SNode).color} />\n </linearGradient>\n </defs>\n <path\n d={linkArea(dataPoints)!}\n id={getId('link')}\n fill={this._fillStreamColors(singleLink, gradientUrl)}\n stroke={this._fillStreamBorder(singleLink, gradientUrl)}\n strokeWidth=\"2\"\n strokeOpacity={this._getOpacityStreamBorder(singleLink)}\n onMouseOver={this._onStreamHover.bind(this, singleLink)}\n onMouseOut={onMouseOut}\n onFocus={this._onFocusLink.bind(this, singleLink)}\n onBlur={this._onBlur}\n fillOpacity={this._getOpacityStream(singleLink)}\n data-is-focusable={true}\n aria-label={\n 'link from' +\n (singleLink.source as SNode).name +\n 'to' +\n (singleLink.target as SNode).name +\n 'with weight' +\n singleLink!.unnormalizedValue\n }\n role=\"img\"\n />\n </g>\n );\n links.push(link);\n });\n }\n return links;\n }\n\n private _createNodes(width: number): React.ReactNode[] | undefined {\n const nodes: React.ReactNode[] = [];\n\n if (this.props.data.SankeyChartData) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.props.data.SankeyChartData.nodes.forEach((singleNode: SNode, index: number) => {\n const onMouseOut = () => {\n this._onLeave(singleNode);\n };\n const height = singleNode.y1! - singleNode.y0! > 0 ? singleNode.y1! - singleNode.y0! : 0;\n let padding = 8;\n let textLengthForNodeWeight = 0;\n\n // If the nodeWeight is in the same line as node description an extra padding\n // of 6 px is required between node description and node weight.\n if (height < MIN_HEIGHT_FOR_DOUBLINE_TYPE) {\n padding = padding + 6;\n const tspan = select('.nodeName').append('text').attr('class', 'tempText').append('tspan').text(null);\n tspan.text(singleNode.actualValue!);\n if (tspan.node() !== null) {\n textLengthForNodeWeight = tspan.node()!.getComputedTextLength();\n padding = padding + textLengthForNodeWeight;\n }\n tspan.text(null);\n selectAll('.tempText').remove();\n }\n // Since the total width of the node is 124 and we are giving margin of 8px from the left .\n //So the actual value on which it will be truncated is 124-8=116.\n const truncatedname: string = this._truncateText(singleNode.name, 116, padding);\n const isTruncated: boolean = truncatedname.slice(-3) === '...';\n const id = getId('tooltip');\n const div = select('body')\n .append('div')\n .attr('id', id)\n .attr('class', this._classNames.toolTip!)\n .style('opacity', 0);\n const nodeId = getId('nodeBar');\n const node = (\n <g key={index} id={getId('nodeGElement')}>\n <rect\n x={singleNode.x0}\n y={singleNode.y0}\n height={height}\n width={singleNode.x1! - singleNode.x0!}\n fill={this._fillNodeColors(singleNode)}\n id={nodeId}\n onMouseOver={this._onHover.bind(this, singleNode)}\n onMouseOut={onMouseOut}\n onFocus={this._onCloseCallout.bind(this)}\n stroke={this._fillNodeBorder(singleNode)}\n strokeWidth=\"2\"\n opacity=\"1\"\n data-is-focusable={true}\n aria-label={'node' + `${singleNode.name}` + 'with weight' + `${singleNode.actualValue}`}\n role=\"img\"\n />\n {singleNode.y1! - singleNode.y0! > MIN_HEIGHT_FOR_TYPE && (\n <g className={this._classNames.nodeTextContainer}>\n <g className=\"nodeName\">\n <text\n id={`${nodeId}-name`}\n x={singleNode.x0}\n y={singleNode.y0}\n dy={'1.2em'}\n dx={'0.4em'}\n textAnchor={this._isRtl ? 'end' : 'start'}\n fontWeight=\"regular\"\n aria-hidden=\"true\"\n fill={\n !(\n !this.state.selectedState ||\n (this.state.selectedState &&\n this.state.selectedNodes.has(singleNode.index!) &&\n this.state.selectedNode) ||\n (this.state.selectedState && !this.state.selectedNode)\n )\n ? DEFAULT_TEXT_COLOR\n : NON_SELECTED_TEXT_COLOR\n }\n fontSize={10}\n onMouseOver={this._showTooltip.bind(this, singleNode.name, isTruncated, div)}\n onMouseOut={this._hideTooltip.bind(this, div)}\n >\n {truncatedname}\n </text>\n </g>\n\n <text\n x={\n height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? singleNode.x0 : singleNode.x1! - textLengthForNodeWeight - 8\n }\n y={singleNode.y0}\n dy={height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? '2em' : '1em'}\n dx={height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? '0.4em' : '0em'}\n textAnchor={this._isRtl ? 'end' : 'start'}\n fontWeight=\"bold\"\n aria-hidden=\"true\"\n fill={\n !(\n !this.state.selectedState ||\n (this.state.selectedState &&\n this.state.selectedNodes.has(singleNode.index!) &&\n this.state.selectedNode) ||\n (this.state.selectedState && !this.state.selectedNode)\n )\n ? DEFAULT_TEXT_COLOR\n : NON_SELECTED_TEXT_COLOR\n }\n fontSize={14}\n >\n {singleNode.actualValue}\n </text>\n </g>\n )}\n </g>\n );\n nodes.push(node);\n });\n return nodes;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onLeave(singleNode: SNode) {\n if (this.state.selectedState) {\n this.setState({\n selectedState: false,\n selectedNodes: new Set<number>(),\n selectedLinks: new Set<number>(),\n selectedNode: undefined,\n });\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onHover(singleNode: SNode, mouseEvent: React.MouseEvent<SVGElement>) {\n mouseEvent.persist();\n this._onCloseCallout();\n if (!this.state.selectedState) {\n const selectedLinks = this._getSelectedLinks(singleNode);\n const selectedNodes = this._getSelectedNodes(selectedLinks);\n selectedNodes.push(singleNode);\n this.setState({\n selectedState: true,\n selectedNodes: new Set<number>(Array.from(selectedNodes).map(node => node.index)),\n selectedLinks: new Set<number>(Array.from(selectedLinks).map(link => link.index!)),\n selectedNode: singleNode,\n refSelected: mouseEvent, //this._refArray.get(index),\n isCalloutVisible: singleNode.y1! - singleNode.y0! < MIN_HEIGHT_FOR_TYPE,\n color: singleNode.color,\n xCalloutValue: singleNode.name,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yCalloutValue: singleNode.actualValue! as any as string,\n });\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onStreamHover(singleLink: SLink, mouseEvent: React.MouseEvent<SVGElement>) {\n mouseEvent.persist();\n this._onCloseCallout();\n if (!this.state.selectedState) {\n const { selectedLinks, selectedNodes } = this._getSelectedLinksforStreamHover(singleLink);\n this.setState({\n selectedState: true,\n selectedNodes: new Set<number>(Array.from(selectedNodes).map(node => node.index!)),\n selectedLinks: new Set<number>(Array.from(selectedLinks).map(link => link.index!)),\n refSelected: mouseEvent,\n selectedLink: singleLink,\n isCalloutVisible: true,\n color: (singleLink.source as SNode).color,\n xCalloutValue: (singleLink.target as SNode).name,\n yCalloutValue: singleLink.unnormalizedValue!.toString(),\n descriptionMessage: 'from ' + (singleLink.source as SNode).name,\n });\n }\n }\n\n private _onStreamLeave(singleLink: SLink) {\n if (this.state.selectedState) {\n this.setState({\n selectedState: false,\n selectedNodes: new Set<number>(),\n selectedLinks: new Set<number>(),\n selectedLink: undefined,\n });\n }\n }\n\n private _onFocusLink(singleLink: SLink, element: React.FocusEvent<SVGElement>): void {\n element.persist();\n this._onCloseCallout();\n this.setState({\n refSelected: element.currentTarget,\n selectedLink: singleLink,\n isCalloutVisible: true,\n color: (singleLink.source as SNode).color,\n xCalloutValue: (singleLink.target as SNode).name,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yCalloutValue: (singleLink.source as SNode).actualValue! as any as string,\n descriptionMessage: 'from ' + (singleLink.source as SNode).name,\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onCloseCallout = () => {\n this.setState({\n isCalloutVisible: false,\n refSelected: undefined,\n descriptionMessage: '',\n });\n };\n\n private _onBlur = (): void => {\n /**/\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillNodeColors = (singleNode: SNode): string | undefined => {\n if (!this.state.selectedState) {\n return singleNode.color;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!) && this.state.selectedNode) {\n return this.state.selectedNode.color;\n } else if (this.state.selectedState && !this.state.selectedNode) {\n return singleNode.color;\n }\n };\n\n /**\n * This is used to assign node fillcolors and borderColor cyclically when the user doesnt\n * provide color to individual node.\n */\n private _assignNodeColors() {\n let colors: string[];\n let borders: string[];\n if (this.props.colorsForNodes && this.props.borderColorsForNodes) {\n colors = this.props.colorsForNodes;\n borders = this.props.borderColorsForNodes;\n } else {\n colors = DEFAULT_NODE_COLORS.map(color => color.fillColor);\n borders = DEFAULT_NODE_COLORS.map(color => color.borderColor);\n }\n let currentIndex = 0;\n this.props.data.SankeyChartData!.nodes.forEach((node: SNode) => {\n if (!node.color && !node.borderColor) {\n node.color = colors[currentIndex];\n node.borderColor = borders[currentIndex];\n } else if (node.color && !node.borderColor) {\n node.borderColor = '#757575';\n } else if (node.borderColor && !node.color) {\n node.color = '#F5F5F5';\n }\n currentIndex = (currentIndex + 1) % colors.length;\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillStreamColors(singleLink: SLink, gradientUrl: string): string | undefined {\n if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!) && this.state.selectedNode) {\n return this.state.selectedNode.color;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!)) {\n return gradientUrl;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillStreamBorder(singleLink: SLink, gradientUrl: string): string {\n if (!this.state.selectedState) {\n return NON_SELECTED_NODE_AND_STREAM_COLOR;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!) && this.state.selectedNode) {\n return this.state.selectedNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!)) {\n return gradientUrl;\n }\n return NON_SELECTED_NODE_AND_STREAM_COLOR;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillNodeBorder = (singleNode: SNode): string => {\n if (!this.state.selectedState) {\n return singleNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!) && this.state.selectedNode) {\n return this.state.selectedNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!)) {\n return singleNode.borderColor!;\n }\n return singleNode.borderColor!;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedNodes(selectedLinks: Set<SLink>): any[] {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nodes: SNode[] = [];\n selectedLinks.forEach(link => {\n nodes.push(link.target as SNode);\n\n if (nodes.indexOf(link.source as SNode) === -1) {\n nodes.push(link.source as SNode);\n }\n });\n return nodes;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedLinks(singleNode: SNode): Set<SLink> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-array-constructor\n const q: any = new Array<any>();\n const finalLinks: Set<SLink> = new Set<SLink>();\n\n singleNode.sourceLinks!.forEach((link: SLink) => {\n q.push(link);\n finalLinks.add(link);\n });\n\n while (q.length > 0) {\n const poppedLink: SLink = q.shift();\n const node: SNode = poppedLink.target as SNode;\n if (node && node.sourceLinks) {\n node.sourceLinks.forEach((link: SLink) => {\n finalLinks.add(link);\n q.push(link);\n });\n }\n }\n\n if (singleNode.targetLinks) {\n singleNode.targetLinks.forEach((link: SLink) => {\n q.push(link);\n finalLinks.add(link);\n });\n }\n\n while (q.length > 0) {\n const poppedLink: SLink = q.shift();\n const node: SNode = poppedLink.source as SNode;\n if (node && node.targetLinks) {\n node.targetLinks.forEach((link: SLink) => {\n finalLinks.add(link);\n q.push(link);\n });\n }\n }\n\n return finalLinks;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedLinksforStreamHover(singleLink: SLink): { selectedLinks: Set<SLink>; selectedNodes: Set<SNode> } {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-array-constructor\n const q: any = new Array<any>();\n const finalLinks: Set<SLink> = new Set<SLink>();\n const finalNodes: Set<SNode> = new Set<SNode>();\n\n q.push(singleLink.source);\n finalLinks.add(singleLink);\n while (q.length > 0) {\n const poppedNode: SNode = q.shift();\n finalNodes.add(poppedNode);\n if (poppedNode.targetLinks && poppedNode.targetLinks.length > 0) {\n poppedNode.targetLinks.forEach((link: SLink) => {\n q.push(link.source);\n finalLinks.add(link);\n });\n }\n }\n\n q.push(singleLink.target);\n\n while (q.length > 0) {\n const poppedNode: SNode = q.shift();\n finalNodes.add(poppedNode);\n if (poppedNode.sourceLinks && poppedNode.sourceLinks.length > 0) {\n poppedNode.sourceLinks.forEach((link: SLink) => {\n q.push(link.target);\n finalLinks.add(link);\n });\n }\n }\n\n return {\n selectedLinks: finalLinks,\n selectedNodes: finalNodes,\n };\n }\n\n private _getOpacityStream(singleLink: SLink): number {\n if (this.state.selectedState) {\n if (!this.state.selectedLinks.has(singleLink.index!)) {\n return NON_SELECTED_OPACITY;\n } else if (\n this.state.selectedState &&\n this.state.selectedLinks.has(singleLink.index!) &&\n !this.state.selectedNode\n ) {\n return SELECTED_STREAM_OPACITY;\n }\n }\n return REST_STREAM_OPACITY;\n }\n\n private _getOpacityStreamBorder(singleLink: SLink): number {\n if (this.state.selectedState && !this.state.selectedLinks.has(singleLink.index!) && !this.state.selectedNode) {\n return NON_SELECTED_STREAM_BORDER_OPACITY;\n }\n\n return NON_SELECTED_OPACITY;\n }\n\n private _fitParentContainer(): void {\n const { containerWidth, containerHeight } = this.state;\n this._reqID = requestAnimationFrame(() => {\n const container = this.props.parentRef ? this.props.parentRef : this.chartContainer;\n const currentContainerWidth = container.getBoundingClientRect().width;\n const currentContainerHeight = container.getBoundingClientRect().height;\n const shouldResize = containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight;\n if (shouldResize) {\n this.setState({\n containerWidth: currentContainerWidth,\n containerHeight: currentContainerHeight,\n });\n }\n });\n }\n /**\n *\n * @param text is the text which we are trying to truncate\n * @param rectangleWidth is the width of the rectangle which will contain the text\n * @param padding is the space we need to leave between the rect lines and other text\n * @param nodeWeight is the text if present needs to be accomodate in the same line as text.\n * @returns the truncated text , if truncated given the above parameters.\n */\n private _truncateText(text: string, rectangleWidth: number, padding: number) {\n const textLengthForNodeName = rectangleWidth - padding;\n let elipsisLength = 0;\n const tspan = select('.nodeName')\n .append('text')\n .attr('class', 'tempText')\n .attr('font-size', '10')\n .append('tspan')\n .text(null);\n tspan.text(text);\n if (tspan.node() !== null && tspan.node()!.getComputedTextLength() <= textLengthForNodeName) {\n return text;\n }\n tspan.text(null);\n tspan.text('...');\n if (tspan.node() !== null) {\n elipsisLength = tspan.node()!.getComputedTextLength();\n }\n tspan.text(null);\n let line: string = '';\n for (let i = 0; i < text.length; i++) {\n line += text[i];\n tspan.text(line);\n if (tspan.node() !== null) {\n const w = tspan.node()!.getComputedTextLength();\n if (w >= textLengthForNodeName - elipsisLength) {\n line = line.slice(0, -1);\n line += '...';\n break;\n }\n }\n }\n tspan.text(null);\n selectAll('.tempText').remove();\n return line;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _showTooltip(text: string, checkTrcuncated: boolean, div: any, evt: any) {\n if (checkTrcuncated) {\n //Fixing tooltip position by attaching it to the element rather than page\n div.style('opacity', 0.9);\n div\n .html(text)\n .style('left', evt.pageX + 'px')\n .style('top', evt.pageY - 28 + 'px');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _hideTooltip(div: any) {\n div.style('opacity', 0);\n }\n}\n"]}
1
+ {"version":3,"file":"SankeyChart.base.js","sourceRoot":"../src/","sources":["components/SankeyChart/SankeyChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNamesFunction, getId, getRTL, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport { ISankeyChartData, ISankeyChartProps, ISankeyChartStyleProps, ISankeyChartStyles } from './SankeyChart.types';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport * as d3Sankey from 'd3-sankey';\nimport { area as d3Area, curveBumpX as d3CurveBasis } from 'd3-shape';\nimport { sum as d3Sum } from 'd3-array';\nimport { ChartHoverCard, IBasestate, IChartHoverCardProps, SLink, SNode } from '../../index';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { select, selectAll } from 'd3-selection';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '@fluentui/react-focus';\nimport { IMargins } from '../../utilities/utilities';\n\nconst getClassNames = classNamesFunction<ISankeyChartStyleProps, ISankeyChartStyles>();\nconst PADDING_PERCENTAGE = 0.3;\n\ntype NodesInColumns = { [key: number]: SNode[] };\ntype NodeColors = { fillColor: string; borderColor: string };\n\nexport interface ISankeyChartState extends IBasestate, IChartHoverCardProps {\n containerWidth: number;\n containerHeight: number;\n selectedState: boolean;\n selectedLinks: Set<Number>;\n selectedNodes: Set<Number>;\n selectedNode?: SNode;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedLink?: SLink;\n shouldOverflow: boolean;\n emptyChart?: boolean;\n}\n\nconst NON_SELECTED_NODE_AND_STREAM_COLOR: string = '#757575';\nconst DEFAULT_NODE_COLORS: NodeColors[] = [\n { fillColor: '#00758F', borderColor: '#002E39' },\n { fillColor: '#77004D', borderColor: '#43002C' },\n { fillColor: '#4F6BED', borderColor: '#3B52B4' },\n { fillColor: '#937600', borderColor: '#6D5700' },\n { fillColor: '#286EA8', borderColor: '#00457E' },\n { fillColor: '#A43FB1', borderColor: '#7C158A' },\n { fillColor: '#CC3595', borderColor: '#7F215D' },\n { fillColor: '#0E7878', borderColor: '#004E4E' },\n { fillColor: '#8764B8', borderColor: '#4B3867' },\n { fillColor: '#9C663F', borderColor: '#6D4123' },\n];\n\nconst MIN_HEIGHT_FOR_DOUBLINE_TYPE = 36;\nconst MIN_HEIGHT_FOR_TYPE = 24;\nconst REST_STREAM_OPACITY: number = 1;\nconst NON_SELECTED_OPACITY: number = 1;\nconst SELECTED_STREAM_OPACITY: number = 0.3;\nconst NON_SELECTED_STREAM_BORDER_OPACITY: number = 0.5;\nconst DEFAULT_TEXT_COLOR: string = '#323130';\nconst NON_SELECTED_TEXT_COLOR: string = '#FFFFFF';\n\nexport class SankeyChartBase extends React.Component<ISankeyChartProps, ISankeyChartState> {\n private _classNames: IProcessedStyleSet<ISankeyChartStyles>;\n private chartContainer: HTMLDivElement;\n private _reqID: number;\n private _calloutId: string;\n private _linkId: string;\n private _nodesInColumn: NodesInColumns;\n private _sankey: d3Sankey.SankeyLayout<d3Sankey.SankeyGraph<{}, {}>, {}, {}>;\n private _margins: IMargins;\n private _isRtl: boolean = getRTL();\n private _normalizeData: (data: ISankeyChartData) => void;\n\n constructor(props: ISankeyChartProps) {\n super(props);\n this.state = {\n containerHeight: 468,\n containerWidth: 912,\n selectedState: false,\n selectedLinks: new Set<number>(),\n selectedNodes: new Set<number>(),\n shouldOverflow: false,\n isCalloutVisible: false,\n emptyChart: !(\n this.props.data &&\n this.props.data.SankeyChartData &&\n this.props.data.SankeyChartData.nodes.length > 0 &&\n this.props.data.SankeyChartData.links.length > 0\n ),\n };\n this._calloutId = getId('callout');\n this._linkId = getId('link');\n this._margins = { top: 36, right: 48, bottom: 32, left: 48 };\n this._preRenderLayout();\n this._normalizeData = memoizeFunction((data: ISankeyChartData) => this._normalizeSankeyData(data));\n }\n public componentDidMount(): void {\n this._fitParentContainer();\n }\n\n public componentDidUpdate(prevProps: ISankeyChartProps): void {\n if (prevProps.shouldResize !== this.props.shouldResize) {\n this._fitParentContainer();\n }\n }\n public componentWillUnmount(): void {\n cancelAnimationFrame(this._reqID);\n }\n public render(): React.ReactNode {\n if (!this.state.emptyChart) {\n const { theme, className, styles, pathColor } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n width: this.state.containerWidth,\n height: this.state.containerHeight,\n pathColor,\n className,\n });\n // We are using the this._margins.left and this._margins.top in sankey extent while constructing the layout\n const { height, width } = this._preRenderLayout();\n this._normalizeData(this.props.data.SankeyChartData!);\n let nodePadding = 8;\n nodePadding = this._adjustPadding(this._sankey, height - 6, this._nodesInColumn);\n\n this._sankey.nodePadding(nodePadding);\n this._sankey(this.props.data.SankeyChartData!);\n this._populateNodeActualValue(this.props.data.SankeyChartData!);\n this._assignNodeColors();\n const nodeData = this._createNodes(width);\n const linkData = this._createLinks();\n const calloutProps = {\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n target: this.state.refSelected,\n color: this.state.color,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n descriptionMessage: this.state.descriptionMessage,\n isBeakVisible: false,\n gapSpace: 15,\n onDismiss: this._onCloseCallout,\n className: this._classNames.calloutContentRoot,\n preventDismissOnLostFocus: true,\n };\n return (\n <div\n className={this._classNames.root}\n role={'presentation'}\n ref={(rootElem: HTMLDivElement) => (this.chartContainer = rootElem)}\n onMouseLeave={this._onCloseCallout}\n >\n <FocusZone\n direction={FocusZoneDirection.bidirectional}\n isCircularNavigation={true}\n handleTabKey={FocusZoneTabbableElements.all}\n >\n <svg width={width} height={height} id={getId('sankeyChart')}>\n <g className={this._classNames.links} strokeOpacity={1}>\n {linkData}\n </g>\n <g className={this._classNames.nodes}>{nodeData}</g>\n {calloutProps.isCalloutVisible && (\n <Callout {...calloutProps}>\n <ChartHoverCard\n XValue={calloutProps.XValue}\n YValue={calloutProps.YValue}\n color={calloutProps.color}\n descriptionMessage={calloutProps.descriptionMessage ? calloutProps.descriptionMessage : ''}\n />\n </Callout>\n )}\n </svg>\n </FocusZone>\n </div>\n );\n }\n return (\n <div\n id={getId('_SankeyChart_')}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n\n private _preRenderLayout(): { height: number; width: number } {\n const width = this.state.containerWidth - this._margins.right!;\n const height =\n this.state.containerHeight - this._margins.bottom! > 0 ? this.state.containerHeight - this._margins.bottom! : 0;\n\n this._sankey = d3Sankey\n .sankey()\n .nodeWidth(124)\n .extent([\n [this._margins.left!, this._margins.top!],\n [width - 1, height - 6],\n ])\n .nodeAlign(this._isRtl ? d3Sankey.sankeyRight : d3Sankey.sankeyJustify);\n\n return { height, width };\n }\n\n /**\n * This is used for calculating the node non normalized value based on link non normalized value.\n *\n */\n private _populateNodeActualValue(data: ISankeyChartData) {\n data.links.forEach((link: SLink) => {\n if (!link.unnormalizedValue) {\n link.unnormalizedValue = link.value;\n }\n });\n data.nodes.forEach((node: SNode) => {\n node.actualValue = Math.max(\n d3Sum(node.sourceLinks!, (link: SLink) => link.unnormalizedValue),\n d3Sum(node.targetLinks!, (link: SLink) => link.unnormalizedValue),\n );\n });\n }\n\n private _normalizeSankeyData(data: ISankeyChartData): void {\n this._nodesInColumn = this._populateNodeInColumns(data, this._sankey);\n this._adjustOnePercentHeightNodes(this._nodesInColumn);\n }\n /**\n *\n * This is used to group nodes by column index.\n */\n private _populateNodeInColumns(\n graph: ISankeyChartData,\n sankey: d3Sankey.SankeyLayout<d3Sankey.SankeyGraph<{}, {}>, {}, {}>,\n ) {\n sankey(graph);\n const nodesInColumn: NodesInColumns = {};\n graph.nodes.forEach((node: SNode) => {\n const columnId = node.layer!;\n if (nodesInColumn[columnId]) {\n nodesInColumn[columnId].push(node);\n } else {\n nodesInColumn[columnId] = [node];\n }\n });\n return nodesInColumn;\n }\n\n /**\n * This is used to normalize the nodes value whose value is less than 1% of the total column value.\n *\n */\n private _adjustOnePercentHeightNodes(nodesInColumn: NodesInColumns) {\n const totalColumnValue = Object.values(nodesInColumn).map((column: SNode[]) => {\n return d3Sum(column, (node: SNode) => node.value);\n });\n totalColumnValue.forEach((columnValue: number, index: number) => {\n let totalPercentage = 0;\n nodesInColumn[index].forEach((node: SNode) => {\n const nodePercentage = (node.value! / columnValue) * 100;\n node.actualValue = node.value;\n //if the value is less than 1% then we are making it as 1% of total .\n if (nodePercentage < 1) {\n node.value = 0.01 * columnValue;\n totalPercentage = totalPercentage + 1;\n } else {\n totalPercentage = totalPercentage + nodePercentage;\n }\n });\n //since we have adjusted the value to be 1% but we need to keep the sum of the percentage value under 100.\n const scalingRatio = totalPercentage !== 0 ? totalPercentage / 100 : 1;\n if (scalingRatio > 1) {\n nodesInColumn[index].forEach((node: SNode) => {\n node.value = node.value! / scalingRatio;\n this._changeColumnValue(node, node.actualValue!, node.value);\n });\n }\n });\n }\n\n /**\n *\n * This is used for normalizing each links value for reflecting the normalized node value.\n */\n private _changeColumnValue(node: SNode, originalValue: number, normalizedValue: number) {\n node.sourceLinks!.forEach((link: SLink) => {\n link.unnormalizedValue = link.value;\n const linkRatio = link.value / originalValue;\n link.value = normalizedValue * linkRatio;\n });\n node.targetLinks!.forEach((link: SLink) => {\n link.unnormalizedValue = link.value;\n const linkRatio = link.value / originalValue;\n link.value = normalizedValue * linkRatio;\n });\n }\n\n /**\n *\n * This is used to introduce dynamic padding for cases where the number of nodes in a column is huge\n * so that we maintain a node to space ratio for such columns as if we fail to do so the\n * chart is devoid of nodes and only shows links.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _adjustPadding(sankey: any, height: number, nodesInColumn: NodesInColumns) {\n let padding = this._sankey.nodePadding();\n Object.values(nodesInColumn).forEach((column: SNode[]) => {\n const minPadding = PADDING_PERCENTAGE * height;\n const toatlPaddingInColumn = height - d3Sum(column, (node: SNode) => node.y1! - node.y0!);\n if (minPadding < toatlPaddingInColumn) {\n //Here we are calculating the min of default and calculated padding, we will not increase the padding\n //in any scenario.\n padding = Math.min(padding, minPadding / (column.length - 1));\n }\n });\n return padding;\n }\n\n private _createLinks(): React.ReactNode[] | undefined {\n const links: React.ReactNode[] = [];\n\n if (this.props.data.SankeyChartData) {\n this.props.data.SankeyChartData.links.forEach((singleLink: SLink, index: number) => {\n const onMouseOut = () => {\n this._onStreamLeave(singleLink);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const data = (d: any) => {\n return [\n { x: d.source.x1, y0: d.y0 + d.width / 2, y1: d.y0 - d.width / 2 },\n { x: d.target.x0, y0: d.y1 + d.width / 2, y1: d.y1 - d.width / 2 },\n ];\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dataPoints: Array<any> = data(singleLink);\n const linkArea = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((p: any) => p.x)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((p: any) => p.y0)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((p: any) => p.y1)\n .curve(d3CurveBasis);\n const gradientUrl = `url(#gradient-${this._linkId}-${index})`;\n const link = (\n <g key={`${this._linkId}-${index}`}>\n <defs>\n <linearGradient id={`gradient-${this._linkId}-${index}`} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0\" stopColor={(singleLink.source as SNode).color} />\n <stop offset=\"100%\" stopColor={(singleLink.target as SNode).color} />\n </linearGradient>\n </defs>\n <path\n d={linkArea(dataPoints)!}\n id={getId('link')}\n fill={this._fillStreamColors(singleLink, gradientUrl)}\n stroke={this._fillStreamBorder(singleLink, gradientUrl)}\n strokeWidth=\"2\"\n strokeOpacity={this._getOpacityStreamBorder(singleLink)}\n onMouseOver={this._onStreamHover.bind(this, singleLink)}\n onMouseOut={onMouseOut}\n onFocus={this._onFocusLink.bind(this, singleLink)}\n onBlur={this._onBlur}\n fillOpacity={this._getOpacityStream(singleLink)}\n data-is-focusable={true}\n aria-label={\n 'link from' +\n (singleLink.source as SNode).name +\n 'to' +\n (singleLink.target as SNode).name +\n 'with weight' +\n singleLink!.unnormalizedValue\n }\n role=\"img\"\n />\n </g>\n );\n links.push(link);\n });\n }\n return links;\n }\n\n private _createNodes(width: number): React.ReactNode[] | undefined {\n const nodes: React.ReactNode[] = [];\n\n if (this.props.data.SankeyChartData) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.props.data.SankeyChartData.nodes.forEach((singleNode: SNode, index: number) => {\n const onMouseOut = () => {\n this._onLeave(singleNode);\n };\n const height = singleNode.y1! - singleNode.y0! > 0 ? singleNode.y1! - singleNode.y0! : 0;\n let padding = 8;\n let textLengthForNodeWeight = 0;\n\n // If the nodeWeight is in the same line as node description an extra padding\n // of 6 px is required between node description and node weight.\n if (height < MIN_HEIGHT_FOR_DOUBLINE_TYPE) {\n padding = padding + 6;\n const tspan = select('.nodeName').append('text').attr('class', 'tempText').append('tspan').text(null);\n tspan.text(singleNode.actualValue!);\n if (tspan.node() !== null) {\n textLengthForNodeWeight = tspan.node()!.getComputedTextLength();\n padding = padding + textLengthForNodeWeight;\n }\n tspan.text(null);\n selectAll('.tempText').remove();\n }\n // Since the total width of the node is 124 and we are giving margin of 8px from the left .\n //So the actual value on which it will be truncated is 124-8=116.\n const truncatedname: string = this._truncateText(singleNode.name, 116, padding);\n const isTruncated: boolean = truncatedname.slice(-3) === '...';\n const id = getId('tooltip');\n const div = select('body')\n .append('div')\n .attr('id', id)\n .attr('class', this._classNames.toolTip!)\n .style('opacity', 0);\n const nodeId = getId('nodeBar');\n const node = (\n <g key={index} id={getId('nodeGElement')}>\n <rect\n x={singleNode.x0}\n y={singleNode.y0}\n height={height}\n width={singleNode.x1! - singleNode.x0!}\n fill={this._fillNodeColors(singleNode)}\n id={nodeId}\n onMouseOver={this._onHover.bind(this, singleNode)}\n onMouseOut={onMouseOut}\n onFocus={this._onCloseCallout.bind(this)}\n stroke={this._fillNodeBorder(singleNode)}\n strokeWidth=\"2\"\n opacity=\"1\"\n data-is-focusable={true}\n aria-label={'node' + `${singleNode.name}` + 'with weight' + `${singleNode.actualValue}`}\n role=\"img\"\n />\n {singleNode.y1! - singleNode.y0! > MIN_HEIGHT_FOR_TYPE && (\n <g className={this._classNames.nodeTextContainer}>\n <g className=\"nodeName\">\n <text\n id={`${nodeId}-name`}\n x={singleNode.x0}\n y={singleNode.y0}\n dy={'1.2em'}\n dx={'0.4em'}\n textAnchor={this._isRtl ? 'end' : 'start'}\n fontWeight=\"regular\"\n aria-hidden=\"true\"\n fill={\n !(\n !this.state.selectedState ||\n (this.state.selectedState &&\n this.state.selectedNodes.has(singleNode.index!) &&\n this.state.selectedNode) ||\n (this.state.selectedState && !this.state.selectedNode)\n )\n ? DEFAULT_TEXT_COLOR\n : NON_SELECTED_TEXT_COLOR\n }\n fontSize={10}\n onMouseOver={this._showTooltip.bind(this, singleNode.name, isTruncated, div)}\n onMouseOut={this._hideTooltip.bind(this, div)}\n >\n {truncatedname}\n </text>\n </g>\n\n <text\n x={\n height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? singleNode.x0 : singleNode.x1! - textLengthForNodeWeight - 8\n }\n y={singleNode.y0}\n dy={height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? '2em' : '1em'}\n dx={height > MIN_HEIGHT_FOR_DOUBLINE_TYPE ? '0.4em' : '0em'}\n textAnchor={this._isRtl ? 'end' : 'start'}\n fontWeight=\"bold\"\n aria-hidden=\"true\"\n fill={\n !(\n !this.state.selectedState ||\n (this.state.selectedState &&\n this.state.selectedNodes.has(singleNode.index!) &&\n this.state.selectedNode) ||\n (this.state.selectedState && !this.state.selectedNode)\n )\n ? DEFAULT_TEXT_COLOR\n : NON_SELECTED_TEXT_COLOR\n }\n fontSize={14}\n >\n {singleNode.actualValue}\n </text>\n </g>\n )}\n </g>\n );\n nodes.push(node);\n });\n return nodes;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onLeave(singleNode: SNode) {\n if (this.state.selectedState) {\n this.setState({\n selectedState: false,\n selectedNodes: new Set<number>(),\n selectedLinks: new Set<number>(),\n selectedNode: undefined,\n });\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onHover(singleNode: SNode, mouseEvent: React.MouseEvent<SVGElement>) {\n mouseEvent.persist();\n this._onCloseCallout();\n if (!this.state.selectedState) {\n const selectedLinks = this._getSelectedLinks(singleNode);\n const selectedNodes = this._getSelectedNodes(selectedLinks);\n selectedNodes.push(singleNode);\n this.setState({\n selectedState: true,\n selectedNodes: new Set<number>(Array.from(selectedNodes).map(node => node.index)),\n selectedLinks: new Set<number>(Array.from(selectedLinks).map(link => link.index!)),\n selectedNode: singleNode,\n refSelected: mouseEvent, //this._refArray.get(index),\n isCalloutVisible: singleNode.y1! - singleNode.y0! < MIN_HEIGHT_FOR_TYPE,\n color: singleNode.color,\n xCalloutValue: singleNode.name,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yCalloutValue: singleNode.actualValue! as any as string,\n });\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onStreamHover(singleLink: SLink, mouseEvent: React.MouseEvent<SVGElement>) {\n mouseEvent.persist();\n this._onCloseCallout();\n if (!this.state.selectedState) {\n const { selectedLinks, selectedNodes } = this._getSelectedLinksforStreamHover(singleLink);\n this.setState({\n selectedState: true,\n selectedNodes: new Set<number>(Array.from(selectedNodes).map(node => node.index!)),\n selectedLinks: new Set<number>(Array.from(selectedLinks).map(link => link.index!)),\n refSelected: mouseEvent,\n selectedLink: singleLink,\n isCalloutVisible: true,\n color: (singleLink.source as SNode).color,\n xCalloutValue: (singleLink.target as SNode).name,\n yCalloutValue: singleLink.unnormalizedValue!.toString(),\n descriptionMessage: 'from ' + (singleLink.source as SNode).name,\n });\n }\n }\n\n private _onStreamLeave(singleLink: SLink) {\n if (this.state.selectedState) {\n this.setState({\n selectedState: false,\n selectedNodes: new Set<number>(),\n selectedLinks: new Set<number>(),\n selectedLink: undefined,\n });\n }\n }\n\n private _onFocusLink(singleLink: SLink, element: React.FocusEvent<SVGElement>): void {\n element.persist();\n this._onCloseCallout();\n this.setState({\n refSelected: element.currentTarget,\n selectedLink: singleLink,\n isCalloutVisible: true,\n color: (singleLink.source as SNode).color,\n xCalloutValue: (singleLink.target as SNode).name,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yCalloutValue: (singleLink.source as SNode).actualValue! as any as string,\n descriptionMessage: 'from ' + (singleLink.source as SNode).name,\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onCloseCallout = () => {\n this.setState({\n isCalloutVisible: false,\n refSelected: undefined,\n descriptionMessage: '',\n });\n };\n\n private _onBlur = (): void => {\n /**/\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillNodeColors = (singleNode: SNode): string | undefined => {\n if (!this.state.selectedState) {\n return singleNode.color;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!) && this.state.selectedNode) {\n return this.state.selectedNode.color;\n } else if (this.state.selectedState && !this.state.selectedNode) {\n return singleNode.color;\n }\n };\n\n /**\n * This is used to assign node fillcolors and borderColor cyclically when the user doesnt\n * provide color to individual node.\n */\n private _assignNodeColors() {\n let colors: string[];\n let borders: string[];\n if (this.props.colorsForNodes && this.props.borderColorsForNodes) {\n colors = this.props.colorsForNodes;\n borders = this.props.borderColorsForNodes;\n } else {\n colors = DEFAULT_NODE_COLORS.map(color => color.fillColor);\n borders = DEFAULT_NODE_COLORS.map(color => color.borderColor);\n }\n let currentIndex = 0;\n this.props.data.SankeyChartData!.nodes.forEach((node: SNode) => {\n if (!node.color && !node.borderColor) {\n node.color = colors[currentIndex];\n node.borderColor = borders[currentIndex];\n } else if (node.color && !node.borderColor) {\n node.borderColor = '#757575';\n } else if (node.borderColor && !node.color) {\n node.color = '#F5F5F5';\n }\n currentIndex = (currentIndex + 1) % colors.length;\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillStreamColors(singleLink: SLink, gradientUrl: string): string | undefined {\n if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!) && this.state.selectedNode) {\n return this.state.selectedNode.color;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!)) {\n return gradientUrl;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillStreamBorder(singleLink: SLink, gradientUrl: string): string {\n if (!this.state.selectedState) {\n return NON_SELECTED_NODE_AND_STREAM_COLOR;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!) && this.state.selectedNode) {\n return this.state.selectedNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedLinks.has(singleLink.index!)) {\n return gradientUrl;\n }\n return NON_SELECTED_NODE_AND_STREAM_COLOR;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fillNodeBorder = (singleNode: SNode): string => {\n if (!this.state.selectedState) {\n return singleNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!) && this.state.selectedNode) {\n return this.state.selectedNode.borderColor!;\n } else if (this.state.selectedState && this.state.selectedNodes.has(singleNode.index!)) {\n return singleNode.borderColor!;\n }\n return singleNode.borderColor!;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedNodes(selectedLinks: Set<SLink>): any[] {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nodes: SNode[] = [];\n selectedLinks.forEach(link => {\n nodes.push(link.target as SNode);\n\n if (nodes.indexOf(link.source as SNode) === -1) {\n nodes.push(link.source as SNode);\n }\n });\n return nodes;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedLinks(singleNode: SNode): Set<SLink> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-array-constructor\n const q: any = new Array<any>();\n const finalLinks: Set<SLink> = new Set<SLink>();\n\n singleNode.sourceLinks!.forEach((link: SLink) => {\n q.push(link);\n finalLinks.add(link);\n });\n\n while (q.length > 0) {\n const poppedLink: SLink = q.shift();\n const node: SNode = poppedLink.target as SNode;\n if (node && node.sourceLinks) {\n node.sourceLinks.forEach((link: SLink) => {\n finalLinks.add(link);\n q.push(link);\n });\n }\n }\n\n if (singleNode.targetLinks) {\n singleNode.targetLinks.forEach((link: SLink) => {\n q.push(link);\n finalLinks.add(link);\n });\n }\n\n while (q.length > 0) {\n const poppedLink: SLink = q.shift();\n const node: SNode = poppedLink.source as SNode;\n if (node && node.targetLinks) {\n node.targetLinks.forEach((link: SLink) => {\n finalLinks.add(link);\n q.push(link);\n });\n }\n }\n\n return finalLinks;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getSelectedLinksforStreamHover(singleLink: SLink): { selectedLinks: Set<SLink>; selectedNodes: Set<SNode> } {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-array-constructor\n const q: any = new Array<any>();\n const finalLinks: Set<SLink> = new Set<SLink>();\n const finalNodes: Set<SNode> = new Set<SNode>();\n\n q.push(singleLink.source);\n finalLinks.add(singleLink);\n while (q.length > 0) {\n const poppedNode: SNode = q.shift();\n finalNodes.add(poppedNode);\n if (poppedNode.targetLinks && poppedNode.targetLinks.length > 0) {\n poppedNode.targetLinks.forEach((link: SLink) => {\n q.push(link.source);\n finalLinks.add(link);\n });\n }\n }\n\n q.push(singleLink.target);\n\n while (q.length > 0) {\n const poppedNode: SNode = q.shift();\n finalNodes.add(poppedNode);\n if (poppedNode.sourceLinks && poppedNode.sourceLinks.length > 0) {\n poppedNode.sourceLinks.forEach((link: SLink) => {\n q.push(link.target);\n finalLinks.add(link);\n });\n }\n }\n\n return {\n selectedLinks: finalLinks,\n selectedNodes: finalNodes,\n };\n }\n\n private _getOpacityStream(singleLink: SLink): number {\n if (this.state.selectedState) {\n if (!this.state.selectedLinks.has(singleLink.index!)) {\n return NON_SELECTED_OPACITY;\n } else if (\n this.state.selectedState &&\n this.state.selectedLinks.has(singleLink.index!) &&\n !this.state.selectedNode\n ) {\n return SELECTED_STREAM_OPACITY;\n }\n }\n return REST_STREAM_OPACITY;\n }\n\n private _getOpacityStreamBorder(singleLink: SLink): number {\n if (this.state.selectedState && !this.state.selectedLinks.has(singleLink.index!) && !this.state.selectedNode) {\n return NON_SELECTED_STREAM_BORDER_OPACITY;\n }\n\n return NON_SELECTED_OPACITY;\n }\n\n private _fitParentContainer(): void {\n const { containerWidth, containerHeight } = this.state;\n this._reqID = requestAnimationFrame(() => {\n const container = this.props.parentRef ? this.props.parentRef : this.chartContainer;\n const currentContainerWidth = container.getBoundingClientRect().width;\n const currentContainerHeight = container.getBoundingClientRect().height;\n const shouldResize = containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight;\n if (shouldResize) {\n this.setState({\n containerWidth: currentContainerWidth,\n containerHeight: currentContainerHeight,\n });\n }\n });\n }\n /**\n *\n * @param text is the text which we are trying to truncate\n * @param rectangleWidth is the width of the rectangle which will contain the text\n * @param padding is the space we need to leave between the rect lines and other text\n * @param nodeWeight is the text if present needs to be accomodate in the same line as text.\n * @returns the truncated text , if truncated given the above parameters.\n */\n private _truncateText(text: string, rectangleWidth: number, padding: number) {\n const textLengthForNodeName = rectangleWidth - padding;\n let elipsisLength = 0;\n const tspan = select('.nodeName')\n .append('text')\n .attr('class', 'tempText')\n .attr('font-size', '10')\n .append('tspan')\n .text(null);\n tspan.text(text);\n if (tspan.node() !== null && tspan.node()!.getComputedTextLength() <= textLengthForNodeName) {\n return text;\n }\n tspan.text(null);\n tspan.text('...');\n if (tspan.node() !== null) {\n elipsisLength = tspan.node()!.getComputedTextLength();\n }\n tspan.text(null);\n let line: string = '';\n for (let i = 0; i < text.length; i++) {\n line += text[i];\n tspan.text(line);\n if (tspan.node() !== null) {\n const w = tspan.node()!.getComputedTextLength();\n if (w >= textLengthForNodeName - elipsisLength) {\n line = line.slice(0, -1);\n line += '...';\n break;\n }\n }\n }\n tspan.text(null);\n selectAll('.tempText').remove();\n return line;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _showTooltip(text: string, checkTrcuncated: boolean, div: any, evt: any) {\n if (checkTrcuncated) {\n //Fixing tooltip position by attaching it to the element rather than page\n div.style('opacity', 0.9);\n div\n .html(text)\n .style('left', evt.pageX + 'px')\n .style('top', evt.pageY - 28 + 'px');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _hideTooltip(div: any) {\n div.style('opacity', 0);\n }\n}\n"]}
@@ -37,7 +37,7 @@ var getStyles = function (props) {
37
37
  },
38
38
  _b),
39
39
  },
40
- toolTip: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.theme.fonts.medium), { display: 'flex', flexDirection: 'column', padding: '8px', position: 'absolute', textAlign: 'center', top: '0px', background: props.theme.semanticColors.bodyBackground, borderRadius: '2px', pointerEvents: 'none' }),
40
+ toolTip: tslib_1.__assign(tslib_1.__assign({}, props.theme.fonts.medium), { display: 'flex', flexDirection: 'column', padding: '8px', position: 'absolute', textAlign: 'center', top: '0px', background: props.theme.semanticColors.bodyBackground, borderRadius: '2px', pointerEvents: 'none' }),
41
41
  nodeTextContainer: {
42
42
  selectors: {
43
43
  text: {
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyChart.styles.js","sourceRoot":"../src/","sources":["components/SankeyChart/SankeyChart.styles.ts"],"names":[],"mappings":";;;;AACA,uDAAwE;AAEjE,IAAM,SAAS,GAAG,UAAC,KAA6B;;IAC7C,IAAA,SAAS,GAAuB,KAAK,UAA5B,EAAE,KAAK,GAAgB,KAAK,MAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IACtC,IAAA,OAAO,GAAK,KAAK,QAAV,CAAW;IAC1B,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,CAAC,KAAK,CAAC,MAAM;YAClB;gBACE,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,QAAQ;gBACvB,QAAQ,EAAE,QAAQ;aACnB;YACD,SAAS;SACV;QACD,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;YACnD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC7D,WAAW,EAAE,CAAC;YACd,SAAS;gBACP,GAAC,mCAAyB,IAAG;oBAC3B,IAAI,EAAE,SAAS;iBAChB;mBACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,SAAS;gBACP,GAAC,mCAAyB,IAAG;oBAC3B,IAAI,EAAE,SAAS;iBAChB;mBACF;SACF;QACD,OAAO,kDACF,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,KAC5B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,QAAQ,EACnB,GAAG,EAAE,KAAK,EACV,UAAU,EAAE,KAAK,CAAC,KAAM,CAAC,cAAc,CAAC,cAAc,EACtD,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,MAAM,GACtB;QACD,iBAAiB,EAAE;YACjB,SAAS,EAAE;gBACT,IAAI,EAAE;oBACJ,SAAS;wBACP,GAAC,mCAAyB,IAAG;4BAC3B,IAAI,EAAE,oBAAoB;yBAC3B;2BACF;iBACF;aACF;YAED,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;SACnB;QACD,kBAAkB,EAAE;YAClB,SAAS,EAAE,OAAO,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,SAAS,aAiEpB","sourcesContent":["import { ISankeyChartStyleProps, ISankeyChartStyles } from './SankeyChart.types';\nimport { HighContrastSelectorBlack } from '@fluentui/react/lib/Styling';\n\nexport const getStyles = (props: ISankeyChartStyleProps): ISankeyChartStyles => {\n const { className, theme, pathColor } = props;\n const { effects } = theme;\n return {\n root: [\n theme.fonts.medium,\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n className,\n ],\n links: {\n stroke: pathColor ? pathColor : theme.palette.black,\n fill: theme ? theme.semanticColors.bodyBackground : '#F5F5F5',\n strokeWidth: 3,\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: '#000000',\n },\n },\n },\n nodes: {\n fill: '#F5F5F5',\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: '#000000',\n },\n },\n },\n toolTip: {\n ...props.theme!.fonts.medium,\n display: 'flex',\n flexDirection: 'column',\n padding: '8px',\n position: 'absolute',\n textAlign: 'center',\n top: '0px',\n background: props.theme!.semanticColors.bodyBackground,\n borderRadius: '2px',\n pointerEvents: 'none',\n },\n nodeTextContainer: {\n selectors: {\n text: {\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: 'rgb(179, 179, 179)',\n },\n },\n },\n },\n\n marginTop: '4px',\n marginLeft: '8px',\n marginBottom: '4px',\n marginRight: '8px',\n },\n calloutContentRoot: {\n boxShadow: effects.elevation4,\n },\n };\n};\n"]}
1
+ {"version":3,"file":"SankeyChart.styles.js","sourceRoot":"../src/","sources":["components/SankeyChart/SankeyChart.styles.ts"],"names":[],"mappings":";;;;AACA,uDAAwE;AAEjE,IAAM,SAAS,GAAG,UAAC,KAA6B;;IAC7C,IAAA,SAAS,GAAuB,KAAK,UAA5B,EAAE,KAAK,GAAgB,KAAK,MAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IACtC,IAAA,OAAO,GAAK,KAAK,QAAV,CAAW;IAC1B,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,CAAC,KAAK,CAAC,MAAM;YAClB;gBACE,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,QAAQ;gBACvB,QAAQ,EAAE,QAAQ;aACnB;YACD,SAAS;SACV;QACD,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;YACnD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC7D,WAAW,EAAE,CAAC;YACd,SAAS;gBACP,GAAC,mCAAyB,IAAG;oBAC3B,IAAI,EAAE,SAAS;iBAChB;mBACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,SAAS;gBACP,GAAC,mCAAyB,IAAG;oBAC3B,IAAI,EAAE,SAAS;iBAChB;mBACF;SACF;QACD,OAAO,wCACF,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,KAC5B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,QAAQ,EACnB,GAAG,EAAE,KAAK,EACV,UAAU,EAAE,KAAK,CAAC,KAAM,CAAC,cAAc,CAAC,cAAc,EACtD,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,MAAM,GACtB;QACD,iBAAiB,EAAE;YACjB,SAAS,EAAE;gBACT,IAAI,EAAE;oBACJ,SAAS;wBACP,GAAC,mCAAyB,IAAG;4BAC3B,IAAI,EAAE,oBAAoB;yBAC3B;2BACF;iBACF;aACF;YAED,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;SACnB;QACD,kBAAkB,EAAE;YAClB,SAAS,EAAE,OAAO,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,SAAS,aAiEpB","sourcesContent":["import { ISankeyChartStyleProps, ISankeyChartStyles } from './SankeyChart.types';\nimport { HighContrastSelectorBlack } from '@fluentui/react/lib/Styling';\n\nexport const getStyles = (props: ISankeyChartStyleProps): ISankeyChartStyles => {\n const { className, theme, pathColor } = props;\n const { effects } = theme;\n return {\n root: [\n theme.fonts.medium,\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n className,\n ],\n links: {\n stroke: pathColor ? pathColor : theme.palette.black,\n fill: theme ? theme.semanticColors.bodyBackground : '#F5F5F5',\n strokeWidth: 3,\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: '#000000',\n },\n },\n },\n nodes: {\n fill: '#F5F5F5',\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: '#000000',\n },\n },\n },\n toolTip: {\n ...props.theme!.fonts.medium,\n display: 'flex',\n flexDirection: 'column',\n padding: '8px',\n position: 'absolute',\n textAlign: 'center',\n top: '0px',\n background: props.theme!.semanticColors.bodyBackground,\n borderRadius: '2px',\n pointerEvents: 'none',\n },\n nodeTextContainer: {\n selectors: {\n text: {\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: 'rgb(179, 179, 179)',\n },\n },\n },\n },\n\n marginTop: '4px',\n marginLeft: '8px',\n marginBottom: '4px',\n marginRight: '8px',\n },\n calloutContentRoot: {\n boxShadow: effects.elevation4,\n },\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./SankeyChart"), exports);
5
- (0, tslib_1.__exportStar)(require("./SankeyChart.types"), exports);
4
+ tslib_1.__exportStar(require("./SankeyChart"), exports);
5
+ tslib_1.__exportStar(require("./SankeyChart.types"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/SankeyChart/index.ts"],"names":[],"mappings":";;;AAAA,6DAA8B;AAC9B,mEAAoC","sourcesContent":["export * from './SankeyChart';\nexport * from './SankeyChart.types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/SankeyChart/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,8DAAoC","sourcesContent":["export * from './SankeyChart';\nexport * from './SankeyChart.types';\n"]}
@@ -6,6 +6,7 @@ export interface ISparklineState {
6
6
  _width: number;
7
7
  _height: number;
8
8
  _valueTextWidth: number;
9
+ _emptyChart?: boolean;
9
10
  }
10
11
  export declare class SparklineBase extends React.Component<ISparklineProps, ISparklineState> {
11
12
  private margin;
@@ -10,7 +10,7 @@ var react_focus_1 = require("@fluentui/react-focus");
10
10
  var Utilities_1 = require("@fluentui/react/lib/Utilities");
11
11
  var getClassNames = (0, Utilities_1.classNamesFunction)();
12
12
  var SparklineBase = /** @class */ (function (_super) {
13
- (0, tslib_1.__extends)(SparklineBase, _super);
13
+ tslib_1.__extends(SparklineBase, _super);
14
14
  function SparklineBase(props) {
15
15
  var _this = _super.call(this, props) || this;
16
16
  _this.margin = {
@@ -24,39 +24,49 @@ var SparklineBase = /** @class */ (function (_super) {
24
24
  _width: _this.props.width || 80,
25
25
  _height: _this.props.height || 20,
26
26
  _valueTextWidth: _this.props.valueTextWidth || 80,
27
+ _emptyChart: false,
27
28
  };
28
29
  return _this;
29
30
  }
30
31
  SparklineBase.prototype.componentDidMount = function () {
31
32
  var _this = this;
32
- var area = (0, d3_shape_1.area)()
33
+ var isChartEmpty = !(this.props.data &&
34
+ this.props.data.lineChartData &&
35
+ this.props.data.lineChartData.length > 0 &&
36
+ this.props.data.lineChartData.filter(function (item) { return item.data.length === 0; }).length === 0);
37
+ if (this.state._emptyChart !== isChartEmpty) {
38
+ this.setState({ _emptyChart: isChartEmpty });
39
+ }
40
+ else {
41
+ var area = (0, d3_shape_1.area)()
42
+ /* eslint-disable @typescript-eslint/no-explicit-any */
43
+ .x(function (d) { return _this.x(d.x); })
44
+ .y0(this.state._height)
45
+ /* eslint-disable @typescript-eslint/no-explicit-any */
46
+ .y1(function (d) { return _this.y(d.y); })
47
+ .curve(d3_shape_1.curveLinear);
48
+ this.area = area;
49
+ var line = (0, d3_shape_1.line)()
50
+ /* eslint-disable @typescript-eslint/no-explicit-any */
51
+ .x(function (d) { return _this.x(d.x); })
52
+ /* eslint-disable @typescript-eslint/no-explicit-any */
53
+ .y(function (d) { return _this.y(d.y); })
54
+ .curve(d3_shape_1.curveLinear);
55
+ this.line = line;
56
+ var points = this.props.data.lineChartData[0].data;
33
57
  /* eslint-disable @typescript-eslint/no-explicit-any */
34
- .x(function (d) { return _this.x(d.x); })
35
- .y0(this.state._height)
36
- /* eslint-disable @typescript-eslint/no-explicit-any */
37
- .y1(function (d) { return _this.y(d.y); })
38
- .curve(d3_shape_1.curveLinear);
39
- this.area = area;
40
- var line = (0, d3_shape_1.line)()
41
- /* eslint-disable @typescript-eslint/no-explicit-any */
42
- .x(function (d) { return _this.x(d.x); })
43
- /* eslint-disable @typescript-eslint/no-explicit-any */
44
- .y(function (d) { return _this.y(d.y); })
45
- .curve(d3_shape_1.curveLinear);
46
- this.line = line;
47
- var points = this.props.data.lineChartData[0].data;
48
- /* eslint-disable @typescript-eslint/no-explicit-any */
49
- var _a = (0, d3_array_1.extent)(points, function (d) { return d.x; }), xMin = _a[0], xMax = _a[1];
50
- this.x = (0, d3_scale_1.scaleLinear)()
51
- .domain([xMin, xMax])
52
- .range([this.margin.left, this.state._width - this.margin.right]);
53
- this.y = (0, d3_scale_1.scaleLinear)()
54
- /* eslint-disable @typescript-eslint/no-explicit-any */
55
- .domain([0, (0, d3_array_1.max)(points, function (d) { return d.y; })])
56
- .range([this.state._height - this.margin.bottom, this.margin.top]);
57
- this.setState({
58
- _points: points,
59
- });
58
+ var _a = (0, d3_array_1.extent)(points, function (d) { return d.x; }), xMin = _a[0], xMax = _a[1];
59
+ this.x = (0, d3_scale_1.scaleLinear)()
60
+ .domain([xMin, xMax])
61
+ .range([this.margin.left, this.state._width - this.margin.right]);
62
+ this.y = (0, d3_scale_1.scaleLinear)()
63
+ /* eslint-disable @typescript-eslint/no-explicit-any */
64
+ .domain([0, (0, d3_array_1.max)(points, function (d) { return d.y; })])
65
+ .range([this.state._height - this.margin.bottom, this.margin.top]);
66
+ this.setState({
67
+ _points: points,
68
+ });
69
+ }
60
70
  };
61
71
  SparklineBase.prototype.drawSparkline = function () {
62
72
  return (React.createElement(React.Fragment, null,
@@ -67,11 +77,11 @@ var SparklineBase = /** @class */ (function (_super) {
67
77
  var classNames = getClassNames(this.props.styles, {
68
78
  theme: this.props.theme,
69
79
  });
70
- return (React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal, isCircularNavigation: true, className: classNames.inlineBlock },
80
+ return !this.state._emptyChart ? (React.createElement(react_focus_1.FocusZone, { direction: react_focus_1.FocusZoneDirection.horizontal, isCircularNavigation: true, className: classNames.inlineBlock },
71
81
  React.createElement("div", { className: classNames.inlineBlock },
72
82
  this.state._width >= 50 && this.state._height >= 16 ? (React.createElement("svg", { width: this.state._width, height: this.state._height, "data-is-focusable": true }, this.state._points ? this.drawSparkline() : null)) : (React.createElement(React.Fragment, null)),
73
83
  this.props.showLegend && this.props.data.lineChartData[0].legend ? (React.createElement("svg", { width: this.state._valueTextWidth, height: this.state._height, "data-is-focusable": true },
74
- React.createElement("text", { x: "0%", dx: 8, y: "100%", dy: -5, className: classNames.valueText }, this.props.data.lineChartData[0].legend))) : (React.createElement(React.Fragment, null)))));
84
+ React.createElement("text", { x: "0%", dx: 8, y: "100%", dy: -5, className: classNames.valueText }, this.props.data.lineChartData[0].legend))) : (React.createElement(React.Fragment, null))))) : (React.createElement("div", { id: (0, Utilities_1.getId)('_SparklineChart_'), role: 'alert', style: { opacity: '0' }, "aria-label": 'Graph has no data to display' }));
75
85
  };
76
86
  return SparklineBase;
77
87
  }(React.Component));
@@ -1 +1 @@
1
- {"version":3,"file":"Sparkline.base.js","sourceRoot":"../src/","sources":["components/Sparkline/Sparkline.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { area as d3Area, line as d3Line, curveLinear as d3curveLinear } from 'd3-shape';\nimport { max as d3Max, extent as d3Extent } from 'd3-array';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ILineChartDataPoint } from '../../types/IDataPoint';\nimport { classNamesFunction } from '@fluentui/react/lib/Utilities';\nimport { ISparklineProps, ISparklineStyleProps, ISparklineStyles } from '../../index';\nconst getClassNames = classNamesFunction<ISparklineStyleProps, ISparklineStyles>();\n\nexport interface ISparklineState {\n _points: ILineChartDataPoint[] | null;\n _width: number;\n _height: number;\n _valueTextWidth: number;\n}\n\nexport class SparklineBase extends React.Component<ISparklineProps, ISparklineState> {\n private margin = {\n top: 2,\n right: 0,\n bottom: 0,\n left: 0,\n };\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n private x: any;\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n private y: any;\n private area: any;\n private line: any;\n\n constructor(props: ISparklineProps) {\n super(props);\n this.state = {\n _points: null,\n _width: this.props.width! || 80,\n _height: this.props.height! || 20,\n _valueTextWidth: this.props.valueTextWidth! || 80,\n };\n }\n\n public componentDidMount() {\n const area = d3Area()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .x((d: any) => this.x(d.x))\n .y0(this.state._height)\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .y1((d: any) => this.y(d.y))\n .curve(d3curveLinear);\n this.area = area;\n\n const line = d3Line()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .x((d: any) => this.x(d.x))\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .y((d: any) => this.y(d.y))\n .curve(d3curveLinear);\n this.line = line;\n\n const points = this.props.data!.lineChartData![0].data;\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const [xMin, xMax] = d3Extent(points, (d: any) => d.x);\n\n this.x = d3ScaleLinear()\n .domain([xMin, xMax])\n .range([this.margin.left!, this.state._width - this.margin.right!]);\n this.y = d3ScaleLinear()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .domain([0, d3Max(points, (d: any) => d.y)])\n .range([this.state._height - this.margin.bottom!, this.margin.top!]);\n\n this.setState({\n _points: points,\n });\n }\n\n public drawSparkline() {\n return (\n <>\n <path\n className=\"line\"\n d={this.line(this.state._points)}\n fill={'transparent'}\n opacity={1}\n strokeWidth={2}\n stroke={this.props.data!.lineChartData![0].color!}\n />\n <path\n className=\"area\"\n d={this.area(this.state._points)}\n opacity={1}\n fillOpacity={0.2}\n fill={this.props.data!.lineChartData![0].color!}\n aria-label={`Sparkline with label ${this.props.data!.lineChartData![0].legend!}`}\n />\n </>\n );\n }\n\n public render() {\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n });\n return (\n <FocusZone\n direction={FocusZoneDirection.horizontal}\n isCircularNavigation={true}\n className={classNames.inlineBlock}\n >\n <div className={classNames.inlineBlock}>\n {this.state._width >= 50 && this.state._height >= 16 ? (\n <svg width={this.state._width} height={this.state._height} data-is-focusable={true}>\n {this.state._points ? this.drawSparkline() : null}\n </svg>\n ) : (\n <></>\n )}\n {this.props.showLegend && this.props.data!.lineChartData![0].legend ? (\n <svg width={this.state._valueTextWidth} height={this.state._height} data-is-focusable={true}>\n <text x=\"0%\" dx={8} y=\"100%\" dy={-5} className={classNames.valueText}>\n {this.props.data!.lineChartData![0].legend!}\n </text>\n </svg>\n ) : (\n <></>\n )}\n </div>\n </FocusZone>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Sparkline.base.js","sourceRoot":"../src/","sources":["components/Sparkline/Sparkline.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { area as d3Area, line as d3Line, curveLinear as d3curveLinear } from 'd3-shape';\nimport { max as d3Max, extent as d3Extent } from 'd3-array';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport { ILineChartDataPoint } from '../../types/IDataPoint';\nimport { classNamesFunction, getId } from '@fluentui/react/lib/Utilities';\nimport { ISparklineProps, ISparklineStyleProps, ISparklineStyles } from '../../index';\n\nconst getClassNames = classNamesFunction<ISparklineStyleProps, ISparklineStyles>();\n\nexport interface ISparklineState {\n _points: ILineChartDataPoint[] | null;\n _width: number;\n _height: number;\n _valueTextWidth: number;\n _emptyChart?: boolean;\n}\n\nexport class SparklineBase extends React.Component<ISparklineProps, ISparklineState> {\n private margin = {\n top: 2,\n right: 0,\n bottom: 0,\n left: 0,\n };\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n private x: any;\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n private y: any;\n private area: any;\n private line: any;\n\n constructor(props: ISparklineProps) {\n super(props);\n this.state = {\n _points: null,\n _width: this.props.width! || 80,\n _height: this.props.height! || 20,\n _valueTextWidth: this.props.valueTextWidth! || 80,\n _emptyChart: false,\n };\n }\n\n public componentDidMount() {\n const isChartEmpty: boolean = !(\n this.props.data &&\n this.props.data.lineChartData &&\n this.props.data.lineChartData.length > 0 &&\n this.props.data.lineChartData.filter(item => item.data.length === 0).length === 0\n );\n if (this.state._emptyChart !== isChartEmpty) {\n this.setState({ _emptyChart: isChartEmpty });\n } else {\n const area = d3Area()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .x((d: any) => this.x(d.x))\n .y0(this.state._height)\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .y1((d: any) => this.y(d.y))\n .curve(d3curveLinear);\n this.area = area;\n\n const line = d3Line()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .x((d: any) => this.x(d.x))\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .y((d: any) => this.y(d.y))\n .curve(d3curveLinear);\n this.line = line;\n\n const points = this.props.data!.lineChartData![0].data;\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const [xMin, xMax] = d3Extent(points, (d: any) => d.x);\n\n this.x = d3ScaleLinear()\n .domain([xMin, xMax])\n .range([this.margin.left!, this.state._width - this.margin.right!]);\n this.y = d3ScaleLinear()\n /* eslint-disable @typescript-eslint/no-explicit-any */\n .domain([0, d3Max(points, (d: any) => d.y)])\n .range([this.state._height - this.margin.bottom!, this.margin.top!]);\n\n this.setState({\n _points: points,\n });\n }\n }\n\n public drawSparkline() {\n return (\n <>\n <path\n className=\"line\"\n d={this.line(this.state._points)}\n fill={'transparent'}\n opacity={1}\n strokeWidth={2}\n stroke={this.props.data!.lineChartData![0].color!}\n />\n <path\n className=\"area\"\n d={this.area(this.state._points)}\n opacity={1}\n fillOpacity={0.2}\n fill={this.props.data!.lineChartData![0].color!}\n aria-label={`Sparkline with label ${this.props.data!.lineChartData![0].legend!}`}\n />\n </>\n );\n }\n\n public render() {\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n });\n return !this.state._emptyChart ? (\n <FocusZone\n direction={FocusZoneDirection.horizontal}\n isCircularNavigation={true}\n className={classNames.inlineBlock}\n >\n <div className={classNames.inlineBlock}>\n {this.state._width >= 50 && this.state._height >= 16 ? (\n <svg width={this.state._width} height={this.state._height} data-is-focusable={true}>\n {this.state._points ? this.drawSparkline() : null}\n </svg>\n ) : (\n <></>\n )}\n {this.props.showLegend && this.props.data!.lineChartData![0].legend ? (\n <svg width={this.state._valueTextWidth} height={this.state._height} data-is-focusable={true}>\n <text x=\"0%\" dx={8} y=\"100%\" dy={-5} className={classNames.valueText}>\n {this.props.data!.lineChartData![0].legend!}\n </text>\n </svg>\n ) : (\n <></>\n )}\n </div>\n </FocusZone>\n ) : (\n <div\n id={getId('_SparklineChart_')}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n}\n"]}
@@ -7,7 +7,7 @@ var getStyles = function (props) {
7
7
  inlineBlock: {
8
8
  display: 'inline',
9
9
  },
10
- valueText: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.theme.fonts.smallPlus), { fill: props.theme.palette.black }),
10
+ valueText: tslib_1.__assign(tslib_1.__assign({}, props.theme.fonts.smallPlus), { fill: props.theme.palette.black }),
11
11
  };
12
12
  };
13
13
  exports.getStyles = getStyles;
@@ -1 +1 @@
1
- {"version":3,"file":"Sparkline.styles.js","sourceRoot":"../src/","sources":["components/Sparkline/Sparkline.styles.ts"],"names":[],"mappings":";;;;AAEO,IAAM,SAAS,GAAG,UAAC,KAA2B;IACnD,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,QAAQ;SAClB;QACD,SAAS,kDACJ,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,SAAS,KAC/B,IAAI,EAAE,KAAK,CAAC,KAAM,CAAC,OAAO,CAAC,KAAK,GACjC;KACF,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB","sourcesContent":["import { ISparklineStyleProps, ISparklineStyles } from './Sparkline.types';\n\nexport const getStyles = (props: ISparklineStyleProps): ISparklineStyles => {\n return {\n inlineBlock: {\n display: 'inline',\n },\n valueText: {\n ...props.theme!.fonts.smallPlus,\n fill: props.theme!.palette.black,\n },\n };\n};\n"]}
1
+ {"version":3,"file":"Sparkline.styles.js","sourceRoot":"../src/","sources":["components/Sparkline/Sparkline.styles.ts"],"names":[],"mappings":";;;;AAEO,IAAM,SAAS,GAAG,UAAC,KAA2B;IACnD,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,QAAQ;SAClB;QACD,SAAS,wCACJ,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,SAAS,KAC/B,IAAI,EAAE,KAAK,CAAC,KAAM,CAAC,OAAO,CAAC,KAAK,GACjC;KACF,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB","sourcesContent":["import { ISparklineStyleProps, ISparklineStyles } from './Sparkline.types';\n\nexport const getStyles = (props: ISparklineStyleProps): ISparklineStyles => {\n return {\n inlineBlock: {\n display: 'inline',\n },\n valueText: {\n ...props.theme!.fonts.smallPlus,\n fill: props.theme!.palette.black,\n },\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./Sparkline"), exports);
5
- (0, tslib_1.__exportStar)(require("./Sparkline.types"), exports);
4
+ tslib_1.__exportStar(require("./Sparkline"), exports);
5
+ tslib_1.__exportStar(require("./Sparkline.types"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Sparkline/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4B;AAC5B,iEAAkC","sourcesContent":["export * from './Sparkline';\nexport * from './Sparkline.types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Sparkline/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,4DAAkC","sourcesContent":["export * from './Sparkline';\nexport * from './Sparkline.types';\n"]}
@@ -17,6 +17,7 @@ export interface IMultiStackedBarChartState {
17
17
  dataPointCalloutProps?: IChartDataPoint;
18
18
  callOutAccessibilityData?: IAccessibilityProps;
19
19
  calloutLegend: string;
20
+ emptyChart?: boolean;
20
21
  }
21
22
  export declare class MultiStackedBarChartBase extends React.Component<IMultiStackedBarChartProps, IMultiStackedBarChartState> {
22
23
  static defaultProps: Partial<IMultiStackedBarChartProps>;
@@ -26,6 +27,7 @@ export declare class MultiStackedBarChartBase extends React.Component<IMultiStac
26
27
  private _longestBarTotalValue;
27
28
  private _isRTL;
28
29
  constructor(props: IMultiStackedBarChartProps);
30
+ componentDidMount(): void;
29
31
  render(): JSX.Element;
30
32
  private _createBarsAndLegends;
31
33
  private _onBarFocus;