@fluentui/react-charts 9.1.9 → 9.2.0

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 (451) hide show
  1. package/CHANGELOG.md +47 -2
  2. package/dist/index.d.ts +348 -11
  3. package/lib/AreaChart.js.map +1 -1
  4. package/lib/CartesianChart.js.map +1 -1
  5. package/lib/DeclarativeChart.js.map +1 -1
  6. package/lib/DonutChart.js.map +1 -1
  7. package/lib/FunnelChart.js +1 -0
  8. package/lib/FunnelChart.js.map +1 -0
  9. package/lib/GanttChart.js +1 -0
  10. package/lib/GanttChart.js.map +1 -0
  11. package/lib/GaugeChart.js.map +1 -1
  12. package/lib/GroupedVerticalBarChart.js.map +1 -1
  13. package/lib/HeatMapChart.js.map +1 -1
  14. package/lib/HorizontalBarChart.js.map +1 -1
  15. package/lib/HorizontalBarChartWithAxis.js.map +1 -1
  16. package/lib/Legends.js.map +1 -1
  17. package/lib/LineChart.js.map +1 -1
  18. package/lib/Popover.js.map +1 -1
  19. package/lib/ResponsiveContainer.js.map +1 -1
  20. package/lib/SankeyChart.js.map +1 -1
  21. package/lib/ScatterChart.js.map +1 -1
  22. package/lib/Sparkline.js.map +1 -1
  23. package/lib/VerticalBarChart.js.map +1 -1
  24. package/lib/VerticalStackedBarChart.js.map +1 -1
  25. package/lib/components/AreaChart/AreaChart.js +24 -8
  26. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  27. package/lib/components/AreaChart/AreaChart.types.js.map +1 -1
  28. package/lib/components/AreaChart/index.js.map +1 -1
  29. package/lib/components/AreaChart/useAreaChartStyles.styles.js +1 -2
  30. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +41 -0
  31. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -0
  32. package/lib/components/CommonComponents/CartesianChart.js +12 -8
  33. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  34. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  35. package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
  36. package/lib/components/CommonComponents/ChartPopover.types.js.map +1 -1
  37. package/lib/components/CommonComponents/index.js.map +1 -1
  38. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +1 -2
  39. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +128 -0
  40. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -0
  41. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +1 -2
  42. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +126 -0
  43. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -0
  44. package/lib/components/DeclarativeChart/DeclarativeChart.js +15 -7
  45. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  46. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +44 -13
  47. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  48. package/lib/components/DeclarativeChart/imageExporter.js +1 -0
  49. package/lib/components/DeclarativeChart/imageExporter.js.map +1 -1
  50. package/lib/components/DeclarativeChart/index.js.map +1 -1
  51. package/lib/components/DonutChart/Arc/Arc.js +5 -5
  52. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  53. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
  54. package/lib/components/DonutChart/Arc/index.js.map +1 -1
  55. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +1 -2
  56. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +44 -0
  57. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -0
  58. package/lib/components/DonutChart/DonutChart.js +18 -4
  59. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  60. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  61. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  62. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
  63. package/lib/components/DonutChart/Pie/index.js.map +1 -1
  64. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +1 -2
  65. package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +29 -0
  66. package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -0
  67. package/lib/components/DonutChart/index.js.map +1 -1
  68. package/lib/components/DonutChart/useDonutChartStyles.styles.js +1 -2
  69. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +45 -0
  70. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -0
  71. package/lib/components/FunnelChart/FunnelChart.js +400 -0
  72. package/lib/components/FunnelChart/FunnelChart.js.map +1 -0
  73. package/lib/components/FunnelChart/FunnelChart.types.js +1 -0
  74. package/lib/components/FunnelChart/FunnelChart.types.js.map +1 -0
  75. package/lib/components/FunnelChart/funnelGeometry.js +220 -0
  76. package/lib/components/FunnelChart/funnelGeometry.js.map +1 -0
  77. package/lib/components/FunnelChart/index.js +2 -0
  78. package/lib/components/FunnelChart/index.js.map +1 -0
  79. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +58 -0
  80. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -0
  81. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +51 -0
  82. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -0
  83. package/lib/components/GanttChart/GanttChart.js +547 -0
  84. package/lib/components/GanttChart/GanttChart.js.map +1 -0
  85. package/lib/components/GanttChart/GanttChart.types.js +4 -0
  86. package/lib/components/GanttChart/GanttChart.types.js.map +1 -0
  87. package/lib/components/GanttChart/index.js +2 -0
  88. package/lib/components/GanttChart/index.js.map +1 -0
  89. package/lib/components/GanttChart/useGanttChartStyles.styles.js +24 -0
  90. package/lib/components/GanttChart/useGanttChartStyles.styles.js.map +1 -0
  91. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js +23 -0
  92. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -0
  93. package/lib/components/GaugeChart/GaugeChart.js +9 -2
  94. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  95. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  96. package/lib/components/GaugeChart/index.js.map +1 -1
  97. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +1 -2
  98. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +142 -0
  99. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -0
  100. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +77 -60
  101. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  102. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  103. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
  104. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +1 -2
  105. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +53 -0
  106. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -0
  107. package/lib/components/HeatMapChart/HeatMapChart.js +11 -3
  108. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  109. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  110. package/lib/components/HeatMapChart/index.js.map +1 -1
  111. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +1 -2
  112. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +38 -0
  113. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -0
  114. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +23 -26
  115. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  116. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +5 -3
  117. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  118. package/lib/components/HorizontalBarChart/index.js.map +1 -1
  119. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +1 -2
  120. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +120 -0
  121. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -0
  122. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +18 -5
  123. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  124. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  125. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  126. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +1 -2
  127. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +39 -0
  128. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -0
  129. package/lib/components/Legends/Legends.js +28 -10
  130. package/lib/components/Legends/Legends.js.map +1 -1
  131. package/lib/components/Legends/Legends.types.js.map +1 -1
  132. package/lib/components/Legends/OverflowMenu.js.map +1 -1
  133. package/lib/components/Legends/index.js.map +1 -1
  134. package/lib/components/Legends/shape.js +3 -3
  135. package/lib/components/Legends/shape.js.map +1 -1
  136. package/lib/components/Legends/useLegendsStyles.styles.js +57 -14
  137. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  138. package/lib/components/Legends/useLegendsStyles.styles.raw.js +138 -0
  139. package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -0
  140. package/lib/components/LineChart/LineChart.js +23 -9
  141. package/lib/components/LineChart/LineChart.js.map +1 -1
  142. package/lib/components/LineChart/LineChart.types.js.map +1 -1
  143. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  144. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  145. package/lib/components/LineChart/eventAnnotation/Textbox.js +2 -1
  146. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  147. package/lib/components/LineChart/index.js.map +1 -1
  148. package/lib/components/LineChart/useLineChartStyles.styles.js +1 -2
  149. package/lib/components/LineChart/useLineChartStyles.styles.raw.js +52 -0
  150. package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -0
  151. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  152. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
  153. package/lib/components/ResponsiveContainer/index.js.map +1 -1
  154. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -2
  155. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +28 -0
  156. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -0
  157. package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
  158. package/lib/components/SankeyChart/SankeyChart.js +5 -1
  159. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  160. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  161. package/lib/components/SankeyChart/index.js.map +1 -1
  162. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +1 -2
  163. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +77 -0
  164. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -0
  165. package/lib/components/ScatterChart/ScatterChart.js +19 -5
  166. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  167. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  168. package/lib/components/ScatterChart/index.js.map +1 -1
  169. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +1 -2
  170. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +43 -0
  171. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -0
  172. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  173. package/lib/components/Sparkline/Sparkline.types.js.map +1 -1
  174. package/lib/components/Sparkline/index.js.map +1 -1
  175. package/lib/components/Sparkline/useSparklineStyles.styles.js +1 -2
  176. package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +30 -0
  177. package/lib/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -0
  178. package/lib/components/VerticalBarChart/VerticalBarChart.js +71 -31
  179. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  180. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  181. package/lib/components/VerticalBarChart/index.js.map +1 -1
  182. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +1 -2
  183. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +58 -0
  184. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -0
  185. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +26 -12
  186. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  187. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  188. package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
  189. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +1 -2
  190. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +49 -0
  191. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -0
  192. package/lib/index.js +2 -0
  193. package/lib/index.js.map +1 -1
  194. package/lib/types/DataPoint.js +3 -1
  195. package/lib/types/DataPoint.js.map +1 -1
  196. package/lib/types/EventAnnotation.js.map +1 -1
  197. package/lib/types/LegendDataItem.js.map +1 -1
  198. package/lib/types/index.js.map +1 -1
  199. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  200. package/lib/utilities/KeyCodes.js.map +1 -1
  201. package/lib/utilities/SVGTooltipText.js +2 -0
  202. package/lib/utilities/SVGTooltipText.js.map +1 -1
  203. package/lib/utilities/async-utils.js.map +1 -1
  204. package/lib/utilities/colors.js +12 -0
  205. package/lib/utilities/colors.js.map +1 -1
  206. package/lib/utilities/getWindow.js.map +1 -1
  207. package/lib/utilities/image-export-utils.js +256 -0
  208. package/lib/utilities/image-export-utils.js.map +1 -0
  209. package/lib/utilities/index.js.map +1 -1
  210. package/lib/utilities/overflow-utils.js.map +1 -1
  211. package/lib/utilities/string.js.map +1 -1
  212. package/lib/utilities/test-data.js +236 -0
  213. package/lib/utilities/test-data.js.map +1 -1
  214. package/lib/utilities/utilities.js +140 -27
  215. package/lib/utilities/utilities.js.map +1 -1
  216. package/lib/utilities/vbc-utils.js +2 -2
  217. package/lib/utilities/vbc-utils.js.map +1 -1
  218. package/lib-commonjs/AreaChart.js.map +1 -1
  219. package/lib-commonjs/CartesianChart.js.map +1 -1
  220. package/lib-commonjs/DeclarativeChart.js.map +1 -1
  221. package/lib-commonjs/DonutChart.js.map +1 -1
  222. package/lib-commonjs/FunnelChart.js +6 -0
  223. package/lib-commonjs/FunnelChart.js.map +1 -0
  224. package/lib-commonjs/GanttChart.js +6 -0
  225. package/lib-commonjs/GanttChart.js.map +1 -0
  226. package/lib-commonjs/GaugeChart.js.map +1 -1
  227. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
  228. package/lib-commonjs/HeatMapChart.js.map +1 -1
  229. package/lib-commonjs/HorizontalBarChart.js.map +1 -1
  230. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
  231. package/lib-commonjs/Legends.js.map +1 -1
  232. package/lib-commonjs/LineChart.js.map +1 -1
  233. package/lib-commonjs/Popover.js.map +1 -1
  234. package/lib-commonjs/ResponsiveContainer.js.map +1 -1
  235. package/lib-commonjs/SankeyChart.js.map +1 -1
  236. package/lib-commonjs/ScatterChart.js.map +1 -1
  237. package/lib-commonjs/Sparkline.js.map +1 -1
  238. package/lib-commonjs/VerticalBarChart.js.map +1 -1
  239. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
  240. package/lib-commonjs/components/AreaChart/AreaChart.js +23 -7
  241. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  242. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -1
  243. package/lib-commonjs/components/AreaChart/index.js.map +1 -1
  244. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +1 -1
  245. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  246. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +57 -0
  247. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -0
  248. package/lib-commonjs/components/CommonComponents/CartesianChart.js +11 -7
  249. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  250. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  251. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -1
  252. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +1 -1
  253. package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
  254. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +1 -1
  255. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  256. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +142 -0
  257. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -0
  258. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +1 -1
  259. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  260. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js +140 -0
  261. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -0
  262. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +14 -6
  263. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  264. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +47 -13
  265. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  266. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +1 -0
  267. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -1
  268. package/lib-commonjs/components/DeclarativeChart/index.js.map +1 -1
  269. package/lib-commonjs/components/DonutChart/Arc/Arc.js +5 -5
  270. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  271. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
  272. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
  273. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +1 -1
  274. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  275. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +58 -0
  276. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -0
  277. package/lib-commonjs/components/DonutChart/DonutChart.js +17 -3
  278. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  279. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  280. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  281. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
  282. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
  283. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +1 -1
  284. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  285. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js +43 -0
  286. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -0
  287. package/lib-commonjs/components/DonutChart/index.js.map +1 -1
  288. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +1 -1
  289. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  290. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +59 -0
  291. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -0
  292. package/lib-commonjs/components/FunnelChart/FunnelChart.js +411 -0
  293. package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -0
  294. package/lib-commonjs/components/FunnelChart/FunnelChart.types.js +6 -0
  295. package/lib-commonjs/components/FunnelChart/FunnelChart.types.js.map +1 -0
  296. package/lib-commonjs/components/FunnelChart/funnelGeometry.js +248 -0
  297. package/lib-commonjs/components/FunnelChart/funnelGeometry.js.map +1 -0
  298. package/lib-commonjs/components/FunnelChart/index.js +7 -0
  299. package/lib-commonjs/components/FunnelChart/index.js.map +1 -0
  300. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js +79 -0
  301. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -0
  302. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js +65 -0
  303. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -0
  304. package/lib-commonjs/components/GanttChart/GanttChart.js +558 -0
  305. package/lib-commonjs/components/GanttChart/GanttChart.js.map +1 -0
  306. package/lib-commonjs/components/GanttChart/GanttChart.types.js +7 -0
  307. package/lib-commonjs/components/GanttChart/GanttChart.types.js.map +1 -0
  308. package/lib-commonjs/components/GanttChart/index.js +7 -0
  309. package/lib-commonjs/components/GanttChart/index.js.map +1 -0
  310. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js +39 -0
  311. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js.map +1 -0
  312. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js +39 -0
  313. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -0
  314. package/lib-commonjs/components/GaugeChart/GaugeChart.js +9 -2
  315. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  316. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  317. package/lib-commonjs/components/GaugeChart/index.js.map +1 -1
  318. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +1 -1
  319. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  320. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js +160 -0
  321. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -0
  322. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +77 -60
  323. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  324. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  325. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
  326. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +1 -1
  327. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  328. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +69 -0
  329. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -0
  330. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +10 -2
  331. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  332. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  333. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
  334. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +1 -1
  335. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  336. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +56 -0
  337. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -0
  338. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +23 -26
  339. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  340. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js +3 -3
  341. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
  342. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
  343. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +1 -1
  344. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  345. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +134 -0
  346. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -0
  347. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +18 -5
  348. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  349. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  350. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
  351. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +1 -1
  352. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  353. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +55 -0
  354. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -0
  355. package/lib-commonjs/components/Legends/Legends.js +28 -10
  356. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  357. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  358. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -1
  359. package/lib-commonjs/components/Legends/index.js.map +1 -1
  360. package/lib-commonjs/components/Legends/shape.js +2 -2
  361. package/lib-commonjs/components/Legends/shape.js.map +1 -1
  362. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +101 -28
  363. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
  364. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js +174 -0
  365. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js.map +1 -0
  366. package/lib-commonjs/components/LineChart/LineChart.js +23 -9
  367. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  368. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
  369. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
  370. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  371. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +2 -1
  372. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  373. package/lib-commonjs/components/LineChart/index.js.map +1 -1
  374. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +1 -1
  375. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  376. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +66 -0
  377. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -0
  378. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  379. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
  380. package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -1
  381. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -1
  382. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
  383. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +46 -0
  384. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -0
  385. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
  386. package/lib-commonjs/components/SankeyChart/SankeyChart.js +5 -1
  387. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  388. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  389. package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
  390. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +1 -1
  391. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  392. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +95 -0
  393. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -0
  394. package/lib-commonjs/components/ScatterChart/ScatterChart.js +18 -4
  395. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  396. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  397. package/lib-commonjs/components/ScatterChart/index.js.map +1 -1
  398. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +1 -1
  399. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  400. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +57 -0
  401. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -0
  402. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  403. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -1
  404. package/lib-commonjs/components/Sparkline/index.js.map +1 -1
  405. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +1 -1
  406. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
  407. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js +44 -0
  408. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -0
  409. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +71 -31
  410. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  411. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
  412. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
  413. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +1 -1
  414. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  415. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +74 -0
  416. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -0
  417. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +26 -12
  418. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  419. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  420. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
  421. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +1 -1
  422. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  423. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +67 -0
  424. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -0
  425. package/lib-commonjs/index.js +2 -0
  426. package/lib-commonjs/index.js.map +1 -1
  427. package/lib-commonjs/types/DataPoint.js +3 -1
  428. package/lib-commonjs/types/DataPoint.js.map +1 -1
  429. package/lib-commonjs/types/EventAnnotation.js.map +1 -1
  430. package/lib-commonjs/types/LegendDataItem.js.map +1 -1
  431. package/lib-commonjs/types/index.js.map +1 -1
  432. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  433. package/lib-commonjs/utilities/KeyCodes.js.map +1 -1
  434. package/lib-commonjs/utilities/SVGTooltipText.js +2 -0
  435. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  436. package/lib-commonjs/utilities/async-utils.js.map +1 -1
  437. package/lib-commonjs/utilities/colors.js +18 -0
  438. package/lib-commonjs/utilities/colors.js.map +1 -1
  439. package/lib-commonjs/utilities/getWindow.js.map +1 -1
  440. package/lib-commonjs/utilities/image-export-utils.js +274 -0
  441. package/lib-commonjs/utilities/image-export-utils.js.map +1 -0
  442. package/lib-commonjs/utilities/index.js.map +1 -1
  443. package/lib-commonjs/utilities/overflow-utils.js.map +1 -1
  444. package/lib-commonjs/utilities/string.js.map +1 -1
  445. package/lib-commonjs/utilities/test-data.js +245 -0
  446. package/lib-commonjs/utilities/test-data.js.map +1 -1
  447. package/lib-commonjs/utilities/utilities.js +142 -22
  448. package/lib-commonjs/utilities/utilities.js.map +1 -1
  449. package/lib-commonjs/utilities/vbc-utils.js +2 -2
  450. package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
  451. package/package.json +12 -22
