@fluentui/react-charting 5.21.28 → 5.21.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/CHANGELOG.json +55 -1
  2. package/CHANGELOG.md +24 -2
  3. package/dist/react-charting.js +1 -0
  4. package/dist/react-charting.min.js +1 -0
  5. package/lib/AreaChart.js.map +1 -1
  6. package/lib/CartesianChart.js.map +1 -1
  7. package/lib/DonutChart.js.map +1 -1
  8. package/lib/GaugeChart.js.map +1 -1
  9. package/lib/GroupedVerticalBarChart.js.map +1 -1
  10. package/lib/HeatMapChart.js.map +1 -1
  11. package/lib/HorizontalBarChart.js.map +1 -1
  12. package/lib/HorizontalBarChartWithAxis.js.map +1 -1
  13. package/lib/Legends.js.map +1 -1
  14. package/lib/LineChart.js.map +1 -1
  15. package/lib/PieChart.js.map +1 -1
  16. package/lib/SankeyChart.js.map +1 -1
  17. package/lib/Sparkline.js.map +1 -1
  18. package/lib/StackedBarChart.js.map +1 -1
  19. package/lib/Styling.js.map +1 -1
  20. package/lib/TreeChart.js.map +1 -1
  21. package/lib/Utilities.js.map +1 -1
  22. package/lib/VerticalBarChart.js.map +1 -1
  23. package/lib/VerticalStackedBarChart.js.map +1 -1
  24. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  25. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  26. package/lib/components/AreaChart/AreaChart.styles.js.map +1 -1
  27. package/lib/components/AreaChart/AreaChart.types.js.map +1 -1
  28. package/lib/components/AreaChart/index.js.map +1 -1
  29. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  30. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  31. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  32. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  33. package/lib/components/CommonComponents/index.js.map +1 -1
  34. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  35. package/lib/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  36. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
  37. package/lib/components/DonutChart/Arc/index.js.map +1 -1
  38. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  39. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  40. package/lib/components/DonutChart/DonutChart.styles.js.map +1 -1
  41. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  42. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  43. package/lib/components/DonutChart/Pie/Pie.styles.js.map +1 -1
  44. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
  45. package/lib/components/DonutChart/Pie/index.js.map +1 -1
  46. package/lib/components/DonutChart/index.js.map +1 -1
  47. package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
  48. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  49. package/lib/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  50. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  51. package/lib/components/GaugeChart/index.js.map +1 -1
  52. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  53. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  54. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  55. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  56. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
  57. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  58. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  59. package/lib/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
  60. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  61. package/lib/components/HeatMapChart/index.js.map +1 -1
  62. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  63. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  64. package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  65. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  66. package/lib/components/HorizontalBarChart/index.js.map +1 -1
  67. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  68. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  69. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  70. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  71. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  72. package/lib/components/Legends/Legends.base.js.map +1 -1
  73. package/lib/components/Legends/Legends.js.map +1 -1
  74. package/lib/components/Legends/Legends.styles.js.map +1 -1
  75. package/lib/components/Legends/Legends.types.js.map +1 -1
  76. package/lib/components/Legends/index.js.map +1 -1
  77. package/lib/components/Legends/shape.js.map +1 -1
  78. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  79. package/lib/components/LineChart/LineChart.js.map +1 -1
  80. package/lib/components/LineChart/LineChart.styles.js.map +1 -1
  81. package/lib/components/LineChart/LineChart.types.js.map +1 -1
  82. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  83. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  84. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  85. package/lib/components/LineChart/index.js.map +1 -1
  86. package/lib/components/PieChart/Arc/Arc.js.map +1 -1
  87. package/lib/components/PieChart/Arc/Arc.styles.js.map +1 -1
  88. package/lib/components/PieChart/Arc/Arc.types.js.map +1 -1
  89. package/lib/components/PieChart/Arc/index.js.map +1 -1
  90. package/lib/components/PieChart/Pie/Pie.js.map +1 -1
  91. package/lib/components/PieChart/Pie/Pie.styles.js.map +1 -1
  92. package/lib/components/PieChart/Pie/Pie.types.js.map +1 -1
  93. package/lib/components/PieChart/Pie/index.js.map +1 -1
  94. package/lib/components/PieChart/PieChart.base.js.map +1 -1
  95. package/lib/components/PieChart/PieChart.js.map +1 -1
  96. package/lib/components/PieChart/PieChart.styles.js.map +1 -1
  97. package/lib/components/PieChart/PieChart.types.js.map +1 -1
  98. package/lib/components/PieChart/index.js.map +1 -1
  99. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  100. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  101. package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  102. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  103. package/lib/components/SankeyChart/index.js.map +1 -1
  104. package/lib/components/Sparkline/Sparkline.base.js.map +1 -1
  105. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  106. package/lib/components/Sparkline/Sparkline.styles.js.map +1 -1
  107. package/lib/components/Sparkline/Sparkline.types.js.map +1 -1
  108. package/lib/components/Sparkline/index.js.map +1 -1
  109. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  110. package/lib/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  111. package/lib/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  112. package/lib/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  113. package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  114. package/lib/components/StackedBarChart/StackedBarChart.js.map +1 -1
  115. package/lib/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  116. package/lib/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  117. package/lib/components/StackedBarChart/index.js.map +1 -1
  118. package/lib/components/TreeChart/TreeChart.base.js.map +1 -1
  119. package/lib/components/TreeChart/TreeChart.js.map +1 -1
  120. package/lib/components/TreeChart/TreeChart.styles.js.map +1 -1
  121. package/lib/components/TreeChart/TreeChart.types.js.map +1 -1
  122. package/lib/components/TreeChart/index.js.map +1 -1
  123. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  124. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  125. package/lib/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  126. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  127. package/lib/components/VerticalBarChart/index.js.map +1 -1
  128. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  129. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  130. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  131. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  132. package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
  133. package/lib/index.js.map +1 -1
  134. package/lib/types/IDataPoint.js.map +1 -1
  135. package/lib/types/IEventAnnotation.js.map +1 -1
  136. package/lib/types/ILegendDataItem.js.map +1 -1
  137. package/lib/types/index.js.map +1 -1
  138. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  139. package/lib/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
  140. package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
  141. package/lib/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
  142. package/lib/utilities/ChartHoverCard/index.js.map +1 -1
  143. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  144. package/lib/utilities/SVGTooltipText.js.map +1 -1
  145. package/lib/utilities/colors.js.map +1 -1
  146. package/lib/utilities/index.js.map +1 -1
  147. package/lib/utilities/locale-util.js.map +1 -1
  148. package/lib/utilities/test-data.js.map +1 -1
  149. package/lib/utilities/utilities.js.map +1 -1
  150. package/lib/utilities/vbc-utils.js.map +1 -1
  151. package/lib/version.js +1 -1
  152. package/lib/version.js.map +1 -1
  153. package/lib-amd/AreaChart.d.ts +1 -0
  154. package/lib-amd/AreaChart.js +6 -0
  155. package/lib-amd/AreaChart.js.map +1 -0
  156. package/lib-amd/CartesianChart.d.ts +1 -0
  157. package/lib-amd/CartesianChart.js +6 -0
  158. package/lib-amd/CartesianChart.js.map +1 -0
  159. package/lib-amd/DonutChart.d.ts +1 -0
  160. package/lib-amd/DonutChart.js +6 -0
  161. package/lib-amd/DonutChart.js.map +1 -0
  162. package/lib-amd/GaugeChart.d.ts +1 -0
  163. package/lib-amd/GaugeChart.js +6 -0
  164. package/lib-amd/GaugeChart.js.map +1 -0
  165. package/lib-amd/GroupedVerticalBarChart.d.ts +1 -0
  166. package/lib-amd/GroupedVerticalBarChart.js +6 -0
  167. package/lib-amd/GroupedVerticalBarChart.js.map +1 -0
  168. package/lib-amd/HeatMapChart.d.ts +1 -0
  169. package/lib-amd/HeatMapChart.js +6 -0
  170. package/lib-amd/HeatMapChart.js.map +1 -0
  171. package/lib-amd/HorizontalBarChart.d.ts +1 -0
  172. package/lib-amd/HorizontalBarChart.js +6 -0
  173. package/lib-amd/HorizontalBarChart.js.map +1 -0
  174. package/lib-amd/HorizontalBarChartWithAxis.d.ts +1 -0
  175. package/lib-amd/HorizontalBarChartWithAxis.js +6 -0
  176. package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -0
  177. package/lib-amd/Legends.d.ts +1 -0
  178. package/lib-amd/Legends.js +6 -0
  179. package/lib-amd/Legends.js.map +1 -0
  180. package/lib-amd/LineChart.d.ts +1 -0
  181. package/lib-amd/LineChart.js +6 -0
  182. package/lib-amd/LineChart.js.map +1 -0
  183. package/lib-amd/PieChart.d.ts +1 -0
  184. package/lib-amd/PieChart.js +6 -0
  185. package/lib-amd/PieChart.js.map +1 -0
  186. package/lib-amd/SankeyChart.d.ts +1 -0
  187. package/lib-amd/SankeyChart.js +6 -0
  188. package/lib-amd/SankeyChart.js.map +1 -0
  189. package/lib-amd/Sparkline.d.ts +1 -0
  190. package/lib-amd/Sparkline.js +6 -0
  191. package/lib-amd/Sparkline.js.map +1 -0
  192. package/lib-amd/StackedBarChart.d.ts +1 -0
  193. package/lib-amd/StackedBarChart.js +6 -0
  194. package/lib-amd/StackedBarChart.js.map +1 -0
  195. package/lib-amd/Styling.d.ts +2 -0
  196. package/lib-amd/Styling.js +75 -0
  197. package/lib-amd/Styling.js.map +1 -0
  198. package/lib-amd/TreeChart.d.ts +1 -0
  199. package/lib-amd/TreeChart.js +6 -0
  200. package/lib-amd/TreeChart.js.map +1 -0
  201. package/lib-amd/Utilities.d.ts +2 -0
  202. package/lib-amd/Utilities.js +183 -0
  203. package/lib-amd/Utilities.js.map +1 -0
  204. package/lib-amd/VerticalBarChart.d.ts +1 -0
  205. package/lib-amd/VerticalBarChart.js +6 -0
  206. package/lib-amd/VerticalBarChart.js.map +1 -0
  207. package/lib-amd/VerticalStackedBarChart.d.ts +1 -0
  208. package/lib-amd/VerticalStackedBarChart.js +6 -0
  209. package/lib-amd/VerticalStackedBarChart.js.map +1 -0
  210. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +103 -0
  211. package/lib-amd/components/AreaChart/AreaChart.base.js +652 -0
  212. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -0
  213. package/lib-amd/components/AreaChart/AreaChart.d.ts +7 -0
  214. package/lib-amd/components/AreaChart/AreaChart.js +12 -0
  215. package/lib-amd/components/AreaChart/AreaChart.js.map +1 -0
  216. package/lib-amd/components/AreaChart/AreaChart.styles.d.ts +2 -0
  217. package/lib-amd/components/AreaChart/AreaChart.styles.js +12 -0
  218. package/lib-amd/components/AreaChart/AreaChart.styles.js.map +1 -0
  219. package/lib-amd/components/AreaChart/AreaChart.types.d.ts +59 -0
  220. package/lib-amd/components/AreaChart/AreaChart.types.js +5 -0
  221. package/lib-amd/components/AreaChart/AreaChart.types.js.map +1 -0
  222. package/lib-amd/components/AreaChart/index.d.ts +2 -0
  223. package/lib-amd/components/AreaChart/index.js +7 -0
  224. package/lib-amd/components/AreaChart/index.js.map +1 -0
  225. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +62 -0
  226. package/lib-amd/components/CommonComponents/CartesianChart.base.js +593 -0
  227. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -0
  228. package/lib-amd/components/CommonComponents/CartesianChart.d.ts +7 -0
  229. package/lib-amd/components/CommonComponents/CartesianChart.js +11 -0
  230. package/lib-amd/components/CommonComponents/CartesianChart.js.map +1 -0
  231. package/lib-amd/components/CommonComponents/CartesianChart.styles.d.ts +2 -0
  232. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +180 -0
  233. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -0
  234. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +528 -0
  235. package/lib-amd/components/CommonComponents/CartesianChart.types.js +5 -0
  236. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -0
  237. package/lib-amd/components/CommonComponents/index.d.ts +2 -0
  238. package/lib-amd/components/CommonComponents/index.js +7 -0
  239. package/lib-amd/components/CommonComponents/index.js.map +1 -0
  240. package/lib-amd/components/DonutChart/Arc/Arc.d.ts +21 -0
  241. package/lib-amd/components/DonutChart/Arc/Arc.js +88 -0
  242. package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -0
  243. package/lib-amd/components/DonutChart/Arc/Arc.styles.d.ts +2 -0
  244. package/lib-amd/components/DonutChart/Arc/Arc.styles.js +33 -0
  245. package/lib-amd/components/DonutChart/Arc/Arc.styles.js.map +1 -0
  246. package/lib-amd/components/DonutChart/Arc/Arc.types.d.ts +124 -0
  247. package/lib-amd/components/DonutChart/Arc/Arc.types.js +5 -0
  248. package/lib-amd/components/DonutChart/Arc/Arc.types.js.map +1 -0
  249. package/lib-amd/components/DonutChart/Arc/index.d.ts +2 -0
  250. package/lib-amd/components/DonutChart/Arc/index.js +7 -0
  251. package/lib-amd/components/DonutChart/Arc/index.js.map +1 -0
  252. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +54 -0
  253. package/lib-amd/components/DonutChart/DonutChart.base.js +241 -0
  254. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -0
  255. package/lib-amd/components/DonutChart/DonutChart.d.ts +7 -0
  256. package/lib-amd/components/DonutChart/DonutChart.js +12 -0
  257. package/lib-amd/components/DonutChart/DonutChart.js.map +1 -0
  258. package/lib-amd/components/DonutChart/DonutChart.styles.d.ts +2 -0
  259. package/lib-amd/components/DonutChart/DonutChart.styles.js +36 -0
  260. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -0
  261. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +75 -0
  262. package/lib-amd/components/DonutChart/DonutChart.types.js +5 -0
  263. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -0
  264. package/lib-amd/components/DonutChart/Pie/Pie.d.ts +15 -0
  265. package/lib-amd/components/DonutChart/Pie/Pie.js +67 -0
  266. package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -0
  267. package/lib-amd/components/DonutChart/Pie/Pie.styles.d.ts +2 -0
  268. package/lib-amd/components/DonutChart/Pie/Pie.styles.js +24 -0
  269. package/lib-amd/components/DonutChart/Pie/Pie.styles.js.map +1 -0
  270. package/lib-amd/components/DonutChart/Pie/Pie.types.d.ts +96 -0
  271. package/lib-amd/components/DonutChart/Pie/Pie.types.js +5 -0
  272. package/lib-amd/components/DonutChart/Pie/Pie.types.js.map +1 -0
  273. package/lib-amd/components/DonutChart/Pie/index.d.ts +2 -0
  274. package/lib-amd/components/DonutChart/Pie/index.js +7 -0
  275. package/lib-amd/components/DonutChart/Pie/index.js.map +1 -0
  276. package/lib-amd/components/DonutChart/index.d.ts +3 -0
  277. package/lib-amd/components/DonutChart/index.js +8 -0
  278. package/lib-amd/components/DonutChart/index.js.map +1 -0
  279. package/lib-amd/components/GaugeChart/GaugeChart.base.d.ts +75 -0
  280. package/lib-amd/components/GaugeChart/GaugeChart.base.js +410 -0
  281. package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -0
  282. package/lib-amd/components/GaugeChart/GaugeChart.d.ts +7 -0
  283. package/lib-amd/components/GaugeChart/GaugeChart.js +11 -0
  284. package/lib-amd/components/GaugeChart/GaugeChart.js.map +1 -0
  285. package/lib-amd/components/GaugeChart/GaugeChart.styles.d.ts +2 -0
  286. package/lib-amd/components/GaugeChart/GaugeChart.styles.js +122 -0
  287. package/lib-amd/components/GaugeChart/GaugeChart.styles.js.map +1 -0
  288. package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +238 -0
  289. package/lib-amd/components/GaugeChart/GaugeChart.types.js +22 -0
  290. package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -0
  291. package/lib-amd/components/GaugeChart/index.d.ts +2 -0
  292. package/lib-amd/components/GaugeChart/index.js +7 -0
  293. package/lib-amd/components/GaugeChart/index.js.map +1 -0
  294. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +72 -0
  295. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +425 -0
  296. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -0
  297. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +7 -0
  298. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +12 -0
  299. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  300. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.d.ts +2 -0
  301. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +21 -0
  302. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -0
  303. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +111 -0
  304. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +5 -0
  305. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  306. package/lib-amd/components/GroupedVerticalBarChart/index.d.ts +2 -0
  307. package/lib-amd/components/GroupedVerticalBarChart/index.js +7 -0
  308. package/lib-amd/components/GroupedVerticalBarChart/index.js.map +1 -0
  309. package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +152 -0
  310. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +538 -0
  311. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -0
  312. package/lib-amd/components/HeatMapChart/HeatMapChart.d.ts +7 -0
  313. package/lib-amd/components/HeatMapChart/HeatMapChart.js +11 -0
  314. package/lib-amd/components/HeatMapChart/HeatMapChart.js.map +1 -0
  315. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.d.ts +2 -0
  316. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js +29 -0
  317. package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js.map +1 -0
  318. package/lib-amd/components/HeatMapChart/HeatMapChart.types.d.ts +122 -0
  319. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js +5 -0
  320. package/lib-amd/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  321. package/lib-amd/components/HeatMapChart/index.d.ts +2 -0
  322. package/lib-amd/components/HeatMapChart/index.js +7 -0
  323. package/lib-amd/components/HeatMapChart/index.js.map +1 -0
  324. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +47 -0
  325. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +270 -0
  326. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -0
  327. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.d.ts +7 -0
  328. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js +12 -0
  329. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  330. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.d.ts +2 -0
  331. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +69 -0
  332. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -0
  333. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +188 -0
  334. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js +14 -0
  335. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  336. package/lib-amd/components/HorizontalBarChart/index.d.ts +3 -0
  337. package/lib-amd/components/HorizontalBarChart/index.js +8 -0
  338. package/lib-amd/components/HorizontalBarChart/index.js.map +1 -0
  339. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +61 -0
  340. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +499 -0
  341. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
  342. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +7 -0
  343. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +12 -0
  344. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  345. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
  346. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +17 -0
  347. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
  348. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +112 -0
  349. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +5 -0
  350. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  351. package/lib-amd/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
  352. package/lib-amd/components/HorizontalBarChartWithAxis/index.js +7 -0
  353. package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  354. package/lib-amd/components/Legends/Legends.base.d.ts +43 -0
  355. package/lib-amd/components/Legends/Legends.base.js +308 -0
  356. package/lib-amd/components/Legends/Legends.base.js.map +1 -0
  357. package/lib-amd/components/Legends/Legends.d.ts +7 -0
  358. package/lib-amd/components/Legends/Legends.js +11 -0
  359. package/lib-amd/components/Legends/Legends.js.map +1 -0
  360. package/lib-amd/components/Legends/Legends.styles.d.ts +2 -0
  361. package/lib-amd/components/Legends/Legends.styles.js +111 -0
  362. package/lib-amd/components/Legends/Legends.styles.js.map +1 -0
  363. package/lib-amd/components/Legends/Legends.types.d.ts +210 -0
  364. package/lib-amd/components/Legends/Legends.types.js +5 -0
  365. package/lib-amd/components/Legends/Legends.types.js.map +1 -0
  366. package/lib-amd/components/Legends/index.d.ts +3 -0
  367. package/lib-amd/components/Legends/index.js +8 -0
  368. package/lib-amd/components/Legends/index.js.map +1 -0
  369. package/lib-amd/components/Legends/shape.d.ts +9 -0
  370. package/lib-amd/components/Legends/shape.js +27 -0
  371. package/lib-amd/components/Legends/shape.js.map +1 -0
  372. package/lib-amd/components/LineChart/LineChart.base.d.ts +92 -0
  373. package/lib-amd/components/LineChart/LineChart.base.js +861 -0
  374. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -0
  375. package/lib-amd/components/LineChart/LineChart.d.ts +7 -0
  376. package/lib-amd/components/LineChart/LineChart.js +12 -0
  377. package/lib-amd/components/LineChart/LineChart.js.map +1 -0
  378. package/lib-amd/components/LineChart/LineChart.styles.d.ts +2 -0
  379. package/lib-amd/components/LineChart/LineChart.styles.js +12 -0
  380. package/lib-amd/components/LineChart/LineChart.styles.js.map +1 -0
  381. package/lib-amd/components/LineChart/LineChart.types.d.ts +98 -0
  382. package/lib-amd/components/LineChart/LineChart.types.js +5 -0
  383. package/lib-amd/components/LineChart/LineChart.types.js.map +1 -0
  384. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.d.ts +12 -0
  385. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +97 -0
  386. package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  387. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.d.ts +24 -0
  388. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js +42 -0
  389. package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  390. package/lib-amd/components/LineChart/eventAnnotation/Textbox.d.ts +13 -0
  391. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +40 -0
  392. package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  393. package/lib-amd/components/LineChart/index.d.ts +3 -0
  394. package/lib-amd/components/LineChart/index.js +8 -0
  395. package/lib-amd/components/LineChart/index.js.map +1 -0
  396. package/lib-amd/components/PieChart/Arc/Arc.d.ts +17 -0
  397. package/lib-amd/components/PieChart/Arc/Arc.js +85 -0
  398. package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -0
  399. package/lib-amd/components/PieChart/Arc/Arc.styles.d.ts +3 -0
  400. package/lib-amd/components/PieChart/Arc/Arc.styles.js +16 -0
  401. package/lib-amd/components/PieChart/Arc/Arc.styles.js.map +1 -0
  402. package/lib-amd/components/PieChart/Arc/Arc.types.d.ts +73 -0
  403. package/lib-amd/components/PieChart/Arc/Arc.types.js +5 -0
  404. package/lib-amd/components/PieChart/Arc/Arc.types.js.map +1 -0
  405. package/lib-amd/components/PieChart/Arc/index.d.ts +2 -0
  406. package/lib-amd/components/PieChart/Arc/index.js +7 -0
  407. package/lib-amd/components/PieChart/Arc/index.js.map +1 -0
  408. package/lib-amd/components/PieChart/Pie/Pie.d.ts +10 -0
  409. package/lib-amd/components/PieChart/Pie/Pie.js +43 -0
  410. package/lib-amd/components/PieChart/Pie/Pie.js.map +1 -0
  411. package/lib-amd/components/PieChart/Pie/Pie.styles.d.ts +2 -0
  412. package/lib-amd/components/PieChart/Pie/Pie.styles.js +12 -0
  413. package/lib-amd/components/PieChart/Pie/Pie.styles.js.map +1 -0
  414. package/lib-amd/components/PieChart/Pie/Pie.types.d.ts +47 -0
  415. package/lib-amd/components/PieChart/Pie/Pie.types.js +5 -0
  416. package/lib-amd/components/PieChart/Pie/Pie.types.js.map +1 -0
  417. package/lib-amd/components/PieChart/Pie/index.d.ts +2 -0
  418. package/lib-amd/components/PieChart/Pie/index.js +7 -0
  419. package/lib-amd/components/PieChart/Pie/index.js.map +1 -0
  420. package/lib-amd/components/PieChart/PieChart.base.d.ts +10 -0
  421. package/lib-amd/components/PieChart/PieChart.base.js +46 -0
  422. package/lib-amd/components/PieChart/PieChart.base.js.map +1 -0
  423. package/lib-amd/components/PieChart/PieChart.d.ts +7 -0
  424. package/lib-amd/components/PieChart/PieChart.js +12 -0
  425. package/lib-amd/components/PieChart/PieChart.js.map +1 -0
  426. package/lib-amd/components/PieChart/PieChart.styles.d.ts +2 -0
  427. package/lib-amd/components/PieChart/PieChart.styles.js +34 -0
  428. package/lib-amd/components/PieChart/PieChart.styles.js.map +1 -0
  429. package/lib-amd/components/PieChart/PieChart.types.d.ts +75 -0
  430. package/lib-amd/components/PieChart/PieChart.types.js +5 -0
  431. package/lib-amd/components/PieChart/PieChart.types.js.map +1 -0
  432. package/lib-amd/components/PieChart/index.d.ts +2 -0
  433. package/lib-amd/components/PieChart/index.js +7 -0
  434. package/lib-amd/components/PieChart/index.js.map +1 -0
  435. package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +90 -0
  436. package/lib-amd/components/SankeyChart/SankeyChart.base.js +930 -0
  437. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -0
  438. package/lib-amd/components/SankeyChart/SankeyChart.d.ts +7 -0
  439. package/lib-amd/components/SankeyChart/SankeyChart.js +12 -0
  440. package/lib-amd/components/SankeyChart/SankeyChart.js.map +1 -0
  441. package/lib-amd/components/SankeyChart/SankeyChart.styles.d.ts +2 -0
  442. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +65 -0
  443. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -0
  444. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +146 -0
  445. package/lib-amd/components/SankeyChart/SankeyChart.types.js +5 -0
  446. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -0
  447. package/lib-amd/components/SankeyChart/index.d.ts +2 -0
  448. package/lib-amd/components/SankeyChart/index.js +7 -0
  449. package/lib-amd/components/SankeyChart/index.js.map +1 -0
  450. package/lib-amd/components/Sparkline/Sparkline.base.d.ts +23 -0
  451. package/lib-amd/components/Sparkline/Sparkline.base.js +84 -0
  452. package/lib-amd/components/Sparkline/Sparkline.base.js.map +1 -0
  453. package/lib-amd/components/Sparkline/Sparkline.d.ts +7 -0
  454. package/lib-amd/components/Sparkline/Sparkline.js +12 -0
  455. package/lib-amd/components/Sparkline/Sparkline.js.map +1 -0
  456. package/lib-amd/components/Sparkline/Sparkline.styles.d.ts +2 -0
  457. package/lib-amd/components/Sparkline/Sparkline.styles.js +15 -0
  458. package/lib-amd/components/Sparkline/Sparkline.styles.js.map +1 -0
  459. package/lib-amd/components/Sparkline/Sparkline.types.d.ts +59 -0
  460. package/lib-amd/components/Sparkline/Sparkline.types.js +5 -0
  461. package/lib-amd/components/Sparkline/Sparkline.types.js.map +1 -0
  462. package/lib-amd/components/Sparkline/index.d.ts +2 -0
  463. package/lib-amd/components/Sparkline/index.js +7 -0
  464. package/lib-amd/components/Sparkline/index.js.map +1 -0
  465. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +70 -0
  466. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +412 -0
  467. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -0
  468. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.d.ts +7 -0
  469. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js +12 -0
  470. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js.map +1 -0
  471. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.d.ts +2 -0
  472. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +89 -0
  473. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -0
  474. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.d.ts +213 -0
  475. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js +14 -0
  476. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -0
  477. package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +63 -0
  478. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +349 -0
  479. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -0
  480. package/lib-amd/components/StackedBarChart/StackedBarChart.d.ts +7 -0
  481. package/lib-amd/components/StackedBarChart/StackedBarChart.js +12 -0
  482. package/lib-amd/components/StackedBarChart/StackedBarChart.js.map +1 -0
  483. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.d.ts +2 -0
  484. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +107 -0
  485. package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +1 -0
  486. package/lib-amd/components/StackedBarChart/StackedBarChart.types.d.ts +222 -0
  487. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js +5 -0
  488. package/lib-amd/components/StackedBarChart/StackedBarChart.types.js.map +1 -0
  489. package/lib-amd/components/StackedBarChart/index.d.ts +5 -0
  490. package/lib-amd/components/StackedBarChart/index.js +10 -0
  491. package/lib-amd/components/StackedBarChart/index.js.map +1 -0
  492. package/lib-amd/components/TreeChart/TreeChart.base.d.ts +18 -0
  493. package/lib-amd/components/TreeChart/TreeChart.base.js +320 -0
  494. package/lib-amd/components/TreeChart/TreeChart.base.js.map +1 -0
  495. package/lib-amd/components/TreeChart/TreeChart.d.ts +7 -0
  496. package/lib-amd/components/TreeChart/TreeChart.js +11 -0
  497. package/lib-amd/components/TreeChart/TreeChart.js.map +1 -0
  498. package/lib-amd/components/TreeChart/TreeChart.styles.d.ts +2 -0
  499. package/lib-amd/components/TreeChart/TreeChart.styles.js +34 -0
  500. package/lib-amd/components/TreeChart/TreeChart.styles.js.map +1 -0
  501. package/lib-amd/components/TreeChart/TreeChart.types.d.ts +216 -0
  502. package/lib-amd/components/TreeChart/TreeChart.types.js +34 -0
  503. package/lib-amd/components/TreeChart/TreeChart.types.js.map +1 -0
  504. package/lib-amd/components/TreeChart/index.d.ts +2 -0
  505. package/lib-amd/components/TreeChart/index.js +7 -0
  506. package/lib-amd/components/TreeChart/index.js.map +1 -0
  507. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +84 -0
  508. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +738 -0
  509. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -0
  510. package/lib-amd/components/VerticalBarChart/VerticalBarChart.d.ts +7 -0
  511. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js +12 -0
  512. package/lib-amd/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  513. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.d.ts +2 -0
  514. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +32 -0
  515. package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -0
  516. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.d.ts +145 -0
  517. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js +5 -0
  518. package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  519. package/lib-amd/components/VerticalBarChart/index.d.ts +2 -0
  520. package/lib-amd/components/VerticalBarChart/index.js +7 -0
  521. package/lib-amd/components/VerticalBarChart/index.js.map +1 -0
  522. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +92 -0
  523. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +754 -0
  524. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -0
  525. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +7 -0
  526. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js +12 -0
  527. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  528. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.d.ts +2 -0
  529. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +22 -0
  530. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -0
  531. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +172 -0
  532. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +5 -0
  533. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  534. package/lib-amd/components/VerticalStackedBarChart/index.d.ts +2 -0
  535. package/lib-amd/components/VerticalStackedBarChart/index.js +7 -0
  536. package/lib-amd/components/VerticalStackedBarChart/index.js.map +1 -0
  537. package/lib-amd/index.d.ts +21 -0
  538. package/lib-amd/index.js +25 -0
  539. package/lib-amd/index.js.map +1 -0
  540. package/lib-amd/types/IDataPoint.d.ts +687 -0
  541. package/lib-amd/types/IDataPoint.js +5 -0
  542. package/lib-amd/types/IDataPoint.js.map +1 -0
  543. package/lib-amd/types/IEventAnnotation.d.ts +6 -0
  544. package/lib-amd/types/IEventAnnotation.js +5 -0
  545. package/lib-amd/types/IEventAnnotation.js.map +1 -0
  546. package/lib-amd/types/ILegendDataItem.d.ts +10 -0
  547. package/lib-amd/types/ILegendDataItem.js +5 -0
  548. package/lib-amd/types/ILegendDataItem.js.map +1 -0
  549. package/lib-amd/types/index.d.ts +2 -0
  550. package/lib-amd/types/index.js +7 -0
  551. package/lib-amd/types/index.js.map +1 -0
  552. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.d.ts +6 -0
  553. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +39 -0
  554. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -0
  555. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.d.ts +3 -0
  556. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js +8 -0
  557. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -0
  558. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.d.ts +2 -0
  559. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js +103 -0
  560. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -0
  561. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.d.ts +105 -0
  562. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js +5 -0
  563. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -0
  564. package/lib-amd/utilities/ChartHoverCard/index.d.ts +3 -0
  565. package/lib-amd/utilities/ChartHoverCard/index.js +8 -0
  566. package/lib-amd/utilities/ChartHoverCard/index.js.map +1 -0
  567. package/lib-amd/utilities/FocusableTooltipText.d.ts +27 -0
  568. package/lib-amd/utilities/FocusableTooltipText.js +54 -0
  569. package/lib-amd/utilities/FocusableTooltipText.js.map +1 -0
  570. package/lib-amd/utilities/SVGTooltipText.d.ts +95 -0
  571. package/lib-amd/utilities/SVGTooltipText.js +175 -0
  572. package/lib-amd/utilities/SVGTooltipText.js.map +1 -0
  573. package/lib-amd/utilities/colors.d.ts +51 -0
  574. package/lib-amd/utilities/colors.js +139 -0
  575. package/lib-amd/utilities/colors.js.map +1 -0
  576. package/lib-amd/utilities/index.d.ts +4 -0
  577. package/lib-amd/utilities/index.js +9 -0
  578. package/lib-amd/utilities/index.js.map +1 -0
  579. package/lib-amd/utilities/locale-util.d.ts +3 -0
  580. package/lib-amd/utilities/locale-util.js +24 -0
  581. package/lib-amd/utilities/locale-util.js.map +1 -0
  582. package/lib-amd/utilities/test-data.d.ts +27 -0
  583. package/lib-amd/utilities/test-data.js +214 -0
  584. package/lib-amd/utilities/test-data.js.map +1 -0
  585. package/lib-amd/utilities/utilities.d.ts +411 -0
  586. package/lib-amd/utilities/utilities.js +1085 -0
  587. package/lib-amd/utilities/utilities.js.map +1 -0
  588. package/lib-amd/utilities/vbc-utils.d.ts +2 -0
  589. package/lib-amd/utilities/vbc-utils.js +38 -0
  590. package/lib-amd/utilities/vbc-utils.js.map +1 -0
  591. package/lib-amd/version.d.ts +1 -0
  592. package/lib-amd/version.js +6 -0
  593. package/lib-amd/version.js.map +1 -0
  594. package/lib-commonjs/AreaChart.js.map +1 -1
  595. package/lib-commonjs/CartesianChart.js.map +1 -1
  596. package/lib-commonjs/DonutChart.js.map +1 -1
  597. package/lib-commonjs/GaugeChart.js.map +1 -1
  598. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
  599. package/lib-commonjs/HeatMapChart.js.map +1 -1
  600. package/lib-commonjs/HorizontalBarChart.js.map +1 -1
  601. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
  602. package/lib-commonjs/Legends.js.map +1 -1
  603. package/lib-commonjs/LineChart.js.map +1 -1
  604. package/lib-commonjs/PieChart.js.map +1 -1
  605. package/lib-commonjs/SankeyChart.js.map +1 -1
  606. package/lib-commonjs/Sparkline.js.map +1 -1
  607. package/lib-commonjs/StackedBarChart.js.map +1 -1
  608. package/lib-commonjs/Styling.js.map +1 -1
  609. package/lib-commonjs/TreeChart.js.map +1 -1
  610. package/lib-commonjs/Utilities.js.map +1 -1
  611. package/lib-commonjs/VerticalBarChart.js.map +1 -1
  612. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
  613. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  614. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  615. package/lib-commonjs/components/AreaChart/AreaChart.styles.js.map +1 -1
  616. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -1
  617. package/lib-commonjs/components/AreaChart/index.js.map +1 -1
  618. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  619. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  620. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  621. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  622. package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
  623. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  624. package/lib-commonjs/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  625. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
  626. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
  627. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  628. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  629. package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
  630. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  631. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  632. package/lib-commonjs/components/DonutChart/Pie/Pie.styles.js.map +1 -1
  633. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
  634. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
  635. package/lib-commonjs/components/DonutChart/index.js.map +1 -1
  636. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
  637. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  638. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  639. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  640. package/lib-commonjs/components/GaugeChart/index.js.map +1 -1
  641. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  642. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  643. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
  644. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  645. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
  646. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  647. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  648. package/lib-commonjs/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
  649. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  650. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
  651. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  652. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  653. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
  654. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  655. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
  656. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  657. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  658. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  659. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  660. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  661. package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
  662. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  663. package/lib-commonjs/components/Legends/Legends.styles.js.map +1 -1
  664. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  665. package/lib-commonjs/components/Legends/index.js.map +1 -1
  666. package/lib-commonjs/components/Legends/shape.js.map +1 -1
  667. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  668. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  669. package/lib-commonjs/components/LineChart/LineChart.styles.js.map +1 -1
  670. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
  671. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  672. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  673. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  674. package/lib-commonjs/components/LineChart/index.js.map +1 -1
  675. package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
  676. package/lib-commonjs/components/PieChart/Arc/Arc.styles.js.map +1 -1
  677. package/lib-commonjs/components/PieChart/Arc/Arc.types.js.map +1 -1
  678. package/lib-commonjs/components/PieChart/Arc/index.js.map +1 -1
  679. package/lib-commonjs/components/PieChart/Pie/Pie.js.map +1 -1
  680. package/lib-commonjs/components/PieChart/Pie/Pie.styles.js.map +1 -1
  681. package/lib-commonjs/components/PieChart/Pie/Pie.types.js.map +1 -1
  682. package/lib-commonjs/components/PieChart/Pie/index.js.map +1 -1
  683. package/lib-commonjs/components/PieChart/PieChart.base.js.map +1 -1
  684. package/lib-commonjs/components/PieChart/PieChart.js.map +1 -1
  685. package/lib-commonjs/components/PieChart/PieChart.styles.js.map +1 -1
  686. package/lib-commonjs/components/PieChart/PieChart.types.js.map +1 -1
  687. package/lib-commonjs/components/PieChart/index.js.map +1 -1
  688. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  689. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  690. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  691. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  692. package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
  693. package/lib-commonjs/components/Sparkline/Sparkline.base.js.map +1 -1
  694. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  695. package/lib-commonjs/components/Sparkline/Sparkline.styles.js.map +1 -1
  696. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -1
  697. package/lib-commonjs/components/Sparkline/index.js.map +1 -1
  698. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  699. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
  700. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
  701. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
  702. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  703. package/lib-commonjs/components/StackedBarChart/StackedBarChart.js.map +1 -1
  704. package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
  705. package/lib-commonjs/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
  706. package/lib-commonjs/components/StackedBarChart/index.js.map +1 -1
  707. package/lib-commonjs/components/TreeChart/TreeChart.base.js.map +1 -1
  708. package/lib-commonjs/components/TreeChart/TreeChart.js.map +1 -1
  709. package/lib-commonjs/components/TreeChart/TreeChart.styles.js.map +1 -1
  710. package/lib-commonjs/components/TreeChart/TreeChart.types.js.map +1 -1
  711. package/lib-commonjs/components/TreeChart/index.js.map +1 -1
  712. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  713. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  714. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
  715. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  716. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
  717. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  718. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  719. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
  720. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  721. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
  722. package/lib-commonjs/index.js.map +1 -1
  723. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  724. package/lib-commonjs/types/IEventAnnotation.js.map +1 -1
  725. package/lib-commonjs/types/ILegendDataItem.js.map +1 -1
  726. package/lib-commonjs/types/index.js.map +1 -1
  727. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  728. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
  729. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
  730. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
  731. package/lib-commonjs/utilities/ChartHoverCard/index.js.map +1 -1
  732. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  733. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  734. package/lib-commonjs/utilities/colors.js.map +1 -1
  735. package/lib-commonjs/utilities/index.js.map +1 -1
  736. package/lib-commonjs/utilities/locale-util.js.map +1 -1
  737. package/lib-commonjs/utilities/test-data.js.map +1 -1
  738. package/lib-commonjs/utilities/utilities.js.map +1 -1
  739. package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
  740. package/lib-commonjs/version.js +1 -1
  741. package/lib-commonjs/version.js.map +1 -1
  742. package/package.json +4 -4
  743. package/project.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.base.js","sourceRoot":"../src/","sources":["components/LineChart/LineChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { select as d3Select, pointer } from 'd3-selection';\nimport { bisector } from 'd3-array';\nimport { ILegend, Legends } from '../Legends/index';\nimport { line as d3Line, curveLinear as d3curveLinear } from 'd3-shape';\nimport { classNamesFunction, getId, find, memoizeFunction, getRTL } from '@fluentui/react/lib/Utilities';\nimport {\n IAccessibilityProps,\n CartesianChart,\n IBasestate,\n IChildProps,\n ILineChartProps,\n ILineChartPoints,\n ICustomizedCalloutData,\n IMargins,\n IRefArrayData,\n IColorFillBarsProps,\n ILineChartStyleProps,\n ILineChartStyles,\n ILineChartGap,\n ILineChartDataPoint,\n} from '../../index';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { EventsAnnotation } from './eventAnnotation/EventAnnotation';\nimport {\n calloutData,\n ChartTypes,\n getXAxisType,\n XAxisTypes,\n tooltipOfXAxislabels,\n Points,\n pointTypes,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n findNumericMinMaxOfY,\n createNumericYAxis,\n IDomainNRange,\n domainRangeOfDateForAreaLineVerticalBarChart,\n domainRangeOfNumericForAreaChart,\n createStringYAxis,\n formatDate,\n} from '../../utilities/index';\n\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\nconst getClassNames = classNamesFunction<ILineChartStyleProps, ILineChartStyles>();\n\nenum PointSize {\n hoverSize = 11,\n invisibleSize = 1,\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bisect = bisector((d: any) => d.x).left;\n\nconst DEFAULT_LINE_STROKE_SIZE = 4;\n// The given shape of a icon must be 2.5 times bigger than line width (known as stroke width)\nconst PATH_MULTIPLY_SIZE = 2.5;\n\n/**\n *\n * @param x units from origin\n * @param y units from origin\n * @param w is the legnth of the each side of a shape\n * @param index index to get the shape path\n */\nconst _getPointPath = (x: number, y: number, w: number, index: number): string => {\n const allPointPaths = [\n // circle path\n `M${x - w / 2} ${y}\n A${w / 2} ${w / 2} 0 1 0 ${x + w / 2} ${y}\n M${x - w / 2} ${y}\n A ${w / 2} ${w / 2} 0 1 1 ${x + w / 2} ${y}\n `,\n //square\n `M${x - w / 2} ${y - w / 2}\n L${x + w / 2} ${y - w / 2}\n L${x + w / 2} ${y + w / 2}\n L${x - w / 2} ${y + w / 2}\n Z`,\n //triangle\n `M${x - w / 2} ${y - 0.2886 * w}\n H ${x + w / 2}\n L${x} ${y + 0.5774 * w} Z`,\n //diamond\n `M${x} ${y - w / 2}\n L${x + w / 2} ${y}\n L${x} ${y + w / 2}\n L${x - w / 2} ${y}\n Z`,\n //pyramid\n `M${x} ${y - 0.5774 * w}\n L${x + w / 2} ${y + 0.2886 * w}\n L${x - w / 2} ${y + 0.2886 * w} Z`,\n //hexagon\n `M${x - 0.5 * w} ${y - 0.866 * w}\n L${x + 0.5 * w} ${y - 0.866 * w}\n L${x + w} ${y}\n L${x + 0.5 * w} ${y + 0.866 * w}\n L${x - 0.5 * w} ${y + 0.866 * w}\n L${x - w} ${y}\n Z`,\n //pentagon\n `M${x} ${y - 0.851 * w}\n L${x + 0.6884 * w} ${y - 0.2633 * w}\n L${x + 0.5001 * w} ${y + 0.6884 * w}\n L${x - 0.5001 * w} ${y + 0.6884 * w}\n L${x - 0.6884 * w} ${y - 0.2633 * w}\n Z`,\n //octagon\n `M${x - 0.5001 * w} ${y - 1.207 * w}\n L${x + 0.5001 * w} ${y - 1.207 * w}\n L${x + 1.207 * w} ${y - 0.5001 * w}\n L${x + 1.207 * w} ${y + 0.5001 * w}\n L${x + 0.5001 * w} ${y + 1.207 * w}\n L${x - 0.5001 * w} ${y + 1.207 * w}\n L${x - 1.207 * w} ${y + 0.5001 * w}\n L${x - 1.207 * w} ${y - 0.5001 * w}\n Z`,\n ];\n return allPointPaths[index];\n};\n\ntype LineChartDataWithIndex = ILineChartPoints & { index: number };\n\nexport interface ILineChartState extends IBasestate {\n // This array contains data of selected legends for points\n selectedLegendPoints: LineChartDataWithIndex[];\n // This array contains data of selected legends for color bars\n selectedColorBarLegend: IColorFillBarsProps[];\n // This is a boolean value which is set to true\n // when at least one legend is selected\n isSelectedLegend: boolean;\n // This value will be used as customized callout props - point callout.\n dataPointCalloutProps?: ICustomizedCalloutData;\n // This value will be used as Customized callout props - For stack callout.\n stackCalloutProps?: ICustomizedCalloutData;\n // active or hovered point\n activePoint?: string;\n // x-axis callout accessibility data\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n\n nearestCircleToHighlight: ILineChartDataPoint | null;\n\n activeLine: number | null;\n}\n\nexport class LineChartBase extends React.Component<ILineChartProps, ILineChartState> {\n public static defaultProps: Partial<ILineChartProps> = {\n enableReflow: true,\n useUTC: true,\n };\n\n private _points: LineChartDataWithIndex[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _calloutPoints: any[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xAxisScale: any = '';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _yAxisScale: any = '';\n private _circleId: string;\n private _lineId: string;\n private _borderId: string;\n private _verticalLine: string;\n private _colorFillBarPatternId: string;\n private _uniqueCallOutID: string | null;\n private _refArray: IRefArrayData[];\n private margins: IMargins;\n private eventLabelHeight: number = 36;\n private lines: JSX.Element[];\n private _renderedColorFillBars: JSX.Element[];\n private _colorFillBars: IColorFillBarsProps[];\n private _tooltipId: string;\n private _rectId: string;\n private _staticHighlightCircle: string;\n private _createLegendsMemoized: (data: LineChartDataWithIndex[]) => JSX.Element;\n private _firstRenderOptimization: boolean;\n private _emptyChartId: string;\n private _isRTL: boolean = getRTL();\n\n constructor(props: ILineChartProps) {\n super(props);\n this.state = {\n hoverXValue: '',\n activeLegend: '',\n YValueHover: [],\n refSelected: '',\n selectedLegend: '',\n isCalloutVisible: false,\n selectedLegendPoints: [],\n selectedColorBarLegend: [],\n isSelectedLegend: false,\n activePoint: '',\n nearestCircleToHighlight: null,\n activeLine: null,\n };\n this._refArray = [];\n this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);\n this._colorFillBars = [];\n this._calloutPoints = calloutData(this._points) || [];\n this._circleId = getId('circle');\n this._lineId = getId('lineID');\n this._borderId = getId('borderID');\n this._verticalLine = getId('verticalLine');\n this._colorFillBarPatternId = getId('colorFillBarPattern');\n this._tooltipId = getId('LineChartTooltipId_');\n this._rectId = getId('containerRectLD');\n this._staticHighlightCircle = getId('staticHighlightCircle');\n this._createLegendsMemoized = memoizeFunction((data: LineChartDataWithIndex[]) => this._createLegends(data));\n this._firstRenderOptimization = true;\n this._emptyChartId = getId('_LineChart_empty');\n\n props.eventAnnotationProps &&\n props.eventAnnotationProps.labelHeight &&\n (this.eventLabelHeight = props.eventAnnotationProps.labelHeight);\n }\n\n public componentDidUpdate(prevProps: ILineChartProps): void {\n /** note that height and width are not used to resize or set as dimesions of the chart,\n * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart\n */\n if (\n prevProps.height !== this.props.height ||\n prevProps.width !== this.props.width ||\n prevProps.data !== this.props.data\n ) {\n this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);\n this._calloutPoints = calloutData(this._points) || [];\n }\n }\n\n public render(): JSX.Element {\n const { tickValues, tickFormat, eventAnnotationProps, legendProps, data } = this.props;\n this._points = this._injectIndexPropertyInLineChartData(data.lineChartData);\n\n const isXAxisDateType = getXAxisType(this._points);\n let points = this._points;\n if (legendProps && !!legendProps.canSelectMultipleLegends) {\n points = this.state.selectedLegendPoints.length >= 1 ? this.state.selectedLegendPoints : this._points;\n this._calloutPoints = calloutData(points);\n }\n\n let legendBars = null;\n // reduce computation cost by only creating legendBars\n // if when hideLegend is false.\n // NOTE: they are rendered only when hideLegend is false in CartesianChart.\n if (!this.props.hideLegend) {\n legendBars = this._createLegendsMemoized(this._points!);\n }\n const calloutProps = {\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n id: `toolTip${this._uniqueCallOutID}`,\n target: this.state.refSelected,\n isBeakVisible: false,\n gapSpace: 15,\n onDismiss: this._closeCallout,\n preventDismissOnEvent: () => true,\n hidden: !(!this.props.hideTooltip && this.state.isCalloutVisible),\n descriptionMessage:\n this.props.getCalloutDescriptionMessage && this.state.stackCalloutProps\n ? this.props.getCalloutDescriptionMessage(this.state.stackCalloutProps)\n : undefined,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData: this.state.xAxisCalloutAccessibilityData,\n ...this.props.calloutProps,\n };\n const tickParams = {\n tickValues,\n tickFormat,\n };\n\n return !this._isChartEmpty() ? (\n <CartesianChart\n {...this.props}\n chartTitle={this._getChartTitle()}\n points={points}\n chartType={ChartTypes.LineChart}\n isCalloutForStack\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={legendBars}\n createYAxis={createNumericYAxis}\n getmargins={this._getMargins}\n getMinMaxOfYAxis={findNumericMinMaxOfY}\n getGraphData={this._initializeLineChartData}\n xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}\n customizedCallout={this._getCustomizedCallout()}\n getDomainNRangeValues={this._getDomainNRangeValues}\n createStringYAxis={createStringYAxis}\n onChartMouseLeave={this._handleChartMouseLeave}\n enableFirstRenderOptimization={this.props.enablePerfOptimization && this._firstRenderOptimization}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n this._xAxisScale = props.xScale!;\n this._yAxisScale = props.yScale!;\n return (\n <>\n <g>\n <line\n x1={0}\n y1={0}\n x2={0}\n y2={props.containerHeight}\n stroke={'#323130'}\n id={this._verticalLine}\n visibility={'hidden'}\n strokeDasharray={'5,5'}\n />\n {this.props.optimizeLargeData ? (\n <rect\n id={this._rectId}\n width={props.containerWidth}\n height={props.containerHeight}\n fill={'transparent'}\n />\n ) : (\n <></>\n )}\n <g>\n {this._renderedColorFillBars}\n {this.lines}\n </g>\n {eventAnnotationProps && (\n <EventsAnnotation\n theme={this.props.theme}\n {...eventAnnotationProps}\n scale={props.xScale!}\n chartYTop={this.margins.top! + this.eventLabelHeight}\n chartYBottom={props.containerHeight! - 35}\n />\n )}\n </g>\n </>\n );\n }}\n />\n ) : (\n <div\n id={this._emptyChartId}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n\n private _getDomainNRangeValues = (\n points: ILineChartPoints[],\n margins: IMargins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ) => {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis) {\n domainNRangeValue = domainRangeOfNumericForAreaChart(points, margins, width, isRTL);\n } else if (xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = domainRangeOfDateForAreaLineVerticalBarChart(\n points,\n margins,\n width,\n isRTL,\n tickValues! as Date[],\n chartType,\n barWidth,\n );\n } else {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n return domainNRangeValue;\n };\n\n private _injectIndexPropertyInLineChartData = (lineChartData?: ILineChartPoints[]): LineChartDataWithIndex[] | [] => {\n const { allowMultipleShapesForPoints = false } = this.props;\n return lineChartData\n ? lineChartData.map((item: ILineChartPoints, index: number) => {\n let color: string;\n // isInverted property is applicable to v8 themes only\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0, this.props.theme?.isInverted);\n } else {\n color = getColorFromToken(item.color, this.props.theme?.isInverted);\n }\n\n return {\n ...item,\n index: allowMultipleShapesForPoints ? index : -1,\n color,\n };\n })\n : [];\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerStack\n ? this.props.onRenderCalloutPerStack(this.state.stackCalloutProps)\n : this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n : null;\n };\n\n private _getMargins = (margins: IMargins) => {\n this.margins = margins;\n };\n\n private _initializeLineChartData = (\n xScale: NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) => {\n this._xAxisScale = xScale;\n this._yAxisScale = yScale;\n this._renderedColorFillBars = this.props.colorFillBars ? this._createColorFillBars(containerHeight) : [];\n this.lines = this._createLines(xElement!, containerHeight!);\n };\n\n private _handleSingleLegendSelectionAction = (lineChartItem: LineChartDataWithIndex | IColorFillBarsProps) => {\n if (this.state.selectedLegend === lineChartItem.legend) {\n this.setState({ selectedLegend: '' });\n this._handleLegendClick(lineChartItem, null);\n } else {\n this.setState({ selectedLegend: lineChartItem.legend });\n this._handleLegendClick(lineChartItem, lineChartItem.legend);\n }\n };\n\n private _onHoverCardHide = () => {\n this.setState({\n selectedLegendPoints: [],\n selectedColorBarLegend: [],\n isSelectedLegend: false,\n });\n };\n\n private _createLegends(data: LineChartDataWithIndex[]): JSX.Element {\n const { legendProps, allowMultipleShapesForPoints = false } = this.props;\n const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);\n const legendDataItems = data.map((point: LineChartDataWithIndex) => {\n const color: string = point.color!;\n // mapping data to the format Legends component needs\n const legend: ILegend = {\n title: point.legend!,\n color,\n action: () => {\n if (isLegendMultiSelectEnabled) {\n this._handleMultipleLineLegendSelectionAction(point);\n } else {\n this._handleSingleLegendSelectionAction(point);\n }\n },\n onMouseOutAction: () => {\n this.setState({ activeLegend: '' });\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this.setState({ activeLegend: point.legend });\n },\n ...(point.legendShape && {\n shape: point.legendShape,\n }),\n ...(allowMultipleShapesForPoints && {\n shape: Points[point.index % Object.keys(pointTypes).length] as ILegend['shape'],\n }),\n };\n return legend;\n });\n\n const colorFillBarsLegendDataItems = this.props.colorFillBars\n ? this.props.colorFillBars.map((colorFillBar: IColorFillBarsProps, index: number) => {\n const title = colorFillBar.legend;\n // isInverted property is applicable to v8 themes only\n const color = getColorFromToken(colorFillBar.color, this.props.theme?.isInverted);\n const legend: ILegend = {\n title,\n color,\n action: () => {\n if (isLegendMultiSelectEnabled) {\n this._handleMultipleColorFillBarLegendSelectionAction(colorFillBar);\n } else {\n this._handleSingleLegendSelectionAction(colorFillBar);\n }\n },\n onMouseOutAction: () => {\n this.setState({ activeLegend: '' });\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this.setState({ activeLegend: title });\n },\n opacity: this._getColorFillBarOpacity(colorFillBar),\n stripePattern: colorFillBar.applyPattern,\n };\n return legend;\n })\n : [];\n\n return (\n <Legends\n legends={[...legendDataItems, ...colorFillBarsLegendDataItems]}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n overflowProps={this.props.legendsOverflowProps}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n overflowText={this.props.legendsOverflowText}\n {...(isLegendMultiSelectEnabled && { onLegendHoverCardLeave: this._onHoverCardHide })}\n {...this.props.legendProps}\n />\n );\n }\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _getBoxWidthOfShape = (pointId: string, pointIndex: number, isLastPoint: boolean) => {\n const { allowMultipleShapesForPoints = false, strokeWidth = DEFAULT_LINE_STROKE_SIZE } = this.props;\n const { activePoint } = this.state;\n if (allowMultipleShapesForPoints) {\n if (activePoint === pointId) {\n return PointSize.hoverSize;\n } else if (pointIndex === 1 || isLastPoint) {\n return strokeWidth * PATH_MULTIPLY_SIZE;\n } else {\n return PointSize.invisibleSize;\n }\n } else {\n if (activePoint === pointId) {\n return PointSize.hoverSize;\n } else {\n return PointSize.invisibleSize;\n }\n }\n };\n\n private _getPath = (\n xPos: number,\n yPos: number,\n pointId: string,\n pointIndex: number,\n isLastPoint: boolean,\n pointOftheLine: number,\n ): string => {\n const { allowMultipleShapesForPoints = false } = this.props;\n let w = this._getBoxWidthOfShape(pointId, pointIndex, isLastPoint);\n const index: number = allowMultipleShapesForPoints ? pointOftheLine % Object.keys(pointTypes).length : 0;\n const widthRatio = pointTypes[index].widthRatio;\n w = widthRatio > 1 ? w / widthRatio : w;\n\n return _getPointPath(xPos, yPos, w, index);\n };\n private _getPointFill = (lineColor: string, pointId: string, pointIndex: number, isLastPoint: boolean) => {\n const { activePoint } = this.state;\n const { theme, allowMultipleShapesForPoints = false } = this.props;\n if (allowMultipleShapesForPoints) {\n if (pointIndex === 1 || isLastPoint) {\n if (activePoint === pointId) {\n return theme!.semanticColors.bodyBackground;\n } else {\n return lineColor;\n }\n } else {\n if (activePoint === pointId) {\n return theme!.semanticColors.bodyBackground;\n } else {\n return lineColor;\n }\n }\n } else {\n if (activePoint === pointId) {\n return theme!.semanticColors.bodyBackground;\n } else {\n return lineColor;\n }\n }\n };\n private _createLines(xElement: SVGElement, containerHeight: number): JSX.Element[] {\n const lines: JSX.Element[] = [];\n if (this.state.isSelectedLegend) {\n this._points = this.state.selectedLegendPoints;\n } else {\n this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);\n }\n for (let i = this._points.length - 1; i >= 0; i--) {\n const linesForLine: JSX.Element[] = [];\n const bordersForLine: JSX.Element[] = [];\n const pointsForLine: JSX.Element[] = [];\n\n const legendVal: string = this._points[i].legend;\n const lineColor: string = this._points[i].color!;\n const { activePoint } = this.state;\n const { theme } = this.props;\n const verticaLineHeight = containerHeight - this.margins.bottom! + 6;\n if (this._points[i].data.length === 1) {\n const { x: x1, y: y1, xAxisCalloutData, xAxisCalloutAccessibilityData } = this._points[i].data[0];\n const circleId = `${this._circleId}_${i}`;\n const isLegendSelected: boolean =\n this._legendHighlighted(legendVal) || this._noLegendHighlighted() || this.state.isSelectedLegend;\n pointsForLine.push(\n <circle\n id={circleId}\n key={circleId}\n r={activePoint === circleId ? 5.5 : 3.5}\n cx={this._xAxisScale(x1)}\n cy={this._yAxisScale(y1)}\n fill={activePoint === circleId ? theme!.semanticColors.bodyBackground : lineColor}\n opacity={isLegendSelected ? 1 : 0.1}\n onMouseOver={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseMove={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseOut={this._handleMouseOut}\n strokeWidth={activePoint === circleId ? DEFAULT_LINE_STROKE_SIZE : 0}\n stroke={activePoint === circleId ? lineColor : ''}\n role=\"img\"\n aria-label={this._getAriaLabel(i, 0)}\n data-is-focusable={isLegendSelected}\n ref={(e: SVGCircleElement | null) => {\n this._refCallback(e!, circleId);\n }}\n onFocus={() => this._handleFocus(circleId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData)}\n onBlur={this._handleMouseOut}\n {...this._getClickHandler(this._points[i].data[0].onDataPointClick)}\n />,\n );\n }\n\n let gapIndex = 0;\n const gaps = this._points[i].gaps?.sort((a, b) => a.startIndex - b.startIndex) ?? [];\n\n // Use path rendering technique for larger datasets to optimize performance.\n if (this.props.optimizeLargeData && this._points[i].data.length > 1) {\n const line = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => this._xAxisScale(d[0]))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => this._yAxisScale(d[1]))\n .curve(d3curveLinear);\n\n const lineId = `${this._lineId}_${i}`;\n const borderId = `${this._borderId}_${i}`;\n const strokeWidth =\n this._points[i].lineOptions?.strokeWidth || this.props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;\n\n const isLegendSelected: boolean =\n this._legendHighlighted(legendVal) || this._noLegendHighlighted() || this.state.isSelectedLegend;\n\n const lineData: [number, number][] = [];\n for (let k = 0; k < this._points[i].data.length; k++) {\n lineData.push([\n this._points[i].data[k].x instanceof Date\n ? (this._points[i].data[k].x as Date).getTime()\n : (this._points[i].data[k].x as number),\n this._points[i].data[k].y,\n ]);\n }\n\n if (isLegendSelected) {\n const lineBorderWidth = this._points[i].lineOptions?.lineBorderWidth\n ? Number.parseFloat(this._points[i].lineOptions!.lineBorderWidth!.toString())\n : 0;\n if (lineBorderWidth > 0) {\n bordersForLine.push(\n <path\n id={borderId}\n key={borderId}\n d={line(lineData)!}\n fill=\"transparent\"\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n strokeWidth={Number.parseFloat(strokeWidth.toString()) + lineBorderWidth}\n stroke={this._points[i].lineOptions?.lineBorderColor || theme!.semanticColors.bodyBackground}\n opacity={1}\n />,\n );\n }\n\n linesForLine.push(\n <path\n id={lineId}\n key={lineId}\n d={line(lineData)!}\n fill=\"transparent\"\n data-is-focusable={true}\n stroke={lineColor}\n strokeWidth={strokeWidth}\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n onMouseMove={this._onMouseOverLargeDataset.bind(this, i, verticaLineHeight)}\n onMouseOver={this._onMouseOverLargeDataset.bind(this, i, verticaLineHeight)}\n onMouseOut={this._handleMouseOut}\n {...this._getClickHandler(this._points[i].onLineClick)}\n opacity={1}\n />,\n );\n } else {\n linesForLine.push(\n <path\n id={lineId}\n key={lineId}\n d={line(lineData)!}\n fill=\"transparent\"\n data-is-focusable={false}\n stroke={lineColor}\n strokeWidth={strokeWidth}\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n opacity={0.1}\n />,\n );\n }\n\n const isPointHighlighted = this.state.activeLine !== null && this.state.activeLine === i;\n\n pointsForLine.push(\n <circle\n id={`${this._staticHighlightCircle}_${i}`}\n key={`${this._staticHighlightCircle}_${i}`}\n r={5.5}\n cx={0}\n cy={0}\n fill={theme!.semanticColors.bodyBackground}\n strokeWidth={DEFAULT_LINE_STROKE_SIZE}\n stroke={lineColor}\n visibility={isPointHighlighted ? 'visibility' : 'hidden'}\n onMouseMove={this._onMouseOverLargeDataset.bind(this, i, verticaLineHeight)}\n onMouseOver={this._onMouseOverLargeDataset.bind(this, i, verticaLineHeight)}\n onMouseOut={this._handleMouseOut}\n />,\n );\n } else if (!this.props.optimizeLargeData) {\n for (let j = 1; j < this._points[i].data.length; j++) {\n const gapResult = this._checkInGap(j, gaps, gapIndex);\n const isInGap = gapResult.isInGap;\n gapIndex = gapResult.gapIndex;\n\n const lineId = `${this._lineId}_${i}_${j}`;\n const borderId = `${this._borderId}_${i}_${j}`;\n const circleId = `${this._circleId}_${i}_${j}`;\n const { x: x1, y: y1, xAxisCalloutData, xAxisCalloutAccessibilityData } = this._points[i].data[j - 1];\n const { x: x2, y: y2 } = this._points[i].data[j];\n let path = this._getPath(\n this._xAxisScale(x1),\n this._yAxisScale(y1),\n circleId,\n j,\n false,\n this._points[i].index,\n );\n const strokeWidth =\n this._points[i].lineOptions?.strokeWidth || this.props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;\n\n const isLegendSelected: boolean =\n this._legendHighlighted(legendVal) || this._noLegendHighlighted() || this.state.isSelectedLegend;\n\n const currentPointHidden = this._points[i].hideNonActiveDots && activePoint !== circleId;\n pointsForLine.push(\n <path\n id={circleId}\n key={circleId}\n d={path}\n data-is-focusable={isLegendSelected}\n onMouseOver={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseMove={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseOut={this._handleMouseOut}\n onFocus={() => this._handleFocus(lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData)}\n onBlur={this._handleMouseOut}\n {...this._getClickHandler(this._points[i].data[j - 1].onDataPointClick)}\n opacity={isLegendSelected && !currentPointHidden ? 1 : 0.01}\n fill={this._getPointFill(lineColor, circleId, j, false)}\n stroke={lineColor}\n strokeWidth={strokeWidth}\n role=\"img\"\n aria-label={this._getAriaLabel(i, j - 1)}\n />,\n );\n if (j + 1 === this._points[i].data.length) {\n // If this is last point of the line segment.\n const lastCircleId = `${circleId}${j}L`;\n const hiddenHoverCircleId = `${circleId}${j}D`;\n const lastPointHidden = this._points[i].hideNonActiveDots && activePoint !== lastCircleId;\n path = this._getPath(\n this._xAxisScale(x2),\n this._yAxisScale(y2),\n lastCircleId,\n j,\n true,\n this._points[i].index,\n );\n const {\n xAxisCalloutData: lastCirlceXCallout,\n xAxisCalloutAccessibilityData: lastCirlceXCalloutAccessibilityData,\n } = this._points[i].data[j];\n pointsForLine.push(\n <React.Fragment key={`${lastCircleId}_container`}>\n <path\n id={lastCircleId}\n key={lastCircleId}\n d={path}\n data-is-focusable={isLegendSelected}\n onMouseOver={this._handleHover.bind(\n this,\n x2,\n y2,\n verticaLineHeight,\n lastCirlceXCallout,\n lastCircleId,\n lastCirlceXCalloutAccessibilityData,\n )}\n onMouseMove={this._handleHover.bind(\n this,\n x2,\n y2,\n verticaLineHeight,\n lastCirlceXCallout,\n lastCircleId,\n lastCirlceXCalloutAccessibilityData,\n )}\n onMouseOut={this._handleMouseOut}\n onFocus={() =>\n this._handleFocus(lineId, x2, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData)\n }\n onBlur={this._handleMouseOut}\n {...this._getClickHandler(this._points[i].data[j].onDataPointClick)}\n opacity={isLegendSelected && !lastPointHidden ? 1 : 0.01}\n fill={this._getPointFill(lineColor, lastCircleId, j, true)}\n stroke={lineColor}\n strokeWidth={strokeWidth}\n role=\"img\"\n aria-label={this._getAriaLabel(i, j)}\n />\n {/* Dummy circle acting as magnetic latch for last callout point */}\n <circle\n id={hiddenHoverCircleId}\n key={hiddenHoverCircleId}\n r={8}\n cx={this._xAxisScale(x2)}\n cy={this._yAxisScale(y2)}\n opacity={0}\n width={0}\n onMouseOver={this._handleHover.bind(\n this,\n x2,\n y2,\n verticaLineHeight,\n lastCirlceXCallout,\n lastCircleId,\n lastCirlceXCalloutAccessibilityData,\n )}\n onMouseMove={this._handleHover.bind(\n this,\n x2,\n y2,\n verticaLineHeight,\n lastCirlceXCallout,\n lastCircleId,\n lastCirlceXCalloutAccessibilityData,\n )}\n onMouseOut={this._handleMouseOut}\n strokeWidth={0}\n focusable={false}\n onBlur={this._handleMouseOut}\n />\n </React.Fragment>,\n );\n /* eslint-enable react/jsx-no-bind */\n }\n\n if (isLegendSelected) {\n // don't draw line if it is in a gap\n if (!isInGap) {\n const lineBorderWidth = this._points[i].lineOptions?.lineBorderWidth\n ? Number.parseFloat(this._points[i].lineOptions!.lineBorderWidth!.toString())\n : 0;\n if (lineBorderWidth > 0) {\n bordersForLine.push(\n <line\n id={borderId}\n key={borderId}\n x1={this._xAxisScale(x1)}\n y1={this._yAxisScale(y1)}\n x2={this._xAxisScale(x2)}\n y2={this._yAxisScale(y2)}\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n strokeWidth={Number.parseFloat(strokeWidth.toString()) + lineBorderWidth}\n stroke={this._points[i].lineOptions?.lineBorderColor || theme!.semanticColors.bodyBackground}\n opacity={1}\n />,\n );\n }\n\n linesForLine.push(\n <line\n id={lineId}\n key={lineId}\n x1={this._xAxisScale(x1)}\n y1={this._yAxisScale(y1)}\n x2={this._xAxisScale(x2)}\n y2={this._yAxisScale(y2)}\n strokeWidth={strokeWidth}\n ref={(e: SVGLineElement | null) => {\n this._refCallback(e!, lineId);\n }}\n onMouseOver={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseMove={this._handleHover.bind(\n this,\n x1,\n y1,\n verticaLineHeight,\n xAxisCalloutData,\n circleId,\n xAxisCalloutAccessibilityData,\n )}\n onMouseOut={this._handleMouseOut}\n stroke={lineColor}\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n strokeDasharray={this._points[i].lineOptions?.strokeDasharray}\n strokeDashoffset={this._points[i].lineOptions?.strokeDashoffset}\n opacity={1}\n {...this._getClickHandler(this._points[i].onLineClick)}\n />,\n );\n }\n } else {\n if (!isInGap) {\n linesForLine.push(\n <line\n id={lineId}\n key={lineId}\n x1={this._xAxisScale(x1)}\n y1={this._yAxisScale(y1)}\n x2={this._xAxisScale(x2)}\n y2={this._yAxisScale(y2)}\n strokeWidth={strokeWidth}\n stroke={lineColor}\n strokeLinecap={this._points[i].lineOptions?.strokeLinecap ?? 'round'}\n strokeDasharray={this._points[i].lineOptions?.strokeDasharray}\n strokeDashoffset={this._points[i].lineOptions?.strokeDashoffset}\n opacity={0.1}\n />,\n );\n }\n }\n }\n }\n\n lines.push(\n <g\n key={`line_${i}`}\n role=\"region\"\n aria-label={`${legendVal}, line ${i + 1} of ${this._points.length} with ${\n this._points[i].data.length\n } data points.`}\n >\n {bordersForLine}\n {linesForLine}\n {pointsForLine}\n </g>,\n );\n }\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(this._xAxisScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return lines;\n }\n\n private _createColorFillBars = (containerHeight: number) => {\n const colorFillBars: JSX.Element[] = [];\n if (this.state.isSelectedLegend) {\n this._colorFillBars = this.state.selectedColorBarLegend;\n } else {\n this._colorFillBars = this.props.colorFillBars!;\n }\n\n const yMinMaxValues = findNumericMinMaxOfY(this._points);\n const FILL_Y_PADDING = 3;\n for (let i = 0; i < this._colorFillBars.length; i++) {\n const colorFillBar = this._colorFillBars[i];\n const colorFillBarId = getId(colorFillBar.legend.replace(/\\W/g, ''));\n // isInverted property is applicable to v8 themes only\n const color = getColorFromToken(colorFillBar.color, this.props.theme?.isInverted);\n\n if (colorFillBar.applyPattern) {\n // Using a pattern element because CSS was unable to render diagonal stripes for rect elements\n colorFillBars.push(this._getStripePattern(color, i));\n }\n\n for (let j = 0; j < colorFillBar.data.length; j++) {\n const startX = colorFillBar.data[j].startX;\n const endX = colorFillBar.data[j].endX;\n const opacity =\n this._legendHighlighted(colorFillBar.legend) || this._noLegendHighlighted() || this.state.isSelectedLegend\n ? this._getColorFillBarOpacity(colorFillBar)\n : 0.1;\n colorFillBars.push(\n <rect\n fill={colorFillBar.applyPattern ? `url(#${this._colorFillBarPatternId}_${i})` : color}\n fillOpacity={opacity}\n x={this._isRTL ? this._xAxisScale(endX) : this._xAxisScale(startX)}\n y={this._yAxisScale(yMinMaxValues.endValue) - FILL_Y_PADDING}\n width={Math.abs(this._xAxisScale(endX) - this._xAxisScale(startX))}\n height={\n this._yAxisScale(this.props.yMinValue || 0) - this._yAxisScale(yMinMaxValues.endValue) + FILL_Y_PADDING\n }\n key={`${colorFillBarId}${j}`}\n />,\n );\n }\n }\n return colorFillBars;\n };\n\n private _getStripePattern = (color: string, id: number) => {\n // This describes a tile pattern that resembles diagonal stripes\n // For more information: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d\n const stripePath = 'M-4,4 l8,-8 M0,16 l16,-16 M12,20 l8,-8';\n return (\n <pattern\n id={`${this._colorFillBarPatternId}_${id}`}\n width={16}\n height={16}\n key={`${this._colorFillBarPatternId}_${id}`}\n patternUnits={'userSpaceOnUse'}\n >\n <path d={stripePath} stroke={color} strokeWidth={1.25} />\n </pattern>\n );\n };\n\n private _checkInGap = (pointIndex: number, gaps: ILineChartGap[], currentGapIndex: number) => {\n let gapIndex = currentGapIndex;\n let isInGap = false;\n\n while (gapIndex < gaps.length && pointIndex > gaps[gapIndex].endIndex) {\n gapIndex++;\n }\n\n if (gapIndex < gaps.length && pointIndex > gaps[gapIndex].startIndex && pointIndex <= gaps[gapIndex].endIndex) {\n isInGap = true;\n }\n return { isInGap, gapIndex };\n };\n\n private _refCallback(element: SVGGElement, legendTitle: string): void {\n this._refArray.push({ index: legendTitle, refElement: element });\n }\n\n private _onMouseOverLargeDataset = (\n linenumber: number,\n lineHeight: number,\n mouseEvent: React.MouseEvent<SVGRectElement | SVGPathElement | SVGCircleElement>,\n ) => {\n mouseEvent.persist();\n const { data } = this.props;\n const { lineChartData } = data;\n\n // This will get the value of the X when mouse is on the chart\n const xOffset = this._xAxisScale.invert(pointer(mouseEvent)[0], document.getElementById(this._rectId)!);\n const i = bisect(lineChartData![linenumber].data, xOffset);\n const d0 = lineChartData![linenumber].data[i - 1] as ILineChartDataPoint;\n const d1 = lineChartData![linenumber].data[i] as ILineChartDataPoint;\n let axisType: XAxisTypes | null = null;\n let xPointToHighlight: string | Date | number | null = null;\n let index: null | number = null;\n if (d0 === undefined && d1 !== undefined) {\n xPointToHighlight = d1.x;\n index = i;\n } else if (d0 !== undefined && d1 === undefined) {\n xPointToHighlight = d0.x;\n index = i - 1;\n } else {\n axisType = getTypeOfAxis(lineChartData![linenumber].data[0].x, true) as XAxisTypes;\n let x0;\n let point0;\n let point1;\n switch (axisType) {\n case XAxisTypes.DateAxis:\n x0 = new Date(xOffset).getTime();\n point0 = (d0.x as Date).getTime();\n point1 = (d1.x as Date).getTime();\n xPointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n case XAxisTypes.NumericAxis:\n x0 = xOffset as number;\n point0 = d0.x as number;\n point1 = d1.x as number;\n xPointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n default:\n break;\n }\n }\n\n const { xAxisCalloutData, xAxisCalloutAccessibilityData } = lineChartData![linenumber].data[index as number];\n const formattedDate =\n xPointToHighlight instanceof Date ? formatDate(xPointToHighlight, this.props.useUTC) : xPointToHighlight;\n const modifiedXVal = xPointToHighlight instanceof Date ? xPointToHighlight.getTime() : xPointToHighlight;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const found: any = find(this._calloutPoints, (element: { x: string | number }) => {\n return element.x === modifiedXVal;\n });\n const pointToHighlight: ILineChartDataPoint = lineChartData![linenumber].data[index!];\n const pointToHighlightUpdated =\n this.state.nearestCircleToHighlight === null ||\n (this.state.nearestCircleToHighlight !== null &&\n pointToHighlight !== null &&\n (this.state.nearestCircleToHighlight.x !== pointToHighlight.x ||\n this.state.nearestCircleToHighlight.y !== pointToHighlight.y));\n // if no points need to be called out then don't show vertical line and callout card\n if (found && pointToHighlightUpdated) {\n this._uniqueCallOutID = `#${this._staticHighlightCircle}_${linenumber}`;\n\n d3Select(`#${this._staticHighlightCircle}_${linenumber}`)\n .attr('cx', `${this._xAxisScale(pointToHighlight.x)}`)\n .attr('cy', `${this._yAxisScale(pointToHighlight.y)}`)\n .attr('visibility', 'visibility');\n\n d3Select(`#${this._verticalLine}`)\n .attr(\n 'transform',\n () => `translate(${this._xAxisScale(pointToHighlight.x)}, ${this._yAxisScale(pointToHighlight.y)})`,\n )\n .attr('visibility', 'visibility')\n .attr('y2', `${lineHeight - this._yAxisScale(pointToHighlight.y)}`);\n\n this.setState({\n nearestCircleToHighlight: pointToHighlight,\n isCalloutVisible: true,\n refSelected: `#${this._staticHighlightCircle}_${linenumber}`,\n stackCalloutProps: found!,\n YValueHover: found.values,\n dataPointCalloutProps: found!,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : formattedDate,\n xAxisCalloutAccessibilityData,\n activePoint: '',\n activeLine: linenumber,\n });\n }\n\n if (!found) {\n this.setState({\n isCalloutVisible: false,\n nearestCircleToHighlight: pointToHighlight,\n activePoint: '',\n activeLine: linenumber,\n });\n }\n };\n\n private _handleFocus = (\n lineId: string,\n x: number | Date,\n\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData?: IAccessibilityProps,\n ) => {\n this._uniqueCallOutID = circleId;\n const formattedData = x instanceof Date ? formatDate(x, this.props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(this._calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n const _this = this;\n d3Select(`#${this._verticalLine}`)\n .attr('transform', () => `translate(${_this._xAxisScale(x)}, 0)`)\n .attr('visibility', 'visibility');\n this._refArray.forEach((obj: IRefArrayData) => {\n if (obj.index === lineId) {\n this.setState({\n isCalloutVisible: true,\n refSelected: obj.refElement,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : '' + formattedData,\n YValueHover: found.values,\n stackCalloutProps: found!,\n dataPointCalloutProps: found!,\n activePoint: circleId,\n xAxisCalloutAccessibilityData,\n });\n }\n });\n } else {\n this.setState({\n activePoint: circleId,\n });\n }\n };\n\n private _handleHover = (\n x: number | Date,\n y: number | Date,\n lineHeight: number,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData: IAccessibilityProps | undefined,\n mouseEvent: React.MouseEvent<SVGElement>,\n ) => {\n mouseEvent.persist();\n const formattedData = x instanceof Date ? formatDate(x, this.props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const _this = this;\n const found = find(this._calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${this._verticalLine}`)\n .attr('transform', () => `translate(${_this._xAxisScale(x)}, ${_this._yAxisScale(y)})`)\n .attr('visibility', 'visibility')\n .attr('y2', `${lineHeight - _this._yAxisScale(y)}`);\n if (this._uniqueCallOutID !== circleId) {\n this._uniqueCallOutID = circleId;\n this.setState({\n isCalloutVisible: true,\n refSelected: `#${circleId}`,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : '' + formattedData,\n YValueHover: found.values,\n stackCalloutProps: found!,\n dataPointCalloutProps: found!,\n activePoint: circleId,\n xAxisCalloutAccessibilityData,\n nearestCircleToHighlight: null,\n activeLine: null,\n });\n }\n } else {\n this.setState({\n activePoint: circleId,\n nearestCircleToHighlight: null,\n activeLine: null,\n });\n }\n };\n\n /**\n * Screen readers announce an element as clickable if the onClick attribute is set.\n * This function sets the attribute only when a click event handler is provided.\n */\n private _getClickHandler = (func?: () => void): { onClick?: () => void } => {\n if (func) {\n return {\n onClick: func,\n };\n }\n\n return {};\n };\n\n private _handleMouseOut = () => {\n d3Select(`#${this._verticalLine}`).attr('visibility', 'hidden');\n };\n\n private _handleChartMouseLeave = () => {\n this._uniqueCallOutID = null;\n this.setState({\n isCalloutVisible: false,\n activePoint: '',\n activeLine: null,\n });\n };\n\n private _handleLegendClick = (\n lineChartItem: LineChartDataWithIndex | IColorFillBarsProps,\n selectedLegend: string | null | string[],\n ): void => {\n if (lineChartItem.onLegendClick) {\n lineChartItem.onLegendClick(selectedLegend);\n }\n };\n\n private _handleMultipleLineLegendSelectionAction = (selectedLine: LineChartDataWithIndex) => {\n const selectedLineIndex = this.state.selectedLegendPoints.reduce((acc, line, index) => {\n if (acc > -1 || line.legend !== selectedLine.legend) {\n return acc;\n } else {\n return index;\n }\n }, -1);\n\n let selectedLines: LineChartDataWithIndex[];\n if (selectedLineIndex === -1) {\n selectedLines = [...this.state.selectedLegendPoints, selectedLine];\n } else {\n selectedLines = this.state.selectedLegendPoints\n .slice(0, selectedLineIndex)\n .concat(this.state.selectedLegendPoints.slice(selectedLineIndex + 1));\n }\n\n const areAllLineLegendsSelected = this.props.data && selectedLines.length === this.props.data.lineChartData!.length;\n\n if (\n areAllLineLegendsSelected &&\n ((this.props.colorFillBars && this.props.colorFillBars.length === this.state.selectedColorBarLegend.length) ||\n !this.props.colorFillBars)\n ) {\n // Clear all legends if all legends including color fill bar legends are selected\n // Or clear all legends if all legends are selected and there are no color fill bars\n this._clearMultipleLegendSelections();\n } else if (!selectedLines.length && !this.state.selectedColorBarLegend.length) {\n // Clear all legends if no legends including color fill bar legends are selected\n this._clearMultipleLegendSelections();\n } else {\n // Otherwise, set state when one or more legends are selected, including color fill bar legends\n this.setState({\n selectedLegendPoints: selectedLines,\n isSelectedLegend: true,\n });\n }\n\n const selectedLegendTitlesToPass = selectedLines.map((line: LineChartDataWithIndex) => line.legend);\n this._handleLegendClick(selectedLine, selectedLegendTitlesToPass);\n };\n\n private _handleMultipleColorFillBarLegendSelectionAction = (selectedColorFillBar: IColorFillBarsProps) => {\n const selectedColorFillBarIndex = this.state.selectedColorBarLegend.reduce((acc, colorFillBar, index) => {\n if (acc > -1 || colorFillBar.legend !== selectedColorFillBar.legend) {\n return acc;\n } else {\n return index;\n }\n }, -1);\n\n let selectedColorFillBars: IColorFillBarsProps[];\n if (selectedColorFillBarIndex === -1) {\n selectedColorFillBars = [...this.state.selectedColorBarLegend, selectedColorFillBar];\n } else {\n selectedColorFillBars = this.state.selectedColorBarLegend\n .slice(0, selectedColorFillBarIndex)\n .concat(this.state.selectedColorBarLegend.slice(selectedColorFillBarIndex + 1));\n }\n\n const areAllColorFillBarLegendsSelected =\n selectedColorFillBars.length === (this.props.colorFillBars && this.props.colorFillBars!.length);\n\n if (\n areAllColorFillBarLegendsSelected &&\n ((this.props.data && this.props.data.lineChartData!.length === this.state.selectedLegendPoints.length) ||\n !this.props.data)\n ) {\n // Clear all legends if all legends, including line legends, are selected\n // Or clear all legends if all legends are selected and there is no line data\n this._clearMultipleLegendSelections();\n } else if (!selectedColorFillBars.length && !this.state.selectedLegendPoints.length) {\n // Clear all legends if no legends are selected, including line legends\n this._clearMultipleLegendSelections();\n } else {\n // set state when one or more legends are selected, including line legends\n this.setState({\n selectedColorBarLegend: selectedColorFillBars,\n isSelectedLegend: true,\n });\n }\n\n const selectedLegendTitlesToPass = selectedColorFillBars.map(\n (colorFillBar: IColorFillBarsProps) => colorFillBar.legend,\n );\n this._handleLegendClick(selectedColorFillBar, selectedLegendTitlesToPass);\n };\n\n private _clearMultipleLegendSelections = () => {\n this.setState({\n selectedColorBarLegend: [],\n selectedLegendPoints: [],\n isSelectedLegend: false,\n });\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n private _legendHighlighted = (legend: string) => {\n return (\n this.state.selectedLegend === legend || (this.state.selectedLegend === '' && this.state.activeLegend === legend)\n );\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n private _noLegendHighlighted = () => {\n return this.state.selectedLegend === '' && this.state.activeLegend === '';\n };\n\n private _getColorFillBarOpacity = (colorFillBar: IColorFillBarsProps) => {\n return colorFillBar.applyPattern ? 1 : 0.4;\n };\n\n private _getAriaLabel = (lineIndex: number, pointIndex: number): string => {\n const line = this._points[lineIndex];\n const point = line.data[pointIndex];\n const formattedDate = point.x instanceof Date ? formatDate(point.x, this.props.useUTC) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = line.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n };\n\n private _isChartEmpty(): boolean {\n return !(\n this.props.data &&\n this.props.data.lineChartData &&\n this.props.data.lineChartData.length > 0 &&\n this.props.data.lineChartData.filter((item: ILineChartPoints) => item.data.length).length > 0\n );\n }\n\n private _getChartTitle = (): string => {\n const { chartTitle, lineChartData } = this.props.data;\n return (chartTitle ? `${chartTitle}. ` : '') + `Line chart with ${lineChartData?.length || 0} lines. `;\n };\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { ILineChartProps } from './LineChart.types';
3
+ /**
4
+ * Linechart component
5
+ * {@docCategory LineChart}
6
+ */
7
+ export declare const LineChart: React.FunctionComponent<ILineChartProps>;
@@ -0,0 +1,12 @@
1
+ define(["require", "exports", "@fluentui/react/lib/Utilities", "./LineChart.base", "./LineChart.styles"], function (require, exports, Utilities_1, LineChart_base_1, LineChart_styles_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LineChart = void 0;
5
+ // Create a LineChart variant which uses these default styles and this styled subcomponent.
6
+ /**
7
+ * Linechart component
8
+ * {@docCategory LineChart}
9
+ */
10
+ exports.LineChart = (0, Utilities_1.styled)(LineChart_base_1.LineChartBase, LineChart_styles_1.getStyles);
11
+ });
12
+ //# sourceMappingURL=LineChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.js","sourceRoot":"../src/","sources":["components/LineChart/LineChart.tsx"],"names":[],"mappings":";;;;IAMA,2FAA2F;IAC3F;;;OAGG;IACU,QAAA,SAAS,GAA6C,IAAA,kBAAM,EAIvE,8BAAa,EAAE,4BAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { ILineChartProps, ILineChartStyleProps, ILineChartStyles } from './LineChart.types';\nimport { LineChartBase } from './LineChart.base';\nimport { getStyles } from './LineChart.styles';\n\n// Create a LineChart variant which uses these default styles and this styled subcomponent.\n/**\n * Linechart component\n * {@docCategory LineChart}\n */\nexport const LineChart: React.FunctionComponent<ILineChartProps> = styled<\n ILineChartProps,\n ILineChartStyleProps,\n ILineChartStyles\n>(LineChartBase, getStyles);\n"]}
@@ -0,0 +1,2 @@
1
+ import { ILineChartStyleProps, ILineChartStyles } from './LineChart.types';
2
+ export declare const getStyles: (props: ILineChartStyleProps) => ILineChartStyles;
@@ -0,0 +1,12 @@
1
+ define(["require", "exports", "tslib"], function (require, exports, tslib_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getStyles = void 0;
5
+ var getStyles = function (props) {
6
+ return {
7
+ 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' }),
8
+ };
9
+ };
10
+ exports.getStyles = getStyles;
11
+ });
12
+ //# sourceMappingURL=LineChart.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.styles.js","sourceRoot":"../src/","sources":["components/LineChart/LineChart.styles.ts"],"names":[],"mappings":";;;;IAEO,IAAM,SAAS,GAAG,UAAC,KAA2B;QACnD,OAAO;YACL,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;SACF,CAAC;IACJ,CAAC,CAAC;IAfW,QAAA,SAAS,aAepB","sourcesContent":["import { ILineChartStyleProps, ILineChartStyles } from './LineChart.types';\n\nexport const getStyles = (props: ILineChartStyleProps): ILineChartStyles => {\n return {\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 };\n};\n"]}
@@ -0,0 +1,98 @@
1
+ import { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';
2
+ import { IChartProps, ILineChartPoints, IMargins, IBasestate, IRefArrayData, ICustomizedCalloutData } from '../../types/index';
3
+ import { IEventAnnotation } from '../../types/IEventAnnotation';
4
+ import { ICartesianChartProps, ICartesianChartStyleProps, ICartesianChartStyles, IChildProps } from '../CommonComponents/index';
5
+ export type { IChildProps, ILineChartPoints, IMargins, IBasestate, IRefArrayData };
6
+ /**
7
+ * Line Chart properties
8
+ * {@docCategory LineChart}
9
+ */
10
+ export interface ILineChartProps extends ICartesianChartProps {
11
+ /**
12
+ * Data to render in the chart.
13
+ */
14
+ data: IChartProps;
15
+ /**
16
+ * Call to provide customized styling that will layer on top of the variant rules.
17
+ */
18
+ styles?: IStyleFunctionOrObject<ILineChartStyleProps, ILineChartStyles>;
19
+ /**
20
+ * Show event annotation
21
+ */
22
+ eventAnnotationProps?: IEventsAnnotationProps;
23
+ /**
24
+ * Define a custom callout renderer for a data point
25
+ */
26
+ onRenderCalloutPerDataPoint?: IRenderFunction<ICustomizedCalloutData>;
27
+ /**
28
+ * Define a custom callout renderer for a stack; default is to render per data point
29
+ */
30
+ onRenderCalloutPerStack?: IRenderFunction<ICustomizedCalloutData>;
31
+ /**
32
+ * Callback for getting callout description message
33
+ */
34
+ getCalloutDescriptionMessage?: (calloutDataProps: ICustomizedCalloutData) => string | undefined;
35
+ colorFillBars?: IColorFillBarsProps[];
36
+ /**
37
+ * if this is set to true, then for each line there will be a unique shape assigned to the point,
38
+ * there are total 8 shapes which are as follow circle, square, triangele, diamond, pyramid,
39
+ * hexagon, pentagon and octagon, which will get assigned as respectively, if there are more
40
+ * than 8 lines in the line chart then it will again start from cicle to octagon.
41
+ * setting this flag to true will also change the behavior of the points, like for a
42
+ * line, last point shape and first point shape will be visible all the times, and all
43
+ * other points will get enlarge only when hovered over them
44
+ * if set to false default shape will be circle, with the existing behavior
45
+ * @default false
46
+ */
47
+ allowMultipleShapesForPoints?: boolean;
48
+ optimizeLargeData?: boolean;
49
+ /**
50
+ * The prop used to define the culture to localized the numbers
51
+ */
52
+ culture?: string;
53
+ /**
54
+ * @default false
55
+ * The prop used to enable the perf optimization
56
+ */
57
+ enablePerfOptimization?: boolean;
58
+ }
59
+ /**
60
+ * {@docCategory LineChart}
61
+ */
62
+ export interface IEventsAnnotationProps {
63
+ events: IEventAnnotation[];
64
+ strokeColor?: string;
65
+ labelColor?: string;
66
+ labelHeight?: number;
67
+ labelWidth?: number;
68
+ mergedLabel: (count: number) => string;
69
+ }
70
+ /**
71
+ * Line Chart styles
72
+ * {@docCategory LineChart}
73
+ */
74
+ export interface ILineChartStyles extends ICartesianChartStyles {
75
+ }
76
+ /**
77
+ * Line Chart style properties
78
+ * {@docCategory LineChart}
79
+ */
80
+ export interface ILineChartStyleProps extends ICartesianChartStyleProps {
81
+ }
82
+ /**
83
+ * {@docCategory LineChart}
84
+ */
85
+ export interface IColorFillBarsProps {
86
+ legend: string;
87
+ color: string;
88
+ data: IColorFillBarData[];
89
+ applyPattern?: boolean;
90
+ onLegendClick?: (selectedLegend: string | string[] | null) => void | undefined;
91
+ }
92
+ /**
93
+ * {@docCategory LineChart}
94
+ */
95
+ export interface IColorFillBarData {
96
+ startX: number | Date;
97
+ endX: number | Date;
98
+ }
@@ -0,0 +1,5 @@
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ });
5
+ //# sourceMappingURL=LineChart.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.types.js","sourceRoot":"../src/","sources":["components/LineChart/LineChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport {\n IChartProps,\n ILineChartPoints,\n IMargins,\n IBasestate,\n IRefArrayData,\n ICustomizedCalloutData,\n} from '../../types/index';\nimport { IEventAnnotation } from '../../types/IEventAnnotation';\nimport {\n ICartesianChartProps,\n ICartesianChartStyleProps,\n ICartesianChartStyles,\n IChildProps,\n} from '../CommonComponents/index';\n\nexport type { IChildProps, ILineChartPoints, IMargins, IBasestate, IRefArrayData };\n\n/**\n * Line Chart properties\n * {@docCategory LineChart}\n */\nexport interface ILineChartProps extends ICartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data: IChartProps;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<ILineChartStyleProps, ILineChartStyles>;\n\n /**\n * Show event annotation\n */\n eventAnnotationProps?: IEventsAnnotationProps;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<ICustomizedCalloutData>;\n\n /**\n * Define a custom callout renderer for a stack; default is to render per data point\n */\n onRenderCalloutPerStack?: IRenderFunction<ICustomizedCalloutData>;\n\n /**\n * Callback for getting callout description message\n */\n getCalloutDescriptionMessage?: (calloutDataProps: ICustomizedCalloutData) => string | undefined;\n\n /*\n * Color fill bars for the chart,\n */\n colorFillBars?: IColorFillBarsProps[];\n\n /**\n * if this is set to true, then for each line there will be a unique shape assigned to the point,\n * there are total 8 shapes which are as follow circle, square, triangele, diamond, pyramid,\n * hexagon, pentagon and octagon, which will get assigned as respectively, if there are more\n * than 8 lines in the line chart then it will again start from cicle to octagon.\n * setting this flag to true will also change the behavior of the points, like for a\n * line, last point shape and first point shape will be visible all the times, and all\n * other points will get enlarge only when hovered over them\n * if set to false default shape will be circle, with the existing behavior\n * @default false\n */\n allowMultipleShapesForPoints?: boolean;\n\n /*\n * Optimize line chart rendering for large data set. If this prop is enabled, line chart\n * can easily render over 10K datapoints with multiple lines smoothly.\n * This rendering mechanism does not support gaps in lines.\n */\n optimizeLargeData?: boolean;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * @default false\n * The prop used to enable the perf optimization\n */\n enablePerfOptimization?: boolean;\n}\n\n/**\n * {@docCategory LineChart}\n */\nexport interface IEventsAnnotationProps {\n events: IEventAnnotation[];\n strokeColor?: string;\n labelColor?: string;\n labelHeight?: number;\n labelWidth?: number;\n mergedLabel: (count: number) => string;\n}\n\n/**\n * Line Chart styles\n * {@docCategory LineChart}\n */\nexport interface ILineChartStyles extends ICartesianChartStyles {}\n\n/**\n * Line Chart style properties\n * {@docCategory LineChart}\n */\nexport interface ILineChartStyleProps extends ICartesianChartStyleProps {}\n\n/**\n * {@docCategory LineChart}\n */\nexport interface IColorFillBarsProps {\n legend: string;\n color: string;\n data: IColorFillBarData[];\n applyPattern?: boolean;\n onLegendClick?: (selectedLegend: string | string[] | null) => void | undefined;\n}\n\n/**\n * {@docCategory LineChart}\n */\nexport interface IColorFillBarData {\n startX: number | Date;\n endX: number | Date;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { ScaleTime } from 'd3-scale';
3
+ import { IEventsAnnotationProps } from '../LineChart.types';
4
+ import { ITheme } from '@fluentui/react/lib/Styling';
5
+ interface IEventsAnnotationExtendProps extends IEventsAnnotationProps {
6
+ scale: ScaleTime<number, number>;
7
+ chartYBottom: number;
8
+ chartYTop: number;
9
+ theme: ITheme | undefined;
10
+ }
11
+ export declare const EventsAnnotation: React.FunctionComponent<IEventsAnnotationExtendProps>;
12
+ export {};
@@ -0,0 +1,97 @@
1
+ define(["require", "exports", "tslib", "react", "@fluentui/react/lib/Utilities", "./LabelLink", "../../../utilities/colors"], function (require, exports, tslib_1, React, Utilities_1, LabelLink_1, colors_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EventsAnnotation = void 0;
5
+ var EventsAnnotation = function (props) {
6
+ var _a, _b;
7
+ var textWidth = props.labelWidth ? props.labelWidth : 105;
8
+ var textY = props.chartYTop - 20;
9
+ var lineTopY = textY + 7;
10
+ var textPadding = 5;
11
+ var lineHeight = 18;
12
+ var fontSize = '10pt';
13
+ var axisRange = props.scale.range();
14
+ var lineDefs = props.events.map(function (e) { return (tslib_1.__assign(tslib_1.__assign({}, e), { x: props.scale(e.date) })); });
15
+ lineDefs.sort(function (e1, e2) { return +e1.date - +e2.date; });
16
+ var fill = props.strokeColor
17
+ ? (0, colors_1.getColorFromToken)(props.strokeColor, (_a = props.theme) === null || _a === void 0 ? void 0 : _a.isInverted)
18
+ : (_b = props.theme) === null || _b === void 0 ? void 0 : _b.palette.black;
19
+ var lines = uniqBy(lineDefs, function (x) { return x.date.toString(); }).map(function (x, i) { return (React.createElement("line", { key: i, x1: x.x, x2: x.x, y1: lineTopY, y2: props.chartYBottom, stroke: fill, strokeDasharray: "8" })); });
20
+ var labelLinks = calculateLabels(lineDefs, textWidth + textPadding, axisRange[1], axisRange[0]).map(function (x, i) { return (React.createElement(LabelLink_1.LabelLink, tslib_1.__assign({ key: i, theme: props.theme }, {
21
+ lineDefs: lineDefs,
22
+ labelDef: x,
23
+ textY: textY,
24
+ textWidth: textWidth,
25
+ textLineHeight: lineHeight,
26
+ textFontSize: fontSize,
27
+ textColor: props.labelColor,
28
+ mergedLabel: props.mergedLabel,
29
+ }))); });
30
+ return (React.createElement(React.Fragment, null,
31
+ lines,
32
+ labelLinks));
33
+ };
34
+ exports.EventsAnnotation = EventsAnnotation;
35
+ function calculateLabels(lineDefs, textWidth, maxX, minX) {
36
+ var calculateLabel = function (lastX, currentIdx) {
37
+ // base case 1
38
+ if (currentIdx === lineDefs.length) {
39
+ return [];
40
+ }
41
+ var x = lineDefs[currentIdx].x;
42
+ var leftXBoundary = x - textWidth;
43
+ // cannot render on top of other text
44
+ if (x < lastX) {
45
+ return [];
46
+ }
47
+ // base case 2
48
+ if (currentIdx === lineDefs.length - 1) {
49
+ if (lastX < leftXBoundary) {
50
+ return [{ x: x, anchor: 'end', aggregatedIdx: [currentIdx] }];
51
+ }
52
+ else if (x + textWidth < maxX) {
53
+ return [{ x: x, anchor: 'start', aggregatedIdx: [currentIdx] }];
54
+ }
55
+ return [];
56
+ }
57
+ if (lastX < leftXBoundary) {
58
+ // label on left side
59
+ return backtrack(currentIdx, 'end');
60
+ }
61
+ else {
62
+ // label on right side
63
+ return backtrack(currentIdx, 'start');
64
+ }
65
+ };
66
+ var backtrack = function (currentIdx, anchor) {
67
+ var bd = anchor === 'end' ? lineDefs[currentIdx].x : lineDefs[currentIdx].x + textWidth;
68
+ var idx = (0, Utilities_1.findIndex)(lineDefs, function (ds) { return ds.x > bd && (ds.x - textWidth >= bd || ds.x + textWidth < maxX); }, currentIdx + 1);
69
+ if (idx === -1) {
70
+ idx = lineDefs.length;
71
+ }
72
+ var aggregatedIdx = [];
73
+ for (var i = currentIdx; i < idx; i++) {
74
+ aggregatedIdx.push(i);
75
+ }
76
+ var next = calculateLabel(bd, idx);
77
+ next.unshift({ x: lineDefs[currentIdx].x, anchor: anchor, aggregatedIdx: aggregatedIdx });
78
+ return next;
79
+ };
80
+ return calculateLabel(minX, 0);
81
+ }
82
+ /** Get unique items of `arr`, comparing based on the result of calling `iteratee` on each item. */
83
+ function uniqBy(arr, iteratee) {
84
+ var seen = [];
85
+ var result = [];
86
+ for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {
87
+ var x = arr_1[_i];
88
+ var comp = iteratee(x);
89
+ if (seen.indexOf(comp) === -1) {
90
+ result.push(x);
91
+ seen.push(comp);
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+ });
97
+ //# sourceMappingURL=EventAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventAnnotation.js","sourceRoot":"../src/","sources":["components/LineChart/eventAnnotation/EventAnnotation.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { ScaleTime } from 'd3-scale';\nimport { findIndex } from '@fluentui/react/lib/Utilities';\nimport { ILineDef, LabelLink, ILabelDef } from './LabelLink';\nimport { IEventsAnnotationProps } from '../LineChart.types';\nimport { ITheme } from '@fluentui/react/lib/Styling';\nimport { getColorFromToken } from '../../../utilities/colors';\n\ninterface IEventsAnnotationExtendProps extends IEventsAnnotationProps {\n scale: ScaleTime<number, number>;\n chartYBottom: number;\n chartYTop: number;\n theme: ITheme | undefined;\n}\n\nexport const EventsAnnotation: React.FunctionComponent<IEventsAnnotationExtendProps> = props => {\n const textWidth = props.labelWidth ? props.labelWidth : 105;\n const textY = props.chartYTop - 20;\n const lineTopY = textY + 7;\n const textPadding = 5;\n const lineHeight = 18;\n const fontSize = '10pt';\n const axisRange = props.scale.range();\n\n const lineDefs: ILineDef[] = props.events.map(e => ({ ...e, x: props.scale(e.date) }));\n\n lineDefs.sort((e1, e2) => +e1.date - +e2.date);\n\n const fill: string | undefined = props.strokeColor\n ? getColorFromToken(props.strokeColor, props.theme?.isInverted)\n : props.theme?.palette.black;\n\n const lines = uniqBy(lineDefs, x => x.date.toString()).map((x, i) => (\n <line key={i} x1={x.x} x2={x.x} y1={lineTopY} y2={props.chartYBottom} stroke={fill} strokeDasharray=\"8\" />\n ));\n\n const labelLinks = calculateLabels(lineDefs, textWidth + textPadding, axisRange[1], axisRange[0]).map((x, i) => (\n <LabelLink\n key={i}\n theme={props.theme}\n {...{\n lineDefs,\n labelDef: x,\n textY,\n textWidth,\n textLineHeight: lineHeight,\n textFontSize: fontSize,\n textColor: props.labelColor,\n mergedLabel: props.mergedLabel,\n }}\n />\n ));\n\n return (\n <>\n {lines}\n {labelLinks}\n </>\n );\n};\n\nfunction calculateLabels(lineDefs: ILineDef[], textWidth: number, maxX: number, minX: number): ILabelDef[] {\n const calculateLabel = (lastX: number, currentIdx: number): ILabelDef[] => {\n // base case 1\n if (currentIdx === lineDefs.length) {\n return [];\n }\n\n const { x } = lineDefs[currentIdx];\n const leftXBoundary = x - textWidth;\n\n // cannot render on top of other text\n if (x < lastX) {\n return [];\n }\n\n // base case 2\n if (currentIdx === lineDefs.length - 1) {\n if (lastX < leftXBoundary) {\n return [{ x: x, anchor: 'end', aggregatedIdx: [currentIdx] }];\n } else if (x + textWidth < maxX) {\n return [{ x: x, anchor: 'start', aggregatedIdx: [currentIdx] }];\n }\n\n return [];\n }\n\n if (lastX < leftXBoundary) {\n // label on left side\n return backtrack(currentIdx, 'end');\n } else {\n // label on right side\n return backtrack(currentIdx, 'start');\n }\n };\n\n const backtrack = (currentIdx: number, anchor: 'start' | 'end'): ILabelDef[] => {\n const bd = anchor === 'end' ? lineDefs[currentIdx].x : lineDefs[currentIdx].x + textWidth;\n\n let idx = findIndex(\n lineDefs,\n ds => ds.x > bd && (ds.x - textWidth >= bd || ds.x + textWidth < maxX),\n currentIdx + 1,\n );\n if (idx === -1) {\n idx = lineDefs.length;\n }\n\n const aggregatedIdx: number[] = [];\n for (let i = currentIdx; i < idx; i++) {\n aggregatedIdx.push(i);\n }\n const next = calculateLabel(bd, idx);\n\n next.unshift({ x: lineDefs[currentIdx].x, anchor, aggregatedIdx });\n return next;\n };\n\n return calculateLabel(minX, 0);\n}\n\n/** Get unique items of `arr`, comparing based on the result of calling `iteratee` on each item. */\nfunction uniqBy<T>(arr: T[], iteratee: (x: T) => string): T[] {\n const seen: string[] = [];\n const result: T[] = [];\n for (const x of arr) {\n const comp = iteratee(x);\n if (seen.indexOf(comp) === -1) {\n result.push(x);\n seen.push(comp);\n }\n }\n return result;\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { IEventAnnotation } from '../../../types/IEventAnnotation';
3
+ import { ITheme } from '@fluentui/react/lib/Styling';
4
+ export interface ILineDef extends IEventAnnotation {
5
+ x: number;
6
+ }
7
+ export interface ILabelDef {
8
+ x: number;
9
+ aggregatedIdx: number[];
10
+ anchor: 'start' | 'end';
11
+ }
12
+ interface ILabelLinkProps {
13
+ lineDefs: ILineDef[];
14
+ labelDef: ILabelDef;
15
+ textY: number;
16
+ textWidth: number;
17
+ textLineHeight: number;
18
+ textFontSize: string;
19
+ textColor: string | undefined;
20
+ theme: ITheme | undefined;
21
+ mergedLabel: (count: number) => string;
22
+ }
23
+ export declare const LabelLink: React.FunctionComponent<ILabelLinkProps>;
24
+ export {};
@@ -0,0 +1,42 @@
1
+ define(["require", "exports", "react", "@fluentui/react", "./Textbox", "../../../utilities/colors"], function (require, exports, React, react_1, Textbox_1, colors_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LabelLink = void 0;
5
+ var LabelLink = function (props) {
6
+ var _a, _b;
7
+ var gRef = React.useRef(null);
8
+ var _c = React.useState(false), showCard = _c[0], setShowCard = _c[1];
9
+ var onDismiss = function () { return setShowCard(false); };
10
+ var onClick = function () { return setShowCard(true); };
11
+ var onRenderCell = function (i) { return React.createElement("div", { "data-is-focusable": true }, i && i()); };
12
+ var callout = null;
13
+ if (showCard) {
14
+ var cards = props.labelDef.aggregatedIdx.map(function (i) { return props.lineDefs[i].onRenderCard; }).filter(function (c) { return !!c; });
15
+ if (cards.length > 0) {
16
+ callout = (React.createElement(react_1.Callout, { target: gRef.current,
17
+ // eslint-disable-next-line react/jsx-no-bind
18
+ onDismiss: onDismiss, setInitialFocus: true, role: "dialog" },
19
+ React.createElement(react_1.FocusZone, { isCircularNavigation: true, direction: react_1.FocusZoneDirection.vertical },
20
+ React.createElement(react_1.List, { items: cards, role: "alert", "aria-roledescription": " ",
21
+ // eslint-disable-next-line react/jsx-no-bind
22
+ onRenderCell: onRenderCell }))));
23
+ }
24
+ }
25
+ var text;
26
+ var fill = props.textColor
27
+ ? (0, colors_1.getColorFromToken)(props.textColor, (_a = props.theme) === null || _a === void 0 ? void 0 : _a.isInverted)
28
+ : (_b = props.theme) === null || _b === void 0 ? void 0 : _b.semanticColors.messageText;
29
+ if (props.labelDef.aggregatedIdx.length === 1) {
30
+ text = props.lineDefs[props.labelDef.aggregatedIdx[0]].event;
31
+ }
32
+ else {
33
+ text = props.mergedLabel(props.labelDef.aggregatedIdx.length);
34
+ }
35
+ return (React.createElement(React.Fragment, null,
36
+ React.createElement("g", { ref: gRef, onClick: onClick, "data-is-focusable": true, style: { cursor: 'pointer' } },
37
+ React.createElement(Textbox_1.Textbox, { text: text, x: props.labelDef.x, y: props.textY, width: props.textWidth, lineHeight: props.textLineHeight, textAnchor: props.labelDef.anchor, fontSize: props.textFontSize, fill: fill })),
38
+ callout));
39
+ };
40
+ exports.LabelLink = LabelLink;
41
+ });
42
+ //# sourceMappingURL=LabelLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelLink.js","sourceRoot":"../src/","sources":["components/LineChart/eventAnnotation/LabelLink.tsx"],"names":[],"mappings":";;;;IA6BO,IAAM,SAAS,GAA6C,UAAA,KAAK;;QACtE,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,CAAC;QACvC,IAAA,KAA0B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA9C,QAAQ,QAAA,EAAE,WAAW,QAAyB,CAAC;QACtD,IAAM,SAAS,GAAG,cAAM,OAAA,WAAW,CAAC,KAAK,CAAC,EAAlB,CAAkB,CAAC;QAC3C,IAAM,OAAO,GAAG,cAAM,OAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,CAAiB,CAAC;QACxC,IAAM,YAAY,GAAG,UAAC,CAAsC,IAAK,OAAA,kDAAwB,IAAI,IAAG,CAAC,IAAI,CAAC,EAAE,CAAO,EAA9C,CAA8C,CAAC;QAEhH,IAAI,OAAO,GAAoB,IAAI,CAAC;QACpC,IAAI,QAAQ,EAAE;YACZ,IAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAa,EAA/B,CAA+B,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;YACtG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO,GAAG,CACR,oBAAC,eAAO,IACN,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,6CAA6C;oBAC7C,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,IAAI,EACrB,IAAI,EAAC,QAAQ;oBAEb,oBAAC,iBAAS,IAAC,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,0BAAkB,CAAC,QAAQ;wBAC3E,oBAAC,YAAI,IACH,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,0BACS,GAAG;4BACxB,6CAA6C;4BAC7C,YAAY,EAAE,YAAY,GAC1B,CACQ,CACJ,CACX,CAAC;aACH;SACF;QAED,IAAI,IAAY,CAAC;QACjB,IAAM,IAAI,GAAuB,KAAK,CAAC,SAAS;YAC9C,CAAC,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,SAAS,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,UAAU,CAAC;YAC7D,CAAC,CAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,cAAc,CAAC,WAAW,CAAC;QAE5C,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9D;aAAM;YACL,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC/D;QAED,OAAO,CACL;YACE,2BAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,uBAAqB,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;gBACnF,oBAAC,iBAAO,IACN,IAAI,EAAE,IAAI,EACV,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EACnB,CAAC,EAAE,KAAK,CAAC,KAAK,EACd,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,UAAU,EAAE,KAAK,CAAC,cAAc,EAChC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EACjC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAC5B,IAAI,EAAE,IAAI,GACV,CACA;YACH,OAAO,CACP,CACJ,CAAC;IACJ,CAAC,CAAC;IA7DW,QAAA,SAAS,aA6DpB","sourcesContent":["import * as React from 'react';\nimport { Callout, FocusZone, FocusZoneDirection, List } from '@fluentui/react';\nimport { IEventAnnotation } from '../../../types/IEventAnnotation';\nimport { Textbox } from './Textbox';\nimport { ITheme } from '@fluentui/react/lib/Styling';\nimport { getColorFromToken } from '../../../utilities/colors';\n\nexport interface ILineDef extends IEventAnnotation {\n x: number;\n}\n\nexport interface ILabelDef {\n x: number;\n aggregatedIdx: number[];\n anchor: 'start' | 'end';\n}\n\ninterface ILabelLinkProps {\n lineDefs: ILineDef[];\n labelDef: ILabelDef;\n textY: number;\n textWidth: number;\n textLineHeight: number;\n textFontSize: string;\n textColor: string | undefined;\n theme: ITheme | undefined;\n mergedLabel: (count: number) => string;\n}\n\nexport const LabelLink: React.FunctionComponent<ILabelLinkProps> = props => {\n const gRef = React.useRef<SVGGElement>(null);\n const [showCard, setShowCard] = React.useState(false);\n const onDismiss = () => setShowCard(false);\n const onClick = () => setShowCard(true);\n const onRenderCell = (i: (() => React.ReactNode) | undefined) => <div data-is-focusable={true}>{i && i()}</div>;\n\n let callout: React.ReactNode = null;\n if (showCard) {\n const cards = props.labelDef.aggregatedIdx.map(i => props.lineDefs[i].onRenderCard!).filter(c => !!c);\n if (cards.length > 0) {\n callout = (\n <Callout\n target={gRef.current}\n // eslint-disable-next-line react/jsx-no-bind\n onDismiss={onDismiss}\n setInitialFocus={true}\n role=\"dialog\"\n >\n <FocusZone isCircularNavigation={true} direction={FocusZoneDirection.vertical}>\n <List<() => React.ReactNode>\n items={cards}\n role=\"alert\"\n aria-roledescription=\" \"\n // eslint-disable-next-line react/jsx-no-bind\n onRenderCell={onRenderCell}\n />\n </FocusZone>\n </Callout>\n );\n }\n }\n\n let text: string;\n const fill: string | undefined = props.textColor\n ? getColorFromToken(props.textColor, props.theme?.isInverted)\n : props.theme?.semanticColors.messageText;\n\n if (props.labelDef.aggregatedIdx.length === 1) {\n text = props.lineDefs[props.labelDef.aggregatedIdx[0]].event;\n } else {\n text = props.mergedLabel(props.labelDef.aggregatedIdx.length);\n }\n\n return (\n <>\n <g ref={gRef} onClick={onClick} data-is-focusable={true} style={{ cursor: 'pointer' }}>\n <Textbox\n text={text}\n x={props.labelDef.x}\n y={props.textY}\n width={props.textWidth}\n lineHeight={props.textLineHeight}\n textAnchor={props.labelDef.anchor}\n fontSize={props.textFontSize}\n fill={fill}\n />\n </g>\n {callout}\n </>\n );\n};\n"]}