@fluentui/react-charts 9.2.3 → 9.3.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 (347) hide show
  1. package/CHANGELOG.md +79 -10
  2. package/dist/index.d.ts +98 -5
  3. package/lib/components/AreaChart/AreaChart.js +8 -6
  4. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  5. package/lib/components/AreaChart/useAreaChartStyles.styles.js +4 -2
  6. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  7. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +4 -15
  8. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  9. package/lib/components/ChartTable/ChartTable.js +95 -8
  10. package/lib/components/ChartTable/ChartTable.js.map +1 -1
  11. package/lib/components/ChartTable/useChartTableStyles.styles.js +5 -3
  12. package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  13. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +3 -2
  14. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  15. package/lib/components/CommonComponents/CartesianChart.js +45 -42
  16. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  17. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  18. package/lib/components/CommonComponents/ChartPopover.js +14 -5
  19. package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
  20. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +19 -14
  21. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  22. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +7 -33
  23. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  24. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +5 -3
  25. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  26. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +3 -2
  27. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
  28. package/lib/components/DeclarativeChart/DeclarativeChart.js +56 -16
  29. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  30. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +19 -0
  31. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  32. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +1096 -337
  33. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  34. package/lib/components/DeclarativeChart/imageExporter.js +1 -0
  35. package/lib/components/DeclarativeChart/imageExporter.js.map +1 -1
  36. package/lib/components/DonutChart/Arc/Arc.js +8 -8
  37. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  38. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
  39. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +9 -2
  40. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  41. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -1
  42. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
  43. package/lib/components/DonutChart/DonutChart.js +61 -25
  44. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  45. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  46. package/lib/components/DonutChart/Pie/Pie.js +1 -0
  47. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  48. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
  49. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +2 -0
  50. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  51. package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +1 -0
  52. package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -1
  53. package/lib/components/DonutChart/useDonutChartStyles.styles.js +23 -4
  54. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  55. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +9 -4
  56. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
  57. package/lib/components/FunnelChart/FunnelChart.js +11 -5
  58. package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
  59. package/lib/components/FunnelChart/funnelGeometry.js.map +1 -1
  60. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +2 -0
  61. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
  62. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +1 -0
  63. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
  64. package/lib/components/GanttChart/GanttChart.js +1 -0
  65. package/lib/components/GanttChart/GanttChart.js.map +1 -1
  66. package/lib/components/GaugeChart/GaugeChart.js +2 -2
  67. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  68. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +2 -0
  69. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  70. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +1 -0
  71. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
  72. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +15 -9
  73. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  74. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +6 -17
  75. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  76. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +5 -21
  77. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  78. package/lib/components/HeatMapChart/HeatMapChart.js +2 -1
  79. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  80. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -0
  81. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  82. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +1 -0
  83. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  84. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +3 -3
  85. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  86. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +8 -2
  87. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  88. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -1
  89. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
  90. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
  91. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  92. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -0
  93. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  94. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +1 -0
  95. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  96. package/lib/components/Legends/Legends.js +1 -0
  97. package/lib/components/Legends/Legends.js.map +1 -1
  98. package/lib/components/Legends/OverflowMenu.js +1 -0
  99. package/lib/components/Legends/OverflowMenu.js.map +1 -1
  100. package/lib/components/Legends/shape.js +1 -0
  101. package/lib/components/Legends/shape.js.map +1 -1
  102. package/lib/components/Legends/useLegendsStyles.styles.js +2 -0
  103. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  104. package/lib/components/Legends/useLegendsStyles.styles.raw.js +1 -0
  105. package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
  106. package/lib/components/LineChart/LineChart.js +284 -281
  107. package/lib/components/LineChart/LineChart.js.map +1 -1
  108. package/lib/components/LineChart/LineChart.types.js.map +1 -1
  109. package/lib/components/LineChart/eventAnnotation/LabelLink.js +1 -0
  110. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  111. package/lib/components/LineChart/eventAnnotation/Textbox.js +1 -0
  112. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  113. package/lib/components/LineChart/useLineChartStyles.styles.js +25 -10
  114. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  115. package/lib/components/LineChart/useLineChartStyles.styles.raw.js +5 -21
  116. package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  117. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +1 -0
  118. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  119. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +2 -0
  120. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
  121. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -0
  122. package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -1
  123. package/lib/components/ResponsiveContainer/withResponsiveContainer.js +1 -0
  124. package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
  125. package/lib/components/SankeyChart/SankeyChart.js +1 -0
  126. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  127. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +14 -25
  128. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  129. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +3 -12
  130. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
  131. package/lib/components/ScatterChart/ScatterChart.js +121 -81
  132. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  133. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  134. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +13 -7
  135. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  136. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +5 -22
  137. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  138. package/lib/components/Sparkline/Sparkline.js +1 -0
  139. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  140. package/lib/components/Sparkline/useSparklineStyles.styles.js +2 -0
  141. package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
  142. package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +1 -0
  143. package/lib/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -1
  144. package/lib/components/VerticalBarChart/VerticalBarChart.js +17 -12
  145. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  146. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +10 -6
  147. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  148. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +6 -19
  149. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  150. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +30 -25
  151. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  152. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +9 -6
  153. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  154. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +5 -19
  155. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  156. package/lib/types/DataPoint.js +3 -1
  157. package/lib/types/DataPoint.js.map +1 -1
  158. package/lib/utilities/Common.styles.js +47 -0
  159. package/lib/utilities/Common.styles.js.map +1 -0
  160. package/lib/utilities/Common.styles.raw.js +47 -0
  161. package/lib/utilities/Common.styles.raw.js.map +1 -0
  162. package/lib/utilities/FocusableTooltipText.js +1 -0
  163. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  164. package/lib/utilities/SVGTooltipText.js +1 -0
  165. package/lib/utilities/SVGTooltipText.js.map +1 -1
  166. package/lib/utilities/image-export-utils.js +1 -0
  167. package/lib/utilities/image-export-utils.js.map +1 -1
  168. package/lib/utilities/index.js +1 -0
  169. package/lib/utilities/index.js.map +1 -1
  170. package/lib/utilities/scatterpolar-utils.js +52 -0
  171. package/lib/utilities/scatterpolar-utils.js.map +1 -0
  172. package/lib/utilities/utilities.js +314 -146
  173. package/lib/utilities/utilities.js.map +1 -1
  174. package/lib/utilities/vbc-utils.js.map +1 -1
  175. package/lib-commonjs/components/AreaChart/AreaChart.js +7 -5
  176. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  177. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +1 -0
  178. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  179. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +3 -14
  180. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  181. package/lib-commonjs/components/ChartTable/ChartTable.js +95 -8
  182. package/lib-commonjs/components/ChartTable/ChartTable.js.map +1 -1
  183. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js +4 -3
  184. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  185. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js +3 -2
  186. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  187. package/lib-commonjs/components/CommonComponents/CartesianChart.js +45 -42
  188. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  189. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  190. package/lib-commonjs/components/CommonComponents/ChartPopover.js +14 -5
  191. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -1
  192. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +16 -13
  193. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  194. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +5 -32
  195. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  196. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +4 -3
  197. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  198. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js +3 -2
  199. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
  200. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +60 -20
  201. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  202. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +22 -0
  203. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  204. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +1109 -338
  205. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  206. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +1 -0
  207. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -1
  208. package/lib-commonjs/components/DonutChart/Arc/Arc.js +8 -8
  209. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  210. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
  211. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +11 -1
  212. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  213. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -1
  214. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
  215. package/lib-commonjs/components/DonutChart/DonutChart.js +61 -25
  216. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  217. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  218. package/lib-commonjs/components/DonutChart/Pie/Pie.js +2 -1
  219. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  220. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
  221. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +1 -0
  222. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
  223. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js +1 -0
  224. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -1
  225. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +33 -4
  226. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  227. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +9 -4
  228. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
  229. package/lib-commonjs/components/FunnelChart/FunnelChart.js +11 -5
  230. package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -1
  231. package/lib-commonjs/components/FunnelChart/funnelGeometry.js.map +1 -1
  232. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js +1 -0
  233. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
  234. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js +1 -0
  235. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
  236. package/lib-commonjs/components/GanttChart/GanttChart.js +1 -0
  237. package/lib-commonjs/components/GanttChart/GanttChart.js.map +1 -1
  238. package/lib-commonjs/components/GaugeChart/GaugeChart.js +2 -2
  239. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  240. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +1 -0
  241. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  242. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js +1 -0
  243. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
  244. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +15 -9
  245. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  246. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +3 -19
  247. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  248. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +4 -20
  249. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  250. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +2 -1
  251. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  252. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +1 -0
  253. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  254. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +1 -0
  255. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  256. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +3 -3
  257. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  258. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +10 -2
  259. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  260. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -1
  261. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
  262. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
  263. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  264. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +1 -0
  265. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  266. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +1 -0
  267. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  268. package/lib-commonjs/components/Legends/Legends.js +1 -0
  269. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  270. package/lib-commonjs/components/Legends/OverflowMenu.js +1 -0
  271. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -1
  272. package/lib-commonjs/components/Legends/shape.js +1 -0
  273. package/lib-commonjs/components/Legends/shape.js.map +1 -1
  274. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +1 -0
  275. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
  276. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js +1 -0
  277. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
  278. package/lib-commonjs/components/LineChart/LineChart.js +282 -279
  279. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  280. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
  281. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +1 -0
  282. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
  283. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +1 -0
  284. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  285. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +31 -9
  286. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  287. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +3 -20
  288. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  289. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +1 -0
  290. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  291. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -0
  292. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
  293. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -0
  294. package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -1
  295. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js +2 -1
  296. package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
  297. package/lib-commonjs/components/SankeyChart/SankeyChart.js +1 -0
  298. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  299. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +24 -33
  300. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  301. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +2 -12
  302. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
  303. package/lib-commonjs/components/ScatterChart/ScatterChart.js +118 -78
  304. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  305. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  306. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +14 -7
  307. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  308. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +3 -20
  309. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  310. package/lib-commonjs/components/Sparkline/Sparkline.js +1 -0
  311. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  312. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +1 -0
  313. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
  314. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js +1 -0
  315. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -1
  316. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +16 -11
  317. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  318. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +6 -3
  319. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  320. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +4 -17
  321. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  322. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +29 -24
  323. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  324. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +6 -3
  325. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  326. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +4 -18
  327. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  328. package/lib-commonjs/types/DataPoint.js +3 -1
  329. package/lib-commonjs/types/DataPoint.js.map +1 -1
  330. package/lib-commonjs/utilities/Common.styles.js +71 -0
  331. package/lib-commonjs/utilities/Common.styles.js.map +1 -0
  332. package/lib-commonjs/utilities/Common.styles.raw.js +71 -0
  333. package/lib-commonjs/utilities/Common.styles.raw.js.map +1 -0
  334. package/lib-commonjs/utilities/FocusableTooltipText.js +2 -1
  335. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  336. package/lib-commonjs/utilities/SVGTooltipText.js +1 -0
  337. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  338. package/lib-commonjs/utilities/image-export-utils.js +1 -0
  339. package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
  340. package/lib-commonjs/utilities/index.js +1 -0
  341. package/lib-commonjs/utilities/index.js.map +1 -1
  342. package/lib-commonjs/utilities/scatterpolar-utils.js +67 -0
  343. package/lib-commonjs/utilities/scatterpolar-utils.js.map +1 -0
  344. package/lib-commonjs/utilities/utilities.js +327 -137
  345. package/lib-commonjs/utilities/utilities.js.map +1 -1
  346. package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
  347. package/package.json +10 -10
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", {
3
4
  value: true
