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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/CHANGELOG.md +16 -16
  2. package/dist/index.d.ts +3337 -0
  3. package/lib/AreaChart.js +1 -0
  4. package/lib/AreaChart.js.map +1 -0
  5. package/lib/CartesianChart.js +1 -0
  6. package/lib/CartesianChart.js.map +1 -0
  7. package/lib/DeclarativeChart.js +1 -0
  8. package/lib/DeclarativeChart.js.map +1 -0
  9. package/lib/DonutChart.js +1 -0
  10. package/lib/DonutChart.js.map +1 -0
  11. package/lib/GaugeChart.js +1 -0
  12. package/lib/GaugeChart.js.map +1 -0
  13. package/lib/GroupedVerticalBarChart.js +1 -0
  14. package/lib/GroupedVerticalBarChart.js.map +1 -0
  15. package/lib/HeatMapChart.js +1 -0
  16. package/lib/HeatMapChart.js.map +1 -0
  17. package/lib/HorizontalBarChart.js +1 -0
  18. package/lib/HorizontalBarChart.js.map +1 -0
  19. package/lib/HorizontalBarChartWithAxis.js +1 -0
  20. package/lib/HorizontalBarChartWithAxis.js.map +1 -0
  21. package/lib/Legends.js +1 -0
  22. package/lib/Legends.js.map +1 -0
  23. package/lib/LineChart.js +1 -0
  24. package/lib/LineChart.js.map +1 -0
  25. package/lib/Popover.js +1 -0
  26. package/lib/Popover.js.map +1 -0
  27. package/lib/ResponsiveContainer.js +1 -0
  28. package/lib/ResponsiveContainer.js.map +1 -0
  29. package/lib/SankeyChart.js +1 -0
  30. package/lib/SankeyChart.js.map +1 -0
  31. package/lib/ScatterChart.js +1 -0
  32. package/lib/ScatterChart.js.map +1 -0
  33. package/lib/Sparkline.js +1 -0
  34. package/lib/Sparkline.js.map +1 -0
  35. package/lib/VerticalBarChart.js +1 -0
  36. package/lib/VerticalBarChart.js.map +1 -0
  37. package/lib/VerticalStackedBarChart.js +1 -0
  38. package/lib/VerticalStackedBarChart.js.map +1 -0
  39. package/lib/components/AreaChart/AreaChart.js +775 -0
  40. package/lib/components/AreaChart/AreaChart.js.map +1 -0
  41. package/lib/components/AreaChart/AreaChart.types.js +4 -0
  42. package/lib/components/AreaChart/AreaChart.types.js.map +1 -0
  43. package/lib/components/AreaChart/index.js +3 -0
  44. package/lib/components/AreaChart/index.js.map +1 -0
  45. package/lib/components/AreaChart/useAreaChartStyles.styles.js +64 -0
  46. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  47. package/lib/components/CommonComponents/CartesianChart.js +478 -0
  48. package/lib/components/CommonComponents/CartesianChart.js.map +1 -0
  49. package/lib/components/CommonComponents/CartesianChart.types.js +1 -0
  50. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -0
  51. package/lib/components/CommonComponents/ChartPopover.js +187 -0
  52. package/lib/components/CommonComponents/ChartPopover.js.map +1 -0
  53. package/lib/components/CommonComponents/ChartPopover.types.js +1 -0
  54. package/lib/components/CommonComponents/ChartPopover.types.js.map +1 -0
  55. package/lib/components/CommonComponents/index.js +4 -0
  56. package/lib/components/CommonComponents/index.js.map +1 -0
  57. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +229 -0
  58. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  59. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +178 -0
  60. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  61. package/lib/components/DeclarativeChart/DeclarativeChart.js +197 -0
  62. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  63. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +811 -0
  64. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  65. package/lib/components/DeclarativeChart/imageExporter.js +221 -0
  66. package/lib/components/DeclarativeChart/imageExporter.js.map +1 -0
  67. package/lib/components/DeclarativeChart/index.js +1 -0
  68. package/lib/components/DeclarativeChart/index.js.map +1 -0
  69. package/lib/components/DonutChart/Arc/Arc.js +110 -0
  70. package/lib/components/DonutChart/Arc/Arc.js.map +1 -0
  71. package/lib/components/DonutChart/Arc/Arc.types.js +1 -0
  72. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -0
  73. package/lib/components/DonutChart/Arc/index.js +2 -0
  74. package/lib/components/DonutChart/Arc/index.js.map +1 -0
  75. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +54 -0
  76. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  77. package/lib/components/DonutChart/DonutChart.js +291 -0
  78. package/lib/components/DonutChart/DonutChart.js.map +1 -0
  79. package/lib/components/DonutChart/DonutChart.types.js +1 -0
  80. package/lib/components/DonutChart/DonutChart.types.js.map +1 -0
  81. package/lib/components/DonutChart/Pie/Pie.js +72 -0
  82. package/lib/components/DonutChart/Pie/Pie.js.map +1 -0
  83. package/lib/components/DonutChart/Pie/Pie.types.js +1 -0
  84. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -0
  85. package/lib/components/DonutChart/Pie/index.js +2 -0
  86. package/lib/components/DonutChart/Pie/index.js.map +1 -0
  87. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +44 -0
  88. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  89. package/lib/components/DonutChart/index.js +3 -0
  90. package/lib/components/DonutChart/index.js.map +1 -0
  91. package/lib/components/DonutChart/useDonutChartStyles.styles.js +58 -0
  92. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  93. package/lib/components/GaugeChart/GaugeChart.js +592 -0
  94. package/lib/components/GaugeChart/GaugeChart.js.map +1 -0
  95. package/lib/components/GaugeChart/GaugeChart.types.js +4 -0
  96. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -0
  97. package/lib/components/GaugeChart/index.js +3 -0
  98. package/lib/components/GaugeChart/index.js.map +1 -0
  99. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +174 -0
  100. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  101. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +501 -0
  102. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  103. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +4 -0
  104. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  105. package/lib/components/GroupedVerticalBarChart/index.js +3 -0
  106. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -0
  107. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +90 -0
  108. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  109. package/lib/components/HeatMapChart/HeatMapChart.js +588 -0
  110. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -0
  111. package/lib/components/HeatMapChart/HeatMapChart.types.js +4 -0
  112. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  113. package/lib/components/HeatMapChart/index.js +3 -0
  114. package/lib/components/HeatMapChart/index.js.map +1 -0
  115. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +46 -0
  116. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  117. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +402 -0
  118. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  119. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +6 -0
  120. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  121. package/lib/components/HorizontalBarChart/index.js +3 -0
  122. package/lib/components/HorizontalBarChart/index.js.map +1 -0
  123. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +163 -0
  124. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  125. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +571 -0
  126. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  127. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +4 -0
  128. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  129. package/lib/components/HorizontalBarChartWithAxis/index.js +3 -0
  130. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  131. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +76 -0
  132. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  133. package/lib/components/Legends/Legends.js +303 -0
  134. package/lib/components/Legends/Legends.js.map +1 -0
  135. package/lib/components/Legends/Legends.types.js +1 -0
  136. package/lib/components/Legends/Legends.types.js.map +1 -0
  137. package/lib/components/Legends/OverflowMenu.js +25 -0
  138. package/lib/components/Legends/OverflowMenu.js.map +1 -0
  139. package/lib/components/Legends/index.js +3 -0
  140. package/lib/components/Legends/index.js.map +1 -0
  141. package/lib/components/Legends/shape.js +35 -0
  142. package/lib/components/Legends/shape.js.map +1 -0
  143. package/lib/components/Legends/useLegendsStyles.styles.js +147 -0
  144. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -0
  145. package/lib/components/LineChart/LineChart.js +1034 -0
  146. package/lib/components/LineChart/LineChart.js.map +1 -0
  147. package/lib/components/LineChart/LineChart.types.js +3 -0
  148. package/lib/components/LineChart/LineChart.types.js.map +1 -0
  149. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +119 -0
  150. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  151. package/lib/components/LineChart/eventAnnotation/LabelLink.js +57 -0
  152. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  153. package/lib/components/LineChart/eventAnnotation/Textbox.js +40 -0
  154. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  155. package/lib/components/LineChart/index.js +4 -0
  156. package/lib/components/LineChart/index.js.map +1 -0
  157. package/lib/components/LineChart/useLineChartStyles.styles.js +65 -0
  158. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  159. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +65 -0
  160. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  161. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js +1 -0
  162. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  163. package/lib/components/ResponsiveContainer/index.js +1 -0
  164. package/lib/components/ResponsiveContainer/index.js.map +1 -0
  165. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +23 -0
  166. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  167. package/lib/components/SankeyChart/SankeyChart.js +1022 -0
  168. package/lib/components/SankeyChart/SankeyChart.js.map +1 -0
  169. package/lib/components/SankeyChart/SankeyChart.types.js +3 -0
  170. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -0
  171. package/lib/components/SankeyChart/index.js +3 -0
  172. package/lib/components/SankeyChart/index.js.map +1 -0
  173. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +109 -0
  174. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  175. package/lib/components/ScatterChart/ScatterChart.js +465 -0
  176. package/lib/components/ScatterChart/ScatterChart.js.map +1 -0
  177. package/lib/components/ScatterChart/ScatterChart.types.js +4 -0
  178. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -0
  179. package/lib/components/ScatterChart/index.js +3 -0
  180. package/lib/components/ScatterChart/index.js.map +1 -0
  181. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +65 -0
  182. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  183. package/lib/components/Sparkline/Sparkline.js +119 -0
  184. package/lib/components/Sparkline/Sparkline.js.map +1 -0
  185. package/lib/components/Sparkline/Sparkline.types.js +4 -0
  186. package/lib/components/Sparkline/Sparkline.types.js.map +1 -0
  187. package/lib/components/Sparkline/index.js +3 -0
  188. package/lib/components/Sparkline/index.js.map +1 -0
  189. package/lib/components/Sparkline/useSparklineStyles.styles.js +49 -0
  190. package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  191. package/lib/components/VerticalBarChart/VerticalBarChart.js +926 -0
  192. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  193. package/lib/components/VerticalBarChart/VerticalBarChart.types.js +4 -0
  194. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  195. package/lib/components/VerticalBarChart/index.js +3 -0
  196. package/lib/components/VerticalBarChart/index.js.map +1 -0
  197. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +74 -0
  198. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  199. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +904 -0
  200. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  201. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +1 -0
  202. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  203. package/lib/components/VerticalStackedBarChart/index.js +3 -0
  204. package/lib/components/VerticalStackedBarChart/index.js.map +1 -0
  205. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +73 -0
  206. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  207. package/lib/index.js +20 -0
  208. package/lib/index.js.map +1 -0
  209. package/lib/types/DataPoint.js +1 -0
  210. package/lib/types/DataPoint.js.map +1 -0
  211. package/lib/types/EventAnnotation.js +1 -0
  212. package/lib/types/EventAnnotation.js.map +1 -0
  213. package/lib/types/LegendDataItem.js +1 -0
  214. package/lib/types/LegendDataItem.js.map +1 -0
  215. package/lib/types/index.js +2 -0
  216. package/lib/types/index.js.map +1 -0
  217. package/lib/utilities/FocusableTooltipText.js +65 -0
  218. package/lib/utilities/FocusableTooltipText.js.map +1 -0
  219. package/lib/utilities/KeyCodes.js +8 -0
  220. package/lib/utilities/KeyCodes.js.map +1 -0
  221. package/lib/utilities/SVGTooltipText.js +183 -0
  222. package/lib/utilities/SVGTooltipText.js.map +1 -0
  223. package/lib/utilities/async-utils.js +380 -0
  224. package/lib/utilities/async-utils.js.map +1 -0
  225. package/lib/utilities/colors.js +269 -0
  226. package/lib/utilities/colors.js.map +1 -0
  227. package/lib/utilities/getWindow.js +25 -0
  228. package/lib/utilities/getWindow.js.map +1 -0
  229. package/lib/utilities/index.js +3 -0
  230. package/lib/utilities/index.js.map +1 -0
  231. package/lib/utilities/locale-util.js +15 -0
  232. package/lib/utilities/locale-util.js.map +1 -0
  233. package/lib/utilities/overflow-utils.js +27 -0
  234. package/lib/utilities/overflow-utils.js.map +1 -0
  235. package/lib/utilities/string.js +32 -0
  236. package/lib/utilities/string.js.map +1 -0
  237. package/lib/utilities/test-data.js +329 -0
  238. package/lib/utilities/test-data.js.map +1 -0
  239. package/lib/utilities/utilities.js +1405 -0
  240. package/lib/utilities/utilities.js.map +1 -0
  241. package/lib/utilities/vbc-utils.js +27 -0
  242. package/lib/utilities/vbc-utils.js.map +1 -0
  243. package/lib-commonjs/AreaChart.js +6 -0
  244. package/lib-commonjs/AreaChart.js.map +1 -0
  245. package/lib-commonjs/CartesianChart.js +6 -0
  246. package/lib-commonjs/CartesianChart.js.map +1 -0
  247. package/lib-commonjs/DeclarativeChart.js +6 -0
  248. package/lib-commonjs/DeclarativeChart.js.map +1 -0
  249. package/lib-commonjs/DonutChart.js +6 -0
  250. package/lib-commonjs/DonutChart.js.map +1 -0
  251. package/lib-commonjs/GaugeChart.js +6 -0
  252. package/lib-commonjs/GaugeChart.js.map +1 -0
  253. package/lib-commonjs/GroupedVerticalBarChart.js +6 -0
  254. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -0
  255. package/lib-commonjs/HeatMapChart.js +6 -0
  256. package/lib-commonjs/HeatMapChart.js.map +1 -0
  257. package/lib-commonjs/HorizontalBarChart.js +6 -0
  258. package/lib-commonjs/HorizontalBarChart.js.map +1 -0
  259. package/lib-commonjs/HorizontalBarChartWithAxis.js +6 -0
  260. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -0
  261. package/lib-commonjs/Legends.js +6 -0
  262. package/lib-commonjs/Legends.js.map +1 -0
  263. package/lib-commonjs/LineChart.js +6 -0
  264. package/lib-commonjs/LineChart.js.map +1 -0
  265. package/lib-commonjs/Popover.js +6 -0
  266. package/lib-commonjs/Popover.js.map +1 -0
  267. package/lib-commonjs/ResponsiveContainer.js +6 -0
  268. package/lib-commonjs/ResponsiveContainer.js.map +1 -0
  269. package/lib-commonjs/SankeyChart.js +6 -0
  270. package/lib-commonjs/SankeyChart.js.map +1 -0
  271. package/lib-commonjs/ScatterChart.js +6 -0
  272. package/lib-commonjs/ScatterChart.js.map +1 -0
  273. package/lib-commonjs/Sparkline.js +6 -0
  274. package/lib-commonjs/Sparkline.js.map +1 -0
  275. package/lib-commonjs/VerticalBarChart.js +6 -0
  276. package/lib-commonjs/VerticalBarChart.js.map +1 -0
  277. package/lib-commonjs/VerticalStackedBarChart.js +6 -0
  278. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -0
  279. package/lib-commonjs/components/AreaChart/AreaChart.js +781 -0
  280. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -0
  281. package/lib-commonjs/components/AreaChart/AreaChart.types.js +7 -0
  282. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -0
  283. package/lib-commonjs/components/AreaChart/index.js +8 -0
  284. package/lib-commonjs/components/AreaChart/index.js.map +1 -0
  285. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +104 -0
  286. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  287. package/lib-commonjs/components/CommonComponents/CartesianChart.js +484 -0
  288. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -0
  289. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js +6 -0
  290. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -0
  291. package/lib-commonjs/components/CommonComponents/ChartPopover.js +197 -0
  292. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -0
  293. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js +4 -0
  294. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +1 -0
  295. package/lib-commonjs/components/CommonComponents/index.js +9 -0
  296. package/lib-commonjs/components/CommonComponents/index.js.map +1 -0
  297. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +356 -0
  298. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  299. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +261 -0
  300. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  301. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +205 -0
  302. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  303. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +859 -0
  304. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  305. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +231 -0
  306. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -0
  307. package/lib-commonjs/components/DeclarativeChart/index.js +6 -0
  308. package/lib-commonjs/components/DeclarativeChart/index.js.map +1 -0
  309. package/lib-commonjs/components/DonutChart/Arc/Arc.js +117 -0
  310. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -0
  311. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js +4 -0
  312. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -0
  313. package/lib-commonjs/components/DonutChart/Arc/index.js +7 -0
  314. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -0
  315. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +83 -0
  316. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  317. package/lib-commonjs/components/DonutChart/DonutChart.js +298 -0
  318. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -0
  319. package/lib-commonjs/components/DonutChart/DonutChart.types.js +6 -0
  320. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -0
  321. package/lib-commonjs/components/DonutChart/Pie/Pie.js +79 -0
  322. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -0
  323. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js +4 -0
  324. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -0
  325. package/lib-commonjs/components/DonutChart/Pie/index.js +7 -0
  326. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -0
  327. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +61 -0
  328. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  329. package/lib-commonjs/components/DonutChart/index.js +8 -0
  330. package/lib-commonjs/components/DonutChart/index.js.map +1 -0
  331. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +82 -0
  332. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  333. package/lib-commonjs/components/GaugeChart/GaugeChart.js +621 -0
  334. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -0
  335. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js +7 -0
  336. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -0
  337. package/lib-commonjs/components/GaugeChart/index.js +8 -0
  338. package/lib-commonjs/components/GaugeChart/index.js.map +1 -0
  339. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +252 -0
  340. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  341. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +507 -0
  342. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  343. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +7 -0
  344. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  345. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +8 -0
  346. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -0
  347. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +139 -0
  348. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  349. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +599 -0
  350. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -0
  351. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js +7 -0
  352. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  353. package/lib-commonjs/components/HeatMapChart/index.js +8 -0
  354. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -0
  355. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +68 -0
  356. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  357. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +408 -0
  358. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  359. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js +17 -0
  360. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  361. package/lib-commonjs/components/HorizontalBarChart/index.js +8 -0
  362. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -0
  363. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +251 -0
  364. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  365. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +580 -0
  366. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  367. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +7 -0
  368. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  369. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +8 -0
  370. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  371. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +116 -0
  372. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  373. package/lib-commonjs/components/Legends/Legends.js +313 -0
  374. package/lib-commonjs/components/Legends/Legends.js.map +1 -0
  375. package/lib-commonjs/components/Legends/Legends.types.js +6 -0
  376. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -0
  377. package/lib-commonjs/components/Legends/OverflowMenu.js +36 -0
  378. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -0
  379. package/lib-commonjs/components/Legends/index.js +8 -0
  380. package/lib-commonjs/components/Legends/index.js.map +1 -0
  381. package/lib-commonjs/components/Legends/shape.js +46 -0
  382. package/lib-commonjs/components/Legends/shape.js.map +1 -0
  383. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +304 -0
  384. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -0
  385. package/lib-commonjs/components/LineChart/LineChart.js +1040 -0
  386. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -0
  387. package/lib-commonjs/components/LineChart/LineChart.types.js +6 -0
  388. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -0
  389. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +129 -0
  390. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  391. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +68 -0
  392. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  393. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +51 -0
  394. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  395. package/lib-commonjs/components/LineChart/index.js +9 -0
  396. package/lib-commonjs/components/LineChart/index.js.map +1 -0
  397. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +96 -0
  398. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  399. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +76 -0
  400. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  401. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js +6 -0
  402. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  403. package/lib-commonjs/components/ResponsiveContainer/index.js +6 -0
  404. package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -0
  405. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +47 -0
  406. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  407. package/lib-commonjs/components/SankeyChart/SankeyChart.js +1038 -0
  408. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -0
  409. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js +6 -0
  410. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -0
  411. package/lib-commonjs/components/SankeyChart/index.js +8 -0
  412. package/lib-commonjs/components/SankeyChart/index.js.map +1 -0
  413. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +179 -0
  414. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  415. package/lib-commonjs/components/ScatterChart/ScatterChart.js +471 -0
  416. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -0
  417. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +7 -0
  418. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -0
  419. package/lib-commonjs/components/ScatterChart/index.js +8 -0
  420. package/lib-commonjs/components/ScatterChart/index.js.map +1 -0
  421. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +96 -0
  422. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  423. package/lib-commonjs/components/Sparkline/Sparkline.js +125 -0
  424. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -0
  425. package/lib-commonjs/components/Sparkline/Sparkline.types.js +7 -0
  426. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -0
  427. package/lib-commonjs/components/Sparkline/index.js +8 -0
  428. package/lib-commonjs/components/Sparkline/index.js.map +1 -0
  429. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +77 -0
  430. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  431. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +928 -0
  432. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  433. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js +7 -0
  434. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  435. package/lib-commonjs/components/VerticalBarChart/index.js +8 -0
  436. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -0
  437. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +117 -0
  438. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  439. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +915 -0
  440. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  441. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +6 -0
  442. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  443. package/lib-commonjs/components/VerticalStackedBarChart/index.js +8 -0
  444. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -0
  445. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +120 -0
  446. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  447. package/lib-commonjs/index.js +25 -0
  448. package/lib-commonjs/index.js.map +1 -0
  449. package/lib-commonjs/types/DataPoint.js +4 -0
  450. package/lib-commonjs/types/DataPoint.js.map +1 -0
  451. package/lib-commonjs/types/EventAnnotation.js +6 -0
  452. package/lib-commonjs/types/EventAnnotation.js.map +1 -0
  453. package/lib-commonjs/types/LegendDataItem.js +4 -0
  454. package/lib-commonjs/types/LegendDataItem.js.map +1 -0
  455. package/lib-commonjs/types/index.js +7 -0
  456. package/lib-commonjs/types/index.js.map +1 -0
  457. package/lib-commonjs/utilities/FocusableTooltipText.js +75 -0
  458. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -0
  459. package/lib-commonjs/utilities/KeyCodes.js +18 -0
  460. package/lib-commonjs/utilities/KeyCodes.js.map +1 -0
  461. package/lib-commonjs/utilities/SVGTooltipText.js +193 -0
  462. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -0
  463. package/lib-commonjs/utilities/async-utils.js +382 -0
  464. package/lib-commonjs/utilities/async-utils.js.map +1 -0
  465. package/lib-commonjs/utilities/colors.js +293 -0
  466. package/lib-commonjs/utilities/colors.js.map +1 -0
  467. package/lib-commonjs/utilities/getWindow.js +28 -0
  468. package/lib-commonjs/utilities/getWindow.js.map +1 -0
  469. package/lib-commonjs/utilities/index.js +8 -0
  470. package/lib-commonjs/utilities/index.js.map +1 -0
  471. package/lib-commonjs/utilities/locale-util.js +25 -0
  472. package/lib-commonjs/utilities/locale-util.js.map +1 -0
  473. package/lib-commonjs/utilities/overflow-utils.js +36 -0
  474. package/lib-commonjs/utilities/overflow-utils.js.map +1 -0
  475. package/lib-commonjs/utilities/string.js +29 -0
  476. package/lib-commonjs/utilities/string.js.map +1 -0
  477. package/lib-commonjs/utilities/test-data.js +383 -0
  478. package/lib-commonjs/utilities/test-data.js.map +1 -0
  479. package/lib-commonjs/utilities/utilities.js +1371 -0
  480. package/lib-commonjs/utilities/utilities.js.map +1 -0
  481. package/lib-commonjs/utilities/vbc-utils.js +45 -0
  482. package/lib-commonjs/utilities/vbc-utils.js.map +1 -0
  483. package/package.json +13 -13
