@fluentui/react-charting 5.25.4 → 5.25.6

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 (379) hide show
  1. package/CHANGELOG.json +107 -1
  2. package/CHANGELOG.md +30 -2
  3. package/bundle-size/PolarChart.fixture.js +7 -0
  4. package/dist/react-charting.d.ts +424 -1
  5. package/dist/react-charting.js +1 -1
  6. package/dist/react-charting.min.js +1 -1
  7. package/etc/react-charting.api.md +93 -1
  8. package/lib/PolarChart.d.ts +1 -0
  9. package/lib/PolarChart.js +2 -0
  10. package/lib/PolarChart.js.map +1 -0
  11. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +1 -1
  12. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  13. package/lib/components/AreaChart/AreaChart.base.d.ts +0 -1
  14. package/lib/components/AreaChart/AreaChart.base.js +2 -31
  15. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  16. package/lib/components/ChartTable/ChartTable.base.js +12 -4
  17. package/lib/components/ChartTable/ChartTable.base.js.map +1 -1
  18. package/lib/components/ChartTable/ChartTable.styles.js +3 -0
  19. package/lib/components/ChartTable/ChartTable.styles.js.map +1 -1
  20. package/lib/components/ChartTable/ChartTable.types.d.ts +11 -0
  21. package/lib/components/ChartTable/ChartTable.types.js.map +1 -1
  22. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +11 -6
  23. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  24. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.d.ts +1 -0
  25. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js +17 -1
  26. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js.map +1 -1
  27. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.d.ts +5 -0
  28. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  29. package/lib/components/CommonComponents/CartesianChart.base.d.ts +1 -1
  30. package/lib/components/CommonComponents/CartesianChart.base.js +82 -42
  31. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  32. package/lib/components/CommonComponents/CartesianChart.styles.js +31 -27
  33. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  34. package/lib/components/CommonComponents/CartesianChart.types.d.ts +20 -1
  35. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  36. package/lib/components/DeclarativeChart/DeclarativeChart.js +24 -28
  37. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  38. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +3 -1
  39. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +390 -267
  40. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  41. package/lib/components/DonutChart/DonutChart.base.d.ts +1 -0
  42. package/lib/components/DonutChart/DonutChart.base.js +16 -4
  43. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  44. package/lib/components/DonutChart/DonutChart.styles.js +3 -1
  45. package/lib/components/DonutChart/DonutChart.styles.js.map +1 -1
  46. package/lib/components/DonutChart/DonutChart.types.d.ts +13 -0
  47. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  48. package/lib/components/DonutChart/Pie/Pie.js +4 -2
  49. package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
  50. package/lib/components/FunnelChart/FunnelChart.base.js +14 -8
  51. package/lib/components/FunnelChart/FunnelChart.base.js.map +1 -1
  52. package/lib/components/FunnelChart/FunnelChart.styles.js +3 -0
  53. package/lib/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  54. package/lib/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  55. package/lib/components/FunnelChart/FunnelChart.types.js.map +1 -1
  56. package/lib/components/GaugeChart/GaugeChart.base.js +2 -2
  57. package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
  58. package/lib/components/GaugeChart/GaugeChart.styles.js +16 -22
  59. package/lib/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  60. package/lib/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  61. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  62. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  63. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +6 -18
  64. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  65. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +2 -0
  66. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +55 -5
  67. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  68. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +12 -1
  69. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  70. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +9 -0
  71. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  72. package/lib/components/LineChart/LineChart.base.d.ts +0 -1
  73. package/lib/components/LineChart/LineChart.base.js +2 -26
  74. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  75. package/lib/components/PolarChart/PolarChart.base.d.ts +3 -0
  76. package/lib/components/PolarChart/PolarChart.base.js +426 -0
  77. package/lib/components/PolarChart/PolarChart.base.js.map +1 -0
  78. package/lib/components/PolarChart/PolarChart.d.ts +7 -0
  79. package/lib/components/PolarChart/PolarChart.js +9 -0
  80. package/lib/components/PolarChart/PolarChart.js.map +1 -0
  81. package/lib/components/PolarChart/PolarChart.styles.d.ts +2 -0
  82. package/lib/components/PolarChart/PolarChart.styles.js +39 -0
  83. package/lib/components/PolarChart/PolarChart.styles.js.map +1 -0
  84. package/lib/components/PolarChart/PolarChart.types.d.ts +185 -0
  85. package/lib/components/PolarChart/PolarChart.types.js +2 -0
  86. package/lib/components/PolarChart/PolarChart.types.js.map +1 -0
  87. package/lib/components/PolarChart/PolarChart.utils.d.ts +43 -0
  88. package/lib/components/PolarChart/PolarChart.utils.js +180 -0
  89. package/lib/components/PolarChart/PolarChart.utils.js.map +1 -0
  90. package/lib/components/PolarChart/index.d.ts +2 -0
  91. package/lib/components/PolarChart/index.js +3 -0
  92. package/lib/components/PolarChart/index.js.map +1 -0
  93. package/lib/components/SankeyChart/SankeyChart.base.js +10 -3
  94. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  95. package/lib/components/SankeyChart/SankeyChart.styles.js +3 -0
  96. package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  97. package/lib/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  98. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  99. package/lib/components/ScatterChart/ScatterChart.base.js +14 -32
  100. package/lib/components/ScatterChart/ScatterChart.base.js.map +1 -1
  101. package/lib/components/ScatterChart/ScatterChart.types.d.ts +4 -0
  102. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  103. package/lib/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  104. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +12 -80
  105. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  106. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  107. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +19 -31
  108. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  109. package/lib/index.d.ts +2 -0
  110. package/lib/index.js +1 -0
  111. package/lib/index.js.map +1 -1
  112. package/lib/types/IDataPoint.d.ts +107 -0
  113. package/lib/types/IDataPoint.js.map +1 -1
  114. package/lib/utilities/ChartTitle.d.ts +55 -0
  115. package/lib/utilities/ChartTitle.js +45 -0
  116. package/lib/utilities/ChartTitle.js.map +1 -0
  117. package/lib/utilities/Common.styles.d.ts +51 -0
  118. package/lib/utilities/Common.styles.js +70 -1
  119. package/lib/utilities/Common.styles.js.map +1 -1
  120. package/lib/utilities/image-export-utils.js +4 -4
  121. package/lib/utilities/image-export-utils.js.map +1 -1
  122. package/lib/utilities/index.d.ts +1 -0
  123. package/lib/utilities/index.js +1 -0
  124. package/lib/utilities/index.js.map +1 -1
  125. package/lib/utilities/utilities.d.ts +32 -8
  126. package/lib/utilities/utilities.js +232 -111
  127. package/lib/utilities/utilities.js.map +1 -1
  128. package/lib-amd/PolarChart.d.ts +1 -0
  129. package/lib-amd/PolarChart.js +6 -0
  130. package/lib-amd/PolarChart.js.map +1 -0
  131. package/lib-amd/components/AnnotationOnlyChart/AnnotationOnlyChart.js +1 -1
  132. package/lib-amd/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  133. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +0 -1
  134. package/lib-amd/components/AreaChart/AreaChart.base.js +1 -29
  135. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  136. package/lib-amd/components/ChartTable/ChartTable.base.js +12 -5
  137. package/lib-amd/components/ChartTable/ChartTable.base.js.map +1 -1
  138. package/lib-amd/components/ChartTable/ChartTable.styles.js +3 -1
  139. package/lib-amd/components/ChartTable/ChartTable.styles.js.map +1 -1
  140. package/lib-amd/components/ChartTable/ChartTable.types.d.ts +11 -0
  141. package/lib-amd/components/ChartTable/ChartTable.types.js.map +1 -1
  142. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.js +11 -6
  143. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  144. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.d.ts +1 -0
  145. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js +17 -1
  146. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js.map +1 -1
  147. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.types.d.ts +5 -0
  148. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  149. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +1 -1
  150. package/lib-amd/components/CommonComponents/CartesianChart.base.js +81 -41
  151. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  152. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +30 -26
  153. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  154. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +20 -1
  155. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  156. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +22 -28
  157. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  158. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +3 -1
  159. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +392 -269
  160. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  161. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +1 -0
  162. package/lib-amd/components/DonutChart/DonutChart.base.js +15 -3
  163. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
  164. package/lib-amd/components/DonutChart/DonutChart.styles.js +2 -0
  165. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -1
  166. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +13 -0
  167. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -1
  168. package/lib-amd/components/DonutChart/Pie/Pie.js +4 -2
  169. package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -1
  170. package/lib-amd/components/FunnelChart/FunnelChart.base.js +14 -9
  171. package/lib-amd/components/FunnelChart/FunnelChart.base.js.map +1 -1
  172. package/lib-amd/components/FunnelChart/FunnelChart.styles.js +3 -1
  173. package/lib-amd/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  174. package/lib-amd/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  175. package/lib-amd/components/FunnelChart/FunnelChart.types.js.map +1 -1
  176. package/lib-amd/components/GaugeChart/GaugeChart.base.js +1 -1
  177. package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -1
  178. package/lib-amd/components/GaugeChart/GaugeChart.styles.js +16 -23
  179. package/lib-amd/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  180. package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  181. package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -1
  182. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  183. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +4 -16
  184. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  185. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +2 -0
  186. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +54 -4
  187. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  188. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +12 -2
  189. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  190. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +9 -0
  191. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  192. package/lib-amd/components/LineChart/LineChart.base.d.ts +0 -1
  193. package/lib-amd/components/LineChart/LineChart.base.js +1 -25
  194. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
  195. package/lib-amd/components/PolarChart/PolarChart.base.d.ts +3 -0
  196. package/lib-amd/components/PolarChart/PolarChart.base.js +421 -0
  197. package/lib-amd/components/PolarChart/PolarChart.base.js.map +1 -0
  198. package/lib-amd/components/PolarChart/PolarChart.d.ts +7 -0
  199. package/lib-amd/components/PolarChart/PolarChart.js +11 -0
  200. package/lib-amd/components/PolarChart/PolarChart.js.map +1 -0
  201. package/lib-amd/components/PolarChart/PolarChart.styles.d.ts +2 -0
  202. package/lib-amd/components/PolarChart/PolarChart.styles.js +43 -0
  203. package/lib-amd/components/PolarChart/PolarChart.styles.js.map +1 -0
  204. package/lib-amd/components/PolarChart/PolarChart.types.d.ts +185 -0
  205. package/lib-amd/components/PolarChart/PolarChart.types.js +5 -0
  206. package/lib-amd/components/PolarChart/PolarChart.types.js.map +1 -0
  207. package/lib-amd/components/PolarChart/PolarChart.utils.d.ts +43 -0
  208. package/lib-amd/components/PolarChart/PolarChart.utils.js +183 -0
  209. package/lib-amd/components/PolarChart/PolarChart.utils.js.map +1 -0
  210. package/lib-amd/components/PolarChart/index.d.ts +2 -0
  211. package/lib-amd/components/PolarChart/index.js +7 -0
  212. package/lib-amd/components/PolarChart/index.js.map +1 -0
  213. package/lib-amd/components/SankeyChart/SankeyChart.base.js +10 -4
  214. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -1
  215. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +3 -1
  216. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  217. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  218. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -1
  219. package/lib-amd/components/ScatterChart/ScatterChart.base.js +13 -31
  220. package/lib-amd/components/ScatterChart/ScatterChart.base.js.map +1 -1
  221. package/lib-amd/components/ScatterChart/ScatterChart.types.d.ts +4 -0
  222. package/lib-amd/components/ScatterChart/ScatterChart.types.js.map +1 -1
  223. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  224. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +12 -79
  225. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  226. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  227. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +19 -30
  228. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  229. package/lib-amd/index.d.ts +2 -0
  230. package/lib-amd/index.js +3 -2
  231. package/lib-amd/index.js.map +1 -1
  232. package/lib-amd/types/IDataPoint.d.ts +107 -0
  233. package/lib-amd/types/IDataPoint.js.map +1 -1
  234. package/lib-amd/utilities/ChartTitle.d.ts +55 -0
  235. package/lib-amd/utilities/ChartTitle.js +46 -0
  236. package/lib-amd/utilities/ChartTitle.js.map +1 -0
  237. package/lib-amd/utilities/Common.styles.d.ts +51 -0
  238. package/lib-amd/utilities/Common.styles.js +74 -2
  239. package/lib-amd/utilities/Common.styles.js.map +1 -1
  240. package/lib-amd/utilities/image-export-utils.js +3 -3
  241. package/lib-amd/utilities/image-export-utils.js.map +1 -1
  242. package/lib-amd/utilities/index.d.ts +1 -0
  243. package/lib-amd/utilities/index.js +2 -1
  244. package/lib-amd/utilities/index.js.map +1 -1
  245. package/lib-amd/utilities/utilities.d.ts +32 -8
  246. package/lib-amd/utilities/utilities.js +239 -114
  247. package/lib-amd/utilities/utilities.js.map +1 -1
  248. package/lib-commonjs/PolarChart.d.ts +1 -0
  249. package/lib-commonjs/PolarChart.js +5 -0
  250. package/lib-commonjs/PolarChart.js.map +1 -0
  251. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js +1 -1
  252. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  253. package/lib-commonjs/components/AreaChart/AreaChart.base.d.ts +0 -1
  254. package/lib-commonjs/components/AreaChart/AreaChart.base.js +0 -29
  255. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  256. package/lib-commonjs/components/ChartTable/ChartTable.base.js +12 -4
  257. package/lib-commonjs/components/ChartTable/ChartTable.base.js.map +1 -1
  258. package/lib-commonjs/components/ChartTable/ChartTable.styles.js +3 -0
  259. package/lib-commonjs/components/ChartTable/ChartTable.styles.js.map +1 -1
  260. package/lib-commonjs/components/ChartTable/ChartTable.types.d.ts +11 -0
  261. package/lib-commonjs/components/ChartTable/ChartTable.types.js.map +1 -1
  262. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js +11 -6
  263. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  264. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.d.ts +1 -0
  265. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js +17 -1
  266. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js.map +1 -1
  267. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.d.ts +5 -0
  268. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  269. package/lib-commonjs/components/CommonComponents/CartesianChart.base.d.ts +1 -1
  270. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +81 -41
  271. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  272. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +30 -26
  273. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  274. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +20 -1
  275. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  276. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +23 -27
  277. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  278. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +3 -1
  279. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +392 -269
  280. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  281. package/lib-commonjs/components/DonutChart/DonutChart.base.d.ts +1 -0
  282. package/lib-commonjs/components/DonutChart/DonutChart.base.js +15 -3
  283. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  284. package/lib-commonjs/components/DonutChart/DonutChart.styles.js +2 -0
  285. package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
  286. package/lib-commonjs/components/DonutChart/DonutChart.types.d.ts +13 -0
  287. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  288. package/lib-commonjs/components/DonutChart/Pie/Pie.js +4 -2
  289. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
  290. package/lib-commonjs/components/FunnelChart/FunnelChart.base.js +14 -8
  291. package/lib-commonjs/components/FunnelChart/FunnelChart.base.js.map +1 -1
  292. package/lib-commonjs/components/FunnelChart/FunnelChart.styles.js +3 -0
  293. package/lib-commonjs/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  294. package/lib-commonjs/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  295. package/lib-commonjs/components/FunnelChart/FunnelChart.types.js.map +1 -1
  296. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js +1 -1
  297. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
  298. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js +16 -22
  299. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  300. package/lib-commonjs/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  301. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  302. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  303. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +4 -16
  304. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  305. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +2 -0
  306. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +54 -4
  307. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  308. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +12 -1
  309. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
  310. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +9 -0
  311. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  312. package/lib-commonjs/components/LineChart/LineChart.base.d.ts +0 -1
  313. package/lib-commonjs/components/LineChart/LineChart.base.js +1 -25
  314. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  315. package/lib-commonjs/components/PolarChart/PolarChart.base.d.ts +3 -0
  316. package/lib-commonjs/components/PolarChart/PolarChart.base.js +429 -0
  317. package/lib-commonjs/components/PolarChart/PolarChart.base.js.map +1 -0
  318. package/lib-commonjs/components/PolarChart/PolarChart.d.ts +7 -0
  319. package/lib-commonjs/components/PolarChart/PolarChart.js +12 -0
  320. package/lib-commonjs/components/PolarChart/PolarChart.js.map +1 -0
  321. package/lib-commonjs/components/PolarChart/PolarChart.styles.d.ts +2 -0
  322. package/lib-commonjs/components/PolarChart/PolarChart.styles.js +43 -0
  323. package/lib-commonjs/components/PolarChart/PolarChart.styles.js.map +1 -0
  324. package/lib-commonjs/components/PolarChart/PolarChart.types.d.ts +185 -0
  325. package/lib-commonjs/components/PolarChart/PolarChart.types.js +3 -0
  326. package/lib-commonjs/components/PolarChart/PolarChart.types.js.map +1 -0
  327. package/lib-commonjs/components/PolarChart/PolarChart.utils.d.ts +43 -0
  328. package/lib-commonjs/components/PolarChart/PolarChart.utils.js +188 -0
  329. package/lib-commonjs/components/PolarChart/PolarChart.utils.js.map +1 -0
  330. package/lib-commonjs/components/PolarChart/index.d.ts +2 -0
  331. package/lib-commonjs/components/PolarChart/index.js +6 -0
  332. package/lib-commonjs/components/PolarChart/index.js.map +1 -0
  333. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js +10 -3
  334. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  335. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js +3 -0
  336. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  337. package/lib-commonjs/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  338. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  339. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js +13 -31
  340. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js.map +1 -1
  341. package/lib-commonjs/components/ScatterChart/ScatterChart.types.d.ts +4 -0
  342. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  343. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  344. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +11 -79
  345. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  346. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  347. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +18 -30
  348. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  349. package/lib-commonjs/index.d.ts +2 -0
  350. package/lib-commonjs/index.js +3 -1
  351. package/lib-commonjs/index.js.map +1 -1
  352. package/lib-commonjs/types/IDataPoint.d.ts +107 -0
  353. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  354. package/lib-commonjs/utilities/ChartTitle.d.ts +55 -0
  355. package/lib-commonjs/utilities/ChartTitle.js +49 -0
  356. package/lib-commonjs/utilities/ChartTitle.js.map +1 -0
  357. package/lib-commonjs/utilities/Common.styles.d.ts +51 -0
  358. package/lib-commonjs/utilities/Common.styles.js +74 -2
  359. package/lib-commonjs/utilities/Common.styles.js.map +1 -1
  360. package/lib-commonjs/utilities/image-export-utils.js +3 -3
  361. package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
  362. package/lib-commonjs/utilities/index.d.ts +1 -0
  363. package/lib-commonjs/utilities/index.js +1 -0
  364. package/lib-commonjs/utilities/index.js.map +1 -1
  365. package/lib-commonjs/utilities/utilities.d.ts +32 -8
  366. package/lib-commonjs/utilities/utilities.js +239 -114
  367. package/lib-commonjs/utilities/utilities.js.map +1 -1
  368. package/package.json +4 -12
  369. package/project.json +0 -1
  370. package/src/components/ChartTable/ChartTable.types.ts +13 -0
  371. package/src/components/CommonComponents/Annotations/ChartAnnotationLayer.types.ts +5 -0
  372. package/src/components/CommonComponents/CartesianChart.types.ts +22 -1
  373. package/src/components/DonutChart/DonutChart.types.ts +16 -0
  374. package/src/components/FunnelChart/FunnelChart.types.ts +16 -0
  375. package/src/components/GaugeChart/GaugeChart.types.ts +11 -0
  376. package/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.ts +11 -0
  377. package/src/components/PolarChart/PolarChart.types.ts +232 -0
  378. package/src/components/SankeyChart/SankeyChart.types.ts +22 -0
  379. package/src/components/ScatterChart/ScatterChart.types.ts +5 -0
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { IPolarChartProps } from './PolarChart.types';
3
+ export declare const PolarChartBase: React.FunctionComponent<IPolarChartProps>;
@@ -0,0 +1,421 @@
1
+ define(["require", "exports", "tslib", "react", "d3-shape", "../Legends/index", "./PolarChart.utils", "@fluentui/react", "../../utilities/index", "d3-array", "@fluentui/chart-utilities", "../../utilities/image-export-utils"], function (require, exports, tslib_1, React, d3_shape_1, index_1, PolarChart_utils_1, react_1, index_2, d3_array_1, chart_utilities_1, image_export_utils_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PolarChartBase = void 0;
5
+ var DEFAULT_LEGEND_HEIGHT = 32;
6
+ var LABEL_WIDTH = 36;
7
+ var LABEL_HEIGHT = 16;
8
+ var LABEL_OFFSET = 10;
9
+ var TICK_SIZE = 6;
10
+ var MIN_MARKER_SIZE_PX = 2;
11
+ var MAX_MARKER_SIZE_PX = 16;
12
+ var MIN_MARKER_SIZE_PX_MARKERS_ONLY = 4;
13
+ var getClassNames = (0, react_1.classNamesFunction)();
14
+ exports.PolarChartBase = React.forwardRef(function (props, forwardedRef) {
15
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
16
+ var chartContainerRef = React.useRef(null);
17
+ var legendsRef = React.useRef(null);
18
+ var legendContainerRef = React.useRef(null);
19
+ var _z = React.useState(200), containerWidth = _z[0], setContainerWidth = _z[1];
20
+ var _0 = React.useState(200), containerHeight = _0[0], setContainerHeight = _0[1];
21
+ var _1 = React.useState(props.hideLegend ? 0 : DEFAULT_LEGEND_HEIGHT), legendContainerHeight = _1[0], setLegendContainerHeight = _1[1];
22
+ var _2 = React.useState(false), isCalloutVisible = _2[0], setCalloutVisible = _2[1];
23
+ var _3 = React.useState(null), calloutTarget = _3[0], setCalloutTarget = _3[1];
24
+ var _4 = React.useState(''), calloutXValue = _4[0], setCalloutXValue = _4[1];
25
+ var _5 = React.useState(''), calloutLegend = _5[0], setCalloutLegend = _5[1];
26
+ var _6 = React.useState(''), calloutColor = _6[0], setCalloutColor = _6[1];
27
+ var _7 = React.useState(''), calloutYValue = _7[0], setCalloutYValue = _7[1];
28
+ var _8 = React.useState(''), hoveredLegend = _8[0], setHoveredLegend = _8[1];
29
+ var _9 = React.useState(((_a = props.legendProps) === null || _a === void 0 ? void 0 : _a.selectedLegends) || []), selectedLegends = _9[0], setSelectedLegends = _9[1];
30
+ var _10 = React.useState(''), activePoint = _10[0], setActivePoint = _10[1];
31
+ React.useImperativeHandle(props.componentRef, function () { return ({
32
+ chartContainer: chartContainerRef.current,
33
+ toImage: function (opts) {
34
+ var _a;
35
+ return (0, image_export_utils_1.exportChartsAsImage)([{ container: chartContainerRef.current }], props.hideLegend ? undefined : (_a = legendsRef.current) === null || _a === void 0 ? void 0 : _a.toSVG, (0, react_1.getRTL)(), opts);
36
+ },
37
+ }); }, [props.hideLegend]);
38
+ React.useEffect(function () {
39
+ if (chartContainerRef.current) {
40
+ var _a = chartContainerRef.current.getBoundingClientRect(), width = _a.width, height = _a.height;
41
+ setContainerWidth(width);
42
+ setContainerHeight(height);
43
+ }
44
+ }, [chartContainerRef]);
45
+ React.useEffect(function () {
46
+ if (props.hideLegend) {
47
+ setLegendContainerHeight(0);
48
+ }
49
+ else if (legendContainerRef.current) {
50
+ var height = legendContainerRef.current.getBoundingClientRect().height;
51
+ var _window = (0, react_1.getWindow)(legendContainerRef.current);
52
+ var marginTop = (_window === null || _window === void 0 ? void 0 : _window.getComputedStyle(legendContainerRef.current).marginTop) || '0px';
53
+ setLegendContainerHeight(Math.max(height, DEFAULT_LEGEND_HEIGHT) + parseFloat(marginTop));
54
+ }
55
+ }, [props.hideLegend]);
56
+ React.useEffect(function () {
57
+ var _a;
58
+ setSelectedLegends(((_a = props.legendProps) === null || _a === void 0 ? void 0 : _a.selectedLegends) || []);
59
+ }, [(_b = props.legendProps) === null || _b === void 0 ? void 0 : _b.selectedLegends]);
60
+ var margins = React.useMemo(function () { return (tslib_1.__assign({ left: LABEL_OFFSET + LABEL_WIDTH, right: LABEL_OFFSET + LABEL_WIDTH, top: LABEL_OFFSET + LABEL_HEIGHT, bottom: LABEL_OFFSET + LABEL_HEIGHT }, props.margins)); }, [props.margins]);
61
+ var svgWidth = React.useMemo(function () { return props.width || containerWidth; }, [props.width, containerWidth]);
62
+ var svgHeight = React.useMemo(function () { return (props.height || containerHeight) - legendContainerHeight; }, [props.height, containerHeight, legendContainerHeight]);
63
+ var outerRadius = React.useMemo(function () { return Math.min(svgWidth - (margins.left + margins.right), svgHeight - (margins.top + margins.bottom)) / 2; }, [svgWidth, svgHeight, margins]);
64
+ var innerRadius = React.useMemo(function () { return Math.max(0, Math.min(Math.abs(props.hole || 0), 1)) * outerRadius; }, [props.hole, outerRadius]);
65
+ var legendColorMap = React.useRef({});
66
+ var chartData = React.useMemo(function () {
67
+ legendColorMap.current = {};
68
+ var colorIndex = 0;
69
+ var renderingOrder = ['areapolar', 'linepolar', 'scatterpolar'];
70
+ return props.data
71
+ .map(function (series) {
72
+ var seriesColor = series.color ? (0, index_2.getColorFromToken)(series.color) : (0, index_2.getNextColor)(colorIndex++, 0);
73
+ if (!(series.legend in legendColorMap.current)) {
74
+ legendColorMap.current[series.legend] = seriesColor;
75
+ }
76
+ return tslib_1.__assign(tslib_1.__assign({}, series), { color: seriesColor, data: series.data.map(function (point) {
77
+ return tslib_1.__assign(tslib_1.__assign({}, point), { color: point.color ? (0, index_2.getColorFromToken)(point.color) : seriesColor });
78
+ }) });
79
+ })
80
+ .sort(function (a, b) {
81
+ return renderingOrder.indexOf(a.type) - renderingOrder.indexOf(b.type);
82
+ });
83
+ }, [props.data]);
84
+ var mapCategoryToValues = React.useCallback(function (isAngularAxis) {
85
+ var categoryToValues = {};
86
+ chartData.forEach(function (series) {
87
+ series.data.forEach(function (point) {
88
+ var category = (isAngularAxis ? point.theta : point.r);
89
+ if (!categoryToValues[category]) {
90
+ categoryToValues[category] = [];
91
+ }
92
+ var value = isAngularAxis ? point.r : point.theta;
93
+ if (typeof value === 'number') {
94
+ categoryToValues[category].push(value);
95
+ }
96
+ });
97
+ });
98
+ return categoryToValues;
99
+ }, [chartData]);
100
+ var getOrderedRCategories = React.useCallback(function () {
101
+ var _a;
102
+ return (0, index_2.sortAxisCategories)(mapCategoryToValues(), (_a = props.radialAxis) === null || _a === void 0 ? void 0 : _a.categoryOrder);
103
+ }, [mapCategoryToValues, (_c = props.radialAxis) === null || _c === void 0 ? void 0 : _c.categoryOrder]);
104
+ var getOrderedACategories = React.useCallback(function () {
105
+ var _a;
106
+ return (0, index_2.sortAxisCategories)(mapCategoryToValues(true), (_a = props.angularAxis) === null || _a === void 0 ? void 0 : _a.categoryOrder);
107
+ }, [mapCategoryToValues, (_d = props.angularAxis) === null || _d === void 0 ? void 0 : _d.categoryOrder]);
108
+ var rValues = React.useMemo(function () { return chartData.flatMap(function (series) { return series.data.map(function (point) { return point.r; }); }); }, [chartData]);
109
+ var rScaleType = React.useMemo(function () {
110
+ var _a;
111
+ return (0, PolarChart_utils_1.getScaleType)(rValues, {
112
+ scaleType: (_a = props.radialAxis) === null || _a === void 0 ? void 0 : _a.scaleType,
113
+ supportsLog: true,
114
+ });
115
+ }, [rValues, (_e = props.radialAxis) === null || _e === void 0 ? void 0 : _e.scaleType]);
116
+ var rScaleDomain = React.useMemo(function () {
117
+ var _a, _b;
118
+ return rScaleType === 'category'
119
+ ? getOrderedRCategories()
120
+ : (0, PolarChart_utils_1.getContinuousScaleDomain)(rScaleType, rValues, {
121
+ rangeStart: (_a = props.radialAxis) === null || _a === void 0 ? void 0 : _a.rangeStart,
122
+ rangeEnd: (_b = props.radialAxis) === null || _b === void 0 ? void 0 : _b.rangeEnd,
123
+ });
124
+ }, [getOrderedRCategories, rScaleType, rValues, (_f = props.radialAxis) === null || _f === void 0 ? void 0 : _f.rangeStart, (_g = props.radialAxis) === null || _g === void 0 ? void 0 : _g.rangeEnd]);
125
+ var _11 = React.useMemo(function () {
126
+ var _a, _b, _c, _d, _e, _f;
127
+ return (0, PolarChart_utils_1.createRadialScale)(rScaleType, rScaleDomain, [innerRadius, outerRadius], {
128
+ useUTC: props.useUTC,
129
+ tickCount: (_a = props.radialAxis) === null || _a === void 0 ? void 0 : _a.tickCount,
130
+ tickValues: (_b = props.radialAxis) === null || _b === void 0 ? void 0 : _b.tickValues,
131
+ tickText: (_c = props.radialAxis) === null || _c === void 0 ? void 0 : _c.tickText,
132
+ tickFormat: (_d = props.radialAxis) === null || _d === void 0 ? void 0 : _d.tickFormat,
133
+ culture: props.culture,
134
+ tickStep: (_e = props.radialAxis) === null || _e === void 0 ? void 0 : _e.tickStep,
135
+ tick0: (_f = props.radialAxis) === null || _f === void 0 ? void 0 : _f.tick0,
136
+ dateLocalizeOptions: props.dateLocalizeOptions,
137
+ });
138
+ }, [
139
+ rScaleType,
140
+ rScaleDomain,
141
+ innerRadius,
142
+ outerRadius,
143
+ props.culture,
144
+ props.dateLocalizeOptions,
145
+ (_h = props.radialAxis) === null || _h === void 0 ? void 0 : _h.tick0,
146
+ (_j = props.radialAxis) === null || _j === void 0 ? void 0 : _j.tickCount,
147
+ (_k = props.radialAxis) === null || _k === void 0 ? void 0 : _k.tickFormat,
148
+ (_l = props.radialAxis) === null || _l === void 0 ? void 0 : _l.tickStep,
149
+ (_m = props.radialAxis) === null || _m === void 0 ? void 0 : _m.tickText,
150
+ (_o = props.radialAxis) === null || _o === void 0 ? void 0 : _o.tickValues,
151
+ props.useUTC,
152
+ ]), rScale = _11.scale, rTickValues = _11.tickValues, rTickLabels = _11.tickLabels;
153
+ var aValues = React.useMemo(function () { return chartData.flatMap(function (series) { return series.data.map(function (point) { return point.theta; }); }); }, [chartData]);
154
+ var aScaleType = React.useMemo(function () {
155
+ var _a;
156
+ return (0, PolarChart_utils_1.getScaleType)(aValues, {
157
+ scaleType: (_a = props.angularAxis) === null || _a === void 0 ? void 0 : _a.scaleType,
158
+ });
159
+ }, [aValues, (_p = props.angularAxis) === null || _p === void 0 ? void 0 : _p.scaleType]);
160
+ var aDomain = React.useMemo(function () {
161
+ return aScaleType === 'category'
162
+ ? getOrderedACategories()
163
+ : (0, PolarChart_utils_1.getContinuousScaleDomain)(aScaleType, aValues);
164
+ }, [getOrderedACategories, aScaleType, aValues]);
165
+ var _12 = React.useMemo(function () {
166
+ var _a, _b, _c, _d, _e, _f, _g;
167
+ return (0, PolarChart_utils_1.createAngularScale)(aScaleType, aDomain, {
168
+ tickCount: (_a = props.angularAxis) === null || _a === void 0 ? void 0 : _a.tickCount,
169
+ tickValues: (_b = props.angularAxis) === null || _b === void 0 ? void 0 : _b.tickValues,
170
+ tickText: (_c = props.angularAxis) === null || _c === void 0 ? void 0 : _c.tickText,
171
+ tickFormat: (_d = props.angularAxis) === null || _d === void 0 ? void 0 : _d.tickFormat,
172
+ culture: props.culture,
173
+ tickStep: (_e = props.angularAxis) === null || _e === void 0 ? void 0 : _e.tickStep,
174
+ tick0: (_f = props.angularAxis) === null || _f === void 0 ? void 0 : _f.tick0,
175
+ direction: props.direction,
176
+ unit: (_g = props.angularAxis) === null || _g === void 0 ? void 0 : _g.unit,
177
+ });
178
+ }, [
179
+ aScaleType,
180
+ aDomain,
181
+ (_q = props.angularAxis) === null || _q === void 0 ? void 0 : _q.tick0,
182
+ (_r = props.angularAxis) === null || _r === void 0 ? void 0 : _r.tickCount,
183
+ (_s = props.angularAxis) === null || _s === void 0 ? void 0 : _s.tickFormat,
184
+ (_t = props.angularAxis) === null || _t === void 0 ? void 0 : _t.tickStep,
185
+ (_u = props.angularAxis) === null || _u === void 0 ? void 0 : _u.tickText,
186
+ (_v = props.angularAxis) === null || _v === void 0 ? void 0 : _v.tickValues,
187
+ (_w = props.angularAxis) === null || _w === void 0 ? void 0 : _w.unit,
188
+ props.culture,
189
+ props.direction,
190
+ ]), aScale = _12.scale, aTickValues = _12.tickValues, aTickLabels = _12.tickLabels;
191
+ var classes = React.useMemo(function () {
192
+ return getClassNames(props.styles, {
193
+ theme: props.theme,
194
+ });
195
+ }, [props.styles, props.theme]);
196
+ var renderPolarGrid = React.useCallback(function () {
197
+ var extRTickValues = [];
198
+ var rDomain = rScale.domain();
199
+ if (innerRadius > 0 && rDomain[0] !== rTickValues[0]) {
200
+ extRTickValues.push(rDomain[0]);
201
+ }
202
+ extRTickValues.push.apply(extRTickValues, rTickValues);
203
+ if (rDomain[rDomain.length - 1] !== rTickValues[rTickValues.length - 1]) {
204
+ extRTickValues.push(rDomain[rDomain.length - 1]);
205
+ }
206
+ return (React.createElement("g", null,
207
+ React.createElement("g", null, extRTickValues.map(function (r, rIndex) {
208
+ var className = rIndex === extRTickValues.length - 1 ? classes.gridLineOuter : classes.gridLineInner;
209
+ if (props.shape === 'polygon') {
210
+ var d_1 = '';
211
+ aTickValues.forEach(function (a, aIndex) {
212
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
213
+ var radialPoint = (0, d3_shape_1.pointRadial)(aScale(a), rScale(r));
214
+ d_1 += (aIndex === 0 ? 'M' : 'L') + radialPoint.join(',') + ' ';
215
+ });
216
+ d_1 += 'Z';
217
+ return React.createElement("path", { key: rIndex, d: d_1, className: className });
218
+ }
219
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
220
+ return React.createElement("circle", { key: rIndex, cx: 0, cy: 0, r: rScale(r), className: className });
221
+ })),
222
+ React.createElement("g", null, aTickValues.map(function (a, aIndex) {
223
+ var radialPoint1 = (0, d3_shape_1.pointRadial)(aScale(a), innerRadius);
224
+ var radialPoint2 = (0, d3_shape_1.pointRadial)(aScale(a), outerRadius);
225
+ return (React.createElement("path", { key: aIndex, d: "M".concat(radialPoint1.join(','), " L").concat(radialPoint2.join(',')), className: classes.gridLineInner }));
226
+ }))));
227
+ }, [
228
+ innerRadius,
229
+ outerRadius,
230
+ rTickValues,
231
+ aTickValues,
232
+ rScale,
233
+ aScale,
234
+ props.shape,
235
+ classes.gridLineInner,
236
+ classes.gridLineOuter,
237
+ ]);
238
+ var renderPolarTicks = React.useCallback(function () {
239
+ var radialAxisAngle = props.direction === 'clockwise' ? 0 : Math.PI / 2;
240
+ var radialAxisStartPoint = (0, d3_shape_1.pointRadial)(radialAxisAngle, innerRadius);
241
+ var radialAxisEndPoint = (0, d3_shape_1.pointRadial)(radialAxisAngle, outerRadius);
242
+ // (0, pi]
243
+ var sign = radialAxisAngle > PolarChart_utils_1.EPSILON && radialAxisAngle - Math.PI < PolarChart_utils_1.EPSILON ? 1 : -1;
244
+ return (React.createElement("g", null,
245
+ React.createElement("g", null,
246
+ React.createElement("path", { d: "M".concat(radialAxisStartPoint.join(','), " L").concat(radialAxisEndPoint.join(',')), className: classes.gridLineOuter }),
247
+ rTickValues.map(function (r, rIndex) {
248
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
249
+ var _a = (0, d3_shape_1.pointRadial)(radialAxisAngle, rScale(r)), pointX = _a[0], pointY = _a[1];
250
+ return (React.createElement("g", { key: rIndex },
251
+ React.createElement("path", { d: "M".concat(pointX, ",").concat(pointY, " L").concat(pointX + TICK_SIZE * Math.cos(radialAxisAngle) * sign, ",").concat(pointY + TICK_SIZE * Math.sin(radialAxisAngle) * sign), className: classes.gridLineOuter }),
252
+ React.createElement("text", { x: pointX + (TICK_SIZE + LABEL_OFFSET) * Math.cos(radialAxisAngle) * sign, y: pointY + (TICK_SIZE + LABEL_OFFSET) * Math.sin(radialAxisAngle) * sign, textAnchor:
253
+ // pi/2 or 3pi/2
254
+ Math.abs(radialAxisAngle - Math.PI / 2) < PolarChart_utils_1.EPSILON ||
255
+ Math.abs(radialAxisAngle - (3 * Math.PI) / 2) < PolarChart_utils_1.EPSILON
256
+ ? 'middle'
257
+ : // (0, pi/2) or (pi, 3pi/2)
258
+ (radialAxisAngle > PolarChart_utils_1.EPSILON && radialAxisAngle - Math.PI / 2 < -PolarChart_utils_1.EPSILON) ||
259
+ (radialAxisAngle - Math.PI > PolarChart_utils_1.EPSILON && radialAxisAngle - (3 * Math.PI) / 2 < -PolarChart_utils_1.EPSILON)
260
+ ? 'start'
261
+ : 'end', dominantBaseline: "middle", "aria-hidden": true, className: classes.tickLabel }, rTickLabels[rIndex])));
262
+ })),
263
+ React.createElement("g", null, aTickValues.map(function (a, aIndex) {
264
+ var angle = aScale(a);
265
+ var _a = (0, d3_shape_1.pointRadial)(angle, outerRadius + LABEL_OFFSET), pointX = _a[0], pointY = _a[1];
266
+ return (React.createElement("text", { key: aIndex, x: pointX, y: pointY, textAnchor: Math.abs(angle) < PolarChart_utils_1.EPSILON || Math.abs(angle - Math.PI) < PolarChart_utils_1.EPSILON
267
+ ? 'middle'
268
+ : angle > Math.PI
269
+ ? 'end'
270
+ : 'start', dominantBaseline: "middle", "aria-hidden": true, className: classes.tickLabel }, aTickLabels[aIndex]));
271
+ }))));
272
+ }, [
273
+ rTickValues,
274
+ aTickValues,
275
+ rScale,
276
+ aScale,
277
+ outerRadius,
278
+ classes.gridLineOuter,
279
+ classes.tickLabel,
280
+ aTickLabels,
281
+ innerRadius,
282
+ rTickLabels,
283
+ props.direction,
284
+ ]);
285
+ var getActiveLegends = React.useCallback(function () {
286
+ return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [hoveredLegend] : [];
287
+ }, [selectedLegends, hoveredLegend]);
288
+ var legendHighlighted = React.useCallback(function (legendTitle) {
289
+ var activeLegends = getActiveLegends();
290
+ return activeLegends.includes(legendTitle) || activeLegends.length === 0;
291
+ }, [getActiveLegends]);
292
+ var renderRadialArea = React.useCallback(function (series) {
293
+ var _a;
294
+ var radialArea = (0, d3_shape_1.areaRadial)()
295
+ .angle(function (d) { return aScale(d.theta); })
296
+ .innerRadius(innerRadius)
297
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
298
+ .outerRadius(function (d) { return rScale(d.r); })
299
+ .curve((0, index_2.getCurveFactory)((_a = series.lineOptions) === null || _a === void 0 ? void 0 : _a.curve, d3_shape_1.curveLinearClosed))
300
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
301
+ .defined(function (d) { return (0, index_2.isPlottable)(aScale(d.theta), rScale(d.r)); });
302
+ var shouldHighlight = legendHighlighted(series.legend);
303
+ return (React.createElement("path", { d: radialArea(series.data), fill: series.color, fillOpacity: shouldHighlight ? 0.7 : 0.1, pointerEvents: "none" }));
304
+ }, [innerRadius, rScale, aScale, legendHighlighted]);
305
+ var renderRadialLine = React.useCallback(function (series) {
306
+ var _a, _b, _c, _d, _e, _f;
307
+ var radialLine = (0, d3_shape_1.lineRadial)()
308
+ .angle(function (d) { return aScale(d.theta); })
309
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
310
+ .radius(function (d) { return rScale(d.r); })
311
+ .curve((0, index_2.getCurveFactory)((_a = series.lineOptions) === null || _a === void 0 ? void 0 : _a.curve))
312
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
313
+ .defined(function (d) { return (0, index_2.isPlottable)(aScale(d.theta), rScale(d.r)); });
314
+ return (React.createElement("path", { d: radialLine(series.data), fill: "none", stroke: series.color, strokeOpacity: legendHighlighted(series.legend) ? 1 : 0.1, strokeWidth: (_c = (_b = series.lineOptions) === null || _b === void 0 ? void 0 : _b.strokeWidth) !== null && _c !== void 0 ? _c : 3, strokeDasharray: (_d = series.lineOptions) === null || _d === void 0 ? void 0 : _d.strokeDasharray, strokeDashoffset: (_e = series.lineOptions) === null || _e === void 0 ? void 0 : _e.strokeDashoffset, strokeLinecap: (_f = series.lineOptions) === null || _f === void 0 ? void 0 : _f.strokeLinecap, pointerEvents: "none" }));
315
+ }, [rScale, aScale, legendHighlighted]);
316
+ var _13 = React.useMemo(function () { return (0, d3_array_1.extent)(chartData.flatMap(function (series) { return series.data.map(function (point) { return point.markerSize; }); })); }, [chartData]), minMarkerSize = _13[0], maxMarkerSize = _13[1];
317
+ var showCallout = React.useCallback(function (event, point, pointId, legend) {
318
+ var _a, _b, _c;
319
+ setCalloutTarget(event.currentTarget);
320
+ setCalloutVisible(legendHighlighted(legend));
321
+ setCalloutXValue((_a = point.angularAxisCalloutData) !== null && _a !== void 0 ? _a : (0, PolarChart_utils_1.formatAngle)(point.theta, (_b = props.angularAxis) === null || _b === void 0 ? void 0 : _b.unit));
322
+ setCalloutLegend(legend);
323
+ setCalloutColor(point.color);
324
+ setCalloutYValue((_c = point.radialAxisCalloutData) !== null && _c !== void 0 ? _c : (0, chart_utilities_1.formatToLocaleString)(point.r, props.culture, props.useUTC));
325
+ setActivePoint(pointId);
326
+ }, [legendHighlighted, (_x = props.angularAxis) === null || _x === void 0 ? void 0 : _x.unit, props.culture, props.useUTC]);
327
+ var hideCallout = React.useCallback(function () {
328
+ setCalloutVisible(false);
329
+ setActivePoint('');
330
+ }, []);
331
+ var markersOnlyMode = React.useMemo(function () { return chartData.filter(function (s) { return s.type === 'areapolar' || s.type === 'linepolar'; }).length === 0; }, [chartData]);
332
+ var renderRadialPoints = React.useCallback(function (series, seriesIndex) {
333
+ var shouldHighlight = legendHighlighted(series.legend);
334
+ return (React.createElement("g", null, series.data.map(function (point, pointIndex) {
335
+ var _a, _b;
336
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
+ if (!(0, index_2.isPlottable)(aScale(point.theta), rScale(point.r))) {
338
+ return null;
339
+ }
340
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
341
+ var _c = (0, d3_shape_1.pointRadial)(aScale(point.theta), rScale(point.r)), x = _c[0], y = _c[1];
342
+ var id = "".concat(seriesIndex, "-").concat(pointIndex);
343
+ var isActive = activePoint === id;
344
+ var minPx = markersOnlyMode ? MIN_MARKER_SIZE_PX_MARKERS_ONLY : MIN_MARKER_SIZE_PX;
345
+ var radius = minPx;
346
+ if (typeof point.markerSize !== 'undefined' && minMarkerSize !== maxMarkerSize) {
347
+ radius =
348
+ minPx +
349
+ ((point.markerSize - minMarkerSize) / (maxMarkerSize - minMarkerSize)) *
350
+ (MAX_MARKER_SIZE_PX - minPx);
351
+ }
352
+ var xValue = point.radialAxisCalloutData || (0, chart_utilities_1.formatToLocaleString)(point.r, props.culture, props.useUTC);
353
+ var legend = series.legend;
354
+ var yValue = point.angularAxisCalloutData || (0, PolarChart_utils_1.formatAngle)(point.theta, (_a = props.angularAxis) === null || _a === void 0 ? void 0 : _a.unit);
355
+ var ariaLabel = ((_b = point.callOutAccessibilityData) === null || _b === void 0 ? void 0 : _b.ariaLabel) || "".concat(xValue, ". ").concat(legend, ", ").concat(yValue, ".");
356
+ return (React.createElement("circle", { key: pointIndex, cx: x, cy: y, r: radius, fill: isActive ? props.theme.semanticColors.bodyBackground : point.color, stroke: isActive ? point.color : 'none', strokeWidth: isActive ? 2 : 0, opacity: shouldHighlight ? 1 : 0.1, "data-is-focusable": shouldHighlight ? 0 : -1, onMouseOver: function (e) { return showCallout(e, point, id, series.legend); }, onFocus: function (e) { return showCallout(e, point, id, series.legend); }, role: "img", "aria-label": ariaLabel }));
357
+ })));
358
+ }, [
359
+ legendHighlighted,
360
+ rScale,
361
+ aScale,
362
+ activePoint,
363
+ showCallout,
364
+ minMarkerSize,
365
+ maxMarkerSize,
366
+ markersOnlyMode,
367
+ (_y = props.angularAxis) === null || _y === void 0 ? void 0 : _y.unit,
368
+ props.culture,
369
+ props.useUTC,
370
+ props.theme,
371
+ ]);
372
+ var onLegendSelectionChange = React.useCallback(function (_selectedLegends, event, currentLegend) {
373
+ var _a, _b;
374
+ if ((_a = props.legendProps) === null || _a === void 0 ? void 0 : _a.canSelectMultipleLegends) {
375
+ setSelectedLegends(_selectedLegends);
376
+ }
377
+ else {
378
+ setSelectedLegends(_selectedLegends.slice(-1));
379
+ }
380
+ if ((_b = props.legendProps) === null || _b === void 0 ? void 0 : _b.onChange) {
381
+ props.legendProps.onChange(_selectedLegends, event, currentLegend);
382
+ }
383
+ }, [props.legendProps]);
384
+ var renderLegends = React.useCallback(function () {
385
+ if (props.hideLegend) {
386
+ return null;
387
+ }
388
+ var legends = Object.keys(legendColorMap.current).map(function (legendTitle) {
389
+ return {
390
+ title: legendTitle,
391
+ color: legendColorMap.current[legendTitle],
392
+ hoverAction: function () {
393
+ setHoveredLegend(legendTitle);
394
+ },
395
+ onMouseOutAction: function () {
396
+ setHoveredLegend('');
397
+ },
398
+ };
399
+ });
400
+ return (React.createElement("div", { ref: legendContainerRef, className: classes.legendContainer },
401
+ React.createElement(index_1.Legends, tslib_1.__assign({ legends: legends, centerLegends: true, onChange: onLegendSelectionChange, ref: legendsRef }, props.legendProps))));
402
+ }, [props.hideLegend, props.legendProps, legendsRef, onLegendSelectionChange, classes.legendContainer]);
403
+ return (React.createElement("div", { className: classes.root, ref: chartContainerRef, onMouseLeave: hideCallout, onBlur: hideCallout },
404
+ React.createElement(react_1.FocusZone, { direction: react_1.FocusZoneDirection.horizontal, className: classes.chartWrapper },
405
+ React.createElement("svg", { className: classes.chart, width: svgWidth, height: svgHeight, role: "region", "aria-label": (props.chartTitle ? "".concat(props.chartTitle, ". ") : '') + "Polar chart with ".concat(chartData.length, " data series.") },
406
+ React.createElement("g", { transform: "translate(".concat(svgWidth / 2, ", ").concat(svgHeight / 2, ")") },
407
+ renderPolarGrid(),
408
+ React.createElement("g", null, chartData.map(function (series, seriesIndex) {
409
+ return (React.createElement("g", { key: seriesIndex, role: "region", "aria-label": "".concat(series.legend, ", series ").concat(seriesIndex + 1, " of ").concat(chartData.length, " with ").concat(series.data.length, " data points.") },
410
+ series.type === 'areapolar' && renderRadialArea(series),
411
+ (series.type === 'areapolar' || series.type === 'linepolar') && renderRadialLine(series),
412
+ renderRadialPoints(series, seriesIndex)));
413
+ })),
414
+ renderPolarTicks()))),
415
+ renderLegends(),
416
+ !props.hideTooltip && (React.createElement(react_1.Callout, tslib_1.__assign({ hidden: !isCalloutVisible, target: calloutTarget, directionalHint: react_1.DirectionalHint.topAutoEdge, gapSpace: 15, isBeakVisible: false, onDismiss: hideCallout }, props.calloutProps),
417
+ React.createElement(index_2.ChartHoverCard, { XValue: calloutXValue, Legend: calloutLegend, color: calloutColor, YValue: calloutYValue, culture: props.culture })))));
418
+ });
419
+ exports.PolarChartBase.displayName = 'PolarChart';
420
+ });
421
+ //# sourceMappingURL=PolarChart.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolarChart.base.js","sourceRoot":"../src/","sources":["components/PolarChart/PolarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { IPolarChartProps, IPolarChartStyleProps, IPolarChartStyles } from './PolarChart.types';\nimport {\n pointRadial as d3PointRadial,\n areaRadial as d3AreaRadial,\n lineRadial as d3LineRadial,\n curveLinearClosed as d3CurveLinearClosed,\n} from 'd3-shape';\nimport {\n IAreaPolarSeries,\n IImageExportOptions,\n ILinePolarSeries,\n IPolarDataPoint,\n IScatterPolarSeries,\n} from '../../types/IDataPoint';\nimport { ILegend, ILegendContainer, Legends } from '../Legends/index';\nimport {\n createRadialScale,\n getContinuousScaleDomain,\n getScaleType,\n EPSILON,\n createAngularScale,\n formatAngle,\n} from './PolarChart.utils';\nimport {\n Callout,\n classNamesFunction,\n DirectionalHint,\n FocusZone,\n FocusZoneDirection,\n getRTL,\n getWindow,\n} from '@fluentui/react';\nimport {\n ChartHoverCard,\n getColorFromToken,\n getCurveFactory,\n getNextColor,\n isPlottable,\n sortAxisCategories,\n} from '../../utilities/index';\nimport { extent as d3Extent } from 'd3-array';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\nimport { exportChartsAsImage } from '../../utilities/image-export-utils';\n\nconst DEFAULT_LEGEND_HEIGHT = 32;\nconst LABEL_WIDTH = 36;\nconst LABEL_HEIGHT = 16;\nconst LABEL_OFFSET = 10;\nconst TICK_SIZE = 6;\nconst MIN_MARKER_SIZE_PX = 2;\nconst MAX_MARKER_SIZE_PX = 16;\nconst MIN_MARKER_SIZE_PX_MARKERS_ONLY = 4;\n\nconst getClassNames = classNamesFunction<IPolarChartStyleProps, IPolarChartStyles>();\n\nexport const PolarChartBase: React.FunctionComponent<IPolarChartProps> = React.forwardRef<\n HTMLDivElement,\n IPolarChartProps\n>((props, forwardedRef) => {\n const chartContainerRef = React.useRef<HTMLDivElement>(null);\n const legendsRef = React.useRef<ILegendContainer>(null);\n const legendContainerRef = React.useRef<HTMLDivElement>(null);\n\n const [containerWidth, setContainerWidth] = React.useState<number>(200);\n const [containerHeight, setContainerHeight] = React.useState<number>(200);\n const [legendContainerHeight, setLegendContainerHeight] = React.useState<number>(\n props.hideLegend ? 0 : DEFAULT_LEGEND_HEIGHT,\n );\n const [isCalloutVisible, setCalloutVisible] = React.useState<boolean>(false);\n const [calloutTarget, setCalloutTarget] = React.useState<SVGElement | null>(null);\n const [calloutXValue, setCalloutXValue] = React.useState<string>('');\n const [calloutLegend, setCalloutLegend] = React.useState<string>('');\n const [calloutColor, setCalloutColor] = React.useState<string>('');\n const [calloutYValue, setCalloutYValue] = React.useState<string>('');\n const [hoveredLegend, setHoveredLegend] = React.useState<string>('');\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [activePoint, setActivePoint] = React.useState<string>('');\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: chartContainerRef.current,\n toImage: (opts?: IImageExportOptions): Promise<string> => {\n return exportChartsAsImage(\n [{ container: chartContainerRef.current }],\n props.hideLegend ? undefined : legendsRef.current?.toSVG,\n getRTL(),\n opts,\n );\n },\n }),\n [props.hideLegend],\n );\n\n React.useEffect(() => {\n if (chartContainerRef.current) {\n const { width, height } = chartContainerRef.current.getBoundingClientRect();\n setContainerWidth(width);\n setContainerHeight(height);\n }\n }, [chartContainerRef]);\n React.useEffect(() => {\n if (props.hideLegend) {\n setLegendContainerHeight(0);\n } else if (legendContainerRef.current) {\n const { height } = legendContainerRef.current.getBoundingClientRect();\n const _window = getWindow(legendContainerRef.current);\n const marginTop = _window?.getComputedStyle(legendContainerRef.current).marginTop || '0px';\n setLegendContainerHeight(Math.max(height, DEFAULT_LEGEND_HEIGHT) + parseFloat(marginTop));\n }\n }, [props.hideLegend]);\n\n React.useEffect(() => {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }, [props.legendProps?.selectedLegends]);\n\n const margins = React.useMemo(\n () => ({\n left: LABEL_OFFSET + LABEL_WIDTH,\n right: LABEL_OFFSET + LABEL_WIDTH,\n top: LABEL_OFFSET + LABEL_HEIGHT,\n bottom: LABEL_OFFSET + LABEL_HEIGHT,\n ...props.margins,\n }),\n [props.margins],\n );\n\n const svgWidth = React.useMemo(() => props.width || containerWidth, [props.width, containerWidth]);\n const svgHeight = React.useMemo(\n () => (props.height || containerHeight) - legendContainerHeight,\n [props.height, containerHeight, legendContainerHeight],\n );\n const outerRadius = React.useMemo(\n () => Math.min(svgWidth - (margins.left + margins.right), svgHeight - (margins.top + margins.bottom)) / 2,\n [svgWidth, svgHeight, margins],\n );\n const innerRadius = React.useMemo(\n () => Math.max(0, Math.min(Math.abs(props.hole || 0), 1)) * outerRadius,\n [props.hole, outerRadius],\n );\n\n const legendColorMap = React.useRef<Record<string, string>>({});\n const chartData = React.useMemo(() => {\n legendColorMap.current = {};\n let colorIndex = 0;\n const renderingOrder = ['areapolar', 'linepolar', 'scatterpolar'];\n\n return props.data\n .map(series => {\n const seriesColor = series.color ? getColorFromToken(series.color) : getNextColor(colorIndex++, 0);\n if (!(series.legend in legendColorMap.current)) {\n legendColorMap.current[series.legend] = seriesColor;\n }\n\n return {\n ...series,\n color: seriesColor,\n data: series.data.map(point => {\n return {\n ...point,\n color: point.color ? getColorFromToken(point.color) : seriesColor,\n };\n }),\n };\n })\n .sort((a, b) => {\n return renderingOrder.indexOf(a.type) - renderingOrder.indexOf(b.type);\n });\n }, [props.data]);\n\n const mapCategoryToValues = React.useCallback(\n (isAngularAxis?: boolean) => {\n const categoryToValues: Record<string, number[]> = {};\n chartData.forEach(series => {\n series.data.forEach(point => {\n const category = (isAngularAxis ? point.theta : point.r) as string;\n if (!categoryToValues[category]) {\n categoryToValues[category] = [];\n }\n const value = isAngularAxis ? point.r : point.theta;\n if (typeof value === 'number') {\n categoryToValues[category].push(value);\n }\n });\n });\n return categoryToValues;\n },\n [chartData],\n );\n\n const getOrderedRCategories = React.useCallback(() => {\n return sortAxisCategories(mapCategoryToValues(), props.radialAxis?.categoryOrder);\n }, [mapCategoryToValues, props.radialAxis?.categoryOrder]);\n\n const getOrderedACategories = React.useCallback(() => {\n return sortAxisCategories(mapCategoryToValues(true), props.angularAxis?.categoryOrder);\n }, [mapCategoryToValues, props.angularAxis?.categoryOrder]);\n\n const rValues = React.useMemo(() => chartData.flatMap(series => series.data.map(point => point.r)), [chartData]);\n const rScaleType = React.useMemo(\n () =>\n getScaleType(rValues, {\n scaleType: props.radialAxis?.scaleType,\n supportsLog: true,\n }),\n [rValues, props.radialAxis?.scaleType],\n );\n const rScaleDomain = React.useMemo(\n () =>\n rScaleType === 'category'\n ? getOrderedRCategories()\n : getContinuousScaleDomain(rScaleType, rValues as (number | Date)[], {\n rangeStart: props.radialAxis?.rangeStart,\n rangeEnd: props.radialAxis?.rangeEnd,\n }),\n [getOrderedRCategories, rScaleType, rValues, props.radialAxis?.rangeStart, props.radialAxis?.rangeEnd],\n );\n const {\n scale: rScale,\n tickValues: rTickValues,\n tickLabels: rTickLabels,\n } = React.useMemo(\n () =>\n createRadialScale(rScaleType, rScaleDomain, [innerRadius, outerRadius], {\n useUTC: props.useUTC,\n tickCount: props.radialAxis?.tickCount,\n tickValues: props.radialAxis?.tickValues,\n tickText: props.radialAxis?.tickText,\n tickFormat: props.radialAxis?.tickFormat,\n culture: props.culture,\n tickStep: props.radialAxis?.tickStep,\n tick0: props.radialAxis?.tick0,\n dateLocalizeOptions: props.dateLocalizeOptions,\n }),\n [\n rScaleType,\n rScaleDomain,\n innerRadius,\n outerRadius,\n props.culture,\n props.dateLocalizeOptions,\n props.radialAxis?.tick0,\n props.radialAxis?.tickCount,\n props.radialAxis?.tickFormat,\n props.radialAxis?.tickStep,\n props.radialAxis?.tickText,\n props.radialAxis?.tickValues,\n props.useUTC,\n ],\n );\n\n const aValues = React.useMemo(() => chartData.flatMap(series => series.data.map(point => point.theta)), [chartData]);\n const aScaleType = React.useMemo(\n () =>\n getScaleType(aValues, {\n scaleType: props.angularAxis?.scaleType,\n }),\n [aValues, props.angularAxis?.scaleType],\n );\n const aDomain = React.useMemo(\n () =>\n aScaleType === 'category'\n ? getOrderedACategories()\n : (getContinuousScaleDomain(aScaleType, aValues as number[]) as number[]),\n [getOrderedACategories, aScaleType, aValues],\n );\n const {\n scale: aScale,\n tickValues: aTickValues,\n tickLabels: aTickLabels,\n } = React.useMemo(\n () =>\n createAngularScale(aScaleType, aDomain, {\n tickCount: props.angularAxis?.tickCount,\n tickValues: props.angularAxis?.tickValues,\n tickText: props.angularAxis?.tickText,\n tickFormat: props.angularAxis?.tickFormat,\n culture: props.culture,\n tickStep: props.angularAxis?.tickStep,\n tick0: props.angularAxis?.tick0,\n direction: props.direction,\n unit: props.angularAxis?.unit,\n }),\n [\n aScaleType,\n aDomain,\n props.angularAxis?.tick0,\n props.angularAxis?.tickCount,\n props.angularAxis?.tickFormat,\n props.angularAxis?.tickStep,\n props.angularAxis?.tickText,\n props.angularAxis?.tickValues,\n props.angularAxis?.unit,\n props.culture,\n props.direction,\n ],\n );\n\n const classes = React.useMemo(\n () =>\n getClassNames(props.styles, {\n theme: props.theme!,\n }),\n [props.styles, props.theme],\n );\n\n const renderPolarGrid = React.useCallback(() => {\n const extRTickValues = [];\n const rDomain = rScale.domain();\n if (innerRadius > 0 && rDomain[0] !== rTickValues[0]) {\n extRTickValues.push(rDomain[0]);\n }\n extRTickValues.push(...rTickValues);\n if (rDomain[rDomain.length - 1] !== rTickValues[rTickValues.length - 1]) {\n extRTickValues.push(rDomain[rDomain.length - 1]);\n }\n\n return (\n <g>\n <g>\n {extRTickValues.map((r, rIndex) => {\n const className = rIndex === extRTickValues.length - 1 ? classes.gridLineOuter : classes.gridLineInner;\n\n if (props.shape === 'polygon') {\n let d = '';\n aTickValues.forEach((a, aIndex) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const radialPoint = d3PointRadial(aScale(a), rScale(r as any)!);\n d += (aIndex === 0 ? 'M' : 'L') + radialPoint.join(',') + ' ';\n });\n d += 'Z';\n\n return <path key={rIndex} d={d} className={className} />;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return <circle key={rIndex} cx={0} cy={0} r={rScale(r as any)} className={className} />;\n })}\n </g>\n <g>\n {aTickValues.map((a, aIndex) => {\n const radialPoint1 = d3PointRadial(aScale(a), innerRadius);\n const radialPoint2 = d3PointRadial(aScale(a), outerRadius);\n\n return (\n <path\n key={aIndex}\n d={`M${radialPoint1.join(',')} L${radialPoint2.join(',')}`}\n className={classes.gridLineInner}\n />\n );\n })}\n </g>\n </g>\n );\n }, [\n innerRadius,\n outerRadius,\n rTickValues,\n aTickValues,\n rScale,\n aScale,\n props.shape,\n classes.gridLineInner,\n classes.gridLineOuter,\n ]);\n\n const renderPolarTicks = React.useCallback(() => {\n const radialAxisAngle = props.direction === 'clockwise' ? 0 : Math.PI / 2;\n const radialAxisStartPoint = d3PointRadial(radialAxisAngle, innerRadius);\n const radialAxisEndPoint = d3PointRadial(radialAxisAngle, outerRadius);\n // (0, pi]\n const sign = radialAxisAngle > EPSILON && radialAxisAngle - Math.PI < EPSILON ? 1 : -1;\n\n return (\n <g>\n <g>\n <path\n d={`M${radialAxisStartPoint.join(',')} L${radialAxisEndPoint.join(',')}`}\n className={classes.gridLineOuter}\n />\n {rTickValues.map((r, rIndex) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [pointX, pointY] = d3PointRadial(radialAxisAngle, rScale(r as any)!);\n return (\n <g key={rIndex}>\n <path\n d={`M${pointX},${pointY} L${pointX + TICK_SIZE * Math.cos(radialAxisAngle) * sign},${\n pointY + TICK_SIZE * Math.sin(radialAxisAngle) * sign\n }`}\n className={classes.gridLineOuter}\n />\n <text\n x={pointX + (TICK_SIZE + LABEL_OFFSET) * Math.cos(radialAxisAngle) * sign}\n y={pointY + (TICK_SIZE + LABEL_OFFSET) * Math.sin(radialAxisAngle) * sign}\n textAnchor={\n // pi/2 or 3pi/2\n Math.abs(radialAxisAngle - Math.PI / 2) < EPSILON ||\n Math.abs(radialAxisAngle - (3 * Math.PI) / 2) < EPSILON\n ? 'middle'\n : // (0, pi/2) or (pi, 3pi/2)\n (radialAxisAngle > EPSILON && radialAxisAngle - Math.PI / 2 < -EPSILON) ||\n (radialAxisAngle - Math.PI > EPSILON && radialAxisAngle - (3 * Math.PI) / 2 < -EPSILON)\n ? 'start'\n : 'end'\n }\n dominantBaseline=\"middle\"\n aria-hidden={true}\n className={classes.tickLabel}\n >\n {rTickLabels[rIndex]}\n </text>\n </g>\n );\n })}\n </g>\n <g>\n {aTickValues.map((a, aIndex) => {\n const angle = aScale(a);\n const [pointX, pointY] = d3PointRadial(angle, outerRadius + LABEL_OFFSET);\n\n return (\n <text\n key={aIndex}\n x={pointX}\n y={pointY}\n textAnchor={\n Math.abs(angle) < EPSILON || Math.abs(angle - Math.PI) < EPSILON\n ? 'middle'\n : angle > Math.PI\n ? 'end'\n : 'start'\n }\n dominantBaseline=\"middle\"\n aria-hidden={true}\n className={classes.tickLabel}\n >\n {aTickLabels[aIndex]}\n </text>\n );\n })}\n </g>\n </g>\n );\n }, [\n rTickValues,\n aTickValues,\n rScale,\n aScale,\n outerRadius,\n classes.gridLineOuter,\n classes.tickLabel,\n aTickLabels,\n innerRadius,\n rTickLabels,\n props.direction,\n ]);\n\n const getActiveLegends = React.useCallback(() => {\n return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [hoveredLegend] : [];\n }, [selectedLegends, hoveredLegend]);\n\n const legendHighlighted = React.useCallback(\n (legendTitle: string) => {\n const activeLegends = getActiveLegends();\n return activeLegends.includes(legendTitle) || activeLegends.length === 0;\n },\n [getActiveLegends],\n );\n\n const renderRadialArea = React.useCallback(\n (series: IAreaPolarSeries) => {\n const radialArea = d3AreaRadial<IPolarDataPoint>()\n .angle(d => aScale(d.theta))\n .innerRadius(innerRadius)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .outerRadius(d => rScale(d.r as any)!)\n .curve(getCurveFactory(series.lineOptions?.curve, d3CurveLinearClosed))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .defined(d => isPlottable(aScale(d.theta), rScale(d.r as any)));\n const shouldHighlight = legendHighlighted(series.legend);\n\n return (\n <path\n d={radialArea(series.data)!}\n fill={series.color}\n fillOpacity={shouldHighlight ? 0.7 : 0.1}\n pointerEvents=\"none\"\n />\n );\n },\n [innerRadius, rScale, aScale, legendHighlighted],\n );\n\n const renderRadialLine = React.useCallback(\n (series: IAreaPolarSeries | ILinePolarSeries) => {\n const radialLine = d3LineRadial<IPolarDataPoint>()\n .angle(d => aScale(d.theta))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .radius(d => rScale(d.r as any)!)\n .curve(getCurveFactory(series.lineOptions?.curve))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .defined(d => isPlottable(aScale(d.theta), rScale(d.r as any)));\n\n return (\n <path\n d={radialLine(series.data)!}\n fill=\"none\"\n stroke={series.color}\n strokeOpacity={legendHighlighted(series.legend) ? 1 : 0.1}\n strokeWidth={series.lineOptions?.strokeWidth ?? 3}\n strokeDasharray={series.lineOptions?.strokeDasharray}\n strokeDashoffset={series.lineOptions?.strokeDashoffset}\n strokeLinecap={series.lineOptions?.strokeLinecap}\n pointerEvents=\"none\"\n />\n );\n },\n [rScale, aScale, legendHighlighted],\n );\n\n const [minMarkerSize, maxMarkerSize] = React.useMemo(\n () => d3Extent<number>(chartData.flatMap(series => series.data.map(point => point.markerSize as number))),\n [chartData],\n );\n\n const showCallout = React.useCallback(\n (\n event: React.MouseEvent<SVGElement> | React.FocusEvent<SVGElement>,\n point: IPolarDataPoint,\n pointId: string,\n legend: string,\n ) => {\n setCalloutTarget(event.currentTarget);\n setCalloutVisible(legendHighlighted(legend));\n setCalloutXValue(point.angularAxisCalloutData ?? formatAngle(point.theta, props.angularAxis?.unit));\n setCalloutLegend(legend);\n setCalloutColor(point.color!);\n setCalloutYValue(\n point.radialAxisCalloutData ?? (formatToLocaleString(point.r, props.culture, props.useUTC) as string),\n );\n setActivePoint(pointId);\n },\n [legendHighlighted, props.angularAxis?.unit, props.culture, props.useUTC],\n );\n\n const hideCallout = React.useCallback(() => {\n setCalloutVisible(false);\n setActivePoint('');\n }, []);\n\n const markersOnlyMode = React.useMemo(\n () => chartData.filter(s => s.type === 'areapolar' || s.type === 'linepolar').length === 0,\n [chartData],\n );\n\n const renderRadialPoints = React.useCallback(\n (series: IAreaPolarSeries | ILinePolarSeries | IScatterPolarSeries, seriesIndex: number) => {\n const shouldHighlight = legendHighlighted(series.legend);\n return (\n <g>\n {series.data.map((point, pointIndex) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!isPlottable(aScale(point.theta), rScale(point.r as any))) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [x, y] = d3PointRadial(aScale(point.theta), rScale(point.r as any)!);\n const id = `${seriesIndex}-${pointIndex}`;\n const isActive = activePoint === id;\n const minPx = markersOnlyMode ? MIN_MARKER_SIZE_PX_MARKERS_ONLY : MIN_MARKER_SIZE_PX;\n let radius = minPx;\n if (typeof point.markerSize !== 'undefined' && minMarkerSize !== maxMarkerSize) {\n radius =\n minPx +\n ((point.markerSize - minMarkerSize!) / (maxMarkerSize! - minMarkerSize!)) *\n (MAX_MARKER_SIZE_PX - minPx);\n }\n\n const xValue =\n point.radialAxisCalloutData || (formatToLocaleString(point.r, props.culture, props.useUTC) as string);\n const legend = series.legend;\n const yValue = point.angularAxisCalloutData || formatAngle(point.theta, props.angularAxis?.unit);\n const ariaLabel = point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n\n return (\n <circle\n key={pointIndex}\n cx={x}\n cy={y}\n r={radius}\n fill={isActive ? props.theme!.semanticColors.bodyBackground : point.color}\n stroke={isActive ? point.color : 'none'}\n strokeWidth={isActive ? 2 : 0}\n opacity={shouldHighlight ? 1 : 0.1}\n data-is-focusable={shouldHighlight ? 0 : -1}\n onMouseOver={e => showCallout(e, point, id, series.legend)}\n onFocus={e => showCallout(e, point, id, series.legend)}\n role=\"img\"\n aria-label={ariaLabel}\n />\n );\n })}\n </g>\n );\n },\n [\n legendHighlighted,\n rScale,\n aScale,\n activePoint,\n showCallout,\n minMarkerSize,\n maxMarkerSize,\n markersOnlyMode,\n props.angularAxis?.unit,\n props.culture,\n props.useUTC,\n props.theme,\n ],\n );\n\n const onLegendSelectionChange = React.useCallback(\n (_selectedLegends: string[], event: React.MouseEvent<HTMLButtonElement>, currentLegend?: ILegend) => {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(_selectedLegends);\n } else {\n setSelectedLegends(_selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(_selectedLegends, event, currentLegend);\n }\n },\n [props.legendProps],\n );\n\n const renderLegends = React.useCallback(() => {\n if (props.hideLegend) {\n return null;\n }\n\n const legends: ILegend[] = Object.keys(legendColorMap.current).map(legendTitle => {\n return {\n title: legendTitle,\n color: legendColorMap.current[legendTitle],\n hoverAction: () => {\n setHoveredLegend(legendTitle);\n },\n onMouseOutAction: () => {\n setHoveredLegend('');\n },\n };\n });\n\n return (\n <div ref={legendContainerRef} className={classes.legendContainer}>\n <Legends\n legends={legends}\n centerLegends\n onChange={onLegendSelectionChange}\n ref={legendsRef}\n {...props.legendProps}\n />\n </div>\n );\n }, [props.hideLegend, props.legendProps, legendsRef, onLegendSelectionChange, classes.legendContainer]);\n\n return (\n <div className={classes.root} ref={chartContainerRef} onMouseLeave={hideCallout} onBlur={hideCallout}>\n <FocusZone direction={FocusZoneDirection.horizontal} className={classes.chartWrapper}>\n <svg\n className={classes.chart}\n width={svgWidth}\n height={svgHeight}\n role=\"region\"\n aria-label={\n (props.chartTitle ? `${props.chartTitle}. ` : '') + `Polar chart with ${chartData.length} data series.`\n }\n >\n <g transform={`translate(${svgWidth / 2}, ${svgHeight / 2})`}>\n {renderPolarGrid()}\n <g>\n {chartData.map((series, seriesIndex) => {\n return (\n <g\n key={seriesIndex}\n role=\"region\"\n aria-label={`${series.legend}, series ${seriesIndex + 1} of ${chartData.length} with ${\n series.data.length\n } data points.`}\n >\n {series.type === 'areapolar' && renderRadialArea(series)}\n {(series.type === 'areapolar' || series.type === 'linepolar') && renderRadialLine(series)}\n {renderRadialPoints(series, seriesIndex)}\n </g>\n );\n })}\n </g>\n {renderPolarTicks()}\n </g>\n </svg>\n </FocusZone>\n {renderLegends()}\n {!props.hideTooltip && (\n <Callout\n hidden={!isCalloutVisible}\n target={calloutTarget}\n directionalHint={DirectionalHint.topAutoEdge}\n gapSpace={15}\n isBeakVisible={false}\n onDismiss={hideCallout}\n {...props.calloutProps}\n >\n <ChartHoverCard\n XValue={calloutXValue}\n Legend={calloutLegend}\n color={calloutColor}\n YValue={calloutYValue}\n culture={props.culture}\n />\n </Callout>\n )}\n </div>\n );\n});\n\nPolarChartBase.displayName = 'PolarChart';\n"]}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { IPolarChartProps } from './PolarChart.types';
3
+ /**
4
+ * PolarChart component.
5
+ * {@docCategory PolarChart}
6
+ */
7
+ export declare const PolarChart: React.FunctionComponent<IPolarChartProps>;
@@ -0,0 +1,11 @@
1
+ define(["require", "exports", "@fluentui/react/lib/Utilities", "./PolarChart.base", "./PolarChart.styles"], function (require, exports, Utilities_1, PolarChart_base_1, PolarChart_styles_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PolarChart = void 0;
5
+ /**
6
+ * PolarChart component.
7
+ * {@docCategory PolarChart}
8
+ */
9
+ exports.PolarChart = (0, Utilities_1.styled)(PolarChart_base_1.PolarChartBase, PolarChart_styles_1.getStyles);
10
+ });
11
+ //# sourceMappingURL=PolarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolarChart.js","sourceRoot":"../src/","sources":["components/PolarChart/PolarChart.tsx"],"names":[],"mappings":";;;;IAMA;;;OAGG;IACU,QAAA,UAAU,GAA8C,IAAA,kBAAM,EAIzE,gCAAc,EAAE,6BAAS,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { styled } from '@fluentui/react/lib/Utilities';\nimport { IPolarChartProps, IPolarChartStyleProps, IPolarChartStyles } from './PolarChart.types';\nimport { PolarChartBase } from './PolarChart.base';\nimport { getStyles } from './PolarChart.styles';\n\n/**\n * PolarChart component.\n * {@docCategory PolarChart}\n */\nexport const PolarChart: React.FunctionComponent<IPolarChartProps> = styled<\n IPolarChartProps,\n IPolarChartStyleProps,\n IPolarChartStyles\n>(PolarChartBase, getStyles);\n"]}
@@ -0,0 +1,2 @@
1
+ import { IPolarChartStyleProps, IPolarChartStyles } from './PolarChart.types';
2
+ export declare const getStyles: (props: IPolarChartStyleProps) => IPolarChartStyles;
@@ -0,0 +1,43 @@
1
+ define(["require", "exports", "tslib", "@fluentui/react"], function (require, exports, tslib_1, react_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getStyles = void 0;
5
+ var getStyles = function (props) {
6
+ var theme = props.theme;
7
+ return {
8
+ root: tslib_1.__assign(tslib_1.__assign({}, theme.fonts.medium), { display: 'flex', flexDirection: 'column', alignItems: 'center', width: '100%', height: '100%', textAlign: 'left' }),
9
+ chart: {
10
+ display: 'block',
11
+ },
12
+ gridLineInner: [
13
+ {
14
+ opacity: 0.2,
15
+ },
16
+ getGridLineStyle(theme),
17
+ ],
18
+ gridLineOuter: [
19
+ {
20
+ opacity: 1,
21
+ },
22
+ getGridLineStyle(theme),
23
+ ],
24
+ tickLabel: {
25
+ fontSize: react_1.FontSizes.mini,
26
+ fontWeight: react_1.FontWeights.semibold,
27
+ fill: theme.palette.neutralPrimary,
28
+ },
29
+ legendContainer: {
30
+ width: '100%',
31
+ },
32
+ };
33
+ };
34
+ exports.getStyles = getStyles;
35
+ var getGridLineStyle = function (theme) {
36
+ return {
37
+ fill: 'none',
38
+ stroke: theme.palette.neutralPrimary,
39
+ strokeWidth: '1px',
40
+ };
41
+ };
42
+ });
43
+ //# sourceMappingURL=PolarChart.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolarChart.styles.js","sourceRoot":"../src/","sources":["components/PolarChart/PolarChart.styles.ts"],"names":[],"mappings":";;;;IAGO,IAAM,SAAS,GAAG,UAAC,KAA4B;QAC5C,IAAA,KAAK,GAAK,KAAK,MAAV,CAAW;QAExB,OAAO;YACL,IAAI,wCACC,KAAK,CAAC,KAAK,CAAC,MAAM,KACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAClB;YAED,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;aACjB;YAED,aAAa,EAAE;gBACb;oBACE,OAAO,EAAE,GAAG;iBACb;gBACD,gBAAgB,CAAC,KAAK,CAAC;aACxB;YAED,aAAa,EAAE;gBACb;oBACE,OAAO,EAAE,CAAC;iBACX;gBACD,gBAAgB,CAAC,KAAK,CAAC;aACxB;YAED,SAAS,EAAE;gBACT,QAAQ,EAAE,iBAAS,CAAC,IAAI;gBACxB,UAAU,EAAE,mBAAW,CAAC,QAAQ;gBAChC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;aACnC;YAED,eAAe,EAAE;gBACf,KAAK,EAAE,MAAM;aACd;SACF,CAAC;IACJ,CAAC,CAAC;IA1CW,QAAA,SAAS,aA0CpB;IAEF,IAAM,gBAAgB,GAAG,UAAC,KAAa;QACrC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;YACpC,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC,CAAC","sourcesContent":["import { FontSizes, FontWeights, IStyle, ITheme } from '@fluentui/react';\nimport { IPolarChartStyleProps, IPolarChartStyles } from './PolarChart.types';\n\nexport const getStyles = (props: IPolarChartStyleProps): IPolarChartStyles => {\n const { theme } = props;\n\n return {\n root: {\n ...theme.fonts.medium,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n height: '100%',\n textAlign: 'left',\n },\n\n chart: {\n display: 'block',\n },\n\n gridLineInner: [\n {\n opacity: 0.2,\n },\n getGridLineStyle(theme),\n ],\n\n gridLineOuter: [\n {\n opacity: 1,\n },\n getGridLineStyle(theme),\n ],\n\n tickLabel: {\n fontSize: FontSizes.mini,\n fontWeight: FontWeights.semibold,\n fill: theme.palette.neutralPrimary,\n },\n\n legendContainer: {\n width: '100%',\n },\n };\n};\n\nconst getGridLineStyle = (theme: ITheme): IStyle => {\n return {\n fill: 'none',\n stroke: theme.palette.neutralPrimary,\n strokeWidth: '1px',\n };\n};\n"]}