@@ -21,6 +22,8 @@ const _index2 = require("../../index");
21
22
  const _EventAnnotation = require("./eventAnnotation/EventAnnotation");
22
23
  const _reacttheme = require("@fluentui/react-theme");
23
24
  const _imageexportutils = require("../../utilities/image-export-utils");
25
+ const _scatterpolarutils = require("../../utilities/scatterpolar-utils");
26
+ const _chartutilities = require("@fluentui/chart-utilities");
24
27
  var PointSize = /*#__PURE__*/ function(PointSize) {
25
28
  PointSize[PointSize["hoverSize"] = 11] = "hoverSize";
26
29
  PointSize[PointSize["invisibleSize"] = 1] = "invisibleSize";
@@ -96,6 +99,8 @@ const PATH_MULTIPLY_SIZE = 2.5;
96
99
  const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
97
100
  var _props_legendProps_selectedLegends, _props_legendProps;
98
101
  let _hasMarkersMode = false;
102
+ let _isXAxisDateType = false;
103
+ let _isScatterPolar = false;
99
104
  let _points = _injectIndexPropertyInLineChartData(props.data.lineChartData);
100
105
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
106
  let _calloutPoints = (0, _index1.calloutData)(_points) || [];
@@ -124,11 +129,6 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
124
129
  const _isRTL = (0, _index1.useRtl)();
125
130
  let xAxisCalloutAccessibilityData = {};
126
131
  const cartesianChartRef = _react.useRef(null);
127
- let _xMin = Number.NEGATIVE_INFINITY;
128
- let _yMin = Number.NEGATIVE_INFINITY;
129
- let _xMax = Number.POSITIVE_INFINITY;
130
- let _xPadding = 0;
131
- let _yPadding = 0;
132
132
  let _yScaleSecondary;
133
133
  const _legendsRef = _react.useRef(null);
134
134
  props.eventAnnotationProps && props.eventAnnotationProps.labelHeight && (eventLabelHeight = props.eventAnnotationProps.labelHeight);
@@ -149,6 +149,9 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
149
149
  y: 0
150
150
  });
151
151
  const [isPopoverOpen, setPopoverOpen] = _react.useState(false);
152
+ const [YValue, setYValue] = _react.useState('');
153
+ const [legendVal, setLegendVal] = _react.useState('');
154
+ const [lineColor, setLineColor] = _react.useState('');
152
155
  const pointsRef = _react.useRef([]);
153
156
  const calloutPointsRef = _react.useRef([]);
154
157
  const classes = (0, _useLineChartStylesstyles.useLineChartStyles)(props);
@@ -177,14 +180,10 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
177
180
  }, []);
