@fluentui/react-charts 0.0.0-nightly-20250423-0405.1 → 0.0.0-nightly-20250423-1415.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/CHANGELOG.md +16 -16
  2. package/dist/index.d.ts +3337 -0
  3. package/lib/AreaChart.js +1 -0
  4. package/lib/AreaChart.js.map +1 -0
  5. package/lib/CartesianChart.js +1 -0
  6. package/lib/CartesianChart.js.map +1 -0
  7. package/lib/DeclarativeChart.js +1 -0
  8. package/lib/DeclarativeChart.js.map +1 -0
  9. package/lib/DonutChart.js +1 -0
  10. package/lib/DonutChart.js.map +1 -0
  11. package/lib/GaugeChart.js +1 -0
  12. package/lib/GaugeChart.js.map +1 -0
  13. package/lib/GroupedVerticalBarChart.js +1 -0
  14. package/lib/GroupedVerticalBarChart.js.map +1 -0
  15. package/lib/HeatMapChart.js +1 -0
  16. package/lib/HeatMapChart.js.map +1 -0
  17. package/lib/HorizontalBarChart.js +1 -0
  18. package/lib/HorizontalBarChart.js.map +1 -0
  19. package/lib/HorizontalBarChartWithAxis.js +1 -0
  20. package/lib/HorizontalBarChartWithAxis.js.map +1 -0
  21. package/lib/Legends.js +1 -0
  22. package/lib/Legends.js.map +1 -0
  23. package/lib/LineChart.js +1 -0
  24. package/lib/LineChart.js.map +1 -0
  25. package/lib/Popover.js +1 -0
  26. package/lib/Popover.js.map +1 -0
  27. package/lib/ResponsiveContainer.js +1 -0
  28. package/lib/ResponsiveContainer.js.map +1 -0
  29. package/lib/SankeyChart.js +1 -0
  30. package/lib/SankeyChart.js.map +1 -0
  31. package/lib/ScatterChart.js +1 -0
  32. package/lib/ScatterChart.js.map +1 -0
  33. package/lib/Sparkline.js +1 -0
  34. package/lib/Sparkline.js.map +1 -0
  35. package/lib/VerticalBarChart.js +1 -0
  36. package/lib/VerticalBarChart.js.map +1 -0
  37. package/lib/VerticalStackedBarChart.js +1 -0
  38. package/lib/VerticalStackedBarChart.js.map +1 -0
  39. package/lib/components/AreaChart/AreaChart.js +775 -0
  40. package/lib/components/AreaChart/AreaChart.js.map +1 -0
  41. package/lib/components/AreaChart/AreaChart.types.js +4 -0
  42. package/lib/components/AreaChart/AreaChart.types.js.map +1 -0
  43. package/lib/components/AreaChart/index.js +3 -0
  44. package/lib/components/AreaChart/index.js.map +1 -0
  45. package/lib/components/AreaChart/useAreaChartStyles.styles.js +64 -0
  46. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  47. package/lib/components/CommonComponents/CartesianChart.js +478 -0
  48. package/lib/components/CommonComponents/CartesianChart.js.map +1 -0
  49. package/lib/components/CommonComponents/CartesianChart.types.js +1 -0
  50. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -0
  51. package/lib/components/CommonComponents/ChartPopover.js +187 -0
  52. package/lib/components/CommonComponents/ChartPopover.js.map +1 -0
  53. package/lib/components/CommonComponents/ChartPopover.types.js +1 -0
  54. package/lib/components/CommonComponents/ChartPopover.types.js.map +1 -0
  55. package/lib/components/CommonComponents/index.js +4 -0
  56. package/lib/components/CommonComponents/index.js.map +1 -0
  57. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +229 -0
  58. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  59. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +178 -0
  60. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  61. package/lib/components/DeclarativeChart/DeclarativeChart.js +197 -0
  62. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  63. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +811 -0
  64. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  65. package/lib/components/DeclarativeChart/imageExporter.js +221 -0
  66. package/lib/components/DeclarativeChart/imageExporter.js.map +1 -0
  67. package/lib/components/DeclarativeChart/index.js +1 -0
  68. package/lib/components/DeclarativeChart/index.js.map +1 -0
  69. package/lib/components/DonutChart/Arc/Arc.js +110 -0
  70. package/lib/components/DonutChart/Arc/Arc.js.map +1 -0
  71. package/lib/components/DonutChart/Arc/Arc.types.js +1 -0
  72. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -0
  73. package/lib/components/DonutChart/Arc/index.js +2 -0
  74. package/lib/components/DonutChart/Arc/index.js.map +1 -0
  75. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +54 -0
  76. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  77. package/lib/components/DonutChart/DonutChart.js +291 -0
  78. package/lib/components/DonutChart/DonutChart.js.map +1 -0
  79. package/lib/components/DonutChart/DonutChart.types.js +1 -0
  80. package/lib/components/DonutChart/DonutChart.types.js.map +1 -0
  81. package/lib/components/DonutChart/Pie/Pie.js +72 -0
  82. package/lib/components/DonutChart/Pie/Pie.js.map +1 -0
  83. package/lib/components/DonutChart/Pie/Pie.types.js +1 -0
  84. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -0
  85. package/lib/components/DonutChart/Pie/index.js +2 -0
  86. package/lib/components/DonutChart/Pie/index.js.map +1 -0
  87. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +44 -0
  88. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  89. package/lib/components/DonutChart/index.js +3 -0
  90. package/lib/components/DonutChart/index.js.map +1 -0
  91. package/lib/components/DonutChart/useDonutChartStyles.styles.js +58 -0
  92. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  93. package/lib/components/GaugeChart/GaugeChart.js +592 -0
  94. package/lib/components/GaugeChart/GaugeChart.js.map +1 -0
  95. package/lib/components/GaugeChart/GaugeChart.types.js +4 -0
  96. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -0
  97. package/lib/components/GaugeChart/index.js +3 -0
  98. package/lib/components/GaugeChart/index.js.map +1 -0
  99. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +174 -0
  100. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  101. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +501 -0
  102. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  103. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +4 -0
  104. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  105. package/lib/components/GroupedVerticalBarChart/index.js +3 -0
  106. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -0
  107. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +90 -0
  108. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  109. package/lib/components/HeatMapChart/HeatMapChart.js +588 -0
  110. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -0
  111. package/lib/components/HeatMapChart/HeatMapChart.types.js +4 -0
  112. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  113. package/lib/components/HeatMapChart/index.js +3 -0
  114. package/lib/components/HeatMapChart/index.js.map +1 -0
  115. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +46 -0
  116. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  117. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +402 -0
  118. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  119. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +6 -0
  120. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  121. package/lib/components/HorizontalBarChart/index.js +3 -0
  122. package/lib/components/HorizontalBarChart/index.js.map +1 -0
  123. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +163 -0
  124. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  125. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +571 -0
  126. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  127. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +4 -0
  128. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  129. package/lib/components/HorizontalBarChartWithAxis/index.js +3 -0
  130. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  131. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +76 -0
  132. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  133. package/lib/components/Legends/Legends.js +303 -0
  134. package/lib/components/Legends/Legends.js.map +1 -0
  135. package/lib/components/Legends/Legends.types.js +1 -0
  136. package/lib/components/Legends/Legends.types.js.map +1 -0
  137. package/lib/components/Legends/OverflowMenu.js +25 -0
  138. package/lib/components/Legends/OverflowMenu.js.map +1 -0
  139. package/lib/components/Legends/index.js +3 -0
  140. package/lib/components/Legends/index.js.map +1 -0
  141. package/lib/components/Legends/shape.js +35 -0
  142. package/lib/components/Legends/shape.js.map +1 -0
  143. package/lib/components/Legends/useLegendsStyles.styles.js +147 -0
  144. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -0
  145. package/lib/components/LineChart/LineChart.js +1034 -0
  146. package/lib/components/LineChart/LineChart.js.map +1 -0
  147. package/lib/components/LineChart/LineChart.types.js +3 -0
  148. package/lib/components/LineChart/LineChart.types.js.map +1 -0
  149. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +119 -0
  150. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  151. package/lib/components/LineChart/eventAnnotation/LabelLink.js +57 -0
  152. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  153. package/lib/components/LineChart/eventAnnotation/Textbox.js +40 -0
  154. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  155. package/lib/components/LineChart/index.js +4 -0
  156. package/lib/components/LineChart/index.js.map +1 -0
  157. package/lib/components/LineChart/useLineChartStyles.styles.js +65 -0
  158. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  159. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +65 -0
  160. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  161. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js +1 -0
  162. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  163. package/lib/components/ResponsiveContainer/index.js +1 -0
  164. package/lib/components/ResponsiveContainer/index.js.map +1 -0
  165. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +23 -0
  166. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  167. package/lib/components/SankeyChart/SankeyChart.js +1022 -0
  168. package/lib/components/SankeyChart/SankeyChart.js.map +1 -0
  169. package/lib/components/SankeyChart/SankeyChart.types.js +3 -0
  170. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -0
  171. package/lib/components/SankeyChart/index.js +3 -0
  172. package/lib/components/SankeyChart/index.js.map +1 -0
  173. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +109 -0
  174. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  175. package/lib/components/ScatterChart/ScatterChart.js +465 -0
  176. package/lib/components/ScatterChart/ScatterChart.js.map +1 -0
  177. package/lib/components/ScatterChart/ScatterChart.types.js +4 -0
  178. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -0
  179. package/lib/components/ScatterChart/index.js +3 -0
  180. package/lib/components/ScatterChart/index.js.map +1 -0
  181. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +65 -0
  182. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  183. package/lib/components/Sparkline/Sparkline.js +119 -0
  184. package/lib/components/Sparkline/Sparkline.js.map +1 -0
  185. package/lib/components/Sparkline/Sparkline.types.js +4 -0
  186. package/lib/components/Sparkline/Sparkline.types.js.map +1 -0
  187. package/lib/components/Sparkline/index.js +3 -0
  188. package/lib/components/Sparkline/index.js.map +1 -0
  189. package/lib/components/Sparkline/useSparklineStyles.styles.js +49 -0
  190. package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  191. package/lib/components/VerticalBarChart/VerticalBarChart.js +926 -0
  192. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  193. package/lib/components/VerticalBarChart/VerticalBarChart.types.js +4 -0
  194. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  195. package/lib/components/VerticalBarChart/index.js +3 -0
  196. package/lib/components/VerticalBarChart/index.js.map +1 -0
  197. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +74 -0
  198. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  199. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +904 -0
  200. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  201. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +1 -0
  202. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  203. package/lib/components/VerticalStackedBarChart/index.js +3 -0
  204. package/lib/components/VerticalStackedBarChart/index.js.map +1 -0
  205. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +73 -0
  206. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  207. package/lib/index.js +20 -0
  208. package/lib/index.js.map +1 -0
  209. package/lib/types/DataPoint.js +1 -0
  210. package/lib/types/DataPoint.js.map +1 -0
  211. package/lib/types/EventAnnotation.js +1 -0
  212. package/lib/types/EventAnnotation.js.map +1 -0
  213. package/lib/types/LegendDataItem.js +1 -0
  214. package/lib/types/LegendDataItem.js.map +1 -0
  215. package/lib/types/index.js +2 -0
  216. package/lib/types/index.js.map +1 -0
  217. package/lib/utilities/FocusableTooltipText.js +65 -0
  218. package/lib/utilities/FocusableTooltipText.js.map +1 -0
  219. package/lib/utilities/KeyCodes.js +8 -0
  220. package/lib/utilities/KeyCodes.js.map +1 -0
  221. package/lib/utilities/SVGTooltipText.js +183 -0
  222. package/lib/utilities/SVGTooltipText.js.map +1 -0
  223. package/lib/utilities/async-utils.js +380 -0
  224. package/lib/utilities/async-utils.js.map +1 -0
  225. package/lib/utilities/colors.js +269 -0
  226. package/lib/utilities/colors.js.map +1 -0
  227. package/lib/utilities/getWindow.js +25 -0
  228. package/lib/utilities/getWindow.js.map +1 -0
  229. package/lib/utilities/index.js +3 -0
  230. package/lib/utilities/index.js.map +1 -0
  231. package/lib/utilities/locale-util.js +15 -0
  232. package/lib/utilities/locale-util.js.map +1 -0
  233. package/lib/utilities/overflow-utils.js +27 -0
  234. package/lib/utilities/overflow-utils.js.map +1 -0
  235. package/lib/utilities/string.js +32 -0
  236. package/lib/utilities/string.js.map +1 -0
  237. package/lib/utilities/test-data.js +329 -0
  238. package/lib/utilities/test-data.js.map +1 -0
  239. package/lib/utilities/utilities.js +1405 -0
  240. package/lib/utilities/utilities.js.map +1 -0
  241. package/lib/utilities/vbc-utils.js +27 -0
  242. package/lib/utilities/vbc-utils.js.map +1 -0
  243. package/lib-commonjs/AreaChart.js +6 -0
  244. package/lib-commonjs/AreaChart.js.map +1 -0
  245. package/lib-commonjs/CartesianChart.js +6 -0
  246. package/lib-commonjs/CartesianChart.js.map +1 -0
  247. package/lib-commonjs/DeclarativeChart.js +6 -0
  248. package/lib-commonjs/DeclarativeChart.js.map +1 -0
  249. package/lib-commonjs/DonutChart.js +6 -0
  250. package/lib-commonjs/DonutChart.js.map +1 -0
  251. package/lib-commonjs/GaugeChart.js +6 -0
  252. package/lib-commonjs/GaugeChart.js.map +1 -0
  253. package/lib-commonjs/GroupedVerticalBarChart.js +6 -0
  254. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -0
  255. package/lib-commonjs/HeatMapChart.js +6 -0
  256. package/lib-commonjs/HeatMapChart.js.map +1 -0
  257. package/lib-commonjs/HorizontalBarChart.js +6 -0
  258. package/lib-commonjs/HorizontalBarChart.js.map +1 -0
  259. package/lib-commonjs/HorizontalBarChartWithAxis.js +6 -0
  260. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -0
  261. package/lib-commonjs/Legends.js +6 -0
  262. package/lib-commonjs/Legends.js.map +1 -0
  263. package/lib-commonjs/LineChart.js +6 -0
  264. package/lib-commonjs/LineChart.js.map +1 -0
  265. package/lib-commonjs/Popover.js +6 -0
  266. package/lib-commonjs/Popover.js.map +1 -0
  267. package/lib-commonjs/ResponsiveContainer.js +6 -0
  268. package/lib-commonjs/ResponsiveContainer.js.map +1 -0
  269. package/lib-commonjs/SankeyChart.js +6 -0
  270. package/lib-commonjs/SankeyChart.js.map +1 -0
  271. package/lib-commonjs/ScatterChart.js +6 -0
  272. package/lib-commonjs/ScatterChart.js.map +1 -0
  273. package/lib-commonjs/Sparkline.js +6 -0
  274. package/lib-commonjs/Sparkline.js.map +1 -0
  275. package/lib-commonjs/VerticalBarChart.js +6 -0
  276. package/lib-commonjs/VerticalBarChart.js.map +1 -0
  277. package/lib-commonjs/VerticalStackedBarChart.js +6 -0
  278. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -0
  279. package/lib-commonjs/components/AreaChart/AreaChart.js +781 -0
  280. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -0
  281. package/lib-commonjs/components/AreaChart/AreaChart.types.js +7 -0
  282. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -0
  283. package/lib-commonjs/components/AreaChart/index.js +8 -0
  284. package/lib-commonjs/components/AreaChart/index.js.map +1 -0
  285. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +104 -0
  286. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  287. package/lib-commonjs/components/CommonComponents/CartesianChart.js +484 -0
  288. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -0
  289. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js +6 -0
  290. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -0
  291. package/lib-commonjs/components/CommonComponents/ChartPopover.js +197 -0
  292. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -0
  293. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js +4 -0
  294. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +1 -0
  295. package/lib-commonjs/components/CommonComponents/index.js +9 -0
  296. package/lib-commonjs/components/CommonComponents/index.js.map +1 -0
  297. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +356 -0
  298. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  299. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +261 -0
  300. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  301. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +205 -0
  302. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  303. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +859 -0
  304. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  305. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +231 -0
  306. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -0
  307. package/lib-commonjs/components/DeclarativeChart/index.js +6 -0
  308. package/lib-commonjs/components/DeclarativeChart/index.js.map +1 -0
  309. package/lib-commonjs/components/DonutChart/Arc/Arc.js +117 -0
  310. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -0
  311. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js +4 -0
  312. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -0
  313. package/lib-commonjs/components/DonutChart/Arc/index.js +7 -0
  314. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -0
  315. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +83 -0
  316. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  317. package/lib-commonjs/components/DonutChart/DonutChart.js +298 -0
  318. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -0
  319. package/lib-commonjs/components/DonutChart/DonutChart.types.js +6 -0
  320. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -0
  321. package/lib-commonjs/components/DonutChart/Pie/Pie.js +79 -0
  322. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -0
  323. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js +4 -0
  324. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -0
  325. package/lib-commonjs/components/DonutChart/Pie/index.js +7 -0
  326. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -0
  327. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +61 -0
  328. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  329. package/lib-commonjs/components/DonutChart/index.js +8 -0
  330. package/lib-commonjs/components/DonutChart/index.js.map +1 -0
  331. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +82 -0
  332. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  333. package/lib-commonjs/components/GaugeChart/GaugeChart.js +621 -0
  334. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -0
  335. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js +7 -0
  336. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -0
  337. package/lib-commonjs/components/GaugeChart/index.js +8 -0
  338. package/lib-commonjs/components/GaugeChart/index.js.map +1 -0
  339. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +252 -0
  340. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  341. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +507 -0
  342. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  343. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +7 -0
  344. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  345. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +8 -0
  346. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -0
  347. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +139 -0
  348. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  349. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +599 -0
  350. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -0
  351. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js +7 -0
  352. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  353. package/lib-commonjs/components/HeatMapChart/index.js +8 -0
  354. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -0
  355. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +68 -0
  356. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  357. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +408 -0
  358. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  359. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js +17 -0
  360. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  361. package/lib-commonjs/components/HorizontalBarChart/index.js +8 -0
  362. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -0
  363. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +251 -0
  364. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  365. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +580 -0
  366. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  367. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +7 -0
  368. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  369. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +8 -0
  370. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  371. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +116 -0
  372. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  373. package/lib-commonjs/components/Legends/Legends.js +313 -0
  374. package/lib-commonjs/components/Legends/Legends.js.map +1 -0
  375. package/lib-commonjs/components/Legends/Legends.types.js +6 -0
  376. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -0
  377. package/lib-commonjs/components/Legends/OverflowMenu.js +36 -0
  378. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -0
  379. package/lib-commonjs/components/Legends/index.js +8 -0
  380. package/lib-commonjs/components/Legends/index.js.map +1 -0
  381. package/lib-commonjs/components/Legends/shape.js +46 -0
  382. package/lib-commonjs/components/Legends/shape.js.map +1 -0
  383. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +304 -0
  384. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -0
  385. package/lib-commonjs/components/LineChart/LineChart.js +1040 -0
  386. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -0
  387. package/lib-commonjs/components/LineChart/LineChart.types.js +6 -0
  388. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -0
  389. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +129 -0
  390. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  391. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +68 -0
  392. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  393. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +51 -0
  394. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  395. package/lib-commonjs/components/LineChart/index.js +9 -0
  396. package/lib-commonjs/components/LineChart/index.js.map +1 -0
  397. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +96 -0
  398. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  399. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +76 -0
  400. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  401. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js +6 -0
  402. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  403. package/lib-commonjs/components/ResponsiveContainer/index.js +6 -0
  404. package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -0
  405. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +47 -0
  406. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  407. package/lib-commonjs/components/SankeyChart/SankeyChart.js +1038 -0
  408. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -0
  409. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js +6 -0
  410. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -0
  411. package/lib-commonjs/components/SankeyChart/index.js +8 -0
  412. package/lib-commonjs/components/SankeyChart/index.js.map +1 -0
  413. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +179 -0
  414. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  415. package/lib-commonjs/components/ScatterChart/ScatterChart.js +471 -0
  416. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -0
  417. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +7 -0
  418. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -0
  419. package/lib-commonjs/components/ScatterChart/index.js +8 -0
  420. package/lib-commonjs/components/ScatterChart/index.js.map +1 -0
  421. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +96 -0
  422. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  423. package/lib-commonjs/components/Sparkline/Sparkline.js +125 -0
  424. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -0
  425. package/lib-commonjs/components/Sparkline/Sparkline.types.js +7 -0
  426. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -0
  427. package/lib-commonjs/components/Sparkline/index.js +8 -0
  428. package/lib-commonjs/components/Sparkline/index.js.map +1 -0
  429. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +77 -0
  430. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  431. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +928 -0
  432. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  433. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js +7 -0
  434. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  435. package/lib-commonjs/components/VerticalBarChart/index.js +8 -0
  436. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -0
  437. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +117 -0
  438. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  439. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +915 -0
  440. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  441. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +6 -0
  442. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  443. package/lib-commonjs/components/VerticalStackedBarChart/index.js +8 -0
  444. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -0
  445. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +120 -0
  446. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  447. package/lib-commonjs/index.js +25 -0
  448. package/lib-commonjs/index.js.map +1 -0
  449. package/lib-commonjs/types/DataPoint.js +4 -0
  450. package/lib-commonjs/types/DataPoint.js.map +1 -0
  451. package/lib-commonjs/types/EventAnnotation.js +6 -0
  452. package/lib-commonjs/types/EventAnnotation.js.map +1 -0
  453. package/lib-commonjs/types/LegendDataItem.js +4 -0
  454. package/lib-commonjs/types/LegendDataItem.js.map +1 -0
  455. package/lib-commonjs/types/index.js +7 -0
  456. package/lib-commonjs/types/index.js.map +1 -0
  457. package/lib-commonjs/utilities/FocusableTooltipText.js +75 -0
  458. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -0
  459. package/lib-commonjs/utilities/KeyCodes.js +18 -0
  460. package/lib-commonjs/utilities/KeyCodes.js.map +1 -0
  461. package/lib-commonjs/utilities/SVGTooltipText.js +193 -0
  462. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -0
  463. package/lib-commonjs/utilities/async-utils.js +382 -0
  464. package/lib-commonjs/utilities/async-utils.js.map +1 -0
  465. package/lib-commonjs/utilities/colors.js +293 -0
  466. package/lib-commonjs/utilities/colors.js.map +1 -0
  467. package/lib-commonjs/utilities/getWindow.js +28 -0
  468. package/lib-commonjs/utilities/getWindow.js.map +1 -0
  469. package/lib-commonjs/utilities/index.js +8 -0
  470. package/lib-commonjs/utilities/index.js.map +1 -0
  471. package/lib-commonjs/utilities/locale-util.js +25 -0
  472. package/lib-commonjs/utilities/locale-util.js.map +1 -0
  473. package/lib-commonjs/utilities/overflow-utils.js +36 -0
  474. package/lib-commonjs/utilities/overflow-utils.js.map +1 -0
  475. package/lib-commonjs/utilities/string.js +29 -0
  476. package/lib-commonjs/utilities/string.js.map +1 -0
  477. package/lib-commonjs/utilities/test-data.js +383 -0
  478. package/lib-commonjs/utilities/test-data.js.map +1 -0
  479. package/lib-commonjs/utilities/utilities.js +1371 -0
  480. package/lib-commonjs/utilities/utilities.js.map +1 -0
  481. package/lib-commonjs/utilities/vbc-utils.js +45 -0
  482. package/lib-commonjs/utilities/vbc-utils.js.map +1 -0
  483. package/package.json +13 -13
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CartesianChart", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CartesianChart;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _useCartesianChartStylesstyles = require("./useCartesianChartStyles.styles");
14
+ const _index = require("../../utilities/index");
15
+ const _SVGTooltipText = require("../../utilities/SVGTooltipText");
16
+ const _ChartPopover = require("./ChartPopover");
17
+ const _reacttabster = require("@fluentui/react-tabster");
18
+ const CartesianChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
19
+ var _props_margins, _props_margins1, _props_margins2, _props_margins3, _props_margins4, _props_margins5;
20
+ const chartContainer = _react.useRef();
21
+ let legendContainer;
22
+ const minLegendContainerHeight = 40;
23
+ const xAxisElement = _react.useRef();
24
+ const yAxisElement = _react.useRef();
25
+ const yAxisElementSecondary = _react.useRef();
26
+ let margins;
27
+ const idForGraph = 'chart_';
28
+ let _reqID;
29
+ const _useRtl = (0, _index.useRtl)();
30
+ let _tickValues;
31
+ const titleMargin = 8;
32
+ const _isFirstRender = _react.useRef(true);
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ let _xScale;
35
+ let isIntegralDataset = true;
36
+ const [containerWidth, setContainerWidth] = _react.useState(0);
37
+ const [containerHeight, setContainerHeight] = _react.useState(0);
38
+ const [isRemoveValCalculated, setIsRemoveValCalculated] = _react.useState(true);
39
+ const [removalValueForTextTuncate, setRemovalValueForTextTuncate] = _react.useState(0);
40
+ const [startFromX, setStartFromX] = _react.useState(0);
41
+ const [prevProps, setPrevProps] = _react.useState(null);
42
+ const chartTypesToCheck = [
43
+ _index.ChartTypes.HorizontalBarChartWithAxis,
44
+ _index.ChartTypes.HeatMapChart
45
+ ];
46
+ var _props_margins_top, _props_margins_bottom, _props_margins_left, _props_margins_right, _props_margins_right1, _props_margins_left1;
47
+ /**
48
+ * In RTL mode, Only graph will be rendered left/right. We need to provide left and right margins manually.
49
+ * So that, in RTL, left margins becomes right margins and viceversa.
50
+ * As graph needs to be drawn perfecty, these values consider as default values.
51
+ * Same margins using for all other cartesian charts. Can be accessible through 'getMargins' call back method.
52
+ */ // eslint-disable-next-line prefer-const
53
+ margins = {
54
+ top: (_props_margins_top = (_props_margins = props.margins) === null || _props_margins === void 0 ? void 0 : _props_margins.top) !== null && _props_margins_top !== void 0 ? _props_margins_top : 20,
55
+ bottom: (_props_margins_bottom = (_props_margins1 = props.margins) === null || _props_margins1 === void 0 ? void 0 : _props_margins1.bottom) !== null && _props_margins_bottom !== void 0 ? _props_margins_bottom : 35,
56
+ right: _useRtl ? (_props_margins_left = (_props_margins2 = props.margins) === null || _props_margins2 === void 0 ? void 0 : _props_margins2.left) !== null && _props_margins_left !== void 0 ? _props_margins_left : 40 : ((_props_margins_right = (_props_margins3 = props.margins) === null || _props_margins3 === void 0 ? void 0 : _props_margins3.right) !== null && _props_margins_right !== void 0 ? _props_margins_right : props === null || props === void 0 ? void 0 : props.secondaryYScaleOptions) ? 40 : 20,
57
+ left: _useRtl ? ((_props_margins_right1 = (_props_margins4 = props.margins) === null || _props_margins4 === void 0 ? void 0 : _props_margins4.right) !== null && _props_margins_right1 !== void 0 ? _props_margins_right1 : props === null || props === void 0 ? void 0 : props.secondaryYScaleOptions) ? 40 : 20 : (_props_margins_left1 = (_props_margins5 = props.margins) === null || _props_margins5 === void 0 ? void 0 : _props_margins5.left) !== null && _props_margins_left1 !== void 0 ? _props_margins_left1 : 40
58
+ };
59
+ if (props.xAxisTitle !== undefined && props.xAxisTitle !== '') {
60
+ var _props_margins6;
61
+ var _props_margins_bottom1;
62
+ margins.bottom = (_props_margins_bottom1 = (_props_margins6 = props.margins) === null || _props_margins6 === void 0 ? void 0 : _props_margins6.bottom) !== null && _props_margins_bottom1 !== void 0 ? _props_margins_bottom1 : 55;
63
+ }
64
+ if (props.yAxisTitle !== undefined && props.yAxisTitle !== '') {
65
+ var _props_margins7, _props_margins8, _props_margins9, _props_margins10;
66
+ var _props_margins_right2, _props_margins_left2;
67
+ margins.left = _useRtl ? ((_props_margins_right2 = (_props_margins7 = props.margins) === null || _props_margins7 === void 0 ? void 0 : _props_margins7.right) !== null && _props_margins_right2 !== void 0 ? _props_margins_right2 : props === null || props === void 0 ? void 0 : props.secondaryYAxistitle) ? 80 : 40 : (_props_margins_left2 = (_props_margins8 = props.margins) === null || _props_margins8 === void 0 ? void 0 : _props_margins8.left) !== null && _props_margins_left2 !== void 0 ? _props_margins_left2 : 60;
68
+ var _props_margins_left3, _props_margins_right3;
69
+ margins.right = _useRtl ? (_props_margins_left3 = (_props_margins9 = props.margins) === null || _props_margins9 === void 0 ? void 0 : _props_margins9.left) !== null && _props_margins_left3 !== void 0 ? _props_margins_left3 : 60 : ((_props_margins_right3 = (_props_margins10 = props.margins) === null || _props_margins10 === void 0 ? void 0 : _props_margins10.right) !== null && _props_margins_right3 !== void 0 ? _props_margins_right3 : props === null || props === void 0 ? void 0 : props.secondaryYAxistitle) ? 80 : 40;
70
+ }
71
+ const classes = (0, _useCartesianChartStylesstyles.useCartesianChartStyles)(props);
72
+ const focusAttributes = (0, _reacttabster.useFocusableGroup)();
73
+ const arrowAttributes = (0, _reacttabster.useArrowNavigationGroup)({
74
+ axis: 'horizontal'
75
+ });
76
+ // ComponentdidMount and Componentwillunmount logic
77
+ _react.useEffect(()=>{
78
+ _fitParentContainer();
79
+ if (props !== null) {
80
+ setPrevProps(props);
81
+ }
82
+ if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {
83
+ const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis);
84
+ if (startFromX !== maxYAxisLabelLength) {
85
+ setStartFromX(maxYAxisLabelLength);
86
+ }
87
+ } else if (startFromX !== 0) {
88
+ setStartFromX(0);
89
+ }
90
+ // eslint-disable-next-line react-hooks/exhaustive-deps
91
+ isIntegralDataset = !props.points.some((point)=>point.y % 1 !== 0);
92
+ return ()=>{
93
+ cancelAnimationFrame(_reqID);
94
+ };
95
+ }, [
96
+ props
97
+ ]);
98
+ // ComponentDidUpdate logic
99
+ _react.useEffect(()=>{
100
+ if (prevProps) {
101
+ if (prevProps.height !== props.height || prevProps.width !== props.width) {
102
+ _fitParentContainer();
103
+ }
104
+ }
105
+ if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {
106
+ const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis);
107
+ if (startFromX !== maxYAxisLabelLength) {
108
+ setStartFromX(maxYAxisLabelLength);
109
+ }
110
+ } else if (startFromX !== 0) {
111
+ setStartFromX(0);
112
+ }
113
+ if (prevProps !== null && prevProps.points !== props.points) {
114
+ // eslint-disable-next-line react-hooks/exhaustive-deps
115
+ isIntegralDataset = !props.points.some((point)=>point.y % 1 !== 0);
116
+ }
117
+ }, [
118
+ props,
119
+ prevProps
120
+ ]);
121
+ _react.useEffect(()=>{
122
+ if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType === _index.XAxisTypes.StringAxis) {
123
+ const rotateLabelProps = {
124
+ node: xAxisElement.current,
125
+ xAxis: _xScale
126
+ };
127
+ const rotatedHeight = (0, _index.rotateXAxisLabels)(rotateLabelProps);
128
+ if (isRemoveValCalculated && removalValueForTextTuncate !== rotatedHeight + margins.bottom && rotatedHeight > 0) {
129
+ setRemovalValueForTextTuncate(rotatedHeight + margins.bottom);
130
+ setIsRemoveValCalculated(false);
131
+ }
132
+ }
133
+ });
134
+ _react.useImperativeHandle(props.componentRef, ()=>{
135
+ var _chartContainer_current;
136
+ return {
137
+ chartContainer: (_chartContainer_current = chartContainer.current) !== null && _chartContainer_current !== void 0 ? _chartContainer_current : null
138
+ };
139
+ }, []);
140
+ /**
141
+ * Dedicated function to return the Callout JSX Element , which can further be used to only call this when
142
+ * only the calloutprops and charthover props changes.
143
+ * @param calloutProps
144
+ * @param chartHoverProps
145
+ * @returns
146
+ */ // eslint-disable-next-line @typescript-eslint/no-explicit-any
147
+ function _generateCallout(calloutProps) {
148
+ return /*#__PURE__*/ _react.createElement(_ChartPopover.ChartPopover, calloutProps);
149
+ }
150
+ function calculateMaxYAxisLabelLength(chartType, points, className) {
151
+ if (chartType === _index.ChartTypes.HeatMapChart) {
152
+ var _points__data, _points_;
153
+ return (0, _index.calculateLongestLabelWidth)((_points_ = points[0]) === null || _points_ === void 0 ? void 0 : (_points__data = _points_.data) === null || _points__data === void 0 ? void 0 : _points__data.map((point)=>point.y), `.${className} text`);
154
+ } else {
155
+ return (0, _index.calculateLongestLabelWidth)(points === null || points === void 0 ? void 0 : points.map((point)=>point.y), `.${className} text`);
156
+ }
157
+ }
158
+ const { calloutProps, points, chartType, svgProps, culture, dateLocalizeOptions, timeFormatLocale, customDateTimeFormatter } = props;
159
+ if (props.parentRef) {
160
+ _fitParentContainer();
161
+ }
162
+ const margin = {
163
+ ...margins
164
+ };
165
+ if (chartTypesToCheck.includes(props.chartType)) {
166
+ if (!_useRtl) {
167
+ margin.left += startFromX;
168
+ } else {
169
+ margin.right += startFromX;
170
+ }
171
+ }
172
+ // Callback for margins to the chart
173
+ props.getmargins && props.getmargins(margin);
174
+ let callout = null;
175
+ let children = null;
176
+ if (props.enableFirstRenderOptimization && chartContainer.current || !props.enableFirstRenderOptimization) {
177
+ _isFirstRender.current = false;
178
+ const XAxisParams = {
179
+ domainNRangeValues: (0, _index.getDomainNRangeValues)(points, props.getDomainMargins ? props.getDomainMargins(containerWidth) : margins, containerWidth, chartType, _useRtl, props.xAxisType, props.barwidth, props.tickValues, startFromX),
180
+ containerHeight: containerHeight - removalValueForTextTuncate,
181
+ margins: margins,
182
+ xAxisElement: xAxisElement.current,
183
+ showRoundOffXTickValues: true,
184
+ xAxisCount: props.xAxisTickCount,
185
+ xAxistickSize: props.xAxistickSize,
186
+ tickPadding: props.tickPadding || props.showXAxisLablesTooltip ? 5 : 10,
187
+ xAxisPadding: props.xAxisPadding,
188
+ xAxisInnerPadding: props.xAxisInnerPadding,
189
+ xAxisOuterPadding: props.xAxisOuterPadding,
190
+ containerWidth: containerWidth,
191
+ hideTickOverlap: props.hideTickOverlap && !props.rotateXAxisLables && !props.showXAxisLablesTooltip && !props.wrapXAxisLables
192
+ };
193
+ const YAxisParams = {
194
+ margins: margins,
195
+ containerWidth: containerWidth,
196
+ containerHeight: containerHeight - removalValueForTextTuncate,
197
+ yAxisElement: yAxisElement.current,
198
+ yAxisTickFormat: props.yAxisTickFormat,
199
+ yAxisTickCount: props.yAxisTickCount,
200
+ yMinValue: props.yMinValue || 0,
201
+ yMaxValue: props.yMaxValue || 0,
202
+ tickPadding: 10,
203
+ maxOfYVal: props.maxOfYVal,
204
+ yMinMaxValues: (0, _index.getMinMaxOfYAxis)(points, chartType, props.yAxisType),
205
+ // please note these padding default values must be consistent in here
206
+ // and the parent chart(HBWA/Vertical etc..) for more details refer example
207
+ // http://using-d3js.com/04_07_ordinal_scales.html
208
+ yAxisPadding: props.yAxisPadding || 0
209
+ };
210
+ /**
211
+ * These scales used for 2 purposes.
212
+ * 1. To create x and y axis
213
+ * 2. To draw the graph.
214
+ * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.
215
+ */ // eslint-disable-next-line @typescript-eslint/no-explicit-any
216
+ let xScale;
217
+ let tickValues;
218
+ switch(props.xAxisType){
219
+ case _index.XAxisTypes.NumericAxis:
220
+ ({ xScale, tickValues } = (0, _index.createNumericXAxis)(XAxisParams, props.tickParams, props.chartType, culture));
221
+ break;
222
+ case _index.XAxisTypes.DateAxis:
223
+ ({ xScale, tickValues } = (0, _index.createDateXAxis)(XAxisParams, props.tickParams, culture, dateLocalizeOptions, timeFormatLocale, customDateTimeFormatter, props.useUTC));
224
+ break;
225
+ case _index.XAxisTypes.StringAxis:
226
+ ({ xScale, tickValues } = (0, _index.createStringXAxis)(XAxisParams, props.tickParams, props.datasetForXAxisDomain, culture));
227
+ break;
228
+ default:
229
+ ({ xScale, tickValues } = (0, _index.createNumericXAxis)(XAxisParams, props.tickParams, props.chartType, culture));
230
+ }
231
+ _xScale = xScale;
232
+ _tickValues = tickValues;
233
+ /*
234
+ * To enable wrapping of x axis tick values or to display complete x axis tick values,
235
+ * we need to calculate how much space it needed to render the text.
236
+ * No need to re-calculate every time the chart renders and same time need to get an update. So using set
237
+ * Required space will be calculated first time chart rendering and if any width/height of chart updated.
238
+ * */ if (props.wrapXAxisLables || props.showXAxisLablesTooltip) {
239
+ const wrapLabelProps = {
240
+ node: xAxisElement.current,
241
+ xAxis: xScale,
242
+ showXAxisLablesTooltip: props.showXAxisLablesTooltip || false,
243
+ noOfCharsToTruncate: props.noOfCharsToTruncate || 4
244
+ };
245
+ const temp = xScale && (0, _index.createWrapOfXLabels)(wrapLabelProps);
246
+ // this value need to be updated for draw graph updated. So instead of using private value, using set
247
+ if (isRemoveValCalculated && removalValueForTextTuncate !== temp) {
248
+ setRemovalValueForTextTuncate(temp);
249
+ setIsRemoveValCalculated(false);
250
+ }
251
+ }
252
+ /**
253
+ * These scales used for 2 purposes.
254
+ * 1. To create x and y axis
255
+ * 2. To draw the graph.
256
+ * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.
257
+ */ // eslint-disable-next-line @typescript-eslint/no-explicit-any
258
+ let yScale;
259
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
260
+ let yScaleSecondary;
261
+ const axisData = {
262
+ yAxisDomainValues: []
263
+ };
264
+ if (props.yAxisType && props.yAxisType === _index.YAxisType.StringAxis) {
265
+ yScale = (0, _index.createStringYAxis)(YAxisParams, props.stringDatasetForYAxisDomain, _useRtl, props.chartType, props.barwidth, culture);
266
+ } else {
267
+ if (props === null || props === void 0 ? void 0 : props.secondaryYScaleOptions) {
268
+ var _props_secondaryYScaleOptions, _props_secondaryYScaleOptions1, _props_secondaryYScaleOptions2;
269
+ var _props_secondaryYScaleOptions_yMaxValue, _props_secondaryYScaleOptions_yMaxValue1;
270
+ const YAxisParamsSecondary = {
271
+ margins: margins,
272
+ containerWidth: containerWidth,
273
+ containerHeight: containerHeight - removalValueForTextTuncate,
274
+ yAxisElement: yAxisElementSecondary.current,
275
+ yAxisTickFormat: props.yAxisTickFormat,
276
+ yAxisTickCount: props.yAxisTickCount,
277
+ yMinValue: ((_props_secondaryYScaleOptions = props.secondaryYScaleOptions) === null || _props_secondaryYScaleOptions === void 0 ? void 0 : _props_secondaryYScaleOptions.yMinValue) || 0,
278
+ yMaxValue: (_props_secondaryYScaleOptions_yMaxValue = (_props_secondaryYScaleOptions1 = props.secondaryYScaleOptions) === null || _props_secondaryYScaleOptions1 === void 0 ? void 0 : _props_secondaryYScaleOptions1.yMaxValue) !== null && _props_secondaryYScaleOptions_yMaxValue !== void 0 ? _props_secondaryYScaleOptions_yMaxValue : 100,
279
+ tickPadding: 10,
280
+ maxOfYVal: (_props_secondaryYScaleOptions_yMaxValue1 = (_props_secondaryYScaleOptions2 = props.secondaryYScaleOptions) === null || _props_secondaryYScaleOptions2 === void 0 ? void 0 : _props_secondaryYScaleOptions2.yMaxValue) !== null && _props_secondaryYScaleOptions_yMaxValue1 !== void 0 ? _props_secondaryYScaleOptions_yMaxValue1 : 100,
281
+ yMinMaxValues: (0, _index.getMinMaxOfYAxis)(points, chartType),
282
+ yAxisPadding: props.yAxisPadding
283
+ };
284
+ yScaleSecondary = (0, _index.createYAxis)(YAxisParamsSecondary, _useRtl, axisData, chartType, props.barwidth, isIntegralDataset, true, props.roundedTicks);
285
+ }
286
+ yScale = (0, _index.createYAxis)(YAxisParams, _useRtl, axisData, chartType, props.barwidth, isIntegralDataset, false, props.roundedTicks);
287
+ }
288
+ /*
289
+ * To create y axis tick values by if specified
290
+ truncating the rest of the text and showing elipsis
291
+ or showing the whole string,
292
+ * */ chartTypesToCheck.includes(props.chartType) && yScale && (0, _index.createYAxisLabels)(yAxisElement.current, yScale, props.noOfCharsToTruncate || 4, props.showYAxisLablesTooltip || false, startFromX, _useRtl);
293
+ // Call back to the chart.
294
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
295
+ const _getData = (xScale, yScale)=>{
296
+ props.getGraphData && props.getGraphData(xScale, yScale, containerHeight - removalValueForTextTuncate, containerWidth, xAxisElement.current, yAxisElement.current);
297
+ };
298
+ props.getAxisData && props.getAxisData(axisData);
299
+ // Callback function for chart, returns axis
300
+ _getData(xScale, yScale);
301
+ children = props.children({
302
+ xScale,
303
+ yScale,
304
+ yScaleSecondary,
305
+ containerHeight,
306
+ containerWidth
307
+ });
308
+ if (!props.hideTooltip && calloutProps.isPopoverOpen) {
309
+ callout = _generateCallout(calloutProps);
310
+ }
311
+ }
312
+ const svgDimensions = {
313
+ width: containerWidth,
314
+ height: containerHeight
315
+ };
316
+ const xAxisTitleMaximumAllowedWidth = svgDimensions.width - margins.left - margins.right - startFromX;
317
+ const yAxisTitleMaximumAllowedHeight = svgDimensions.height - margins.bottom - margins.top - removalValueForTextTuncate - titleMargin;
318
+ /**
319
+ * When screen resizes, along with screen, chart also auto adjusted.
320
+ * This method used to adjust height and width of the charts.
321
+ */ function _fitParentContainer() {
322
+ //_reqID = requestAnimationFrame(() => {
323
+ let legendContainerHeight;
324
+ if (props.hideLegend) {
325
+ // If there is no legend, need not to allocate some space from total chart space.
326
+ legendContainerHeight = 0;
327
+ } else {
328
+ const legendContainerComputedStyles = legendContainer && getComputedStyle(legendContainer);
329
+ legendContainerHeight = (legendContainer && legendContainer.getBoundingClientRect().height || minLegendContainerHeight) + parseFloat(legendContainerComputedStyles && legendContainerComputedStyles.marginTop || '0') + parseFloat(legendContainerComputedStyles && legendContainerComputedStyles.marginBottom || '0');
330
+ }
331
+ if (props.parentRef || chartContainer.current) {
332
+ var _props_reflowProps;
333
+ const container = props.parentRef ? props.parentRef : chartContainer.current;
334
+ const currentContainerWidth = ((_props_reflowProps = props.reflowProps) === null || _props_reflowProps === void 0 ? void 0 : _props_reflowProps.mode) === 'min-width' && !_isFirstRender.current ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth()) : container.getBoundingClientRect().width;
335
+ const currentContainerHeight = container.getBoundingClientRect().height > legendContainerHeight ? container.getBoundingClientRect().height : 350;
336
+ const shouldResize = containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight - legendContainerHeight;
337
+ if (shouldResize) {
338
+ setContainerWidth(currentContainerWidth);
339
+ setContainerHeight(currentContainerHeight - legendContainerHeight);
340
+ }
341
+ }
342
+ //});
343
+ }
344
+ function _onChartLeave() {
345
+ props.onChartMouseLeave && props.onChartMouseLeave();
346
+ }
347
+ function _calculateChartMinWidth() {
348
+ let labelWidth = 10; // Total padding on the left and right sides of the label
349
+ // Case: rotated labels
350
+ if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType === _index.XAxisTypes.StringAxis) {
351
+ const longestLabelWidth = (0, _index.calculateLongestLabelWidth)(_tickValues, `.${classes.xAxis} text`);
352
+ labelWidth += Math.ceil(longestLabelWidth * Math.cos(Math.PI / 4));
353
+ } else if (props.showXAxisLablesTooltip) {
354
+ const tickValues = _tickValues.map((val)=>{
355
+ const numChars = props.noOfCharsToTruncate || 4;
356
+ return val.toString().length > numChars ? `${val.toString().slice(0, numChars)}...` : val;
357
+ });
358
+ const longestLabelWidth = (0, _index.calculateLongestLabelWidth)(tickValues, `.${classes.xAxis} text`);
359
+ labelWidth += Math.ceil(longestLabelWidth);
360
+ } else if (props.wrapXAxisLables) {
361
+ const words = [];
362
+ _tickValues.forEach((val)=>{
363
+ words.push(...val.toString().split(/\s+/));
364
+ });
365
+ const longestLabelWidth = (0, _index.calculateLongestLabelWidth)(words, `.${classes.xAxis} text`);
366
+ labelWidth += Math.max(Math.ceil(longestLabelWidth), 10);
367
+ } else {
368
+ const longestLabelWidth = (0, _index.calculateLongestLabelWidth)(_tickValues, `.${classes.xAxis} text`);
369
+ labelWidth += Math.ceil(longestLabelWidth);
370
+ }
371
+ let minChartWidth = margins.left + margins.right + labelWidth * (_tickValues.length - 1);
372
+ if ([
373
+ _index.ChartTypes.GroupedVerticalBarChart,
374
+ _index.ChartTypes.VerticalBarChart,
375
+ _index.ChartTypes.VerticalStackedBarChart
376
+ ].includes(props.chartType)) {
377
+ const minDomainMargin = 8;
378
+ minChartWidth += minDomainMargin * 2;
379
+ }
380
+ return minChartWidth;
381
+ }
382
+ /**
383
+ * We have use the {@link defaultTabbableElement } to fix
384
+ * the Focus not landing on chart while tabbing, instead goes to legend.
385
+ * This issue is observed in Area, line chart after performance optimization done in the PR {@link https://github.com/microsoft/fluentui/pull/27721 }
386
+ * This issue is observed in Bar charts after the changes done by FocusZone team in the PR: {@link https://github.com/microsoft/fluentui/pull/24175 }
387
+ * The issue in Bar Charts(VB and VSB) is due to a {@link FocusZone } update where previously an event listener was
388
+ * attached on keydown to the window, so that whenever the tab key is pressed all outer FocusZone's
389
+ * tab-indexes are updated (an outer FocusZone is a FocusZone that is not within another one).
390
+ * But now after the above PR : they are attaching the
391
+ * listeners to the FocusZone elements instead of the window. So in the first render cycle in Bar charts
392
+ * bars are not created as in the first render cycle the size of the chart container is not known( or is 0)
393
+ * which creates bars of height 0 so instead we do not create any bars and instead return empty fragments.
394
+ *
395
+ * We have tried 2 Approaches to fix the issue:
396
+ * 1. Using the {@link elementRef} property of FocusZone where we dispatch event for tab keydown
397
+ * after the second render cycle which triggers an update of the tab index in FocusZone.
398
+ * But this is a hacky solution and not a proper fix and also elementRef is deprecated.
399
+ * 2. Using the default tabbable element to fix the issue.
400
+ */ return /*#__PURE__*/ _react.createElement("div", {
401
+ id: idForGraph,
402
+ className: classes.root,
403
+ role: 'presentation',
404
+ ref: (rootElem)=>chartContainer.current = rootElem,
405
+ onMouseLeave: _onChartLeave
406
+ }, /*#__PURE__*/ _react.createElement("div", {
407
+ className: classes.chartWrapper,
408
+ ...focusAttributes,
409
+ ...arrowAttributes
410
+ }, _isFirstRender.current, /*#__PURE__*/ _react.createElement("svg", {
411
+ width: svgDimensions.width,
412
+ height: svgDimensions.height,
413
+ "aria-label": props.chartTitle,
414
+ style: {
415
+ display: 'block'
416
+ },
417
+ ...svgProps
418
+ }, /*#__PURE__*/ _react.createElement("g", {
419
+ ref: (e)=>{
420
+ xAxisElement.current = e;
421
+ },
422
+ id: `xAxisGElement${idForGraph}`,
423
+ // To add wrap of x axis lables feature, need to remove word height from svg height.
424
+ transform: `translate(0, ${svgDimensions.height - margins.bottom - removalValueForTextTuncate})`,
425
+ className: classes.xAxis
426
+ }), props.xAxisTitle !== undefined && props.xAxisTitle !== '' && /*#__PURE__*/ _react.createElement(_SVGTooltipText.SVGTooltipText, {
427
+ content: props.xAxisTitle,
428
+ textProps: {
429
+ x: margins.left + startFromX + xAxisTitleMaximumAllowedWidth / 2,
430
+ y: svgDimensions.height - titleMargin,
431
+ className: classes.axisTitle,
432
+ textAnchor: 'middle'
433
+ },
434
+ maxWidth: xAxisTitleMaximumAllowedWidth,
435
+ wrapContent: _index.wrapContent,
436
+ showBackground: true
437
+ }), /*#__PURE__*/ _react.createElement("g", {
438
+ ref: (e)=>{
439
+ yAxisElement.current = e;
440
+ },
441
+ id: `yAxisGElement${idForGraph}`,
442
+ transform: `translate(${_useRtl ? svgDimensions.width - margins.right - startFromX : margins.left + startFromX}, 0)`,
443
+ className: classes.yAxis
444
+ }), props.secondaryYScaleOptions && /*#__PURE__*/ _react.createElement("g", null, /*#__PURE__*/ _react.createElement("g", {
445
+ ref: (e)=>{
446
+ yAxisElementSecondary.current = e;
447
+ },
448
+ id: `yAxisGElementSecondary${idForGraph}`,
449
+ transform: `translate(${_useRtl ? margins.left + startFromX : svgDimensions.width - margins.right - startFromX}, 0)`,
450
+ className: classes.yAxis
451
+ }), props.secondaryYAxistitle !== undefined && props.secondaryYAxistitle !== '' && /*#__PURE__*/ _react.createElement(_SVGTooltipText.SVGTooltipText, {
452
+ content: props.secondaryYAxistitle,
453
+ textProps: {
454
+ x: (yAxisTitleMaximumAllowedHeight - margins.bottom) / 2 + removalValueForTextTuncate,
455
+ y: _useRtl ? startFromX - titleMargin : svgDimensions.width - margins.right,
456
+ textAnchor: 'middle',
457
+ transform: `translate(${_useRtl ? margins.right / 2 - titleMargin : margins.right / 2 + titleMargin},
458
+ ${svgDimensions.height - margins.bottom - margins.top - titleMargin})rotate(-90)`,
459
+ className: classes.axisTitle
460
+ },
461
+ maxWidth: yAxisTitleMaximumAllowedHeight,
462
+ wrapContent: _index.wrapContent,
463
+ showBackground: true
464
+ })), children, props.yAxisTitle !== undefined && props.yAxisTitle !== '' && /*#__PURE__*/ _react.createElement(_SVGTooltipText.SVGTooltipText, {
465
+ content: props.yAxisTitle,
466
+ textProps: {
467
+ x: (yAxisTitleMaximumAllowedHeight - margins.bottom) / 2 + removalValueForTextTuncate,
468
+ y: _useRtl ? svgDimensions.width - margins.right / 2 + titleMargin : margins.left / 2 + startFromX - titleMargin,
469
+ textAnchor: 'middle',
470
+ transform: `translate(0,
471
+ ${svgDimensions.height - margins.bottom - margins.top - titleMargin})rotate(-90)`,
472
+ className: classes.axisTitle
473
+ },
474
+ maxWidth: yAxisTitleMaximumAllowedHeight,
475
+ wrapContent: _index.wrapContent,
476
+ showBackground: true
477
+ }))), !props.hideLegend && /*#__PURE__*/ _react.createElement("div", {
478
+ ref: (e)=>legendContainer = e,
479
+ className: classes.legendContainer
480
+ }, props.legendBars), callout && /*#__PURE__*/ _react.createElement(_react.Suspense, {
481
+ fallback: /*#__PURE__*/ _react.createElement("div", null, "Loading...")
482
+ }, callout));
483
+ });
484
+ CartesianChart.displayName = 'CartesianChart';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CartesianChart.tsx"],"sourcesContent":["import * as React from 'react';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { ModifiedCartesianChartProps, HorizontalBarChartWithAxisDataPoint, HeatMapChartDataPoint } from '../../index';\nimport { useCartesianChartStyles } from './useCartesianChartStyles.styles';\nimport {\n createNumericXAxis,\n createStringXAxis,\n IAxisData,\n getDomainNRangeValues,\n createDateXAxis,\n createYAxis,\n createStringYAxis,\n IMargins,\n getMinMaxOfYAxis,\n XAxisTypes,\n YAxisType,\n createWrapOfXLabels,\n rotateXAxisLabels,\n calculateLongestLabelWidth,\n createYAxisLabels,\n ChartTypes,\n wrapContent,\n useRtl,\n} from '../../utilities/index';\nimport { SVGTooltipText } from '../../utilities/SVGTooltipText';\nimport { ChartPopover } from './ChartPopover';\nimport { useFocusableGroup, useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Cartesian Chart component\n * {@docCategory CartesianChart}\n */\nexport const CartesianChart: React.FunctionComponent<ModifiedCartesianChartProps> = React.forwardRef<\n HTMLDivElement,\n ModifiedCartesianChartProps\n>((props, forwardedRef) => {\n const chartContainer = React.useRef<HTMLDivElement>();\n let legendContainer: HTMLDivElement;\n const minLegendContainerHeight: number = 40;\n const xAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElementSecondary = React.useRef<SVGSVGElement>();\n let margins: IMargins;\n const idForGraph: string = 'chart_';\n let _reqID: number;\n const _useRtl: boolean = useRtl();\n let _tickValues: (string | number)[];\n const titleMargin: number = 8;\n const _isFirstRender = React.useRef<boolean>(true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xScale: any;\n let isIntegralDataset: boolean = true;\n\n const [containerWidth, setContainerWidth] = React.useState<number>(0);\n const [containerHeight, setContainerHeight] = React.useState<number>(0);\n const [isRemoveValCalculated, setIsRemoveValCalculated] = React.useState<boolean>(true);\n const [removalValueForTextTuncate, setRemovalValueForTextTuncate] = React.useState<number>(0);\n const [startFromX, setStartFromX] = React.useState<number>(0);\n const [prevProps, setPrevProps] = React.useState<ModifiedCartesianChartProps | null>(null);\n\n const chartTypesToCheck = [ChartTypes.HorizontalBarChartWithAxis, ChartTypes.HeatMapChart];\n /**\n * In RTL mode, Only graph will be rendered left/right. We need to provide left and right margins manually.\n * So that, in RTL, left margins becomes right margins and viceversa.\n * As graph needs to be drawn perfecty, these values consider as default values.\n * Same margins using for all other cartesian charts. Can be accessible through 'getMargins' call back method.\n */\n // eslint-disable-next-line prefer-const\n margins = {\n top: props.margins?.top ?? 20,\n bottom: props.margins?.bottom ?? 35,\n right: _useRtl ? props.margins?.left ?? 40 : props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20,\n left: _useRtl ? (props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20) : props.margins?.left ?? 40,\n };\n if (props.xAxisTitle !== undefined && props.xAxisTitle !== '') {\n margins.bottom! = props.margins?.bottom ?? 55;\n }\n if (props.yAxisTitle !== undefined && props.yAxisTitle !== '') {\n margins.left! = _useRtl\n ? props.margins?.right ?? props?.secondaryYAxistitle\n ? 80\n : 40\n : props.margins?.left ?? 60;\n margins.right! = _useRtl ? props.margins?.left ?? 60 : props.margins?.right ?? props?.secondaryYAxistitle ? 80 : 40;\n }\n\n const classes = useCartesianChartStyles(props);\n const focusAttributes = useFocusableGroup();\n const arrowAttributes = useArrowNavigationGroup({ axis: 'horizontal' });\n // ComponentdidMount and Componentwillunmount logic\n React.useEffect(() => {\n _fitParentContainer();\n if (props !== null) {\n setPrevProps(props);\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n return () => {\n cancelAnimationFrame(_reqID);\n };\n }, [props]);\n\n // ComponentDidUpdate logic\n React.useEffect(() => {\n if (prevProps) {\n if (prevProps.height !== props.height || prevProps.width !== props.width) {\n _fitParentContainer();\n }\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n if (prevProps !== null && prevProps.points !== props.points) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n }\n }, [props, prevProps]);\n\n React.useEffect(() => {\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const rotateLabelProps = {\n node: xAxisElement.current!,\n xAxis: _xScale,\n };\n const rotatedHeight = rotateXAxisLabels(rotateLabelProps);\n\n if (\n isRemoveValCalculated &&\n removalValueForTextTuncate !== rotatedHeight! + margins.bottom! &&\n rotatedHeight! > 0\n ) {\n setRemovalValueForTextTuncate(rotatedHeight! + margins.bottom!);\n setIsRemoveValCalculated(false);\n }\n }\n });\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: chartContainer.current ?? null,\n }),\n [],\n );\n\n /**\n * Dedicated function to return the Callout JSX Element , which can further be used to only call this when\n * only the calloutprops and charthover props changes.\n * @param calloutProps\n * @param chartHoverProps\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _generateCallout(calloutProps: any): JSX.Element {\n return <ChartPopover {...calloutProps} />;\n }\n\n function calculateMaxYAxisLabelLength(\n chartType: ChartTypes,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n points: any[],\n className: string,\n ): number {\n if (chartType === ChartTypes.HeatMapChart) {\n return calculateLongestLabelWidth(\n points[0]?.data?.map((point: HeatMapChartDataPoint) => point.y),\n `.${className} text`,\n );\n } else {\n return calculateLongestLabelWidth(\n points?.map((point: HorizontalBarChartWithAxisDataPoint) => point.y),\n `.${className} text`,\n );\n }\n }\n\n const {\n calloutProps,\n points,\n chartType,\n svgProps,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n } = props;\n if (props.parentRef) {\n _fitParentContainer();\n }\n const margin = { ...margins };\n if (chartTypesToCheck.includes(props.chartType)) {\n if (!_useRtl) {\n margin.left! += startFromX;\n } else {\n margin.right! += startFromX;\n }\n }\n // Callback for margins to the chart\n props.getmargins && props.getmargins(margin);\n\n let callout: JSX.Element | null = null;\n\n let children = null;\n if ((props.enableFirstRenderOptimization && chartContainer.current) || !props.enableFirstRenderOptimization) {\n _isFirstRender.current = false;\n const XAxisParams = {\n domainNRangeValues: getDomainNRangeValues(\n points,\n props.getDomainMargins ? props.getDomainMargins(containerWidth) : margins,\n containerWidth,\n chartType,\n _useRtl,\n props.xAxisType,\n props.barwidth!,\n props.tickValues!,\n // This is only used for Horizontal Bar Chart with Axis for y as string axis\n startFromX,\n ),\n containerHeight: containerHeight - removalValueForTextTuncate!,\n margins: margins,\n xAxisElement: xAxisElement.current!,\n showRoundOffXTickValues: true,\n xAxisCount: props.xAxisTickCount,\n xAxistickSize: props.xAxistickSize,\n tickPadding: props.tickPadding || props.showXAxisLablesTooltip ? 5 : 10,\n xAxisPadding: props.xAxisPadding,\n xAxisInnerPadding: props.xAxisInnerPadding,\n xAxisOuterPadding: props.xAxisOuterPadding,\n containerWidth: containerWidth,\n hideTickOverlap:\n props.hideTickOverlap && !props.rotateXAxisLables && !props.showXAxisLablesTooltip && !props.wrapXAxisLables,\n };\n\n const YAxisParams = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElement.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.yMinValue || 0,\n yMaxValue: props.yMaxValue || 0,\n tickPadding: 10,\n maxOfYVal: props.maxOfYVal,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType, props.yAxisType),\n // please note these padding default values must be consistent in here\n // and the parent chart(HBWA/Vertical etc..) for more details refer example\n // http://using-d3js.com/04_07_ordinal_scales.html\n yAxisPadding: props.yAxisPadding || 0,\n };\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let xScale: any;\n let tickValues: (string | number)[];\n switch (props.xAxisType!) {\n case XAxisTypes.NumericAxis:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n break;\n case XAxisTypes.DateAxis:\n ({ xScale, tickValues } = createDateXAxis(\n XAxisParams,\n props.tickParams!,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n props.useUTC,\n ));\n break;\n case XAxisTypes.StringAxis:\n ({ xScale, tickValues } = createStringXAxis(\n XAxisParams,\n props.tickParams!,\n props.datasetForXAxisDomain!,\n culture,\n ));\n break;\n default:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n }\n _xScale = xScale;\n _tickValues = tickValues;\n\n /*\n * To enable wrapping of x axis tick values or to display complete x axis tick values,\n * we need to calculate how much space it needed to render the text.\n * No need to re-calculate every time the chart renders and same time need to get an update. So using set\n * Required space will be calculated first time chart rendering and if any width/height of chart updated.\n * */\n if (props.wrapXAxisLables || props.showXAxisLablesTooltip) {\n const wrapLabelProps = {\n node: xAxisElement.current!,\n xAxis: xScale,\n showXAxisLablesTooltip: props.showXAxisLablesTooltip || false,\n noOfCharsToTruncate: props.noOfCharsToTruncate || 4,\n };\n const temp = xScale && (createWrapOfXLabels(wrapLabelProps) as number);\n // this value need to be updated for draw graph updated. So instead of using private value, using set\n if (isRemoveValCalculated && removalValueForTextTuncate !== temp) {\n setRemovalValueForTextTuncate(temp);\n setIsRemoveValCalculated(false);\n }\n }\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScaleSecondary: any;\n const axisData: IAxisData = { yAxisDomainValues: [] };\n if (props.yAxisType && props.yAxisType === YAxisType.StringAxis) {\n yScale = createStringYAxis(\n YAxisParams,\n props.stringDatasetForYAxisDomain!,\n _useRtl,\n props.chartType,\n props.barwidth,\n culture,\n );\n } else {\n if (props?.secondaryYScaleOptions) {\n const YAxisParamsSecondary = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElementSecondary.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.secondaryYScaleOptions?.yMinValue || 0,\n yMaxValue: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n tickPadding: 10,\n maxOfYVal: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType),\n yAxisPadding: props.yAxisPadding,\n };\n\n yScaleSecondary = createYAxis(\n YAxisParamsSecondary,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n true,\n props.roundedTicks!,\n );\n }\n yScale = createYAxis(\n YAxisParams,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n false,\n props.roundedTicks!,\n );\n }\n\n /*\n * To create y axis tick values by if specified\n truncating the rest of the text and showing elipsis\n or showing the whole string,\n * */\n chartTypesToCheck.includes(props.chartType) &&\n yScale &&\n createYAxisLabels(\n yAxisElement.current!,\n yScale,\n props.noOfCharsToTruncate || 4,\n props.showYAxisLablesTooltip || false,\n startFromX,\n _useRtl,\n );\n\n // Call back to the chart.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _getData = (xScale: any, yScale: any) => {\n props.getGraphData &&\n props.getGraphData(\n xScale,\n yScale,\n containerHeight - removalValueForTextTuncate!,\n containerWidth,\n xAxisElement.current,\n yAxisElement.current,\n );\n };\n\n props.getAxisData && props.getAxisData(axisData);\n // Callback function for chart, returns axis\n _getData(xScale, yScale);\n\n children = props.children({\n xScale,\n yScale,\n yScaleSecondary,\n containerHeight,\n containerWidth,\n });\n\n if (!props.hideTooltip && calloutProps!.isPopoverOpen) {\n callout = _generateCallout(calloutProps);\n }\n }\n const svgDimensions = {\n width: containerWidth,\n height: containerHeight,\n };\n\n const xAxisTitleMaximumAllowedWidth = svgDimensions.width - margins.left! - margins.right! - startFromX!;\n const yAxisTitleMaximumAllowedHeight =\n svgDimensions.height - margins.bottom! - margins.top! - removalValueForTextTuncate! - titleMargin;\n /**\n * When screen resizes, along with screen, chart also auto adjusted.\n * This method used to adjust height and width of the charts.\n */\n function _fitParentContainer(): void {\n //_reqID = requestAnimationFrame(() => {\n let legendContainerHeight;\n if (props.hideLegend) {\n // If there is no legend, need not to allocate some space from total chart space.\n legendContainerHeight = 0;\n } else {\n const legendContainerComputedStyles = legendContainer && getComputedStyle(legendContainer);\n legendContainerHeight =\n ((legendContainer && legendContainer.getBoundingClientRect().height) || minLegendContainerHeight) +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginTop) || '0') +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginBottom) || '0');\n }\n if (props.parentRef || chartContainer.current) {\n const container = props.parentRef ? props.parentRef : chartContainer.current!;\n const currentContainerWidth =\n props.reflowProps?.mode === 'min-width' && !_isFirstRender.current\n ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth())\n : container.getBoundingClientRect().width;\n const currentContainerHeight =\n container.getBoundingClientRect().height > legendContainerHeight\n ? container.getBoundingClientRect().height\n : 350;\n const shouldResize =\n containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight - legendContainerHeight;\n if (shouldResize) {\n setContainerWidth(currentContainerWidth);\n setContainerHeight(currentContainerHeight - legendContainerHeight);\n }\n }\n //});\n }\n\n function _onChartLeave(): void {\n props.onChartMouseLeave && props.onChartMouseLeave();\n }\n\n function _calculateChartMinWidth(): number {\n let labelWidth = 10; // Total padding on the left and right sides of the label\n\n // Case: rotated labels\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth * Math.cos(Math.PI / 4));\n }\n // Case: truncated labels\n else if (props.showXAxisLablesTooltip) {\n const tickValues = _tickValues.map(val => {\n const numChars = props.noOfCharsToTruncate || 4;\n return val.toString().length > numChars ? `${val.toString().slice(0, numChars)}...` : val;\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n // Case: wrapped labels\n else if (props.wrapXAxisLables) {\n const words: string[] = [];\n _tickValues.forEach((val: string) => {\n words.push(...val.toString().split(/\\s+/));\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(words, `.${classes.xAxis} text`);\n labelWidth += Math.max(Math.ceil(longestLabelWidth), 10);\n }\n // Default case\n else {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n\n let minChartWidth = margins.left! + margins.right! + labelWidth * (_tickValues.length - 1);\n\n if (\n [ChartTypes.GroupedVerticalBarChart, ChartTypes.VerticalBarChart, ChartTypes.VerticalStackedBarChart].includes(\n props.chartType,\n )\n ) {\n const minDomainMargin = 8;\n minChartWidth += minDomainMargin * 2;\n }\n\n return minChartWidth;\n }\n\n /**\n * We have use the {@link defaultTabbableElement } to fix\n * the Focus not landing on chart while tabbing, instead goes to legend.\n * This issue is observed in Area, line chart after performance optimization done in the PR {@link https://github.com/microsoft/fluentui/pull/27721 }\n * This issue is observed in Bar charts after the changes done by FocusZone team in the PR: {@link https://github.com/microsoft/fluentui/pull/24175 }\n * The issue in Bar Charts(VB and VSB) is due to a {@link FocusZone } update where previously an event listener was\n * attached on keydown to the window, so that whenever the tab key is pressed all outer FocusZone's\n * tab-indexes are updated (an outer FocusZone is a FocusZone that is not within another one).\n * But now after the above PR : they are attaching the\n * listeners to the FocusZone elements instead of the window. So in the first render cycle in Bar charts\n * bars are not created as in the first render cycle the size of the chart container is not known( or is 0)\n * which creates bars of height 0 so instead we do not create any bars and instead return empty fragments.\n *\n * We have tried 2 Approaches to fix the issue:\n * 1. Using the {@link elementRef} property of FocusZone where we dispatch event for tab keydown\n * after the second render cycle which triggers an update of the tab index in FocusZone.\n * But this is a hacky solution and not a proper fix and also elementRef is deprecated.\n * 2. Using the default tabbable element to fix the issue.\n */\n\n return (\n <div\n id={idForGraph}\n className={classes.root}\n role={'presentation'}\n ref={(rootElem: HTMLDivElement) => (chartContainer.current = rootElem)}\n onMouseLeave={_onChartLeave}\n >\n <div className={classes.chartWrapper} {...focusAttributes} {...arrowAttributes}>\n {_isFirstRender.current}\n <svg\n width={svgDimensions.width}\n height={svgDimensions.height}\n aria-label={props.chartTitle}\n style={{ display: 'block' }}\n {...svgProps}\n >\n <g\n ref={(e: SVGSVGElement | null) => {\n xAxisElement.current = e!;\n }}\n id={`xAxisGElement${idForGraph}`}\n // To add wrap of x axis lables feature, need to remove word height from svg height.\n transform={`translate(0, ${svgDimensions.height - margins.bottom! - removalValueForTextTuncate!})`}\n className={classes.xAxis}\n />\n {props.xAxisTitle !== undefined && props.xAxisTitle !== '' && (\n <SVGTooltipText\n content={props.xAxisTitle}\n textProps={{\n x: margins.left! + startFromX + xAxisTitleMaximumAllowedWidth / 2,\n y: svgDimensions.height - titleMargin,\n className: classes.axisTitle!,\n textAnchor: 'middle',\n }}\n maxWidth={xAxisTitleMaximumAllowedWidth}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElement.current = e!;\n }}\n id={`yAxisGElement${idForGraph}`}\n transform={`translate(${\n _useRtl ? svgDimensions.width - margins.right! - startFromX : margins.left! + startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYScaleOptions && (\n <g>\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElementSecondary.current = e!;\n }}\n id={`yAxisGElementSecondary${idForGraph}`}\n transform={`translate(${\n _useRtl ? margins.left! + startFromX : svgDimensions.width - margins.right! - startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYAxistitle !== undefined && props.secondaryYAxistitle !== '' && (\n <SVGTooltipText\n content={props.secondaryYAxistitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl ? startFromX - titleMargin : svgDimensions.width - margins.right!,\n textAnchor: 'middle',\n transform: `translate(${\n _useRtl ? margins.right! / 2 - titleMargin : margins.right! / 2 + titleMargin\n },\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </g>\n )}\n {children}\n {props.yAxisTitle !== undefined && props.yAxisTitle !== '' && (\n <SVGTooltipText\n content={props.yAxisTitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl\n ? svgDimensions.width - margins.right! / 2 + titleMargin\n : margins.left! / 2 + startFromX - titleMargin,\n textAnchor: 'middle',\n transform: `translate(0,\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </svg>\n </div>\n\n {!props.hideLegend && (\n <div ref={(e: HTMLDivElement) => (legendContainer = e)} className={classes.legendContainer}>\n {props.legendBars}\n </div>\n )}\n {/** The callout is used for narration, so keep it mounted on the DOM */}\n {callout && <React.Suspense fallback={<div>Loading...</div>}>{callout}</React.Suspense>}\n </div>\n );\n});\nCartesianChart.displayName = 'CartesianChart';\n"],"names":["CartesianChart","React","forwardRef","props","forwardedRef","chartContainer","useRef","legendContainer","minLegendContainerHeight","xAxisElement","yAxisElement","yAxisElementSecondary","margins","idForGraph","_reqID","_useRtl","useRtl","_tickValues","titleMargin","_isFirstRender","_xScale","isIntegralDataset","containerWidth","setContainerWidth","useState","containerHeight","setContainerHeight","isRemoveValCalculated","setIsRemoveValCalculated","removalValueForTextTuncate","setRemovalValueForTextTuncate","startFromX","setStartFromX","prevProps","setPrevProps","chartTypesToCheck","ChartTypes","HorizontalBarChartWithAxis","HeatMapChart","top","bottom","right","left","secondaryYScaleOptions","xAxisTitle","undefined","yAxisTitle","secondaryYAxistitle","classes","useCartesianChartStyles","focusAttributes","useFocusableGroup","arrowAttributes","useArrowNavigationGroup","axis","useEffect","_fitParentContainer","includes","chartType","showYAxisLables","maxYAxisLabelLength","calculateMaxYAxisLabelLength","points","yAxis","some","point","y","cancelAnimationFrame","height","width","wrapXAxisLables","rotateXAxisLables","xAxisType","XAxisTypes","StringAxis","rotateLabelProps","node","current","xAxis","rotatedHeight","rotateXAxisLabels","useImperativeHandle","componentRef","_generateCallout","calloutProps","createElement","ChartPopover","className","calculateLongestLabelWidth","data","map","svgProps","culture","dateLocalizeOptions","timeFormatLocale","customDateTimeFormatter","parentRef","margin","getmargins","callout","children","enableFirstRenderOptimization","XAxisParams","domainNRangeValues","getDomainNRangeValues","getDomainMargins","barwidth","tickValues","showRoundOffXTickValues","xAxisCount","xAxisTickCount","xAxistickSize","tickPadding","showXAxisLablesTooltip","xAxisPadding","xAxisInnerPadding","xAxisOuterPadding","hideTickOverlap","YAxisParams","yAxisTickFormat","yAxisTickCount","yMinValue","yMaxValue","maxOfYVal","yMinMaxValues","getMinMaxOfYAxis","yAxisType","yAxisPadding","xScale","NumericAxis","createNumericXAxis","tickParams","DateAxis","createDateXAxis","useUTC","createStringXAxis","datasetForXAxisDomain","wrapLabelProps","noOfCharsToTruncate","temp","createWrapOfXLabels","yScale","yScaleSecondary","axisData","yAxisDomainValues","YAxisType","createStringYAxis","stringDatasetForYAxisDomain","YAxisParamsSecondary","createYAxis","roundedTicks","createYAxisLabels","showYAxisLablesTooltip","_getData","getGraphData","getAxisData","hideTooltip","isPopoverOpen","svgDimensions","xAxisTitleMaximumAllowedWidth","yAxisTitleMaximumAllowedHeight","legendContainerHeight","hideLegend","legendContainerComputedStyles","getComputedStyle","getBoundingClientRect","parseFloat","marginTop","marginBottom","container","currentContainerWidth","reflowProps","mode","Math","max","_calculateChartMinWidth","currentContainerHeight","shouldResize","_onChartLeave","onChartMouseLeave","labelWidth","longestLabelWidth","ceil","cos","PI","val","numChars","toString","length","slice","words","forEach","push","split","minChartWidth","GroupedVerticalBarChart","VerticalBarChart","VerticalStackedBarChart","minDomainMargin","div","id","root","role","ref","rootElem","onMouseLeave","chartWrapper","svg","aria-label","chartTitle","style","display","g","e","transform","SVGTooltipText","content","textProps","x","axisTitle","textAnchor","maxWidth","wrapContent","showBackground","legendBars","Suspense","fallback","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
6
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));