@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
@@ -15,6 +16,9 @@ _export(exports, {
15
16
  CustomPoints: function() {
16
17
  return CustomPoints;
17
18
  },
19
+ DEFAULT_DATE_STRING: function() {
20
+ return DEFAULT_DATE_STRING;
21
+ },
18
22
  DEFAULT_WRAP_WIDTH: function() {
19
23
  return DEFAULT_WRAP_WIDTH;
20
24
  },
@@ -48,6 +52,9 @@ _export(exports, {
48
52
  calculateLongestLabelWidth: function() {
49
53
  return calculateLongestLabelWidth;
50
54
  },
55
+ calculatePrecision: function() {
56
+ return calculatePrecision;
57
+ },
51
58
  calloutData: function() {
52
59
  return calloutData;
53
60
  },
@@ -90,21 +97,15 @@ _export(exports, {
90
97
  defaultYAxisTickFormatter: function() {
91
98
  return defaultYAxisTickFormatter;
92
99
  },
93
- domainRangeOfDateForAreaLineVerticalBarChart: function() {
94
- return domainRangeOfDateForAreaLineVerticalBarChart;
95
- },
96
- domainRangeOfDateForScatterChart: function() {
97
- return domainRangeOfDateForScatterChart;
100
+ domainRangeOfDateForAreaLineScatterVerticalBarCharts: function() {
101
+ return domainRangeOfDateForAreaLineScatterVerticalBarCharts;
98
102
  },
99
- domainRangeOfNumericForAreaChart: function() {
100
- return domainRangeOfNumericForAreaChart;
103
+ domainRangeOfNumericForAreaLineScatterCharts: function() {
104
+ return domainRangeOfNumericForAreaLineScatterCharts;
101
105
  },
102
106
  domainRangeOfNumericForHorizontalBarChartWithAxis: function() {
103
107
  return domainRangeOfNumericForHorizontalBarChartWithAxis;
104
108
  },
105
- domainRangeOfNumericForScatterChart: function() {
106
- return domainRangeOfNumericForScatterChart;
107
- },
108
109
  domainRangeOfVSBCNumeric: function() {
109
110
  return domainRangeOfVSBCNumeric;
110
111
  },
@@ -138,6 +139,12 @@ _export(exports, {
138
139
  formatScientificLimitWidth: function() {
139
140
  return formatScientificLimitWidth;
140
141
  },
142
+ generateLinearTicks: function() {
143
+ return generateLinearTicks;
144
+ },
145
+ generateMonthlyTicks: function() {
146
+ return generateMonthlyTicks;
147
+ },
141
148
  getAccessibleDataObject: function() {
142
149
  return getAccessibleDataObject;
143
150
  },
@@ -150,9 +157,18 @@ _export(exports, {
150
157
  getDateFormatLevel: function() {
151
158
  return getDateFormatLevel;
152
159
  },
160
+ getDomainPaddingForMarkers: function() {
161
+ return getDomainPaddingForMarkers;
162
+ },
163
+ getRangeForScatterMarkerSize: function() {
164
+ return getRangeForScatterMarkerSize;
165
+ },
153
166
  getScalePadding: function() {
154
167
  return getScalePadding;
155
168
  },
169
+ getScatterXDomainExtent: function() {
170
+ return getScatterXDomainExtent;
171
+ },
156
172
  getSecureProps: function() {
157
173
  return getSecureProps;
158
174
  },
@@ -168,12 +184,27 @@ _export(exports, {
168
184
  groupChartDataByYValue: function() {
169
185
  return groupChartDataByYValue;
170
186
  },
187
+ isPlottable: function() {
188
+ return isPlottable;
189
+ },
171
190
  isScalePaddingDefined: function() {
172
191
  return isScalePaddingDefined;
173
192
  },
193
+ isScatterPolarSeries: function() {
194
+ return isScatterPolarSeries;
195
+ },
196
+ isTextMode: function() {
197
+ return isTextMode;
198
+ },
199
+ isValidDomainValue: function() {
200
+ return isValidDomainValue;
201
+ },
174
202
  pointTypes: function() {
175
203
  return pointTypes;
176
204
  },
205
+ precisionRound: function() {
206
+ return precisionRound;
207
+ },
177
208
  prepareDatapoints: function() {
178
209
  return prepareDatapoints;
179
210
  },
@@ -217,6 +248,7 @@ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
217
248
  const _chartutilities = require("@fluentui/chart-utilities");
218
249
  const MIN_DOMAIN_MARGIN = 8;
219
250
  const MIN_DONUT_RADIUS = 1;
251
+ const DEFAULT_DATE_STRING = '2000-01-01';
220
252
  var ChartTypes = /*#__PURE__*/ function(ChartTypes) {
221
253
  ChartTypes[ChartTypes["AreaChart"] = 0] = "AreaChart";
222
254
  ChartTypes[ChartTypes["LineChart"] = 1] = "LineChart";
@@ -261,9 +293,9 @@ function yAxisTickFormatterInternal(value, limitWidth = false) {
261
293
  function defaultYAxisTickFormatter(value) {
262
294
  return yAxisTickFormatterInternal(value);
263
295
  }
264
- function createNumericXAxis(xAxisParams, tickParams, chartType, culture) {
265
- const { domainNRangeValues, showRoundOffXTickValues = false, xAxistickSize = 6, tickPadding = 10, xAxisCount, xAxisElement, hideTickOverlap, calcMaxLabelWidth } = xAxisParams;
266
- const xAxisScale = (0, _d3scale.scaleLinear)().domain([
296
+ function createNumericXAxis(xAxisParams, tickParams, chartType, culture, scaleType, _useRtl) {
297
+ const { domainNRangeValues, showRoundOffXTickValues = false, xAxistickSize = 6, tickPadding = 10, xAxisCount, xAxisElement, hideTickOverlap, calcMaxLabelWidth, tickStep, tick0 } = xAxisParams;
298
+ const xAxisScale = createNumericScale(scaleType).domain([
267
299
  domainNRangeValues.dStartValue,
268
300
  domainNRangeValues.dEndValue
269
301
  ]).range([
@@ -272,33 +304,38 @@ function createNumericXAxis(xAxisParams, tickParams, chartType, culture) {
272
304
  ]);
273
305
  showRoundOffXTickValues && xAxisScale.nice();
274
306
  let tickCount = xAxisCount !== null && xAxisCount !== void 0 ? xAxisCount : 6;
275
- const tickFormat = (domainValue, _index)=>{
307
+ const tickFormat = (domainValue, _index, defaultFormat)=>{
276
308
  if (tickParams.tickFormat) {
277
309
  return (0, _d3format.format)(tickParams.tickFormat)(domainValue);
278
310
  }
279
311
  const xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
280
- return (0, _chartutilities.formatToLocaleString)(xAxisValue, culture);
312
+ return (defaultFormat === null || defaultFormat === void 0 ? void 0 : defaultFormat(xAxisValue)) === '' ? '' : (0, _chartutilities.formatToLocaleString)(xAxisValue, culture);
281
313
  };
282
314
  if (hideTickOverlap && typeof xAxisCount === 'undefined') {
283
- const longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map(tickFormat)) + 20;
315
+ const longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map((v, i)=>tickFormat(v, i))) + 20;
284
316
  const [start, end] = xAxisScale.range();
285
317
  tickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
286
318
  }
287
- const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(tickCount).tickFormat(tickFormat);
319
+ const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(tickCount).tickFormat((v, i)=>tickFormat(v, i, xAxisScale.tickFormat(tickCount)));
288
320
  if ([
289
321
  6,
290
322
  8
291
323
  ].includes(chartType)) {
292
324
  xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
293
325
  }
326
+ let customTickValues;
294
327
  if (tickParams.tickValues) {
295
- xAxis.tickValues(tickParams.tickValues);
328
+ customTickValues = tickParams.tickValues;
329
+ } else if (tickStep) {
330
+ customTickValues = generateNumericTicks(scaleType, tickStep, tick0, xAxisScale.domain());
331
+ }
332
+ if (customTickValues) {
333
+ xAxis.tickValues(customTickValues);
296
334
  }
297
335
  if (xAxisElement) {
298
- (0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
336
+ (0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate');
299
337
  }
300
- var _tickParams_tickValues;
301
- const tickValues = ((_tickParams_tickValues = tickParams.tickValues) !== null && _tickParams_tickValues !== void 0 ? _tickParams_tickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
338
+ const tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
302
339
  return {
303
340
  xScale: xAxisScale,
304
341
  tickValues
@@ -489,7 +526,7 @@ function getDateFormatLevel(date, useUTC) {
489
526
  return (_matchedFormat_formatLevel = matchedFormat === null || matchedFormat === void 0 ? void 0 : matchedFormat.formatLevel) !== null && _matchedFormat_formatLevel !== void 0 ? _matchedFormat_formatLevel : 7;
490
527
  }
491
528
  function createDateXAxis(xAxisParams, tickParams, culture, options, timeFormatLocale, customDateTimeFormatter, useUTC, chartType) {
492
- const { domainNRangeValues, xAxisElement, tickPadding = 6, xAxistickSize = 6, xAxisCount, calcMaxLabelWidth } = xAxisParams;
529
+ const { domainNRangeValues, xAxisElement, tickPadding = 6, xAxistickSize = 6, xAxisCount, calcMaxLabelWidth, tickStep, tick0 } = xAxisParams;
493
530
  const isUtcSet = useUTC === true || useUTC === 'utc';
494
531
  const xAxisScale = isUtcSet ? (0, _d3scale.scaleUtc)() : (0, _d3scale.scaleTime)();
495
532
  xAxisScale.domain([
@@ -540,18 +577,25 @@ function createDateXAxis(xAxisParams, tickParams, culture, options, timeFormatLo
540
577
  ].includes(chartType)) {
541
578
  xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
542
579
  }
543
- tickParams.tickValues ? xAxis.tickValues(tickParams.tickValues) : '';
580
+ let customTickValues;
581
+ if (tickParams.tickValues) {
582
+ customTickValues = tickParams.tickValues;
583
+ } else if (tickStep) {
584
+ customTickValues = generateDateTicks(tickStep, tick0, xAxisScale.domain(), useUTC);
585
+ }
586
+ if (customTickValues) {
587
+ xAxis.tickValues(customTickValues);
588
+ }
544
589
  if (xAxisElement) {
545
590
  (0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
546
591
  }
547
- var _tickParams_tickValues;
548
- const tickValues = ((_tickParams_tickValues = tickParams.tickValues) !== null && _tickParams_tickValues !== void 0 ? _tickParams_tickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
592
+ const tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
549
593
  return {
550
594
  xScale: xAxisScale,
551
595
  tickValues
552
596
  };
553
597
  }
554
- function createStringXAxis(xAxisParams, tickParams, dataset, culture) {
598
+ function createStringXAxis(xAxisParams, tickParams, dataset, culture, _useRtl) {
555
599
  const { domainNRangeValues, xAxistickSize = 6, tickPadding = 10, xAxisPadding = 0.1, xAxisInnerPadding, xAxisOuterPadding, containerWidth, hideTickOverlap, calcMaxLabelWidth } = xAxisParams;
556
600
  const xAxisScale = (0, _d3scale.scaleBand)().domain(dataset).range([
557
601
  domainNRangeValues.rStartValue,
@@ -590,7 +634,7 @@ function createStringXAxis(xAxisParams, tickParams, dataset, culture) {
590
634
  }
591
635
  const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).tickValues(tickValues).tickFormat(tickFormat);
592
636
  if (xAxisParams.xAxisElement) {
593
- (0, _d3selection.select)(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
637
+ (0, _d3selection.select)(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate');
594
638
  }
595
639
  return {
596
640
  xScale: xAxisScale,
@@ -661,7 +705,7 @@ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl) {
661
705
  const { yMinMaxValues = {
662
706
  startValue: 0,
663
707
  endValue: 0
664
- }, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4 } = yAxisParams;
708
+ }, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, tickValues, tickStep, tick0 } = yAxisParams;
665
709
  // maxOfYVal coming from horizontal bar chart with axis (Calculation done at base file)
666
710
  const tempVal = maxOfYVal || yMinMaxValues.endValue;
667
711
  const finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
@@ -676,14 +720,23 @@ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl) {
676
720
  const axis = isRtl ? (0, _d3axis.axisRight)(yAxisScale) : (0, _d3axis.axisLeft)(yAxisScale);
677
721
  const yAxis = axis.tickPadding(tickPadding).ticks(yAxisTickCount);
678
722
  yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(defaultYAxisTickFormatter);
723
+ let customTickValues;
724
+ if (tickValues) {
725
+ customTickValues = tickValues;
726
+ } else if (tickStep) {
727
+ customTickValues = generateNumericTicks(undefined, tickStep, tick0, yAxisScale.domain());
728
+ }
729
+ if (customTickValues) {
730
+ yAxis.tickValues(customTickValues);
731
+ }
679
732
  yAxisElement ? (0, _d3selection.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
680
733
  return yAxisScale;
681
734
  }
682
- function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, chartType, useSecondaryYScale = false, roundedTicks = false) {
735
+ function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, chartType, useSecondaryYScale = false, roundedTicks = false, scaleType, _useRtl) {
683
736
  const { yMinMaxValues = {
684
737
  startValue: 0,
685
738
  endValue: 0
686
- }, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, containerWidth, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, eventAnnotationProps, eventLabelHeight } = yAxisParams;
739
+ }, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, containerWidth, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, eventAnnotationProps, eventLabelHeight, tickValues, tickStep, tick0 } = yAxisParams;
687
740
  // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
688
741
  const tempVal = maxOfYVal || yMinMaxValues.endValue || 0;
689
742
  const finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
@@ -696,18 +749,53 @@ function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, cha
696
749
  yMin = yMin - yPadding;
697
750
  yMax = yMax + yPadding;
698
751
  }
699
- const yAxisScale = (0, _d3scale.scaleLinear)().domain([
752
+ let scaleDomain = [
700
753
  domainValues[0],
701
- yMax
702
- ]).range([
754
+ domainValues[domainValues.length - 1]
755
+ ];
756
+ if (scaleType === 'log') {
757
+ let domainStart = yMinMaxValues.startValue;
758
+ let domainEnd = yMinMaxValues.endValue;
759
+ if (yMinValue > 0) {
760
+ domainStart = Math.min(domainStart, yMinValue);
761
+ }
762
+ if (yMaxValue > 0) {
763
+ domainEnd = Math.max(domainEnd, yMaxValue);
764
+ }
765
+ scaleDomain = [
766
+ domainStart,
767
+ domainEnd
768
+ ];
769
+ }
770
+ const yAxisScale = createNumericScale(scaleType).domain(scaleDomain).range([
703
771
  containerHeight - margins.bottom,
704
772
  margins.top + (eventAnnotationProps ? eventLabelHeight : 0)
705
773
  ]);
706
774
  const axis = !isRtl && useSecondaryYScale || isRtl && !useSecondaryYScale ? (0, _d3axis.axisRight)(yAxisScale) : (0, _d3axis.axisLeft)(yAxisScale);
707
- const yAxis = axis.tickPadding(tickPadding).tickValues(domainValues).tickSizeInner(-(containerWidth - margins.left - margins.right));
708
- yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(defaultYAxisTickFormatter);
709
- yAxisElement ? (0, _d3selection.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
710
- axisData.yAxisDomainValues = domainValues;
775
+ const yAxis = axis.tickPadding(tickPadding).tickSizeInner(-(containerWidth - margins.left - margins.right));
776
+ let customTickValues;
777
+ if (tickValues) {
778
+ customTickValues = tickValues;
779
+ } else if (tickStep) {
780
+ customTickValues = generateNumericTicks(scaleType, tickStep, tick0, yAxisScale.domain());
781
+ }
782
+ if (customTickValues) {
783
+ yAxis.tickValues(customTickValues);
784
+ axisData.yAxisDomainValues = customTickValues;
785
+ } else {
786
+ if (scaleType === 'log') {
787
+ axisData.yAxisDomainValues = yAxisScale.ticks();
788
+ } else {
789
+ yAxis.tickValues(domainValues);
790
+ axisData.yAxisDomainValues = domainValues;
791
+ }
792
+ }
793
+ const tickFormat = (domainValue, index, defaultFormat)=>{
794
+ const value = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
795
+ return (defaultFormat === null || defaultFormat === void 0 ? void 0 : defaultFormat(value)) === '' ? '' : defaultYAxisTickFormatter(value);
796
+ };
797
+ yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat((v, i)=>tickFormat(v, i, yAxisScale.tickFormat(yAxisTickCount)));
798
+ yAxisElement ? (0, _d3selection.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate').style('text-anchor', !useSecondaryYScale && (_useRtl ? 'start' : 'end')) : '';
711
799
  return yAxisScale;
712
800
  }
713
801
  const createStringYAxisForHorizontalBarChartWithAxis = (yAxisParams, dataPoints, isRtl, barWidth)=>{
@@ -937,7 +1025,7 @@ function tooltipOfAxislabels(axistooltipProps) {
937
1025
  return null;
938
1026
  }
939
1027
  const div = (0, _d3selection.select)('body').append('div').attr('id', id).attr('class', tooltipCls).style('opacity', 0);
940
- const aa = axis.selectAll('#BaseSpan')._groups[0];
1028
+ const aa = axis.selectAll('[id^="BaseSpan-"]')._groups[0];
941
1029
  const baseSpanLength = aa && Object.keys(aa).length;
942
1030
  const originalDataArray = [];
943
1031
  for(let i = 0; i < baseSpanLength; i++){
@@ -969,51 +1057,24 @@ function getXAxisType(points) {
969
1057
  }
970
1058
  return isXAxisDateType;
971
1059
  }
972
- function domainRangeOfNumericForAreaChart(points, margins, width, isRTL) {
973
- const xMin = (0, _d3array.min)(points, (point)=>{
974
- return (0, _d3array.min)(point.data, (item)=>item.x);
975
- });
976
- const xMax = (0, _d3array.max)(points, (point)=>{
977
- return (0, _d3array.max)(point.data, (item)=>{
978
- return item.x;
979
- });
980
- });
981
- const rStartValue = margins.left;
982
- const rEndValue = width - margins.right;
983
- return isRTL ? {
984
- dStartValue: xMax,
985
- dEndValue: xMin,
986
- rStartValue,
987
- rEndValue
988
- } : {
989
- dStartValue: xMin,
990
- dEndValue: xMax,
991
- rStartValue,
992
- rEndValue
993
- };
994
- }
995
- function domainRangeOfNumericForScatterChart(points, margins, width, isRTL) {
996
- let xMin = (0, _d3array.min)(points, (point)=>{
997
- return (0, _d3array.min)(point.data, (item)=>item.x);
998
- });
999
- let xMax = (0, _d3array.max)(points, (point)=>{
1000
- return (0, _d3array.max)(point.data, (item)=>{
1001
- return item.x;
1002
- });
1003
- });
1004
- const xPadding = (xMax - xMin) * 0.1;
1005
- xMin = xMin - xPadding;
1006
- xMax = xMax + xPadding;
1060
+ function domainRangeOfNumericForAreaLineScatterCharts(points, margins, width, isRTL, scaleType, hasMarkersMode) {
1061
+ const isScatterPolar = isScatterPolarSeries(points);
1062
+ let [xMin, xMax] = getScatterXDomainExtent(points, scaleType);
1063
+ if (hasMarkersMode) {
1064
+ const xPadding = getDomainPaddingForMarkers(xMin, xMax, scaleType);
1065
+ xMin = xMin - xPadding.start;
1066
+ xMax = xMax + xPadding.end;
1067
+ }
1007
1068
  const rStartValue = margins.left;
1008
1069
  const rEndValue = width - margins.right;
1009
1070
  return isRTL ? {
1010
- dStartValue: xMax,
1011
- dEndValue: xMin,
1071
+ dStartValue: isScatterPolar ? 1 : xMax,
1072
+ dEndValue: isScatterPolar ? -1 : xMin,
1012
1073
  rStartValue,
1013
1074
  rEndValue
1014
1075
  } : {
1015
- dStartValue: xMin,
1016
- dEndValue: xMax,
1076
+ dStartValue: isScatterPolar ? -1 : xMin,
1077
+ dEndValue: isScatterPolar ? 1 : xMax,
1017
1078
  rStartValue,
1018
1079
  rEndValue
1019
1080
  };
@@ -1093,22 +1154,15 @@ function domainRangeOfVSBCNumeric(points, margins, width, isRTL, barWidth) {
1093
1154
  rEndValue: rMin
1094
1155
  };
1095
1156
  }
1096
- function domainRangeOfDateForAreaLineVerticalBarChart(points, margins, width, isRTL, tickValues = [], chartType, barWidth) {
1157
+ function domainRangeOfDateForAreaLineScatterVerticalBarCharts(points, margins, width, isRTL, tickValues = [], chartType, barWidth, hasMarkersMode) {
1097
1158
  let sDate;
1098
1159
  let lDate;
1099
- if (chartType === 0 || chartType === 1) {
1100
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1101
- sDate = (0, _d3array.min)(points, (point)=>{
1102
- return (0, _d3array.min)(point.data, (item)=>{
1103
- return item.x;
1104
- });
1105
- });
1106
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1107
- lDate = (0, _d3array.max)(points, (point)=>{
1108
- return (0, _d3array.max)(point.data, (item)=>{
1109
- return item.x;
1110
- });
1111
- });
1160
+ if ([
1161
+ 0,
1162
+ 1,
1163
+ 7
1164
+ ].includes(chartType)) {
1165
+ [sDate, lDate] = getScatterXDomainExtent(points);
1112
1166
  // Need to draw graph with given small and large date
1113
1167
  // (Which Involves customization of date axis tick values)
1114
1168
  // That may be Either from given graph data or from prop 'tickValues' date values.
@@ -1121,6 +1175,11 @@ function domainRangeOfDateForAreaLineVerticalBarChart(points, margins, width, is
1121
1175
  ...tickValues,
1122
1176
  lDate
1123
1177
  ]);
1178
+ if (hasMarkersMode || chartType === 7) {
1179
+ const xPadding = getDomainPaddingForMarkers(sDate.getTime(), lDate.getTime());
1180
+ sDate = new Date(sDate.getTime() - xPadding.start);
1181
+ lDate = new Date(lDate.getTime() + xPadding.end);
1182
+ }
1124
1183
  } else {
1125
1184
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1126
1185
  sDate = (0, _d3array.min)(points, (point)=>point.x);
@@ -1141,50 +1200,6 @@ function domainRangeOfDateForAreaLineVerticalBarChart(points, margins, width, is
1141
1200
  rEndValue
1142
1201
  };
1143
1202
  }
1144
- function domainRangeOfDateForScatterChart(points, margins, width, isRTL, tickValues = []) {
1145
- let sDate;
1146
- let lDate;
1147
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1148
- sDate = (0, _d3array.min)(points, (point)=>{
1149
- return (0, _d3array.min)(point.data, (item)=>{
1150
- return item.x;
1151
- });
1152
- });
1153
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1154
- lDate = (0, _d3array.max)(points, (point)=>{
1155
- return (0, _d3array.max)(point.data, (item)=>{
1156
- return item.x;
1157
- });
1158
- });
1159
- const xPadding = (lDate.getTime() - sDate.getTime()) * 0.1;
1160
- sDate = new Date(sDate.getTime() - xPadding);
1161
- lDate = new Date(lDate.getTime() + xPadding);
1162
- // Need to draw graph with given small and large date
1163
- // (Which Involves customization of date axis tick values)
1164
- // That may be Either from given graph data or from prop 'tickValues' date values.
1165
- // So, Finding smallest and largest dates
1166
- sDate = (0, _d3array.min)([
1167
- ...tickValues,
1168
- sDate
1169
- ]);
1170
- lDate = (0, _d3array.max)([
1171
- ...tickValues,
1172
- lDate
1173
- ]);
1174
- const rStartValue = margins.left;
1175
- const rEndValue = width - margins.right;
1176
- return isRTL ? {
1177
- dStartValue: lDate,
1178
- dEndValue: sDate,
1179
- rStartValue,
1180
- rEndValue
1181
- } : {
1182
- dStartValue: sDate,
1183
- dEndValue: lDate,
1184
- rStartValue,
1185
- rEndValue
1186
- };
1187
- }
1188
1203
  function domainRangeOfVerticalNumeric(points, margins, containerWidth, isRTL, barWidth) {
1189
1204
  const xMax = (0, _d3array.max)(points, (point)=>point.x);
1190
1205
  const xMin = (0, _d3array.min)(points, (point)=>point.x);
@@ -1202,12 +1217,14 @@ function domainRangeOfVerticalNumeric(points, margins, containerWidth, isRTL, ba
1202
1217
  rEndValue: rMax
1203
1218
  };
1204
1219
  }
1205
- function findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale) {
1220
+ function findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale, scaleType) {
1206
1221
  const values = [];
1207
1222
  points.forEach((point)=>{
1208
1223
  if (!useSecondaryYScale === !point.useSecondaryYScale) {
1209
1224
  point.data.forEach((data)=>{
1210
- values.push(data.y);
1225
+ if (isValidDomainValue(data.y, scaleType)) {
1226
+ values.push(data.y);
1227
+ }
1211
1228
  });
1212
1229
  }
1213
1230
  });
@@ -1585,3 +1602,176 @@ const createMeasurementSpan = (text, className, parentElement)=>{
1585
1602
  measurementSpan.textContent = `${text}`;
1586
1603
  return measurementSpan;
1587
1604
  };
1605
+ function isScatterPolarSeries(points) {
1606
+ return points.some((item)=>{
1607
+ var _item_lineOptions;
1608
+ return typeof ((_item_lineOptions = item.lineOptions) === null || _item_lineOptions === void 0 ? void 0 : _item_lineOptions.mode) === 'string' && item.lineOptions.mode === 'scatterpolar';
1609
+ });
1610
+ }
1611
+ function isTextMode(points) {
1612
+ return points.some((item)=>{
1613
+ var _item_lineOptions;
1614
+ return typeof ((_item_lineOptions = item.lineOptions) === null || _item_lineOptions === void 0 ? void 0 : _item_lineOptions.mode) === 'string' && item.lineOptions.mode === 'text';
1615
+ });
1616
+ }
1617
+ // TODO: Refactor to encapsulate the complete numeric scale creation logic here, including setting domain and range.
1618
+ const createNumericScale = (scaleType)=>{
1619
+ if (scaleType === 'log') {
1620
+ return (0, _d3scale.scaleLog)();
1621
+ } else {
1622
+ return (0, _d3scale.scaleLinear)();
1623
+ }
1624
+ };
1625
+ const getDomainPaddingForMarkers = (minVal, maxVal, scaleType)=>{
1626
+ if (scaleType === 'log') {
1627
+ return {
1628
+ start: minVal * 0.5,
1629
+ end: maxVal
1630
+ };
1631
+ }
1632
+ const defaultPadding = (maxVal - minVal) * 0.1;
1633
+ return {
1634
+ start: defaultPadding,
1635
+ end: defaultPadding
1636
+ };
1637
+ };
1638
+ const isValidDomainValue = (value, scaleType)=>{
1639
+ return typeof value !== 'number' || scaleType !== 'log' || value > 0;
1640
+ };
1641
+ const isPlottable = (x, y)=>{
1642
+ return !(0, _chartutilities.isInvalidValue)(x) && !(0, _chartutilities.isInvalidValue)(y);
1643
+ };
1644
+ const getScatterXDomainExtent = (points, scaleType)=>{
1645
+ const isValidDataPointForScale = (item)=>isValidDomainValue(item.x, scaleType);
1646
+ const xMin = (0, _d3array.min)(points, (point)=>{
1647
+ return (0, _d3array.min)(point.data.filter(isValidDataPointForScale), (item)=>item.x);
1648
+ });
1649
+ const xMax = (0, _d3array.max)(points, (point)=>{
1650
+ return (0, _d3array.max)(point.data.filter(isValidDataPointForScale), (item)=>{
1651
+ return item.x;
1652
+ });
1653
+ });
1654
+ return [
1655
+ xMin,
1656
+ xMax
1657
+ ];
1658
+ };
1659
+ const getRangeForScatterMarkerSize = ({ data, xScale, yScalePrimary, yScaleSecondary, useSecondaryYScale, xScaleType, yScaleType: primaryYScaleType, secondaryYScaleType })=>{
1660
+ // Note: This function is executed after the scale is created, so the actual padding can be
1661
+ // obtained by calculating the difference between the respective minimums or maximums of the
1662
+ // scale domain and the data. However, doing so often causes the marker size to scale up
1663
+ // unnecessarily when the scale uses a wider domain than required (due to the use of D3's nice
1664
+ // function or our own tick value calculations).
1665
+ // A better approach could be to treat the marker size as a fixed pixel value and adjust the
1666
+ // scale domain with sufficient padding to accommodate the maximum marker size—instead of doing
1667
+ // it the other way around (i.e., adjusting the scale domain first with padding and then scaling
1668
+ // the markers to fit inside the plot area).
1669
+ const [xMin, xMax] = getScatterXDomainExtent(data, xScaleType);
1670
+ const xPadding = getDomainPaddingForMarkers(+xMin, +xMax, xScaleType);
1671
+ const scaleXMin = xMin instanceof Date ? new Date(+xMin - xPadding.start) : xMin - xPadding.start;
1672
+ const scaleXMax = xMax instanceof Date ? new Date(+xMax + xPadding.end) : xMax + xPadding.end;
1673
+ const extraXPixels = Math.min(Math.abs(xScale(xMin) - xScale(scaleXMin)), Math.abs(xScale(scaleXMax) - xScale(xMax)));
1674
+ const yScaleType = useSecondaryYScale ? secondaryYScaleType : primaryYScaleType;
1675
+ const { startValue: yMin, endValue: yMax } = findNumericMinMaxOfY(data, undefined, useSecondaryYScale, yScaleType);
1676
+ const yPadding = getDomainPaddingForMarkers(yMin, yMax, yScaleType);
1677
+ const scaleYMin = yMin - yPadding.start;
1678
+ const scaleYMax = yMax + yPadding.end;
1679
+ const yScale = useSecondaryYScale ? yScaleSecondary : yScalePrimary;
1680
+ const extraYPixels = Math.min(Math.abs(yScale(scaleYMin) - yScale(yMin)), Math.abs(yScale(yMax) - yScale(scaleYMax)));
1681
+ return Math.min(extraXPixels, extraYPixels);
1682
+ };
1683
+ const generateLinearTicks = (tick0, tickStep, scaleDomain)=>{
1684
+ const domainMin = (0, _d3array.min)(scaleDomain);
1685
+ const domainMax = (0, _d3array.max)(scaleDomain);
1686
+ const precision = Math.max(calculatePrecision(tick0), calculatePrecision(tickStep));
1687
+ const start = Math.ceil(precisionRound((domainMin - tick0) / tickStep, precision));
1688
+ const end = Math.floor(precisionRound((domainMax - tick0) / tickStep, precision));
1689
+ const ticks = [];
1690
+ for(let i = start; i <= end; i++){
1691
+ ticks.push(precisionRound(tick0 + i * tickStep, precision));
1692
+ }
1693
+ return ticks;
1694
+ };
1695
+ const generateMonthlyTicks = (tick0, tickStepInMonths, scaleDomain, useUTC)=>{
1696
+ const domainMin = +(0, _d3array.min)(scaleDomain);
1697
+ const domainMax = +(0, _d3array.max)(scaleDomain);
1698
+ const getMonth = (d)=>useUTC ? d.getUTCMonth() : d.getMonth();
1699
+ const setMonth = (d, month)=>useUTC ? new Date(d.setUTCMonth(month)) : new Date(d.setMonth(month));
1700
+ // Find the earliest tick <= domainMin
1701
+ let start = 0;
1702
+ for(let firstTick = new Date(+tick0); +firstTick > domainMin;){
1703
+ firstTick = setMonth(firstTick, getMonth(firstTick) - tickStepInMonths);
1704
+ start -= tickStepInMonths;
1705
+ }
1706
+ const baseMonth = getMonth(tick0);
1707
+ const ticks = [];
1708
+ // Generate ticks forward until domainMax
1709
+ for(let i = start;; i += tickStepInMonths){
1710
+ let tickDate = setMonth(new Date(+tick0), baseMonth + i);
1711
+ // Handle month rollover (e.g., Jan 31 + 1 month → Mar 3 instead of Feb)
1712
+ if (getMonth(tickDate) !== ((baseMonth + i) % 12 + 12) % 12) {
1713
+ tickDate = useUTC ? new Date(tickDate.setUTCDate(0)) : new Date(tickDate.setDate(0));
1714
+ }
1715
+ if (+tickDate > domainMax) {
1716
+ break;
1717
+ }
1718
+ if (+tickDate >= domainMin) {
1719
+ ticks.push(tickDate);
1720
+ }
1721
+ }
1722
+ return ticks;
1723
+ };
1724
+ const generateNumericTicks = (scaleType, tickStep, tick0, scaleDomain)=>{
1725
+ const refTick = typeof tick0 === 'number' ? tick0 : 0;
1726
+ if (scaleType === 'log') {
1727
+ if (typeof tickStep === 'number' && tickStep > 0) {
1728
+ return generateLinearTicks(refTick, tickStep, scaleDomain.map((d)=>Math.log10(d))).map((t)=>Math.pow(10, t));
1729
+ }
1730
+ if (typeof tickStep === 'string') {
1731
+ const prefix = tickStep[0];
1732
+ const num = (0, _chartutilities.isNumber)(tickStep.slice(1)) ? Number(tickStep.slice(1)) : 0;
1733
+ if (prefix === 'L' && num > 0) {
1734
+ return generateLinearTicks(refTick, num, scaleDomain);
1735
+ }
1736
+ }
1737
+ return;
1738
+ }
1739
+ if (typeof tickStep === 'number' && tickStep > 0) {
1740
+ return generateLinearTicks(refTick, tickStep, scaleDomain);
1741
+ }
1742
+ };
1743
+ const generateDateTicks = (tickStep, tick0, scaleDomain, useUTC)=>{
1744
+ const refTick = tick0 instanceof Date ? tick0 : new Date(DEFAULT_DATE_STRING);
1745
+ if (typeof tickStep === 'number' && tickStep > 0) {
1746
+ return generateLinearTicks(+refTick, tickStep, scaleDomain.map((d)=>+d)).map((t)=>new Date(t));
1747
+ }
1748
+ if (typeof tickStep === 'string') {
1749
+ const prefix = tickStep[0];
1750
+ const num = (0, _chartutilities.isNumber)(tickStep.slice(1)) ? Number(tickStep.slice(1)) : 0;
1751
+ if (prefix === 'M' && num > 0 && num === Math.round(num)) {
1752
+ return generateMonthlyTicks(refTick, num, scaleDomain, useUTC);
1753
+ }
1754
+ }
1755
+ };
1756
+ function calculatePrecision(value) {
1757
+ /**
1758
+ * Group 1:
1759
+ * [1-9]([0]+$) matches trailing zeros
1760
+ * Group 2:
1761
+ * \.([0-9]*) matches all digits after a decimal point.
1762
+ */ const groups = /[1-9]([0]+$)|\.([0-9]*)/.exec(String(value));
1763
+ if (!groups) {
1764
+ return 0;
1765
+ }
1766
+ if (groups[1]) {
1767
+ return -groups[1].length;
1768
+ }
1769
+ if (groups[2]) {
1770
+ return groups[2].length;
1771
+ }
1772
+ return 0;
1773
+ }
1774
+ function precisionRound(value, precision, base = 10) {
1775
+ const exp = Math.pow(base, precision);
1776
+ return Math.round(value * exp) / exp;
1777
+ }