@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,571 @@
1
+ import * as React from 'react';
2
+ import { max as d3Max } from 'd3-array';
3
+ import { select as d3Select } from 'd3-selection';
4
+ import { scaleLinear as d3ScaleLinear, scaleBand as d3ScaleBand } from 'd3-scale';
5
+ import { Legends } from '../../components/Legends/Legends';
6
+ import { useId } from '@fluentui/react-utilities';
7
+ import { useHorizontalBarChartWithAxisStyles } from './useHorizontalBarChartWithAxisStyles.styles';
8
+ import { CartesianChart } from '../CommonComponents/CartesianChart';
9
+ import { ChartPopover } from '../CommonComponents/ChartPopover';
10
+ import { ChartTypes, getAccessibleDataObject, YAxisType, XAxisTypes, getTypeOfAxis, getNextColor, areArraysEqual, useRtl, DataVizPalette, getColorFromToken } from '../../utilities/index';
11
+ export const HorizontalBarChartWithAxis = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
12
+ var _props_legendProps, _props_legendProps1, _props_legendProps2, _props_legendProps3;
13
+ const _refArray = [];
14
+ const _calloutId = useId('callout');
15
+ const _isRtl = useRtl();
16
+ const _tooltipId = useId('HBCWATooltipID_');
17
+ const _xAxisType = props.data && props.data.length > 0 ? getTypeOfAxis(props.data[0].x, true) : XAxisTypes.NumericAxis;
18
+ const _yAxisType = props.data && props.data.length > 0 ? getTypeOfAxis(props.data[0].y, false) : YAxisType.StringAxis;
19
+ const _emptyChartId = useId('_HBCWithAxis_empty');
20
+ let _points = [];
21
+ let _barHeight = 0;
22
+ let _colors = [];
23
+ let _margins;
24
+ let _bars;
25
+ let _yAxisLabels;
26
+ let _xMax;
27
+ let _calloutAnchorPoint;
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ let tooltipElement;
30
+ const cartesianChartRef = React.useRef(null);
31
+ const [color, setColor] = React.useState('');
32
+ const [dataForHoverCard, setDataForHoverCard] = React.useState(0);
33
+ const [isLegendSelected, setIsLegendSelected] = React.useState(((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends) && props.legendProps.selectedLegends.length > 0 || ((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.selectedLegend) !== undefined);
34
+ const [isLegendHovered, setIsLegendHovered] = React.useState(false);
35
+ var _props_legendProps_selectedLegend;
36
+ const [selectedLegendTitle, setSelectedLegendTitle] = React.useState((_props_legendProps_selectedLegend = (_props_legendProps2 = props.legendProps) === null || _props_legendProps2 === void 0 ? void 0 : _props_legendProps2.selectedLegend) !== null && _props_legendProps_selectedLegend !== void 0 ? _props_legendProps_selectedLegend : '');
37
+ const [xCalloutValue, setXCalloutValue] = React.useState('');
38
+ const [yCalloutValue, setYCalloutValue] = React.useState('');
39
+ const [selectedLegends, setSelectedLegends] = React.useState(((_props_legendProps3 = props.legendProps) === null || _props_legendProps3 === void 0 ? void 0 : _props_legendProps3.selectedLegends) || []);
40
+ const [dataPointCalloutProps, setDataPointCalloutProps] = React.useState();
41
+ const [callOutAccessibilityData, setCallOutAccessibilityData] = React.useState();
42
+ const [isPopoverOpen, setPopoverOpen] = React.useState(false);
43
+ const [clickPosition, setClickPosition] = React.useState({
44
+ x: 0,
45
+ y: 0
46
+ });
47
+ const prevPropsRef = React.useRef(null);
48
+ React.useEffect(()=>{
49
+ if (prevPropsRef.current) {
50
+ var _prevProps_legendProps, _props_legendProps;
51
+ const prevProps = prevPropsRef.current;
52
+ if (!areArraysEqual((_prevProps_legendProps = prevProps.legendProps) === null || _prevProps_legendProps === void 0 ? void 0 : _prevProps_legendProps.selectedLegends, (_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends)) {
53
+ var _props_legendProps1;
54
+ setSelectedLegends(((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.selectedLegends) || []);
55
+ }
56
+ }
57
+ prevPropsRef.current = props;
58
+ }, [
59
+ props
60
+ ]);
61
+ React.useImperativeHandle(props.componentRef, ()=>{
62
+ var _cartesianChartRef_current;
63
+ var _cartesianChartRef_current_chartContainer;
64
+ return {
65
+ chartContainer: (_cartesianChartRef_current_chartContainer = (_cartesianChartRef_current = cartesianChartRef.current) === null || _cartesianChartRef_current === void 0 ? void 0 : _cartesianChartRef_current.chartContainer) !== null && _cartesianChartRef_current_chartContainer !== void 0 ? _cartesianChartRef_current_chartContainer : null
66
+ };
67
+ }, []);
68
+ const classes = useHorizontalBarChartWithAxisStyles(props);
69
+ function _adjustProps() {
70
+ _points = props.data || [];
71
+ _barHeight = props.barHeight || 32;
72
+ const defaultPalette = [
73
+ getColorFromToken(DataVizPalette.color6),
74
+ getColorFromToken(DataVizPalette.color1),
75
+ getColorFromToken(DataVizPalette.color5),
76
+ getColorFromToken(DataVizPalette.color7)
77
+ ];
78
+ _colors = props.colors || defaultPalette;
79
+ }
80
+ function _getMargins(margins) {
81
+ _margins = margins;
82
+ }
83
+ function _renderContentForOnlyBars(point) {
84
+ const { useSingleColor = false } = props;
85
+ let selectedPointIndex = 0;
86
+ props.data.forEach((yDataPoint, index)=>{
87
+ if (yDataPoint.y === point.y) {
88
+ selectedPointIndex = index;
89
+ }
90
+ });
91
+ // eslint-disable-next-line @typescript-eslint/no-shadow
92
+ let color;
93
+ if (useSingleColor) {
94
+ //if useSingle color , then check if user has given a palette or not
95
+ // and pick the first color from that or else from our paltette.
96
+ color = props.colors ? _createColors()(1) : getNextColor(1, 0);
97
+ } else {
98
+ color = point.color ? point.color : props.colors ? _createColors()(point.x) : getNextColor(selectedPointIndex, 0);
99
+ }
100
+ var _props_culture;
101
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(ChartPopover, {
102
+ XValue: point.xAxisCalloutData || point.x.toString(),
103
+ legend: point.legend,
104
+ YValue: point.yAxisCalloutData || point.y,
105
+ color: color,
106
+ culture: (_props_culture = props.culture) !== null && _props_culture !== void 0 ? _props_culture : 'en-us',
107
+ clickPosition: clickPosition,
108
+ isPopoverOpen: isPopoverOpen
109
+ }));
110
+ }
111
+ // eslint-disable-next-line @typescript-eslint/no-shadow
112
+ function _renderCallout(props) {
113
+ return props ? _renderContentForOnlyBars(props) : null;
114
+ }
115
+ function _getCustomizedCallout() {
116
+ return props.onRenderCalloutPerDataPoint ? props.onRenderCalloutPerDataPoint(dataPointCalloutProps, _renderCallout) : null;
117
+ }
118
+ function _getGraphData(xScale, yScale, containerHeight, containerWidth, xElement, yElement) {
119
+ return _bars = _yAxisType === YAxisType.NumericAxis ? _createNumericBars(containerHeight, containerWidth, xElement, yElement) : _createStringBars(containerHeight, containerWidth, xElement, yElement);
120
+ }
121
+ function _createColors() {
122
+ const increment = _colors.length <= 1 ? 1 : 1 / (_colors.length - 1);
123
+ const { useSingleColor = false } = props;
124
+ if (useSingleColor) {
125
+ return (_p)=>{
126
+ const { colors } = props;
127
+ return colors && colors.length > 0 ? colors[0] : getColorFromToken(DataVizPalette.color16);
128
+ };
129
+ }
130
+ const domainValues = [];
131
+ for(let i = 0; i < _colors.length; i++){
132
+ domainValues.push(increment * i * _xMax);
133
+ }
134
+ const colorScale = d3ScaleLinear().domain(domainValues).range(_colors);
135
+ return colorScale;
136
+ }
137
+ function _refCallback(element, legendTitle) {
138
+ _refArray.push({
139
+ index: legendTitle,
140
+ refElement: element
141
+ });
142
+ }
143
+ function _onBarHover(point, // eslint-disable-next-line @typescript-eslint/no-shadow
144
+ color, mouseEvent) {
145
+ mouseEvent.persist();
146
+ // eslint-disable-next-line @typescript-eslint/no-shadow
147
+ if ((isLegendSelected === false || _isLegendHighlighted(point.legend)) && _calloutAnchorPoint !== point) {
148
+ _calloutAnchorPoint = point;
149
+ setPopoverOpen(true);
150
+ _updatePosition(mouseEvent.clientX, mouseEvent.clientY);
151
+ setDataForHoverCard(point.x);
152
+ setSelectedLegendTitle(point.legend);
153
+ setColor(props.useSingleColor || props.enableGradient ? color : point.color);
154
+ // To display callout value, if no callout value given, taking given point.x value as a string.
155
+ setXCalloutValue(point.yAxisCalloutData || point.y.toString());
156
+ setYCalloutValue(point.xAxisCalloutData || point.x.toString());
157
+ setDataPointCalloutProps(point);
158
+ setCallOutAccessibilityData(point.callOutAccessibilityData);
159
+ }
160
+ }
161
+ function _onBarLeave() {
162
+ setPopoverOpen(false);
163
+ }
164
+ function _handleChartMouseLeave() {
165
+ _calloutAnchorPoint = null;
166
+ setPopoverOpen(false);
167
+ }
168
+ // eslint-disable-next-line @typescript-eslint/no-shadow
169
+ function _onBarFocus(point, refArrayIndexNumber, color) {
170
+ if ((isLegendSelected === false || _isLegendHighlighted(point.legend)) && _calloutAnchorPoint !== point) {
171
+ // eslint-disable-next-line @typescript-eslint/no-shadow
172
+ _refArray.forEach((obj, index)=>{
173
+ if (refArrayIndexNumber === index) {
174
+ setPopoverOpen(true);
175
+ setSelectedLegendTitle(point.legend);
176
+ setDataForHoverCard(point.x);
177
+ setColor(props.useSingleColor ? color : point.color);
178
+ setXCalloutValue(point.yAxisCalloutData || point.y.toString());
179
+ setYCalloutValue(point.xAxisCalloutData || point.x.toString());
180
+ setDataPointCalloutProps(point);
181
+ setCallOutAccessibilityData(point.callOutAccessibilityData);
182
+ }
183
+ });
184
+ }
185
+ }
186
+ function _getScales(containerHeight, containerWidth, isNumericScale) {
187
+ if (isNumericScale) {
188
+ const xMax = d3Max(_points, (point)=>point.x);
189
+ const yMax = d3Max(_points, (point)=>point.y);
190
+ const xBarScale = d3ScaleLinear().domain(_isRtl ? [
191
+ xMax,
192
+ 0
193
+ ] : [
194
+ 0,
195
+ xMax
196
+ ]).nice().range([
197
+ _margins.left,
198
+ containerWidth - _margins.right
199
+ ]);
200
+ const yBarScale = d3ScaleLinear().domain([
201
+ 0,
202
+ yMax
203
+ ]).range([
204
+ containerHeight - _margins.bottom,
205
+ _margins.top
206
+ ]);
207
+ return {
208
+ xBarScale,
209
+ yBarScale
210
+ };
211
+ } else {
212
+ const xMax = d3Max(_points, (point)=>point.x);
213
+ // please note these padding default values must be consistent in here
214
+ // and CatrtesianChartBase w for more details refer example
215
+ // http://using-d3js.com/04_07_ordinal_scales.html
216
+ const yBarScale = d3ScaleBand().domain(_yAxisLabels).range([
217
+ containerHeight - _margins.bottom - _barHeight / 2,
218
+ _margins.top + _barHeight / 2
219
+ ]).padding(props.yAxisPadding || 0);
220
+ const xBarScale = d3ScaleLinear().domain(_isRtl ? [
221
+ xMax,
222
+ 0
223
+ ] : [
224
+ 0,
225
+ xMax
226
+ ]).nice().range([
227
+ _margins.left,
228
+ containerWidth - _margins.right
229
+ ]);
230
+ return {
231
+ xBarScale,
232
+ yBarScale
233
+ };
234
+ }
235
+ }
236
+ function _createNumericBars(containerHeight, containerWidth, xElement, yElement) {
237
+ const { useSingleColor = false } = props;
238
+ const { xBarScale, yBarScale } = _getScales(containerHeight, containerWidth, true);
239
+ const sortedBars = [
240
+ ..._points
241
+ ];
242
+ sortedBars.sort((a, b)=>{
243
+ const aValue = typeof a.y === 'number' ? a.y : parseFloat(a.y);
244
+ const bValue = typeof b.y === 'number' ? b.y : parseFloat(b.y);
245
+ return bValue - aValue;
246
+ });
247
+ const bars = sortedBars.map((point, index)=>{
248
+ let shouldHighlight = true;
249
+ if (isLegendHovered || isLegendSelected) {
250
+ shouldHighlight = _isLegendHighlighted(point.legend);
251
+ }
252
+ const barHeight = Math.max(yBarScale(point.y), 0);
253
+ if (barHeight < 1) {
254
+ return /*#__PURE__*/ React.createElement(React.Fragment, {
255
+ key: point.x
256
+ }, " ");
257
+ }
258
+ let startColor;
259
+ if (useSingleColor) {
260
+ //if useSingle color , then check if user has given a palette or not
261
+ // and pick the first color from that or else from our paltette.
262
+ startColor = props.colors ? _createColors()(1) : getNextColor(1, 0);
263
+ } else {
264
+ startColor = props.colors ? _createColors()(point.x) : getNextColor(index, 0);
265
+ }
266
+ startColor = point.color && !useSingleColor ? point.color : startColor;
267
+ return /*#__PURE__*/ React.createElement(React.Fragment, {
268
+ key: `${index}_${point.x}`
269
+ }, /*#__PURE__*/ React.createElement("rect", {
270
+ key: point.y,
271
+ x: _isRtl ? xBarScale(point.x) : _margins.left,
272
+ y: yBarScale(point.y) - _barHeight / 2,
273
+ "data-is-focusable": shouldHighlight,
274
+ width: _isRtl ? containerWidth - _margins.right - Math.max(xBarScale(point.x), 0) : Math.max(xBarScale(point.x), 0) - _margins.left,
275
+ height: _barHeight,
276
+ ref: (e)=>{
277
+ _refCallback(e, point.legend);
278
+ },
279
+ rx: props.roundCorners ? 3 : 0,
280
+ onClick: point.onClick,
281
+ onMouseOver: (event)=>_onBarHover(point, startColor, event),
282
+ "aria-label": _getAriaLabel(point),
283
+ role: "img",
284
+ "aria-labelledby": `toolTip${_calloutId}`,
285
+ onMouseLeave: _onBarLeave,
286
+ onFocus: ()=>_onBarFocus(point, index, startColor),
287
+ onBlur: _onBarLeave,
288
+ fill: startColor,
289
+ opacity: shouldHighlight ? 1 : 0.1,
290
+ tabIndex: point.legend !== '' ? 0 : undefined
291
+ }));
292
+ });
293
+ return bars;
294
+ }
295
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
+ function _tooltipOfYAxislabels(ytooltipProps) {
297
+ const { tooltipCls, yAxis, id } = ytooltipProps;
298
+ if (yAxis === null) {
299
+ return null;
300
+ }
301
+ const div = d3Select('body').append('div').attr('id', id).attr('class', tooltipCls).style('opacity', 0);
302
+ const aa = yAxis.selectAll('#BaseSpan')._groups[0];
303
+ const baseSpanLength = aa && Object.keys(aa).length;
304
+ const originalDataArray = [];
305
+ for(let i = 0; i < baseSpanLength; i++){
306
+ const originalData = aa[i].dataset && Object.values(aa[i].dataset)[0];
307
+ originalDataArray.push(originalData);
308
+ }
309
+ const tickObject = yAxis.selectAll('.tick')._groups[0];
310
+ const tickObjectLength = tickObject && Object.keys(tickObject).length;
311
+ for(let i = 0; i < tickObjectLength; i++){
312
+ const d1 = tickObject[i];
313
+ d3Select(d1)// eslint-disable-next-line @typescript-eslint/no-explicit-any
314
+ .on('mouseover', (event, d)=>{
315
+ if (!tooltipElement) {
316
+ div.style('opacity', 0.9);
317
+ div.text(originalDataArray[i]).style('left', event.pageX + 'px').style('top', event.pageY - 28 + 'px');
318
+ }
319
+ }).on('mouseout', (d)=>{
320
+ div.style('opacity', 0);
321
+ });
322
+ }
323
+ }
324
+ function _createStringBars(containerHeight, containerWidth, xElement, yElement) {
325
+ const { xBarScale, yBarScale } = _getScales(containerHeight, containerWidth, false);
326
+ const { useSingleColor = false } = props;
327
+ const bars = _points.map((point, index)=>{
328
+ let shouldHighlight = true;
329
+ if (isLegendHovered || isLegendSelected) {
330
+ shouldHighlight = _isLegendHighlighted(point.legend);
331
+ }
332
+ const barHeight = Math.max(yBarScale(point.y), 0);
333
+ if (barHeight < 1) {
334
+ return /*#__PURE__*/ React.createElement(React.Fragment, {
335
+ key: point.x
336
+ }, " ");
337
+ }
338
+ let startColor;
339
+ if (useSingleColor) {
340
+ //if useSingle color , then check if user has given a palette or not
341
+ // and pick the first color from that or else from our paltette.
342
+ startColor = props.colors ? _createColors()(1) : getNextColor(1, 0);
343
+ } else {
344
+ startColor = props.colors ? _createColors()(point.x) : getNextColor(index, 0);
345
+ }
346
+ startColor = point.color && !useSingleColor ? point.color : startColor;
347
+ return /*#__PURE__*/ React.createElement(React.Fragment, {
348
+ key: `${index}_${point.x}`
349
+ }, /*#__PURE__*/ React.createElement("rect", {
350
+ transform: `translate(0,${0.5 * (yBarScale.bandwidth() - _barHeight)})`,
351
+ key: point.x,
352
+ x: _isRtl ? xBarScale(point.x) : _margins.left,
353
+ y: yBarScale(point.y),
354
+ rx: props.roundCorners ? 3 : 0,
355
+ width: _isRtl ? containerWidth - _margins.right - Math.max(xBarScale(point.x), 0) : Math.max(xBarScale(point.x), 0) - _margins.left,
356
+ height: _barHeight,
357
+ "aria-labelledby": `toolTip${_calloutId}`,
358
+ "aria-label": _getAriaLabel(point),
359
+ role: "img",
360
+ ref: (e)=>{
361
+ _refCallback(e, point.legend);
362
+ },
363
+ onClick: point.onClick,
364
+ onMouseOver: (event)=>_onBarHover(point, startColor, event),
365
+ onMouseLeave: _onBarLeave,
366
+ onBlur: _onBarLeave,
367
+ "data-is-focusable": shouldHighlight,
368
+ opacity: shouldHighlight ? 1 : 0.1,
369
+ onFocus: ()=>_onBarFocus(point, index, startColor),
370
+ fill: startColor,
371
+ tabIndex: point.legend !== '' ? 0 : undefined
372
+ }));
373
+ });
374
+ // Removing un wanted tooltip div from DOM, when prop not provided, for proper cleanup
375
+ // of unwanted DOM elements, to prevent flacky behaviour in tooltips , that might occur
376
+ // in creating tooltips when tooltips are enabled( as we try to recreate a tspan with _tooltipId)
377
+ if (!props.showYAxisLablesTooltip) {
378
+ try {
379
+ // eslint-disable-next-line @nx/workspace-no-restricted-globals
380
+ document.getElementById(_tooltipId) && document.getElementById(_tooltipId).remove();
381
+ //eslint-disable-next-line no-empty
382
+ } catch (e) {}
383
+ }
384
+ // Used to display tooltip at y axis labels.
385
+ if (props.showYAxisLablesTooltip) {
386
+ const yAxisElement = d3Select(yElement).call(yBarScale);
387
+ if (!tooltipElement) {
388
+ try {
389
+ // eslint-disable-next-line @nx/workspace-no-restricted-globals
390
+ document.getElementById(_tooltipId) && document.getElementById(_tooltipId).remove();
391
+ //eslint-disable-next-line no-empty
392
+ } catch (e) {}
393
+ }
394
+ const ytooltipProps = {
395
+ tooltipCls: classes.tooltip,
396
+ id: _tooltipId,
397
+ yAxis: yAxisElement
398
+ };
399
+ yAxisElement && _tooltipOfYAxislabels(ytooltipProps);
400
+ }
401
+ return bars;
402
+ }
403
+ function _onLegendHover(customMessage) {
404
+ if (!_isLegendSelected()) {
405
+ setIsLegendHovered(true);
406
+ setSelectedLegendTitle(customMessage);
407
+ }
408
+ }
409
+ function _onLegendLeave(isLegendFocused) {
410
+ if (!!isLegendFocused || !_isLegendSelected()) {
411
+ setIsLegendHovered(false);
412
+ setSelectedLegendTitle('');
413
+ setIsLegendSelected(isLegendFocused ? false : _isLegendSelected());
414
+ }
415
+ }
416
+ function _getLegendData(data) {
417
+ const { useSingleColor } = props;
418
+ const actions = [];
419
+ data.forEach((point, _index)=>{
420
+ // eslint-disable-next-line @typescript-eslint/no-shadow
421
+ const color = useSingleColor ? props.colors ? _createColors()(1) : getNextColor(1, 0) : point.color;
422
+ // mapping data to the format Legends component needs
423
+ const legend = {
424
+ title: point.legend,
425
+ color,
426
+ hoverAction: ()=>{
427
+ _handleChartMouseLeave();
428
+ _onLegendHover(point.legend);
429
+ },
430
+ // eslint-disable-next-line @typescript-eslint/no-shadow
431
+ onMouseOutAction: (isLegendSelected)=>{
432
+ _onLegendLeave(isLegendSelected);
433
+ }
434
+ };
435
+ actions.push(legend);
436
+ });
437
+ const legends = /*#__PURE__*/ React.createElement(Legends, {
438
+ legends: actions,
439
+ enabledWrapLines: props.enabledLegendsWrapLines,
440
+ overflowText: props.legendsOverflowText,
441
+ ...props.legendProps,
442
+ onChange: _onLegendSelectionChange
443
+ });
444
+ return legends;
445
+ }
446
+ function _isLegendSelected() {
447
+ return isLegendSelected;
448
+ }
449
+ /**
450
+ * This function checks if the given legend is highlighted or not.
451
+ * A legend can be highlighted in 2 ways:
452
+ * 1. selection: if the user clicks on it
453
+ * 2. hovering: if there is no selected legend and the user hovers over it
454
+ */ function _isLegendHighlighted(legend) {
455
+ return _getHighlightedLegend().includes(legend);
456
+ }
457
+ function _getHighlightedLegend() {
458
+ return selectedLegends.length > 0 ? selectedLegends : selectedLegendTitle ? [
459
+ selectedLegendTitle
460
+ ] : [];
461
+ }
462
+ function _onLegendSelectionChange(// eslint-disable-next-line @typescript-eslint/no-shadow
463
+ selectedLegends, event, currentLegend) {
464
+ var _props_legendProps, _props_legendProps1;
465
+ if ((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.canSelectMultipleLegends) {
466
+ setSelectedLegends(selectedLegends);
467
+ setSelectedLegendTitle(currentLegend === null || currentLegend === void 0 ? void 0 : currentLegend.title);
468
+ } else {
469
+ setSelectedLegends(selectedLegends.slice(-1));
470
+ setSelectedLegendTitle(currentLegend === null || currentLegend === void 0 ? void 0 : currentLegend.title);
471
+ }
472
+ setIsLegendSelected(selectedLegends.length > 0);
473
+ if ((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.onChange) {
474
+ props.legendProps.onChange(selectedLegends, event, currentLegend);
475
+ }
476
+ }
477
+ function _getAxisData(yAxisData) {
478
+ if (yAxisData && yAxisData.yAxisDomainValues.length) {
479
+ // For HBCWA x and y Values are swapped
480
+ const { yAxisDomainValues: domainValue } = yAxisData;
481
+ _xMax = Math.max(domainValue[domainValue.length - 1], props.xMaxValue || 0);
482
+ }
483
+ }
484
+ function _getAriaLabel(point) {
485
+ var _point_callOutAccessibilityData;
486
+ const xValue = point.xAxisCalloutData || point.x;
487
+ const yValue = point.yAxisCalloutData || point.y;
488
+ return ((_point_callOutAccessibilityData = point.callOutAccessibilityData) === null || _point_callOutAccessibilityData === void 0 ? void 0 : _point_callOutAccessibilityData.ariaLabel) || `${xValue}. ` + `${yValue}.`;
489
+ }
490
+ function _getChartTitle() {
491
+ const { chartTitle, data } = props;
492
+ return (chartTitle ? `${chartTitle}. ` : '') + `Horizontal bar chart with ${(data === null || data === void 0 ? void 0 : data.length) || 0} bars. `;
493
+ }
494
+ function _isChartEmpty() {
495
+ return !(props.data && props.data.length > 0);
496
+ }
497
+ function _updatePosition(newX, newY) {
498
+ const threshold = 1; // Set a threshold for movement
499
+ const { x, y } = clickPosition;
500
+ // Calculate the distance moved
501
+ const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));
502
+ // Update the position only if the distance moved is greater than the threshold
503
+ if (distance > threshold) {
504
+ setClickPosition({
505
+ x: newX,
506
+ y: newY
507
+ });
508
+ setPopoverOpen(true);
509
+ }
510
+ }
511
+ if (!_isChartEmpty()) {
512
+ _adjustProps();
513
+ const calloutProps = {
514
+ color: color,
515
+ legend: selectedLegendTitle,
516
+ XValue: xCalloutValue,
517
+ YValue: yCalloutValue ? yCalloutValue : dataForHoverCard,
518
+ ...props.calloutProps,
519
+ ...getAccessibleDataObject(callOutAccessibilityData),
520
+ customCallout: {
521
+ customizedCallout: _getCustomizedCallout() !== null ? _getCustomizedCallout() : undefined,
522
+ customCalloutProps: props.calloutPropsPerDataPoint ? props.calloutPropsPerDataPoint(dataPointCalloutProps) : undefined
523
+ },
524
+ isCartesian: true,
525
+ isPopoverOpen,
526
+ clickPosition
527
+ };
528
+ const tickParams = {
529
+ tickValues: props.tickValues,
530
+ tickFormat: props.tickFormat
531
+ };
532
+ const reversedBars = [
533
+ ..._points
534
+ ].reverse();
535
+ _yAxisLabels = reversedBars.map((point)=>point.y);
536
+ _xMax = Math.max(d3Max(_points, (point)=>point.x), props.xMaxValue || 0);
537
+ const legendBars = _getLegendData(_points);
538
+ return /*#__PURE__*/ React.createElement(CartesianChart, {
539
+ ...props,
540
+ chartTitle: _getChartTitle(),
541
+ points: _points,
542
+ chartType: ChartTypes.HorizontalBarChartWithAxis,
543
+ xAxisType: _xAxisType,
544
+ yAxisType: _yAxisType,
545
+ stringDatasetForYAxisDomain: _yAxisLabels,
546
+ calloutProps: calloutProps,
547
+ tickParams: tickParams,
548
+ legendBars: legendBars,
549
+ barwidth: _barHeight,
550
+ getmargins: _getMargins,
551
+ getGraphData: _getGraphData,
552
+ getAxisData: _getAxisData,
553
+ onChartMouseLeave: _handleChartMouseLeave,
554
+ componentRef: cartesianChartRef,
555
+ /* eslint-disable react/jsx-no-bind */ // eslint-disable-next-line @typescript-eslint/no-shadow
556
+ children: (props)=>{
557
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("g", null, _bars));
558
+ }
559
+ });
560
+ } else {
561
+ return /*#__PURE__*/ React.createElement("div", {
562
+ id: _emptyChartId,
563
+ role: 'alert',
564
+ style: {
565
+ opacity: '0'
566
+ },
567
+ "aria-label": 'Graph has no data to display'
568
+ });
569
+ }
570
+ });
571
+ HorizontalBarChartWithAxis.displayName = 'HorizontalBarChartWithAxis';