@fluentui/react-charts 9.3.22 → 9.3.24

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 (755) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/dist/index.d.cts +5724 -0
  3. package/lib/AnnotationOnlyChart.js +1 -1
  4. package/lib/AnnotationOnlyChart.js.map +1 -1
  5. package/lib/AreaChart.js +1 -1
  6. package/lib/AreaChart.js.map +1 -1
  7. package/lib/CartesianChart.js +1 -1
  8. package/lib/CartesianChart.js.map +1 -1
  9. package/lib/ChartTable.js +1 -1
  10. package/lib/ChartTable.js.map +1 -1
  11. package/lib/DeclarativeChart.js +1 -1
  12. package/lib/DeclarativeChart.js.map +1 -1
  13. package/lib/DonutChart.js +1 -1
  14. package/lib/DonutChart.js.map +1 -1
  15. package/lib/FunnelChart.js +1 -1
  16. package/lib/FunnelChart.js.map +1 -1
  17. package/lib/GanttChart.js +1 -1
  18. package/lib/GanttChart.js.map +1 -1
  19. package/lib/GaugeChart.js +1 -1
  20. package/lib/GaugeChart.js.map +1 -1
  21. package/lib/GroupedVerticalBarChart.js +1 -1
  22. package/lib/GroupedVerticalBarChart.js.map +1 -1
  23. package/lib/HeatMapChart.js +1 -1
  24. package/lib/HeatMapChart.js.map +1 -1
  25. package/lib/HorizontalBarChart.js +1 -1
  26. package/lib/HorizontalBarChart.js.map +1 -1
  27. package/lib/HorizontalBarChartWithAxis.js +1 -1
  28. package/lib/HorizontalBarChartWithAxis.js.map +1 -1
  29. package/lib/Legends.js +1 -1
  30. package/lib/Legends.js.map +1 -1
  31. package/lib/LineChart.js +1 -1
  32. package/lib/LineChart.js.map +1 -1
  33. package/lib/PolarChart.js +1 -1
  34. package/lib/PolarChart.js.map +1 -1
  35. package/lib/Popover.js +1 -1
  36. package/lib/Popover.js.map +1 -1
  37. package/lib/ResponsiveContainer.js +1 -1
  38. package/lib/ResponsiveContainer.js.map +1 -1
  39. package/lib/SankeyChart.js +1 -1
  40. package/lib/SankeyChart.js.map +1 -1
  41. package/lib/ScatterChart.js +1 -1
  42. package/lib/ScatterChart.js.map +1 -1
  43. package/lib/Sparkline.js +1 -1
  44. package/lib/Sparkline.js.map +1 -1
  45. package/lib/VegaDeclarativeChart.js +1 -1
  46. package/lib/VegaDeclarativeChart.js.map +1 -1
  47. package/lib/VerticalBarChart.js +1 -1
  48. package/lib/VerticalBarChart.js.map +1 -1
  49. package/lib/VerticalStackedBarChart.js +1 -1
  50. package/lib/VerticalStackedBarChart.js.map +1 -1
  51. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +5 -5
  52. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  53. package/lib/components/AnnotationOnlyChart/index.js +2 -2
  54. package/lib/components/AnnotationOnlyChart/index.js.map +1 -1
  55. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +2 -2
  56. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +1 -1
  57. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +2 -2
  58. package/lib/components/AreaChart/AreaChart.js +11 -11
  59. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  60. package/lib/components/AreaChart/index.js +3 -3
  61. package/lib/components/AreaChart/index.js.map +1 -1
  62. package/lib/components/AreaChart/useAreaChartStyles.styles.js +2 -2
  63. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  64. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +2 -2
  65. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  66. package/lib/components/ChartTable/ChartTable.js +9 -9
  67. package/lib/components/ChartTable/ChartTable.js.map +1 -1
  68. package/lib/components/ChartTable/index.js +3 -3
  69. package/lib/components/ChartTable/index.js.map +1 -1
  70. package/lib/components/ChartTable/useChartTableStyles.styles.js +3 -3
  71. package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  72. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +3 -3
  73. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  74. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +5 -5
  75. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  76. package/lib/components/CommonComponents/Annotations/index.js +2 -2
  77. package/lib/components/CommonComponents/Annotations/index.js.map +1 -1
  78. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +3 -3
  79. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -1
  80. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +3 -3
  81. package/lib/components/CommonComponents/CartesianChart.js +9 -9
  82. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  83. package/lib/components/CommonComponents/ChartPopover.js +9 -9
  84. package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
  85. package/lib/components/CommonComponents/index.js +6 -6
  86. package/lib/components/CommonComponents/index.js.map +1 -1
  87. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +4 -4
  88. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  89. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +4 -4
  90. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  91. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +2 -2
  92. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  93. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +2 -2
  94. package/lib/components/DeclarativeChart/DeclarativeChart.js +28 -28
  95. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  96. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +5 -5
  97. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  98. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +9 -9
  99. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  100. package/lib/components/DeclarativeChart/index.js +1 -1
  101. package/lib/components/DeclarativeChart/index.js.map +1 -1
  102. package/lib/components/DonutChart/Arc/Arc.js +8 -7
  103. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  104. package/lib/components/DonutChart/Arc/index.js +2 -2
  105. package/lib/components/DonutChart/Arc/index.js.map +1 -1
  106. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +3 -3
  107. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  108. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +3 -3
  109. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
  110. package/lib/components/DonutChart/DonutChart.js +10 -10
  111. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  112. package/lib/components/DonutChart/Pie/Pie.js +8 -6
  113. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  114. package/lib/components/DonutChart/Pie/index.js +2 -2
  115. package/lib/components/DonutChart/Pie/index.js.map +1 -1
  116. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +2 -2
  117. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  118. package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +2 -2
  119. package/lib/components/DonutChart/index.js +3 -3
  120. package/lib/components/DonutChart/index.js.map +1 -1
  121. package/lib/components/DonutChart/useDonutChartStyles.styles.js +3 -3
  122. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  123. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +3 -3
  124. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
  125. package/lib/components/FunnelChart/FunnelChart.js +25 -14
  126. package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
  127. package/lib/components/FunnelChart/index.js +2 -2
  128. package/lib/components/FunnelChart/index.js.map +1 -1
  129. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +3 -3
  130. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
  131. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +3 -3
  132. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
  133. package/lib/components/GanttChart/GanttChart.js +14 -11
  134. package/lib/components/GanttChart/GanttChart.js.map +1 -1
  135. package/lib/components/GanttChart/index.js +2 -2
  136. package/lib/components/GanttChart/index.js.map +1 -1
  137. package/lib/components/GaugeChart/GaugeChart.js +17 -14
  138. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  139. package/lib/components/GaugeChart/index.js +3 -3
  140. package/lib/components/GaugeChart/index.js.map +1 -1
  141. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +3 -3
  142. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  143. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +3 -3
  144. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
  145. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +11 -11
  146. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  147. package/lib/components/GroupedVerticalBarChart/index.js +3 -3
  148. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
  149. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -2
  150. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  151. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +2 -2
  152. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  153. package/lib/components/HeatMapChart/HeatMapChart.js +21 -16
  154. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  155. package/lib/components/HeatMapChart/index.js +3 -3
  156. package/lib/components/HeatMapChart/index.js.map +1 -1
  157. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -2
  158. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  159. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -2
  160. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +11 -11
  161. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  162. package/lib/components/HorizontalBarChart/index.js +3 -3
  163. package/lib/components/HorizontalBarChart/index.js.map +1 -1
  164. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +6 -6
  165. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  166. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -5
  167. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
  168. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +13 -13
  169. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  170. package/lib/components/HorizontalBarChartWithAxis/index.js +3 -3
  171. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  172. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +3 -3
  173. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  174. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +3 -3
  175. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  176. package/lib/components/Legends/Legends.js +72 -42
  177. package/lib/components/Legends/Legends.js.map +1 -1
  178. package/lib/components/Legends/OverflowMenu.js +50 -12
  179. package/lib/components/Legends/OverflowMenu.js.map +1 -1
  180. package/lib/components/Legends/index.js +3 -3
  181. package/lib/components/Legends/index.js.map +1 -1
  182. package/lib/components/Legends/shape.js +2 -2
  183. package/lib/components/Legends/shape.js.map +1 -1
  184. package/lib/components/Legends/useLegendsStyles.styles.js +3 -3
  185. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  186. package/lib/components/Legends/useLegendsStyles.styles.raw.js +3 -3
  187. package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
  188. package/lib/components/LineChart/LineChart.js +16 -16
  189. package/lib/components/LineChart/LineChart.js.map +1 -1
  190. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +5 -5
  191. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  192. package/lib/components/LineChart/eventAnnotation/LabelLink.js +4 -4
  193. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  194. package/lib/components/LineChart/eventAnnotation/Textbox.js +3 -3
  195. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  196. package/lib/components/LineChart/index.js +4 -4
  197. package/lib/components/LineChart/index.js.map +1 -1
  198. package/lib/components/LineChart/useLineChartStyles.styles.js +4 -4
  199. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  200. package/lib/components/LineChart/useLineChartStyles.styles.raw.js +4 -4
  201. package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  202. package/lib/components/PolarChart/PolarChart.js +13 -13
  203. package/lib/components/PolarChart/PolarChart.js.map +1 -1
  204. package/lib/components/PolarChart/PolarChart.utils.js +6 -6
  205. package/lib/components/PolarChart/PolarChart.utils.js.map +1 -1
  206. package/lib/components/PolarChart/index.js +2 -2
  207. package/lib/components/PolarChart/index.js.map +1 -1
  208. package/lib/components/PolarChart/usePolarChartStyles.styles.js +2 -2
  209. package/lib/components/PolarChart/usePolarChartStyles.styles.js.map +1 -1
  210. package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js +2 -2
  211. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +4 -4
  212. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  213. package/lib/components/ResponsiveContainer/index.js +3 -3
  214. package/lib/components/ResponsiveContainer/index.js.map +1 -1
  215. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -1
  216. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
  217. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -1
  218. package/lib/components/ResponsiveContainer/withResponsiveContainer.js +2 -2
  219. package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
  220. package/lib/components/SankeyChart/SankeyChart.js +27 -21
  221. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  222. package/lib/components/SankeyChart/index.js +3 -3
  223. package/lib/components/SankeyChart/index.js.map +1 -1
  224. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +3 -3
  225. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  226. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +3 -3
  227. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
  228. package/lib/components/ScatterChart/ScatterChart.js +16 -16
  229. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  230. package/lib/components/ScatterChart/index.js +3 -3
  231. package/lib/components/ScatterChart/index.js.map +1 -1
  232. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +2 -2
  233. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  234. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +2 -2
  235. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  236. package/lib/components/Sparkline/Sparkline.js +7 -7
  237. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  238. package/lib/components/Sparkline/index.js +3 -3
  239. package/lib/components/Sparkline/index.js.map +1 -1
  240. package/lib/components/Sparkline/useSparklineStyles.styles.js +2 -2
  241. package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
  242. package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +2 -2
  243. package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js +15 -15
  244. package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js.map +1 -1
  245. package/lib/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js +4 -4
  246. package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js +2 -2
  247. package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js.map +1 -1
  248. package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js +5 -5
  249. package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js.map +1 -1
  250. package/lib/components/VegaDeclarativeChart/index.js +1 -1
  251. package/lib/components/VegaDeclarativeChart/index.js.map +1 -1
  252. package/lib/components/VerticalBarChart/VerticalBarChart.js +16 -13
  253. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  254. package/lib/components/VerticalBarChart/index.js +3 -3
  255. package/lib/components/VerticalBarChart/index.js.map +1 -1
  256. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +4 -4
  257. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  258. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +4 -4
  259. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  260. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +11 -11
  261. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  262. package/lib/components/VerticalStackedBarChart/index.js +3 -3
  263. package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
  264. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -2
  265. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  266. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +2 -2
  267. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  268. package/lib/index.js +26 -26
  269. package/lib/index.js.map +1 -1
  270. package/lib/types/index.js +3 -3
  271. package/lib/types/index.js.map +1 -1
  272. package/lib/utilities/ChartTitle.js +4 -4
  273. package/lib/utilities/ChartTitle.js.map +1 -1
  274. package/lib/utilities/Common.styles.js +2 -2
  275. package/lib/utilities/Common.styles.js.map +1 -1
  276. package/lib/utilities/Common.styles.raw.js +2 -2
  277. package/lib/utilities/Common.styles.raw.js.map +1 -1
  278. package/lib/utilities/FocusableTooltipText.js +6 -6
  279. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  280. package/lib/utilities/SVGTooltipText.js +7 -7
  281. package/lib/utilities/SVGTooltipText.js.map +1 -1
  282. package/lib/utilities/async-utils.js +1 -1
  283. package/lib/utilities/async-utils.js.map +1 -1
  284. package/lib/utilities/colors.js +2 -2
  285. package/lib/utilities/getWindow.js +1 -1
  286. package/lib/utilities/hooks.js +3 -3
  287. package/lib/utilities/hooks.js.map +1 -1
  288. package/lib/utilities/image-export-utils.js +4 -4
  289. package/lib/utilities/image-export-utils.js.map +1 -1
  290. package/lib/utilities/index.js +5 -5
  291. package/lib/utilities/index.js.map +1 -1
  292. package/lib/utilities/scatterpolar-utils.js +1 -1
  293. package/lib/utilities/test-data.js +1 -1
  294. package/lib/utilities/test-data.js.map +1 -1
  295. package/lib/utilities/utilities.js +13 -13
  296. package/lib/utilities/utilities.js.map +1 -1
  297. package/lib-commonjs/AnnotationOnlyChart.cjs +6 -0
  298. package/lib-commonjs/{AnnotationOnlyChart.js.map → AnnotationOnlyChart.cjs.map} +1 -1
  299. package/lib-commonjs/{DonutChart.js → AreaChart.cjs} +1 -1
  300. package/lib-commonjs/{AreaChart.js.map → AreaChart.cjs.map} +1 -1
  301. package/lib-commonjs/{AnnotationOnlyChart.js → CartesianChart.cjs} +1 -1
  302. package/lib-commonjs/{CartesianChart.js.map → CartesianChart.cjs.map} +1 -1
  303. package/lib-commonjs/{VegaDeclarativeChart.js → ChartTable.cjs} +1 -1
  304. package/lib-commonjs/{ChartTable.js.map → ChartTable.cjs.map} +1 -1
  305. package/lib-commonjs/DeclarativeChart.cjs +6 -0
  306. package/lib-commonjs/{DeclarativeChart.js.map → DeclarativeChart.cjs.map} +1 -1
  307. package/lib-commonjs/{ChartTable.js → DonutChart.cjs} +1 -1
  308. package/lib-commonjs/{DonutChart.js.map → DonutChart.cjs.map} +1 -1
  309. package/lib-commonjs/FunnelChart.cjs +6 -0
  310. package/lib-commonjs/{FunnelChart.js.map → FunnelChart.cjs.map} +1 -1
  311. package/lib-commonjs/GanttChart.cjs +6 -0
  312. package/lib-commonjs/{GanttChart.js.map → GanttChart.cjs.map} +1 -1
  313. package/lib-commonjs/GaugeChart.cjs +6 -0
  314. package/lib-commonjs/{GaugeChart.js.map → GaugeChart.cjs.map} +1 -1
  315. package/lib-commonjs/{GroupedVerticalBarChart.js → GroupedVerticalBarChart.cjs} +1 -1
  316. package/lib-commonjs/{GroupedVerticalBarChart.js.map → GroupedVerticalBarChart.cjs.map} +1 -1
  317. package/lib-commonjs/{DeclarativeChart.js → HeatMapChart.cjs} +1 -1
  318. package/lib-commonjs/{HeatMapChart.js.map → HeatMapChart.cjs.map} +1 -1
  319. package/lib-commonjs/HorizontalBarChart.cjs +6 -0
  320. package/lib-commonjs/{HorizontalBarChart.js.map → HorizontalBarChart.cjs.map} +1 -1
  321. package/lib-commonjs/{HorizontalBarChartWithAxis.js → HorizontalBarChartWithAxis.cjs} +1 -1
  322. package/lib-commonjs/{HorizontalBarChartWithAxis.js.map → HorizontalBarChartWithAxis.cjs.map} +1 -1
  323. package/lib-commonjs/{SankeyChart.js → Legends.cjs} +1 -1
  324. package/lib-commonjs/{Legends.js.map → Legends.cjs.map} +1 -1
  325. package/lib-commonjs/{FunnelChart.js → LineChart.cjs} +1 -1
  326. package/lib-commonjs/{LineChart.js.map → LineChart.cjs.map} +1 -1
  327. package/lib-commonjs/PolarChart.cjs +6 -0
  328. package/lib-commonjs/{PolarChart.js.map → PolarChart.cjs.map} +1 -1
  329. package/lib-commonjs/Popover.cjs +6 -0
  330. package/lib-commonjs/{Popover.js.map → Popover.cjs.map} +1 -1
  331. package/lib-commonjs/ResponsiveContainer.cjs +6 -0
  332. package/lib-commonjs/{ResponsiveContainer.js.map → ResponsiveContainer.cjs.map} +1 -1
  333. package/lib-commonjs/SankeyChart.cjs +6 -0
  334. package/lib-commonjs/{SankeyChart.js.map → SankeyChart.cjs.map} +1 -1
  335. package/lib-commonjs/{CartesianChart.js → ScatterChart.cjs} +1 -1
  336. package/lib-commonjs/{ScatterChart.js.map → ScatterChart.cjs.map} +1 -1
  337. package/lib-commonjs/{AreaChart.js → Sparkline.cjs} +1 -1
  338. package/lib-commonjs/{Sparkline.js.map → Sparkline.cjs.map} +1 -1
  339. package/lib-commonjs/VegaDeclarativeChart.cjs +6 -0
  340. package/lib-commonjs/{VegaDeclarativeChart.js.map → VegaDeclarativeChart.cjs.map} +1 -1
  341. package/lib-commonjs/VerticalBarChart.cjs +6 -0
  342. package/lib-commonjs/{VerticalBarChart.js.map → VerticalBarChart.cjs.map} +1 -1
  343. package/lib-commonjs/{VerticalStackedBarChart.js → VerticalStackedBarChart.cjs} +1 -1
  344. package/lib-commonjs/{VerticalStackedBarChart.js.map → VerticalStackedBarChart.cjs.map} +1 -1
  345. package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.js → AnnotationOnlyChart.cjs} +5 -5
  346. package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.js.map → AnnotationOnlyChart.cjs.map} +1 -1
  347. package/lib-commonjs/{HeatMapChart.js → components/AnnotationOnlyChart/index.cjs} +2 -1
  348. package/lib-commonjs/components/AnnotationOnlyChart/{index.js.map → index.cjs.map} +1 -1
  349. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.cjs.map +1 -0
  350. package/lib-commonjs/components/AreaChart/{AreaChart.js → AreaChart.cjs} +4 -4
  351. package/lib-commonjs/components/AreaChart/{AreaChart.js.map → AreaChart.cjs.map} +1 -1
  352. package/lib-commonjs/components/AreaChart/index.cjs +8 -0
  353. package/lib-commonjs/components/AreaChart/{index.js.map → index.cjs.map} +1 -1
  354. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.cjs.map +1 -0
  355. package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.raw.js → useAreaChartStyles.styles.raw.cjs} +1 -1
  356. package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.raw.js.map → useAreaChartStyles.styles.raw.cjs.map} +1 -1
  357. package/lib-commonjs/components/ChartTable/{ChartTable.js → ChartTable.cjs} +5 -5
  358. package/lib-commonjs/components/ChartTable/{ChartTable.js.map → ChartTable.cjs.map} +1 -1
  359. package/lib-commonjs/components/ChartTable/index.cjs +8 -0
  360. package/lib-commonjs/components/ChartTable/{index.js.map → index.cjs.map} +1 -1
  361. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.cjs.map +1 -0
  362. package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.raw.js → useChartTableStyles.styles.raw.cjs} +1 -1
  363. package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.raw.js.map → useChartTableStyles.styles.raw.cjs.map} +1 -1
  364. package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.js → ChartAnnotationLayer.cjs} +1 -1
  365. package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.js.map → ChartAnnotationLayer.cjs.map} +1 -1
  366. package/lib-commonjs/components/CommonComponents/Annotations/index.cjs +7 -0
  367. package/lib-commonjs/components/CommonComponents/Annotations/{index.js.map → index.cjs.map} +1 -1
  368. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.cjs.map +1 -0
  369. package/lib-commonjs/components/CommonComponents/{CartesianChart.js → CartesianChart.cjs} +5 -5
  370. package/lib-commonjs/components/CommonComponents/{CartesianChart.js.map → CartesianChart.cjs.map} +1 -1
  371. package/lib-commonjs/components/CommonComponents/{ChartPopover.js → ChartPopover.cjs} +3 -3
  372. package/lib-commonjs/components/CommonComponents/{ChartPopover.js.map → ChartPopover.cjs.map} +1 -1
  373. package/lib-commonjs/components/CommonComponents/index.cjs +11 -0
  374. package/lib-commonjs/components/CommonComponents/{index.js.map → index.cjs.map} +1 -1
  375. package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.js → useCartesianChartStyles.styles.cjs} +1 -1
  376. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.cjs.map +1 -0
  377. package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.raw.js → useCartesianChartStyles.styles.raw.cjs} +2 -2
  378. package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.raw.js.map → useCartesianChartStyles.styles.raw.cjs.map} +1 -1
  379. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.cjs.map +1 -0
  380. package/lib-commonjs/components/DeclarativeChart/{DeclarativeChart.js → DeclarativeChart.cjs} +21 -21
  381. package/lib-commonjs/components/DeclarativeChart/{DeclarativeChart.js.map → DeclarativeChart.cjs.map} +1 -1
  382. package/lib-commonjs/components/DeclarativeChart/{PlotlyColorAdapter.js → PlotlyColorAdapter.cjs} +2 -2
  383. package/lib-commonjs/components/DeclarativeChart/{PlotlyColorAdapter.js.map → PlotlyColorAdapter.cjs.map} +1 -1
  384. package/lib-commonjs/components/DeclarativeChart/{PlotlySchemaAdapter.js → PlotlySchemaAdapter.cjs} +3 -3
  385. package/lib-commonjs/components/DeclarativeChart/{PlotlySchemaAdapter.js.map → PlotlySchemaAdapter.cjs.map} +1 -1
  386. package/lib-commonjs/components/DeclarativeChart/{index.js → index.cjs} +1 -1
  387. package/lib-commonjs/components/DeclarativeChart/{index.js.map → index.cjs.map} +1 -1
  388. package/lib-commonjs/components/DonutChart/Arc/{Arc.js → Arc.cjs} +5 -4
  389. package/lib-commonjs/components/DonutChart/Arc/Arc.cjs.map +1 -0
  390. package/lib-commonjs/components/DonutChart/Arc/index.cjs +7 -0
  391. package/lib-commonjs/components/DonutChart/Arc/{index.js.map → index.cjs.map} +1 -1
  392. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.cjs.map +1 -0
  393. package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.raw.js → useArcStyles.styles.raw.cjs} +1 -1
  394. package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.raw.js.map → useArcStyles.styles.raw.cjs.map} +1 -1
  395. package/lib-commonjs/components/DonutChart/{DonutChart.js → DonutChart.cjs} +6 -6
  396. package/lib-commonjs/components/DonutChart/{DonutChart.js.map → DonutChart.cjs.map} +1 -1
  397. package/lib-commonjs/components/DonutChart/Pie/{Pie.js → Pie.cjs} +6 -4
  398. package/lib-commonjs/components/DonutChart/Pie/{Pie.js.map → Pie.cjs.map} +1 -1
  399. package/lib-commonjs/components/DonutChart/Pie/index.cjs +7 -0
  400. package/lib-commonjs/components/DonutChart/Pie/{index.js.map → index.cjs.map} +1 -1
  401. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.cjs.map +1 -0
  402. package/lib-commonjs/components/DonutChart/index.cjs +8 -0
  403. package/lib-commonjs/components/DonutChart/{index.js.map → index.cjs.map} +1 -1
  404. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.cjs.map +1 -0
  405. package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.raw.js → useDonutChartStyles.styles.raw.cjs} +1 -1
  406. package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.raw.js.map → useDonutChartStyles.styles.raw.cjs.map} +1 -1
  407. package/lib-commonjs/components/FunnelChart/{FunnelChart.js → FunnelChart.cjs} +21 -10
  408. package/lib-commonjs/components/FunnelChart/FunnelChart.cjs.map +1 -0
  409. package/lib-commonjs/components/FunnelChart/index.cjs +7 -0
  410. package/lib-commonjs/components/FunnelChart/{index.js.map → index.cjs.map} +1 -1
  411. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.cjs.map +1 -0
  412. package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.raw.js → useFunnelChartStyles.styles.raw.cjs} +1 -1
  413. package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.raw.js.map → useFunnelChartStyles.styles.raw.cjs.map} +1 -1
  414. package/lib-commonjs/components/GanttChart/{GanttChart.js → GanttChart.cjs} +10 -7
  415. package/lib-commonjs/components/GanttChart/GanttChart.cjs.map +1 -0
  416. package/lib-commonjs/components/GanttChart/index.cjs +7 -0
  417. package/lib-commonjs/components/GanttChart/{index.js.map → index.cjs.map} +1 -1
  418. package/lib-commonjs/components/GaugeChart/{GaugeChart.js → GaugeChart.cjs} +12 -9
  419. package/lib-commonjs/components/GaugeChart/{GaugeChart.js.map → GaugeChart.cjs.map} +1 -1
  420. package/lib-commonjs/components/GaugeChart/index.cjs +8 -0
  421. package/lib-commonjs/components/GaugeChart/{index.js.map → index.cjs.map} +1 -1
  422. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.cjs.map +1 -0
  423. package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.raw.js → useGaugeChartStyles.styles.raw.cjs} +1 -1
  424. package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.raw.js.map → useGaugeChartStyles.styles.raw.cjs.map} +1 -1
  425. package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.js → GroupedVerticalBarChart.cjs} +4 -4
  426. package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.js.map → GroupedVerticalBarChart.cjs.map} +1 -1
  427. package/lib-commonjs/components/GroupedVerticalBarChart/index.cjs +8 -0
  428. package/lib-commonjs/components/GroupedVerticalBarChart/{index.js.map → index.cjs.map} +1 -1
  429. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.cjs.map +1 -0
  430. package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.raw.js → useGroupedVerticalBarChartStyles.styles.raw.cjs} +1 -1
  431. package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.raw.js.map → useGroupedVerticalBarChartStyles.styles.raw.cjs.map} +1 -1
  432. package/lib-commonjs/components/HeatMapChart/{HeatMapChart.js → HeatMapChart.cjs} +13 -8
  433. package/lib-commonjs/components/HeatMapChart/HeatMapChart.cjs.map +1 -0
  434. package/lib-commonjs/components/HeatMapChart/index.cjs +8 -0
  435. package/lib-commonjs/components/HeatMapChart/{index.js.map → index.cjs.map} +1 -1
  436. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.cjs.map +1 -0
  437. package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.js → HorizontalBarChart.cjs} +6 -6
  438. package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.js.map → HorizontalBarChart.cjs.map} +1 -1
  439. package/lib-commonjs/components/HorizontalBarChart/index.cjs +8 -0
  440. package/lib-commonjs/components/HorizontalBarChart/{index.js.map → index.cjs.map} +1 -1
  441. package/lib-commonjs/components/HorizontalBarChart/{useHorizontalBarChartStyles.styles.js → useHorizontalBarChartStyles.styles.cjs} +5 -5
  442. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.cjs.map +1 -0
  443. package/lib-commonjs/components/HorizontalBarChart/{useHorizontalBarChartStyles.styles.raw.js → useHorizontalBarChartStyles.styles.raw.cjs} +3 -3
  444. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.cjs.map +1 -0
  445. package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.js → HorizontalBarChartWithAxis.cjs} +9 -9
  446. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.cjs.map +1 -0
  447. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.cjs +8 -0
  448. package/lib-commonjs/components/HorizontalBarChartWithAxis/{index.js.map → index.cjs.map} +1 -1
  449. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.cjs.map +1 -0
  450. package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.raw.js → useHorizontalBarChartWithAxisStyles.styles.raw.cjs} +1 -1
  451. package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.raw.js.map → useHorizontalBarChartWithAxisStyles.styles.raw.cjs.map} +1 -1
  452. package/lib-commonjs/components/Legends/{Legends.js → Legends.cjs} +66 -36
  453. package/lib-commonjs/components/Legends/Legends.cjs.map +1 -0
  454. package/lib-commonjs/components/Legends/OverflowMenu.cjs +82 -0
  455. package/lib-commonjs/components/Legends/OverflowMenu.cjs.map +1 -0
  456. package/lib-commonjs/components/Legends/index.cjs +8 -0
  457. package/lib-commonjs/components/Legends/{index.js.map → index.cjs.map} +1 -1
  458. package/lib-commonjs/components/Legends/{shape.js → shape.cjs} +1 -1
  459. package/lib-commonjs/components/Legends/{shape.js.map → shape.cjs.map} +1 -1
  460. package/lib-commonjs/components/Legends/useLegendsStyles.styles.cjs.map +1 -0
  461. package/lib-commonjs/components/Legends/{useLegendsStyles.styles.raw.js → useLegendsStyles.styles.raw.cjs} +1 -1
  462. package/lib-commonjs/components/Legends/{useLegendsStyles.styles.raw.js.map → useLegendsStyles.styles.raw.cjs.map} +1 -1
  463. package/lib-commonjs/components/LineChart/{LineChart.js → LineChart.cjs} +7 -7
  464. package/lib-commonjs/components/LineChart/{LineChart.js.map → LineChart.cjs.map} +1 -1
  465. package/lib-commonjs/components/LineChart/eventAnnotation/{EventAnnotation.js → EventAnnotation.cjs} +3 -3
  466. package/lib-commonjs/components/LineChart/eventAnnotation/{EventAnnotation.js.map → EventAnnotation.cjs.map} +1 -1
  467. package/lib-commonjs/components/LineChart/eventAnnotation/{LabelLink.js → LabelLink.cjs} +2 -2
  468. package/lib-commonjs/components/LineChart/eventAnnotation/{LabelLink.js.map → LabelLink.cjs.map} +1 -1
  469. package/lib-commonjs/components/LineChart/eventAnnotation/{Textbox.js → Textbox.cjs} +1 -1
  470. package/lib-commonjs/components/LineChart/eventAnnotation/{Textbox.js.map → Textbox.cjs.map} +1 -1
  471. package/lib-commonjs/components/LineChart/index.cjs +9 -0
  472. package/lib-commonjs/components/LineChart/{index.js.map → index.cjs.map} +1 -1
  473. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.cjs.map +1 -0
  474. package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.raw.js → useLineChartStyles.styles.raw.cjs} +1 -1
  475. package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.raw.js.map → useLineChartStyles.styles.raw.cjs.map} +1 -1
  476. package/lib-commonjs/components/PolarChart/{PolarChart.js → PolarChart.cjs} +6 -6
  477. package/lib-commonjs/components/PolarChart/{PolarChart.js.map → PolarChart.cjs.map} +1 -1
  478. package/lib-commonjs/components/PolarChart/{PolarChart.utils.js → PolarChart.utils.cjs} +1 -1
  479. package/lib-commonjs/components/PolarChart/{PolarChart.utils.js.map → PolarChart.utils.cjs.map} +1 -1
  480. package/lib-commonjs/components/PolarChart/index.cjs +7 -0
  481. package/lib-commonjs/components/PolarChart/{index.js.map → index.cjs.map} +1 -1
  482. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.cjs.map +1 -0
  483. package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.js → ResponsiveContainer.cjs} +2 -2
  484. package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.js.map → ResponsiveContainer.cjs.map} +1 -1
  485. package/lib-commonjs/components/ResponsiveContainer/index.cjs +8 -0
  486. package/lib-commonjs/components/ResponsiveContainer/{index.js.map → index.cjs.map} +1 -1
  487. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.cjs.map +1 -0
  488. package/lib-commonjs/components/ResponsiveContainer/{withResponsiveContainer.js → withResponsiveContainer.cjs} +1 -1
  489. package/lib-commonjs/components/ResponsiveContainer/{withResponsiveContainer.js.map → withResponsiveContainer.cjs.map} +1 -1
  490. package/lib-commonjs/components/SankeyChart/{SankeyChart.js → SankeyChart.cjs} +18 -12
  491. package/lib-commonjs/components/SankeyChart/SankeyChart.cjs.map +1 -0
  492. package/lib-commonjs/components/SankeyChart/index.cjs +8 -0
  493. package/lib-commonjs/components/SankeyChart/{index.js.map → index.cjs.map} +1 -1
  494. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.cjs.map +1 -0
  495. package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.raw.js → useSankeyChartStyles.styles.raw.cjs} +1 -1
  496. package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.raw.js.map → useSankeyChartStyles.styles.raw.cjs.map} +1 -1
  497. package/lib-commonjs/components/ScatterChart/{ScatterChart.js → ScatterChart.cjs} +9 -9
  498. package/lib-commonjs/components/ScatterChart/ScatterChart.cjs.map +1 -0
  499. package/lib-commonjs/components/ScatterChart/index.cjs +8 -0
  500. package/lib-commonjs/components/ScatterChart/{index.js.map → index.cjs.map} +1 -1
  501. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.cjs.map +1 -0
  502. package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.raw.js → useScatterChartStyles.styles.raw.cjs} +1 -1
  503. package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.raw.js.map → useScatterChartStyles.styles.raw.cjs.map} +1 -1
  504. package/lib-commonjs/components/Sparkline/{Sparkline.js → Sparkline.cjs} +2 -2
  505. package/lib-commonjs/components/Sparkline/{Sparkline.js.map → Sparkline.cjs.map} +1 -1
  506. package/lib-commonjs/components/Sparkline/index.cjs +8 -0
  507. package/lib-commonjs/components/Sparkline/{index.js.map → index.cjs.map} +1 -1
  508. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.cjs.map +1 -0
  509. package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChart.js → VegaDeclarativeChart.cjs} +14 -14
  510. package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChart.js.map → VegaDeclarativeChart.cjs.map} +1 -1
  511. package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteColorAdapter.js → VegaLiteColorAdapter.cjs} +2 -2
  512. package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteColorAdapter.js.map → VegaLiteColorAdapter.cjs.map} +1 -1
  513. package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteSchemaAdapter.js → VegaLiteSchemaAdapter.cjs} +2 -2
  514. package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteSchemaAdapter.js.map → VegaLiteSchemaAdapter.cjs.map} +1 -1
  515. package/lib-commonjs/{Legends.js → components/VegaDeclarativeChart/index.cjs} +1 -1
  516. package/lib-commonjs/components/VegaDeclarativeChart/{index.js.map → index.cjs.map} +1 -1
  517. package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.js → VerticalBarChart.cjs} +10 -7
  518. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.cjs.map +1 -0
  519. package/lib-commonjs/components/VerticalBarChart/index.cjs +8 -0
  520. package/lib-commonjs/components/VerticalBarChart/{index.js.map → index.cjs.map} +1 -1
  521. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.cjs.map +1 -0
  522. package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.raw.js → useVerticalBarChartStyles.styles.raw.cjs} +2 -2
  523. package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.raw.js.map → useVerticalBarChartStyles.styles.raw.cjs.map} +1 -1
  524. package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.js → VerticalStackedBarChart.cjs} +4 -4
  525. package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.js.map → VerticalStackedBarChart.cjs.map} +1 -1
  526. package/lib-commonjs/components/VerticalStackedBarChart/index.cjs +8 -0
  527. package/lib-commonjs/components/VerticalStackedBarChart/{index.js.map → index.cjs.map} +1 -1
  528. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.cjs.map +1 -0
  529. package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.raw.js → useVerticalStackedBarChartStyles.styles.raw.cjs} +1 -1
  530. package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.raw.js.map → useVerticalStackedBarChartStyles.styles.raw.cjs.map} +1 -1
  531. package/lib-commonjs/index.cjs +31 -0
  532. package/lib-commonjs/{index.js.map → index.cjs.map} +1 -1
  533. package/lib-commonjs/types/index.cjs +8 -0
  534. package/lib-commonjs/types/{index.js.map → index.cjs.map} +1 -1
  535. package/lib-commonjs/utilities/{ChartTitle.js → ChartTitle.cjs} +3 -3
  536. package/lib-commonjs/utilities/{ChartTitle.js.map → ChartTitle.cjs.map} +1 -1
  537. package/lib-commonjs/utilities/{Common.styles.raw.js → Common.styles.cjs} +1 -1
  538. package/lib-commonjs/utilities/Common.styles.cjs.map +1 -0
  539. package/lib-commonjs/utilities/{Common.styles.js → Common.styles.raw.cjs} +1 -1
  540. package/lib-commonjs/utilities/{Common.styles.raw.js.map → Common.styles.raw.cjs.map} +1 -1
  541. package/lib-commonjs/utilities/{FocusableTooltipText.js → FocusableTooltipText.cjs} +3 -3
  542. package/lib-commonjs/utilities/{FocusableTooltipText.js.map → FocusableTooltipText.cjs.map} +1 -1
  543. package/lib-commonjs/utilities/{SVGTooltipText.js → SVGTooltipText.cjs} +2 -2
  544. package/lib-commonjs/utilities/{SVGTooltipText.js.map → SVGTooltipText.cjs.map} +1 -1
  545. package/lib-commonjs/utilities/{async-utils.js → async-utils.cjs} +1 -1
  546. package/lib-commonjs/utilities/{async-utils.js.map → async-utils.cjs.map} +1 -1
  547. package/lib-commonjs/utilities/{hooks.js → hooks.cjs} +2 -2
  548. package/lib-commonjs/utilities/{hooks.js.map → hooks.cjs.map} +1 -1
  549. package/lib-commonjs/utilities/{image-export-utils.js → image-export-utils.cjs} +2 -2
  550. package/lib-commonjs/utilities/{image-export-utils.js.map → image-export-utils.cjs.map} +1 -1
  551. package/lib-commonjs/utilities/index.cjs +10 -0
  552. package/lib-commonjs/utilities/{index.js.map → index.cjs.map} +1 -1
  553. package/lib-commonjs/utilities/{test-data.js → test-data.cjs} +1 -1
  554. package/lib-commonjs/utilities/{test-data.js.map → test-data.cjs.map} +1 -1
  555. package/lib-commonjs/utilities/{utilities.js → utilities.cjs} +2 -2
  556. package/lib-commonjs/utilities/utilities.cjs.map +1 -0
  557. package/package.json +21 -15
  558. package/lib-commonjs/GanttChart.js +0 -6
  559. package/lib-commonjs/GaugeChart.js +0 -6
  560. package/lib-commonjs/HorizontalBarChart.js +0 -6
  561. package/lib-commonjs/LineChart.js +0 -6
  562. package/lib-commonjs/PolarChart.js +0 -6
  563. package/lib-commonjs/Popover.js +0 -6
  564. package/lib-commonjs/ResponsiveContainer.js +0 -6
  565. package/lib-commonjs/ScatterChart.js +0 -6
  566. package/lib-commonjs/Sparkline.js +0 -6
  567. package/lib-commonjs/VerticalBarChart.js +0 -6
  568. package/lib-commonjs/components/AnnotationOnlyChart/index.js +0 -7
  569. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +0 -1
  570. package/lib-commonjs/components/AreaChart/index.js +0 -8
  571. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +0 -1
  572. package/lib-commonjs/components/ChartTable/index.js +0 -8
  573. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +0 -1
  574. package/lib-commonjs/components/CommonComponents/Annotations/index.js +0 -7
  575. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +0 -1
  576. package/lib-commonjs/components/CommonComponents/index.js +0 -11
  577. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +0 -1
  578. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +0 -1
  579. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +0 -1
  580. package/lib-commonjs/components/DonutChart/Arc/index.js +0 -7
  581. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +0 -1
  582. package/lib-commonjs/components/DonutChart/Pie/index.js +0 -7
  583. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +0 -1
  584. package/lib-commonjs/components/DonutChart/index.js +0 -8
  585. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +0 -1
  586. package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +0 -1
  587. package/lib-commonjs/components/FunnelChart/index.js +0 -7
  588. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +0 -1
  589. package/lib-commonjs/components/GanttChart/GanttChart.js.map +0 -1
  590. package/lib-commonjs/components/GanttChart/index.js +0 -7
  591. package/lib-commonjs/components/GaugeChart/index.js +0 -8
  592. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +0 -1
  593. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +0 -8
  594. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +0 -1
  595. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +0 -1
  596. package/lib-commonjs/components/HeatMapChart/index.js +0 -8
  597. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +0 -1
  598. package/lib-commonjs/components/HorizontalBarChart/index.js +0 -8
  599. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +0 -1
  600. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +0 -1
  601. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +0 -1
  602. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +0 -8
  603. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +0 -1
  604. package/lib-commonjs/components/Legends/Legends.js.map +0 -1
  605. package/lib-commonjs/components/Legends/OverflowMenu.js +0 -44
  606. package/lib-commonjs/components/Legends/OverflowMenu.js.map +0 -1
  607. package/lib-commonjs/components/Legends/index.js +0 -8
  608. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +0 -1
  609. package/lib-commonjs/components/LineChart/index.js +0 -9
  610. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +0 -1
  611. package/lib-commonjs/components/PolarChart/index.js +0 -7
  612. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js.map +0 -1
  613. package/lib-commonjs/components/ResponsiveContainer/index.js +0 -8
  614. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +0 -1
  615. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +0 -1
  616. package/lib-commonjs/components/SankeyChart/index.js +0 -8
  617. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +0 -1
  618. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +0 -1
  619. package/lib-commonjs/components/ScatterChart/index.js +0 -8
  620. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +0 -1
  621. package/lib-commonjs/components/Sparkline/index.js +0 -8
  622. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +0 -1
  623. package/lib-commonjs/components/VegaDeclarativeChart/index.js +0 -6
  624. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
  625. package/lib-commonjs/components/VerticalBarChart/index.js +0 -8
  626. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +0 -1
  627. package/lib-commonjs/components/VerticalStackedBarChart/index.js +0 -8
  628. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +0 -1
  629. package/lib-commonjs/index.js +0 -31
  630. package/lib-commonjs/types/index.js +0 -8
  631. package/lib-commonjs/utilities/Common.styles.js.map +0 -1
  632. package/lib-commonjs/utilities/index.js +0 -10
  633. package/lib-commonjs/utilities/utilities.js.map +0 -1
  634. /package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.types.js → AnnotationOnlyChart.types.cjs} +0 -0
  635. /package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.types.js.map → AnnotationOnlyChart.types.cjs.map} +0 -0
  636. /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.js → useAnnotationOnlyChartStyles.styles.cjs} +0 -0
  637. /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.raw.js → useAnnotationOnlyChartStyles.styles.raw.cjs} +0 -0
  638. /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.raw.js.map → useAnnotationOnlyChartStyles.styles.raw.cjs.map} +0 -0
  639. /package/lib-commonjs/components/AreaChart/{AreaChart.types.js → AreaChart.types.cjs} +0 -0
  640. /package/lib-commonjs/components/AreaChart/{AreaChart.types.js.map → AreaChart.types.cjs.map} +0 -0
  641. /package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.js → useAreaChartStyles.styles.cjs} +0 -0
  642. /package/lib-commonjs/components/ChartTable/{ChartTable.types.js → ChartTable.types.cjs} +0 -0
  643. /package/lib-commonjs/components/ChartTable/{ChartTable.types.js.map → ChartTable.types.cjs.map} +0 -0
  644. /package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.js → useChartTableStyles.styles.cjs} +0 -0
  645. /package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.types.js → ChartAnnotationLayer.types.cjs} +0 -0
  646. /package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.types.js.map → ChartAnnotationLayer.types.cjs.map} +0 -0
  647. /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.js → useChartAnnotationLayer.styles.cjs} +0 -0
  648. /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.raw.js → useChartAnnotationLayer.styles.raw.cjs} +0 -0
  649. /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.raw.js.map → useChartAnnotationLayer.styles.raw.cjs.map} +0 -0
  650. /package/lib-commonjs/components/CommonComponents/{CartesianChart.types.js → CartesianChart.types.cjs} +0 -0
  651. /package/lib-commonjs/components/CommonComponents/{CartesianChart.types.js.map → CartesianChart.types.cjs.map} +0 -0
  652. /package/lib-commonjs/components/CommonComponents/{ChartPopover.types.js → ChartPopover.types.cjs} +0 -0
  653. /package/lib-commonjs/components/CommonComponents/{ChartPopover.types.js.map → ChartPopover.types.cjs.map} +0 -0
  654. /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.js → useChartPopoverStyles.styles.cjs} +0 -0
  655. /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.raw.js → useChartPopoverStyles.styles.raw.cjs} +0 -0
  656. /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.raw.js.map → useChartPopoverStyles.styles.raw.cjs.map} +0 -0
  657. /package/lib-commonjs/components/DonutChart/Arc/{Arc.types.js → Arc.types.cjs} +0 -0
  658. /package/lib-commonjs/components/DonutChart/Arc/{Arc.types.js.map → Arc.types.cjs.map} +0 -0
  659. /package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.js → useArcStyles.styles.cjs} +0 -0
  660. /package/lib-commonjs/components/DonutChart/{DonutChart.types.js → DonutChart.types.cjs} +0 -0
  661. /package/lib-commonjs/components/DonutChart/{DonutChart.types.js.map → DonutChart.types.cjs.map} +0 -0
  662. /package/lib-commonjs/components/DonutChart/Pie/{Pie.types.js → Pie.types.cjs} +0 -0
  663. /package/lib-commonjs/components/DonutChart/Pie/{Pie.types.js.map → Pie.types.cjs.map} +0 -0
  664. /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.js → usePieStyles.styles.cjs} +0 -0
  665. /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.raw.js → usePieStyles.styles.raw.cjs} +0 -0
  666. /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.raw.js.map → usePieStyles.styles.raw.cjs.map} +0 -0
  667. /package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.js → useDonutChartStyles.styles.cjs} +0 -0
  668. /package/lib-commonjs/components/FunnelChart/{FunnelChart.types.js → FunnelChart.types.cjs} +0 -0
  669. /package/lib-commonjs/components/FunnelChart/{FunnelChart.types.js.map → FunnelChart.types.cjs.map} +0 -0
  670. /package/lib-commonjs/components/FunnelChart/{funnelGeometry.js → funnelGeometry.cjs} +0 -0
  671. /package/lib-commonjs/components/FunnelChart/{funnelGeometry.js.map → funnelGeometry.cjs.map} +0 -0
  672. /package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.js → useFunnelChartStyles.styles.cjs} +0 -0
  673. /package/lib-commonjs/components/GanttChart/{GanttChart.types.js → GanttChart.types.cjs} +0 -0
  674. /package/lib-commonjs/components/GanttChart/{GanttChart.types.js.map → GanttChart.types.cjs.map} +0 -0
  675. /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.js → useGanttChartStyles.styles.cjs} +0 -0
  676. /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.js.map → useGanttChartStyles.styles.cjs.map} +0 -0
  677. /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.raw.js → useGanttChartStyles.styles.raw.cjs} +0 -0
  678. /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.raw.js.map → useGanttChartStyles.styles.raw.cjs.map} +0 -0
  679. /package/lib-commonjs/components/GaugeChart/{GaugeChart.types.js → GaugeChart.types.cjs} +0 -0
  680. /package/lib-commonjs/components/GaugeChart/{GaugeChart.types.js.map → GaugeChart.types.cjs.map} +0 -0
  681. /package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.js → useGaugeChartStyles.styles.cjs} +0 -0
  682. /package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.types.js → GroupedVerticalBarChart.types.cjs} +0 -0
  683. /package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.types.js.map → GroupedVerticalBarChart.types.cjs.map} +0 -0
  684. /package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.js → useGroupedVerticalBarChartStyles.styles.cjs} +0 -0
  685. /package/lib-commonjs/components/HeatMapChart/{HeatMapChart.types.js → HeatMapChart.types.cjs} +0 -0
  686. /package/lib-commonjs/components/HeatMapChart/{HeatMapChart.types.js.map → HeatMapChart.types.cjs.map} +0 -0
  687. /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.js → useHeatMapChartStyles.styles.cjs} +0 -0
  688. /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.raw.js → useHeatMapChartStyles.styles.raw.cjs} +0 -0
  689. /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.raw.js.map → useHeatMapChartStyles.styles.raw.cjs.map} +0 -0
  690. /package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.types.js → HorizontalBarChart.types.cjs} +0 -0
  691. /package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.types.js.map → HorizontalBarChart.types.cjs.map} +0 -0
  692. /package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.types.js → HorizontalBarChartWithAxis.types.cjs} +0 -0
  693. /package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.types.js.map → HorizontalBarChartWithAxis.types.cjs.map} +0 -0
  694. /package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.js → useHorizontalBarChartWithAxisStyles.styles.cjs} +0 -0
  695. /package/lib-commonjs/components/Legends/{Legends.types.js → Legends.types.cjs} +0 -0
  696. /package/lib-commonjs/components/Legends/{Legends.types.js.map → Legends.types.cjs.map} +0 -0
  697. /package/lib-commonjs/components/Legends/{useLegendsStyles.styles.js → useLegendsStyles.styles.cjs} +0 -0
  698. /package/lib-commonjs/components/LineChart/{LineChart.types.js → LineChart.types.cjs} +0 -0
  699. /package/lib-commonjs/components/LineChart/{LineChart.types.js.map → LineChart.types.cjs.map} +0 -0
  700. /package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.js → useLineChartStyles.styles.cjs} +0 -0
  701. /package/lib-commonjs/components/PolarChart/{PolarChart.types.js → PolarChart.types.cjs} +0 -0
  702. /package/lib-commonjs/components/PolarChart/{PolarChart.types.js.map → PolarChart.types.cjs.map} +0 -0
  703. /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.js → usePolarChartStyles.styles.cjs} +0 -0
  704. /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.raw.js → usePolarChartStyles.styles.raw.cjs} +0 -0
  705. /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.raw.js.map → usePolarChartStyles.styles.raw.cjs.map} +0 -0
  706. /package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.types.js → ResponsiveContainer.types.cjs} +0 -0
  707. /package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.types.js.map → ResponsiveContainer.types.cjs.map} +0 -0
  708. /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.js → useResponsiveChildStyles.styles.cjs} +0 -0
  709. /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.raw.js → useResponsiveChildStyles.styles.raw.cjs} +0 -0
  710. /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.raw.js.map → useResponsiveChildStyles.styles.raw.cjs.map} +0 -0
  711. /package/lib-commonjs/components/SankeyChart/{SankeyChart.types.js → SankeyChart.types.cjs} +0 -0
  712. /package/lib-commonjs/components/SankeyChart/{SankeyChart.types.js.map → SankeyChart.types.cjs.map} +0 -0
  713. /package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.js → useSankeyChartStyles.styles.cjs} +0 -0
  714. /package/lib-commonjs/components/ScatterChart/{ScatterChart.types.js → ScatterChart.types.cjs} +0 -0
  715. /package/lib-commonjs/components/ScatterChart/{ScatterChart.types.js.map → ScatterChart.types.cjs.map} +0 -0
  716. /package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.js → useScatterChartStyles.styles.cjs} +0 -0
  717. /package/lib-commonjs/components/Sparkline/{Sparkline.types.js → Sparkline.types.cjs} +0 -0
  718. /package/lib-commonjs/components/Sparkline/{Sparkline.types.js.map → Sparkline.types.cjs.map} +0 -0
  719. /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.js → useSparklineStyles.styles.cjs} +0 -0
  720. /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.raw.js → useSparklineStyles.styles.raw.cjs} +0 -0
  721. /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.raw.js.map → useSparklineStyles.styles.raw.cjs.map} +0 -0
  722. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChartHooks.js → VegaDeclarativeChartHooks.cjs} +0 -0
  723. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChartHooks.js.map → VegaDeclarativeChartHooks.cjs.map} +0 -0
  724. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteExpressionEvaluator.js → VegaLiteExpressionEvaluator.cjs} +0 -0
  725. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteExpressionEvaluator.js.map → VegaLiteExpressionEvaluator.cjs.map} +0 -0
  726. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteTypes.js → VegaLiteTypes.cjs} +0 -0
  727. /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteTypes.js.map → VegaLiteTypes.cjs.map} +0 -0
  728. /package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.types.js → VerticalBarChart.types.cjs} +0 -0
  729. /package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.types.js.map → VerticalBarChart.types.cjs.map} +0 -0
  730. /package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.js → useVerticalBarChartStyles.styles.cjs} +0 -0
  731. /package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.types.js → VerticalStackedBarChart.types.cjs} +0 -0
  732. /package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.types.js.map → VerticalStackedBarChart.types.cjs.map} +0 -0
  733. /package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.js → useVerticalStackedBarChartStyles.styles.cjs} +0 -0
  734. /package/lib-commonjs/types/{ChartAnnotation.js → ChartAnnotation.cjs} +0 -0
  735. /package/lib-commonjs/types/{ChartAnnotation.js.map → ChartAnnotation.cjs.map} +0 -0
  736. /package/lib-commonjs/types/{DataPoint.js → DataPoint.cjs} +0 -0
  737. /package/lib-commonjs/types/{DataPoint.js.map → DataPoint.cjs.map} +0 -0
  738. /package/lib-commonjs/types/{EventAnnotation.js → EventAnnotation.cjs} +0 -0
  739. /package/lib-commonjs/types/{EventAnnotation.js.map → EventAnnotation.cjs.map} +0 -0
  740. /package/lib-commonjs/types/{LegendDataItem.js → LegendDataItem.cjs} +0 -0
  741. /package/lib-commonjs/types/{LegendDataItem.js.map → LegendDataItem.cjs.map} +0 -0
  742. /package/lib-commonjs/utilities/{KeyCodes.js → KeyCodes.cjs} +0 -0
  743. /package/lib-commonjs/utilities/{KeyCodes.js.map → KeyCodes.cjs.map} +0 -0
  744. /package/lib-commonjs/utilities/{colors.js → colors.cjs} +0 -0
  745. /package/lib-commonjs/utilities/{colors.js.map → colors.cjs.map} +0 -0
  746. /package/lib-commonjs/utilities/{getWindow.js → getWindow.cjs} +0 -0
  747. /package/lib-commonjs/utilities/{getWindow.js.map → getWindow.cjs.map} +0 -0
  748. /package/lib-commonjs/utilities/{overflow-utils.js → overflow-utils.cjs} +0 -0
  749. /package/lib-commonjs/utilities/{overflow-utils.js.map → overflow-utils.cjs.map} +0 -0
  750. /package/lib-commonjs/utilities/{scatterpolar-utils.js → scatterpolar-utils.cjs} +0 -0
  751. /package/lib-commonjs/utilities/{scatterpolar-utils.js.map → scatterpolar-utils.cjs.map} +0 -0
  752. /package/lib-commonjs/utilities/{string.js → string.cjs} +0 -0
  753. /package/lib-commonjs/utilities/{string.js.map → string.cjs.map} +0 -0
  754. /package/lib-commonjs/utilities/{vbc-utils.js → vbc-utils.cjs} +0 -0
  755. /package/lib-commonjs/utilities/{vbc-utils.js.map → vbc-utils.cjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/HeatMapChart/HeatMapChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { HeatMapChartProps } from './HeatMapChart.types';\nimport type { AccessibilityProps, HeatMapChartData, HeatMapChartDataPoint, Margins } from '../../types/index';\nimport type { IMargins, IDomainNRange } from '../../utilities/index';\nimport {\n ChartTypes,\n getAccessibleDataObject,\n getColorContrast,\n getTypeOfAxis,\n resolveCSSVariables,\n XAxisTypes,\n YAxisType,\n createNumericYAxis,\n domainRangeOfXStringAxis,\n createStringYAxis,\n sortAxisCategories,\n} from '../../utilities/index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport type { ChartPopoverProps, ChildProps } from '../CommonComponents/index';\nimport { CartesianChart } from '../CommonComponents/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { useHeatMapChartStyles } from './useHeatMapChartStyles.styles';\nimport type { Legend } from '../Legends/index';\nimport { Legends } from '../Legends/index';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { format as d3Format } from 'd3-format';\nimport { timeFormat as d3TimeFormat } from 'd3-time-format';\nimport { useImageExport } from '../../utilities/hooks';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\ntype DataSet = {\n dataSet: RectanglesGraphData;\n yAxisPoints: string[];\n xAxisPoints: string[];\n};\ntype FlattenData = HeatMapChartDataPoint & {\n legend: string;\n};\ntype RectanglesGraphData = { [key: string]: FlattenData[] };\n\nexport const HeatMapChart: React.FunctionComponent<HeatMapChartProps> = React.forwardRef<\n HTMLDivElement,\n HeatMapChartProps\n>(\n (\n props = {\n xAxisCategoryOrder: 'default',\n yAxisCategoryOrder: 'default',\n data: [],\n domainValuesForColorScale: [],\n rangeValuesForColorScale: [],\n },\n forwardedRef,\n ) => {\n const classes = useHeatMapChartStyles(props);\n const _stringXAxisDataPoints = React.useRef<string[]>([]);\n const _stringYAxisDataPoints = React.useRef<string[]>([]);\n const _dataSet = React.useRef<RectanglesGraphData>({});\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _colorScale = React.useRef<any>(undefined);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _xAxisScale = React.useRef<any>(undefined);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _yAxisScale = React.useRef<any>(undefined);\n const _xAxisType = React.useRef<XAxisTypes | undefined>(undefined);\n const _yAxisType = React.useRef<YAxisType | undefined>(undefined);\n const _calloutAnchorPoint = React.useRef<FlattenData | null>(null);\n const _emptyChartId = useId('_HeatMap_empty');\n const _margins = React.useRef<Margins>({});\n const { cartesianChartRef, legendsRef: _legendsRef } = useImageExport(props.componentRef, props.hideLegend);\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n const [selectedLegend, setSelectedLegend] = React.useState<string>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n const [isPopoverOpen, setPopoverOpen] = React.useState<boolean>(false);\n const [calloutLegend, setCalloutLegend] = React.useState<string>('');\n const [calloutTextColor, setCalloutTextColor] = React.useState<string>('');\n const [calloutYValue, setCalloutYValue] = React.useState<string>('');\n const [ratio, setRatio] = React.useState<[number, number]>();\n const [descriptionMessage, setDescriptionMessage] = React.useState<string>('');\n const [callOutAccessibilityData, setCallOutAccessibilityData] = React.useState<AccessibilityProps>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n\n function _getMinMaxOfYAxis() {\n return { startValue: 0, endValue: 0 };\n }\n\n function _getDomainNRangeValues(\n points: HeatMapChartDataPoint[],\n margins: IMargins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis || xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(_margins.current, width, isRTL);\n }\n return domainNRangeValue;\n }\n\n const _getXandY = (): { x: string | Date | number; y: string | Date | number } => {\n let x: string | Date | number = '';\n let y: string | Date | number = '';\n props.data.forEach((item: HeatMapChartData) => {\n if (item.data && item.data.length > 0) {\n x = item.data[0].x;\n y = item.data[0].y;\n return { x, y };\n }\n });\n return { x, y };\n };\n\n const _getMargins = (margins: Margins) => {\n _margins.current = margins;\n };\n\n const _getOpacity = (legendTitle: string): string => {\n const opacity = _legendHighlighted(legendTitle) || _noLegendHighlighted() ? '1' : '0.1';\n return opacity;\n };\n\n const _onRectFocus = (id: string, data: FlattenData, focusEvent: React.FocusEvent<SVGGElement>): void => {\n const boundingRect = focusEvent.currentTarget.getBoundingClientRect();\n const clientX = boundingRect.left + boundingRect.width / 2;\n const clientY = boundingRect.top + boundingRect.height / 2;\n updatePosition(clientX, clientY);\n /** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */\n setPopoverOpen(selectedLegend === '' || selectedLegend === data.legend);\n setCalloutYValue(`${data.rectText}`);\n setCalloutTextColor(Number.isNaN(data.value) ? tokens.colorNeutralForeground1 : _colorScale.current(data.value));\n setCalloutLegend(data.legend);\n setRatio(data.ratio);\n setDescriptionMessage(data.descriptionMessage || '');\n setCallOutAccessibilityData(data.callOutAccessibilityData);\n };\n\n const _onRectMouseOver = (id: string, data: FlattenData, mouseEvent: React.MouseEvent<SVGGElement>): void => {\n mouseEvent.persist();\n if (_calloutAnchorPoint.current !== data) {\n _calloutAnchorPoint.current = data;\n updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n /** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */\n setPopoverOpen(selectedLegend === '' || selectedLegend === data.legend);\n setCalloutYValue(`${data.rectText}`);\n setCalloutTextColor(\n Number.isNaN(data.value) ? tokens.colorNeutralForeground1 : _colorScale.current(data.value),\n );\n setCalloutLegend(data.legend);\n setRatio(data.ratio);\n setDescriptionMessage(data.descriptionMessage || '');\n setCallOutAccessibilityData(data.callOutAccessibilityData);\n }\n };\n\n const _onRectBlurOrMouseOut = (): void => {\n /**/\n };\n\n const _handleChartMouseLeave = (): void => {\n _calloutAnchorPoint.current = null;\n setPopoverOpen(false);\n };\n\n const _getInvertedTextColor = (color: string): string => {\n return color === tokens.colorNeutralForeground1 ? tokens.colorNeutralBackground1 : tokens.colorNeutralForeground1;\n };\n\n /**\n * This is the function which is responsible for\n * drawing the rectangle in the graph and also\n * attaching dom events to that rectangles\n */\n const _createRectangles = (): React.ReactNode => {\n const rectangles: JSXElement[] = [];\n const yAxisDataPoints = _stringYAxisDataPoints.current.slice().reverse();\n /**\n * yAxisDataPoint is noting but the DataPoint\n * which will be rendered on the y-axis\n */\n yAxisDataPoints.forEach((yAxisDataPoint: string) => {\n let index = 0;\n _stringXAxisDataPoints.current.forEach((xAxisDataPoint: string) => {\n let rectElement: JSXElement;\n const id = `x${xAxisDataPoint}y${yAxisDataPoint}`;\n if (\n _dataSet.current[yAxisDataPoint][index]?.x === xAxisDataPoint &&\n typeof _dataSet.current[yAxisDataPoint][index]?.value === 'number'\n ) {\n /**\n * dataPointObject is an object where it contains information on single\n * data point such as x, y , value, rectText property of the rectangle\n */\n const dataPointObject = _dataSet.current[yAxisDataPoint][index];\n let styleRules = '';\n let foregroundColor = tokens.colorNeutralForeground1;\n if (cartesianChartRef.current?.chartContainer) {\n styleRules = resolveCSSVariables(cartesianChartRef.current.chartContainer, foregroundColor);\n }\n const contrastRatio = getColorContrast(styleRules, _colorScale.current(dataPointObject.value));\n if (contrastRatio < 3) {\n foregroundColor = _getInvertedTextColor(foregroundColor);\n }\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={_getAriaLabel(dataPointObject)}\n tabIndex={_legendHighlighted(dataPointObject.legend) || _noLegendHighlighted() ? 0 : -1}\n fillOpacity={_getOpacity(dataPointObject.legend)}\n transform={`translate(${_xAxisScale.current(dataPointObject.x)}, ${_yAxisScale.current(\n dataPointObject.y,\n )})`}\n onFocus={e => _onRectFocus(id, dataPointObject, e)}\n onBlur={_onRectBlurOrMouseOut}\n onMouseOver={e => _onRectMouseOver(id, dataPointObject, e)}\n onMouseOut={_onRectBlurOrMouseOut}\n >\n <rect\n fill={_colorScale.current(dataPointObject.value)}\n width={_xAxisScale.current.bandwidth()}\n height={_yAxisScale.current.bandwidth()}\n onClick={dataPointObject.onClick}\n />\n <text\n dominantBaseline={'middle'}\n textAnchor={'middle'}\n className={classes.text}\n transform={`translate(${_xAxisScale.current.bandwidth() / 2}, ${\n _yAxisScale.current.bandwidth() / 2\n })`}\n fill={foregroundColor}\n >\n {formatToLocaleString(dataPointObject.rectText, props.culture, props.useUTC) as React.ReactNode}\n </text>\n </g>\n );\n index++;\n } else {\n const dataPointObject: FlattenData = {\n x: xAxisDataPoint,\n y: yAxisDataPoint,\n value: NaN,\n rectText: 'No data available',\n legend: '',\n };\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={_getAriaLabel(dataPointObject)}\n tabIndex={_noLegendHighlighted() ? 0 : -1}\n transform={`translate(${_xAxisScale.current(dataPointObject.x)}, ${_yAxisScale.current(\n dataPointObject.y,\n )})`}\n onFocus={e => _onRectFocus(id, dataPointObject, e)}\n onBlur={_onRectBlurOrMouseOut}\n onMouseOver={e => _onRectMouseOver(id, dataPointObject, e)}\n onMouseOut={_onRectBlurOrMouseOut}\n >\n <rect\n fill=\"transparent\"\n width={_xAxisScale.current.bandwidth()}\n height={_yAxisScale.current.bandwidth()}\n />\n </g>\n );\n }\n rectangles.push(rectElement);\n });\n });\n return <g {...arrowNavigationAttributes}>{rectangles}</g>;\n };\n /**\n * when the legend is hovered we need to highlight\n * all the rectangles which fall under that category\n * and un-highlight the rest of them\n * @param legendTitle\n */\n const _onLegendHover = (legendTitle: string): void => {\n setActiveLegend(legendTitle);\n };\n\n /**\n * when the mouse is out from the legend , we need\n * to show the graph in initial mode.\n */\n const _onLegendLeave = (): void => {\n setActiveLegend('');\n };\n /**\n * @param legendTitle\n * when the legend is clicked we need to highlight\n * all the rectangles which fall under that category\n * and un highlight the rest of them\n */\n const _onLegendClick = (legendTitle: string): void => {\n /**\n * check if the legend is already selceted,\n * if yes, un-select the legend, else\n * set the selected legend state to legendTitle\n */\n if (selectedLegend === legendTitle) {\n setSelectedLegend('');\n } else {\n setSelectedLegend(legendTitle);\n }\n };\n const _createLegendBars = (): JSXElement => {\n const { data, legendProps } = props;\n const legends: Legend[] = [];\n data.forEach((item: HeatMapChartData) => {\n const legend: Legend = {\n title: item.legend,\n color: _colorScale.current(item.value),\n action: () => {\n _onLegendClick(item.legend);\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(item.legend);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n legends.push(legend);\n });\n return <Legends {...legendProps} legends={legends} legendRef={_legendsRef} />;\n };\n\n const _getColorScale = () => {\n const { domainValuesForColorScale, rangeValuesForColorScale } = props;\n return d3ScaleLinear()\n .domain(domainValuesForColorScale)\n .range(rangeValuesForColorScale as unknown as number[]);\n };\n\n const _getXIndex = (value: string | Date | number): string => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (_xAxisType.current === XAxisTypes.StringAxis) {\n return value as string;\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n const _getYIndex = (value: string | Date | number): string => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (_yAxisType.current === YAxisType.StringAxis) {\n return value as string;\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n\n const { xAxisStringFormatter } = props;\n const _getFormattedLabelForXAxisDataPoint = React.useCallback(\n (point: string): string => {\n return xAxisStringFormatter ? xAxisStringFormatter(point) : point;\n },\n [xAxisStringFormatter],\n );\n\n const { yAxisStringFormatter } = props;\n const _getFormattedLabelForYAxisDataPoint = React.useCallback(\n (point: string): string => {\n return yAxisStringFormatter ? yAxisStringFormatter(point) : point;\n },\n [yAxisStringFormatter],\n );\n\n /**\n * This function will return the final sorted and formatted x-axis points\n * which will be rendered on the x-axis\n * @param points\n * @returns x-axis points\n */\n const _getXAxisDataPoints = React.useCallback(\n (points: { [key: string]: '1' }): string[] => {\n let xAxisPoints: string[] = [];\n const unFormattedXAxisDataPoints = _getOrderedXAxisLabels(points);\n xAxisPoints = unFormattedXAxisDataPoints.map((xPoint: string) => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n return _getStringFormattedDate(xPoint, props.xAxisDateFormatString);\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return _getStringFormattedNumber(xPoint, props.xAxisNumberFormatString);\n } else {\n return _getFormattedLabelForXAxisDataPoint(xPoint);\n }\n });\n\n return xAxisPoints;\n },\n [\n _getFormattedLabelForXAxisDataPoint,\n props.sortOrder,\n props.xAxisDateFormatString,\n props.xAxisNumberFormatString,\n ],\n );\n\n /**\n * This function will return the final sorted and formatted y-axis points\n * which will be rendered on the y-axis\n * @param points\n * @returns yaxis points\n */\n const _getYAxisDataPoints = React.useCallback(\n (points: { [key: string]: '1' }): string[] => {\n let yAxisPoints: string[] = [];\n const unFormattedYAxisDataPoints = _getOrderedYAxisLabels(points);\n yAxisPoints = unFormattedYAxisDataPoints.map((yPoint: string) => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n return _getStringFormattedDate(yPoint, props.yAxisDateFormatString);\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n return _getStringFormattedNumber(yPoint, props.yAxisNumberFormatString);\n } else {\n return _getFormattedLabelForYAxisDataPoint(yPoint);\n }\n });\n\n return yAxisPoints;\n },\n [\n _getFormattedLabelForYAxisDataPoint,\n props.sortOrder,\n props.yAxisDateFormatString,\n props.yAxisNumberFormatString,\n ],\n );\n\n /**\n * This will create a new data set based on the prop\n * @data\n * We will be using This data set to contsruct our rectangles\n * in the chart, we use this data set becuase, when we loop in this\n * data and build the heat map, it will support accessibility as\n * specified in the figma\n */\n\n const _createNewDataSet = React.useCallback(\n (\n data: HeatMapChartData[],\n xAxisDateFormatString: string | undefined,\n xAxisNumberFormatString: string | undefined,\n yAxisDateFormatString: string | undefined,\n yAxisNumberFormatString: string | undefined,\n ): DataSet => {\n /**\n * please do not destructure any of the props here,\n * instead send them as parameter to this functions so that\n * this functions get called whenever the prop changes\n */\n const flattenData: FlattenData[] = [];\n /**\n * below for each loop will store all the datapoints in the one array.\n * basically it will flatten the nestesd array (data prop) into single array\n * of object. where each object contains x, y, rectText , value and legend propety of single\n * data point.\n */\n data.forEach((item: HeatMapChartData) => {\n item.data.forEach((point: HeatMapChartDataPoint) => {\n flattenData.push({ ...point, legend: item.legend });\n });\n });\n const yPoints: RectanglesGraphData = {};\n const uniqueYPoints: { [key: string]: '1' } = {};\n const uniqueXPoints: { [key: string]: '1' } = {};\n flattenData.forEach((item: FlattenData) => {\n const posX = _getXIndex(item.x);\n const posY = _getYIndex(item.y);\n\n uniqueXPoints[posX] = '1';\n uniqueYPoints[posY] = '1';\n /** we will check if the property(posY) is already there in object, if Yes,\n * then we will append the item in the Array related to the pos, if not\n * then we will simply append the item in the new Array and\n * assign that array to the property (posY) in the Object\n * and finally we will get the array of Objects associated to each\n * property (which is nothing but y data point) and object in the\n * array are noting but x data points associated to the property y\n */\n if (yPoints[posY]) {\n yPoints[posY] = [...yPoints[posY], item];\n } else {\n yPoints[posY] = [item];\n }\n });\n /**\n * we will now sort(ascending) the array's of y data point based on the x value\n * sorting is important to achive the accessibility order of the\n * rectangles and then format the x and y datapoints respectively\n */\n Object.keys(yPoints).forEach((item: string) => {\n yPoints[item] = _getOrderedXPoints(yPoints[item]);\n\n yPoints[item].forEach((datapoint: HeatMapChartDataPoint) => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n datapoint.x = _getStringFormattedDate(datapoint.x as string, xAxisDateFormatString);\n }\n if (_xAxisType.current === XAxisTypes.NumericAxis) {\n datapoint.x = _getStringFormattedNumber(datapoint.x as string, xAxisNumberFormatString);\n }\n if (_xAxisType.current === XAxisTypes.StringAxis) {\n datapoint.x = _getFormattedLabelForXAxisDataPoint(datapoint.x as string);\n }\n if (_yAxisType.current === YAxisType.DateAxis) {\n datapoint.y = _getStringFormattedDate(datapoint.y as string, yAxisDateFormatString);\n }\n if (_yAxisType.current === YAxisType.NumericAxis) {\n datapoint.y = _getStringFormattedNumber(datapoint.y as string, yAxisNumberFormatString);\n }\n if (_yAxisType.current === YAxisType.StringAxis) {\n datapoint.y = _getFormattedLabelForYAxisDataPoint(datapoint.y as string);\n }\n });\n });\n /**\n * if y-axis data points are of type date or number or if we have string formatter,\n * then we need to change data points to their respective string\n * format, becuase in the private variable _stringYAxisDatapoints, points will be stored in\n * string format. and in here `yPoint` are not so we need to change, so that\n * function `_createRectangles` should work perfetcly while looping, and if we don't change\n * then `_createRectangles` will fail while looping, causing the error\n * Cannot read property 'forEach' of undefined\n */\n\n Object.keys(yPoints).forEach((yPoint: string) => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n yPoints[_getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n yPoints[`${_getStringFormattedNumber(yPoint, yAxisNumberFormatString)}`] = yPoints[yPoint];\n } else {\n yPoints[_getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];\n }\n });\n /**\n * assigning new data set\n */\n const dataSet = yPoints;\n /**\n * These are the Y axis data points which will get rendered in the\n * Y axis in graph\n */\n const yAxisPoints = _getYAxisDataPoints(uniqueYPoints);\n /**\n * These are the x axis data points which will get rendered in the\n * x axis in the graph\n */\n\n const xAxisPoints = _getXAxisDataPoints(uniqueXPoints);\n return {\n dataSet,\n yAxisPoints,\n xAxisPoints,\n };\n },\n [\n _getFormattedLabelForXAxisDataPoint,\n _getFormattedLabelForYAxisDataPoint,\n _getXAxisDataPoints,\n _getYAxisDataPoints,\n props.sortOrder,\n ],\n );\n\n const _getStringFormattedDate = (point: string, formatString?: string): string => {\n const date = new Date();\n date.setTime(+point);\n return d3TimeFormat(formatString || '%b/%d')(date);\n };\n\n const _getStringFormattedNumber = (point: string, formatString?: string): string => {\n return d3Format(formatString || '.2~s')(+point);\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n const _legendHighlighted = (legendTitle: string) => {\n return selectedLegend === legendTitle || (selectedLegend === '' && activeLegend === legendTitle);\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n const _noLegendHighlighted = () => {\n return selectedLegend === '' && activeLegend === '';\n };\n\n const _getAriaLabel = (point: FlattenData): string => {\n const xValue = point.x;\n const yValue = point.y;\n const legend = point.legend;\n const zValue = point.ratio ? `${point.ratio[0]}/${point.ratio[1]}` : point.rectText || point.value;\n const description = point.descriptionMessage;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}, ${yValue}. ${legend}, ${zValue}.` + (description ? ` ${description}.` : '')\n );\n };\n\n const _isChartEmpty = (): boolean => {\n return !(props.data && props.data.length > 0);\n };\n\n const _getChartTitle = (): string => {\n const { chartTitle } = props;\n const numDataPoints = props.data.reduce((acc, curr) => acc + curr.data.length, 0);\n return (chartTitle ? `${chartTitle}. ` : '') + `Heat map chart with ${numDataPoints} data points. `;\n };\n\n const _getOrderedXAxisLabels = (points: { [key: string]: '1' }) => {\n if (!_shouldOrderXAxisLabelsByCategoryOrder()) {\n // Keep the original ordering logic as the default behavior to ensure backward compatibility\n return Object.keys(points).sort((a: string, b: string) => {\n if (_xAxisType.current === XAxisTypes.DateAxis || _xAxisType.current === XAxisTypes.NumericAxis) {\n return +a - +b;\n } else {\n return props.sortOrder === 'none' ? 0 : a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n }\n\n return sortAxisCategories(_mapCategoryToValues(), props.xAxisCategoryOrder);\n };\n\n const _getOrderedYAxisLabels = (points: { [key: string]: '1' }) => {\n if (!_shouldOrderYAxisLabelsByCategoryOrder()) {\n // Keep the original ordering logic as the default behavior to ensure backward compatibility\n return Object.keys(points).sort((a: string, b: string) => {\n if (_yAxisType.current === YAxisType.DateAxis || _yAxisType.current === YAxisType.NumericAxis) {\n return +a - +b;\n } else {\n return props.sortOrder === 'none' ? 0 : a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n }\n\n return sortAxisCategories(_mapCategoryToValues(true), props.yAxisCategoryOrder);\n };\n\n const _getOrderedXPoints = (xPoints: FlattenData[]) => {\n if (!_shouldOrderXAxisLabelsByCategoryOrder()) {\n return xPoints.sort((a: HeatMapChartDataPoint, b: HeatMapChartDataPoint) => {\n if (_xAxisType.current === XAxisTypes.StringAxis) {\n return props.sortOrder === 'none'\n ? 0\n : (a.x as string).toLowerCase() > (b.x as string).toLowerCase()\n ? 1\n : -1;\n } else if (_xAxisType.current === XAxisTypes.DateAxis) {\n return (a.x as Date).getTime() - (b.x as Date).getTime();\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return +(a.x as string) > +(b.x as string) ? 1 : -1;\n } else {\n return a.x > b.x ? 1 : -1;\n }\n });\n }\n\n const result: FlattenData[] = [];\n\n const xValueToPoints: Record<string, FlattenData[]> = {};\n xPoints.forEach(point => {\n const xValue = point.x as string;\n if (!xValueToPoints[xValue]) {\n xValueToPoints[xValue] = [];\n }\n xValueToPoints[xValue].push(point);\n });\n\n const xAxisLabels = _getOrderedXAxisLabels({});\n xAxisLabels.forEach(xValue => {\n if (xValueToPoints[xValue]) {\n result.push(...xValueToPoints[xValue]);\n }\n });\n\n return result;\n };\n\n const _shouldOrderXAxisLabelsByCategoryOrder = () => {\n return _xAxisType.current === XAxisTypes.StringAxis && props.xAxisCategoryOrder !== 'default';\n };\n\n const _shouldOrderYAxisLabelsByCategoryOrder = () => {\n return _yAxisType.current === YAxisType.StringAxis && props.yAxisCategoryOrder !== 'default';\n };\n\n const _mapCategoryToValues = (isYAxis = false) => {\n const categoryToValues: Record<string, number[]> = {};\n props.data.forEach(item => {\n item.data.forEach(point => {\n const category = (isYAxis ? point.y : point.x) as string;\n if (!categoryToValues[category]) {\n categoryToValues[category] = [];\n }\n categoryToValues[category].push(point.value);\n });\n });\n return categoryToValues;\n };\n\n const updatePosition = (newX: number, newY: number) => {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n }\n };\n\n const { x, y } = _getXandY();\n _xAxisType.current = getTypeOfAxis(x, true) as XAxisTypes;\n _yAxisType.current = getTypeOfAxis(y, false) as YAxisType;\n const { data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString } =\n props;\n _colorScale.current = _getColorScale();\n const { dataSet, xAxisPoints, yAxisPoints } = React.useMemo(\n () =>\n _createNewDataSet(\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n ),\n [\n _createNewDataSet,\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n ],\n );\n _dataSet.current = dataSet;\n _stringYAxisDataPoints.current = yAxisPoints;\n _stringXAxisDataPoints.current = xAxisPoints;\n const calloutProps: ChartPopoverProps = {\n ...props.calloutProps,\n isPopoverOpen,\n YValue: calloutYValue,\n legend: calloutLegend,\n color: calloutTextColor,\n ratio,\n descriptionMessage,\n clickPosition,\n ...getAccessibleDataObject(callOutAccessibilityData, 'text', false),\n styles: {\n calloutContentRoot: classes.calloutContentRoot!,\n },\n };\n const tickParams = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n return !_isChartEmpty() ? (\n <CartesianChart\n {...props}\n chartTitle={_getChartTitle()}\n points={data}\n chartType={ChartTypes.HeatMapChart}\n xAxisType={XAxisTypes.StringAxis}\n yAxisType={YAxisType.StringAxis}\n calloutProps={calloutProps}\n createYAxis={createNumericYAxis}\n datasetForXAxisDomain={_stringXAxisDataPoints.current}\n stringDatasetForYAxisDomain={_stringYAxisDataPoints.current}\n createStringYAxis={createStringYAxis}\n getDomainNRangeValues={_getDomainNRangeValues}\n getMinMaxOfYAxis={_getMinMaxOfYAxis}\n getmargins={_getMargins}\n xAxisTickCount={_stringXAxisDataPoints.current.length}\n xAxistickSize={0}\n xAxisPadding={0.02}\n yAxisPadding={0.02}\n legendBars={_createLegendBars()}\n onChartMouseLeave={_handleChartMouseLeave}\n componentRef={cartesianChartRef}\n tickParams={tickParams}\n /* eslint-disable react/jsx-no-bind */\n children={(p: ChildProps) => {\n _xAxisScale.current = p.xScale;\n _yAxisScale.current = p.yScalePrimary;\n return _createRectangles();\n }}\n />\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n },\n);\n"],"names":["React","ChartTypes","getAccessibleDataObject","getColorContrast","getTypeOfAxis","resolveCSSVariables","XAxisTypes","YAxisType","createNumericYAxis","domainRangeOfXStringAxis","createStringYAxis","sortAxisCategories","formatToLocaleString","CartesianChart","useId","tokens","useHeatMapChartStyles","Legends","scaleLinear","d3ScaleLinear","format","d3Format","timeFormat","d3TimeFormat","useImageExport","useArrowNavigationGroup","HeatMapChart","forwardRef","props","xAxisCategoryOrder","yAxisCategoryOrder","data","domainValuesForColorScale","rangeValuesForColorScale","forwardedRef","classes","_stringXAxisDataPoints","useRef","_stringYAxisDataPoints","_dataSet","_colorScale","undefined","_xAxisScale","_yAxisScale","_xAxisType","_yAxisType","_calloutAnchorPoint","_emptyChartId","_margins","cartesianChartRef","legendsRef","_legendsRef","componentRef","hideLegend","arrowNavigationAttributes","axis","selectedLegend","setSelectedLegend","useState","activeLegend","setActiveLegend","isPopoverOpen","setPopoverOpen","calloutLegend","setCalloutLegend","calloutTextColor","setCalloutTextColor","calloutYValue","setCalloutYValue","ratio","setRatio","descriptionMessage","setDescriptionMessage","callOutAccessibilityData","setCallOutAccessibilityData","clickPosition","setClickPosition","x","y","_getMinMaxOfYAxis","startValue","endValue","_getDomainNRangeValues","points","margins","width","chartType","isRTL","xAxisType","barWidth","tickValues","domainNRangeValue","NumericAxis","DateAxis","dStartValue","dEndValue","rStartValue","rEndValue","current","_getXandY","forEach","item","length","_getMargins","_getOpacity","legendTitle","opacity","_legendHighlighted","_noLegendHighlighted","_onRectFocus","id","focusEvent","boundingRect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","height","updatePosition","legend","rectText","Number","isNaN","value","colorNeutralForeground1","_onRectMouseOver","mouseEvent","persist","_onRectBlurOrMouseOut","_handleChartMouseLeave","_getInvertedTextColor","color","colorNeutralBackground1","_createRectangles","rectangles","yAxisDataPoints","slice","reverse","yAxisDataPoint","index","xAxisDataPoint","rectElement","dataPointObject","styleRules","foregroundColor","chartContainer","contrastRatio","g","key","role","aria-label","_getAriaLabel","tabIndex","fillOpacity","transform","onFocus","e","onBlur","onMouseOver","onMouseOut","rect","fill","bandwidth","onClick","text","dominantBaseline","textAnchor","className","culture","useUTC","NaN","push","_onLegendHover","_onLegendLeave","_onLegendClick","_createLegendBars","legendProps","legends","title","action","hoverAction","onMouseOutAction","legendRef","_getColorScale","domain","range","_getXIndex","getTime","StringAxis","_getYIndex","xAxisStringFormatter","_getFormattedLabelForXAxisDataPoint","useCallback","point","yAxisStringFormatter","_getFormattedLabelForYAxisDataPoint","_getXAxisDataPoints","xAxisPoints","unFormattedXAxisDataPoints","_getOrderedXAxisLabels","map","xPoint","_getStringFormattedDate","xAxisDateFormatString","_getStringFormattedNumber","xAxisNumberFormatString","sortOrder","_getYAxisDataPoints","yAxisPoints","unFormattedYAxisDataPoints","_getOrderedYAxisLabels","yPoint","yAxisDateFormatString","yAxisNumberFormatString","_createNewDataSet","flattenData","yPoints","uniqueYPoints","uniqueXPoints","posX","posY","Object","keys","_getOrderedXPoints","datapoint","dataSet","formatString","date","Date","setTime","xValue","yValue","zValue","description","ariaLabel","_isChartEmpty","_getChartTitle","chartTitle","numDataPoints","reduce","acc","curr","_shouldOrderXAxisLabelsByCategoryOrder","sort","a","b","toLowerCase","_mapCategoryToValues","_shouldOrderYAxisLabelsByCategoryOrder","xPoints","result","xValueToPoints","xAxisLabels","isYAxis","categoryToValues","category","newX","newY","threshold","distance","Math","sqrt","pow","useMemo","calloutProps","YValue","styles","calloutContentRoot","tickParams","tickFormat","yAxisType","createYAxis","datasetForXAxisDomain","stringDatasetForYAxisDomain","getDomainNRangeValues","getMinMaxOfYAxis","getmargins","xAxisTickCount","xAxistickSize","xAxisPadding","yAxisPadding","legendBars","onChartMouseLeave","children","p","xScale","yScalePrimary","div","style"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/HeatMapChart/HeatMapChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { HeatMapChartProps } from './HeatMapChart.types';\nimport type { AccessibilityProps, HeatMapChartData, HeatMapChartDataPoint, Margins } from '../../types/index';\nimport type { IMargins, IDomainNRange } from '../../utilities/index';\nimport {\n ChartTypes,\n getAccessibleDataObject,\n getColorContrast,\n getTypeOfAxis,\n resolveCSSVariables,\n XAxisTypes,\n YAxisType,\n createNumericYAxis,\n domainRangeOfXStringAxis,\n createStringYAxis,\n sortAxisCategories,\n} from '../../utilities/index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport type { ChartPopoverProps, ChildProps } from '../CommonComponents/index';\nimport { CartesianChart } from '../CommonComponents/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { useHeatMapChartStyles } from './useHeatMapChartStyles.styles';\nimport type { Legend } from '../Legends/index';\nimport { Legends } from '../Legends/index';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { format as d3Format } from 'd3-format';\nimport { timeFormat as d3TimeFormat } from 'd3-time-format';\nimport { useImageExport } from '../../utilities/hooks';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\ntype DataSet = {\n dataSet: RectanglesGraphData;\n yAxisPoints: string[];\n xAxisPoints: string[];\n};\ntype FlattenData = HeatMapChartDataPoint & {\n legend: string;\n};\ntype RectanglesGraphData = { [key: string]: FlattenData[] };\n\nexport const HeatMapChart: React.FunctionComponent<HeatMapChartProps> = React.forwardRef<\n HTMLDivElement,\n HeatMapChartProps\n>(\n (\n props = {\n xAxisCategoryOrder: 'default',\n yAxisCategoryOrder: 'default',\n data: [],\n domainValuesForColorScale: [],\n rangeValuesForColorScale: [],\n },\n forwardedRef,\n ) => {\n const classes = useHeatMapChartStyles(props);\n const _stringXAxisDataPoints = React.useRef<string[]>([]);\n const _stringYAxisDataPoints = React.useRef<string[]>([]);\n const _dataSet = React.useRef<RectanglesGraphData>({});\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _colorScale = React.useRef<any>(undefined);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _xAxisScale = React.useRef<any>(undefined);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _yAxisScale = React.useRef<any>(undefined);\n const _xAxisType = React.useRef<XAxisTypes | undefined>(undefined);\n const _yAxisType = React.useRef<YAxisType | undefined>(undefined);\n const _calloutAnchorPoint = React.useRef<FlattenData | null>(null);\n const _emptyChartId = useId('_HeatMap_empty');\n const _margins = React.useRef<Margins>({});\n const { cartesianChartRef, legendsRef: _legendsRef } = useImageExport(props.componentRef, props.hideLegend);\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n const [selectedLegend, setSelectedLegend] = React.useState<string>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n const [isPopoverOpen, setPopoverOpen] = React.useState<boolean>(false);\n const [calloutLegend, setCalloutLegend] = React.useState<string>('');\n const [calloutTextColor, setCalloutTextColor] = React.useState<string>('');\n const [calloutYValue, setCalloutYValue] = React.useState<string>('');\n const [ratio, setRatio] = React.useState<[number, number]>();\n const [descriptionMessage, setDescriptionMessage] = React.useState<string>('');\n const [callOutAccessibilityData, setCallOutAccessibilityData] = React.useState<AccessibilityProps>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n\n function _getMinMaxOfYAxis() {\n return { startValue: 0, endValue: 0 };\n }\n\n function _getDomainNRangeValues(\n points: HeatMapChartDataPoint[],\n margins: IMargins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis || xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(_margins.current, width, isRTL);\n }\n return domainNRangeValue;\n }\n\n const _getXandY = (): { x: string | Date | number; y: string | Date | number } => {\n let x: string | Date | number = '';\n let y: string | Date | number = '';\n props.data.forEach((item: HeatMapChartData) => {\n if (item.data && item.data.length > 0) {\n x = item.data[0].x;\n y = item.data[0].y;\n return { x, y };\n }\n });\n return { x, y };\n };\n\n const _getMargins = (margins: Margins) => {\n _margins.current = margins;\n };\n\n const _getOpacity = (legendTitle: string): string => {\n const opacity = _legendHighlighted(legendTitle) || _noLegendHighlighted() ? '1' : '0.1';\n return opacity;\n };\n\n const _onRectFocus = (id: string, data: FlattenData, focusEvent: React.FocusEvent<SVGGElement>): void => {\n const boundingRect = focusEvent.currentTarget.getBoundingClientRect();\n const clientX = boundingRect.left + boundingRect.width / 2;\n const clientY = boundingRect.top + boundingRect.height / 2;\n updatePosition(clientX, clientY);\n /** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */\n setPopoverOpen(selectedLegend === '' || selectedLegend === data.legend);\n setCalloutYValue(`${data.rectText}`);\n setCalloutTextColor(Number.isNaN(data.value) ? tokens.colorNeutralForeground1 : _colorScale.current(data.value));\n setCalloutLegend(data.legend);\n setRatio(data.ratio);\n setDescriptionMessage(data.descriptionMessage || '');\n setCallOutAccessibilityData(data.callOutAccessibilityData);\n };\n\n const _onRectMouseOver = (id: string, data: FlattenData, mouseEvent: React.MouseEvent<SVGGElement>): void => {\n mouseEvent.persist();\n if (_calloutAnchorPoint.current !== data) {\n _calloutAnchorPoint.current = data;\n updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n /** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */\n setPopoverOpen(selectedLegend === '' || selectedLegend === data.legend);\n setCalloutYValue(`${data.rectText}`);\n setCalloutTextColor(\n Number.isNaN(data.value) ? tokens.colorNeutralForeground1 : _colorScale.current(data.value),\n );\n setCalloutLegend(data.legend);\n setRatio(data.ratio);\n setDescriptionMessage(data.descriptionMessage || '');\n setCallOutAccessibilityData(data.callOutAccessibilityData);\n }\n };\n\n const _onRectBlurOrMouseOut = (): void => {\n /**/\n };\n\n const _handleChartMouseLeave = (): void => {\n _calloutAnchorPoint.current = null;\n setPopoverOpen(false);\n };\n\n const _getInvertedTextColor = (color: string): string => {\n return color === tokens.colorNeutralForeground1 ? tokens.colorNeutralBackground1 : tokens.colorNeutralForeground1;\n };\n\n /**\n * This is the function which is responsible for\n * drawing the rectangle in the graph and also\n * attaching dom events to that rectangles\n */\n const _createRectangles = (): React.ReactNode => {\n const rectangles: JSXElement[] = [];\n const yAxisDataPoints = _stringYAxisDataPoints.current.slice().reverse();\n /**\n * yAxisDataPoint is noting but the DataPoint\n * which will be rendered on the y-axis\n */\n yAxisDataPoints.forEach((yAxisDataPoint: string) => {\n let index = 0;\n _stringXAxisDataPoints.current.forEach((xAxisDataPoint: string) => {\n let rectElement: JSXElement;\n const id = `x${xAxisDataPoint}y${yAxisDataPoint}`;\n if (\n _dataSet.current[yAxisDataPoint][index]?.x === xAxisDataPoint &&\n typeof _dataSet.current[yAxisDataPoint][index]?.value === 'number'\n ) {\n /**\n * dataPointObject is an object where it contains information on single\n * data point such as x, y , value, rectText property of the rectangle\n */\n const dataPointObject = _dataSet.current[yAxisDataPoint][index];\n let styleRules = '';\n let foregroundColor = tokens.colorNeutralForeground1;\n if (cartesianChartRef.current?.chartContainer) {\n styleRules = resolveCSSVariables(cartesianChartRef.current.chartContainer, foregroundColor);\n }\n const contrastRatio = getColorContrast(styleRules, _colorScale.current(dataPointObject.value));\n if (contrastRatio < 3) {\n foregroundColor = _getInvertedTextColor(foregroundColor);\n }\n rectElement = (\n <g\n key={id}\n role=\"option\"\n aria-label={_getAriaLabel(dataPointObject)}\n tabIndex={_legendHighlighted(dataPointObject.legend) || _noLegendHighlighted() ? 0 : -1}\n fillOpacity={_getOpacity(dataPointObject.legend)}\n transform={`translate(${_xAxisScale.current(dataPointObject.x)}, ${_yAxisScale.current(\n dataPointObject.y,\n )})`}\n onFocus={e => _onRectFocus(id, dataPointObject, e)}\n onBlur={_onRectBlurOrMouseOut}\n onMouseOver={e => _onRectMouseOver(id, dataPointObject, e)}\n onMouseOut={_onRectBlurOrMouseOut}\n >\n <rect\n fill={_colorScale.current(dataPointObject.value)}\n width={_xAxisScale.current.bandwidth()}\n height={_yAxisScale.current.bandwidth()}\n onClick={dataPointObject.onClick}\n />\n <text\n dominantBaseline={'middle'}\n textAnchor={'middle'}\n className={classes.text}\n aria-hidden={true}\n transform={`translate(${_xAxisScale.current.bandwidth() / 2}, ${\n _yAxisScale.current.bandwidth() / 2\n })`}\n fill={foregroundColor}\n >\n {formatToLocaleString(dataPointObject.rectText, props.culture, props.useUTC) as React.ReactNode}\n </text>\n </g>\n );\n index++;\n } else {\n const dataPointObject: FlattenData = {\n x: xAxisDataPoint,\n y: yAxisDataPoint,\n value: NaN,\n rectText: 'No data available',\n legend: '',\n };\n rectElement = (\n <g\n key={id}\n role=\"option\"\n aria-label={_getAriaLabel(dataPointObject)}\n tabIndex={_noLegendHighlighted() ? 0 : -1}\n transform={`translate(${_xAxisScale.current(dataPointObject.x)}, ${_yAxisScale.current(\n dataPointObject.y,\n )})`}\n onFocus={e => _onRectFocus(id, dataPointObject, e)}\n onBlur={_onRectBlurOrMouseOut}\n onMouseOver={e => _onRectMouseOver(id, dataPointObject, e)}\n onMouseOut={_onRectBlurOrMouseOut}\n >\n <rect\n fill=\"transparent\"\n width={_xAxisScale.current.bandwidth()}\n height={_yAxisScale.current.bandwidth()}\n />\n </g>\n );\n }\n rectangles.push(rectElement);\n });\n });\n return (\n <g\n role=\"listbox\"\n aria-label={`${rectangles.length} ${rectangles.length === 1 ? 'cell' : 'cells'}`}\n {...arrowNavigationAttributes}\n >\n {rectangles}\n </g>\n );\n };\n /**\n * when the legend is hovered we need to highlight\n * all the rectangles which fall under that category\n * and un-highlight the rest of them\n * @param legendTitle\n */\n const _onLegendHover = (legendTitle: string): void => {\n setActiveLegend(legendTitle);\n };\n\n /**\n * when the mouse is out from the legend , we need\n * to show the graph in initial mode.\n */\n const _onLegendLeave = (): void => {\n setActiveLegend('');\n };\n /**\n * @param legendTitle\n * when the legend is clicked we need to highlight\n * all the rectangles which fall under that category\n * and un highlight the rest of them\n */\n const _onLegendClick = (legendTitle: string): void => {\n /**\n * check if the legend is already selceted,\n * if yes, un-select the legend, else\n * set the selected legend state to legendTitle\n */\n if (selectedLegend === legendTitle) {\n setSelectedLegend('');\n } else {\n setSelectedLegend(legendTitle);\n }\n };\n const _createLegendBars = (): JSXElement => {\n const { data, legendProps } = props;\n const legends: Legend[] = [];\n data.forEach((item: HeatMapChartData) => {\n const legend: Legend = {\n title: item.legend,\n color: _colorScale.current(item.value),\n action: () => {\n _onLegendClick(item.legend);\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(item.legend);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n legends.push(legend);\n });\n return <Legends {...legendProps} legends={legends} legendRef={_legendsRef} />;\n };\n\n const _getColorScale = () => {\n const { domainValuesForColorScale, rangeValuesForColorScale } = props;\n return d3ScaleLinear()\n .domain(domainValuesForColorScale)\n .range(rangeValuesForColorScale as unknown as number[]);\n };\n\n const _getXIndex = (value: string | Date | number): string => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (_xAxisType.current === XAxisTypes.StringAxis) {\n return value as string;\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n const _getYIndex = (value: string | Date | number): string => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (_yAxisType.current === YAxisType.StringAxis) {\n return value as string;\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n\n const { xAxisStringFormatter } = props;\n const _getFormattedLabelForXAxisDataPoint = React.useCallback(\n (point: string): string => {\n return xAxisStringFormatter ? xAxisStringFormatter(point) : point;\n },\n [xAxisStringFormatter],\n );\n\n const { yAxisStringFormatter } = props;\n const _getFormattedLabelForYAxisDataPoint = React.useCallback(\n (point: string): string => {\n return yAxisStringFormatter ? yAxisStringFormatter(point) : point;\n },\n [yAxisStringFormatter],\n );\n\n /**\n * This function will return the final sorted and formatted x-axis points\n * which will be rendered on the x-axis\n * @param points\n * @returns x-axis points\n */\n const _getXAxisDataPoints = React.useCallback(\n (points: { [key: string]: '1' }): string[] => {\n let xAxisPoints: string[] = [];\n const unFormattedXAxisDataPoints = _getOrderedXAxisLabels(points);\n xAxisPoints = unFormattedXAxisDataPoints.map((xPoint: string) => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n return _getStringFormattedDate(xPoint, props.xAxisDateFormatString);\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return _getStringFormattedNumber(xPoint, props.xAxisNumberFormatString);\n } else {\n return _getFormattedLabelForXAxisDataPoint(xPoint);\n }\n });\n\n return xAxisPoints;\n },\n [\n _getFormattedLabelForXAxisDataPoint,\n props.sortOrder,\n props.xAxisDateFormatString,\n props.xAxisNumberFormatString,\n ],\n );\n\n /**\n * This function will return the final sorted and formatted y-axis points\n * which will be rendered on the y-axis\n * @param points\n * @returns yaxis points\n */\n const _getYAxisDataPoints = React.useCallback(\n (points: { [key: string]: '1' }): string[] => {\n let yAxisPoints: string[] = [];\n const unFormattedYAxisDataPoints = _getOrderedYAxisLabels(points);\n yAxisPoints = unFormattedYAxisDataPoints.map((yPoint: string) => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n return _getStringFormattedDate(yPoint, props.yAxisDateFormatString);\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n return _getStringFormattedNumber(yPoint, props.yAxisNumberFormatString);\n } else {\n return _getFormattedLabelForYAxisDataPoint(yPoint);\n }\n });\n\n return yAxisPoints;\n },\n [\n _getFormattedLabelForYAxisDataPoint,\n props.sortOrder,\n props.yAxisDateFormatString,\n props.yAxisNumberFormatString,\n ],\n );\n\n /**\n * This will create a new data set based on the prop\n * @data\n * We will be using This data set to contsruct our rectangles\n * in the chart, we use this data set becuase, when we loop in this\n * data and build the heat map, it will support accessibility as\n * specified in the figma\n */\n\n const _createNewDataSet = React.useCallback(\n (\n data: HeatMapChartData[],\n xAxisDateFormatString: string | undefined,\n xAxisNumberFormatString: string | undefined,\n yAxisDateFormatString: string | undefined,\n yAxisNumberFormatString: string | undefined,\n ): DataSet => {\n /**\n * please do not destructure any of the props here,\n * instead send them as parameter to this functions so that\n * this functions get called whenever the prop changes\n */\n const flattenData: FlattenData[] = [];\n /**\n * below for each loop will store all the datapoints in the one array.\n * basically it will flatten the nestesd array (data prop) into single array\n * of object. where each object contains x, y, rectText , value and legend propety of single\n * data point.\n */\n data.forEach((item: HeatMapChartData) => {\n item.data.forEach((point: HeatMapChartDataPoint) => {\n flattenData.push({ ...point, legend: item.legend });\n });\n });\n const yPoints: RectanglesGraphData = {};\n const uniqueYPoints: { [key: string]: '1' } = {};\n const uniqueXPoints: { [key: string]: '1' } = {};\n flattenData.forEach((item: FlattenData) => {\n const posX = _getXIndex(item.x);\n const posY = _getYIndex(item.y);\n\n uniqueXPoints[posX] = '1';\n uniqueYPoints[posY] = '1';\n /** we will check if the property(posY) is already there in object, if Yes,\n * then we will append the item in the Array related to the pos, if not\n * then we will simply append the item in the new Array and\n * assign that array to the property (posY) in the Object\n * and finally we will get the array of Objects associated to each\n * property (which is nothing but y data point) and object in the\n * array are noting but x data points associated to the property y\n */\n if (yPoints[posY]) {\n yPoints[posY] = [...yPoints[posY], item];\n } else {\n yPoints[posY] = [item];\n }\n });\n /**\n * we will now sort(ascending) the array's of y data point based on the x value\n * sorting is important to achive the accessibility order of the\n * rectangles and then format the x and y datapoints respectively\n */\n Object.keys(yPoints).forEach((item: string) => {\n yPoints[item] = _getOrderedXPoints(yPoints[item]);\n\n yPoints[item].forEach((datapoint: HeatMapChartDataPoint) => {\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n datapoint.x = _getStringFormattedDate(datapoint.x as string, xAxisDateFormatString);\n }\n if (_xAxisType.current === XAxisTypes.NumericAxis) {\n datapoint.x = _getStringFormattedNumber(datapoint.x as string, xAxisNumberFormatString);\n }\n if (_xAxisType.current === XAxisTypes.StringAxis) {\n datapoint.x = _getFormattedLabelForXAxisDataPoint(datapoint.x as string);\n }\n if (_yAxisType.current === YAxisType.DateAxis) {\n datapoint.y = _getStringFormattedDate(datapoint.y as string, yAxisDateFormatString);\n }\n if (_yAxisType.current === YAxisType.NumericAxis) {\n datapoint.y = _getStringFormattedNumber(datapoint.y as string, yAxisNumberFormatString);\n }\n if (_yAxisType.current === YAxisType.StringAxis) {\n datapoint.y = _getFormattedLabelForYAxisDataPoint(datapoint.y as string);\n }\n });\n });\n /**\n * if y-axis data points are of type date or number or if we have string formatter,\n * then we need to change data points to their respective string\n * format, becuase in the private variable _stringYAxisDatapoints, points will be stored in\n * string format. and in here `yPoint` are not so we need to change, so that\n * function `_createRectangles` should work perfetcly while looping, and if we don't change\n * then `_createRectangles` will fail while looping, causing the error\n * Cannot read property 'forEach' of undefined\n */\n\n Object.keys(yPoints).forEach((yPoint: string) => {\n if (_yAxisType.current === YAxisType.DateAxis) {\n yPoints[_getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];\n } else if (_yAxisType.current === YAxisType.NumericAxis) {\n yPoints[`${_getStringFormattedNumber(yPoint, yAxisNumberFormatString)}`] = yPoints[yPoint];\n } else {\n yPoints[_getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];\n }\n });\n /**\n * assigning new data set\n */\n const dataSet = yPoints;\n /**\n * These are the Y axis data points which will get rendered in the\n * Y axis in graph\n */\n const yAxisPoints = _getYAxisDataPoints(uniqueYPoints);\n /**\n * These are the x axis data points which will get rendered in the\n * x axis in the graph\n */\n\n const xAxisPoints = _getXAxisDataPoints(uniqueXPoints);\n return {\n dataSet,\n yAxisPoints,\n xAxisPoints,\n };\n },\n [\n _getFormattedLabelForXAxisDataPoint,\n _getFormattedLabelForYAxisDataPoint,\n _getXAxisDataPoints,\n _getYAxisDataPoints,\n props.sortOrder,\n ],\n );\n\n const _getStringFormattedDate = (point: string, formatString?: string): string => {\n const date = new Date();\n date.setTime(+point);\n return d3TimeFormat(formatString || '%b/%d')(date);\n };\n\n const _getStringFormattedNumber = (point: string, formatString?: string): string => {\n return d3Format(formatString || '.2~s')(+point);\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n const _legendHighlighted = (legendTitle: string) => {\n return selectedLegend === legendTitle || (selectedLegend === '' && activeLegend === legendTitle);\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n const _noLegendHighlighted = () => {\n return selectedLegend === '' && activeLegend === '';\n };\n\n const _getAriaLabel = (point: FlattenData): string => {\n const xValue = point.x;\n const yValue = point.y;\n const legend = point.legend;\n const zValue = point.ratio ? `${point.ratio[0]}/${point.ratio[1]}` : point.rectText || point.value;\n const description = point.descriptionMessage;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}, ${yValue}. ${legend}, ${zValue}.` + (description ? ` ${description}.` : '')\n );\n };\n\n const _isChartEmpty = (): boolean => {\n return !(props.data && props.data.length > 0);\n };\n\n const _getChartTitle = (): string => {\n const { chartTitle } = props;\n const numDataPoints = props.data.reduce((acc, curr) => acc + curr.data.length, 0);\n return (chartTitle ? `${chartTitle}. ` : '') + `Heat map chart with ${numDataPoints} data points. `;\n };\n\n const _getOrderedXAxisLabels = (points: { [key: string]: '1' }) => {\n if (!_shouldOrderXAxisLabelsByCategoryOrder()) {\n // Keep the original ordering logic as the default behavior to ensure backward compatibility\n return Object.keys(points).sort((a: string, b: string) => {\n if (_xAxisType.current === XAxisTypes.DateAxis || _xAxisType.current === XAxisTypes.NumericAxis) {\n return +a - +b;\n } else {\n return props.sortOrder === 'none' ? 0 : a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n }\n\n return sortAxisCategories(_mapCategoryToValues(), props.xAxisCategoryOrder);\n };\n\n const _getOrderedYAxisLabels = (points: { [key: string]: '1' }) => {\n if (!_shouldOrderYAxisLabelsByCategoryOrder()) {\n // Keep the original ordering logic as the default behavior to ensure backward compatibility\n return Object.keys(points).sort((a: string, b: string) => {\n if (_yAxisType.current === YAxisType.DateAxis || _yAxisType.current === YAxisType.NumericAxis) {\n return +a - +b;\n } else {\n return props.sortOrder === 'none' ? 0 : a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n }\n\n return sortAxisCategories(_mapCategoryToValues(true), props.yAxisCategoryOrder);\n };\n\n const _getOrderedXPoints = (xPoints: FlattenData[]) => {\n if (!_shouldOrderXAxisLabelsByCategoryOrder()) {\n return xPoints.sort((a: HeatMapChartDataPoint, b: HeatMapChartDataPoint) => {\n if (_xAxisType.current === XAxisTypes.StringAxis) {\n return props.sortOrder === 'none'\n ? 0\n : (a.x as string).toLowerCase() > (b.x as string).toLowerCase()\n ? 1\n : -1;\n } else if (_xAxisType.current === XAxisTypes.DateAxis) {\n return (a.x as Date).getTime() - (b.x as Date).getTime();\n } else if (_xAxisType.current === XAxisTypes.NumericAxis) {\n return +(a.x as string) > +(b.x as string) ? 1 : -1;\n } else {\n return a.x > b.x ? 1 : -1;\n }\n });\n }\n\n const result: FlattenData[] = [];\n\n const xValueToPoints: Record<string, FlattenData[]> = {};\n xPoints.forEach(point => {\n const xValue = point.x as string;\n if (!xValueToPoints[xValue]) {\n xValueToPoints[xValue] = [];\n }\n xValueToPoints[xValue].push(point);\n });\n\n const xAxisLabels = _getOrderedXAxisLabels({});\n xAxisLabels.forEach(xValue => {\n if (xValueToPoints[xValue]) {\n result.push(...xValueToPoints[xValue]);\n }\n });\n\n return result;\n };\n\n const _shouldOrderXAxisLabelsByCategoryOrder = () => {\n return _xAxisType.current === XAxisTypes.StringAxis && props.xAxisCategoryOrder !== 'default';\n };\n\n const _shouldOrderYAxisLabelsByCategoryOrder = () => {\n return _yAxisType.current === YAxisType.StringAxis && props.yAxisCategoryOrder !== 'default';\n };\n\n const _mapCategoryToValues = (isYAxis = false) => {\n const categoryToValues: Record<string, number[]> = {};\n props.data.forEach(item => {\n item.data.forEach(point => {\n const category = (isYAxis ? point.y : point.x) as string;\n if (!categoryToValues[category]) {\n categoryToValues[category] = [];\n }\n categoryToValues[category].push(point.value);\n });\n });\n return categoryToValues;\n };\n\n const updatePosition = (newX: number, newY: number) => {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n }\n };\n\n const { x, y } = _getXandY();\n _xAxisType.current = getTypeOfAxis(x, true) as XAxisTypes;\n _yAxisType.current = getTypeOfAxis(y, false) as YAxisType;\n const { data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString } =\n props;\n _colorScale.current = _getColorScale();\n const { dataSet, xAxisPoints, yAxisPoints } = React.useMemo(\n () =>\n _createNewDataSet(\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n ),\n [\n _createNewDataSet,\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n ],\n );\n _dataSet.current = dataSet;\n _stringYAxisDataPoints.current = yAxisPoints;\n _stringXAxisDataPoints.current = xAxisPoints;\n const calloutProps: ChartPopoverProps = {\n ...props.calloutProps,\n isPopoverOpen,\n YValue: calloutYValue,\n legend: calloutLegend,\n color: calloutTextColor,\n ratio,\n descriptionMessage,\n clickPosition,\n ...getAccessibleDataObject(callOutAccessibilityData, 'text', false),\n styles: {\n calloutContentRoot: classes.calloutContentRoot!,\n },\n };\n const tickParams = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n return !_isChartEmpty() ? (\n <CartesianChart\n {...props}\n chartTitle={_getChartTitle()}\n points={data}\n chartType={ChartTypes.HeatMapChart}\n xAxisType={XAxisTypes.StringAxis}\n yAxisType={YAxisType.StringAxis}\n calloutProps={calloutProps}\n createYAxis={createNumericYAxis}\n datasetForXAxisDomain={_stringXAxisDataPoints.current}\n stringDatasetForYAxisDomain={_stringYAxisDataPoints.current}\n createStringYAxis={createStringYAxis}\n getDomainNRangeValues={_getDomainNRangeValues}\n getMinMaxOfYAxis={_getMinMaxOfYAxis}\n getmargins={_getMargins}\n xAxisTickCount={_stringXAxisDataPoints.current.length}\n xAxistickSize={0}\n xAxisPadding={0.02}\n yAxisPadding={0.02}\n legendBars={_createLegendBars()}\n onChartMouseLeave={_handleChartMouseLeave}\n componentRef={cartesianChartRef}\n tickParams={tickParams}\n /* eslint-disable react/jsx-no-bind */\n children={(p: ChildProps) => {\n _xAxisScale.current = p.xScale;\n _yAxisScale.current = p.yScalePrimary;\n return _createRectangles();\n }}\n />\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n },\n);\n"],"names":["React","ChartTypes","getAccessibleDataObject","getColorContrast","getTypeOfAxis","resolveCSSVariables","XAxisTypes","YAxisType","createNumericYAxis","domainRangeOfXStringAxis","createStringYAxis","sortAxisCategories","formatToLocaleString","CartesianChart","useId","tokens","useHeatMapChartStyles","Legends","scaleLinear","d3ScaleLinear","format","d3Format","timeFormat","d3TimeFormat","useImageExport","useArrowNavigationGroup","HeatMapChart","forwardRef","props","xAxisCategoryOrder","yAxisCategoryOrder","data","domainValuesForColorScale","rangeValuesForColorScale","forwardedRef","classes","_stringXAxisDataPoints","useRef","_stringYAxisDataPoints","_dataSet","_colorScale","undefined","_xAxisScale","_yAxisScale","_xAxisType","_yAxisType","_calloutAnchorPoint","_emptyChartId","_margins","cartesianChartRef","legendsRef","_legendsRef","componentRef","hideLegend","arrowNavigationAttributes","axis","selectedLegend","setSelectedLegend","useState","activeLegend","setActiveLegend","isPopoverOpen","setPopoverOpen","calloutLegend","setCalloutLegend","calloutTextColor","setCalloutTextColor","calloutYValue","setCalloutYValue","ratio","setRatio","descriptionMessage","setDescriptionMessage","callOutAccessibilityData","setCallOutAccessibilityData","clickPosition","setClickPosition","x","y","_getMinMaxOfYAxis","startValue","endValue","_getDomainNRangeValues","points","margins","width","chartType","isRTL","xAxisType","barWidth","tickValues","domainNRangeValue","NumericAxis","DateAxis","dStartValue","dEndValue","rStartValue","rEndValue","current","_getXandY","forEach","item","length","_getMargins","_getOpacity","legendTitle","opacity","_legendHighlighted","_noLegendHighlighted","_onRectFocus","id","focusEvent","boundingRect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","height","updatePosition","legend","rectText","Number","isNaN","value","colorNeutralForeground1","_onRectMouseOver","mouseEvent","persist","_onRectBlurOrMouseOut","_handleChartMouseLeave","_getInvertedTextColor","color","colorNeutralBackground1","_createRectangles","rectangles","yAxisDataPoints","slice","reverse","yAxisDataPoint","index","xAxisDataPoint","rectElement","dataPointObject","styleRules","foregroundColor","chartContainer","contrastRatio","g","key","role","aria-label","_getAriaLabel","tabIndex","fillOpacity","transform","onFocus","e","onBlur","onMouseOver","onMouseOut","rect","fill","bandwidth","onClick","text","dominantBaseline","textAnchor","className","aria-hidden","culture","useUTC","NaN","push","_onLegendHover","_onLegendLeave","_onLegendClick","_createLegendBars","legendProps","legends","title","action","hoverAction","onMouseOutAction","legendRef","_getColorScale","domain","range","_getXIndex","getTime","StringAxis","_getYIndex","xAxisStringFormatter","_getFormattedLabelForXAxisDataPoint","useCallback","point","yAxisStringFormatter","_getFormattedLabelForYAxisDataPoint","_getXAxisDataPoints","xAxisPoints","unFormattedXAxisDataPoints","_getOrderedXAxisLabels","map","xPoint","_getStringFormattedDate","xAxisDateFormatString","_getStringFormattedNumber","xAxisNumberFormatString","sortOrder","_getYAxisDataPoints","yAxisPoints","unFormattedYAxisDataPoints","_getOrderedYAxisLabels","yPoint","yAxisDateFormatString","yAxisNumberFormatString","_createNewDataSet","flattenData","yPoints","uniqueYPoints","uniqueXPoints","posX","posY","Object","keys","_getOrderedXPoints","datapoint","dataSet","formatString","date","Date","setTime","xValue","yValue","zValue","description","ariaLabel","_isChartEmpty","_getChartTitle","chartTitle","numDataPoints","reduce","acc","curr","_shouldOrderXAxisLabelsByCategoryOrder","sort","a","b","toLowerCase","_mapCategoryToValues","_shouldOrderYAxisLabelsByCategoryOrder","xPoints","result","xValueToPoints","xAxisLabels","isYAxis","categoryToValues","category","newX","newY","threshold","distance","Math","sqrt","pow","useMemo","calloutProps","YValue","styles","calloutContentRoot","tickParams","tickFormat","yAxisType","createYAxis","datasetForXAxisDomain","stringDatasetForYAxisDomain","getDomainNRangeValues","getMinMaxOfYAxis","getmargins","xAxisTickCount","xAxistickSize","xAxisPadding","yAxisPadding","legendBars","onChartMouseLeave","children","p","xScale","yScalePrimary","div","style"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export * from './HeatMapChart';
2
- export * from './HeatMapChart.types';
3
- export * from '../../types/index';
1
+ export * from "./HeatMapChart.js";
2
+ export * from "./HeatMapChart.types.js";
3
+ export * from "../../types/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/HeatMapChart/index.ts"],"sourcesContent":["export * from './HeatMapChart';\nexport * from './HeatMapChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,uBAAuB;AACrC,cAAc,oBAAoB"}
1
+ {"version":3,"sources":["../src/components/HeatMapChart/index.ts"],"sourcesContent":["export * from './HeatMapChart';\nexport * from './HeatMapChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,oBAAiB;AAC/B,cAAc,0BAAuB;AACrC,cAAc,uBAAoB"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { __styles, mergeClasses } from '@griffel/react';
4
- import { typographyStyles } from '@fluentui/react-theme';
3
+ import { __styles, mergeClasses } from "@griffel/react";
4
+ import { typographyStyles } from "@fluentui/react-theme";
5
5
  export const heatmapChartClassNames = {
6
6
  root: 'fui-hmc__root',
7
7
  text: 'fui-hmc__text',
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","typographyStyles","heatmapChartClassNames","root","text","calloutContentRoot","xAxis","yAxis","legendContainer","hover","descriptionMessage","tooltip","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Bkecrkj","B2u0y6b","d","useHeatMapChartStyles","props","baseStyles"],"sources":["useHeatMapChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const heatmapChartClassNames = {\n root: 'fui-hmc__root',\n text: 'fui-hmc__text',\n calloutContentRoot: 'fui-hmc__calloutContentRoot',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n tooltip: '',\n axisTitle: '',\n chartTitle: '',\n opacityChangeOnHover: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: ''\n};\nconst useStyles = makeStyles({\n root: {},\n text: {\n ...typographyStyles.body1Strong,\n pointerEvents: 'none'\n },\n calloutContentRoot: {\n maxWidth: '238px'\n }\n});\nexport const useHeatMapChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n root: mergeClasses(heatmapChartClassNames.root, baseStyles.root /*, props.styles?.root*/ ),\n text: mergeClasses(heatmapChartClassNames.text, baseStyles.text /*, props.styles?.text*/ ),\n calloutContentRoot: mergeClasses(heatmapChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot /*, props.styles?.calloutContentRoot*/ )\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,MAAMC,sBAAsB,GAAG;EAClCC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,eAAe;EACrBC,kBAAkB,EAAE,6BAA6B;EACjDC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,oBAAoB,EAAE,EAAE;EACxBC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,EAAE;EACjBC,eAAe,EAAE;AACrB,CAAC;AACD,MAAMC,SAAS,gBAAGvB,QAAA;EAAAI,IAAA;EAAAC,IAAA;IAAAmB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAtB,kBAAA;IAAAuB,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,CASjB,CAAC;AACF,OAAO,MAAMC,qBAAqB,GAAIC,KAAK,IAAG;EAC1C,MAAMC,UAAU,GAAGV,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHnB,IAAI,EAAEH,YAAY,CAACE,sBAAsB,CAACC,IAAI,EAAE6B,UAAU,CAAC7B,IAAI,CAAC,wBAAyB,CAAC;IAC1FC,IAAI,EAAEJ,YAAY,CAACE,sBAAsB,CAACE,IAAI,EAAE4B,UAAU,CAAC5B,IAAI,CAAC,wBAAyB,CAAC;IAC1FC,kBAAkB,EAAEL,YAAY,CAACE,sBAAsB,CAACG,kBAAkB,EAAE2B,UAAU,CAAC3B,kBAAkB,CAAC,sCAAuC;EACrJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","typographyStyles","heatmapChartClassNames","root","text","calloutContentRoot","xAxis","yAxis","legendContainer","hover","descriptionMessage","tooltip","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Bkecrkj","B2u0y6b","d","useHeatMapChartStyles","props","baseStyles"],"sources":["useHeatMapChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from \"@griffel/react\";\nimport { typographyStyles } from \"@fluentui/react-theme\";\nexport const heatmapChartClassNames = {\n root: 'fui-hmc__root',\n text: 'fui-hmc__text',\n calloutContentRoot: 'fui-hmc__calloutContentRoot',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n tooltip: '',\n axisTitle: '',\n chartTitle: '',\n opacityChangeOnHover: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: ''\n};\nconst useStyles = makeStyles({\n root: {},\n text: {\n ...typographyStyles.body1Strong,\n pointerEvents: 'none'\n },\n calloutContentRoot: {\n maxWidth: '238px'\n }\n});\nexport const useHeatMapChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n root: mergeClasses(heatmapChartClassNames.root, baseStyles.root /*, props.styles?.root*/ ),\n text: mergeClasses(heatmapChartClassNames.text, baseStyles.text /*, props.styles?.text*/ ),\n calloutContentRoot: mergeClasses(heatmapChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot /*, props.styles?.calloutContentRoot*/ )\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,MAAMC,sBAAsB,GAAG;EAClCC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,eAAe;EACrBC,kBAAkB,EAAE,6BAA6B;EACjDC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,oBAAoB,EAAE,EAAE;EACxBC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,EAAE;EACjBC,eAAe,EAAE;AACrB,CAAC;AACD,MAAMC,SAAS,gBAAGvB,QAAA;EAAAI,IAAA;EAAAC,IAAA;IAAAmB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAtB,kBAAA;IAAAuB,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,CASjB,CAAC;AACF,OAAO,MAAMC,qBAAqB,GAAIC,KAAK,IAAG;EAC1C,MAAMC,UAAU,GAAGV,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHnB,IAAI,EAAEH,YAAY,CAACE,sBAAsB,CAACC,IAAI,EAAE6B,UAAU,CAAC7B,IAAI,CAAC,wBAAyB,CAAC;IAC1FC,IAAI,EAAEJ,YAAY,CAACE,sBAAsB,CAACE,IAAI,EAAE4B,UAAU,CAAC5B,IAAI,CAAC,wBAAyB,CAAC;IAC1FC,kBAAkB,EAAEL,YAAY,CAACE,sBAAsB,CAACG,kBAAkB,EAAE2B,UAAU,CAAC3B,kBAAkB,CAAC,sCAAuC;EACrJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { makeStyles, mergeClasses } from '@griffel/react';
3
- import { typographyStyles } from '@fluentui/react-theme';
2
+ import { makeStyles, mergeClasses } from "@griffel/react";
3
+ import { typographyStyles } from "@fluentui/react-theme";
4
4
  export const heatmapChartClassNames = {
5
5
  root: 'fui-hmc__root',
6
6
  text: 'fui-hmc__text',
@@ -1,15 +1,15 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useHorizontalBarChartStyles } from './useHorizontalBarChartStyles.styles';
4
- import { HorizontalBarChartVariant } from './index';
5
- import { formatToLocaleString } from '@fluentui/chart-utilities';
6
- import { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from '../../utilities/index';
7
- import { useId } from '@fluentui/react-utilities';
8
- import { tokens } from '@fluentui/react-theme';
9
- import { useFocusableGroup } from '@fluentui/react-tabster';
10
- import { ChartPopover } from '../CommonComponents/ChartPopover';
11
- import { FocusableTooltipText } from '../../utilities/FocusableTooltipText';
12
- import { Legends } from '../../index';
2
+ import * as React from "react";
3
+ import { useHorizontalBarChartStyles } from "./useHorizontalBarChartStyles.styles.js";
4
+ import { HorizontalBarChartVariant } from "./index.js";
5
+ import { formatToLocaleString } from "@fluentui/chart-utilities";
6
+ import { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from "../../utilities/index.js";
7
+ import { useId } from "@fluentui/react-utilities";
8
+ import { tokens } from "@fluentui/react-theme";
9
+ import { useFocusableGroup } from "@fluentui/react-tabster";
10
+ import { ChartPopover } from "../CommonComponents/ChartPopover.js";
11
+ import { FocusableTooltipText } from "../../utilities/FocusableTooltipText.js";
12
+ import { Legends } from "../../index.js";
13
13
  /**
14
14
  * HorizontalBarChart is the context wrapper and container for all HorizontalBarChart content/controls,
15
15
  * It has no direct style or slot opinions.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/HorizontalBarChart/HorizontalBarChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useHorizontalBarChartStyles } from './useHorizontalBarChartStyles.styles';\nimport type { ChartProps, HorizontalBarChartProps, ChartDataPoint, RefArrayData } from './index';\nimport { HorizontalBarChartVariant } from './index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from '../../utilities/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { useFocusableGroup } from '@fluentui/react-tabster';\nimport { ChartPopover } from '../CommonComponents/ChartPopover';\nimport { FocusableTooltipText } from '../../utilities/FocusableTooltipText';\nimport type { Legend } from '../../index';\nimport { Legends } from '../../index';\n\n/**\n * HorizontalBarChart is the context wrapper and container for all HorizontalBarChart content/controls,\n * It has no direct style or slot opinions.\n *\n * HorizontalBarChart also provides API interfaces for callbacks that will occur on navigation events.\n */\nexport const HorizontalBarChart: React.FunctionComponent<HorizontalBarChartProps> = React.forwardRef<\n HTMLDivElement,\n HorizontalBarChartProps\n>((props, forwardedRef) => {\n const legendContainer = React.useRef<HTMLDivElement | null>(null);\n const _uniqLineText: string = useId('_HorizontalLine_');\n const _refArray: RefArrayData[] = [];\n const _isRTL: boolean = useRtl();\n const barChartSvgRef: React.RefObject<SVGSVGElement | null> = React.createRef<SVGSVGElement>();\n const _emptyChartId: string = useId('_HBC_empty');\n let _barHeight: number;\n let _calloutAnchorPoint: ChartDataPoint | null;\n let isSingleBar: boolean = true;\n const _showToolTipOnSegment: boolean = !props.hideTooltip;\n\n const [hoverValue, setHoverValue] = React.useState<string | number | Date | null>('');\n const [lineColor, setLineColor] = React.useState<string>('');\n const [legend, setLegend] = React.useState<string | null>('');\n const [xCalloutValue, setXCalloutValue] = React.useState<string | undefined>('');\n const [yCalloutValue, setYCalloutValue] = React.useState<string | undefined>('');\n const [barCalloutProps, setBarCalloutProps] = React.useState<ChartDataPoint>();\n const [barSpacingInPercent, setBarSpacingInPercent] = React.useState<number>(0);\n const [isPopoverOpen, setPopoverOpen] = React.useState<boolean>(false);\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [selectedLegend, setSelectedLegend] = React.useState<string>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n\n function _refCallback(element: SVGGElement, legendTitle: string | undefined): void {\n _refArray.push({ index: legendTitle, refElement: element });\n }\n\n function _hoverOn(\n event: React.FocusEvent<SVGRectElement> | React.MouseEvent<SVGRectElement>,\n hoverVal: string | number | Date,\n point: ChartDataPoint,\n ): void {\n if (\n (!isPopoverOpen || legend !== point.legend!) &&\n _calloutAnchorPoint !== point &&\n (_legendHighlighted(point.legend) || _noLegendHighlighted())\n ) {\n _calloutAnchorPoint = point;\n let x = 0;\n let y = 0;\n\n if ('clientX' in event && event.clientX && event.clientY) {\n // Mouse event\n x = event.clientX;\n y = event.clientY;\n } else {\n // Focus event\n const targetRect = (event.target as SVGRectElement).getBoundingClientRect();\n x = targetRect.left + targetRect.width / 2;\n y = targetRect.top + targetRect.height / 2;\n }\n\n updatePosition(x, y);\n setHoverValue(hoverVal);\n setLineColor(point.color!);\n setLegend(point.legend!);\n setXCalloutValue(point.xAxisCalloutData!);\n setYCalloutValue(point.yAxisCalloutData!);\n setBarCalloutProps(point);\n // ToDo - Confirm setting multiple state variables like this is performant.\n }\n }\n\n function _hoverOff(): void {\n /*ToDo. To fix*/\n }\n\n const _handleChartMouseLeave = () => {\n _calloutAnchorPoint = null;\n if (isPopoverOpen) {\n setPopoverOpen(false);\n setHoverValue('');\n setLineColor('');\n setLegend('');\n }\n };\n\n const _adjustProps = (): void => {\n _barHeight = props.barHeight || 12;\n };\n\n const _getChartDataText = (data: ChartProps) => {\n /* return props.barChartCustomData ? (\n <div role=\"text\">{props.barChartCustomData(data)}</div>\n ) : ( */\n return _getDefaultTextData(data);\n //)\n };\n\n function _createLegends(chartProps: ChartProps[]): JSXElement {\n const legendItems: Legend[] = chartProps.flatMap(\n point =>\n point.chartData?.map((dataPoint): Legend => {\n const legend = dataPoint.legend ?? '';\n const color = dataPoint.color ?? '';\n\n return {\n title: legend,\n color,\n action: () => setSelectedLegend(selectedLegend === legend ? '' : legend),\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(legend);\n },\n onMouseOutAction: () => setActiveLegend(''),\n };\n }) ?? [],\n );\n\n return (\n <Legends legends={legendItems} centerLegends overflowText={props.legendsOverflowText} {...props.legendProps} />\n );\n }\n\n function _getDefaultTextData(data: ChartProps): JSXElement {\n const chartDataMode = props.chartDataMode || 'default';\n\n if (chartDataMode === 'hidden') {\n return <></>; // No text data for hidden mode\n }\n\n const { culture } = props;\n const accessibilityData = getAccessibleDataObject(data.chartDataAccessibilityData!, 'text', false);\n if (!isSingleBar) {\n const total = data.chartData!.reduce(\n (acc: number, point: ChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {formatToLocaleString(total, culture) as React.ReactNode}\n </div>\n );\n }\n\n const chartData: ChartDataPoint = data!.chartData![0];\n const x = chartData.horizontalBarChartdata!.x;\n const y = chartData.horizontalBarChartdata!.total!;\n\n switch (chartDataMode) {\n case 'default':\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {formatToLocaleString(x, culture) as React.ReactNode}\n </div>\n );\n case 'fraction':\n return (\n <div {...accessibilityData}>\n <span className={classes.chartTitleRight}>{formatToLocaleString(x, culture) as React.ReactNode}</span>\n <span className={classes.chartDataTextDenominator}>{' / ' + formatToLocaleString(y, culture)}</span>\n </div>\n );\n case 'percentage':\n const dataRatioPercentage = `${formatToLocaleString(Math.round((x / y) * 100), culture)}%`;\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {dataRatioPercentage}\n </div>\n );\n }\n }\n\n function _createBenchmark(data: ChartProps): JSXElement {\n if (data.chartData![0].horizontalBarChartdata!.total === undefined) {\n return <></>;\n }\n const totalData = data.chartData![0].horizontalBarChartdata!.total!;\n const benchmarkData = data.chartData![0].data;\n const benchmarkRatio = Math.round(((benchmarkData ? benchmarkData : 0) / totalData) * 100);\n\n const benchmarkStyles = {\n left: 'calc(' + benchmarkRatio + '% - 4px)',\n };\n\n return (\n <div className={classes.benchmarkContainer}>\n <div className={classes.triangle} style={benchmarkStyles} />\n </div>\n );\n }\n\n /**\n * This functions returns an array of <rect> elements, which form the bars\n * For each bar an x value, and a width needs to be specified\n * The computations are done based on percentages\n * Extra margin is also provided, in the x value to provide some spacing in between the bars\n */\n\n function _createBars(data: ChartProps): JSXElement[] {\n const noOfBars =\n data.chartData?.reduce((count: number, point: ChartDataPoint) => (count += (point.data || 0) > 0 ? 1 : 0), 0) ||\n 1;\n const totalMarginPercent = barSpacingInPercent * (noOfBars - 1);\n const defaultColors: string[] = [\n tokens.colorPaletteBlueForeground2,\n tokens.colorPaletteCornflowerForeground2,\n tokens.colorPaletteDarkGreenForeground2,\n tokens.colorPaletteNavyForeground2,\n tokens.colorPaletteDarkOrangeForeground2,\n ];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const total = data.chartData!.reduce(\n (acc: number, point: ChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n let prevPosition = 0;\n let value = 0;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: ChartDataPoint, index: number) => {\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n /**\n * The %age of the space occupied by the margin needs to subtracted\n * while computing the scaling ratio, since the margins are not being\n * scaled down, only the data is being scaled down from a higher percentage to lower percentage\n * Eg: 95% of the space is taken by the bars, 5% by the margins\n * Now if the sumOfPercent is 120% -> This needs to be scaled down to 95%, not 100%\n * since that's only space available to the bars\n */\n const scalingRatio = sumOfPercent !== 0 ? (sumOfPercent - totalMarginPercent) / 100 : 1;\n\n const bars = data.chartData!.map((point: ChartDataPoint, index: number) => {\n const color: string = point.color ? point.color : defaultColors[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n startingPoint.push(prevPosition);\n\n const xValue = point.horizontalBarChartdata!.x;\n const isLegendSelected: boolean = _legendHighlighted(point.legend) || _noLegendHighlighted();\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (point.placeHolder && props.variant === HorizontalBarChartVariant.AbsoluteScale) {\n if (props.hideLabels) {\n return <text key={index} />;\n }\n\n const barValue = data.chartData![0].horizontalBarChartdata!.x;\n\n return (\n <text\n key={index}\n x={`${_isRTL ? 100 - startingPoint[index] : startingPoint[index]}%`}\n y={_barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${_isRTL ? -4 : 4})`}\n className={classes.barLabel}\n aria-hidden={true}\n >\n {formatScientificLimitWidth(barValue)}\n </text>\n );\n }\n\n return (\n <rect\n key={index}\n x={`${\n _isRTL\n ? 100 - startingPoint[index] - value - index * barSpacingInPercent\n : startingPoint[index] + index * barSpacingInPercent\n }%`}\n y={0}\n width={value + '%'}\n height={_barHeight}\n fill={color}\n onMouseOver={\n _showToolTipOnSegment && point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined\n }\n onFocus={_showToolTipOnSegment && point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined}\n role={!point.placeHolder ? 'option' : ''}\n aria-label={!point.placeHolder ? _getAriaLabel(point) : undefined}\n onBlur={_hoverOff}\n onMouseLeave={_hoverOff}\n className={classes.barWrapper}\n opacity={isLegendSelected ? 1 : 0.1}\n tabIndex={!point.placeHolder && (_legendHighlighted(point.legend!) || _noLegendHighlighted()) ? 0 : undefined}\n />\n );\n });\n return bars;\n }\n\n const _getAriaLabel = (point: ChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue =\n point.yAxisCalloutData ||\n (point.horizontalBarChartdata\n ? `${point.horizontalBarChartdata.x}/${point.horizontalBarChartdata.total ?? ''}`\n : 0);\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n\n function _isChartEmpty(): boolean {\n return !(props.data && props.data.length > 0);\n }\n\n function updatePosition(newX: number, newY: number): void {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n React.useEffect(() => {\n const svgWidth = barChartSvgRef?.current?.getBoundingClientRect().width || 0;\n const MARGIN_WIDTH_IN_PX = 3;\n if (svgWidth) {\n const currentBarSpacing = (MARGIN_WIDTH_IN_PX / svgWidth) * 100;\n setBarSpacingInPercent(currentBarSpacing);\n }\n }, [barChartSvgRef]);\n\n function _legendHighlighted(barLegend?: string) {\n if (barLegend === undefined) {\n return false;\n }\n return selectedLegend === barLegend || (selectedLegend === '' && activeLegend === barLegend);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.*/\n\n function _noLegendHighlighted() {\n return selectedLegend === '' && activeLegend === '';\n }\n\n const { data } = props;\n _adjustProps();\n const classes = useHorizontalBarChartStyles(props);\n const focusAttributes = useFocusableGroup();\n const legendButtons = _createLegends(data!);\n\n let datapoint: number | undefined = 0;\n return !_isChartEmpty() ? (\n <div className={classes.root} onMouseLeave={_handleChartMouseLeave}>\n {data!.map((points: ChartProps, index: number) => {\n if (points.chartData && points.chartData![0] && points.chartData![0].horizontalBarChartdata!.x) {\n datapoint = points.chartData![0].horizontalBarChartdata!.x;\n } else {\n datapoint = 0;\n }\n isSingleBar = props.showLegendForSinglePointBar\n ? false\n : points.chartData!.length === 1 || (points.chartData!.length > 1 && points.chartData![1].legend === '');\n if (isSingleBar) {\n points.chartData![1] = {\n placeHolder: true,\n legend: '',\n horizontalBarChartdata: {\n x: points.chartData![0].horizontalBarChartdata!.total! - datapoint!,\n total: points.chartData![0].horizontalBarChartdata!.total!,\n },\n color: tokens.colorBackgroundOverlay,\n };\n }\n\n // Hide right side text of chart title for absolute-scale variant\n const chartDataText =\n props.variant === HorizontalBarChartVariant.AbsoluteScale ? null : _getChartDataText(points!);\n const bars = _createBars(points!);\n const keyVal = _uniqLineText + '_' + index;\n const barGroupAriaLabel = `bar ${index + 1} of ${data!.length}.`;\n // ToDo - Showtriangle property is per data series. How to account for it in the new stylesheet\n /* const classes = useHorizontalBarChartStyles(props.styles!, {\n width: props.width,\n showTriangle: !!points!.chartData![0].data,\n variant: props.variant,\n }); */\n\n return (\n <div key={index}>\n <div className={classes.items} {...focusAttributes}>\n <div className={classes.chartTitle}>\n {points!.chartTitle && (\n <FocusableTooltipText\n className={classes.chartTitleLeft}\n content={points!.chartTitle}\n accessibilityData={points!.chartTitleAccessibilityData}\n />\n )}\n {chartDataText}\n </div>\n {points!.chartData![0].data && _createBenchmark(points!)}\n <svg ref={barChartSvgRef} className={classes.chart} aria-label={points!.chartTitle}>\n <g\n role=\"listbox\"\n id={keyVal}\n aria-label={barGroupAriaLabel}\n ref={(e: SVGGElement) => {\n _refCallback(e, points!.chartData![0].legend);\n }}\n // NOTE: points.chartData![0] contains current data value\n onClick={() => {\n const p = points!.chartData![0];\n if (p && p.onClick) {\n p.onClick();\n }\n }}\n >\n {bars}\n </g>\n </svg>\n </div>\n </div>\n );\n })}\n <ChartPopover\n xCalloutValue={xCalloutValue}\n yCalloutValue={yCalloutValue}\n culture={props.culture}\n clickPosition={clickPosition}\n isPopoverOpen={isPopoverOpen}\n legend={legend!}\n YValue={hoverValue!}\n color={lineColor}\n isCalloutForStack={false}\n customCallout={{\n customizedCallout: props.onRenderCalloutPerHorizontalBar\n ? props.onRenderCalloutPerHorizontalBar(barCalloutProps!)\n : undefined,\n customCalloutProps: props.calloutPropsPerDataPoint\n ? props.calloutPropsPerDataPoint(barCalloutProps!)\n : undefined,\n }}\n isCartesian={false}\n />\n {!isSingleBar && (\n <div\n ref={(e: HTMLDivElement) => {\n legendContainer.current = e;\n }}\n className={classes.legendContainer}\n >\n {legendButtons}\n </div>\n )}\n </div>\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n //TODO validate and fix focus border for issue for popover\n});\nHorizontalBarChart.displayName = 'HorizontalBarChart';\n"],"names":["React","useHorizontalBarChartStyles","HorizontalBarChartVariant","formatToLocaleString","formatScientificLimitWidth","getAccessibleDataObject","useRtl","useId","tokens","useFocusableGroup","ChartPopover","FocusableTooltipText","Legends","HorizontalBarChart","forwardRef","props","forwardedRef","legendContainer","useRef","_uniqLineText","_refArray","_isRTL","barChartSvgRef","createRef","_emptyChartId","_barHeight","_calloutAnchorPoint","isSingleBar","_showToolTipOnSegment","hideTooltip","hoverValue","setHoverValue","useState","lineColor","setLineColor","legend","setLegend","xCalloutValue","setXCalloutValue","yCalloutValue","setYCalloutValue","barCalloutProps","setBarCalloutProps","barSpacingInPercent","setBarSpacingInPercent","isPopoverOpen","setPopoverOpen","clickPosition","setClickPosition","x","y","selectedLegend","setSelectedLegend","activeLegend","setActiveLegend","_refCallback","element","legendTitle","push","index","refElement","_hoverOn","event","hoverVal","point","_legendHighlighted","_noLegendHighlighted","clientX","clientY","targetRect","target","getBoundingClientRect","left","width","top","height","updatePosition","color","xAxisCalloutData","yAxisCalloutData","_hoverOff","_handleChartMouseLeave","_adjustProps","barHeight","_getChartDataText","data","_getDefaultTextData","_createLegends","chartProps","legendItems","flatMap","chartData","map","dataPoint","title","action","hoverAction","onMouseOutAction","legends","centerLegends","overflowText","legendsOverflowText","legendProps","chartDataMode","culture","accessibilityData","chartDataAccessibilityData","total","reduce","acc","horizontalBarChartdata","div","className","classes","chartTitleRight","span","chartDataTextDenominator","dataRatioPercentage","Math","round","_createBenchmark","undefined","totalData","benchmarkData","benchmarkRatio","benchmarkStyles","benchmarkContainer","triangle","style","_createBars","noOfBars","count","totalMarginPercent","defaultColors","colorPaletteBlueForeground2","colorPaletteCornflowerForeground2","colorPaletteDarkGreenForeground2","colorPaletteNavyForeground2","colorPaletteDarkOrangeForeground2","startingPoint","prevPosition","value","sumOfPercent","pointData","scalingRatio","bars","floor","random","xValue","isLegendSelected","placeHolder","variant","AbsoluteScale","hideLabels","text","key","barValue","dominantBaseline","transform","barLabel","aria-hidden","rect","fill","onMouseOver","onFocus","role","aria-label","_getAriaLabel","onBlur","onMouseLeave","barWrapper","opacity","tabIndex","yValue","callOutAccessibilityData","ariaLabel","_isChartEmpty","length","newX","newY","threshold","distance","sqrt","pow","useEffect","svgWidth","current","MARGIN_WIDTH_IN_PX","currentBarSpacing","barLegend","focusAttributes","legendButtons","datapoint","root","points","showLegendForSinglePointBar","colorBackgroundOverlay","chartDataText","keyVal","barGroupAriaLabel","items","chartTitle","chartTitleLeft","content","chartTitleAccessibilityData","svg","ref","chart","g","id","e","onClick","p","YValue","isCalloutForStack","customCallout","customizedCallout","onRenderCalloutPerHorizontalBar","customCalloutProps","calloutPropsPerDataPoint","isCartesian","displayName"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/HorizontalBarChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useHorizontalBarChartStyles } from './useHorizontalBarChartStyles.styles';\nimport type { ChartProps, HorizontalBarChartProps, ChartDataPoint, RefArrayData } from './index';\nimport { HorizontalBarChartVariant } from './index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from '../../utilities/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport { useFocusableGroup } from '@fluentui/react-tabster';\nimport { ChartPopover } from '../CommonComponents/ChartPopover';\nimport { FocusableTooltipText } from '../../utilities/FocusableTooltipText';\nimport type { Legend } from '../../index';\nimport { Legends } from '../../index';\n\n/**\n * HorizontalBarChart is the context wrapper and container for all HorizontalBarChart content/controls,\n * It has no direct style or slot opinions.\n *\n * HorizontalBarChart also provides API interfaces for callbacks that will occur on navigation events.\n */\nexport const HorizontalBarChart: React.FunctionComponent<HorizontalBarChartProps> = React.forwardRef<\n HTMLDivElement,\n HorizontalBarChartProps\n>((props, forwardedRef) => {\n const legendContainer = React.useRef<HTMLDivElement | null>(null);\n const _uniqLineText: string = useId('_HorizontalLine_');\n const _refArray: RefArrayData[] = [];\n const _isRTL: boolean = useRtl();\n const barChartSvgRef: React.RefObject<SVGSVGElement | null> = React.createRef<SVGSVGElement>();\n const _emptyChartId: string = useId('_HBC_empty');\n let _barHeight: number;\n let _calloutAnchorPoint: ChartDataPoint | null;\n let isSingleBar: boolean = true;\n const _showToolTipOnSegment: boolean = !props.hideTooltip;\n\n const [hoverValue, setHoverValue] = React.useState<string | number | Date | null>('');\n const [lineColor, setLineColor] = React.useState<string>('');\n const [legend, setLegend] = React.useState<string | null>('');\n const [xCalloutValue, setXCalloutValue] = React.useState<string | undefined>('');\n const [yCalloutValue, setYCalloutValue] = React.useState<string | undefined>('');\n const [barCalloutProps, setBarCalloutProps] = React.useState<ChartDataPoint>();\n const [barSpacingInPercent, setBarSpacingInPercent] = React.useState<number>(0);\n const [isPopoverOpen, setPopoverOpen] = React.useState<boolean>(false);\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [selectedLegend, setSelectedLegend] = React.useState<string>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n\n function _refCallback(element: SVGGElement, legendTitle: string | undefined): void {\n _refArray.push({ index: legendTitle, refElement: element });\n }\n\n function _hoverOn(\n event: React.FocusEvent<SVGRectElement> | React.MouseEvent<SVGRectElement>,\n hoverVal: string | number | Date,\n point: ChartDataPoint,\n ): void {\n if (\n (!isPopoverOpen || legend !== point.legend!) &&\n _calloutAnchorPoint !== point &&\n (_legendHighlighted(point.legend) || _noLegendHighlighted())\n ) {\n _calloutAnchorPoint = point;\n let x = 0;\n let y = 0;\n\n if ('clientX' in event && event.clientX && event.clientY) {\n // Mouse event\n x = event.clientX;\n y = event.clientY;\n } else {\n // Focus event\n const targetRect = (event.target as SVGRectElement).getBoundingClientRect();\n x = targetRect.left + targetRect.width / 2;\n y = targetRect.top + targetRect.height / 2;\n }\n\n updatePosition(x, y);\n setHoverValue(hoverVal);\n setLineColor(point.color!);\n setLegend(point.legend!);\n setXCalloutValue(point.xAxisCalloutData!);\n setYCalloutValue(point.yAxisCalloutData!);\n setBarCalloutProps(point);\n // ToDo - Confirm setting multiple state variables like this is performant.\n }\n }\n\n function _hoverOff(): void {\n /*ToDo. To fix*/\n }\n\n const _handleChartMouseLeave = () => {\n _calloutAnchorPoint = null;\n if (isPopoverOpen) {\n setPopoverOpen(false);\n setHoverValue('');\n setLineColor('');\n setLegend('');\n }\n };\n\n const _adjustProps = (): void => {\n _barHeight = props.barHeight || 12;\n };\n\n const _getChartDataText = (data: ChartProps) => {\n /* return props.barChartCustomData ? (\n <div role=\"text\">{props.barChartCustomData(data)}</div>\n ) : ( */\n return _getDefaultTextData(data);\n //)\n };\n\n function _createLegends(chartProps: ChartProps[]): JSXElement {\n const legendItems: Legend[] = chartProps.flatMap(\n point =>\n point.chartData?.map((dataPoint): Legend => {\n const legend = dataPoint.legend ?? '';\n const color = dataPoint.color ?? '';\n\n return {\n title: legend,\n color,\n action: () => setSelectedLegend(selectedLegend === legend ? '' : legend),\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(legend);\n },\n onMouseOutAction: () => setActiveLegend(''),\n };\n }) ?? [],\n );\n\n return (\n <Legends legends={legendItems} centerLegends overflowText={props.legendsOverflowText} {...props.legendProps} />\n );\n }\n\n function _getDefaultTextData(data: ChartProps): JSXElement {\n const chartDataMode = props.chartDataMode || 'default';\n\n if (chartDataMode === 'hidden') {\n return <></>; // No text data for hidden mode\n }\n\n const { culture } = props;\n const accessibilityData = getAccessibleDataObject(data.chartDataAccessibilityData!, 'text', false);\n if (!isSingleBar) {\n const total = data.chartData!.reduce(\n (acc: number, point: ChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {formatToLocaleString(total, culture) as React.ReactNode}\n </div>\n );\n }\n\n const chartData: ChartDataPoint = data!.chartData![0];\n const x = chartData.horizontalBarChartdata!.x;\n const y = chartData.horizontalBarChartdata!.total!;\n\n switch (chartDataMode) {\n case 'default':\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {formatToLocaleString(x, culture) as React.ReactNode}\n </div>\n );\n case 'fraction':\n return (\n <div {...accessibilityData}>\n <span className={classes.chartTitleRight}>{formatToLocaleString(x, culture) as React.ReactNode}</span>\n <span className={classes.chartDataTextDenominator}>{' / ' + formatToLocaleString(y, culture)}</span>\n </div>\n );\n case 'percentage':\n const dataRatioPercentage = `${formatToLocaleString(Math.round((x / y) * 100), culture)}%`;\n return (\n <div className={classes.chartTitleRight} {...accessibilityData}>\n {dataRatioPercentage}\n </div>\n );\n }\n }\n\n function _createBenchmark(data: ChartProps): JSXElement {\n if (data.chartData![0].horizontalBarChartdata!.total === undefined) {\n return <></>;\n }\n const totalData = data.chartData![0].horizontalBarChartdata!.total!;\n const benchmarkData = data.chartData![0].data;\n const benchmarkRatio = Math.round(((benchmarkData ? benchmarkData : 0) / totalData) * 100);\n\n const benchmarkStyles = {\n left: 'calc(' + benchmarkRatio + '% - 4px)',\n };\n\n return (\n <div className={classes.benchmarkContainer}>\n <div className={classes.triangle} style={benchmarkStyles} />\n </div>\n );\n }\n\n /**\n * This functions returns an array of <rect> elements, which form the bars\n * For each bar an x value, and a width needs to be specified\n * The computations are done based on percentages\n * Extra margin is also provided, in the x value to provide some spacing in between the bars\n */\n\n function _createBars(data: ChartProps): JSXElement[] {\n const noOfBars =\n data.chartData?.reduce((count: number, point: ChartDataPoint) => (count += (point.data || 0) > 0 ? 1 : 0), 0) ||\n 1;\n const totalMarginPercent = barSpacingInPercent * (noOfBars - 1);\n const defaultColors: string[] = [\n tokens.colorPaletteBlueForeground2,\n tokens.colorPaletteCornflowerForeground2,\n tokens.colorPaletteDarkGreenForeground2,\n tokens.colorPaletteNavyForeground2,\n tokens.colorPaletteDarkOrangeForeground2,\n ];\n // calculating starting point of each bar and it's range\n const startingPoint: number[] = [];\n const total = data.chartData!.reduce(\n (acc: number, point: ChartDataPoint) =>\n acc + (point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0),\n 0,\n );\n let prevPosition = 0;\n let value = 0;\n\n let sumOfPercent = 0;\n data.chartData!.map((point: ChartDataPoint, index: number) => {\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1;\n }\n sumOfPercent += value;\n\n return sumOfPercent;\n });\n\n /**\n * The %age of the space occupied by the margin needs to subtracted\n * while computing the scaling ratio, since the margins are not being\n * scaled down, only the data is being scaled down from a higher percentage to lower percentage\n * Eg: 95% of the space is taken by the bars, 5% by the margins\n * Now if the sumOfPercent is 120% -> This needs to be scaled down to 95%, not 100%\n * since that's only space available to the bars\n */\n const scalingRatio = sumOfPercent !== 0 ? (sumOfPercent - totalMarginPercent) / 100 : 1;\n\n const bars = data.chartData!.map((point: ChartDataPoint, index: number) => {\n const color: string = point.color ? point.color : defaultColors[Math.floor(Math.random() * 4 + 1)];\n const pointData = point.horizontalBarChartdata!.x ? point.horizontalBarChartdata!.x : 0;\n if (index > 0) {\n prevPosition += value;\n }\n value = (pointData / total) * 100;\n if (value < 0) {\n value = 0;\n } else if (value < 1 && value !== 0) {\n value = 1 / scalingRatio;\n } else {\n value = value / scalingRatio;\n }\n startingPoint.push(prevPosition);\n\n const xValue = point.horizontalBarChartdata!.x;\n const isLegendSelected: boolean = _legendHighlighted(point.legend) || _noLegendHighlighted();\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (point.placeHolder && props.variant === HorizontalBarChartVariant.AbsoluteScale) {\n if (props.hideLabels) {\n return <text key={index} />;\n }\n\n const barValue = data.chartData![0].horizontalBarChartdata!.x;\n\n return (\n <text\n key={index}\n x={`${_isRTL ? 100 - startingPoint[index] : startingPoint[index]}%`}\n y={_barHeight / 2}\n dominantBaseline=\"central\"\n transform={`translate(${_isRTL ? -4 : 4})`}\n className={classes.barLabel}\n aria-hidden={true}\n >\n {formatScientificLimitWidth(barValue)}\n </text>\n );\n }\n\n return (\n <rect\n key={index}\n x={`${\n _isRTL\n ? 100 - startingPoint[index] - value - index * barSpacingInPercent\n : startingPoint[index] + index * barSpacingInPercent\n }%`}\n y={0}\n width={value + '%'}\n height={_barHeight}\n fill={color}\n onMouseOver={\n _showToolTipOnSegment && point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined\n }\n onFocus={_showToolTipOnSegment && point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined}\n role={!point.placeHolder ? 'option' : ''}\n aria-label={!point.placeHolder ? _getAriaLabel(point) : undefined}\n onBlur={_hoverOff}\n onMouseLeave={_hoverOff}\n className={classes.barWrapper}\n opacity={isLegendSelected ? 1 : 0.1}\n tabIndex={!point.placeHolder && (_legendHighlighted(point.legend!) || _noLegendHighlighted()) ? 0 : undefined}\n />\n );\n });\n return bars;\n }\n\n const _getAriaLabel = (point: ChartDataPoint): string => {\n const legend = point.xAxisCalloutData || point.legend;\n const yValue =\n point.yAxisCalloutData ||\n (point.horizontalBarChartdata\n ? `${point.horizontalBarChartdata.x}/${point.horizontalBarChartdata.total ?? ''}`\n : 0);\n return point.callOutAccessibilityData?.ariaLabel || (legend ? `${legend}, ` : '') + `${yValue}.`;\n };\n\n function _isChartEmpty(): boolean {\n return !(props.data && props.data.length > 0);\n }\n\n function updatePosition(newX: number, newY: number): void {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n React.useEffect(() => {\n const svgWidth = barChartSvgRef?.current?.getBoundingClientRect().width || 0;\n const MARGIN_WIDTH_IN_PX = 3;\n if (svgWidth) {\n const currentBarSpacing = (MARGIN_WIDTH_IN_PX / svgWidth) * 100;\n setBarSpacingInPercent(currentBarSpacing);\n }\n }, [barChartSvgRef]);\n\n function _legendHighlighted(barLegend?: string) {\n if (barLegend === undefined) {\n return false;\n }\n return selectedLegend === barLegend || (selectedLegend === '' && activeLegend === barLegend);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.*/\n\n function _noLegendHighlighted() {\n return selectedLegend === '' && activeLegend === '';\n }\n\n const { data } = props;\n _adjustProps();\n const classes = useHorizontalBarChartStyles(props);\n const focusAttributes = useFocusableGroup();\n const legendButtons = _createLegends(data!);\n\n let datapoint: number | undefined = 0;\n return !_isChartEmpty() ? (\n <div className={classes.root} onMouseLeave={_handleChartMouseLeave}>\n {data!.map((points: ChartProps, index: number) => {\n if (points.chartData && points.chartData![0] && points.chartData![0].horizontalBarChartdata!.x) {\n datapoint = points.chartData![0].horizontalBarChartdata!.x;\n } else {\n datapoint = 0;\n }\n isSingleBar = props.showLegendForSinglePointBar\n ? false\n : points.chartData!.length === 1 || (points.chartData!.length > 1 && points.chartData![1].legend === '');\n if (isSingleBar) {\n points.chartData![1] = {\n placeHolder: true,\n legend: '',\n horizontalBarChartdata: {\n x: points.chartData![0].horizontalBarChartdata!.total! - datapoint!,\n total: points.chartData![0].horizontalBarChartdata!.total!,\n },\n color: tokens.colorBackgroundOverlay,\n };\n }\n\n // Hide right side text of chart title for absolute-scale variant\n const chartDataText =\n props.variant === HorizontalBarChartVariant.AbsoluteScale ? null : _getChartDataText(points!);\n const bars = _createBars(points!);\n const keyVal = _uniqLineText + '_' + index;\n const barGroupAriaLabel = `bar ${index + 1} of ${data!.length}.`;\n // ToDo - Showtriangle property is per data series. How to account for it in the new stylesheet\n /* const classes = useHorizontalBarChartStyles(props.styles!, {\n width: props.width,\n showTriangle: !!points!.chartData![0].data,\n variant: props.variant,\n }); */\n\n return (\n <div key={index}>\n <div className={classes.items} {...focusAttributes}>\n <div className={classes.chartTitle}>\n {points!.chartTitle && (\n <FocusableTooltipText\n className={classes.chartTitleLeft}\n content={points!.chartTitle}\n accessibilityData={points!.chartTitleAccessibilityData}\n />\n )}\n {chartDataText}\n </div>\n {points!.chartData![0].data && _createBenchmark(points!)}\n <svg ref={barChartSvgRef} className={classes.chart} aria-label={points!.chartTitle}>\n <g\n role=\"listbox\"\n id={keyVal}\n aria-label={barGroupAriaLabel}\n ref={(e: SVGGElement) => {\n _refCallback(e, points!.chartData![0].legend);\n }}\n // NOTE: points.chartData![0] contains current data value\n onClick={() => {\n const p = points!.chartData![0];\n if (p && p.onClick) {\n p.onClick();\n }\n }}\n >\n {bars}\n </g>\n </svg>\n </div>\n </div>\n );\n })}\n <ChartPopover\n xCalloutValue={xCalloutValue}\n yCalloutValue={yCalloutValue}\n culture={props.culture}\n clickPosition={clickPosition}\n isPopoverOpen={isPopoverOpen}\n legend={legend!}\n YValue={hoverValue!}\n color={lineColor}\n isCalloutForStack={false}\n customCallout={{\n customizedCallout: props.onRenderCalloutPerHorizontalBar\n ? props.onRenderCalloutPerHorizontalBar(barCalloutProps!)\n : undefined,\n customCalloutProps: props.calloutPropsPerDataPoint\n ? props.calloutPropsPerDataPoint(barCalloutProps!)\n : undefined,\n }}\n isCartesian={false}\n />\n {!isSingleBar && (\n <div\n ref={(e: HTMLDivElement) => {\n legendContainer.current = e;\n }}\n className={classes.legendContainer}\n >\n {legendButtons}\n </div>\n )}\n </div>\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n //TODO validate and fix focus border for issue for popover\n});\nHorizontalBarChart.displayName = 'HorizontalBarChart';\n"],"names":["React","useHorizontalBarChartStyles","HorizontalBarChartVariant","formatToLocaleString","formatScientificLimitWidth","getAccessibleDataObject","useRtl","useId","tokens","useFocusableGroup","ChartPopover","FocusableTooltipText","Legends","HorizontalBarChart","forwardRef","props","forwardedRef","legendContainer","useRef","_uniqLineText","_refArray","_isRTL","barChartSvgRef","createRef","_emptyChartId","_barHeight","_calloutAnchorPoint","isSingleBar","_showToolTipOnSegment","hideTooltip","hoverValue","setHoverValue","useState","lineColor","setLineColor","legend","setLegend","xCalloutValue","setXCalloutValue","yCalloutValue","setYCalloutValue","barCalloutProps","setBarCalloutProps","barSpacingInPercent","setBarSpacingInPercent","isPopoverOpen","setPopoverOpen","clickPosition","setClickPosition","x","y","selectedLegend","setSelectedLegend","activeLegend","setActiveLegend","_refCallback","element","legendTitle","push","index","refElement","_hoverOn","event","hoverVal","point","_legendHighlighted","_noLegendHighlighted","clientX","clientY","targetRect","target","getBoundingClientRect","left","width","top","height","updatePosition","color","xAxisCalloutData","yAxisCalloutData","_hoverOff","_handleChartMouseLeave","_adjustProps","barHeight","_getChartDataText","data","_getDefaultTextData","_createLegends","chartProps","legendItems","flatMap","chartData","map","dataPoint","title","action","hoverAction","onMouseOutAction","legends","centerLegends","overflowText","legendsOverflowText","legendProps","chartDataMode","culture","accessibilityData","chartDataAccessibilityData","total","reduce","acc","horizontalBarChartdata","div","className","classes","chartTitleRight","span","chartDataTextDenominator","dataRatioPercentage","Math","round","_createBenchmark","undefined","totalData","benchmarkData","benchmarkRatio","benchmarkStyles","benchmarkContainer","triangle","style","_createBars","noOfBars","count","totalMarginPercent","defaultColors","colorPaletteBlueForeground2","colorPaletteCornflowerForeground2","colorPaletteDarkGreenForeground2","colorPaletteNavyForeground2","colorPaletteDarkOrangeForeground2","startingPoint","prevPosition","value","sumOfPercent","pointData","scalingRatio","bars","floor","random","xValue","isLegendSelected","placeHolder","variant","AbsoluteScale","hideLabels","text","key","barValue","dominantBaseline","transform","barLabel","aria-hidden","rect","fill","onMouseOver","onFocus","role","aria-label","_getAriaLabel","onBlur","onMouseLeave","barWrapper","opacity","tabIndex","yValue","callOutAccessibilityData","ariaLabel","_isChartEmpty","length","newX","newY","threshold","distance","sqrt","pow","useEffect","svgWidth","current","MARGIN_WIDTH_IN_PX","currentBarSpacing","barLegend","focusAttributes","legendButtons","datapoint","root","points","showLegendForSinglePointBar","colorBackgroundOverlay","chartDataText","keyVal","barGroupAriaLabel","items","chartTitle","chartTitleLeft","content","chartTitleAccessibilityData","svg","ref","chart","g","id","e","onClick","p","YValue","isCalloutForStack","customCallout","customizedCallout","onRenderCalloutPerHorizontalBar","customCalloutProps","calloutPropsPerDataPoint","isCartesian","displayName"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export * from './HorizontalBarChart';
2
- export * from './HorizontalBarChart.types';
3
- export * from '../../types/index';
1
+ export * from "./HorizontalBarChart.js";
2
+ export * from "./HorizontalBarChart.types.js";
3
+ export * from "../../types/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/HorizontalBarChart/index.ts"],"sourcesContent":["export * from './HorizontalBarChart';\nexport * from './HorizontalBarChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,6BAA6B;AAC3C,cAAc,oBAAoB"}
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/index.ts"],"sourcesContent":["export * from './HorizontalBarChart';\nexport * from './HorizontalBarChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,0BAAuB;AACrC,cAAc,gCAA6B;AAC3C,cAAc,uBAAoB"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
- import { __styles, mergeClasses } from '@griffel/react';
4
- import { tokens, typographyStyles } from '@fluentui/react-theme';
5
- import { HorizontalBarChartVariant } from './index';
6
- import { HighContrastSelector } from '../../utilities/index';
3
+ import { __styles, mergeClasses } from "@griffel/react";
4
+ import { tokens, typographyStyles } from "@fluentui/react-theme";
5
+ import { HorizontalBarChartVariant } from "./index.js";
6
+ import { HighContrastSelector } from "../../utilities/index.js";
7
7
  /**
8
8
  * @internal
9
9
  */
@@ -117,7 +117,7 @@ const useStyles = /*#__PURE__*/__styles({
117
117
  Bj7tp1g: "f788z2a"
118
118
  },
119
119
  chartWrapper40ppadding: {
120
- z189sj: ["f1emi2st", "f53ee3v"]
120
+ z189sj: ["fnaqv0d", "f154pje0"]
121
121
  },
122
122
  chartWrapper0ppadding: {
123
123
  z189sj: ["flk2ux3", "fkl3uby"]
@@ -140,7 +140,7 @@ const useStyles = /*#__PURE__*/__styles({
140
140
  p: -1
141
141
  }], [".f5jyd6j{border-top:7px solid;}", {
142
142
  p: -1
143
- }], ".f1bpgvfk{border-top-color:var(--colorPaletteBlueBorderActive);}", ".f8l5zjj{margin-bottom:var(--spacingVerticalXS);}", ".f1euv43f{position:absolute;}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".f1emi2st{padding-right:40p;}", ".f53ee3v{padding-left:40p;}", ".flk2ux3{padding-right:var(--spacingHorizontalNone);}", ".fkl3uby{padding-left:var(--spacingHorizontalNone);}", ".fikn0iw{padding-top:var(--spacingVerticalL);}"],
143
+ }], ".f1bpgvfk{border-top-color:var(--colorPaletteBlueBorderActive);}", ".f8l5zjj{margin-bottom:var(--spacingVerticalXS);}", ".f1euv43f{position:absolute;}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".fnaqv0d{padding-right:40px;}", ".f154pje0{padding-left:40px;}", ".flk2ux3{padding-right:var(--spacingHorizontalNone);}", ".fkl3uby{padding-left:var(--spacingHorizontalNone);}", ".fikn0iw{padding-top:var(--spacingVerticalL);}"],
144
144
  m: [["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.f788z2a{stroke:CanvasText;}}", {
145
145
  m: "screen and (-ms-high-contrast: active), screen and (forced-colors: active)"
146
146
  }]]