178
181
  function _getDomainNRangeValues(points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
179
182
  let domainNRangeValue;
180
- if (_hasMarkersMode && xAxisType === _index1.XAxisTypes.NumericAxis) {
181
- domainNRangeValue = _getDomainNRangeValuesWithPadding(points, margins, width, isRTL);
182
- } else if (_hasMarkersMode && xAxisType === _index1.XAxisTypes.DateAxis) {
183
- domainNRangeValue = _getDomainNRangeValuesOfDateWithPadding(points, margins, width, isRTL, tickValues, chartType, barWidth);
184
- } else if (xAxisType === _index1.XAxisTypes.NumericAxis) {
185
- domainNRangeValue = (0, _index1.domainRangeOfNumericForAreaChart)(points, margins, width, isRTL);
183
+ if (xAxisType === _index1.XAxisTypes.NumericAxis) {
184
+ domainNRangeValue = (0, _index1.domainRangeOfNumericForAreaLineScatterCharts)(points, margins, width, isRTL, props.xScaleType, _hasMarkersMode);
186
185
  } else if (xAxisType === _index1.XAxisTypes.DateAxis) {
187
- domainNRangeValue = (0, _index1.domainRangeOfDateForAreaLineVerticalBarChart)(points, margins, width, isRTL, tickValues, chartType, barWidth);
186
+ domainNRangeValue = (0, _index1.domainRangeOfDateForAreaLineScatterVerticalBarCharts)(points, margins, width, isRTL, tickValues, chartType, barWidth, _hasMarkersMode);
188
187
  } else {
189
188
  domainNRangeValue = {
190
189
  dStartValue: 0,
@@ -207,6 +206,7 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
207
206
  var _item_lineOptions_mode_includes, _item_lineOptions_mode, _item_lineOptions;
208
207
  return (_item_lineOptions = item.lineOptions) === null || _item_lineOptions === void 0 ? void 0 : (_item_lineOptions_mode = _item_lineOptions.mode) === null || _item_lineOptions_mode === void 0 ? void 0 : (_item_lineOptions_mode_includes = _item_lineOptions_mode.includes) === null || _item_lineOptions_mode_includes === void 0 ? void 0 : _item_lineOptions_mode_includes.call(_item_lineOptions_mode, 'markers');
209
208
  })) !== null && _filteredData_some !== void 0 ? _filteredData_some : false;
209
+ _isScatterPolar = (0, _index1.isScatterPolarSeries)(filteredData);
210
210
  return filteredData ? filteredData.map((item, index)=>{
211
211
  let color;
212
212
  if (typeof item.color === 'undefined') {
@@ -238,16 +238,19 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
238
238
  function _getCustomizedCallout() {
239
239
  return props.onRenderCalloutPerStack ? props.onRenderCalloutPerStack(stackCalloutProps) : props.onRenderCalloutPerDataPoint ? props.onRenderCalloutPerDataPoint(dataPointCalloutProps) : null;
240
240
  }
241
- function _getNumericMinMaxOfY(points) {
241
+ function _getNumericMinMaxOfY(points, yAxisType, useSecondaryYScale) {
242
242
  // eslint-disable-next-line @typescript-eslint/no-shadow
243
- const { startValue, endValue } = (0, _index1.findNumericMinMaxOfY)(points);
244
- _yMin = startValue;
243
+ const { startValue, endValue } = (0, _index1.findNumericMinMaxOfY)(points, yAxisType, useSecondaryYScale, useSecondaryYScale ? props.secondaryYScaleType : props.yScaleType);
244
+ let yPadding = {
245
+ start: 0,
246
+ end: 0
247
+ };
245
248
  if (_hasMarkersMode) {
246
- _yPadding = (endValue - startValue) * 0.1;
249
+ yPadding = (0, _index1.getDomainPaddingForMarkers)(startValue, endValue, useSecondaryYScale ? props.secondaryYScaleType : props.yScaleType);
247
250
  }
248
251
  return {
249
- startValue: startValue - _yPadding,
250
- endValue: endValue + _yPadding
252
+ startValue: startValue - yPadding.start,
253
+ endValue: endValue + yPadding.end
251
254
  };
252
255
  }
253
256
  function _getMargins(_margins) {
@@ -409,11 +412,6 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
409
412
  }
410
413
  }
411
414
  }
412
- function _getRangeForScatterMarkerSize(yScale, yPadding) {
413
- const extraXPixels = _isRTL ? _xAxisScale(_xMax - _xPadding) - _xAxisScale(_xMax) : _xAxisScale(_xMin + _xPadding) - _xAxisScale(_xMin);
414
- const extraYPixels = yScale(_yMin) - yScale(_yMin + _yPadding);
415
- return Math.min(extraXPixels, extraYPixels);
416
- }
417
415
  function _createLines(xElement, containerHeight) {
418
416
  const lines = [];
419
417
  if (isSelectedLegend) {
@@ -421,7 +419,6 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
421
419
  } else {
422
420
  _points = _injectIndexPropertyInLineChartData(props.data.lineChartData);
423
421
  }
424
- const extraMaxPixels = _hasMarkersMode ? _getRangeForScatterMarkerSize(_yScalePrimary, _yPadding) : 0;
425
422
  const maxMarkerSize = (0, _d3array.max)(_points, (point)=>{
426
423
  return (0, _d3array.max)(point.data, (item)=>{
427
424
  return item.markerSize;
@@ -435,44 +432,64 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
435
432
  const legendVal = _points[i].legend;
436
433
  const lineColor = _points[i].color;
437
434
  const verticaLineHeight = containerHeight - margins.bottom + 6;
438
- const yScale = _points[i].useSecondaryYScale && _yScaleSecondary ? _yScaleSecondary : _yScalePrimary;
435
+ const useSecondaryYScale = !!(_points[i].useSecondaryYScale && _yScaleSecondary);
436
+ const yScale = useSecondaryYScale ? _yScaleSecondary : _yScalePrimary;
437
+ const extraMaxPixels = _hasMarkersMode ? (0, _index1.getRangeForScatterMarkerSize)({
438
+ data: _points,
439
+ xScale: _xAxisScale,
440
+ yScalePrimary: _yScalePrimary,
441
+ yScaleSecondary: _yScaleSecondary,
442
+ useSecondaryYScale,
443
+ xScaleType: props.xScaleType,
444
+ yScaleType: props.yScaleType,
445
+ secondaryYScaleType: props.secondaryYScaleType
446
+ }) : 0;
439
447
  if (_points[i].data.length === 1) {
440
448
  // eslint-disable-next-line @typescript-eslint/no-shadow
441
449
  const { x: x1, y: y1, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[0];
442
- const circleId = `${_circleId}_${i}`;
443
- const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
444
- const currentMarkerSize = _points[i].data[0].markerSize;
445
- var _points_i_data__text;
446
- pointsForLine.push(/*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("circle", {
447
- id: circleId,
448
- key: circleId,
449
- r: currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : activePoint === circleId ? 5.5 : 3.5,
450
- cx: _xAxisScale(x1),
451
- cy: yScale(y1),
452
- fill: activePoint === circleId ? _reacttheme.tokens.colorNeutralBackground1 : lineColor,
453
- opacity: isLegendSelected ? 1 : 0.1,
454
- tabIndex: isLegendSelected ? 0 : undefined,
455
- onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
456
- onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
457
- onMouseOut: _handleMouseOut,
458
- strokeWidth: activePoint === circleId ? DEFAULT_LINE_STROKE_SIZE : 0,
459
- stroke: activePoint === circleId ? lineColor : '',
460
- role: "img",
461
- "aria-label": (_points_i_data__text = _points[i].data[0].text) !== null && _points_i_data__text !== void 0 ? _points_i_data__text : _getAriaLabel(i, 0),
462
- "data-is-focusable": isLegendSelected,
463
- ref: (e)=>{
464
- _refCallback(e, circleId);
465
- },
466
- onFocus: (event)=>_handleFocus(event, circleId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
467
- onBlur: _handleMouseOut,
468
- ..._getClickHandler(_points[i].data[0].onDataPointClick)
469
- }), _points[i].data[0].text && /*#__PURE__*/ _react.createElement("text", {
470
- key: `${circleId}-label`,
471
- x: _xAxisScale(x1),
472
- y: yScale(y1) + Math.max(currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 3.5, 4) + 12,
473
- className: classes.markerLabel,
474
- opacity: isLegendSelected ? 1 : 0.1
475
- }, _points[i].data[0].text)));
450
+ const xPoint = _xAxisScale(x1);
451
+ const yPoint = yScale(y1);
452
+ if ((0, _index1.isPlottable)(xPoint, yPoint)) {
453
+ var _points_i_lineOptions_mode, _points_i_lineOptions1;
454
+ const circleId = `${_circleId}_${i}`;
455
+ const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
456
+ const currentMarkerSize = _points[i].data[0].markerSize;
457
+ const supportsTextMode = (_points_i_lineOptions1 = _points[i].lineOptions) === null || _points_i_lineOptions1 === void 0 ? void 0 : (_points_i_lineOptions_mode = _points_i_lineOptions1.mode) === null || _points_i_lineOptions_mode === void 0 ? void 0 : _points_i_lineOptions_mode.includes('text');
458
+ const text = _points[i].data[0].text;
459
+ var _points_i_data__text;
460
+ pointsForLine.push(/*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement(_react.Fragment, {
461
+ key: `${circleId}_fragment`
462
+ }, /*#__PURE__*/ _react.createElement("circle", {
463
+ id: circleId,
464
+ key: circleId,
465
+ r: currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : activePoint === circleId ? 5.5 : 3.5,
466
+ cx: xPoint,
467
+ cy: yPoint,
468
+ fill: activePoint === circleId ? _reacttheme.tokens.colorNeutralBackground1 : lineColor,
469
+ opacity: isLegendSelected ? 1 : 0.1,
470
+ tabIndex: isLegendSelected ? 0 : undefined,
471
+ onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
472
+ onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
473
+ onMouseOut: _handleMouseOut,
474
+ strokeWidth: activePoint === circleId ? DEFAULT_LINE_STROKE_SIZE : 0,
475
+ stroke: activePoint === circleId ? lineColor : '',
476
+ role: "img",
477
+ "aria-label": (_points_i_data__text = _points[i].data[0].text) !== null && _points_i_data__text !== void 0 ? _points_i_data__text : _getAriaLabel(i, 0),
478
+ "data-is-focusable": isLegendSelected,
479
+ ref: (e)=>{
480
+ _refCallback(e, circleId);
481
+ },
482
+ onFocus: (event)=>_handleFocus(event, circleId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
483
+ onBlur: _handleMouseOut,
484
+ ..._getClickHandler(_points[i].data[0].onDataPointClick)
485
+ }), !_isScatterPolar && supportsTextMode && text && /*#__PURE__*/ _react.createElement("text", {
486
+ key: `${circleId}-label`,
487
+ x: xPoint,
488
+ y: yPoint + Math.max(currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 3.5, 4) + 12,
489
+ className: classes.markerLabel,
490
+ opacity: isLegendSelected ? 1 : 0.1
491
+ }, text))));
492
+ }
476
493
  }
477
494
  let gapIndex = 0;
478
495
  var _points_i_gaps_sort;
@@ -480,13 +497,13 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
480
497
  const lineCurve = (_points_i_lineOptions = _points[i].lineOptions) === null || _points_i_lineOptions === void 0 ? void 0 : _points_i_lineOptions.curve;
481
498
  // Use path rendering technique for larger datasets to optimize performance.
482
499
  if ((props.optimizeLargeData || lineCurve) && _points[i].data.length > 1) {
483
- var _points_i_lineOptions1;
500
+ var _points_i_lineOptions2;
484
501
  const line = (0, _d3shape.line)() // eslint-disable-next-line @typescript-eslint/no-explicit-any
485
502
  .x((d)=>_xAxisScale(d[0])) // eslint-disable-next-line @typescript-eslint/no-explicit-any
486
- .y((d)=>yScale(d[1])).curve((0, _index1.getCurveFactory)(lineCurve));
503
+ .y((d)=>yScale(d[1])).curve((0, _index1.getCurveFactory)(lineCurve)).defined((d)=>(0, _index1.isPlottable)(_xAxisScale(d[0]), yScale(d[1])));
487
504
  const lineId = `${_lineId}_${i}`;
488
505
  const borderId = `${_borderId}_${i}`;
489
- const strokeWidth = ((_points_i_lineOptions1 = _points[i].lineOptions) === null || _points_i_lineOptions1 === void 0 ? void 0 : _points_i_lineOptions1.strokeWidth) || props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
506
+ const strokeWidth = ((_points_i_lineOptions2 = _points[i].lineOptions) === null || _points_i_lineOptions2 === void 0 ? void 0 : _points_i_lineOptions2.strokeWidth) || props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
490
507
  const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
491
508
  const lineData = [];
492
509
  for(let k = 0; k < _points[i].data.length; k++){
@@ -496,19 +513,19 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
496
513
  ]);
497
514
  }
498
515
  if (isLegendSelected) {
499
- var _points_i_lineOptions2, _points_i_lineOptions3;
500
- const lineBorderWidth = ((_points_i_lineOptions2 = _points[i].lineOptions) === null || _points_i_lineOptions2 === void 0 ? void 0 : _points_i_lineOptions2.lineBorderWidth) ? Number.parseFloat(_points[i].lineOptions.lineBorderWidth.toString()) : 0;
516
+ var _points_i_lineOptions3, _points_i_lineOptions4, _points_i_lineOptions5;
517
+ const lineBorderWidth = ((_points_i_lineOptions3 = _points[i].lineOptions) === null || _points_i_lineOptions3 === void 0 ? void 0 : _points_i_lineOptions3.lineBorderWidth) ? Number.parseFloat(_points[i].lineOptions.lineBorderWidth.toString()) : 0;
501
518
  if (lineBorderWidth > 0) {
502
- var _points_i_lineOptions4, _points_i_lineOptions5;
519
+ var _points_i_lineOptions6, _points_i_lineOptions7;
503
520
  var _points_i_lineOptions_strokeLinecap;
504
521
  bordersForLine.push(/*#__PURE__*/ _react.createElement("path", {
505
522
  id: borderId,
506
523
  key: borderId,
507
524
  d: line(lineData),
508
525
  fill: "transparent",
509
- strokeLinecap: (_points_i_lineOptions_strokeLinecap = (_points_i_lineOptions4 = _points[i].lineOptions) === null || _points_i_lineOptions4 === void 0 ? void 0 : _points_i_lineOptions4.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap !== void 0 ? _points_i_lineOptions_strokeLinecap : 'round',
526
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap = (_points_i_lineOptions6 = _points[i].lineOptions) === null || _points_i_lineOptions6 === void 0 ? void 0 : _points_i_lineOptions6.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap !== void 0 ? _points_i_lineOptions_strokeLinecap : 'round',
510
527
  strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth,
511
- stroke: ((_points_i_lineOptions5 = _points[i].lineOptions) === null || _points_i_lineOptions5 === void 0 ? void 0 : _points_i_lineOptions5.lineBorderColor) || _reacttheme.tokens.colorNeutralBackground1,
528
+ stroke: ((_points_i_lineOptions7 = _points[i].lineOptions) === null || _points_i_lineOptions7 === void 0 ? void 0 : _points_i_lineOptions7.lineBorderColor) || _reacttheme.tokens.colorNeutralBackground1,
512
529
  opacity: 1
513
530
  }));
514
531
  }
@@ -521,16 +538,17 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
521
538
  "data-is-focusable": true,
522
539
  stroke: lineColor,
523
540
  strokeWidth: strokeWidth,
524
- strokeLinecap: (_points_i_lineOptions_strokeLinecap1 = (_points_i_lineOptions3 = _points[i].lineOptions) === null || _points_i_lineOptions3 === void 0 ? void 0 : _points_i_lineOptions3.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap1 !== void 0 ? _points_i_lineOptions_strokeLinecap1 : 'round',
525
- onMouseMove: (event)=>_onMouseOverLargeDataset.bind(i, verticaLineHeight, event, yScale),
526
- onMouseOver: (event)=>_onMouseOverLargeDataset.bind(i, verticaLineHeight, event, yScale),
541
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap1 = (_points_i_lineOptions4 = _points[i].lineOptions) === null || _points_i_lineOptions4 === void 0 ? void 0 : _points_i_lineOptions4.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap1 !== void 0 ? _points_i_lineOptions_strokeLinecap1 : 'round',
542
+ strokeDasharray: (_points_i_lineOptions5 = _points[i].lineOptions) === null || _points_i_lineOptions5 === void 0 ? void 0 : _points_i_lineOptions5.strokeDasharray,
543
+ onMouseMove: (event)=>_onMouseOverLargeDataset(i, verticaLineHeight, event, yScale),
544
+ onMouseOver: (event)=>_onMouseOverLargeDataset(i, verticaLineHeight, event, yScale),
527
545
  onMouseOut: _handleMouseOut,
528
546
  ..._getClickHandler(_points[i].onLineClick),
529
547
  opacity: 1,
530
548
  tabIndex: isLegendSelected ? 0 : undefined
531
549
  }));
532
550
  } else {
533
- var _points_i_lineOptions6;
551
+ var _points_i_lineOptions8, _points_i_lineOptions9;
534
552
  var _points_i_lineOptions_strokeLinecap2;
535
553
  linesForLine.push(/*#__PURE__*/ _react.createElement("path", {
536
554
  id: lineId,
@@ -540,7 +558,8 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
540
558
  "data-is-focusable": false,
541
559
  stroke: lineColor,
542
560
  strokeWidth: strokeWidth,
543
- strokeLinecap: (_points_i_lineOptions_strokeLinecap2 = (_points_i_lineOptions6 = _points[i].lineOptions) === null || _points_i_lineOptions6 === void 0 ? void 0 : _points_i_lineOptions6.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap2 !== void 0 ? _points_i_lineOptions_strokeLinecap2 : 'round',
561
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap2 = (_points_i_lineOptions8 = _points[i].lineOptions) === null || _points_i_lineOptions8 === void 0 ? void 0 : _points_i_lineOptions8.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap2 !== void 0 ? _points_i_lineOptions_strokeLinecap2 : 'round',
562
+ strokeDasharray: (_points_i_lineOptions9 = _points[i].lineOptions) === null || _points_i_lineOptions9 === void 0 ? void 0 : _points_i_lineOptions9.strokeDasharray,
544
563
  opacity: 0.1
545
564
  }));
546
565
  }
@@ -554,13 +573,13 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
554
573
  strokeWidth: DEFAULT_LINE_STROKE_SIZE,
555
574
  stroke: lineColor,
556
575
  visibility: 'hidden',
557
- onMouseMove: (event)=>_onMouseOverLargeDataset.bind(i, verticaLineHeight, event, yScale),
558
- onMouseOver: (event)=>_onMouseOverLargeDataset.bind(i, verticaLineHeight, event, yScale),
576
+ onMouseMove: (event)=>_onMouseOverLargeDataset(i, verticaLineHeight, event, yScale),
577
+ onMouseOver: (event)=>_onMouseOverLargeDataset(i, verticaLineHeight, event, yScale),
559
578
  onMouseOut: _handleMouseOut
560
579
  }));
561
580
  } else if (!props.optimizeLargeData) {
562
581
  for(let j = 1; j < _points[i].data.length; j++){
563
- var _points_i_lineOptions7, _points_i_lineOptions_mode, _points_i_lineOptions8, _points_i_lineOptions_mode1, _points_i_lineOptions9;
582
+ var _points_i_lineOptions10, _points_i_lineOptions_mode1, _points_i_lineOptions11, _points_i_lineOptions_mode2, _points_i_lineOptions12;
564
583
  const gapResult = _checkInGap(j, gaps, gapIndex);
565
584
  const isInGap = gapResult.isInGap;
566
585
  gapIndex = gapResult.gapIndex;
@@ -569,147 +588,159 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
569
588
  const circleId = `${_circleId}_${i}_${j}`;
570
589
  const { x: x1, y: y1, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j - 1];
571
590
  const { x: x2, y: y2 } = _points[i].data[j];
572
- let path = _getPath(_xAxisScale(x1), yScale(y1), circleId, j, false, _points[i].index);
573
- const strokeWidth = ((_points_i_lineOptions7 = _points[i].lineOptions) === null || _points_i_lineOptions7 === void 0 ? void 0 : _points_i_lineOptions7.strokeWidth) || props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
591
+ const xPoint1 = _xAxisScale(x1);
592
+ const yPoint1 = yScale(y1);
593
+ const xPoint2 = _xAxisScale(x2);
594
+ const yPoint2 = yScale(y2);
595
+ const strokeWidth = ((_points_i_lineOptions10 = _points[i].lineOptions) === null || _points_i_lineOptions10 === void 0 ? void 0 : _points_i_lineOptions10.strokeWidth) || props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
574
596
  const isLegendSelected = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;
575
597
  const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;
598
+ const supportsTextMode = (_points_i_lineOptions11 = _points[i].lineOptions) === null || _points_i_lineOptions11 === void 0 ? void 0 : (_points_i_lineOptions_mode1 = _points_i_lineOptions11.mode) === null || _points_i_lineOptions_mode1 === void 0 ? void 0 : _points_i_lineOptions_mode1.includes('text');
599
+ const text = _points[i].data[j - 1].text;
576
600
  let currentMarkerSize = _points[i].data[j - 1].markerSize;
577
- var _points_i_data__text1;
578
- pointsForLine.push(((_points_i_lineOptions8 = _points[i].lineOptions) === null || _points_i_lineOptions8 === void 0 ? void 0 : (_points_i_lineOptions_mode = _points_i_lineOptions8.mode) === null || _points_i_lineOptions_mode === void 0 ? void 0 : _points_i_lineOptions_mode.includes('markers')) ? /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("circle", {
579
- id: circleId,
580
- key: circleId,
581
- r: currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 4,
582
- cx: _xAxisScale(x1),
583
- cy: yScale(y1),
584
- "data-is-focusable": isLegendSelected,
585
- onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
586
- onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
587
- onMouseOut: _handleMouseOut,
588
- onFocus: (event)=>_handleFocus(event, lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
589
- onBlur: _handleMouseOut,
590
- ..._getClickHandler(_points[i].data[j - 1].onDataPointClick),
591
- opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01,
592
- fill: _getPointFill(lineColor, circleId, j, false),
593
- stroke: lineColor,
594
- strokeWidth: strokeWidth,
595
- role: "img",
596
- "aria-label": (_points_i_data__text1 = _points[i].data[j - 1].text) !== null && _points_i_data__text1 !== void 0 ? _points_i_data__text1 : _getAriaLabel(i, j - 1)
597
- }), _points[i].data[j - 1].text && /*#__PURE__*/ _react.createElement("text", {
598
- key: `${circleId}-label`,
599
- x: _xAxisScale(x1),
600
- y: yScale(y1) + 12,
601
- fontSize: 12,
602
- className: classes.markerLabel
603
- }, _points[i].data[j - 1].text)) : /*#__PURE__*/ _react.createElement("path", {
604
- id: circleId,
605
- key: circleId,
606
- d: path,
607
- "data-is-focusable": isLegendSelected,
608
- onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
609
- onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
610
- onMouseOut: _handleMouseOut,
611
- onFocus: (event)=>_handleFocus(event, lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
612
- onBlur: _handleMouseOut,
613
- ..._getClickHandler(_points[i].data[j - 1].onDataPointClick),
614
- opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01,
615
- fill: _getPointFill(lineColor, circleId, j, false),
616
- stroke: lineColor,
617
- strokeWidth: strokeWidth,
618
- role: "img",
619
- "aria-label": _getAriaLabel(i, j - 1),
620
- tabIndex: isLegendSelected ? 0 : undefined
621
- }));
622
- if (j + 1 === _points[i].data.length) {
623
- var _points_i_lineOptions_mode2, _points_i_lineOptions10;
624
- // If this is last point of the line segment.
625
- const lastCircleId = `${circleId}${j}L`;
626
- const hiddenHoverCircleId = `${circleId}${j}D`;
627
- const lastPointHidden = _points[i].hideNonActiveDots && activePoint !== lastCircleId;
628
- path = _getPath(_xAxisScale(x2), yScale(y2), lastCircleId, j, true, _points[i].index);
629
- const { xAxisCalloutData: lastCirlceXCallout, xAxisCalloutAccessibilityData: lastCirlceXCalloutAccessibilityData } = _points[i].data[j];
630
- currentMarkerSize = _points[i].data[j].markerSize;
631
- var _points_i_data_j_text;
632
- pointsForLine.push(/*#__PURE__*/ _react.createElement(_react.Fragment, {
633
- key: `${lastCircleId}_container`
634
- }, ((_points_i_lineOptions10 = _points[i].lineOptions) === null || _points_i_lineOptions10 === void 0 ? void 0 : (_points_i_lineOptions_mode2 = _points_i_lineOptions10.mode) === null || _points_i_lineOptions_mode2 === void 0 ? void 0 : _points_i_lineOptions_mode2.includes('markers')) ? /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("circle", {
635
- id: lastCircleId,
636
- key: lastCircleId,
601
+ if ((0, _index1.isPlottable)(xPoint1, yPoint1)) {
602
+ var _points_i_lineOptions_mode3, _points_i_lineOptions13;
603
+ const path = _getPath(xPoint1, yPoint1, circleId, j, false, _points[i].index);
604
+ var _points_i_data__text1;
605
+ pointsForLine.push(((_points_i_lineOptions13 = _points[i].lineOptions) === null || _points_i_lineOptions13 === void 0 ? void 0 : (_points_i_lineOptions_mode3 = _points_i_lineOptions13.mode) === null || _points_i_lineOptions_mode3 === void 0 ? void 0 : _points_i_lineOptions_mode3.includes('markers')) || supportsTextMode ? /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("circle", {
606
+ id: circleId,
607
+ key: circleId,
637
608
  r: currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 4,
638
- cx: _xAxisScale(x2),
639
- cy: yScale(y2),
609
+ cx: xPoint1,
610
+ cy: yPoint1,
640
611
  "data-is-focusable": isLegendSelected,
641
- onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
642
- onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
612
+ onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
613
+ onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
643
614
  onMouseOut: _handleMouseOut,
644
- onFocus: (event)=>_handleFocus(event, lineId, x2, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData),
615
+ onFocus: (event)=>_handleFocus(event, lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
645
616
  onBlur: _handleMouseOut,
646
- ..._getClickHandler(_points[i].data[j].onDataPointClick),
647
- opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01,
648
- fill: _getPointFill(lineColor, lastCircleId, j, true),
617
+ ..._getClickHandler(_points[i].data[j - 1].onDataPointClick),
618
+ opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01,
619
+ fill: _getPointFill(lineColor, circleId, j, false),
649
620
  stroke: lineColor,
650
621
  strokeWidth: strokeWidth,
651
622
  role: "img",
652
- "aria-label": (_points_i_data_j_text = _points[i].data[j].text) !== null && _points_i_data_j_text !== void 0 ? _points_i_data_j_text : _getAriaLabel(i, j)
653
- }), _points[i].data[j].text && /*#__PURE__*/ _react.createElement("text", {
654
- key: `${lastCircleId}-label`,
655
- x: _xAxisScale(x2),
656
- y: yScale(y2) + 12,
657
- fontSize: 12,
658
- className: classes.markerLabel
659
- }, _points[i].data[j].text)) : /*#__PURE__*/ _react.createElement("path", {
660
- id: lastCircleId,
661
- key: lastCircleId,
623
+ "aria-label": (_points_i_data__text1 = _points[i].data[j - 1].text) !== null && _points_i_data__text1 !== void 0 ? _points_i_data__text1 : _getAriaLabel(i, j - 1)
624
+ }), !_isScatterPolar && supportsTextMode && text && /*#__PURE__*/ _react.createElement("text", {
625
+ key: `${circleId}-label`,
626
+ x: xPoint1,
627
+ y: yPoint1 + Math.max(currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 4, 4) + 12,
628
+ className: classes.markerLabel,
629
+ opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01
630
+ }, text)) : /*#__PURE__*/ _react.createElement("path", {
631
+ id: circleId,
632
+ key: circleId,
662
633
  d: path,
663
634
  "data-is-focusable": isLegendSelected,
664
- onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
665
- onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
635
+ onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
636
+ onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
666
637
  onMouseOut: _handleMouseOut,
667
- onFocus: (event)=>_handleFocus(event, lineId, x2, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData),
638
+ onFocus: (event)=>_handleFocus(event, lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
668
639
  onBlur: _handleMouseOut,
669
- ..._getClickHandler(_points[i].data[j].onDataPointClick),
670
- opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01,
671
- fill: _getPointFill(lineColor, lastCircleId, j, true),
640
+ ..._getClickHandler(_points[i].data[j - 1].onDataPointClick),
641
+ opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01,
642
+ fill: _getPointFill(lineColor, circleId, j, false),
672
643
  stroke: lineColor,
673
644
  strokeWidth: strokeWidth,
674
645
  role: "img",
675
- "aria-label": _getAriaLabel(i, j),
646
+ "aria-label": _getAriaLabel(i, j - 1),
676
647
  tabIndex: isLegendSelected ? 0 : undefined
677
- }), /*#__PURE__*/ _react.createElement("circle", {
678
- id: hiddenHoverCircleId,
679
- key: hiddenHoverCircleId,
680
- r: 8,
681
- cx: _xAxisScale(x2),
682
- cy: yScale(y2),
683
- opacity: 0,
684
- width: 0,
685
- onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
686
- onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale),
687
- onFocus: (event)=>_handleFocus(event, circleId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData),
688
- onMouseOut: _handleMouseOut,
689
- strokeWidth: 0,
690
- focusable: false,
691
- onBlur: _handleMouseOut
692
- })));
648
+ }));
649
+ }
650
+ if (j + 1 === _points[i].data.length) {
651
+ var _points_i_lineOptions_mode4, _points_i_lineOptions14;
652
+ // If this is last point of the line segment.
653
+ const lastCircleId = `${circleId}${j}L`;
654
+ const hiddenHoverCircleId = `${circleId}${j}D`;
655
+ const lastPointHidden = _points[i].hideNonActiveDots && activePoint !== lastCircleId;
656
+ const { xAxisCalloutData: lastCirlceXCallout, xAxisCalloutAccessibilityData: lastCirlceXCalloutAccessibilityData } = _points[i].data[j];
657
+ currentMarkerSize = _points[i].data[j].markerSize;
658
+ const lastSupportsTextMode = (_points_i_lineOptions14 = _points[i].lineOptions) === null || _points_i_lineOptions14 === void 0 ? void 0 : (_points_i_lineOptions_mode4 = _points_i_lineOptions14.mode) === null || _points_i_lineOptions_mode4 === void 0 ? void 0 : _points_i_lineOptions_mode4.includes('text');
659
+ const lastText = _points[i].data[j].text;
660
+ if ((0, _index1.isPlottable)(xPoint2, yPoint2)) {
661
+ var _points_i_lineOptions_mode5, _points_i_lineOptions15;
662
+ const path = _getPath(xPoint2, yPoint2, lastCircleId, j, true, _points[i].index);
663
+ var _points_i_data_j_text;
664
+ pointsForLine.push(/*#__PURE__*/ _react.createElement(_react.Fragment, {
665
+ key: `${lastCircleId}_container`
666
+ }, ((_points_i_lineOptions15 = _points[i].lineOptions) === null || _points_i_lineOptions15 === void 0 ? void 0 : (_points_i_lineOptions_mode5 = _points_i_lineOptions15.mode) === null || _points_i_lineOptions_mode5 === void 0 ? void 0 : _points_i_lineOptions_mode5.includes('markers')) || lastSupportsTextMode ? /*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("circle", {
667
+ id: lastCircleId,
668
+ key: lastCircleId,
669
+ r: currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 4,
670
+ cx: xPoint2,
671
+ cy: yPoint2,
672
+ "data-is-focusable": isLegendSelected,
673
+ onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
674
+ onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
675
+ onMouseOut: _handleMouseOut,
676
+ onFocus: (event)=>_handleFocus(event, lineId, x2, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData),
677
+ onBlur: _handleMouseOut,
678
+ ..._getClickHandler(_points[i].data[j].onDataPointClick),
679
+ opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01,
680
+ fill: _getPointFill(lineColor, lastCircleId, j, true),
681
+ stroke: lineColor,
682
+ strokeWidth: strokeWidth,
683
+ role: "img",
684
+ "aria-label": (_points_i_data_j_text = _points[i].data[j].text) !== null && _points_i_data_j_text !== void 0 ? _points_i_data_j_text : _getAriaLabel(i, j)
685
+ }), !_isScatterPolar && lastSupportsTextMode && lastText && /*#__PURE__*/ _react.createElement("text", {
686
+ key: `${lastCircleId}-label`,
687
+ x: xPoint2,
688
+ y: yPoint2 + Math.max(currentMarkerSize ? currentMarkerSize * extraMaxPixels / maxMarkerSize : 4, 4) + 12,
689
+ className: classes.markerLabel
690
+ }, text)) : /*#__PURE__*/ _react.createElement("path", {
691
+ id: lastCircleId,
692
+ key: lastCircleId,
693
+ d: path,
694
+ "data-is-focusable": isLegendSelected,
695
+ onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
696
+ onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
697
+ onMouseOut: _handleMouseOut,
698
+ onFocus: (event)=>_handleFocus(event, lineId, x2, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData),
699
+ onBlur: _handleMouseOut,
700
+ ..._getClickHandler(_points[i].data[j].onDataPointClick),
701
+ opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01,
702
+ fill: _getPointFill(lineColor, lastCircleId, j, true),
703
+ stroke: lineColor,
704
+ strokeWidth: strokeWidth,
705
+ role: "img",
706
+ "aria-label": _getAriaLabel(i, j),
707
+ tabIndex: isLegendSelected ? 0 : undefined
708
+ }), /*#__PURE__*/ _react.createElement("circle", {
709
+ id: hiddenHoverCircleId,
710
+ key: hiddenHoverCircleId,
711
+ r: 8,
712
+ cx: xPoint2,
713
+ cy: yPoint2,
714
+ opacity: 0,
715
+ width: 0,
716
+ onMouseOver: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
717
+ onMouseMove: (event)=>_handleHover(x2, y2, verticaLineHeight, lastCirlceXCallout, lastCircleId, lastCirlceXCalloutAccessibilityData, event, yScale, legendVal, lineColor),
718
+ onMouseOut: _handleMouseOut,
719
+ strokeWidth: 0,
720
+ focusable: false,
721
+ onBlur: _handleMouseOut
722
+ })));
723
+ }
693
724
  }
694
- if (!_hasMarkersMode || ((_points_i_lineOptions9 = _points[i].lineOptions) === null || _points_i_lineOptions9 === void 0 ? void 0 : (_points_i_lineOptions_mode1 = _points_i_lineOptions9.mode) === null || _points_i_lineOptions_mode1 === void 0 ? void 0 : _points_i_lineOptions_mode1.includes('lines'))) {
725
+ if ((0, _index1.isPlottable)(xPoint1, yPoint1) && (0, _index1.isPlottable)(xPoint2, yPoint2) && (!_hasMarkersMode || ((_points_i_lineOptions12 = _points[i].lineOptions) === null || _points_i_lineOptions12 === void 0 ? void 0 : (_points_i_lineOptions_mode2 = _points_i_lineOptions12.mode) === null || _points_i_lineOptions_mode2 === void 0 ? void 0 : _points_i_lineOptions_mode2.includes('lines')))) {
695
726
  if (isLegendSelected) {
696
727
  // don't draw line if it is in a gap
697
728
  if (!isInGap) {
698
- var _points_i_lineOptions11, _points_i_lineOptions12, _points_i_lineOptions13, _points_i_lineOptions14;
699
- const lineBorderWidth = ((_points_i_lineOptions11 = _points[i].lineOptions) === null || _points_i_lineOptions11 === void 0 ? void 0 : _points_i_lineOptions11.lineBorderWidth) ? Number.parseFloat(_points[i].lineOptions.lineBorderWidth.toString()) : 0;
729
+ var _points_i_lineOptions16, _points_i_lineOptions17, _points_i_lineOptions18, _points_i_lineOptions19;
730
+ const lineBorderWidth = ((_points_i_lineOptions16 = _points[i].lineOptions) === null || _points_i_lineOptions16 === void 0 ? void 0 : _points_i_lineOptions16.lineBorderWidth) ? Number.parseFloat(_points[i].lineOptions.lineBorderWidth.toString()) : 0;
700
731
  if (lineBorderWidth > 0) {
701
- var _points_i_lineOptions15, _points_i_lineOptions16;
732
+ var _points_i_lineOptions20, _points_i_lineOptions21;
702
733
  var _points_i_lineOptions_strokeLinecap3;
703
734
  bordersForLine.push(/*#__PURE__*/ _react.createElement("line", {
704
735
  id: borderId,
705
736
  key: borderId,
706
- x1: _xAxisScale(x1),
707
- y1: yScale(y1),
708
- x2: _xAxisScale(x2),
709
- y2: yScale(y2),
710
- strokeLinecap: (_points_i_lineOptions_strokeLinecap3 = (_points_i_lineOptions15 = _points[i].lineOptions) === null || _points_i_lineOptions15 === void 0 ? void 0 : _points_i_lineOptions15.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap3 !== void 0 ? _points_i_lineOptions_strokeLinecap3 : 'round',
737
+ x1: xPoint1,
738
+ y1: yPoint1,
739
+ x2: xPoint2,
740
+ y2: yPoint2,
741
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap3 = (_points_i_lineOptions20 = _points[i].lineOptions) === null || _points_i_lineOptions20 === void 0 ? void 0 : _points_i_lineOptions20.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap3 !== void 0 ? _points_i_lineOptions_strokeLinecap3 : 'round',
711
742
  strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth,
712
- stroke: ((_points_i_lineOptions16 = _points[i].lineOptions) === null || _points_i_lineOptions16 === void 0 ? void 0 : _points_i_lineOptions16.lineBorderColor) || _reacttheme.tokens.colorNeutralBackground1,
743
+ stroke: ((_points_i_lineOptions21 = _points[i].lineOptions) === null || _points_i_lineOptions21 === void 0 ? void 0 : _points_i_lineOptions21.lineBorderColor) || _reacttheme.tokens.colorNeutralBackground1,
713
744
  opacity: 1
714
745
  }));
715
746
  }
@@ -717,41 +748,41 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
717
748
  linesForLine.push(/*#__PURE__*/ _react.createElement("line", {
718
749
  id: lineId,
719
750
  key: lineId,
720
- x1: _xAxisScale(x1),
721
- y1: yScale(y1),
722
- x2: _xAxisScale(x2),
723
- y2: yScale(y2),
751
+ x1: xPoint1,
752
+ y1: yPoint1,
753
+ x2: xPoint2,
754
+ y2: yPoint2,
724
755
  strokeWidth: strokeWidth,
725
756
  ref: (e)=>{
726
757
  _refCallback(e, lineId);
727
758
  },
728
- onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
729
- onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale),
759
+ onMouseOver: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
760
+ onMouseMove: (event)=>_handleHover(x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event, yScale, legendVal, lineColor),
730
761
  onMouseOut: _handleMouseOut,
731
762
  stroke: lineColor,
732
- strokeLinecap: (_points_i_lineOptions_strokeLinecap4 = (_points_i_lineOptions12 = _points[i].lineOptions) === null || _points_i_lineOptions12 === void 0 ? void 0 : _points_i_lineOptions12.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap4 !== void 0 ? _points_i_lineOptions_strokeLinecap4 : 'round',
733
- strokeDasharray: (_points_i_lineOptions13 = _points[i].lineOptions) === null || _points_i_lineOptions13 === void 0 ? void 0 : _points_i_lineOptions13.strokeDasharray,
734
- strokeDashoffset: (_points_i_lineOptions14 = _points[i].lineOptions) === null || _points_i_lineOptions14 === void 0 ? void 0 : _points_i_lineOptions14.strokeDashoffset,
763
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap4 = (_points_i_lineOptions17 = _points[i].lineOptions) === null || _points_i_lineOptions17 === void 0 ? void 0 : _points_i_lineOptions17.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap4 !== void 0 ? _points_i_lineOptions_strokeLinecap4 : 'round',
764
+ strokeDasharray: (_points_i_lineOptions18 = _points[i].lineOptions) === null || _points_i_lineOptions18 === void 0 ? void 0 : _points_i_lineOptions18.strokeDasharray,
765
+ strokeDashoffset: (_points_i_lineOptions19 = _points[i].lineOptions) === null || _points_i_lineOptions19 === void 0 ? void 0 : _points_i_lineOptions19.strokeDashoffset,
735
766
  opacity: 1,
736
767
  ..._getClickHandler(_points[i].onLineClick)
737
768
  }));
738
769
  }
739
770
  } else {
740
771
  if (!isInGap) {
741
- var _points_i_lineOptions17, _points_i_lineOptions18, _points_i_lineOptions19;
772
+ var _points_i_lineOptions22, _points_i_lineOptions23, _points_i_lineOptions24;
742
773
  var _points_i_lineOptions_strokeLinecap5;
743
774
  linesForLine.push(/*#__PURE__*/ _react.createElement("line", {
744
775
  id: lineId,
745
776
  key: lineId,
746
- x1: _xAxisScale(x1),
747
- y1: yScale(y1),
748
- x2: _xAxisScale(x2),
749
- y2: yScale(y2),
777
+ x1: xPoint1,
778
+ y1: yPoint1,
779
+ x2: xPoint2,
780
+ y2: yPoint2,
750
781
  strokeWidth: strokeWidth,
751
782
  stroke: lineColor,
752
- strokeLinecap: (_points_i_lineOptions_strokeLinecap5 = (_points_i_lineOptions17 = _points[i].lineOptions) === null || _points_i_lineOptions17 === void 0 ? void 0 : _points_i_lineOptions17.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap5 !== void 0 ? _points_i_lineOptions_strokeLinecap5 : 'round',
753
- strokeDasharray: (_points_i_lineOptions18 = _points[i].lineOptions) === null || _points_i_lineOptions18 === void 0 ? void 0 : _points_i_lineOptions18.strokeDasharray,
754
- strokeDashoffset: (_points_i_lineOptions19 = _points[i].lineOptions) === null || _points_i_lineOptions19 === void 0 ? void 0 : _points_i_lineOptions19.strokeDashoffset,
783
+ strokeLinecap: (_points_i_lineOptions_strokeLinecap5 = (_points_i_lineOptions22 = _points[i].lineOptions) === null || _points_i_lineOptions22 === void 0 ? void 0 : _points_i_lineOptions22.strokeLinecap) !== null && _points_i_lineOptions_strokeLinecap5 !== void 0 ? _points_i_lineOptions_strokeLinecap5 : 'round',
784
+ strokeDasharray: (_points_i_lineOptions23 = _points[i].lineOptions) === null || _points_i_lineOptions23 === void 0 ? void 0 : _points_i_lineOptions23.strokeDasharray,
785
+ strokeDashoffset: (_points_i_lineOptions24 = _points[i].lineOptions) === null || _points_i_lineOptions24 === void 0 ? void 0 : _points_i_lineOptions24.strokeDashoffset,
755
786
  opacity: 0.1
756
787
  }));
757
788
  }
@@ -759,6 +790,15 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
759
790
  }
760
791
  }
761
792
  }
793
+ if (_isScatterPolar) {
794
+ var _points_i;
795
+ pointsForLine.push(...(0, _scatterpolarutils.renderScatterPolarCategoryLabels)({
796
+ xAxisScale: _xAxisScale,
797
+ yAxisScale: yScale,
798
+ className: classes.markerLabel || '',
799
+ lineOptions: (_points_i = _points[i]) === null || _points_i === void 0 ? void 0 : _points_i.lineOptions
800
+ }));
801
+ }
762
802
  lines.push(/*#__PURE__*/ _react.createElement("g", {
763
803
  key: `line_${i}`,
764
804
  role: "region",
@@ -901,7 +941,7 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
901
941
  }
902
942
  }
903
943
  const { xAxisCalloutData } = lineChartData[linenumber].data[index];
904
- const formattedDate = xPointToHighlight instanceof Date ? (0, _index1.formatDate)(xPointToHighlight, props.useUTC) : xPointToHighlight;
944
+ const formattedDate = xPointToHighlight instanceof Date ? (0, _chartutilities.formatDateToLocaleString)(xPointToHighlight, props.culture, props.useUTC) : xPointToHighlight;
905
945
  const modifiedXVal = xPointToHighlight instanceof Date ? xPointToHighlight.getTime() : xPointToHighlight;
906
946
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
907
947
  const found = (0, _index1.find)(_calloutPoints, (element)=>{
@@ -936,7 +976,7 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
936
976
  cy = targetRect.top + targetRect.height / 2;
937
977
  updatePosition(cx, cy);
938
978
  _uniqueCallOutID = circleId;
939
- const formattedData = x instanceof Date ? (0, _index1.formatDate)(x, props.useUTC) : x;
979
+ const formattedData = x instanceof Date ? (0, _chartutilities.formatDateToLocaleString)(x, props.culture, props.useUTC) : x;
940
980
  const xVal = x instanceof Date ? x.getTime() : x;
941
981
  const found = (0, _index1.find)(_calloutPoints, (element)=>element.x === xVal);
942
982
  // if no points need to be called out then don't show vertical line and callout card
@@ -956,11 +996,24 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
956
996
  setActivePoint(circleId);
957
997
  }
958
998
  }
959
- function _handleHover(x, y, lineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, mouseEvent, yScale) {
999
+ function _handleHover(x, y, lineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, mouseEvent, yScale, legendVal, lineColor) {
960
1000
  mouseEvent === null || mouseEvent === void 0 ? void 0 : mouseEvent.persist();
961
- const formattedData = x instanceof Date ? (0, _index1.formatDate)(x, props.useUTC) : x;
1001
+ const formattedData = x instanceof Date ? (0, _chartutilities.formatDateToLocaleString)(x, props.culture, props.useUTC) : x;
962
1002
  const xVal = x instanceof Date ? x.getTime() : x;
1003
+ const yVal = y instanceof Date ? y.getTime() : y;
963
1004
  const found = (0, _index1.find)(_calloutPoints, (element)=>element.x === xVal);
1005
+ let hoverDp = undefined;
1006
+ if (props.isCalloutForStack === false && (found === null || found === void 0 ? void 0 : found.values)) {
1007
+ const dp = (0, _index1.find)(found.values, (val)=>(val === null || val === void 0 ? void 0 : val.y) === yVal);
1008
+ if (dp) {
1009
+ hoverDp = {
1010
+ x: xVal,
1011
+ values: [
1012
+ dp
1013
+ ]
1014
+ };
1015
+ }
1016
+ }
964
1017
  // if no points need to be called out then don't show vertical line and callout card
965
1018
  if (found) {
966
1019
  (0, _d3selection.select)(`#${_verticalLine}`).attr('transform', ()=>`translate(${_xAxisScale(x)}, ${yScale(y)})`).attr('visibility', 'visibility').attr('y2', `${lineHeight - 5 - yScale(y)}`);
@@ -969,8 +1022,11 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
969
1022
  updatePosition(mouseEvent.clientX, mouseEvent.clientY);
970
1023
  xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);
971
1024
  setYValueHover(found.values);
1025
+ setYValue(yVal);
1026
+ setLegendVal(legendVal);
1027
+ setLineColor(lineColor);
972
1028
  setStackCalloutProps(found);
973
- setDataPointCalloutProps(found);
1029
+ setDataPointCalloutProps(hoverDp);
974
1030
  setActivePoint(circleId);
975
1031
  setNearestCircleToHighlight(null);
976
1032
  }
@@ -1088,81 +1144,18 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1088
1144
  var _point_callOutAccessibilityData;
1089
1145
  const line = _points[lineIndex];
1090
1146
  const point = line.data[pointIndex];
1091
- const formattedDate = point.x instanceof Date ? (0, _index1.formatDate)(point.x, props.useUTC) : point.x;
1147
+ const formattedDate = point.x instanceof Date ? (0, _chartutilities.formatDateToLocaleString)(point.x, props.culture, props.useUTC) : point.x;
1092
1148
  const xValue = point.xAxisCalloutData || formattedDate;
1093
1149
  const legend = line.legend;
1094
1150
  const yValue = point.yAxisCalloutData || point.y;
1095
1151
  return ((_point_callOutAccessibilityData = point.callOutAccessibilityData) === null || _point_callOutAccessibilityData === void 0 ? void 0 : _point_callOutAccessibilityData.ariaLabel) || `${xValue}. ${legend}, ${yValue}.`;
1096
1152
  }
1097
- function _getDomainNRangeValuesOfDateWithPadding(points, margins, width, isRTL, tickValues = [], chartType, barWidth) {
1098
- let sDate;
1099
- let lDate;
1100
- sDate = (0, _d3array.min)(points, (point)=>{
1101
- return (0, _d3array.min)(point.data, (item)=>item.x);
1102
- });
1103
- lDate = (0, _d3array.max)(points, (point)=>{
1104
- return (0, _d3array.max)(point.data, (item)=>item.x);
1105
- });
1106
- // Include tickValues if present
1107
- sDate = (0, _d3array.min)([
1108
- ...tickValues,
1109
- sDate
1110
- ]);
1111
- lDate = (0, _d3array.max)([
1112
- ...tickValues,
1113
- lDate
1114
- ]);
1115
- // Calculate time-based padding (e.g. 10% of the date range)
1116
- const dateRange = lDate.getTime() - sDate.getTime();
1117
- const datePadding = _hasMarkersMode ? dateRange * 0.1 : 0;
1118
- const paddedSDate = new Date(sDate.getTime() - datePadding);
1119
- const paddedLDate = new Date(lDate.getTime() + datePadding);
1120
- const rStartValue = margins.left;
1121
- const rEndValue = width - margins.right;
1122
- return isRTL ? {
1123
- dStartValue: paddedLDate,
1124
- dEndValue: paddedSDate,
1125
- rStartValue,
1126
- rEndValue
1127
- } : {
1128
- dStartValue: paddedSDate,
1129
- dEndValue: paddedLDate,
1130
- rStartValue,
1131
- rEndValue
1132
- };
1133
- }
1134
- function _getDomainNRangeValuesWithPadding(points, margins, width, isRTL) {
1135
- _xMin = (0, _d3array.min)(points, (point)=>{
1136
- return (0, _d3array.min)(point.data, (item)=>item.x);
1137
- });
1138
- _xMax = (0, _d3array.max)(points, (point)=>{
1139
- return (0, _d3array.max)(point.data, (item)=>{
1140
- return item.x;
1141
- });
1142
- });
1143
- if (_hasMarkersMode) {
1144
- _xPadding = (_xMax - _xMin) * 0.1;
1145
- }
1146
- const rStartValue = margins.left;
1147
- const rEndValue = width - margins.right;
1148
- return isRTL ? {
1149
- dStartValue: _xMax + _xPadding,
1150
- dEndValue: _xMin - _xPadding,
1151
- rStartValue,
1152
- rEndValue
1153
- } : {
1154
- dStartValue: _xMin - _xPadding,
1155
- dEndValue: _xMax + _xPadding,
1156
- rStartValue,
1157
- rEndValue
1158
- };
1159
- }
1160
1153
  function _isChartEmpty() {
1161
1154
  return !(props.data && props.data.lineChartData && props.data.lineChartData.length > 0 && props.data.lineChartData.filter((item)=>item.data.length).length > 0);
1162
1155
  }
1163
1156
  const { legendProps, tickValues, tickFormat, eventAnnotationProps } = props;
1164
1157
  _points = _injectIndexPropertyInLineChartData(props.data.lineChartData);
1165
- const isXAxisDateType = (0, _index1.getXAxisType)(_points);
1158
+ _isXAxisDateType = (0, _index1.getXAxisType)(_points);
1166
1159
  let points = _points;
1167
1160
  if (legendProps && !!legendProps.canSelectMultipleLegends) {
1168
1161
  points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;
@@ -1175,18 +1168,21 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1175
1168
  if (!props.hideLegend) {
1176
1169
  legendBars = _createLegends(_points); // ToDo: Memoize legends to improve performance.
1177
1170
  }
1178
- var _props_culture;
1179
1171
  const calloutProps = {
1180
1172
  YValueHover: YValueHover,
1181
1173
  hoverXValue: hoverXValue,
1174
+ YValue: YValue,
1175
+ legend: legendVal,
1176
+ color: lineColor,
1177
+ XValue: hoverXValue,
1182
1178
  descriptionMessage: props.getCalloutDescriptionMessage && stackCalloutProps ? props.getCalloutDescriptionMessage(stackCalloutProps) : undefined,
1183
1179
  'data-is-focusable': true,
1184
1180
  xAxisCalloutAccessibilityData: xAxisCalloutAccessibilityData,
1185
1181
  ...props.calloutProps,
1186
1182
  clickPosition: clickPosition,
1187
1183
  isPopoverOpen: isPopoverOpen,
1188
- isCalloutForStack: true,
1189
- culture: (_props_culture = props.culture) !== null && _props_culture !== void 0 ? _props_culture : 'en-us',
1184
+ isCalloutForStack: props.isCalloutForStack,
1185
+ culture: props.culture,
1190
1186
  isCartesian: true,
1191
1187
  customCallout: {
1192
1188
  customizedCallout: _getCustomizedCallout() !== null ? _getCustomizedCallout() : undefined,
@@ -1209,7 +1205,11 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1209
1205
  getmargins: _getMargins,
1210
1206
  getMinMaxOfYAxis: _getNumericMinMaxOfY,
1211
1207
  getGraphData: _initializeLineChartData,
1212
- xAxisType: isXAxisDateType ? _index1.XAxisTypes.DateAxis : _index1.XAxisTypes.NumericAxis,
1208
+ xAxisType: _isXAxisDateType ? _index1.XAxisTypes.DateAxis : _index1.XAxisTypes.NumericAxis,
1209
+ ..._isScatterPolar ? {
1210
+ yMaxValue: 1,
1211
+ yMinValue: -1
1212
+ } : {},
1213
1213
  getDomainNRangeValues: _getDomainNRangeValues,
1214
1214
  createStringYAxis: _index1.createStringYAxis,
1215
1215
  onChartMouseLeave: _handleChartMouseLeave,
@@ -1251,3 +1251,6 @@ const LineChart = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
1251
1251
  });
1252
1252
  });
1253
1253
  LineChart.displayName = 'LineChart';
1254
+ LineChart.defaultProps = {
1255
+ isCalloutForStack: true
1256
+ };