@@ -0,0 +1,471 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ScatterChart", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ScatterChart;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _useScatterChartStylesstyles = require("./useScatterChartStyles.styles");
14
+ const _d3selection = require("d3-selection");
15
+ const _index = require("../Legends/index");
16
+ const _d3array = require("d3-array");
17
+ const _reactutilities = require("@fluentui/react-utilities");
18
+ const _index1 = require("../../utilities/index");
19
+ const _index2 = require("../../index");
20
+ const _reacttheme = require("@fluentui/react-theme");
21
+ const ScatterChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
22
+ const _circleId = (0, _reactutilities.useId)('circle');
23
+ const _seriesId = (0, _reactutilities.useId)('seriesID');
24
+ const _verticalLine = (0, _reactutilities.useId)('verticalLine');
25
+ const _tooltipId = (0, _reactutilities.useId)('ScatterChartTooltipId_');
26
+ const _firstRenderOptimization = true;
27
+ const _emptyChartId = (0, _reactutilities.useId)('_ScatterChart_empty');
28
+ let _points = _injectIndexPropertyInScatterChartData(props.data.lineChartData);
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ let _calloutPoints = (0, _index1.calloutData)(_points) || [];
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ let _xAxisScale = '';
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ let _yAxisScale = '';
35
+ let _uniqueCallOutID = '';
36
+ let _refArray = [];
37
+ let margins;
38
+ let renderSeries;
39
+ let _xAxisLabels = [];
40
+ let xAxisCalloutAccessibilityData = {};
41
+ let _xBandwidth = 0;
42
+ const cartesianChartRef = _react.useRef(null);
43
+ const [hoverXValue, setHoverXValue] = _react.useState('');
44
+ const [activeLegend, setActiveLegend] = _react.useState('');
45
+ const [YValueHover, setYValueHover] = _react.useState([]);
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ const [selectedLegendPoints, setSelectedLegendPoints] = _react.useState([]);
48
+ const [isSelectedLegend, setIsSelectedLegend] = _react.useState(false);
49
+ const [activePoint, setActivePoint] = _react.useState('');
50
+ const [stackCalloutProps, setStackCalloutProps] = _react.useState();
51
+ const [clickPosition, setClickPosition] = _react.useState({
52
+ x: 0,
53
+ y: 0
54
+ });
55
+ const [isPopoverOpen, setPopoverOpen] = _react.useState(false);
56
+ const [selectedLegends, setSelectedLegends] = _react.useState([]);
57
+ const prevPropsRef = _react.useRef(null);
58
+ _react.useEffect(()=>{
59
+ if (prevPropsRef.current) {
60
+ var _prevProps_legendProps, _props_legendProps;
61
+ const prevProps = prevPropsRef.current;
62
+ if (!(0, _index1.areArraysEqual)((_prevProps_legendProps = prevProps.legendProps) === null || _prevProps_legendProps === void 0 ? void 0 : _prevProps_legendProps.selectedLegends, (_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends)) {
63
+ var _props_legendProps1;
64
+ setSelectedLegends(((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.selectedLegends) || []);
65
+ }
66
+ }
67
+ prevPropsRef.current = props;
68
+ }, [
69
+ props
70
+ ]);
71
+ _react.useImperativeHandle(props.componentRef, ()=>{
72
+ var _cartesianChartRef_current;
73
+ var _cartesianChartRef_current_chartContainer;
74
+ return {
75
+ 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
76
+ };
77
+ }, []);
78
+ const _xAxisType = props.data.lineChartData && props.data.lineChartData.length > 0 && props.data.lineChartData[0].data && props.data.lineChartData[0].data.length > 0 ? (0, _index1.getTypeOfAxis)(props.data.lineChartData[0].data[0].x, true) : _index1.XAxisTypes.StringAxis;
79
+ const pointsRef = _react.useRef([]);
80
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
+ const calloutPointsRef = _react.useRef([]);
82
+ _react.useEffect(()=>{
83
+ /** note that height and width are not used to resize or set as dimesions of the chart,
84
+ * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart
85
+ */ if (_points !== _injectIndexPropertyInScatterChartData(props.data.lineChartData) || props.data !== _points) {
86
+ pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.lineChartData);
87
+ calloutPointsRef.current = (0, _index1.calloutData)(pointsRef.current);
88
+ }
89
+ }, [
90
+ props.height,
91
+ props.width,
92
+ props.data,
93
+ _points
94
+ ]);
95
+ function _injectIndexPropertyInScatterChartData(scatterChartData) {
96
+ return scatterChartData ? scatterChartData.map((item, index)=>{
97
+ let color;
98
+ if (typeof item.color === 'undefined') {
99
+ color = (0, _index1.getNextColor)(index, 0);
100
+ } else {
101
+ color = (0, _index1.getColorFromToken)(item.color);
102
+ }
103
+ return {
104
+ ...item,
105
+ index: -1,
106
+ color
107
+ };
108
+ }) : [];
109
+ }
110
+ function updatePosition(newX, newY) {
111
+ const threshold = 1; // Set a threshold for movement
112
+ const { x, y } = clickPosition;
113
+ // Calculate the distance moved
114
+ const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));
115
+ // Update the position only if the distance moved is greater than the threshold
116
+ if (distance > threshold) {
117
+ setClickPosition({
118
+ x: newX,
119
+ y: newY
120
+ });
121
+ setPopoverOpen(true);
122
+ }
123
+ }
124
+ function _getMargins(_margins) {
125
+ margins = _margins;
126
+ }
127
+ function _initializeScatterChartData(xScale, yScale, containerHeight, containerWidth, xElement) {
128
+ _xAxisScale = xScale;
129
+ _yAxisScale = yScale;
130
+ renderSeries = _createPlot(xElement, containerHeight);
131
+ }
132
+ function _onHoverCardHide() {
133
+ setSelectedLegendPoints([]);
134
+ setIsSelectedLegend(false);
135
+ }
136
+ function _createLegends(data) {
137
+ const { legendProps } = props;
138
+ const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);
139
+ const legendDataItems = data.map((point)=>{
140
+ const color = point.color;
141
+ // mapping data to the format Legends component needs
142
+ const legend = {
143
+ title: point.legend,
144
+ color,
145
+ onMouseOutAction: ()=>{
146
+ setActiveLegend('');
147
+ },
148
+ hoverAction: ()=>{
149
+ _handleChartMouseLeave();
150
+ setActiveLegend(point.legend);
151
+ },
152
+ ...point.legendShape && {
153
+ shape: point.legendShape
154
+ }
155
+ };
156
+ return legend;
157
+ });
158
+ return /*#__PURE__*/ _react.createElement(_index.Legends, {
159
+ legends: [
160
+ ...legendDataItems
161
+ ],
162
+ enabledWrapLines: props.enabledLegendsWrapLines,
163
+ overflowText: props.legendsOverflowText,
164
+ ...isLegendMultiSelectEnabled && {
165
+ onLegendHoverCardLeave: _onHoverCardHide
166
+ },
167
+ ...props.legendProps,
168
+ selectedLegends: selectedLegends,
169
+ onChange: _onLegendSelectionChange
170
+ });
171
+ }
172
+ function _onLegendSelectionChange(legendsSelected, event, currentLegend) {
173
+ var _props_legendProps, _props_legendProps1;
174
+ if ((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.canSelectMultipleLegends) {
175
+ setSelectedLegends(legendsSelected);
176
+ } else {
177
+ setSelectedLegends(legendsSelected.slice(-1));
178
+ }
179
+ if ((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.onChange) {
180
+ props.legendProps.onChange(legendsSelected, event, currentLegend);
181
+ }
182
+ }
183
+ function _getPointFill(seriesColor, pointId, pointIndex, isLastPoint) {
184
+ if (activePoint === pointId) {
185
+ return _reacttheme.tokens.colorNeutralBackground1;
186
+ } else {
187
+ return seriesColor;
188
+ }
189
+ }
190
+ function _createPlot(xElement, containerHeight) {
191
+ const series = [];
192
+ if (isSelectedLegend) {
193
+ _points = selectedLegendPoints;
194
+ } else {
195
+ _points = _injectIndexPropertyInScatterChartData(props.data.lineChartData);
196
+ }
197
+ const yMax = (0, _d3array.max)(points, (point)=>{
198
+ return (0, _d3array.max)(point.data, (item)=>item.y);
199
+ });
200
+ const yMin = (0, _d3array.min)(points, (point)=>{
201
+ return (0, _d3array.min)(point.data, (item)=>item.y);
202
+ });
203
+ const yPadding = (yMax - yMin) * 0.1;
204
+ const yPaddingRange = Math.abs(_yAxisScale(yMin + yPadding) - _yAxisScale(yMin));
205
+ let maxMarkerRange = 40;
206
+ let xPaddingRange = 0;
207
+ if (_xAxisType === _index1.XAxisTypes.StringAxis) {
208
+ _xBandwidth = _xAxisScale.bandwidth() / 2;
209
+ xPaddingRange = _xBandwidth;
210
+ } else if (_xAxisType === _index1.XAxisTypes.DateAxis) {
211
+ const xMin = (0, _d3array.min)(points, (point)=>{
212
+ return (0, _d3array.min)(point.data, (item)=>item.x);
213
+ });
214
+ const xMax = (0, _d3array.max)(points, (point)=>{
215
+ return (0, _d3array.max)(point.data, (item)=>{
216
+ return item.x;
217
+ });
218
+ });
219
+ const xPadding = (xMax.getTime() - xMin.getTime()) * 0.1;
220
+ xPaddingRange = Math.abs(_xAxisScale(new Date(xMin.getTime() + xPadding)) - _xAxisScale(xMin));
221
+ } else {
222
+ const xMin = (0, _d3array.min)(points, (point)=>{
223
+ return (0, _d3array.min)(point.data, (item)=>item.x);
224
+ });
225
+ const xMax = (0, _d3array.max)(points, (point)=>{
226
+ return (0, _d3array.max)(point.data, (item)=>{
227
+ return item.x;
228
+ });
229
+ });
230
+ const xPadding = (xMax - xMin) * 0.1;
231
+ xPaddingRange = Math.abs(_xAxisScale(xMin + xPadding) - _xAxisScale(xMin));
232
+ }
233
+ maxMarkerRange = Math.min(maxMarkerRange, Math.min(xPaddingRange, yPaddingRange));
234
+ const maxMarkerSize = (0, _d3array.max)(_points, (point)=>{
235
+ return (0, _d3array.max)(point.data, (item)=>{
236
+ return item.markerSize;
237
+ });
238
+ });
239
+ for(let i = _points.length - 1; i >= 0; i--){
240
+ const pointsForSeries = [];
241
+ const legendVal = _points[i].legend;
242
+ const seriesColor = _points[i].color;
243
+ const verticaLineHeight = containerHeight - margins.bottom + 6;
244
+ for(let j = 0; j < _points[i].data.length; j++){
245
+ const seriesId = `${_seriesId}_${i}_${j}`;
246
+ const circleId = `${_circleId}_${i}_${j}`;
247
+ const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j];
248
+ let circleRadius = 3.5;
249
+ const pointMarkerSize = _points[i].data[j].markerSize;
250
+ if (pointMarkerSize !== undefined) {
251
+ circleRadius = Math.min(pointMarkerSize * maxMarkerRange / maxMarkerSize, pointMarkerSize);
252
+ }
253
+ const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
254
+ const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;
255
+ pointsForSeries.push(/*#__PURE__*/ _react.createElement("circle", {
256
+ id: circleId,
257
+ key: circleId,
258
+ r: circleRadius,
259
+ cx: _xAxisScale(x) + _xBandwidth,
260
+ cy: _yAxisScale(y),
261
+ "data-is-focusable": isLegendSelected,
262
+ onMouseOver: (event)=>_handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event),
263
+ onMouseMove: (event)=>_handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event),
264
+ onMouseOut: _handleMouseOut,
265
+ onFocus: ()=>_handleFocus(seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
266
+ onBlur: _handleMouseOut,
267
+ ..._getClickHandler(_points[i].data[j].onDataPointClick),
268
+ opacity: isLegendSelected && !currentPointHidden ? 1 : 0.1,
269
+ fill: _getPointFill(seriesColor, circleId, j, false),
270
+ stroke: seriesColor,
271
+ role: "img",
272
+ "aria-label": _getAriaLabel(i, j),
273
+ tabIndex: _points[i].legend !== '' ? 0 : undefined
274
+ }));
275
+ }
276
+ series.push(/*#__PURE__*/ _react.createElement("g", {
277
+ key: `series_${i}`,
278
+ role: "region",
279
+ "aria-label": `${legendVal}, series ${i + 1} of ${_points.length} with ${_points[i].data.length} data points.`
280
+ }, pointsForSeries));
281
+ }
282
+ const classes = (0, _useScatterChartStylesstyles.useScatterChartStyles_unstable)(props);
283
+ // Removing un wanted tooltip div from DOM, when prop not provided.
284
+ if (!props.showXAxisLablesTooltip) {
285
+ try {
286
+ document.getElementById(_tooltipId) && document.getElementById(_tooltipId).remove();
287
+ // eslint-disable-next-line no-empty
288
+ } catch (e) {}
289
+ }
290
+ // Used to display tooltip at x axis labels.
291
+ if (!props.wrapXAxisLables && props.showXAxisLablesTooltip) {
292
+ const xAxisElement = (0, _d3selection.select)(xElement).call(_xAxisScale);
293
+ try {
294
+ document.getElementById(_tooltipId) && document.getElementById(_tooltipId).remove();
295
+ // eslint-disable-next-line no-empty
296
+ } catch (e) {}
297
+ const tooltipProps = {
298
+ tooltipCls: classes.tooltip,
299
+ id: _tooltipId,
300
+ xAxis: xAxisElement
301
+ };
302
+ xAxisElement && (0, _index1.tooltipOfXAxislabels)(tooltipProps);
303
+ }
304
+ return series;
305
+ }
306
+ function _handleFocus(seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData) {
307
+ _uniqueCallOutID = circleId;
308
+ const formattedData = x instanceof Date ? (0, _index1.formatDate)(x, props.useUTC) : x;
309
+ const xVal = x instanceof Date ? x.getTime() : x;
310
+ const found = (0, _index1.find)(_calloutPoints, (element)=>element.x === xVal);
311
+ // if no points need to be called out then don't show vertical line and callout card
312
+ if (found) {
313
+ (0, _d3selection.select)(`#${_verticalLine}`).attr('transform', ()=>`translate(${_xAxisScale(x) + _xBandwidth}, 0)`).attr('visibility', 'visibility');
314
+ _refArray.forEach((obj)=>{
315
+ if (obj.index === seriesId) {
316
+ setPopoverOpen(true);
317
+ xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);
318
+ setYValueHover(found.values);
319
+ setStackCalloutProps(found);
320
+ setActivePoint(circleId);
321
+ }
322
+ });
323
+ } else {
324
+ setActivePoint(circleId);
325
+ }
326
+ }
327
+ function _handleHover(x, y, lineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, mouseEvent) {
328
+ mouseEvent === null || mouseEvent === void 0 ? void 0 : mouseEvent.persist();
329
+ const formattedData = x instanceof Date ? (0, _index1.formatDate)(x, props.useUTC) : x;
330
+ const xVal = x instanceof Date ? x.getTime() : x;
331
+ const found = (0, _index1.find)(_calloutPoints, (element)=>element.x === xVal);
332
+ // if no points need to be called out then don't show vertical line and callout card
333
+ if (found) {
334
+ (0, _d3selection.select)(`#${_verticalLine}`).attr('transform', ()=>`translate(${_xAxisScale(x) + _xBandwidth}, ${_yAxisScale(y)})`).attr('visibility', 'visibility').attr('y2', `${lineHeight - _yAxisScale(y)}`);
335
+ if (_uniqueCallOutID !== circleId) {
336
+ _uniqueCallOutID = circleId;
337
+ updatePosition(mouseEvent.clientX, mouseEvent.clientY);
338
+ xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);
339
+ setYValueHover(found.values);
340
+ setStackCalloutProps(found);
341
+ setActivePoint(circleId);
342
+ }
343
+ } else {
344
+ setActivePoint(circleId);
345
+ }
346
+ }
347
+ /**
348
+ * Screen readers announce an element as clickable if the onClick attribute is set.
349
+ * This function sets the attribute only when a click event handler is provided.*/ function _getClickHandler(func) {
350
+ if (func) {
351
+ return {
352
+ onClick: func
353
+ };
354
+ }
355
+ return {};
356
+ }
357
+ function _handleMouseOut() {
358
+ (0, _d3selection.select)(`#${_verticalLine}`).attr('visibility', 'hidden');
359
+ }
360
+ function _handleChartMouseLeave() {
361
+ _uniqueCallOutID = null;
362
+ setActivePoint('');
363
+ if (isPopoverOpen) {
364
+ setPopoverOpen(false);
365
+ }
366
+ }
367
+ /**
368
+ * This function checks if the given legend is highlighted or not.
369
+ * A legend can be highlighted in 2 ways:
370
+ * 1. selection: if the user clicks on it
371
+ * 2. hovering: if there is no selected legend and the user hovers over it*/ function _legendHighlighted(legend) {
372
+ return _getHighlightedLegend().includes(legend);
373
+ }
374
+ /**
375
+ * This function checks if none of the legends is selected or hovered.*/ function _noLegendHighlighted() {
376
+ return selectedLegends.length === 0;
377
+ }
378
+ function _getHighlightedLegend() {
379
+ return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [
380
+ activeLegend
381
+ ] : [];
382
+ }
383
+ function _getAriaLabel(seriesIndex, pointIndex) {
384
+ var _point_callOutAccessibilityData;
385
+ const series = _points[seriesIndex];
386
+ const point = series.data[pointIndex];
387
+ const formattedDate = point.x instanceof Date ? (0, _index1.formatDate)(point.x, props.useUTC) : point.x;
388
+ const xValue = point.xAxisCalloutData || formattedDate;
389
+ const legend = series.legend;
390
+ const yValue = point.yAxisCalloutData || point.y;
391
+ return ((_point_callOutAccessibilityData = point.callOutAccessibilityData) === null || _point_callOutAccessibilityData === void 0 ? void 0 : _point_callOutAccessibilityData.ariaLabel) || `${xValue}. ${legend}, ${yValue}.`;
392
+ }
393
+ function _isChartEmpty() {
394
+ return !(props.data && props.data.lineChartData && props.data.lineChartData.length > 0 && props.data.lineChartData.filter((item)=>item.data.length).length > 0);
395
+ }
396
+ const { legendProps, tickValues, tickFormat } = props;
397
+ _points = _injectIndexPropertyInScatterChartData(props.data.lineChartData);
398
+ let points = _points;
399
+ if (legendProps && !!legendProps.canSelectMultipleLegends) {
400
+ points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;
401
+ _calloutPoints = (0, _index1.calloutData)(points);
402
+ }
403
+ let legendBars = null;
404
+ // reduce computation cost by only creating legendBars
405
+ // if when hideLegend is false.
406
+ // NOTE: they are rendered only when hideLegend is false in CartesianChart.
407
+ if (!props.hideLegend) {
408
+ legendBars = _createLegends(_points); // ToDo: Memoize legends to improve performance.
409
+ }
410
+ var _props_culture;
411
+ const calloutProps = {
412
+ YValueHover,
413
+ hoverXValue,
414
+ descriptionMessage: props.getCalloutDescriptionMessage && stackCalloutProps ? props.getCalloutDescriptionMessage(stackCalloutProps) : undefined,
415
+ 'data-is-focusable': true,
416
+ xAxisCalloutAccessibilityData,
417
+ ...props.calloutProps,
418
+ clickPosition,
419
+ isPopoverOpen,
420
+ isCalloutForStack: true,
421
+ culture: (_props_culture = props.culture) !== null && _props_culture !== void 0 ? _props_culture : 'en-us',
422
+ isCartesian: true
423
+ };
424
+ const tickParams = {
425
+ tickValues,
426
+ tickFormat
427
+ };
428
+ const xAxisLabels = _points.map((point)=>point.data.map((dp)=>dp.x)).flat();
429
+ _xAxisLabels = [
430
+ ...new Set(xAxisLabels)
431
+ ];
432
+ return !_isChartEmpty() ? /*#__PURE__*/ _react.createElement(_index2.CartesianChart, {
433
+ ...props,
434
+ chartTitle: props.data.chartTitle,
435
+ points: points,
436
+ chartType: _index1.ChartTypes.ScatterChart,
437
+ calloutProps: calloutProps,
438
+ tickParams: tickParams,
439
+ legendBars: legendBars,
440
+ getmargins: _getMargins,
441
+ getGraphData: _initializeScatterChartData,
442
+ xAxisType: _xAxisType,
443
+ onChartMouseLeave: _handleChartMouseLeave,
444
+ enableFirstRenderOptimization: _firstRenderOptimization,
445
+ datasetForXAxisDomain: _xAxisLabels,
446
+ componentRef: cartesianChartRef,
447
+ /* eslint-disable react/jsx-no-bind */ // eslint-disable-next-line react/no-children-prop
448
+ children: (props)=>{
449
+ _xAxisScale = props.xScale;
450
+ _yAxisScale = props.yScale;
451
+ return /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("g", null, /*#__PURE__*/ _react.createElement("line", {
452
+ x1: 0,
453
+ y1: 0,
454
+ x2: 0,
455
+ y2: props.containerHeight,
456
+ stroke: '#323130',
457
+ id: _verticalLine,
458
+ visibility: 'hidden',
459
+ strokeDasharray: '5,5'
460
+ }), /*#__PURE__*/ _react.createElement("g", null, renderSeries)));
461
+ }
462
+ }) : /*#__PURE__*/ _react.createElement("div", {
463
+ id: _emptyChartId,
464
+ role: 'alert',
465
+ style: {
466
+ opacity: '0'
467
+ },
468
+ "aria-label": 'Graph has no data to display'
469
+ });
470
+ });
471
+ ScatterChart.displayName = 'ScatterChart';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ScatterChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ScatterChartProps } from './ScatterChart.types';\nimport { useScatterChartStyles_unstable } from './useScatterChartStyles.styles';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { select as d3Select } from 'd3-selection';\nimport { Legend, Legends } from '../Legends/index';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { useId } from '@fluentui/react-utilities';\nimport { areArraysEqual, find } from '../../utilities/index';\nimport {\n AccessibilityProps,\n CartesianChart,\n ChildProps,\n LineChartPoints,\n CustomizedCalloutData,\n Margins,\n RefArrayData,\n ScatterChartDataPoint,\n Chart,\n} from '../../index';\nimport { tokens } from '@fluentui/react-theme';\nimport {\n calloutData,\n ChartTypes,\n XAxisTypes,\n tooltipOfXAxislabels,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n formatDate,\n} from '../../utilities/index';\n\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\n\ntype ScatterChartDataWithIndex = LineChartPoints & { index: number };\n\n// Create a ScatterChart variant which uses these default styles and this styled subcomponent.\n/**\n * ScatterChart component\n * {@docCategory ScatterChart}\n */\nexport const ScatterChart: React.FunctionComponent<ScatterChartProps> = React.forwardRef<\n HTMLDivElement,\n ScatterChartProps\n>((props, forwardedRef) => {\n const _circleId: string = useId('circle');\n const _seriesId: string = useId('seriesID');\n const _verticalLine: string = useId('verticalLine');\n const _tooltipId: string = useId('ScatterChartTooltipId_');\n const _firstRenderOptimization = true;\n const _emptyChartId: string = useId('_ScatterChart_empty');\n let _points: ScatterChartDataWithIndex[] = _injectIndexPropertyInScatterChartData(props.data.lineChartData);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _calloutPoints: any[] = calloutData(_points) || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xAxisScale: any = '';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _yAxisScale: any = '';\n let _uniqueCallOutID: string | null = '';\n let _refArray: RefArrayData[] = [];\n let margins: Margins;\n let renderSeries: JSX.Element[];\n let _xAxisLabels: string[] = [];\n let xAxisCalloutAccessibilityData: AccessibilityProps = {};\n let _xBandwidth = 0;\n const cartesianChartRef = React.useRef<Chart>(null);\n\n const [hoverXValue, setHoverXValue] = React.useState<string | number>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n const [YValueHover, setYValueHover] = React.useState<[]>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [selectedLegendPoints, setSelectedLegendPoints] = React.useState<any[]>([]);\n const [isSelectedLegend, setIsSelectedLegend] = React.useState<boolean>(false);\n const [activePoint, setActivePoint] = React.useState<string>('');\n const [stackCalloutProps, setStackCalloutProps] = React.useState<CustomizedCalloutData>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>([]);\n const prevPropsRef = React.useRef<ScatterChartProps | null>(null);\n\n React.useEffect(() => {\n if (prevPropsRef.current) {\n const prevProps = prevPropsRef.current;\n if (!areArraysEqual(prevProps.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n }\n prevPropsRef.current = props;\n }, [props]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: cartesianChartRef.current?.chartContainer ?? null,\n }),\n [],\n );\n\n const _xAxisType: XAxisTypes =\n props.data.lineChartData! &&\n props.data.lineChartData!.length > 0 &&\n props.data.lineChartData![0].data &&\n props.data.lineChartData![0].data.length > 0\n ? (getTypeOfAxis(props.data.lineChartData![0].data[0].x, true) as XAxisTypes)\n : XAxisTypes.StringAxis;\n\n const pointsRef = React.useRef<ScatterChartDataWithIndex[] | []>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const calloutPointsRef = React.useRef<any[]>([]);\n React.useEffect(() => {\n /** note that height and width are not used to resize or set as dimesions of the chart,\n * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart\n */\n\n if (_points !== _injectIndexPropertyInScatterChartData(props.data.lineChartData) || props.data !== _points) {\n pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.lineChartData);\n calloutPointsRef.current = calloutData(pointsRef.current);\n }\n }, [props.height, props.width, props.data, _points]);\n\n function _injectIndexPropertyInScatterChartData(\n scatterChartData?: LineChartPoints[],\n ): ScatterChartDataWithIndex[] | [] {\n return scatterChartData\n ? scatterChartData.map((item: LineChartPoints, index: number) => {\n let color: string;\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0);\n } else {\n color = getColorFromToken(item.color);\n }\n return {\n ...item,\n index: -1,\n color,\n };\n })\n : [];\n }\n\n function updatePosition(newX: number, newY: number) {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n function _getMargins(_margins: Margins) {\n margins = _margins;\n }\n\n function _initializeScatterChartData(\n xScale: NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) {\n _xAxisScale = xScale;\n _yAxisScale = yScale;\n renderSeries = _createPlot(xElement!, containerHeight!);\n }\n\n function _onHoverCardHide() {\n setSelectedLegendPoints([]);\n setIsSelectedLegend(false);\n }\n\n function _createLegends(data: ScatterChartDataWithIndex[]): JSX.Element {\n const { legendProps } = props;\n const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);\n const legendDataItems = data.map((point: ScatterChartDataWithIndex) => {\n const color: string = point.color!;\n // mapping data to the format Legends component needs\n const legend: Legend = {\n title: point.legend!,\n color,\n onMouseOutAction: () => {\n setActiveLegend('');\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(point.legend);\n },\n ...(point.legendShape && {\n shape: point.legendShape,\n }),\n };\n return legend;\n });\n\n return (\n <Legends\n legends={[...legendDataItems]}\n enabledWrapLines={props.enabledLegendsWrapLines}\n overflowText={props.legendsOverflowText}\n {...(isLegendMultiSelectEnabled && { onLegendHoverCardLeave: _onHoverCardHide })}\n {...props.legendProps}\n selectedLegends={selectedLegends}\n onChange={_onLegendSelectionChange}\n />\n );\n }\n\n function _onLegendSelectionChange(\n legendsSelected: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(legendsSelected);\n } else {\n setSelectedLegends(legendsSelected.slice(-1));\n }\n\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(legendsSelected, event, currentLegend);\n }\n }\n\n function _getPointFill(seriesColor: string, pointId: string, pointIndex: number, isLastPoint: boolean) {\n if (activePoint === pointId) {\n return tokens.colorNeutralBackground1;\n } else {\n return seriesColor;\n }\n }\n\n function _createPlot(xElement: SVGElement, containerHeight: number): JSX.Element[] {\n const series: JSX.Element[] = [];\n if (isSelectedLegend) {\n _points = selectedLegendPoints;\n } else {\n _points = _injectIndexPropertyInScatterChartData(props.data.lineChartData);\n }\n\n const yMax = d3Max(points, (point: LineChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yMin = d3Min(points, (point: LineChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yPadding = (yMax - yMin) * 0.1;\n const yPaddingRange = Math.abs(_yAxisScale(yMin + yPadding) - _yAxisScale(yMin));\n\n let maxMarkerRange = 40;\n let xPaddingRange = 0;\n if (_xAxisType === XAxisTypes.StringAxis) {\n _xBandwidth = _xAxisScale.bandwidth() / 2;\n xPaddingRange = _xBandwidth;\n } else if (_xAxisType === XAxisTypes.DateAxis) {\n const xMin = d3Min(points, (point: LineChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as Date)!;\n })!;\n\n const xMax = d3Max(points, (point: LineChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as Date;\n });\n })!;\n\n const xPadding = (xMax.getTime() - xMin.getTime()) * 0.1;\n xPaddingRange = Math.abs(_xAxisScale(new Date(xMin.getTime() + xPadding)) - _xAxisScale(xMin));\n } else {\n const xMin = d3Min(points, (point: LineChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as number)!;\n })!;\n\n const xMax = d3Max(points, (point: LineChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as number;\n });\n })!;\n\n const xPadding = (xMax - xMin) * 0.1;\n xPaddingRange = Math.abs(_xAxisScale(xMin + xPadding) - _xAxisScale(xMin));\n }\n maxMarkerRange = Math.min(maxMarkerRange, Math.min(xPaddingRange, yPaddingRange));\n\n const maxMarkerSize = d3Max(_points, (point: LineChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.markerSize as number;\n });\n })!;\n\n for (let i = _points.length - 1; i >= 0; i--) {\n const pointsForSeries: JSX.Element[] = [];\n\n const legendVal: string = _points[i].legend;\n const seriesColor: string = _points[i].color!;\n const verticaLineHeight = containerHeight - margins.bottom! + 6;\n\n for (let j = 0; j < _points[i].data.length; j++) {\n const seriesId = `${_seriesId}_${i}_${j}`;\n const circleId = `${_circleId}_${i}_${j}`;\n const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j];\n let circleRadius = 3.5;\n const pointMarkerSize = (_points[i].data[j] as ScatterChartDataPoint).markerSize;\n if ((pointMarkerSize as number) !== undefined) {\n circleRadius = Math.min((pointMarkerSize! * maxMarkerRange) / maxMarkerSize, pointMarkerSize!);\n }\n\n const isLegendSelected: boolean = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;\n\n const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;\n pointsForSeries.push(\n <circle\n id={circleId}\n key={circleId}\n r={circleRadius}\n cx={_xAxisScale(x) + _xBandwidth}\n cy={_yAxisScale(y)}\n data-is-focusable={isLegendSelected}\n onMouseOver={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseMove={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseOut={_handleMouseOut}\n onFocus={() => _handleFocus(seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData)}\n onBlur={_handleMouseOut}\n {..._getClickHandler(_points[i].data[j].onDataPointClick)}\n opacity={isLegendSelected && !currentPointHidden ? 1 : 0.1}\n fill={_getPointFill(seriesColor, circleId, j, false)}\n stroke={seriesColor}\n role=\"img\"\n aria-label={_getAriaLabel(i, j)}\n tabIndex={_points[i].legend !== '' ? 0 : undefined}\n />,\n );\n }\n\n series.push(\n <g\n key={`series_${i}`}\n role=\"region\"\n aria-label={`${legendVal}, series ${i + 1} of ${_points.length} with ${_points[i].data.length} data points.`}\n >\n {pointsForSeries}\n </g>,\n );\n }\n const classes = useScatterChartStyles_unstable(props);\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!props.showXAxisLablesTooltip) {\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!props.wrapXAxisLables && props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(_xAxisScale);\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classes.tooltip!,\n id: _tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return series;\n }\n\n function _handleFocus(\n seriesId: string,\n x: number | Date | string,\n\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData?: AccessibilityProps,\n ) {\n _uniqueCallOutID = circleId;\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, 0)`)\n .attr('visibility', 'visibility');\n _refArray.forEach((obj: RefArrayData) => {\n if (obj.index === seriesId) {\n setPopoverOpen(true);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n });\n } else {\n setActivePoint(circleId);\n }\n }\n\n function _handleHover(\n x: number | Date | string,\n y: number | Date,\n lineHeight: number,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData: AccessibilityProps | undefined,\n mouseEvent: React.MouseEvent<SVGElement>,\n ) {\n mouseEvent?.persist();\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, ${_yAxisScale(y)})`)\n .attr('visibility', 'visibility')\n .attr('y2', `${lineHeight - _yAxisScale(y)}`);\n\n if (_uniqueCallOutID !== circleId) {\n _uniqueCallOutID = circleId;\n updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n } else {\n setActivePoint(circleId);\n }\n }\n\n /**\n * Screen readers announce an element as clickable if the onClick attribute is set.\n * This function sets the attribute only when a click event handler is provided.*/\n\n function _getClickHandler(func?: () => void): { onClick?: () => void } {\n if (func) {\n return {\n onClick: func,\n };\n }\n\n return {};\n }\n\n function _handleMouseOut() {\n d3Select(`#${_verticalLine}`).attr('visibility', 'hidden');\n }\n\n function _handleChartMouseLeave() {\n _uniqueCallOutID = null;\n setActivePoint('');\n if (isPopoverOpen) {\n setPopoverOpen(false);\n }\n }\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it*/\n\n function _legendHighlighted(legend: string): boolean {\n return _getHighlightedLegend().includes(legend);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.*/\n\n function _noLegendHighlighted(): boolean {\n return selectedLegends.length === 0;\n }\n\n function _getHighlightedLegend(): string[] {\n return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [activeLegend] : [];\n }\n\n function _getAriaLabel(seriesIndex: number, pointIndex: number): string {\n const series = _points[seriesIndex];\n const point = series.data[pointIndex];\n const formattedDate = point.x instanceof Date ? formatDate(point.x, props.useUTC) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = series.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n }\n\n function _isChartEmpty(): boolean {\n return !(\n props.data &&\n props.data.lineChartData &&\n props.data.lineChartData.length > 0 &&\n props.data.lineChartData.filter((item: LineChartPoints) => item.data.length).length > 0\n );\n }\n\n const { legendProps, tickValues, tickFormat } = props;\n _points = _injectIndexPropertyInScatterChartData(props.data.lineChartData);\n\n let points = _points;\n if (legendProps && !!legendProps.canSelectMultipleLegends) {\n points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;\n _calloutPoints = calloutData(points);\n }\n\n let legendBars = null;\n // reduce computation cost by only creating legendBars\n // if when hideLegend is false.\n // NOTE: they are rendered only when hideLegend is false in CartesianChart.\n if (!props.hideLegend) {\n legendBars = _createLegends(_points!); // ToDo: Memoize legends to improve performance.\n }\n const calloutProps = {\n YValueHover,\n hoverXValue,\n descriptionMessage:\n props.getCalloutDescriptionMessage && stackCalloutProps\n ? props.getCalloutDescriptionMessage(stackCalloutProps)\n : undefined,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData,\n ...props.calloutProps,\n clickPosition,\n isPopoverOpen,\n isCalloutForStack: true,\n culture: props.culture ?? 'en-us',\n isCartesian: true,\n };\n const tickParams = {\n tickValues,\n tickFormat,\n };\n\n const xAxisLabels: string[] = _points\n .map((point: ScatterChartDataWithIndex) => point.data.map((dp: ScatterChartDataPoint) => dp.x as string))\n .flat();\n\n _xAxisLabels = [...new Set(xAxisLabels)];\n\n return !_isChartEmpty() ? (\n <CartesianChart\n {...props}\n chartTitle={props.data.chartTitle}\n points={points}\n chartType={ChartTypes.ScatterChart}\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={legendBars}\n getmargins={_getMargins}\n getGraphData={_initializeScatterChartData}\n xAxisType={_xAxisType}\n onChartMouseLeave={_handleChartMouseLeave}\n enableFirstRenderOptimization={_firstRenderOptimization}\n datasetForXAxisDomain={_xAxisLabels}\n componentRef={cartesianChartRef}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: ChildProps) => {\n _xAxisScale = props.xScale!;\n _yAxisScale = props.yScale!;\n return (\n <>\n <g>\n <line\n x1={0}\n y1={0}\n x2={0}\n y2={props.containerHeight}\n stroke={'#323130'}\n id={_verticalLine}\n visibility={'hidden'}\n strokeDasharray={'5,5'}\n />\n <g>{renderSeries}</g>\n </g>\n </>\n );\n }}\n />\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n});\nScatterChart.displayName = 'ScatterChart';\n"],"names":["ScatterChart","React","forwardRef","props","forwardedRef","_circleId","useId","_seriesId","_verticalLine","_tooltipId","_firstRenderOptimization","_emptyChartId","_points","_injectIndexPropertyInScatterChartData","data","lineChartData","_calloutPoints","calloutData","_xAxisScale","_yAxisScale","_uniqueCallOutID","_refArray","margins","renderSeries","_xAxisLabels","xAxisCalloutAccessibilityData","_xBandwidth","cartesianChartRef","useRef","hoverXValue","setHoverXValue","useState","activeLegend","setActiveLegend","YValueHover","setYValueHover","selectedLegendPoints","setSelectedLegendPoints","isSelectedLegend","setIsSelectedLegend","activePoint","setActivePoint","stackCalloutProps","setStackCalloutProps","clickPosition","setClickPosition","x","y","isPopoverOpen","setPopoverOpen","selectedLegends","setSelectedLegends","prevPropsRef","useEffect","current","prevProps","areArraysEqual","legendProps","useImperativeHandle","componentRef","chartContainer","_xAxisType","length","getTypeOfAxis","XAxisTypes","StringAxis","pointsRef","calloutPointsRef","height","width","scatterChartData","map","item","index","color","getNextColor","getColorFromToken","updatePosition","newX","newY","threshold","distance","Math","sqrt","pow","_getMargins","_margins","_initializeScatterChartData","xScale","yScale","containerHeight","containerWidth","xElement","_createPlot","_onHoverCardHide","_createLegends","isLegendMultiSelectEnabled","canSelectMultipleLegends","legendDataItems","point","legend","title","onMouseOutAction","hoverAction","_handleChartMouseLeave","legendShape","shape","createElement","Legends","legends","enabledWrapLines","enabledLegendsWrapLines","overflowText","legendsOverflowText","onLegendHoverCardLeave","onChange","_onLegendSelectionChange","legendsSelected","event","currentLegend","slice","_getPointFill","seriesColor","pointId","pointIndex","isLastPoint","tokens","colorNeutralBackground1","series","yMax","d3Max","points","yMin","d3Min","yPadding","yPaddingRange","abs","maxMarkerRange","xPaddingRange","bandwidth","DateAxis","xMin","xMax","xPadding","getTime","Date","min","maxMarkerSize","markerSize","i","pointsForSeries","legendVal","verticaLineHeight","bottom","j","seriesId","circleId","xAxisCalloutData","circleRadius","pointMarkerSize","undefined","isLegendSelected","_legendHighlighted","_noLegendHighlighted","currentPointHidden","hideNonActiveDots","push","circle","id","key","r","cx","cy","data-is-focusable","onMouseOver","_handleHover","onMouseMove","onMouseOut","_handleMouseOut","onFocus","_handleFocus","onBlur","_getClickHandler","onDataPointClick","opacity","fill","stroke","role","aria-label","_getAriaLabel","tabIndex","g","classes","useScatterChartStyles_unstable","showXAxisLablesTooltip","document","getElementById","remove","e","wrapXAxisLables","xAxisElement","d3Select","call","tooltipProps","tooltipCls","tooltip","xAxis","tooltipOfXAxislabels","formattedData","formatDate","useUTC","xVal","found","find","element","attr","forEach","obj","values","lineHeight","mouseEvent","persist","clientX","clientY","func","onClick","_getHighlightedLegend","includes","seriesIndex","formattedDate","xValue","yValue","yAxisCalloutData","callOutAccessibilityData","ariaLabel","_isChartEmpty","filter","tickValues","tickFormat","legendBars","hideLegend","calloutProps","descriptionMessage","getCalloutDescriptionMessage","isCalloutForStack","culture","isCartesian","tickParams","xAxisLabels","dp","flat","Set","CartesianChart","chartTitle","chartType","ChartTypes","getmargins","getGraphData","xAxisType","onChartMouseLeave","enableFirstRenderOptimization","datasetForXAxisDomain","children","Fragment","line","x1","y1","x2","y2","visibility","strokeDasharray","div","style","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */ /**
2
+ * Scatter Chart style properties
3
+ * {@docCategory ScatterChart}
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ScatterChart.types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { RenderFunction } from '../../utilities/index';\nimport {\n ChartProps,\n LineChartPoints,\n Margins,\n Basestate,\n RefArrayData,\n CustomizedCalloutData,\n} from '../../types/index';\nimport {\n CartesianChartProps,\n CartesianChartStyleProps,\n CartesianChartStyles,\n ChildProps,\n} from '../CommonComponents/index';\n\nexport type { ChildProps, LineChartPoints, Margins, Basestate, RefArrayData };\n\n/**\n * Line Chart properties\n * {@docCategory LineChart}\n */\nexport interface ScatterChartProps extends CartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data: ChartProps;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: ScatterChartStyles;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: RenderFunction<CustomizedCalloutData>;\n\n /**\n * Callback for getting callout description message\n */\n getCalloutDescriptionMessage?: (calloutDataProps: CustomizedCalloutData) => string | undefined;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n}\n\n/**\n * Scatter Chart styles\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyles extends CartesianChartStyles {}\n\n/**\n * Scatter Chart style properties\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyleProps extends CartesianChartStyleProps {}\n"],"names":[],"rangeMappings":";;;","mappings":"AAAA,uDAAuD,GAwDvD;;;CAGC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./ScatterChart"), exports);
7
+ _export_star._(require("./ScatterChart.types"), exports);
8
+ _export_star._(require("../../types/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './ScatterChart';\nexport * from './ScatterChart.types';\nexport * from '../../types/index';\n"],"names":[],"rangeMappings":";;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA"}