@fluentui/react-charts 9.3.7 → 9.3.9

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 (259) hide show
  1. package/CHANGELOG.md +60 -2
  2. package/dist/index.d.ts +433 -7
  3. package/lib/PolarChart.js +1 -0
  4. package/lib/PolarChart.js.map +1 -0
  5. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +2 -1
  6. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  7. package/lib/components/AreaChart/AreaChart.js +1 -28
  8. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  9. package/lib/components/AreaChart/useAreaChartStyles.styles.js +1 -2
  10. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  11. package/lib/components/ChartTable/ChartTable.js +27 -8
  12. package/lib/components/ChartTable/ChartTable.js.map +1 -1
  13. package/lib/components/ChartTable/ChartTable.types.js.map +1 -1
  14. package/lib/components/ChartTable/useChartTableStyles.styles.js +24 -3
  15. package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  16. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +14 -2
  17. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  18. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +111 -69
  19. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  20. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  21. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +54 -4
  22. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -1
  23. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +31 -18
  24. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +1 -1
  25. package/lib/components/CommonComponents/CartesianChart.js +81 -44
  26. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  27. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  28. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +5 -5
  29. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  30. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +4 -3
  31. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  32. package/lib/components/DeclarativeChart/DeclarativeChart.js +33 -29
  33. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  34. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +643 -366
  35. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  36. package/lib/components/DonutChart/DonutChart.js +24 -9
  37. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  38. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  39. package/lib/components/DonutChart/useDonutChartStyles.styles.js +25 -5
  40. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  41. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +16 -5
  42. package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
  43. package/lib/components/FunnelChart/FunnelChart.js +33 -8
  44. package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
  45. package/lib/components/FunnelChart/FunnelChart.types.js.map +1 -1
  46. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +26 -4
  47. package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
  48. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +15 -3
  49. package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
  50. package/lib/components/GanttChart/GanttChart.js +1 -1
  51. package/lib/components/GanttChart/GanttChart.js.map +1 -1
  52. package/lib/components/GaugeChart/GaugeChart.js +13 -9
  53. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  54. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  55. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +31 -19
  56. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  57. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +23 -18
  58. package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
  59. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +18 -18
  60. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  61. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +1 -2
  62. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  63. package/lib/components/HeatMapChart/HeatMapChart.js +5 -1
  64. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  65. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +60 -10
  66. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  67. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  68. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +18 -3
  69. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  70. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +13 -2
  71. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  72. package/lib/components/Legends/Legends.js +3 -4
  73. package/lib/components/Legends/Legends.js.map +1 -1
  74. package/lib/components/Legends/OverflowMenu.js +9 -2
  75. package/lib/components/Legends/OverflowMenu.js.map +1 -1
  76. package/lib/components/LineChart/LineChart.js +65 -64
  77. package/lib/components/LineChart/LineChart.js.map +1 -1
  78. package/lib/components/LineChart/useLineChartStyles.styles.js +1 -2
  79. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  80. package/lib/components/PolarChart/PolarChart.js +577 -0
  81. package/lib/components/PolarChart/PolarChart.js.map +1 -0
  82. package/lib/components/PolarChart/PolarChart.types.js +1 -0
  83. package/lib/components/PolarChart/PolarChart.types.js.map +1 -0
  84. package/lib/components/PolarChart/PolarChart.utils.js +174 -0
  85. package/lib/components/PolarChart/PolarChart.utils.js.map +1 -0
  86. package/lib/components/PolarChart/index.js +2 -0
  87. package/lib/components/PolarChart/index.js.map +1 -0
  88. package/lib/components/PolarChart/usePolarChartStyles.styles.js +72 -0
  89. package/lib/components/PolarChart/usePolarChartStyles.styles.js.map +1 -0
  90. package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js +61 -0
  91. package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js.map +1 -0
  92. package/lib/components/SankeyChart/SankeyChart.js +15 -5
  93. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  94. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  95. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +24 -8
  96. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  97. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +15 -5
  98. package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
  99. package/lib/components/ScatterChart/ScatterChart.js +13 -25
  100. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  101. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  102. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +1 -2
  103. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  104. package/lib/components/VerticalBarChart/VerticalBarChart.js +13 -78
  105. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  106. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +1 -2
  107. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  108. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +48 -68
  109. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  110. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +1 -2
  111. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  112. package/lib/index.js +1 -0
  113. package/lib/index.js.map +1 -1
  114. package/lib/types/ChartAnnotation.js.map +1 -1
  115. package/lib/types/DataPoint.js +1 -1
  116. package/lib/types/DataPoint.js.map +1 -1
  117. package/lib/utilities/ChartTitle.js +45 -0
  118. package/lib/utilities/ChartTitle.js.map +1 -0
  119. package/lib/utilities/Common.styles.js +73 -2
  120. package/lib/utilities/Common.styles.js.map +1 -1
  121. package/lib/utilities/Common.styles.raw.js +70 -1
  122. package/lib/utilities/Common.styles.raw.js.map +1 -1
  123. package/lib/utilities/image-export-utils.js +4 -4
  124. package/lib/utilities/image-export-utils.js.map +1 -1
  125. package/lib/utilities/index.js +1 -0
  126. package/lib/utilities/index.js.map +1 -1
  127. package/lib/utilities/utilities.js +219 -77
  128. package/lib/utilities/utilities.js.map +1 -1
  129. package/lib-commonjs/PolarChart.js +6 -0
  130. package/lib-commonjs/PolarChart.js.map +1 -0
  131. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js +2 -1
  132. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  133. package/lib-commonjs/components/AreaChart/AreaChart.js +0 -26
  134. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  135. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +0 -2
  136. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  137. package/lib-commonjs/components/ChartTable/ChartTable.js +27 -8
  138. package/lib-commonjs/components/ChartTable/ChartTable.js.map +1 -1
  139. package/lib-commonjs/components/ChartTable/ChartTable.types.js.map +1 -1
  140. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js +34 -3
  141. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  142. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js +14 -2
  143. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  144. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js +111 -69
  145. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  146. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  147. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +65 -5
  148. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -1
  149. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +31 -18
  150. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +1 -1
  151. package/lib-commonjs/components/CommonComponents/CartesianChart.js +80 -43
  152. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  153. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  154. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +3 -4
  155. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  156. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +3 -2
  157. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  158. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +59 -56
  159. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  160. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +649 -368
  161. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  162. package/lib-commonjs/components/DonutChart/DonutChart.js +22 -7
  163. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  164. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  165. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +31 -4
  166. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  167. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +15 -4
  168. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
  169. package/lib-commonjs/components/FunnelChart/FunnelChart.js +31 -6
  170. package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -1
  171. package/lib-commonjs/components/FunnelChart/FunnelChart.types.js.map +1 -1
  172. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js +36 -4
  173. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
  174. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js +15 -3
  175. package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
  176. package/lib-commonjs/components/GanttChart/GanttChart.js +1 -1
  177. package/lib-commonjs/components/GanttChart/GanttChart.js.map +1 -1
  178. package/lib-commonjs/components/GaugeChart/GaugeChart.js +11 -7
  179. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  180. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  181. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +39 -18
  182. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
  183. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js +23 -18
  184. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
  185. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +16 -16
  186. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  187. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +0 -2
  188. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  189. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +5 -1
  190. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  191. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +59 -9
  192. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  193. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  194. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +26 -3
  195. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  196. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +13 -2
  197. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  198. package/lib-commonjs/components/Legends/Legends.js +3 -4
  199. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  200. package/lib-commonjs/components/Legends/OverflowMenu.js +9 -2
  201. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -1
  202. package/lib-commonjs/components/LineChart/LineChart.js +64 -63
  203. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  204. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +0 -2
  205. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  206. package/lib-commonjs/components/PolarChart/PolarChart.js +587 -0
  207. package/lib-commonjs/components/PolarChart/PolarChart.js.map +1 -0
  208. package/lib-commonjs/components/PolarChart/PolarChart.types.js +6 -0
  209. package/lib-commonjs/components/PolarChart/PolarChart.types.js.map +1 -0
  210. package/lib-commonjs/components/PolarChart/PolarChart.utils.js +204 -0
  211. package/lib-commonjs/components/PolarChart/PolarChart.utils.js.map +1 -0
  212. package/lib-commonjs/components/PolarChart/index.js +7 -0
  213. package/lib-commonjs/components/PolarChart/index.js.map +1 -0
  214. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js +107 -0
  215. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js.map +1 -0
  216. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.raw.js +75 -0
  217. package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.raw.js.map +1 -0
  218. package/lib-commonjs/components/SankeyChart/SankeyChart.js +15 -5
  219. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  220. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  221. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +28 -6
  222. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  223. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +14 -3
  224. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
  225. package/lib-commonjs/components/ScatterChart/ScatterChart.js +12 -24
  226. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  227. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  228. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +0 -2
  229. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  230. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +12 -77
  231. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  232. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +0 -2
  233. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  234. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +47 -67
  235. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  236. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +0 -2
  237. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  238. package/lib-commonjs/index.js +1 -0
  239. package/lib-commonjs/index.js.map +1 -1
  240. package/lib-commonjs/types/ChartAnnotation.js.map +1 -1
  241. package/lib-commonjs/types/DataPoint.js +1 -1
  242. package/lib-commonjs/types/DataPoint.js.map +1 -1
  243. package/lib-commonjs/utilities/ChartTitle.js +53 -0
  244. package/lib-commonjs/utilities/ChartTitle.js.map +1 -0
  245. package/lib-commonjs/utilities/Common.styles.js +69 -1
  246. package/lib-commonjs/utilities/Common.styles.js.map +1 -1
  247. package/lib-commonjs/utilities/Common.styles.raw.js +69 -1
  248. package/lib-commonjs/utilities/Common.styles.raw.js.map +1 -1
  249. package/lib-commonjs/utilities/image-export-utils.js +3 -3
  250. package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
  251. package/lib-commonjs/utilities/index.js +1 -0
  252. package/lib-commonjs/utilities/index.js.map +1 -1
  253. package/lib-commonjs/utilities/utilities.js +235 -78
  254. package/lib-commonjs/utilities/utilities.js.map +1 -1
  255. package/package.json +11 -17
  256. package/lib/components/DeclarativeChart/imageExporter.js +0 -223
  257. package/lib/components/DeclarativeChart/imageExporter.js.map +0 -1
  258. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +0 -233
  259. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +0 -1