@@ -1 +1 @@
1
- {"version":3,"sources":["HorizontalBarChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useHorizontalBarChartStyles } from './useHorizontalBarChartStyles.styles';\nimport { ChartProps, HorizontalBarChartProps, ChartDataPoint, RefArrayData, HorizontalBarChartVariant } from './index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from '../../utilities/index';\nimport { useId } 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 { Legend, 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> = 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\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[]): JSX.Element {\n const legendItems: Legend[] = [];\n chartProps.forEach((point: ChartProps) => {\n point.chartData!.forEach((dataPoint: ChartDataPoint) => {\n const color: string = dataPoint.color!;\n // mapping data to the format Legends component needs\n const legendItem: Legend = {\n title: dataPoint.legend!,\n color,\n action: () => {\n if (selectedLegend === dataPoint.legend) {\n setSelectedLegend('');\n } else {\n setSelectedLegend(dataPoint.legend!);\n }\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(dataPoint.legend!);\n },\n onMouseOutAction: () => {\n setActiveLegend('');\n },\n };\n legendItems.push(legendItem);\n });\n });\n const legends = (\n <Legends legends={legendItems} centerLegends overflowText={props.legendsOverflowText} {...props.legendProps} />\n );\n return legends;\n }\n\n function _getDefaultTextData(data: ChartProps): JSX.Element {\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 const chartDataMode = props.chartDataMode || 'default';\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): JSX.Element {\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): JSX.Element[] {\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 placeholderIndex = 1;\n const isLegendSelected: boolean = _legendHighlighted(point.legend) || _noLegendHighlighted();\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (index === placeholderIndex && 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={point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined}\n onFocus={point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined}\n role=\"img\"\n aria-label={_getAriaLabel(point)}\n onBlur={_hoverOff}\n onMouseLeave={_hoverOff}\n className={classes.barWrapper}\n opacity={isLegendSelected ? 1 : 0.1}\n tabIndex={point.legend !== '' ? 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 =\n points.chartData!.length === 1 || (points.chartData!.length > 1 && points.chartData![1].legend === '');\n if (isSingleBar) {\n points.chartData![1] = {\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 // 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 id={keyVal}\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 ?? 'en-us'}\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 ref={(e: HTMLDivElement) => (legendContainer.current = e)} className={classes.legendContainer}>\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":["HorizontalBarChart","React","forwardRef","props","forwardedRef","legendContainer","useRef","_uniqLineText","useId","_refArray","_isRTL","useRtl","barChartSvgRef","createRef","_emptyChartId","_barHeight","_calloutAnchorPoint","isSingleBar","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","forEach","chartData","dataPoint","legendItem","title","action","hoverAction","onMouseOutAction","legends","createElement","Legends","centerLegends","overflowText","legendsOverflowText","legendProps","culture","accessibilityData","getAccessibleDataObject","chartDataAccessibilityData","total","reduce","acc","horizontalBarChartdata","div","className","classes","chartTitleRight","formatToLocaleString","chartDataMode","span","chartDataTextDenominator","dataRatioPercentage","Math","round","_createBenchmark","undefined","Fragment","totalData","benchmarkData","benchmarkRatio","benchmarkStyles","benchmarkContainer","triangle","style","_createBars","noOfBars","count","totalMarginPercent","defaultColors","tokens","colorPaletteBlueForeground2","colorPaletteCornflowerForeground2","colorPaletteDarkGreenForeground2","colorPaletteNavyForeground2","colorPaletteDarkOrangeForeground2","startingPoint","prevPosition","value","sumOfPercent","map","pointData","scalingRatio","bars","floor","random","xValue","placeholderIndex","isLegendSelected","variant","HorizontalBarChartVariant","AbsoluteScale","hideLabels","text","key","barValue","dominantBaseline","transform","barLabel","aria-hidden","formatScientificLimitWidth","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","useHorizontalBarChartStyles","focusAttributes","useFocusableGroup","legendButtons","datapoint","root","points","colorBackgroundOverlay","chartDataText","keyVal","items","chartTitle","FocusableTooltipText","chartTitleLeft","content","chartTitleAccessibilityData","svg","ref","chart","g","id","e","onClick","p","ChartPopover","YValue","isCalloutForStack","customCallout","customizedCallout","onRenderCalloutPerHorizontalBar","customCalloutProps","calloutPropsPerDataPoint","isCartesian","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/HorizontalBarChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useHorizontalBarChartStyles } from './useHorizontalBarChartStyles.styles';\nimport { ChartProps, HorizontalBarChartProps, ChartDataPoint, RefArrayData, HorizontalBarChartVariant } from './index';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport { formatScientificLimitWidth, getAccessibleDataObject, useRtl } from '../../utilities/index';\nimport { useId } 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 { Legend, 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> = 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 let _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[]): JSX.Element {\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): JSX.Element {\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): JSX.Element {\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): JSX.Element[] {\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 placeholderIndex = 1;\n const isLegendSelected: boolean = _legendHighlighted(point.legend) || _noLegendHighlighted();\n\n // Render bar label instead of placeholder bar for absolute-scale variant\n if (index === placeholderIndex && 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=\"img\"\n aria-label={_getAriaLabel(point)}\n onBlur={_hoverOff}\n onMouseLeave={_hoverOff}\n className={classes.barWrapper}\n opacity={isLegendSelected ? 1 : 0.1}\n tabIndex={point.legend !== '' ? 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 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 // 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 id={keyVal}\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 ?? 'en-us'}\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 ref={(e: HTMLDivElement) => (legendContainer.current = e)} className={classes.legendContainer}>\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","placeholderIndex","isLegendSelected","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","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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"}
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "HorizontalBarChartVariant", {
10
10
  });
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
- var HorizontalBarChartVariant;
14
- (function(HorizontalBarChartVariant) {
13
+ var HorizontalBarChartVariant = /*#__PURE__*/ function(HorizontalBarChartVariant) {
15
14
  HorizontalBarChartVariant["PartToWhole"] = "part-to-whole";
16
15
  HorizontalBarChartVariant["AbsoluteScale"] = "absolute-scale";
17
- })(HorizontalBarChartVariant || (HorizontalBarChartVariant = {}));
16
+ return HorizontalBarChartVariant;
17
+ }({});
@@ -1 +1 @@
1
- {"version":3,"sources":["HorizontalBarChart.types.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChartPopoverProps } from '../CommonComponents/ChartPopover.types';\nimport { ChartDataPoint, ChartProps } from './index';\nimport { LegendsProps } from '../Legends/index';\n\n/**\n * Horizontal Bar Chart properties\n * {@docCategory HorizontalBarChart}\n */\nexport interface HorizontalBarChartProps extends React.RefAttributes<HTMLDivElement> {\n /**\n * An array of chart data points for the Horizontal bar chart\n */\n data?: ChartProps[];\n\n /**\n * Width of bar chart\n */\n width?: number;\n\n /**\n * Height of bar chart\n * @default 15\n */\n barHeight?: number;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * This property tells whether to show ratio on top of stacked bar chart or not.\n */\n hideRatio?: boolean[];\n\n /**\n * Do not show tooltips in chart\n *\n * @default false\n */\n hideTooltip?: boolean;\n\n /**\n * This property tells how to show data text on top right of bar chart.\n * If barChartCustomData props added, then this props will be overrided.\n * @default 'default'\n */\n chartDataMode?: ChartDataMode;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: HorizontalBarChartStyles;\n\n /**\n * Define a custom callout renderer for a horizontal bar\n */\n // onRenderCalloutPerHorizontalBar?: IRenderFunction<IChartDataPoint>; ToDo - Need to use slots here.\n\n /**\n * props for the callout in the chart\n */\n calloutProps?: ChartPopoverProps;\n\n /**\n * Custom text to the chart (right side of the chart)\n * IChartProps will be available as props to the method prop.\n * If this method not given, default values (IHorizontalDataPoint \\{x,y\\})\n * will be used to display the data/text based on given chartModeData prop.\n */\n // barChartCustomData?: IRenderFunction<IChartProps>; ToDo - Need to use slots here.\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * Prop to define the variant of HorizontalBarChart to render\n * @default HorizontalBarChartVariant.PartToWhole\n */\n variant?: HorizontalBarChartVariant;\n\n /**\n * Prop to hide the bar labels\n * @default false\n */\n hideLabels?: boolean;\n\n /**\n * line color for callout\n */\n color?: string;\n\n /**\n * prop to check if benchmark data is provided\n */\n showTriangle?: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n legendsOverflowText?: any;\n\n /*\n * props for the legends in the chart\n */\n legendProps?: Partial<LegendsProps>;\n\n /**\n * prop to render the custom callout\n */\n onRenderCalloutPerHorizontalBar?: (props: ChartDataPoint) => JSX.Element | undefined;\n\n /**\n * Define a custom callout props override\n */\n calloutPropsPerDataPoint?: (dataPointCalloutProps: ChartDataPoint) => ChartPopoverProps;\n}\n\n/**\n * Horizontal Bar Chart styles\n * {@docCategory HorizontalBarChart}\n */\nexport interface HorizontalBarChartStyles {\n /**\n * Styling for the root container\n */\n root: string;\n\n /**\n * Styling for each item in the container\n */\n items: string;\n\n /**\n * Style for the chart.\n */\n chart: string;\n\n /**\n * Style for the chart Title.\n */\n chartTitle: string;\n\n /**\n * Style for the bars.\n */\n barWrapper: string;\n\n /**\n * Style for left side text of the chart title\n */\n chartTitleLeft: string;\n\n /**\n * Style for right side text of the chart title\n */\n chartTitleRight: string;\n\n /**\n * Style for the chart data text denominator.\n */\n chartDataTextDenominator: string;\n\n /**\n * Style for the benchmark container\n */\n benchmarkContainer: string;\n\n /**\n * Style for the benchmark triangle\n */\n triangle: string;\n\n /**\n * Style for the bar labels\n */\n barLabel: string;\n\n /**\n * Style for the div containing the chart\n */\n chartWrapper: string;\n\n /**\n * Style for the legend container.\n */\n legendContainer: string;\n}\n\n/**\n * Chart data mode for chart data text\n * default: show the datapoint.x value\n * fraction: show the fraction of datapoint.x/datapoint.y\n * percentage: show the percentage of (datapoint.x/datapoint.y)%\n * {@docCategory HorizontalBarChart}\n */\nexport type ChartDataMode = 'default' | 'fraction' | 'percentage';\n\n/**\n * {@docCategory HorizontalBarChart}\n */\nexport enum HorizontalBarChartVariant {\n PartToWhole = 'part-to-whole',\n AbsoluteScale = 'absolute-scale',\n}\n"],"names":["HorizontalBarChartVariant"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;iEAAuB;;UA0MXA,yBAAAA;;;GAAAA,6BAAAA,CAAAA,4BAAAA,CAAAA,CAAAA"}
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/HorizontalBarChart.types.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChartPopoverProps } from '../CommonComponents/ChartPopover.types';\nimport { ChartDataPoint, ChartProps } from './index';\nimport { LegendsProps } from '../Legends/index';\n\n/**\n * Horizontal Bar Chart properties\n * {@docCategory HorizontalBarChart}\n */\nexport interface HorizontalBarChartProps extends React.RefAttributes<HTMLDivElement> {\n /**\n * An array of chart data points for the Horizontal bar chart\n */\n data?: ChartProps[];\n\n /**\n * Width of bar chart\n */\n width?: number;\n\n /**\n * Height of bar chart\n * @default 15\n */\n barHeight?: number;\n\n /**\n * Additional CSS class(es) to apply to the StackedBarChart.\n */\n className?: string;\n\n /**\n * This property tells whether to show ratio on top of stacked bar chart or not.\n */\n hideRatio?: boolean[];\n\n /**\n * Do not show tooltips in chart\n *\n * @default false\n */\n hideTooltip?: boolean;\n\n /**\n * This property tells how to show data text on top right of bar chart.\n * If barChartCustomData props added, then this props will be overrided.\n * @default 'default'\n */\n chartDataMode?: ChartDataMode;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: HorizontalBarChartStyles;\n\n /**\n * Define a custom callout renderer for a horizontal bar\n */\n // onRenderCalloutPerHorizontalBar?: IRenderFunction<IChartDataPoint>; ToDo - Need to use slots here.\n\n /**\n * props for the callout in the chart\n */\n calloutProps?: ChartPopoverProps;\n\n /**\n * Custom text to the chart (right side of the chart)\n * IChartProps will be available as props to the method prop.\n * If this method not given, default values (IHorizontalDataPoint \\{x,y\\})\n * will be used to display the data/text based on given chartModeData prop.\n */\n // barChartCustomData?: IRenderFunction<IChartProps>; ToDo - Need to use slots here.\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * Prop to define the variant of HorizontalBarChart to render\n * @default HorizontalBarChartVariant.PartToWhole\n */\n variant?: HorizontalBarChartVariant;\n\n /**\n * Prop to hide the bar labels\n * @default false\n */\n hideLabels?: boolean;\n\n /**\n * line color for callout\n */\n color?: string;\n\n /**\n * prop to check if benchmark data is provided\n */\n showTriangle?: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n legendsOverflowText?: any;\n\n /*\n * props for the legends in the chart\n */\n legendProps?: Partial<LegendsProps>;\n\n /**\n * prop to render the custom callout\n */\n onRenderCalloutPerHorizontalBar?: (props: ChartDataPoint) => JSX.Element | undefined;\n\n /**\n * Define a custom callout props override\n */\n calloutPropsPerDataPoint?: (dataPointCalloutProps: ChartDataPoint) => ChartPopoverProps;\n\n /**\n * When true, chart will display legends even if a bar ( row ) has only one data point.\n * @default false\n */\n showLegendForSinglePointBar?: boolean;\n}\n\n/**\n * Horizontal Bar Chart styles\n * {@docCategory HorizontalBarChart}\n */\nexport interface HorizontalBarChartStyles {\n /**\n * Styling for the root container\n */\n root: string;\n\n /**\n * Styling for each item in the container\n */\n items: string;\n\n /**\n * Style for the chart.\n */\n chart: string;\n\n /**\n * Style for the chart Title.\n */\n chartTitle: string;\n\n /**\n * Style for the bars.\n */\n barWrapper: string;\n\n /**\n * Style for left side text of the chart title\n */\n chartTitleLeft: string;\n\n /**\n * Style for right side text of the chart title\n */\n chartTitleRight: string;\n\n /**\n * Style for the chart data text denominator.\n */\n chartDataTextDenominator: string;\n\n /**\n * Style for the benchmark container\n */\n benchmarkContainer: string;\n\n /**\n * Style for the benchmark triangle\n */\n triangle: string;\n\n /**\n * Style for the bar labels\n */\n barLabel: string;\n\n /**\n * Style for the div containing the chart\n */\n chartWrapper: string;\n\n /**\n * Style for the legend container.\n */\n legendContainer: string;\n}\n\n/**\n * Chart data mode for chart data text\n * default: show the datapoint.x value\n * fraction: show the fraction of datapoint.x/datapoint.y\n * percentage: show the percentage of (datapoint.x/datapoint.y)%\n * hidden: do not show any data text\n * {@docCategory HorizontalBarChart}\n */\nexport type ChartDataMode = 'default' | 'fraction' | 'percentage' | 'hidden';\n\n/**\n * {@docCategory HorizontalBarChart}\n */\nexport enum HorizontalBarChartVariant {\n PartToWhole = 'part-to-whole',\n AbsoluteScale = 'absolute-scale',\n}\n"],"names":["React","HorizontalBarChartVariant"],"mappings":";;;;;;;;;;;iEAAuB,QAAQ;AAiNxB,IAAKC,4BAAAA,WAAAA,GAAAA,SAAAA,yBAAAA;;;WAAAA;MAGX"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './HorizontalBarChart';\nexport * from './HorizontalBarChart.types';\nexport * from '../../types/index';\n"],"names":[],"rangeMappings":";;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA"}
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/index.ts"],"sourcesContent":["export * from './HorizontalBarChart';\nexport * from './HorizontalBarChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":";;;;;uBAAc,uBAAuB;uBACvB,6BAA6B;uBAC7B,oBAAoB"}
@@ -234,4 +234,4 @@ const useHorizontalBarChartStyles = (props)=>{
234
234
  chartWrapper: (0, _react.mergeClasses)(hbcClassNames.chartWrapper, variant === _index.HorizontalBarChartVariant.AbsoluteScale && !hideLabels ? baseStyles.chartWrapper40ppadding : baseStyles.chartWrapper0ppadding, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.chartWrapper),
235
235
  legendContainer: (0, _react.mergeClasses)(hbcClassNames.legendContainer, baseStyles.legendContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.legendContainer)
236
236
  };
237
- }; //# sourceMappingURL=useHorizontalBarChartStyles.styles.js.map
237
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["useHorizontalBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HorizontalBarChartVariant } from './index';\n/**\n * @internal\n */ export const hbcClassNames = {\n root: 'fui-hbc__root',\n items: 'fui-hbc__items',\n chart: 'fui-hbc__chart',\n chartTitle: 'fui-hbc__chartTitle',\n barWrapper: 'fui-hbc__barWrapper',\n chartTitleLeft: 'fui-hbc__chartTitleLeft',\n chartTitleRight: 'fui-hbc__chartTitleRight',\n chartDataTextDenominator: 'fui-hbc__textDenom',\n benchmarkContainer: 'fui-hbc__benchmark',\n triangle: 'fui-hbc__triangle',\n barLabel: 'fui-hbc__barLabel',\n chartWrapper: 'fui-hbc__chartWrapper',\n legendContainer: 'fui-hbc__legendContainer'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n items10pMargin: {\n marginBottom: tokens.spacingVerticalMNudge\n },\n items16pMargin: {\n marginBottom: tokens.spacingVerticalL\n },\n chart: {\n width: '100%',\n height: '12px',\n display: 'block',\n overflow: 'visible'\n },\n barWrapper: {},\n chartTitle: {\n ...typographyStyles.caption1,\n display: 'flex',\n justifyContent: 'space-between'\n },\n chartTitleLeft: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block',\n color: tokens.colorNeutralForeground1\n },\n chartTitleLeft4pMargin: {\n marginBottom: '4px'\n },\n chartTitleLeft5pMargin: {\n marginBottom: '5px'\n },\n chartTitleRight: {\n ...typographyStyles.body1Strong,\n color: tokens.colorNeutralForeground1\n },\n chartDataTextDenominator: {\n ...typographyStyles.body1,\n color: tokens.colorNeutralForeground1\n },\n benchmarkContainer: {\n position: 'relative',\n height: '7px',\n marginTop: '-3px',\n marginBottom: '-1px'\n },\n triangle: {\n width: '0',\n height: '0',\n ...shorthands.borderLeft('4px', 'solid', 'transparent'),\n ...shorthands.borderRight('4px', 'solid', 'transparent'),\n ...shorthands.borderTop('7px', 'solid'),\n borderTopColor: tokens.colorPaletteBlueBorderActive,\n marginBottom: tokens.spacingVerticalXS,\n position: 'absolute'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'none'\n },\n chartWrapper40ppadding: {\n paddingRight: '40p'\n },\n chartWrapper0ppadding: {\n paddingRight: tokens.spacingHorizontalNone\n },\n legendContainer: {\n paddingTop: tokens.spacingVerticalL\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useHorizontalBarChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12;\n const { className, showTriangle, variant, hideLabels } = props; // ToDo - width, barHeight is non enumerable. Need to be used inline.\n const baseStyles = useStyles();\n return {\n root: mergeClasses(hbcClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n items: mergeClasses(hbcClassNames.items, showTriangle || variant === HorizontalBarChartVariant.AbsoluteScale ? baseStyles.items16pMargin : baseStyles.items10pMargin, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.items),\n chart: mergeClasses(hbcClassNames.chart, baseStyles.chart, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.chart),\n chartTitle: mergeClasses(hbcClassNames.chartTitle, baseStyles.chartTitle, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartTitle),\n barWrapper: mergeClasses(hbcClassNames.barWrapper, baseStyles.barWrapper, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.barWrapper),\n chartTitleLeft: mergeClasses(hbcClassNames.chartTitleLeft, baseStyles.chartTitleLeft, variant === HorizontalBarChartVariant.AbsoluteScale ? baseStyles.chartTitleLeft4pMargin : baseStyles.chartTitleLeft5pMargin, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.chartTitleLeft),\n chartTitleRight: mergeClasses(hbcClassNames.chartTitleRight, baseStyles.chartTitleRight, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitleRight),\n chartDataTextDenominator: mergeClasses(hbcClassNames.chartDataTextDenominator, baseStyles.chartDataTextDenominator, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.chartDataTextDenominator),\n benchmarkContainer: mergeClasses(hbcClassNames.benchmarkContainer, baseStyles.benchmarkContainer, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.benchmarkContainer),\n triangle: mergeClasses(hbcClassNames.triangle, baseStyles.triangle, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.triangle),\n barLabel: mergeClasses(hbcClassNames.barLabel, baseStyles.barLabel, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.barLabel),\n chartWrapper: mergeClasses(hbcClassNames.chartWrapper, variant === HorizontalBarChartVariant.AbsoluteScale && !hideLabels ? baseStyles.chartWrapper40ppadding : baseStyles.chartWrapper0ppadding, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.chartWrapper),\n legendContainer: mergeClasses(hbcClassNames.legendContainer, baseStyles.legendContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.legendContainer)\n };\n};\n"],"names":["hbcClassNames","useHorizontalBarChartStyles","root","items","chart","chartTitle","barWrapper","chartTitleLeft","chartTitleRight","chartDataTextDenominator","benchmarkContainer","triangle","barLabel","chartWrapper","legendContainer","useStyles","__styles","mc9l5x","Beiy3e4","a9b677","items10pMargin","jrapky","items16pMargin","Bqenvij","B68tc82","Bmxbyg5","Bpg54ce","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Brf1p80","ygn44y","Huce71","sj55zd","chartTitleLeft4pMargin","chartTitleLeft5pMargin","qhf8xq","B6of3ja","ibv6hh","wvpqe5","zhjwy3","Bekrc4i","vrafjx","h3c5rm","B4j52fo","icvyot","g2u3we","Bkfmm31","Bvjb7m6","chartWrapper40ppadding","z189sj","chartWrapper0ppadding","z8tnut","d","p","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","_props_styles9","_props_styles10","_props_styles11","_props_styles12","className","showTriangle","variant","hideLabels","baseStyles","mergeClasses","styles","HorizontalBarChartVariant","AbsoluteScale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["useHorizontalBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HorizontalBarChartVariant } from './index';\n/**\n * @internal\n */ export const hbcClassNames = {\n root: 'fui-hbc__root',\n items: 'fui-hbc__items',\n chart: 'fui-hbc__chart',\n chartTitle: 'fui-hbc__chartTitle',\n barWrapper: 'fui-hbc__barWrapper',\n chartTitleLeft: 'fui-hbc__chartTitleLeft',\n chartTitleRight: 'fui-hbc__chartTitleRight',\n chartDataTextDenominator: 'fui-hbc__textDenom',\n benchmarkContainer: 'fui-hbc__benchmark',\n triangle: 'fui-hbc__triangle',\n barLabel: 'fui-hbc__barLabel',\n chartWrapper: 'fui-hbc__chartWrapper',\n legendContainer: 'fui-hbc__legendContainer'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n items10pMargin: {\n marginBottom: tokens.spacingVerticalMNudge\n },\n items16pMargin: {\n marginBottom: tokens.spacingVerticalL\n },\n chart: {\n width: '100%',\n height: '12px',\n display: 'block',\n overflow: 'visible'\n },\n barWrapper: {},\n chartTitle: {\n ...typographyStyles.caption1,\n display: 'flex',\n justifyContent: 'space-between'\n },\n chartTitleLeft: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block',\n color: tokens.colorNeutralForeground1\n },\n chartTitleLeft4pMargin: {\n marginBottom: '4px'\n },\n chartTitleLeft5pMargin: {\n marginBottom: '5px'\n },\n chartTitleRight: {\n ...typographyStyles.body1Strong,\n color: tokens.colorNeutralForeground1\n },\n chartDataTextDenominator: {\n ...typographyStyles.body1,\n color: tokens.colorNeutralForeground1\n },\n benchmarkContainer: {\n position: 'relative',\n height: '7px',\n marginTop: '-3px',\n marginBottom: '-1px'\n },\n triangle: {\n width: '0',\n height: '0',\n ...shorthands.borderLeft('4px', 'solid', 'transparent'),\n ...shorthands.borderRight('4px', 'solid', 'transparent'),\n ...shorthands.borderTop('7px', 'solid'),\n borderTopColor: tokens.colorPaletteBlueBorderActive,\n marginBottom: tokens.spacingVerticalXS,\n position: 'absolute'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'none'\n },\n chartWrapper40ppadding: {\n paddingRight: '40p'\n },\n chartWrapper0ppadding: {\n paddingRight: tokens.spacingHorizontalNone\n },\n legendContainer: {\n paddingTop: tokens.spacingVerticalL\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useHorizontalBarChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12;\n const { className, showTriangle, variant, hideLabels } = props; // ToDo - width, barHeight is non enumerable. Need to be used inline.\n const baseStyles = useStyles();\n return {\n root: mergeClasses(hbcClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n items: mergeClasses(hbcClassNames.items, showTriangle || variant === HorizontalBarChartVariant.AbsoluteScale ? baseStyles.items16pMargin : baseStyles.items10pMargin, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.items),\n chart: mergeClasses(hbcClassNames.chart, baseStyles.chart, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.chart),\n chartTitle: mergeClasses(hbcClassNames.chartTitle, baseStyles.chartTitle, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartTitle),\n barWrapper: mergeClasses(hbcClassNames.barWrapper, baseStyles.barWrapper, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.barWrapper),\n chartTitleLeft: mergeClasses(hbcClassNames.chartTitleLeft, baseStyles.chartTitleLeft, variant === HorizontalBarChartVariant.AbsoluteScale ? baseStyles.chartTitleLeft4pMargin : baseStyles.chartTitleLeft5pMargin, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.chartTitleLeft),\n chartTitleRight: mergeClasses(hbcClassNames.chartTitleRight, baseStyles.chartTitleRight, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitleRight),\n chartDataTextDenominator: mergeClasses(hbcClassNames.chartDataTextDenominator, baseStyles.chartDataTextDenominator, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.chartDataTextDenominator),\n benchmarkContainer: mergeClasses(hbcClassNames.benchmarkContainer, baseStyles.benchmarkContainer, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.benchmarkContainer),\n triangle: mergeClasses(hbcClassNames.triangle, baseStyles.triangle, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.triangle),\n barLabel: mergeClasses(hbcClassNames.barLabel, baseStyles.barLabel, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.barLabel),\n chartWrapper: mergeClasses(hbcClassNames.chartWrapper, variant === HorizontalBarChartVariant.AbsoluteScale && !hideLabels ? baseStyles.chartWrapper40ppadding : baseStyles.chartWrapper0ppadding, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.chartWrapper),\n legendContainer: mergeClasses(hbcClassNames.legendContainer, baseStyles.legendContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.legendContainer)\n };\n};\n"],"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","HorizontalBarChartVariant","hbcClassNames","root","items","chart","chartTitle","barWrapper","chartTitleLeft","chartTitleRight","chartDataTextDenominator","benchmarkContainer","triangle","barLabel","chartWrapper","legendContainer","useStyles","mc9l5x","Beiy3e4","a9b677","items10pMargin","jrapky","items16pMargin","Bqenvij","B68tc82","Bmxbyg5","Bpg54ce","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","Brf1p80","ygn44y","Huce71","sj55zd","chartTitleLeft4pMargin","chartTitleLeft5pMargin","qhf8xq","B6of3ja","ibv6hh","wvpqe5","zhjwy3","Bekrc4i","vrafjx","h3c5rm","B4j52fo","icvyot","g2u3we","Bkfmm31","Bvjb7m6","chartWrapper40ppadding","z189sj","chartWrapper0ppadding","z8tnut","d","p","useHorizontalBarChartStyles","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","_props_styles9","_props_styles10","_props_styles11","_props_styles12","className","showTriangle","variant","hideLabels","baseStyles","styles","AbsoluteScale"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ hbcClassNames: function() {
13
+ return hbcClassNames;
14
+ },
15
+ useHorizontalBarChartStyles: function() {
16
+ return useHorizontalBarChartStyles;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _reacttheme = require("@fluentui/react-theme");
21
+ const _index = require("./index");
22
+ const hbcClassNames = {
23
+ root: 'fui-hbc__root',
24
+ items: 'fui-hbc__items',
25
+ chart: 'fui-hbc__chart',
26
+ chartTitle: 'fui-hbc__chartTitle',
27
+ barWrapper: 'fui-hbc__barWrapper',
28
+ chartTitleLeft: 'fui-hbc__chartTitleLeft',
29
+ chartTitleRight: 'fui-hbc__chartTitleRight',
30
+ chartDataTextDenominator: 'fui-hbc__textDenom',
31
+ benchmarkContainer: 'fui-hbc__benchmark',
32
+ triangle: 'fui-hbc__triangle',
33
+ barLabel: 'fui-hbc__barLabel',
34
+ chartWrapper: 'fui-hbc__chartWrapper',
35
+ legendContainer: 'fui-hbc__legendContainer'
36
+ };
37
+ /**
38
+ * Base Styles
39
+ */ const useStyles = (0, _react.makeStyles)({
40
+ root: {
41
+ display: 'flex',
42
+ flexDirection: 'column',
43
+ width: '100%'
44
+ },
45
+ items10pMargin: {
46
+ marginBottom: _reacttheme.tokens.spacingVerticalMNudge
47
+ },
48
+ items16pMargin: {
49
+ marginBottom: _reacttheme.tokens.spacingVerticalL
50
+ },
51
+ chart: {
52
+ width: '100%',
53
+ height: '12px',
54
+ display: 'block',
55
+ overflow: 'visible'
56
+ },
57
+ barWrapper: {},
58
+ chartTitle: {
59
+ ..._reacttheme.typographyStyles.caption1,
60
+ display: 'flex',
61
+ justifyContent: 'space-between'
62
+ },
63
+ chartTitleLeft: {
64
+ textOverflow: 'ellipsis',
65
+ overflow: 'hidden',
66
+ whiteSpace: 'nowrap',
67
+ display: 'block',
68
+ color: _reacttheme.tokens.colorNeutralForeground1
69
+ },
70
+ chartTitleLeft4pMargin: {
71
+ marginBottom: '4px'
72
+ },
73
+ chartTitleLeft5pMargin: {
74
+ marginBottom: '5px'
75
+ },
76
+ chartTitleRight: {
77
+ ..._reacttheme.typographyStyles.body1Strong,
78
+ color: _reacttheme.tokens.colorNeutralForeground1
79
+ },
80
+ chartDataTextDenominator: {
81
+ ..._reacttheme.typographyStyles.body1,
82
+ color: _reacttheme.tokens.colorNeutralForeground1
83
+ },
84
+ benchmarkContainer: {
85
+ position: 'relative',
86
+ height: '7px',
87
+ marginTop: '-3px',
88
+ marginBottom: '-1px'
89
+ },
90
+ triangle: {
91
+ width: '0',
92
+ height: '0',
93
+ ..._react.shorthands.borderLeft('4px', 'solid', 'transparent'),
94
+ ..._react.shorthands.borderRight('4px', 'solid', 'transparent'),
95
+ ..._react.shorthands.borderTop('7px', 'solid'),
96
+ borderTopColor: _reacttheme.tokens.colorPaletteBlueBorderActive,
97
+ marginBottom: _reacttheme.tokens.spacingVerticalXS,
98
+ position: 'absolute'
99
+ },
100
+ barLabel: {
101
+ ..._reacttheme.typographyStyles.caption1Strong,
102
+ fill: _reacttheme.tokens.colorNeutralForeground1,
103
+ forcedColorAdjust: 'none'
104
+ },
105
+ chartWrapper40ppadding: {
106
+ paddingRight: '40p'
107
+ },
108
+ chartWrapper0ppadding: {
109
+ paddingRight: _reacttheme.tokens.spacingHorizontalNone
110
+ },
111
+ legendContainer: {
112
+ paddingTop: _reacttheme.tokens.spacingVerticalL
113
+ }
114
+ });
115
+ const useHorizontalBarChartStyles = (props)=>{
116
+ var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12;
117
+ const { className, showTriangle, variant, hideLabels } = props; // ToDo - width, barHeight is non enumerable. Need to be used inline.
118
+ const baseStyles = useStyles();
119
+ return {
120
+ root: (0, _react.mergeClasses)(hbcClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),
121
+ items: (0, _react.mergeClasses)(hbcClassNames.items, showTriangle || variant === _index.HorizontalBarChartVariant.AbsoluteScale ? baseStyles.items16pMargin : baseStyles.items10pMargin, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.items),
122
+ chart: (0, _react.mergeClasses)(hbcClassNames.chart, baseStyles.chart, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.chart),
123
+ chartTitle: (0, _react.mergeClasses)(hbcClassNames.chartTitle, baseStyles.chartTitle, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartTitle),
124
+ barWrapper: (0, _react.mergeClasses)(hbcClassNames.barWrapper, baseStyles.barWrapper, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.barWrapper),
125
+ chartTitleLeft: (0, _react.mergeClasses)(hbcClassNames.chartTitleLeft, baseStyles.chartTitleLeft, variant === _index.HorizontalBarChartVariant.AbsoluteScale ? baseStyles.chartTitleLeft4pMargin : baseStyles.chartTitleLeft5pMargin, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.chartTitleLeft),
126
+ chartTitleRight: (0, _react.mergeClasses)(hbcClassNames.chartTitleRight, baseStyles.chartTitleRight, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitleRight),
127
+ chartDataTextDenominator: (0, _react.mergeClasses)(hbcClassNames.chartDataTextDenominator, baseStyles.chartDataTextDenominator, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.chartDataTextDenominator),
128
+ benchmarkContainer: (0, _react.mergeClasses)(hbcClassNames.benchmarkContainer, baseStyles.benchmarkContainer, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.benchmarkContainer),
129
+ triangle: (0, _react.mergeClasses)(hbcClassNames.triangle, baseStyles.triangle, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.triangle),
130
+ barLabel: (0, _react.mergeClasses)(hbcClassNames.barLabel, baseStyles.barLabel, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.barLabel),
131
+ chartWrapper: (0, _react.mergeClasses)(hbcClassNames.chartWrapper, variant === _index.HorizontalBarChartVariant.AbsoluteScale && !hideLabels ? baseStyles.chartWrapper40ppadding : baseStyles.chartWrapper0ppadding, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.chartWrapper),
132
+ legendContainer: (0, _react.mergeClasses)(hbcClassNames.legendContainer, baseStyles.legendContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.legendContainer)
133
+ };
134
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HorizontalBarChartProps, HorizontalBarChartStyles, HorizontalBarChartVariant } from './index';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\n/**\n * @internal\n */\nexport const hbcClassNames: SlotClassNames<HorizontalBarChartStyles> = {\n root: 'fui-hbc__root',\n items: 'fui-hbc__items',\n chart: 'fui-hbc__chart',\n chartTitle: 'fui-hbc__chartTitle',\n barWrapper: 'fui-hbc__barWrapper',\n chartTitleLeft: 'fui-hbc__chartTitleLeft',\n chartTitleRight: 'fui-hbc__chartTitleRight',\n chartDataTextDenominator: 'fui-hbc__textDenom',\n benchmarkContainer: 'fui-hbc__benchmark',\n triangle: 'fui-hbc__triangle',\n barLabel: 'fui-hbc__barLabel',\n chartWrapper: 'fui-hbc__chartWrapper',\n legendContainer: 'fui-hbc__legendContainer',\n};\n\n/**\n * Base Styles\n */\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%', // Support custom width\n },\n items10pMargin: {\n marginBottom: tokens.spacingVerticalMNudge,\n },\n items16pMargin: {\n marginBottom: tokens.spacingVerticalL,\n },\n chart: {\n width: '100%',\n height: '12px', // Support custom bar height\n display: 'block',\n overflow: 'visible',\n },\n barWrapper: {},\n chartTitle: {\n ...typographyStyles.caption1,\n display: 'flex',\n justifyContent: 'space-between',\n },\n chartTitleLeft: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block',\n color: tokens.colorNeutralForeground1,\n },\n chartTitleLeft4pMargin: {\n marginBottom: '4px',\n },\n chartTitleLeft5pMargin: {\n marginBottom: '5px',\n },\n chartTitleRight: {\n ...typographyStyles.body1Strong,\n color: tokens.colorNeutralForeground1,\n },\n chartDataTextDenominator: {\n ...typographyStyles.body1,\n color: tokens.colorNeutralForeground1,\n },\n benchmarkContainer: {\n position: 'relative',\n height: '7px',\n marginTop: '-3px',\n marginBottom: '-1px',\n },\n triangle: {\n width: '0',\n height: '0',\n ...shorthands.borderLeft('4px', 'solid', 'transparent'),\n ...shorthands.borderRight('4px', 'solid', 'transparent'),\n ...shorthands.borderTop('7px', 'solid'),\n borderTopColor: tokens.colorPaletteBlueBorderActive,\n marginBottom: tokens.spacingVerticalXS,\n position: 'absolute',\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'none',\n },\n chartWrapper40ppadding: {\n paddingRight: '40p',\n },\n chartWrapper0ppadding: {\n paddingRight: tokens.spacingHorizontalNone,\n },\n legendContainer: { paddingTop: tokens.spacingVerticalL },\n});\n\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useHorizontalBarChartStyles = (props: HorizontalBarChartProps): HorizontalBarChartStyles => {\n const { className, showTriangle, variant, hideLabels } = props; // ToDo - width, barHeight is non enumerable. Need to be used inline.\n const baseStyles = useStyles();\n\n return {\n root: mergeClasses(hbcClassNames.root, baseStyles.root, className, props.styles?.root),\n items: mergeClasses(\n hbcClassNames.items,\n showTriangle || variant === HorizontalBarChartVariant.AbsoluteScale\n ? baseStyles.items16pMargin\n : baseStyles.items10pMargin,\n props.styles?.items,\n ),\n chart: mergeClasses(hbcClassNames.chart, baseStyles.chart, props.styles?.chart),\n chartTitle: mergeClasses(hbcClassNames.chartTitle, baseStyles.chartTitle, props.styles?.chartTitle),\n barWrapper: mergeClasses(hbcClassNames.barWrapper, baseStyles.barWrapper, props.styles?.barWrapper),\n chartTitleLeft: mergeClasses(\n hbcClassNames.chartTitleLeft,\n baseStyles.chartTitleLeft,\n variant === HorizontalBarChartVariant.AbsoluteScale\n ? baseStyles.chartTitleLeft4pMargin\n : baseStyles.chartTitleLeft5pMargin,\n props.styles?.chartTitleLeft,\n ),\n chartTitleRight: mergeClasses(\n hbcClassNames.chartTitleRight,\n baseStyles.chartTitleRight,\n props.styles?.chartTitleRight,\n ),\n chartDataTextDenominator: mergeClasses(\n hbcClassNames.chartDataTextDenominator,\n baseStyles.chartDataTextDenominator,\n props.styles?.chartDataTextDenominator,\n ),\n benchmarkContainer: mergeClasses(\n hbcClassNames.benchmarkContainer,\n baseStyles.benchmarkContainer,\n props.styles?.benchmarkContainer,\n ),\n triangle: mergeClasses(hbcClassNames.triangle, baseStyles.triangle, props.styles?.triangle),\n barLabel: mergeClasses(hbcClassNames.barLabel, baseStyles.barLabel, props.styles?.barLabel),\n chartWrapper: mergeClasses(\n hbcClassNames.chartWrapper,\n variant === HorizontalBarChartVariant.AbsoluteScale && !hideLabels\n ? baseStyles.chartWrapper40ppadding\n : baseStyles.chartWrapper0ppadding,\n props.styles?.chartWrapper,\n ),\n legendContainer: mergeClasses(\n hbcClassNames.legendContainer,\n baseStyles.legendContainer,\n props.styles?.legendContainer,\n ),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","HorizontalBarChartVariant","hbcClassNames","root","items","chart","chartTitle","barWrapper","chartTitleLeft","chartTitleRight","chartDataTextDenominator","benchmarkContainer","triangle","barLabel","chartWrapper","legendContainer","useStyles","display","flexDirection","width","items10pMargin","marginBottom","spacingVerticalMNudge","items16pMargin","spacingVerticalL","height","overflow","caption1","justifyContent","textOverflow","whiteSpace","color","colorNeutralForeground1","chartTitleLeft4pMargin","chartTitleLeft5pMargin","body1Strong","body1","position","marginTop","borderLeft","borderRight","borderTop","borderTopColor","colorPaletteBlueBorderActive","spacingVerticalXS","caption1Strong","fill","forcedColorAdjust","chartWrapper40ppadding","paddingRight","chartWrapper0ppadding","spacingHorizontalNone","paddingTop","useHorizontalBarChartStyles","props","className","showTriangle","variant","hideLabels","baseStyles","styles","AbsoluteScale"],"mappings":"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"}
@@ -18,6 +18,7 @@ const _CartesianChart = require("../CommonComponents/CartesianChart");
18
18
  const _ChartPopover = require("../CommonComponents/ChartPopover");
19
19
  const _index = require("../../utilities/index");
20
20
  const _vbcutils = require("../../utilities/vbc-utils");
21
+ const _imageexportutils = require("../../utilities/image-export-utils");
21
22
  const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
22
23
  var _props_legendProps, _props_legendProps1, _props_legendProps2, _props_legendProps3;
23
24
  const _refArray = [];
@@ -42,6 +43,7 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
42
43
  let _yAxisPadding = (_props_yAxisPadding = props.yAxisPadding) !== null && _props_yAxisPadding !== void 0 ? _props_yAxisPadding : 0.5;
43
44
  const cartesianChartRef = _react.useRef(null);
44
45
  const X_ORIGIN = 0;
46
+ const _legendsRef = _react.useRef(null);
45
47
  const [color, setColor] = _react.useState('');
46
48
  const [dataForHoverCard, setDataForHoverCard] = _react.useState(0);
47
49
  const [isLegendSelected, setIsLegendSelected] = _react.useState(((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends) && props.legendProps.selectedLegends.length > 0 || ((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.selectedLegend) !== undefined);
@@ -76,7 +78,11 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
76
78
  var _cartesianChartRef_current;
77
79
  var _cartesianChartRef_current_chartContainer;
78
80
  return {
79
- chartContainer: (_cartesianChartRef_current_chartContainer = (_cartesianChartRef_current = cartesianChartRef.current) === null || _cartesianChartRef_current === void 0 ? void 0 : _cartesianChartRef_current.chartContainer) !== null && _cartesianChartRef_current_chartContainer !== void 0 ? _cartesianChartRef_current_chartContainer : null
81
+ chartContainer: (_cartesianChartRef_current_chartContainer = (_cartesianChartRef_current = cartesianChartRef.current) === null || _cartesianChartRef_current === void 0 ? void 0 : _cartesianChartRef_current.chartContainer) !== null && _cartesianChartRef_current_chartContainer !== void 0 ? _cartesianChartRef_current_chartContainer : null,
82
+ toImage: (opts)=>{
83
+ var _cartesianChartRef_current, _legendsRef_current;
84
+ return (0, _imageexportutils.toImage)((_cartesianChartRef_current = cartesianChartRef.current) === null || _cartesianChartRef_current === void 0 ? void 0 : _cartesianChartRef_current.chartContainer, (_legendsRef_current = _legendsRef.current) === null || _legendsRef_current === void 0 ? void 0 : _legendsRef_current.toSVG, _isRtl, opts);
85
+ }
80
86
  };
81
87
  }, []);
82
88
  function _adjustProps() {
@@ -189,7 +195,13 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
189
195
  setPopoverOpen(false);
190
196
  }
191
197
  // eslint-disable-next-line @typescript-eslint/no-shadow
192
- function _onBarFocus(point, refArrayIndexNumber, color) {
198
+ function _onBarFocus(event, point, refArrayIndexNumber, color) {
199
+ let cx = 0;
200
+ let cy = 0;
201
+ const targetRect = event.target.getBoundingClientRect();
202
+ cx = targetRect.left + targetRect.width / 2;
203
+ cy = targetRect.top + targetRect.height / 2;
204
+ _updatePosition(cx, cy);
193
205
  if ((isLegendSelected === false || _isLegendHighlighted(point.legend)) && _calloutAnchorPoint !== point) {
194
206
  // eslint-disable-next-line @typescript-eslint/no-shadow
195
207
  _refArray.forEach((obj, index)=>{
@@ -328,7 +340,7 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
328
340
  role: "img",
329
341
  "aria-labelledby": `toolTip${_calloutId}`,
330
342
  onMouseLeave: _onBarLeave,
331
- onFocus: ()=>_onBarFocus(point, index, startColor),
343
+ onFocus: (event)=>_onBarFocus(event, point, index, startColor),
332
344
  onBlur: _onBarLeave,
333
345
  fill: startColor,
334
346
  opacity: shouldHighlight ? 1 : 0.1,
@@ -460,7 +472,7 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
460
472
  onBlur: _onBarLeave,
461
473
  "data-is-focusable": shouldHighlight,
462
474
  opacity: shouldHighlight ? 1 : 0.1,
463
- onFocus: ()=>_onBarFocus(point, index, startColor),
475
+ onFocus: (event)=>_onBarFocus(event, point, index, startColor),
464
476
  fill: startColor,
465
477
  tabIndex: point.legend !== '' ? 0 : undefined
466
478
  }));
@@ -510,7 +522,8 @@ const HorizontalBarChartWithAxis = /*#__PURE__*/ _react.forwardRef((props, forwa
510
522
  enabledWrapLines: props.enabledLegendsWrapLines,
511
523
  overflowText: props.legendsOverflowText,
512
524
  ...props.legendProps,
513
- onChange: _onLegendSelectionChange
525
+ onChange: _onLegendSelectionChange,
526
+ legendRef: _legendsRef
514
527
  });
515
528
  return legends;
516
529
  }