@@ -46,7 +46,6 @@ const useStyles = /*#__PURE__*/__styles({
46
46
  B0ocmuz: "f1bnz8pu",
47
47
  qhf8xq: "f1euv43f",
48
48
  fsow6f: "f17mccla",
49
- Bhzewxz: "fr6rvge",
50
49
  De3pzq: "fxugw4r",
51
50
  Beyfa6y: 0,
52
51
  Bbmb7ep: 0,
@@ -72,7 +71,7 @@ const useStyles = /*#__PURE__*/__styles({
72
71
  }, {
73
72
  d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", [".f1bnz8pu{padding:var(--spacingHorizontalS);}", {
74
73
  p: -1
75
- }], ".f1euv43f{position:absolute;}", ".f17mccla{text-align:center;}", ".fr6rvge{top:var(--spacingVerticalNone);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", [".fq9zq91{border-radius:var(--borderRadiusSmall);}", {
74
+ }], ".f1euv43f{position:absolute;}", ".f17mccla{text-align:center;}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", [".fq9zq91{border-radius:var(--borderRadiusSmall);}", {
76
75
  p: -1
77
76
  }], ".f1aehjj5{pointer-events:none;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".fdxigdc{text-anchor:middle;}", ".f1yuyku4{stroke:var(--colorNeutralBackground1);}"],
78
77
  m: [["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.f1yn2ez9{fill:CanvasText;}}", {
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","tokens","HighContrastSelector","getMarkerLabelStyle","getTooltipStyle","linechartClassNames","tooltip","lineBorder","markerLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","qhf8xq","fsow6f","Bhzewxz","De3pzq","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","sj55zd","Bkfmm31","jzqdnp","Bxms50k","ojy3ng","Bj7tp1g","d","p","m","useLineChartStyles","props","baseStyles"],"sources":["useLineChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\nimport { getMarkerLabelStyle, getTooltipStyle } from '../../utilities/index';\n/**\n * @internal\n */ export const linechartClassNames = {\n tooltip: 'fui-line__tooltip',\n lineBorder: 'fui-line_lineBorder',\n markerLabel: 'fui-line__markerLabel',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: ''\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n tooltip: getTooltipStyle(),\n markerLabel: getMarkerLabelStyle(),\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useLineChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(linechartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),\n lineBorder: mergeClasses(linechartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/ ),\n markerLabel: mergeClasses(linechartClassNames.markerLabel, baseStyles.markerLabel /*props.styles?.markerLabel*/ )\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,oBAAoB,QAAQ,uBAAuB;AAC5D,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,uBAAuB;AAC5E;AACA;AACA;AAAI,OAAO,MAAMC,mBAAmB,GAAG;EACnCC,OAAO,EAAE,mBAAmB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,uBAAuB;EACpCC,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE,iBAAiB;EACxBC,KAAK,EAAE,iBAAiB;EACxBC,eAAe,EAAE,2BAA2B;EAC5CC,KAAK,EAAE,iBAAiB;EACxBC,kBAAkB,EAAE,8BAA8B;EAClDC,SAAS,EAAE,qBAAqB;EAChCC,UAAU,EAAE,sBAAsB;EAClCC,oBAAoB,EAAE,gCAAgC;EACtDC,WAAW,EAAE,uBAAuB;EACpCC,YAAY,EAAE,wBAAwB;EACtCC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,EAAE;EACjBC,eAAe,EAAE;AACrB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAG1B,QAAA;EAAAO,OAAA;IAAAoB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAvC,WAAA;IAAAkB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAmB,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAA3C,UAAA;IAAA4C,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;IAAAA,CAAA;EAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,CASrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,kBAAkB,GAAIC,KAAK,IAAG;EAC3C,MAAMC,UAAU,GAAGjC,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHnB,OAAO,EAAEN,YAAY,CAACK,mBAAmB,CAACC,OAAO,EAAEoD,UAAU,CAACpD,OAAO,CAAC,yBAA0B,CAAC;IACjGC,UAAU,EAAEP,YAAY,CAACK,mBAAmB,CAACE,UAAU,EAAEmD,UAAU,CAACnD,UAAU,CAAC,4BAA6B,CAAC;IAC7GC,WAAW,EAAER,YAAY,CAACK,mBAAmB,CAACG,WAAW,EAAEkD,UAAU,CAAClD,WAAW,CAAC,6BAA8B;EACpH,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","tokens","HighContrastSelector","getMarkerLabelStyle","getTooltipStyle","linechartClassNames","tooltip","lineBorder","markerLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","qhf8xq","fsow6f","De3pzq","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","sj55zd","Bkfmm31","jzqdnp","Bxms50k","ojy3ng","Bj7tp1g","d","p","m","useLineChartStyles","props","baseStyles"],"sources":["useLineChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\nimport { getMarkerLabelStyle, getTooltipStyle } from '../../utilities/index';\n/**\n * @internal\n */ export const linechartClassNames = {\n tooltip: 'fui-line__tooltip',\n lineBorder: 'fui-line_lineBorder',\n markerLabel: 'fui-line__markerLabel',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: ''\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n tooltip: getTooltipStyle(),\n markerLabel: getMarkerLabelStyle(),\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useLineChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(linechartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),\n lineBorder: mergeClasses(linechartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/ ),\n markerLabel: mergeClasses(linechartClassNames.markerLabel, baseStyles.markerLabel /*props.styles?.markerLabel*/ )\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,oBAAoB,QAAQ,uBAAuB;AAC5D,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,uBAAuB;AAC5E;AACA;AACA;AAAI,OAAO,MAAMC,mBAAmB,GAAG;EACnCC,OAAO,EAAE,mBAAmB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,uBAAuB;EACpCC,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE,iBAAiB;EACxBC,KAAK,EAAE,iBAAiB;EACxBC,eAAe,EAAE,2BAA2B;EAC5CC,KAAK,EAAE,iBAAiB;EACxBC,kBAAkB,EAAE,8BAA8B;EAClDC,SAAS,EAAE,qBAAqB;EAChCC,UAAU,EAAE,sBAAsB;EAClCC,oBAAoB,EAAE,gCAAgC;EACtDC,WAAW,EAAE,uBAAuB;EACpCC,YAAY,EAAE,wBAAwB;EACtCC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,EAAE;EACjBC,eAAe,EAAE;AACrB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAG1B,QAAA;EAAAO,OAAA;IAAAoB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAtC,WAAA;IAAAkB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAkB,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAA1C,UAAA;IAAA2C,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;IAAAA,CAAA;EAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,CASrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,kBAAkB,GAAIC,KAAK,IAAG;EAC3C,MAAMC,UAAU,GAAGhC,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHnB,OAAO,EAAEN,YAAY,CAACK,mBAAmB,CAACC,OAAO,EAAEmD,UAAU,CAACnD,OAAO,CAAC,yBAA0B,CAAC;IACjGC,UAAU,EAAEP,YAAY,CAACK,mBAAmB,CAACE,UAAU,EAAEkD,UAAU,CAAClD,UAAU,CAAC,4BAA6B,CAAC;IAC7GC,WAAW,EAAER,YAAY,CAACK,mBAAmB,CAACG,WAAW,EAAEiD,UAAU,CAACjD,WAAW,CAAC,6BAA8B;EACpH,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,577 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { usePolarChartStyles } from './usePolarChartStyles.styles';
4
+ import { useImageExport } from '../../utilities/hooks';
5
+ import { pointRadial as d3PointRadial, areaRadial as d3AreaRadial, lineRadial as d3LineRadial, curveLinearClosed as d3CurveLinearClosed } from 'd3-shape';
6
+ import { tokens } from '@fluentui/react-theme';
7
+ import { Legends } from '../Legends/index';
8
+ import { createRadialScale, getContinuousScaleDomain, getScaleType, EPSILON, createAngularScale, formatAngle } from './PolarChart.utils';
9
+ import { ChartPopover } from '../CommonComponents/ChartPopover';
10
+ import { getColorFromToken, getCurveFactory, getNextColor, isPlottable, sortAxisCategories } from '../../utilities/index';
11
+ import { extent as d3Extent } from 'd3-array';
12
+ import { useArrowNavigationGroup } from '@fluentui/react-tabster';
13
+ import { formatToLocaleString } from '@fluentui/chart-utilities';
14
+ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
15
+ const DEFAULT_LEGEND_HEIGHT = 32;
16
+ const LABEL_WIDTH = 36;
17
+ const LABEL_HEIGHT = 16;
18
+ const LABEL_OFFSET = 10;
19
+ const TICK_SIZE = 6;
20
+ const MIN_MARKER_SIZE_PX = 2;
21
+ const MAX_MARKER_SIZE_PX = 16;
22
+ const MIN_MARKER_SIZE_PX_MARKERS_ONLY = 4;
23
+ export const PolarChart = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
24
+ var _props_legendProps, _props_legendProps1, _props_radialAxis, _props_angularAxis, _props_radialAxis1, _props_radialAxis2, _props_radialAxis3, _props_radialAxis4, _props_radialAxis5, _props_radialAxis6, _props_radialAxis7, _props_radialAxis8, _props_radialAxis9, _props_angularAxis1, _props_angularAxis2, _props_angularAxis3, _props_angularAxis4, _props_angularAxis5, _props_angularAxis6, _props_angularAxis7, _props_angularAxis8, _props_angularAxis9, _props_angularAxis10;
25
+ const { chartContainerRef, legendsRef } = useImageExport(props.componentRef, props.hideLegend, false);
26
+ const legendContainerRef = React.useRef(null);
27
+ const { targetDocument } = useFluent();
28
+ const _window = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;
29
+ const [containerWidth, setContainerWidth] = React.useState(200);
30
+ const [containerHeight, setContainerHeight] = React.useState(200);
31
+ const [legendContainerHeight, setLegendContainerHeight] = React.useState(props.hideLegend ? 0 : DEFAULT_LEGEND_HEIGHT);
32
+ const [isPopoverOpen, setPopoverOpen] = React.useState(false);
33
+ const [popoverTarget, setPopoverTarget] = React.useState(null);
34
+ const [popoverXValue, setPopoverXValue] = React.useState('');
35
+ const [popoverLegend, setPopoverLegend] = React.useState('');
36
+ const [popoverColor, setPopoverColor] = React.useState('');
37
+ const [popoverYValue, setPopoverYValue] = React.useState('');
38
+ const [hoveredLegend, setHoveredLegend] = React.useState('');
39
+ const [selectedLegends, setSelectedLegends] = React.useState(((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends) || []);
40
+ const [activePoint, setActivePoint] = React.useState('');
41
+ React.useEffect(()=>{
42
+ if (chartContainerRef.current) {
43
+ const { width, height } = chartContainerRef.current.getBoundingClientRect();
44
+ setContainerWidth(width);
45
+ setContainerHeight(height);
46
+ }
47
+ }, [
48
+ chartContainerRef
49
+ ]);
50
+ React.useEffect(()=>{
51
+ if (props.hideLegend) {
52
+ setLegendContainerHeight(0);
53
+ } else if (legendContainerRef.current) {
54
+ const { height } = legendContainerRef.current.getBoundingClientRect();
55
+ const marginTop = (_window === null || _window === void 0 ? void 0 : _window.getComputedStyle(legendContainerRef.current).marginTop) || '0px';
56
+ setLegendContainerHeight(Math.max(height, DEFAULT_LEGEND_HEIGHT) + parseFloat(marginTop));
57
+ }
58
+ }, [
59
+ props.hideLegend,
60
+ _window
61
+ ]);
62
+ React.useEffect(()=>{
63
+ var _props_legendProps;
64
+ setSelectedLegends(((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.selectedLegends) || []);
65
+ }, [
66
+ (_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.selectedLegends
67
+ ]);
68
+ const margins = React.useMemo(()=>({
69
+ left: LABEL_OFFSET + LABEL_WIDTH,
70
+ right: LABEL_OFFSET + LABEL_WIDTH,
71
+ top: LABEL_OFFSET + LABEL_HEIGHT,
72
+ bottom: LABEL_OFFSET + LABEL_HEIGHT,
73
+ ...props.margins
74
+ }), [
75
+ props.margins
76
+ ]);
77
+ const svgWidth = React.useMemo(()=>props.width || containerWidth, [
78
+ props.width,
79
+ containerWidth
80
+ ]);
81
+ const svgHeight = React.useMemo(()=>(props.height || containerHeight) - legendContainerHeight, [
82
+ props.height,
83
+ containerHeight,
84
+ legendContainerHeight
85
+ ]);
86
+ const outerRadius = React.useMemo(()=>Math.min(svgWidth - (margins.left + margins.right), svgHeight - (margins.top + margins.bottom)) / 2, [
87
+ svgWidth,
88
+ svgHeight,
89
+ margins
90
+ ]);
91
+ const innerRadius = React.useMemo(()=>Math.max(0, Math.min(Math.abs(props.hole || 0), 1)) * outerRadius, [
92
+ props.hole,
93
+ outerRadius
94
+ ]);
95
+ const legendColorMap = React.useRef({});
96
+ const chartData = React.useMemo(()=>{
97
+ legendColorMap.current = {};
98
+ let colorIndex = 0;
99
+ const renderingOrder = [
100
+ 'areapolar',
101
+ 'linepolar',
102
+ 'scatterpolar'
103
+ ];
104
+ return props.data.map((series)=>{
105
+ const seriesColor = series.color ? getColorFromToken(series.color) : getNextColor(colorIndex++, 0);
106
+ if (!(series.legend in legendColorMap.current)) {
107
+ legendColorMap.current[series.legend] = seriesColor;
108
+ }
109
+ return {
110
+ ...series,
111
+ color: seriesColor,
112
+ data: series.data.map((point)=>{
113
+ return {
114
+ ...point,
115
+ color: point.color ? getColorFromToken(point.color) : seriesColor
116
+ };
117
+ })
118
+ };
119
+ }).sort((a, b)=>{
120
+ return renderingOrder.indexOf(a.type) - renderingOrder.indexOf(b.type);
121
+ });
122
+ }, [
123
+ props.data
124
+ ]);
125
+ const mapCategoryToValues = React.useCallback((isAngularAxis)=>{
126
+ const categoryToValues = {};
127
+ chartData.forEach((series)=>{
128
+ series.data.forEach((point)=>{
129
+ const category = isAngularAxis ? point.theta : point.r;
130
+ if (!categoryToValues[category]) {
131
+ categoryToValues[category] = [];
132
+ }
133
+ const value = isAngularAxis ? point.r : point.theta;
134
+ if (typeof value === 'number') {
135
+ categoryToValues[category].push(value);
136
+ }
137
+ });
138
+ });
139
+ return categoryToValues;
140
+ }, [
141
+ chartData
142
+ ]);
143
+ const getOrderedRCategories = React.useCallback(()=>{
144
+ var _props_radialAxis;
145
+ return sortAxisCategories(mapCategoryToValues(), (_props_radialAxis = props.radialAxis) === null || _props_radialAxis === void 0 ? void 0 : _props_radialAxis.categoryOrder);
146
+ }, [
147
+ mapCategoryToValues,
148
+ (_props_radialAxis = props.radialAxis) === null || _props_radialAxis === void 0 ? void 0 : _props_radialAxis.categoryOrder
149
+ ]);
150
+ const getOrderedACategories = React.useCallback(()=>{
151
+ var _props_angularAxis;
152
+ return sortAxisCategories(mapCategoryToValues(true), (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.categoryOrder);
153
+ }, [
154
+ mapCategoryToValues,
155
+ (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.categoryOrder
156
+ ]);
157
+ const rValues = React.useMemo(()=>chartData.flatMap((series)=>series.data.map((point)=>point.r)), [
158
+ chartData
159
+ ]);
160
+ const rScaleType = React.useMemo(()=>{
161
+ var _props_radialAxis;
162
+ return getScaleType(rValues, {
163
+ scaleType: (_props_radialAxis = props.radialAxis) === null || _props_radialAxis === void 0 ? void 0 : _props_radialAxis.scaleType,
164
+ supportsLog: true
165
+ });
166
+ }, [
167
+ rValues,
168
+ (_props_radialAxis1 = props.radialAxis) === null || _props_radialAxis1 === void 0 ? void 0 : _props_radialAxis1.scaleType
169
+ ]);
170
+ const rScaleDomain = React.useMemo(()=>{
171
+ var _props_radialAxis, _props_radialAxis1;
172
+ return rScaleType === 'category' ? getOrderedRCategories() : getContinuousScaleDomain(rScaleType, rValues, {
173
+ rangeStart: (_props_radialAxis = props.radialAxis) === null || _props_radialAxis === void 0 ? void 0 : _props_radialAxis.rangeStart,
174
+ rangeEnd: (_props_radialAxis1 = props.radialAxis) === null || _props_radialAxis1 === void 0 ? void 0 : _props_radialAxis1.rangeEnd
175
+ });
176
+ }, [
177
+ getOrderedRCategories,
178
+ rScaleType,
179
+ rValues,
180
+ (_props_radialAxis2 = props.radialAxis) === null || _props_radialAxis2 === void 0 ? void 0 : _props_radialAxis2.rangeStart,
181
+ (_props_radialAxis3 = props.radialAxis) === null || _props_radialAxis3 === void 0 ? void 0 : _props_radialAxis3.rangeEnd
182
+ ]);
183
+ const { scale: rScale, tickValues: rTickValues, tickLabels: rTickLabels } = React.useMemo(()=>{
184
+ var _props_radialAxis, _props_radialAxis1, _props_radialAxis2, _props_radialAxis3, _props_radialAxis4, _props_radialAxis5;
185
+ return createRadialScale(rScaleType, rScaleDomain, [
186
+ innerRadius,
187
+ outerRadius
188
+ ], {
189
+ useUTC: props.useUTC,
190
+ tickCount: (_props_radialAxis = props.radialAxis) === null || _props_radialAxis === void 0 ? void 0 : _props_radialAxis.tickCount,
191
+ tickValues: (_props_radialAxis1 = props.radialAxis) === null || _props_radialAxis1 === void 0 ? void 0 : _props_radialAxis1.tickValues,
192
+ tickText: (_props_radialAxis2 = props.radialAxis) === null || _props_radialAxis2 === void 0 ? void 0 : _props_radialAxis2.tickText,
193
+ tickFormat: (_props_radialAxis3 = props.radialAxis) === null || _props_radialAxis3 === void 0 ? void 0 : _props_radialAxis3.tickFormat,
194
+ culture: props.culture,
195
+ tickStep: (_props_radialAxis4 = props.radialAxis) === null || _props_radialAxis4 === void 0 ? void 0 : _props_radialAxis4.tickStep,
196
+ tick0: (_props_radialAxis5 = props.radialAxis) === null || _props_radialAxis5 === void 0 ? void 0 : _props_radialAxis5.tick0,
197
+ dateLocalizeOptions: props.dateLocalizeOptions
198
+ });
199
+ }, [
200
+ rScaleType,
201
+ rScaleDomain,
202
+ innerRadius,
203
+ outerRadius,
204
+ props.culture,
205
+ props.dateLocalizeOptions,
206
+ (_props_radialAxis4 = props.radialAxis) === null || _props_radialAxis4 === void 0 ? void 0 : _props_radialAxis4.tick0,
207
+ (_props_radialAxis5 = props.radialAxis) === null || _props_radialAxis5 === void 0 ? void 0 : _props_radialAxis5.tickCount,
208
+ (_props_radialAxis6 = props.radialAxis) === null || _props_radialAxis6 === void 0 ? void 0 : _props_radialAxis6.tickFormat,
209
+ (_props_radialAxis7 = props.radialAxis) === null || _props_radialAxis7 === void 0 ? void 0 : _props_radialAxis7.tickStep,
210
+ (_props_radialAxis8 = props.radialAxis) === null || _props_radialAxis8 === void 0 ? void 0 : _props_radialAxis8.tickText,
211
+ (_props_radialAxis9 = props.radialAxis) === null || _props_radialAxis9 === void 0 ? void 0 : _props_radialAxis9.tickValues,
212
+ props.useUTC
213
+ ]);
214
+ const aValues = React.useMemo(()=>chartData.flatMap((series)=>series.data.map((point)=>point.theta)), [
215
+ chartData
216
+ ]);
217
+ const aScaleType = React.useMemo(()=>{
218
+ var _props_angularAxis;
219
+ return getScaleType(aValues, {
220
+ scaleType: (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.scaleType
221
+ });
222
+ }, [
223
+ aValues,
224
+ (_props_angularAxis1 = props.angularAxis) === null || _props_angularAxis1 === void 0 ? void 0 : _props_angularAxis1.scaleType
225
+ ]);
226
+ const aDomain = React.useMemo(()=>aScaleType === 'category' ? getOrderedACategories() : getContinuousScaleDomain(aScaleType, aValues), [
227
+ getOrderedACategories,
228
+ aScaleType,
229
+ aValues
230
+ ]);
231
+ const { scale: aScale, tickValues: aTickValues, tickLabels: aTickLabels } = React.useMemo(()=>{
232
+ var _props_angularAxis, _props_angularAxis1, _props_angularAxis2, _props_angularAxis3, _props_angularAxis4, _props_angularAxis5, _props_angularAxis6;
233
+ return createAngularScale(aScaleType, aDomain, {
234
+ tickCount: (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.tickCount,
235
+ tickValues: (_props_angularAxis1 = props.angularAxis) === null || _props_angularAxis1 === void 0 ? void 0 : _props_angularAxis1.tickValues,
236
+ tickText: (_props_angularAxis2 = props.angularAxis) === null || _props_angularAxis2 === void 0 ? void 0 : _props_angularAxis2.tickText,
237
+ tickFormat: (_props_angularAxis3 = props.angularAxis) === null || _props_angularAxis3 === void 0 ? void 0 : _props_angularAxis3.tickFormat,
238
+ culture: props.culture,
239
+ tickStep: (_props_angularAxis4 = props.angularAxis) === null || _props_angularAxis4 === void 0 ? void 0 : _props_angularAxis4.tickStep,
240
+ tick0: (_props_angularAxis5 = props.angularAxis) === null || _props_angularAxis5 === void 0 ? void 0 : _props_angularAxis5.tick0,
241
+ direction: props.direction,
242
+ unit: (_props_angularAxis6 = props.angularAxis) === null || _props_angularAxis6 === void 0 ? void 0 : _props_angularAxis6.unit
243
+ });
244
+ }, [
245
+ aScaleType,
246
+ aDomain,
247
+ (_props_angularAxis2 = props.angularAxis) === null || _props_angularAxis2 === void 0 ? void 0 : _props_angularAxis2.tick0,
248
+ (_props_angularAxis3 = props.angularAxis) === null || _props_angularAxis3 === void 0 ? void 0 : _props_angularAxis3.tickCount,
249
+ (_props_angularAxis4 = props.angularAxis) === null || _props_angularAxis4 === void 0 ? void 0 : _props_angularAxis4.tickFormat,
250
+ (_props_angularAxis5 = props.angularAxis) === null || _props_angularAxis5 === void 0 ? void 0 : _props_angularAxis5.tickStep,
251
+ (_props_angularAxis6 = props.angularAxis) === null || _props_angularAxis6 === void 0 ? void 0 : _props_angularAxis6.tickText,
252
+ (_props_angularAxis7 = props.angularAxis) === null || _props_angularAxis7 === void 0 ? void 0 : _props_angularAxis7.tickValues,
253
+ (_props_angularAxis8 = props.angularAxis) === null || _props_angularAxis8 === void 0 ? void 0 : _props_angularAxis8.unit,
254
+ props.culture,
255
+ props.direction
256
+ ]);
257
+ const classes = usePolarChartStyles(props);
258
+ const renderPolarGrid = React.useCallback(()=>{
259
+ const extRTickValues = [];
260
+ const rDomain = rScale.domain();
261
+ if (innerRadius > 0 && rDomain[0] !== rTickValues[0]) {
262
+ extRTickValues.push(rDomain[0]);
263
+ }
264
+ extRTickValues.push(...rTickValues);
265
+ if (rDomain[rDomain.length - 1] !== rTickValues[rTickValues.length - 1]) {
266
+ extRTickValues.push(rDomain[rDomain.length - 1]);
267
+ }
268
+ return /*#__PURE__*/ React.createElement("g", null, /*#__PURE__*/ React.createElement("g", null, extRTickValues.map((r, rIndex)=>{
269
+ const className = rIndex === extRTickValues.length - 1 ? classes.gridLineOuter : classes.gridLineInner;
270
+ if (props.shape === 'polygon') {
271
+ let d = '';
272
+ aTickValues.forEach((a, aIndex)=>{
273
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
274
+ const radialPoint = d3PointRadial(aScale(a), rScale(r));
275
+ d += (aIndex === 0 ? 'M' : 'L') + radialPoint.join(',') + ' ';
276
+ });
277
+ d += 'Z';
278
+ return /*#__PURE__*/ React.createElement("path", {
279
+ key: rIndex,
280
+ d: d,
281
+ className: className
282
+ });
283
+ }
284
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
285
+ return /*#__PURE__*/ React.createElement("circle", {
286
+ key: rIndex,
287
+ cx: 0,
288
+ cy: 0,
289
+ r: rScale(r),
290
+ className: className
291
+ });
292
+ })), /*#__PURE__*/ React.createElement("g", null, aTickValues.map((a, aIndex)=>{
293
+ const radialPoint1 = d3PointRadial(aScale(a), innerRadius);
294
+ const radialPoint2 = d3PointRadial(aScale(a), outerRadius);
295
+ return /*#__PURE__*/ React.createElement("path", {
296
+ key: aIndex,
297
+ d: `M${radialPoint1.join(',')} L${radialPoint2.join(',')}`,
298
+ className: classes.gridLineInner
299
+ });
300
+ })));
301
+ }, [
302
+ innerRadius,
303
+ outerRadius,
304
+ rTickValues,
305
+ aTickValues,
306
+ rScale,
307
+ aScale,
308
+ props.shape,
309
+ classes.gridLineInner,
310
+ classes.gridLineOuter
311
+ ]);
312
+ const renderPolarTicks = React.useCallback(()=>{
313
+ const radialAxisAngle = props.direction === 'clockwise' ? 0 : Math.PI / 2;
314
+ const radialAxisStartPoint = d3PointRadial(radialAxisAngle, innerRadius);
315
+ const radialAxisEndPoint = d3PointRadial(radialAxisAngle, outerRadius);
316
+ // (0, pi]
317
+ const sign = radialAxisAngle > EPSILON && radialAxisAngle - Math.PI < EPSILON ? 1 : -1;
318
+ return /*#__PURE__*/ React.createElement("g", null, /*#__PURE__*/ React.createElement("g", null, /*#__PURE__*/ React.createElement("path", {
319
+ d: `M${radialAxisStartPoint.join(',')} L${radialAxisEndPoint.join(',')}`,
320
+ className: classes.gridLineOuter
321
+ }), rTickValues.map((r, rIndex)=>{
322
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
323
+ const [pointX, pointY] = d3PointRadial(radialAxisAngle, rScale(r));
324
+ return /*#__PURE__*/ React.createElement("g", {
325
+ key: rIndex
326
+ }, /*#__PURE__*/ React.createElement("path", {
327
+ d: `M${pointX},${pointY} L${pointX + TICK_SIZE * Math.cos(radialAxisAngle) * sign},${pointY + TICK_SIZE * Math.sin(radialAxisAngle) * sign}`,
328
+ className: classes.gridLineOuter
329
+ }), /*#__PURE__*/ React.createElement("text", {
330
+ x: pointX + (TICK_SIZE + LABEL_OFFSET) * Math.cos(radialAxisAngle) * sign,
331
+ y: pointY + (TICK_SIZE + LABEL_OFFSET) * Math.sin(radialAxisAngle) * sign,
332
+ textAnchor: // pi/2 or 3pi/2
333
+ Math.abs(radialAxisAngle - Math.PI / 2) < EPSILON || Math.abs(radialAxisAngle - 3 * Math.PI / 2) < EPSILON ? 'middle' : radialAxisAngle > EPSILON && radialAxisAngle - Math.PI / 2 < -EPSILON || radialAxisAngle - Math.PI > EPSILON && radialAxisAngle - 3 * Math.PI / 2 < -EPSILON ? 'start' : 'end',
334
+ dominantBaseline: "middle",
335
+ "aria-hidden": true,
336
+ className: classes.tickLabel
337
+ }, rTickLabels[rIndex]));
338
+ })), /*#__PURE__*/ React.createElement("g", null, aTickValues.map((a, aIndex)=>{
339
+ const angle = aScale(a);
340
+ const [pointX, pointY] = d3PointRadial(angle, outerRadius + LABEL_OFFSET);
341
+ return /*#__PURE__*/ React.createElement("text", {
342
+ key: aIndex,
343
+ x: pointX,
344
+ y: pointY,
345
+ textAnchor: Math.abs(angle) < EPSILON || Math.abs(angle - Math.PI) < EPSILON ? 'middle' : angle > Math.PI ? 'end' : 'start',
346
+ dominantBaseline: "middle",
347
+ "aria-hidden": true,
348
+ className: classes.tickLabel
349
+ }, aTickLabels[aIndex]);
350
+ })));
351
+ }, [
352
+ rTickValues,
353
+ aTickValues,
354
+ rScale,
355
+ aScale,
356
+ outerRadius,
357
+ classes.gridLineOuter,
358
+ classes.tickLabel,
359
+ aTickLabels,
360
+ innerRadius,
361
+ rTickLabels,
362
+ props.direction
363
+ ]);
364
+ const getActiveLegends = React.useCallback(()=>{
365
+ return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [
366
+ hoveredLegend
367
+ ] : [];
368
+ }, [
369
+ selectedLegends,
370
+ hoveredLegend
371
+ ]);
372
+ const legendHighlighted = React.useCallback((legendTitle)=>{
373
+ const activeLegends = getActiveLegends();
374
+ return activeLegends.includes(legendTitle) || activeLegends.length === 0;
375
+ }, [
376
+ getActiveLegends
377
+ ]);
378
+ const renderRadialArea = React.useCallback((series)=>{
379
+ var _series_lineOptions;
380
+ const radialArea = d3AreaRadial().angle((d)=>aScale(d.theta)).innerRadius(innerRadius)// eslint-disable-next-line @typescript-eslint/no-explicit-any
381
+ .outerRadius((d)=>rScale(d.r)).curve(getCurveFactory((_series_lineOptions = series.lineOptions) === null || _series_lineOptions === void 0 ? void 0 : _series_lineOptions.curve, d3CurveLinearClosed))// eslint-disable-next-line @typescript-eslint/no-explicit-any
382
+ .defined((d)=>isPlottable(aScale(d.theta), rScale(d.r)));
383
+ const shouldHighlight = legendHighlighted(series.legend);
384
+ return /*#__PURE__*/ React.createElement("path", {
385
+ d: radialArea(series.data),
386
+ fill: series.color,
387
+ fillOpacity: shouldHighlight ? 0.7 : 0.1,
388
+ pointerEvents: "none"
389
+ });
390
+ }, [
391
+ innerRadius,
392
+ rScale,
393
+ aScale,
394
+ legendHighlighted
395
+ ]);
396
+ const renderRadialLine = React.useCallback((series)=>{
397
+ var _series_lineOptions, _series_lineOptions1, _series_lineOptions2, _series_lineOptions3, _series_lineOptions4;
398
+ const radialLine = d3LineRadial().angle((d)=>aScale(d.theta))// eslint-disable-next-line @typescript-eslint/no-explicit-any
399
+ .radius((d)=>rScale(d.r)).curve(getCurveFactory((_series_lineOptions = series.lineOptions) === null || _series_lineOptions === void 0 ? void 0 : _series_lineOptions.curve))// eslint-disable-next-line @typescript-eslint/no-explicit-any
400
+ .defined((d)=>isPlottable(aScale(d.theta), rScale(d.r)));
401
+ var _series_lineOptions_strokeWidth;
402
+ return /*#__PURE__*/ React.createElement("path", {
403
+ d: radialLine(series.data),
404
+ fill: "none",
405
+ stroke: series.color,
406
+ strokeOpacity: legendHighlighted(series.legend) ? 1 : 0.1,
407
+ strokeWidth: (_series_lineOptions_strokeWidth = (_series_lineOptions1 = series.lineOptions) === null || _series_lineOptions1 === void 0 ? void 0 : _series_lineOptions1.strokeWidth) !== null && _series_lineOptions_strokeWidth !== void 0 ? _series_lineOptions_strokeWidth : 3,
408
+ strokeDasharray: (_series_lineOptions2 = series.lineOptions) === null || _series_lineOptions2 === void 0 ? void 0 : _series_lineOptions2.strokeDasharray,
409
+ strokeDashoffset: (_series_lineOptions3 = series.lineOptions) === null || _series_lineOptions3 === void 0 ? void 0 : _series_lineOptions3.strokeDashoffset,
410
+ strokeLinecap: (_series_lineOptions4 = series.lineOptions) === null || _series_lineOptions4 === void 0 ? void 0 : _series_lineOptions4.strokeLinecap,
411
+ pointerEvents: "none"
412
+ });
413
+ }, [
414
+ rScale,
415
+ aScale,
416
+ legendHighlighted
417
+ ]);
418
+ const [minMarkerSize, maxMarkerSize] = React.useMemo(()=>d3Extent(chartData.flatMap((series)=>series.data.map((point)=>point.markerSize))), [
419
+ chartData
420
+ ]);
421
+ const showPopover = React.useCallback((event, point, pointId, legend)=>{
422
+ var _props_angularAxis;
423
+ setPopoverTarget(event.currentTarget);
424
+ setPopoverOpen(legendHighlighted(legend));
425
+ var _point_angularAxisCalloutData;
426
+ setPopoverXValue((_point_angularAxisCalloutData = point.angularAxisCalloutData) !== null && _point_angularAxisCalloutData !== void 0 ? _point_angularAxisCalloutData : formatAngle(point.theta, (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.unit));
427
+ setPopoverLegend(legend);
428
+ setPopoverColor(point.color);
429
+ var _point_radialAxisCalloutData;
430
+ setPopoverYValue((_point_radialAxisCalloutData = point.radialAxisCalloutData) !== null && _point_radialAxisCalloutData !== void 0 ? _point_radialAxisCalloutData : formatToLocaleString(point.r, props.culture, props.useUTC));
431
+ setActivePoint(pointId);
432
+ }, [
433
+ legendHighlighted,
434
+ (_props_angularAxis9 = props.angularAxis) === null || _props_angularAxis9 === void 0 ? void 0 : _props_angularAxis9.unit,
435
+ props.culture,
436
+ props.useUTC
437
+ ]);
438
+ const hidePopover = React.useCallback(()=>{
439
+ setPopoverOpen(false);
440
+ setActivePoint('');
441
+ }, []);
442
+ const markersOnlyMode = React.useMemo(()=>chartData.filter((s)=>s.type === 'areapolar' || s.type === 'linepolar').length === 0, [
443
+ chartData
444
+ ]);
445
+ const renderRadialPoints = React.useCallback((series, seriesIndex)=>{
446
+ const shouldHighlight = legendHighlighted(series.legend);
447
+ return /*#__PURE__*/ React.createElement("g", null, series.data.map((point, pointIndex)=>{
448
+ var _props_angularAxis, _point_callOutAccessibilityData;
449
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
450
+ if (!isPlottable(aScale(point.theta), rScale(point.r))) {
451
+ return null;
452
+ }
453
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
454
+ const [x, y] = d3PointRadial(aScale(point.theta), rScale(point.r));
455
+ const id = `${seriesIndex}-${pointIndex}`;
456
+ const isActive = activePoint === id;
457
+ const minPx = markersOnlyMode ? MIN_MARKER_SIZE_PX_MARKERS_ONLY : MIN_MARKER_SIZE_PX;
458
+ let radius = minPx;
459
+ if (typeof point.markerSize !== 'undefined' && minMarkerSize !== maxMarkerSize) {
460
+ radius = minPx + (point.markerSize - minMarkerSize) / (maxMarkerSize - minMarkerSize) * (MAX_MARKER_SIZE_PX - minPx);
461
+ }
462
+ const xValue = point.radialAxisCalloutData || formatToLocaleString(point.r, props.culture, props.useUTC);
463
+ const legend = series.legend;
464
+ const yValue = point.angularAxisCalloutData || formatAngle(point.theta, (_props_angularAxis = props.angularAxis) === null || _props_angularAxis === void 0 ? void 0 : _props_angularAxis.unit);
465
+ const ariaLabel = ((_point_callOutAccessibilityData = point.callOutAccessibilityData) === null || _point_callOutAccessibilityData === void 0 ? void 0 : _point_callOutAccessibilityData.ariaLabel) || `${xValue}. ${legend}, ${yValue}.`;
466
+ return /*#__PURE__*/ React.createElement("circle", {
467
+ key: pointIndex,
468
+ cx: x,
469
+ cy: y,
470
+ r: radius,
471
+ fill: isActive ? tokens.colorNeutralBackground1 : point.color,
472
+ stroke: isActive ? point.color : 'none',
473
+ strokeWidth: isActive ? 2 : 0,
474
+ opacity: shouldHighlight ? 1 : 0.1,
475
+ tabIndex: shouldHighlight ? 0 : -1,
476
+ onMouseOver: (e)=>showPopover(e, point, id, series.legend),
477
+ onFocus: (e)=>showPopover(e, point, id, series.legend),
478
+ role: "img",
479
+ "aria-label": ariaLabel
480
+ });
481
+ }));
482
+ }, [
483
+ legendHighlighted,
484
+ rScale,
485
+ aScale,
486
+ activePoint,
487
+ showPopover,
488
+ minMarkerSize,
489
+ maxMarkerSize,
490
+ markersOnlyMode,
491
+ (_props_angularAxis10 = props.angularAxis) === null || _props_angularAxis10 === void 0 ? void 0 : _props_angularAxis10.unit,
492
+ props.culture,
493
+ props.useUTC
494
+ ]);
495
+ const onLegendSelectionChange = React.useCallback((_selectedLegends, event, currentLegend)=>{
496
+ var _props_legendProps, _props_legendProps1;
497
+ if ((_props_legendProps = props.legendProps) === null || _props_legendProps === void 0 ? void 0 : _props_legendProps.canSelectMultipleLegends) {
498
+ setSelectedLegends(_selectedLegends);
499
+ } else {
500
+ setSelectedLegends(_selectedLegends.slice(-1));
501
+ }
502
+ if ((_props_legendProps1 = props.legendProps) === null || _props_legendProps1 === void 0 ? void 0 : _props_legendProps1.onChange) {
503
+ props.legendProps.onChange(_selectedLegends, event, currentLegend);
504
+ }
505
+ }, [
506
+ props.legendProps
507
+ ]);
508
+ const renderLegends = React.useCallback(()=>{
509
+ if (props.hideLegend) {
510
+ return null;
511
+ }
512
+ const legends = Object.keys(legendColorMap.current).map((legendTitle)=>{
513
+ return {
514
+ title: legendTitle,
515
+ color: legendColorMap.current[legendTitle],
516
+ hoverAction: ()=>{
517
+ setHoveredLegend(legendTitle);
518
+ },
519
+ onMouseOutAction: ()=>{
520
+ setHoveredLegend('');
521
+ }
522
+ };
523
+ });
524
+ return /*#__PURE__*/ React.createElement("div", {
525
+ ref: legendContainerRef,
526
+ className: classes.legendContainer
527
+ }, /*#__PURE__*/ React.createElement(Legends, {
528
+ legends: legends,
529
+ centerLegends: true,
530
+ onChange: onLegendSelectionChange,
531
+ legendRef: legendsRef,
532
+ ...props.legendProps
533
+ }));
534
+ }, [
535
+ props.hideLegend,
536
+ props.legendProps,
537
+ legendsRef,
538
+ onLegendSelectionChange,
539
+ classes.legendContainer
540
+ ]);
541
+ const focusAttributes = useArrowNavigationGroup({
542
+ axis: 'horizontal'
543
+ });
544
+ return /*#__PURE__*/ React.createElement("div", {
545
+ className: classes.root,
546
+ ref: chartContainerRef,
547
+ onMouseLeave: hidePopover,
548
+ onBlur: hidePopover
549
+ }, /*#__PURE__*/ React.createElement("div", {
550
+ className: classes.chartWrapper,
551
+ ...focusAttributes
552
+ }, /*#__PURE__*/ React.createElement("svg", {
553
+ className: classes.chart,
554
+ width: svgWidth,
555
+ height: svgHeight,
556
+ role: "region",
557
+ "aria-label": (props.chartTitle ? `${props.chartTitle}. ` : '') + `Polar chart with ${chartData.length} data series.`
558
+ }, /*#__PURE__*/ React.createElement("g", {
559
+ transform: `translate(${svgWidth / 2}, ${svgHeight / 2})`
560
+ }, renderPolarGrid(), /*#__PURE__*/ React.createElement("g", null, chartData.map((series, seriesIndex)=>{
561
+ return /*#__PURE__*/ React.createElement("g", {
562
+ key: seriesIndex,
563
+ role: "region",
564
+ "aria-label": `${series.legend}, series ${seriesIndex + 1} of ${chartData.length} with ${series.data.length} data points.`
565
+ }, series.type === 'areapolar' && renderRadialArea(series), (series.type === 'areapolar' || series.type === 'linepolar') && renderRadialLine(series), renderRadialPoints(series, seriesIndex));
566
+ })), renderPolarTicks()))), renderLegends(), !props.hideTooltip && /*#__PURE__*/ React.createElement(ChartPopover, {
567
+ isPopoverOpen: isPopoverOpen,
568
+ positioning: {
569
+ target: popoverTarget
570
+ },
571
+ XValue: popoverXValue,
572
+ legend: popoverLegend,
573
+ color: popoverColor,
574
+ YValue: popoverYValue
575
+ }));
576
+ });
577
+ PolarChart.displayName = 'PolarChart';