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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/CHANGELOG.md +16 -16
  2. package/dist/index.d.ts +3337 -0
  3. package/lib/AreaChart.js +1 -0
  4. package/lib/AreaChart.js.map +1 -0
  5. package/lib/CartesianChart.js +1 -0
  6. package/lib/CartesianChart.js.map +1 -0
  7. package/lib/DeclarativeChart.js +1 -0
  8. package/lib/DeclarativeChart.js.map +1 -0
  9. package/lib/DonutChart.js +1 -0
  10. package/lib/DonutChart.js.map +1 -0
  11. package/lib/GaugeChart.js +1 -0
  12. package/lib/GaugeChart.js.map +1 -0
  13. package/lib/GroupedVerticalBarChart.js +1 -0
  14. package/lib/GroupedVerticalBarChart.js.map +1 -0
  15. package/lib/HeatMapChart.js +1 -0
  16. package/lib/HeatMapChart.js.map +1 -0
  17. package/lib/HorizontalBarChart.js +1 -0
  18. package/lib/HorizontalBarChart.js.map +1 -0
  19. package/lib/HorizontalBarChartWithAxis.js +1 -0
  20. package/lib/HorizontalBarChartWithAxis.js.map +1 -0
  21. package/lib/Legends.js +1 -0
  22. package/lib/Legends.js.map +1 -0
  23. package/lib/LineChart.js +1 -0
  24. package/lib/LineChart.js.map +1 -0
  25. package/lib/Popover.js +1 -0
  26. package/lib/Popover.js.map +1 -0
  27. package/lib/ResponsiveContainer.js +1 -0
  28. package/lib/ResponsiveContainer.js.map +1 -0
  29. package/lib/SankeyChart.js +1 -0
  30. package/lib/SankeyChart.js.map +1 -0
  31. package/lib/ScatterChart.js +1 -0
  32. package/lib/ScatterChart.js.map +1 -0
  33. package/lib/Sparkline.js +1 -0
  34. package/lib/Sparkline.js.map +1 -0
  35. package/lib/VerticalBarChart.js +1 -0
  36. package/lib/VerticalBarChart.js.map +1 -0
  37. package/lib/VerticalStackedBarChart.js +1 -0
  38. package/lib/VerticalStackedBarChart.js.map +1 -0
  39. package/lib/components/AreaChart/AreaChart.js +775 -0
  40. package/lib/components/AreaChart/AreaChart.js.map +1 -0
  41. package/lib/components/AreaChart/AreaChart.types.js +4 -0
  42. package/lib/components/AreaChart/AreaChart.types.js.map +1 -0
  43. package/lib/components/AreaChart/index.js +3 -0
  44. package/lib/components/AreaChart/index.js.map +1 -0
  45. package/lib/components/AreaChart/useAreaChartStyles.styles.js +64 -0
  46. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  47. package/lib/components/CommonComponents/CartesianChart.js +478 -0
  48. package/lib/components/CommonComponents/CartesianChart.js.map +1 -0
  49. package/lib/components/CommonComponents/CartesianChart.types.js +1 -0
  50. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -0
  51. package/lib/components/CommonComponents/ChartPopover.js +187 -0
  52. package/lib/components/CommonComponents/ChartPopover.js.map +1 -0
  53. package/lib/components/CommonComponents/ChartPopover.types.js +1 -0
  54. package/lib/components/CommonComponents/ChartPopover.types.js.map +1 -0
  55. package/lib/components/CommonComponents/index.js +4 -0
  56. package/lib/components/CommonComponents/index.js.map +1 -0
  57. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +229 -0
  58. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  59. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +178 -0
  60. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  61. package/lib/components/DeclarativeChart/DeclarativeChart.js +197 -0
  62. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  63. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +811 -0
  64. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  65. package/lib/components/DeclarativeChart/imageExporter.js +221 -0
  66. package/lib/components/DeclarativeChart/imageExporter.js.map +1 -0
  67. package/lib/components/DeclarativeChart/index.js +1 -0
  68. package/lib/components/DeclarativeChart/index.js.map +1 -0
  69. package/lib/components/DonutChart/Arc/Arc.js +110 -0
  70. package/lib/components/DonutChart/Arc/Arc.js.map +1 -0
  71. package/lib/components/DonutChart/Arc/Arc.types.js +1 -0
  72. package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -0
  73. package/lib/components/DonutChart/Arc/index.js +2 -0
  74. package/lib/components/DonutChart/Arc/index.js.map +1 -0
  75. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +54 -0
  76. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  77. package/lib/components/DonutChart/DonutChart.js +291 -0
  78. package/lib/components/DonutChart/DonutChart.js.map +1 -0
  79. package/lib/components/DonutChart/DonutChart.types.js +1 -0
  80. package/lib/components/DonutChart/DonutChart.types.js.map +1 -0
  81. package/lib/components/DonutChart/Pie/Pie.js +72 -0
  82. package/lib/components/DonutChart/Pie/Pie.js.map +1 -0
  83. package/lib/components/DonutChart/Pie/Pie.types.js +1 -0
  84. package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -0
  85. package/lib/components/DonutChart/Pie/index.js +2 -0
  86. package/lib/components/DonutChart/Pie/index.js.map +1 -0
  87. package/lib/components/DonutChart/Pie/usePieStyles.styles.js +44 -0
  88. package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  89. package/lib/components/DonutChart/index.js +3 -0
  90. package/lib/components/DonutChart/index.js.map +1 -0
  91. package/lib/components/DonutChart/useDonutChartStyles.styles.js +58 -0
  92. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  93. package/lib/components/GaugeChart/GaugeChart.js +592 -0
  94. package/lib/components/GaugeChart/GaugeChart.js.map +1 -0
  95. package/lib/components/GaugeChart/GaugeChart.types.js +4 -0
  96. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -0
  97. package/lib/components/GaugeChart/index.js +3 -0
  98. package/lib/components/GaugeChart/index.js.map +1 -0
  99. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +174 -0
  100. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  101. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +501 -0
  102. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  103. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +4 -0
  104. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  105. package/lib/components/GroupedVerticalBarChart/index.js +3 -0
  106. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -0
  107. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +90 -0
  108. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  109. package/lib/components/HeatMapChart/HeatMapChart.js +588 -0
  110. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -0
  111. package/lib/components/HeatMapChart/HeatMapChart.types.js +4 -0
  112. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  113. package/lib/components/HeatMapChart/index.js +3 -0
  114. package/lib/components/HeatMapChart/index.js.map +1 -0
  115. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +46 -0
  116. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  117. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +402 -0
  118. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  119. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +6 -0
  120. package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  121. package/lib/components/HorizontalBarChart/index.js +3 -0
  122. package/lib/components/HorizontalBarChart/index.js.map +1 -0
  123. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +163 -0
  124. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  125. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +571 -0
  126. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  127. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +4 -0
  128. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  129. package/lib/components/HorizontalBarChartWithAxis/index.js +3 -0
  130. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  131. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +76 -0
  132. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  133. package/lib/components/Legends/Legends.js +303 -0
  134. package/lib/components/Legends/Legends.js.map +1 -0
  135. package/lib/components/Legends/Legends.types.js +1 -0
  136. package/lib/components/Legends/Legends.types.js.map +1 -0
  137. package/lib/components/Legends/OverflowMenu.js +25 -0
  138. package/lib/components/Legends/OverflowMenu.js.map +1 -0
  139. package/lib/components/Legends/index.js +3 -0
  140. package/lib/components/Legends/index.js.map +1 -0
  141. package/lib/components/Legends/shape.js +35 -0
  142. package/lib/components/Legends/shape.js.map +1 -0
  143. package/lib/components/Legends/useLegendsStyles.styles.js +147 -0
  144. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -0
  145. package/lib/components/LineChart/LineChart.js +1034 -0
  146. package/lib/components/LineChart/LineChart.js.map +1 -0
  147. package/lib/components/LineChart/LineChart.types.js +3 -0
  148. package/lib/components/LineChart/LineChart.types.js.map +1 -0
  149. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +119 -0
  150. package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  151. package/lib/components/LineChart/eventAnnotation/LabelLink.js +57 -0
  152. package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  153. package/lib/components/LineChart/eventAnnotation/Textbox.js +40 -0
  154. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  155. package/lib/components/LineChart/index.js +4 -0
  156. package/lib/components/LineChart/index.js.map +1 -0
  157. package/lib/components/LineChart/useLineChartStyles.styles.js +65 -0
  158. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  159. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +65 -0
  160. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  161. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js +1 -0
  162. package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  163. package/lib/components/ResponsiveContainer/index.js +1 -0
  164. package/lib/components/ResponsiveContainer/index.js.map +1 -0
  165. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +23 -0
  166. package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  167. package/lib/components/SankeyChart/SankeyChart.js +1022 -0
  168. package/lib/components/SankeyChart/SankeyChart.js.map +1 -0
  169. package/lib/components/SankeyChart/SankeyChart.types.js +3 -0
  170. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -0
  171. package/lib/components/SankeyChart/index.js +3 -0
  172. package/lib/components/SankeyChart/index.js.map +1 -0
  173. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +109 -0
  174. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  175. package/lib/components/ScatterChart/ScatterChart.js +465 -0
  176. package/lib/components/ScatterChart/ScatterChart.js.map +1 -0
  177. package/lib/components/ScatterChart/ScatterChart.types.js +4 -0
  178. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -0
  179. package/lib/components/ScatterChart/index.js +3 -0
  180. package/lib/components/ScatterChart/index.js.map +1 -0
  181. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +65 -0
  182. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  183. package/lib/components/Sparkline/Sparkline.js +119 -0
  184. package/lib/components/Sparkline/Sparkline.js.map +1 -0
  185. package/lib/components/Sparkline/Sparkline.types.js +4 -0
  186. package/lib/components/Sparkline/Sparkline.types.js.map +1 -0
  187. package/lib/components/Sparkline/index.js +3 -0
  188. package/lib/components/Sparkline/index.js.map +1 -0
  189. package/lib/components/Sparkline/useSparklineStyles.styles.js +49 -0
  190. package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  191. package/lib/components/VerticalBarChart/VerticalBarChart.js +926 -0
  192. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  193. package/lib/components/VerticalBarChart/VerticalBarChart.types.js +4 -0
  194. package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  195. package/lib/components/VerticalBarChart/index.js +3 -0
  196. package/lib/components/VerticalBarChart/index.js.map +1 -0
  197. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +74 -0
  198. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  199. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +904 -0
  200. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  201. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +1 -0
  202. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  203. package/lib/components/VerticalStackedBarChart/index.js +3 -0
  204. package/lib/components/VerticalStackedBarChart/index.js.map +1 -0
  205. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +73 -0
  206. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  207. package/lib/index.js +20 -0
  208. package/lib/index.js.map +1 -0
  209. package/lib/types/DataPoint.js +1 -0
  210. package/lib/types/DataPoint.js.map +1 -0
  211. package/lib/types/EventAnnotation.js +1 -0
  212. package/lib/types/EventAnnotation.js.map +1 -0
  213. package/lib/types/LegendDataItem.js +1 -0
  214. package/lib/types/LegendDataItem.js.map +1 -0
  215. package/lib/types/index.js +2 -0
  216. package/lib/types/index.js.map +1 -0
  217. package/lib/utilities/FocusableTooltipText.js +65 -0
  218. package/lib/utilities/FocusableTooltipText.js.map +1 -0
  219. package/lib/utilities/KeyCodes.js +8 -0
  220. package/lib/utilities/KeyCodes.js.map +1 -0
  221. package/lib/utilities/SVGTooltipText.js +183 -0
  222. package/lib/utilities/SVGTooltipText.js.map +1 -0
  223. package/lib/utilities/async-utils.js +380 -0
  224. package/lib/utilities/async-utils.js.map +1 -0
  225. package/lib/utilities/colors.js +269 -0
  226. package/lib/utilities/colors.js.map +1 -0
  227. package/lib/utilities/getWindow.js +25 -0
  228. package/lib/utilities/getWindow.js.map +1 -0
  229. package/lib/utilities/index.js +3 -0
  230. package/lib/utilities/index.js.map +1 -0
  231. package/lib/utilities/locale-util.js +15 -0
  232. package/lib/utilities/locale-util.js.map +1 -0
  233. package/lib/utilities/overflow-utils.js +27 -0
  234. package/lib/utilities/overflow-utils.js.map +1 -0
  235. package/lib/utilities/string.js +32 -0
  236. package/lib/utilities/string.js.map +1 -0
  237. package/lib/utilities/test-data.js +329 -0
  238. package/lib/utilities/test-data.js.map +1 -0
  239. package/lib/utilities/utilities.js +1405 -0
  240. package/lib/utilities/utilities.js.map +1 -0
  241. package/lib/utilities/vbc-utils.js +27 -0
  242. package/lib/utilities/vbc-utils.js.map +1 -0
  243. package/lib-commonjs/AreaChart.js +6 -0
  244. package/lib-commonjs/AreaChart.js.map +1 -0
  245. package/lib-commonjs/CartesianChart.js +6 -0
  246. package/lib-commonjs/CartesianChart.js.map +1 -0
  247. package/lib-commonjs/DeclarativeChart.js +6 -0
  248. package/lib-commonjs/DeclarativeChart.js.map +1 -0
  249. package/lib-commonjs/DonutChart.js +6 -0
  250. package/lib-commonjs/DonutChart.js.map +1 -0
  251. package/lib-commonjs/GaugeChart.js +6 -0
  252. package/lib-commonjs/GaugeChart.js.map +1 -0
  253. package/lib-commonjs/GroupedVerticalBarChart.js +6 -0
  254. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -0
  255. package/lib-commonjs/HeatMapChart.js +6 -0
  256. package/lib-commonjs/HeatMapChart.js.map +1 -0
  257. package/lib-commonjs/HorizontalBarChart.js +6 -0
  258. package/lib-commonjs/HorizontalBarChart.js.map +1 -0
  259. package/lib-commonjs/HorizontalBarChartWithAxis.js +6 -0
  260. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -0
  261. package/lib-commonjs/Legends.js +6 -0
  262. package/lib-commonjs/Legends.js.map +1 -0
  263. package/lib-commonjs/LineChart.js +6 -0
  264. package/lib-commonjs/LineChart.js.map +1 -0
  265. package/lib-commonjs/Popover.js +6 -0
  266. package/lib-commonjs/Popover.js.map +1 -0
  267. package/lib-commonjs/ResponsiveContainer.js +6 -0
  268. package/lib-commonjs/ResponsiveContainer.js.map +1 -0
  269. package/lib-commonjs/SankeyChart.js +6 -0
  270. package/lib-commonjs/SankeyChart.js.map +1 -0
  271. package/lib-commonjs/ScatterChart.js +6 -0
  272. package/lib-commonjs/ScatterChart.js.map +1 -0
  273. package/lib-commonjs/Sparkline.js +6 -0
  274. package/lib-commonjs/Sparkline.js.map +1 -0
  275. package/lib-commonjs/VerticalBarChart.js +6 -0
  276. package/lib-commonjs/VerticalBarChart.js.map +1 -0
  277. package/lib-commonjs/VerticalStackedBarChart.js +6 -0
  278. package/lib-commonjs/VerticalStackedBarChart.js.map +1 -0
  279. package/lib-commonjs/components/AreaChart/AreaChart.js +781 -0
  280. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -0
  281. package/lib-commonjs/components/AreaChart/AreaChart.types.js +7 -0
  282. package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -0
  283. package/lib-commonjs/components/AreaChart/index.js +8 -0
  284. package/lib-commonjs/components/AreaChart/index.js.map +1 -0
  285. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +104 -0
  286. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -0
  287. package/lib-commonjs/components/CommonComponents/CartesianChart.js +484 -0
  288. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -0
  289. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js +6 -0
  290. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -0
  291. package/lib-commonjs/components/CommonComponents/ChartPopover.js +197 -0
  292. package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -0
  293. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js +4 -0
  294. package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +1 -0
  295. package/lib-commonjs/components/CommonComponents/index.js +9 -0
  296. package/lib-commonjs/components/CommonComponents/index.js.map +1 -0
  297. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +356 -0
  298. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -0
  299. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +261 -0
  300. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -0
  301. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +205 -0
  302. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -0
  303. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +859 -0
  304. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -0
  305. package/lib-commonjs/components/DeclarativeChart/imageExporter.js +231 -0
  306. package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -0
  307. package/lib-commonjs/components/DeclarativeChart/index.js +6 -0
  308. package/lib-commonjs/components/DeclarativeChart/index.js.map +1 -0
  309. package/lib-commonjs/components/DonutChart/Arc/Arc.js +117 -0
  310. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -0
  311. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js +4 -0
  312. package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -0
  313. package/lib-commonjs/components/DonutChart/Arc/index.js +7 -0
  314. package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -0
  315. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +83 -0
  316. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -0
  317. package/lib-commonjs/components/DonutChart/DonutChart.js +298 -0
  318. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -0
  319. package/lib-commonjs/components/DonutChart/DonutChart.types.js +6 -0
  320. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -0
  321. package/lib-commonjs/components/DonutChart/Pie/Pie.js +79 -0
  322. package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -0
  323. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js +4 -0
  324. package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -0
  325. package/lib-commonjs/components/DonutChart/Pie/index.js +7 -0
  326. package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -0
  327. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +61 -0
  328. package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -0
  329. package/lib-commonjs/components/DonutChart/index.js +8 -0
  330. package/lib-commonjs/components/DonutChart/index.js.map +1 -0
  331. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +82 -0
  332. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -0
  333. package/lib-commonjs/components/GaugeChart/GaugeChart.js +621 -0
  334. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -0
  335. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js +7 -0
  336. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -0
  337. package/lib-commonjs/components/GaugeChart/index.js +8 -0
  338. package/lib-commonjs/components/GaugeChart/index.js.map +1 -0
  339. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +252 -0
  340. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  341. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +507 -0
  342. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  343. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +7 -0
  344. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  345. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +8 -0
  346. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -0
  347. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +139 -0
  348. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  349. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +599 -0
  350. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -0
  351. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js +7 -0
  352. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
  353. package/lib-commonjs/components/HeatMapChart/index.js +8 -0
  354. package/lib-commonjs/components/HeatMapChart/index.js.map +1 -0
  355. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +68 -0
  356. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -0
  357. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +408 -0
  358. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
  359. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js +17 -0
  360. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
  361. package/lib-commonjs/components/HorizontalBarChart/index.js +8 -0
  362. package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -0
  363. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +251 -0
  364. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -0
  365. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +580 -0
  366. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  367. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +7 -0
  368. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  369. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +8 -0
  370. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  371. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +116 -0
  372. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -0
  373. package/lib-commonjs/components/Legends/Legends.js +313 -0
  374. package/lib-commonjs/components/Legends/Legends.js.map +1 -0
  375. package/lib-commonjs/components/Legends/Legends.types.js +6 -0
  376. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -0
  377. package/lib-commonjs/components/Legends/OverflowMenu.js +36 -0
  378. package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -0
  379. package/lib-commonjs/components/Legends/index.js +8 -0
  380. package/lib-commonjs/components/Legends/index.js.map +1 -0
  381. package/lib-commonjs/components/Legends/shape.js +46 -0
  382. package/lib-commonjs/components/Legends/shape.js.map +1 -0
  383. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +304 -0
  384. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -0
  385. package/lib-commonjs/components/LineChart/LineChart.js +1040 -0
  386. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -0
  387. package/lib-commonjs/components/LineChart/LineChart.types.js +6 -0
  388. package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -0
  389. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +129 -0
  390. package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
  391. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +68 -0
  392. package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
  393. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +51 -0
  394. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
  395. package/lib-commonjs/components/LineChart/index.js +9 -0
  396. package/lib-commonjs/components/LineChart/index.js.map +1 -0
  397. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +96 -0
  398. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -0
  399. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +76 -0
  400. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -0
  401. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js +6 -0
  402. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -0
  403. package/lib-commonjs/components/ResponsiveContainer/index.js +6 -0
  404. package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -0
  405. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +47 -0
  406. package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +1 -0
  407. package/lib-commonjs/components/SankeyChart/SankeyChart.js +1038 -0
  408. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -0
  409. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js +6 -0
  410. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -0
  411. package/lib-commonjs/components/SankeyChart/index.js +8 -0
  412. package/lib-commonjs/components/SankeyChart/index.js.map +1 -0
  413. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +179 -0
  414. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -0
  415. package/lib-commonjs/components/ScatterChart/ScatterChart.js +471 -0
  416. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -0
  417. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +7 -0
  418. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -0
  419. package/lib-commonjs/components/ScatterChart/index.js +8 -0
  420. package/lib-commonjs/components/ScatterChart/index.js.map +1 -0
  421. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +96 -0
  422. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  423. package/lib-commonjs/components/Sparkline/Sparkline.js +125 -0
  424. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -0
  425. package/lib-commonjs/components/Sparkline/Sparkline.types.js +7 -0
  426. package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -0
  427. package/lib-commonjs/components/Sparkline/index.js +8 -0
  428. package/lib-commonjs/components/Sparkline/index.js.map +1 -0
  429. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +77 -0
  430. package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -0
  431. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +928 -0
  432. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
  433. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js +7 -0
  434. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
  435. package/lib-commonjs/components/VerticalBarChart/index.js +8 -0
  436. package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -0
  437. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +117 -0
  438. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -0
  439. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +915 -0
  440. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
  441. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +6 -0
  442. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
  443. package/lib-commonjs/components/VerticalStackedBarChart/index.js +8 -0
  444. package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -0
  445. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +120 -0
  446. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -0
  447. package/lib-commonjs/index.js +25 -0
  448. package/lib-commonjs/index.js.map +1 -0
  449. package/lib-commonjs/types/DataPoint.js +4 -0
  450. package/lib-commonjs/types/DataPoint.js.map +1 -0
  451. package/lib-commonjs/types/EventAnnotation.js +6 -0
  452. package/lib-commonjs/types/EventAnnotation.js.map +1 -0
  453. package/lib-commonjs/types/LegendDataItem.js +4 -0
  454. package/lib-commonjs/types/LegendDataItem.js.map +1 -0
  455. package/lib-commonjs/types/index.js +7 -0
  456. package/lib-commonjs/types/index.js.map +1 -0
  457. package/lib-commonjs/utilities/FocusableTooltipText.js +75 -0
  458. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -0
  459. package/lib-commonjs/utilities/KeyCodes.js +18 -0
  460. package/lib-commonjs/utilities/KeyCodes.js.map +1 -0
  461. package/lib-commonjs/utilities/SVGTooltipText.js +193 -0
  462. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -0
  463. package/lib-commonjs/utilities/async-utils.js +382 -0
  464. package/lib-commonjs/utilities/async-utils.js.map +1 -0
  465. package/lib-commonjs/utilities/colors.js +293 -0
  466. package/lib-commonjs/utilities/colors.js.map +1 -0
  467. package/lib-commonjs/utilities/getWindow.js +28 -0
  468. package/lib-commonjs/utilities/getWindow.js.map +1 -0
  469. package/lib-commonjs/utilities/index.js +8 -0
  470. package/lib-commonjs/utilities/index.js.map +1 -0
  471. package/lib-commonjs/utilities/locale-util.js +25 -0
  472. package/lib-commonjs/utilities/locale-util.js.map +1 -0
  473. package/lib-commonjs/utilities/overflow-utils.js +36 -0
  474. package/lib-commonjs/utilities/overflow-utils.js.map +1 -0
  475. package/lib-commonjs/utilities/string.js +29 -0
  476. package/lib-commonjs/utilities/string.js.map +1 -0
  477. package/lib-commonjs/utilities/test-data.js +383 -0
  478. package/lib-commonjs/utilities/test-data.js.map +1 -0
  479. package/lib-commonjs/utilities/utilities.js +1371 -0
  480. package/lib-commonjs/utilities/utilities.js.map +1 -0
  481. package/lib-commonjs/utilities/vbc-utils.js +45 -0
  482. package/lib-commonjs/utilities/vbc-utils.js.map +1 -0
  483. package/package.json +13 -13
@@ -0,0 +1,859 @@
1
+ /* eslint-disable one-var */ /* eslint-disable vars-on-top */ /* eslint-disable no-var */ /* eslint-disable @typescript-eslint/no-explicit-any */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ correctYearMonth: function() {
13
+ return correctYearMonth;
14
+ },
15
+ findArrayAttributes: function() {
16
+ return findArrayAttributes;
17
+ },
18
+ getColor: function() {
19
+ return getColor;
20
+ },
21
+ isMonthArray: function() {
22
+ return isMonthArray;
23
+ },
24
+ transformPlotlyJsonToDonutProps: function() {
25
+ return transformPlotlyJsonToDonutProps;
26
+ },
27
+ transformPlotlyJsonToGVBCProps: function() {
28
+ return transformPlotlyJsonToGVBCProps;
29
+ },
30
+ transformPlotlyJsonToGaugeProps: function() {
31
+ return transformPlotlyJsonToGaugeProps;
32
+ },
33
+ transformPlotlyJsonToHeatmapProps: function() {
34
+ return transformPlotlyJsonToHeatmapProps;
35
+ },
36
+ transformPlotlyJsonToHorizontalBarWithAxisProps: function() {
37
+ return transformPlotlyJsonToHorizontalBarWithAxisProps;
38
+ },
39
+ transformPlotlyJsonToSankeyProps: function() {
40
+ return transformPlotlyJsonToSankeyProps;
41
+ },
42
+ transformPlotlyJsonToScatterChartProps: function() {
43
+ return transformPlotlyJsonToScatterChartProps;
44
+ },
45
+ transformPlotlyJsonToVBCProps: function() {
46
+ return transformPlotlyJsonToVBCProps;
47
+ },
48
+ transformPlotlyJsonToVSBCProps: function() {
49
+ return transformPlotlyJsonToVSBCProps;
50
+ }
51
+ });
52
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
53
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
54
+ const _d3array = require("d3-array");
55
+ const _d3scale = require("d3-scale");
56
+ const _colors = require("../../utilities/colors");
57
+ const _utilities = require("../../utilities/utilities");
58
+ const _chartutilities = require("@fluentui/chart-utilities");
59
+ const _d3timeformat = require("d3-time-format");
60
+ const _d3shape = require("d3-shape");
61
+ const dashOptions = {
62
+ dot: {
63
+ strokeDasharray: '1, 5',
64
+ strokeLinecap: 'round',
65
+ strokeWidth: '2',
66
+ lineBorderWidth: '4'
67
+ },
68
+ dash: {
69
+ strokeDasharray: '5, 5',
70
+ strokeLinecap: 'butt',
71
+ strokeWidth: '2',
72
+ lineBorderWidth: '4'
73
+ },
74
+ longdash: {
75
+ strokeDasharray: '10, 5',
76
+ strokeLinecap: 'butt',
77
+ strokeWidth: '2',
78
+ lineBorderWidth: '4'
79
+ },
80
+ dashdot: {
81
+ strokeDasharray: '5, 5, 1, 5',
82
+ strokeLinecap: 'butt',
83
+ strokeWidth: '2',
84
+ lineBorderWidth: '4'
85
+ },
86
+ longdashdot: {
87
+ strokeDasharray: '10, 5, 1, 5',
88
+ strokeLinecap: 'butt',
89
+ strokeWidth: '2',
90
+ lineBorderWidth: '4'
91
+ },
92
+ solid: {
93
+ strokeDasharray: '0',
94
+ strokeLinecap: 'butt',
95
+ strokeWidth: '2',
96
+ lineBorderWidth: '4'
97
+ }
98
+ };
99
+ const isMonth = (possiblyMonthValue)=>{
100
+ const parseFullMonth = (0, _d3timeformat.timeParse)('%B');
101
+ const parseShortMonth = (0, _d3timeformat.timeParse)('%b');
102
+ return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;
103
+ };
104
+ const isMonthArray = (data)=>{
105
+ return (0, _chartutilities.isArrayOfType)(data, isMonth);
106
+ };
107
+ const getLegend = (series, index)=>{
108
+ return series.name || `Series ${index + 1}`;
109
+ };
110
+ function getTitles(layout) {
111
+ var _layout_title, _layout_xaxis, _layout_xaxis1, _layout_xaxis_title, _layout_xaxis2, _layout_yaxis, _layout_yaxis1, _layout_yaxis_title, _layout_yaxis2;
112
+ var _layout_title_text, _layout_xaxis_title_text, _layout_yaxis_title_text;
113
+ const titles = {
114
+ chartTitle: typeof (layout === null || layout === void 0 ? void 0 : layout.title) === 'string' ? layout.title : (_layout_title_text = layout === null || layout === void 0 ? void 0 : (_layout_title = layout.title) === null || _layout_title === void 0 ? void 0 : _layout_title.text) !== null && _layout_title_text !== void 0 ? _layout_title_text : '',
115
+ xAxisTitle: typeof (layout === null || layout === void 0 ? void 0 : (_layout_xaxis = layout.xaxis) === null || _layout_xaxis === void 0 ? void 0 : _layout_xaxis.title) === 'string' ? layout === null || layout === void 0 ? void 0 : (_layout_xaxis1 = layout.xaxis) === null || _layout_xaxis1 === void 0 ? void 0 : _layout_xaxis1.title : (_layout_xaxis_title_text = layout === null || layout === void 0 ? void 0 : (_layout_xaxis2 = layout.xaxis) === null || _layout_xaxis2 === void 0 ? void 0 : (_layout_xaxis_title = _layout_xaxis2.title) === null || _layout_xaxis_title === void 0 ? void 0 : _layout_xaxis_title.text) !== null && _layout_xaxis_title_text !== void 0 ? _layout_xaxis_title_text : '',
116
+ yAxisTitle: typeof (layout === null || layout === void 0 ? void 0 : (_layout_yaxis = layout.yaxis) === null || _layout_yaxis === void 0 ? void 0 : _layout_yaxis.title) === 'string' ? layout === null || layout === void 0 ? void 0 : (_layout_yaxis1 = layout.yaxis) === null || _layout_yaxis1 === void 0 ? void 0 : _layout_yaxis1.title : (_layout_yaxis_title_text = layout === null || layout === void 0 ? void 0 : (_layout_yaxis2 = layout.yaxis) === null || _layout_yaxis2 === void 0 ? void 0 : (_layout_yaxis_title = _layout_yaxis2.title) === null || _layout_yaxis_title === void 0 ? void 0 : _layout_yaxis_title.text) !== null && _layout_yaxis_title_text !== void 0 ? _layout_yaxis_title_text : ''
117
+ };
118
+ return titles;
119
+ }
120
+ const correctYearMonth = (xValues)=>{
121
+ const presentYear = new Date().getFullYear();
122
+ if (xValues.length > 0 && Array.isArray(xValues[0])) {
123
+ throw new Error('updateXValues:: 2D array not supported');
124
+ }
125
+ const dates = xValues.map((possiblyMonthValue)=>{
126
+ const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;
127
+ return (0, _chartutilities.isDate)(parsedDate) ? new Date(parsedDate) : null;
128
+ });
129
+ for(let i = dates.length - 1; i > 0; i--){
130
+ const currentMonth = dates[i].getMonth();
131
+ const previousMonth = dates[i - 1].getMonth();
132
+ const currentYear = dates[i].getFullYear();
133
+ const previousYear = dates[i - 1].getFullYear();
134
+ if (previousMonth >= currentMonth) {
135
+ dates[i - 1].setFullYear(dates[i].getFullYear() - 1);
136
+ } else if (previousYear > currentYear) {
137
+ dates[i - 1].setFullYear(currentYear);
138
+ }
139
+ }
140
+ xValues = xValues.map((month, index)=>{
141
+ return `${month} 01, ${dates[index].getFullYear()}`;
142
+ });
143
+ return xValues;
144
+ };
145
+ const getColor = (legendLabel, colorMap, isDarkTheme)=>{
146
+ if (!colorMap.current.has(legendLabel)) {
147
+ const nextColor = (0, _colors.getNextColor)(colorMap.current.size + 1, 0, isDarkTheme);
148
+ colorMap.current.set(legendLabel, nextColor);
149
+ return nextColor;
150
+ }
151
+ return colorMap.current.get(legendLabel);
152
+ };
153
+ const getSecondaryYAxisValues = (series, layout)=>{
154
+ const secondaryYAxisValues = {};
155
+ if (layout && layout.yaxis2 && series.yaxis === 'y2') {
156
+ var _layout_yaxis2_title;
157
+ secondaryYAxisValues.secondaryYAxistitle = typeof layout.yaxis2.title === 'string' ? layout.yaxis2.title : typeof ((_layout_yaxis2_title = layout.yaxis2.title) === null || _layout_yaxis2_title === void 0 ? void 0 : _layout_yaxis2_title.text) === 'string' ? layout.yaxis2.title.text : '';
158
+ if (layout.yaxis2.range) {
159
+ secondaryYAxisValues.secondaryYScaleOptions = {
160
+ yMinValue: layout.yaxis2.range[0],
161
+ yMaxValue: layout.yaxis2.range[1]
162
+ };
163
+ } else {
164
+ const yValues = series.y;
165
+ if (yValues) {
166
+ secondaryYAxisValues.secondaryYScaleOptions = {
167
+ yMinValue: Math.min(...yValues),
168
+ yMaxValue: Math.max(...yValues)
169
+ };
170
+ }
171
+ }
172
+ }
173
+ secondaryYAxisValues.secondaryYAxistitle = secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;
174
+ secondaryYAxisValues.secondaryYScaleOptions = secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0 ? secondaryYAxisValues.secondaryYScaleOptions : undefined;
175
+ return secondaryYAxisValues;
176
+ };
177
+ const transformPlotlyJsonToDonutProps = (input, colorMap, isDarkTheme)=>{
178
+ var _firstData_labels, _input_layout, _input_layout1, _input_layout2, _input_layout3;
179
+ const firstData = input.data[0];
180
+ const mapLegendToDataPoint = {};
181
+ (_firstData_labels = firstData.labels) === null || _firstData_labels === void 0 ? void 0 : _firstData_labels.forEach((label, index)=>{
182
+ var _firstData_values;
183
+ const color = getColor(label, colorMap, isDarkTheme);
184
+ //ToDo how to handle string data?
185
+ const value = typeof ((_firstData_values = firstData.values) === null || _firstData_values === void 0 ? void 0 : _firstData_values[index]) === 'number' ? firstData.values[index] : 1;
186
+ if (!mapLegendToDataPoint[label]) {
187
+ mapLegendToDataPoint[label] = {
188
+ legend: label,
189
+ data: value,
190
+ color
191
+ };
192
+ } else {
193
+ mapLegendToDataPoint[label].data += value;
194
+ }
195
+ });
196
+ var _input_layout_width;
197
+ const width = (_input_layout_width = (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width) !== null && _input_layout_width !== void 0 ? _input_layout_width : 440;
198
+ var _input_layout_height;
199
+ const height = (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 220;
200
+ const hideLabels = firstData.textinfo ? ![
201
+ 'value',
202
+ 'percent',
203
+ 'label+percent'
204
+ ].includes(firstData.textinfo) : false;
205
+ const donutMarginHorizontal = hideLabels ? 0 : 80;
206
+ const donutMarginVertical = 40 + (hideLabels ? 0 : 40);
207
+ const innerRadius = firstData.hole ? firstData.hole * (Math.min(width - donutMarginHorizontal, height - donutMarginVertical) / 2) : 0;
208
+ const { chartTitle } = getTitles(input.layout);
209
+ return {
210
+ data: {
211
+ chartTitle,
212
+ chartData: Object.values(mapLegendToDataPoint)
213
+ },
214
+ hideLegend: ((_input_layout2 = input.layout) === null || _input_layout2 === void 0 ? void 0 : _input_layout2.showlegend) === false ? true : false,
215
+ width: (_input_layout3 = input.layout) === null || _input_layout3 === void 0 ? void 0 : _input_layout3.width,
216
+ height,
217
+ innerRadius,
218
+ hideLabels,
219
+ showLabelsInPercent: firstData.textinfo ? [
220
+ 'percent',
221
+ 'label+percent'
222
+ ].includes(firstData.textinfo) : true
223
+ };
224
+ };
225
+ const transformPlotlyJsonToVSBCProps = (input, colorMap, isDarkTheme, fallbackVSBC)=>{
226
+ var _input_layout, _input_layout1;
227
+ const mapXToDataPoints = {};
228
+ let yMaxValue = 0;
229
+ let secondaryYAxisValues = {};
230
+ input.data.forEach((series, index1)=>{
231
+ var _series_x;
232
+ (_series_x = series.x) === null || _series_x === void 0 ? void 0 : _series_x.forEach((x, index2)=>{
233
+ var _series_y;
234
+ if (!mapXToDataPoints[x]) {
235
+ mapXToDataPoints[x] = {
236
+ xAxisPoint: x,
237
+ chartData: [],
238
+ lineData: []
239
+ };
240
+ }
241
+ const legend = getLegend(series, index1);
242
+ var _series_y_index2;
243
+ const yVal = (_series_y_index2 = (_series_y = series.y) === null || _series_y === void 0 ? void 0 : _series_y[index2]) !== null && _series_y_index2 !== void 0 ? _series_y_index2 : 0;
244
+ if (series.type === 'bar') {
245
+ const color = getColor(legend, colorMap, isDarkTheme);
246
+ mapXToDataPoints[x].chartData.push({
247
+ legend,
248
+ data: yVal,
249
+ color
250
+ });
251
+ } else if (series.type === 'scatter' || (0, _chartutilities.isLineData)(series) || !!fallbackVSBC) {
252
+ const color = getColor(legend, colorMap, isDarkTheme);
253
+ const lineOptions = getLineOptions(series.line);
254
+ mapXToDataPoints[x].lineData.push({
255
+ legend,
256
+ y: yVal,
257
+ color,
258
+ ...lineOptions ? {
259
+ lineOptions
260
+ } : {}
261
+ });
262
+ }
263
+ yMaxValue = Math.max(yMaxValue, yVal);
264
+ });
265
+ secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
266
+ });
267
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
268
+ var _input_layout_height;
269
+ return {
270
+ data: Object.values(mapXToDataPoints),
271
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
272
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 350,
273
+ barWidth: 'auto',
274
+ yMaxValue,
275
+ chartTitle,
276
+ xAxisTitle,
277
+ yAxisTitle,
278
+ mode: 'plotly',
279
+ secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
280
+ secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
281
+ hideTickOverlap: true
282
+ };
283
+ };
284
+ const transformPlotlyJsonToGVBCProps = (input, colorMap, isDarkTheme)=>{
285
+ var _input_layout, _input_layout1;
286
+ const mapXToDataPoints = {};
287
+ let secondaryYAxisValues = {};
288
+ input.data.forEach((series, index1)=>{
289
+ var _series_x;
290
+ (_series_x = series.x) === null || _series_x === void 0 ? void 0 : _series_x.forEach((x, index2)=>{
291
+ if (!mapXToDataPoints[x]) {
292
+ mapXToDataPoints[x] = {
293
+ name: x.toString(),
294
+ series: []
295
+ };
296
+ }
297
+ if (series.type === 'bar') {
298
+ var _series_y;
299
+ const legend = getLegend(series, index1);
300
+ const color = getColor(legend, colorMap, isDarkTheme);
301
+ var _series_y_index2;
302
+ mapXToDataPoints[x].series.push({
303
+ key: legend,
304
+ data: (_series_y_index2 = (_series_y = series.y) === null || _series_y === void 0 ? void 0 : _series_y[index2]) !== null && _series_y_index2 !== void 0 ? _series_y_index2 : 0,
305
+ xAxisCalloutData: x,
306
+ color,
307
+ legend
308
+ });
309
+ }
310
+ });
311
+ secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
312
+ });
313
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
314
+ var _input_layout_height;
315
+ return {
316
+ data: Object.values(mapXToDataPoints),
317
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
318
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 350,
319
+ barWidth: 'auto',
320
+ chartTitle,
321
+ xAxisTitle,
322
+ yAxisTitle,
323
+ mode: 'plotly',
324
+ secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
325
+ secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
326
+ hideTickOverlap: true
327
+ };
328
+ };
329
+ const transformPlotlyJsonToVBCProps = (input, colorMap, isDarkTheme)=>{
330
+ var _input_layout, _input_layout1;
331
+ const vbcData = [];
332
+ input.data.forEach((series, seriesIdx)=>{
333
+ var _series_xbins, _series_xbins1, _series_xbins2;
334
+ if (!series.x) {
335
+ return;
336
+ }
337
+ const isXString = isStringArray(series.x);
338
+ const xBins = createBins(series.x, (_series_xbins = series.xbins) === null || _series_xbins === void 0 ? void 0 : _series_xbins.start, (_series_xbins1 = series.xbins) === null || _series_xbins1 === void 0 ? void 0 : _series_xbins1.end, (_series_xbins2 = series.xbins) === null || _series_xbins2 === void 0 ? void 0 : _series_xbins2.size);
339
+ const yBins = xBins.map(()=>[]);
340
+ let total = 0;
341
+ series.x.forEach((xVal, index)=>{
342
+ const binIdx = findBinIndex(xBins, xVal, isXString);
343
+ if (binIdx !== -1) {
344
+ var _series_y;
345
+ var _series_y_index;
346
+ yBins[binIdx].push((_series_y_index = (_series_y = series.y) === null || _series_y === void 0 ? void 0 : _series_y[index]) !== null && _series_y_index !== void 0 ? _series_y_index : 1);
347
+ }
348
+ });
349
+ const y = yBins.map((bin)=>{
350
+ const yVal = calculateHistFunc(series.histfunc, bin);
351
+ total += yVal;
352
+ return yVal;
353
+ });
354
+ xBins.forEach((bin, index)=>{
355
+ const legend = getLegend(series, seriesIdx);
356
+ const color = getColor(legend, colorMap, isDarkTheme);
357
+ const yVal = calculateHistNorm(series.histnorm, y[index], total, isXString ? bin.length : getBinSize(bin));
358
+ vbcData.push({
359
+ x: isXString ? bin.join(', ') : getBinCenter(bin),
360
+ y: yVal,
361
+ legend,
362
+ color,
363
+ ...isXString ? {} : {
364
+ xAxisCalloutData: `[${bin.x0} - ${bin.x1})`
365
+ }
366
+ });
367
+ });
368
+ });
369
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
370
+ var _input_layout_height;
371
+ return {
372
+ data: vbcData,
373
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
374
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 350,
375
+ chartTitle,
376
+ xAxisTitle,
377
+ yAxisTitle,
378
+ mode: 'plotly',
379
+ hideTickOverlap: true
380
+ };
381
+ };
382
+ const transformPlotlyJsonToScatterChartProps = (input, isAreaChart, colorMap, isDarkTheme)=>{
383
+ let secondaryYAxisValues = {};
384
+ let mode = 'tonexty';
385
+ const chartData = input.data.map((series, index)=>{
386
+ const xValues = series.x;
387
+ const isString = typeof xValues[0] === 'string';
388
+ const isXDate = (0, _chartutilities.isDateArray)(xValues);
389
+ const isXNumber = (0, _chartutilities.isNumberArray)(xValues);
390
+ const legend = getLegend(series, index);
391
+ const lineColor = getColor(legend, colorMap, isDarkTheme);
392
+ secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
393
+ mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';
394
+ const lineOptions = getLineOptions(series.line);
395
+ return {
396
+ legend,
397
+ data: xValues.map((x, i)=>{
398
+ var _series_marker, _series_marker1;
399
+ return {
400
+ x: isString ? isXDate ? new Date(x) : isXNumber ? parseFloat(x) : x : x,
401
+ y: series.y[i],
402
+ ...Array.isArray((_series_marker = series.marker) === null || _series_marker === void 0 ? void 0 : _series_marker.size) ? {
403
+ markerSize: series.marker.size[i]
404
+ } : typeof ((_series_marker1 = series.marker) === null || _series_marker1 === void 0 ? void 0 : _series_marker1.size) === 'number' ? {
405
+ markerSize: series.marker.size
406
+ } : {}
407
+ };
408
+ }),
409
+ color: lineColor,
410
+ ...lineOptions ? {
411
+ lineOptions
412
+ } : {}
413
+ };
414
+ });
415
+ const yMinMaxValues = (0, _utilities.findNumericMinMaxOfY)(chartData);
416
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
417
+ const chartProps = {
418
+ chartTitle,
419
+ lineChartData: chartData
420
+ };
421
+ if (isAreaChart) {
422
+ var _input_layout, _input_layout1;
423
+ var _input_layout_height;
424
+ return {
425
+ data: chartProps,
426
+ supportNegativeData: true,
427
+ xAxisTitle,
428
+ yAxisTitle,
429
+ secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
430
+ secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
431
+ mode,
432
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
433
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 350,
434
+ hideTickOverlap: true
435
+ };
436
+ } else {
437
+ var _input_layout2, _input_layout3;
438
+ var _input_layout_height1;
439
+ return {
440
+ data: chartProps,
441
+ supportNegativeData: true,
442
+ xAxisTitle,
443
+ yAxisTitle,
444
+ secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
445
+ secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
446
+ roundedTicks: true,
447
+ yMinValue: yMinMaxValues.startValue,
448
+ yMaxValue: yMinMaxValues.endValue,
449
+ width: (_input_layout2 = input.layout) === null || _input_layout2 === void 0 ? void 0 : _input_layout2.width,
450
+ height: (_input_layout_height1 = (_input_layout3 = input.layout) === null || _input_layout3 === void 0 ? void 0 : _input_layout3.height) !== null && _input_layout_height1 !== void 0 ? _input_layout_height1 : 350,
451
+ hideTickOverlap: true,
452
+ enableReflow: false
453
+ };
454
+ }
455
+ };
456
+ const transformPlotlyJsonToHorizontalBarWithAxisProps = (input, colorMap, isDarkTheme)=>{
457
+ var _input_layout, _input_layout_margin, _input_layout1, _input_layout_margin1, _input_layout2, _input_layout_yaxis2, _input_layout3, _input_layout_yaxis21, _input_layout4, _input_layout_yaxis2_title, _input_layout_yaxis22, _input_layout5, _input_layout6;
458
+ const chartData = input.data.map((series, index)=>{
459
+ return series.y.map((yValue, i)=>{
460
+ const color = getColor(yValue, colorMap, isDarkTheme);
461
+ return {
462
+ x: series.x[i],
463
+ y: yValue,
464
+ legend: yValue,
465
+ color
466
+ };
467
+ });
468
+ }).flat() //reversing the order to invert the Y bars order as required by plotly.
469
+ .reverse();
470
+ var _input_layout_height;
471
+ const chartHeight = (_input_layout_height = (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 450;
472
+ var _input_layout_margin_l;
473
+ const margin = (_input_layout_margin_l = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : (_input_layout_margin = _input_layout1.margin) === null || _input_layout_margin === void 0 ? void 0 : _input_layout_margin.l) !== null && _input_layout_margin_l !== void 0 ? _input_layout_margin_l : 0;
474
+ var _input_layout_margin_pad;
475
+ const padding = (_input_layout_margin_pad = (_input_layout2 = input.layout) === null || _input_layout2 === void 0 ? void 0 : (_input_layout_margin1 = _input_layout2.margin) === null || _input_layout_margin1 === void 0 ? void 0 : _input_layout_margin1.pad) !== null && _input_layout_margin_pad !== void 0 ? _input_layout_margin_pad : 0;
476
+ const availableHeight = chartHeight - margin - padding;
477
+ const numberOfBars = input.data[0].y.length;
478
+ const scalingFactor = 0.01;
479
+ const gapFactor = 1 / (1 + scalingFactor * numberOfBars);
480
+ const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));
481
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
482
+ return {
483
+ data: chartData,
484
+ chartTitle,
485
+ xAxisTitle,
486
+ yAxisTitle,
487
+ secondaryYAxistitle: typeof ((_input_layout3 = input.layout) === null || _input_layout3 === void 0 ? void 0 : (_input_layout_yaxis2 = _input_layout3.yaxis2) === null || _input_layout_yaxis2 === void 0 ? void 0 : _input_layout_yaxis2.title) === 'string' ? (_input_layout4 = input.layout) === null || _input_layout4 === void 0 ? void 0 : (_input_layout_yaxis21 = _input_layout4.yaxis2) === null || _input_layout_yaxis21 === void 0 ? void 0 : _input_layout_yaxis21.title : ((_input_layout5 = input.layout) === null || _input_layout5 === void 0 ? void 0 : (_input_layout_yaxis22 = _input_layout5.yaxis2) === null || _input_layout_yaxis22 === void 0 ? void 0 : (_input_layout_yaxis2_title = _input_layout_yaxis22.title) === null || _input_layout_yaxis2_title === void 0 ? void 0 : _input_layout_yaxis2_title.text) || '',
488
+ barHeight,
489
+ showYAxisLables: true,
490
+ height: chartHeight,
491
+ width: (_input_layout6 = input.layout) === null || _input_layout6 === void 0 ? void 0 : _input_layout6.width,
492
+ hideTickOverlap: true
493
+ };
494
+ };
495
+ const transformPlotlyJsonToHeatmapProps = (input)=>{
496
+ var _input_layout, _input_layout1;
497
+ const firstData = input.data[0];
498
+ const heatmapDataPoints = [];
499
+ let zMin = Number.POSITIVE_INFINITY;
500
+ let zMax = Number.NEGATIVE_INFINITY;
501
+ if (firstData.type === 'histogram2d') {
502
+ var _firstData_xbins, _firstData_xbins1, _firstData_xbins2, _firstData_ybins, _firstData_ybins1, _firstData_ybins2, _firstData_x;
503
+ const isXString = isStringArray(firstData.x);
504
+ const isYString = isStringArray(firstData.y);
505
+ const xBins = createBins(firstData.x, (_firstData_xbins = firstData.xbins) === null || _firstData_xbins === void 0 ? void 0 : _firstData_xbins.start, (_firstData_xbins1 = firstData.xbins) === null || _firstData_xbins1 === void 0 ? void 0 : _firstData_xbins1.end, (_firstData_xbins2 = firstData.xbins) === null || _firstData_xbins2 === void 0 ? void 0 : _firstData_xbins2.size);
506
+ const yBins = createBins(firstData.y, (_firstData_ybins = firstData.ybins) === null || _firstData_ybins === void 0 ? void 0 : _firstData_ybins.start, (_firstData_ybins1 = firstData.ybins) === null || _firstData_ybins1 === void 0 ? void 0 : _firstData_ybins1.end, (_firstData_ybins2 = firstData.ybins) === null || _firstData_ybins2 === void 0 ? void 0 : _firstData_ybins2.size);
507
+ const zBins = yBins.map(()=>xBins.map(()=>[]));
508
+ let total = 0;
509
+ (_firstData_x = firstData.x) === null || _firstData_x === void 0 ? void 0 : _firstData_x.forEach((xVal, index)=>{
510
+ var _firstData_y;
511
+ const xBinIdx = findBinIndex(xBins, xVal, isXString);
512
+ const yBinIdx = findBinIndex(yBins, (_firstData_y = firstData.y) === null || _firstData_y === void 0 ? void 0 : _firstData_y[index], isYString);
513
+ if (xBinIdx !== -1 && yBinIdx !== -1) {
514
+ var _firstData_z;
515
+ var _firstData_z_index;
516
+ zBins[yBinIdx][xBinIdx].push((_firstData_z_index = (_firstData_z = firstData.z) === null || _firstData_z === void 0 ? void 0 : _firstData_z[index]) !== null && _firstData_z_index !== void 0 ? _firstData_z_index : 1);
517
+ }
518
+ });
519
+ const z = zBins.map((row)=>{
520
+ return row.map((bin)=>{
521
+ const zVal = calculateHistFunc(firstData.histfunc, bin);
522
+ total += zVal;
523
+ return zVal;
524
+ });
525
+ });
526
+ xBins.forEach((xBin, xIdx)=>{
527
+ yBins.forEach((yBin, yIdx)=>{
528
+ const zVal = calculateHistNorm(firstData.histnorm, z[yIdx][xIdx], total, isXString ? xBin.length : getBinSize(xBin), isYString ? yBin.length : getBinSize(yBin));
529
+ heatmapDataPoints.push({
530
+ x: isXString ? xBin.join(', ') : getBinCenter(xBin),
531
+ y: isYString ? yBin.join(', ') : getBinCenter(yBin),
532
+ value: zVal,
533
+ rectText: zVal
534
+ });
535
+ if (typeof zVal === 'number') {
536
+ zMin = Math.min(zMin, zVal);
537
+ zMax = Math.max(zMax, zVal);
538
+ }
539
+ });
540
+ });
541
+ } else {
542
+ var _firstData_x1;
543
+ (_firstData_x1 = firstData.x) === null || _firstData_x1 === void 0 ? void 0 : _firstData_x1.forEach((xVal, xIdx)=>{
544
+ var _firstData_y;
545
+ (_firstData_y = firstData.y) === null || _firstData_y === void 0 ? void 0 : _firstData_y.forEach((yVal, yIdx)=>{
546
+ var _firstData_z_yIdx, _firstData_z, _input_layout_xaxis, _input_layout, _input_layout_yaxis, _input_layout1;
547
+ const zVal = (_firstData_z = firstData.z) === null || _firstData_z === void 0 ? void 0 : (_firstData_z_yIdx = _firstData_z[yIdx]) === null || _firstData_z_yIdx === void 0 ? void 0 : _firstData_z_yIdx[xIdx];
548
+ heatmapDataPoints.push({
549
+ x: ((_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : (_input_layout_xaxis = _input_layout.xaxis) === null || _input_layout_xaxis === void 0 ? void 0 : _input_layout_xaxis.type) === 'date' ? xVal : xVal !== null && xVal !== void 0 ? xVal : 0,
550
+ y: ((_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : (_input_layout_yaxis = _input_layout1.yaxis) === null || _input_layout_yaxis === void 0 ? void 0 : _input_layout_yaxis.type) === 'date' ? yVal : yVal,
551
+ value: zVal,
552
+ rectText: zVal
553
+ });
554
+ if (typeof zVal === 'number') {
555
+ zMin = Math.min(zMin, zVal);
556
+ zMax = Math.max(zMax, zVal);
557
+ }
558
+ });
559
+ });
560
+ }
561
+ var _firstData_name;
562
+ const heatmapData = {
563
+ legend: (_firstData_name = firstData.name) !== null && _firstData_name !== void 0 ? _firstData_name : '',
564
+ data: heatmapDataPoints,
565
+ value: 0
566
+ };
567
+ // Initialize domain and range to default values
568
+ const defaultDomain = [
569
+ zMin,
570
+ (zMax + zMin) / 2,
571
+ zMax
572
+ ];
573
+ const defaultRange = [
574
+ (0, _colors.getColorFromToken)(_colors.DataVizPalette.color1),
575
+ (0, _colors.getColorFromToken)(_colors.DataVizPalette.color2),
576
+ (0, _colors.getColorFromToken)(_colors.DataVizPalette.color3)
577
+ ];
578
+ const domainValuesForColorScale = Array.isArray(firstData.colorscale) ? firstData.colorscale.map((arr)=>arr[0] * (zMax - zMin) + zMin) : defaultDomain;
579
+ const rangeValuesForColorScale = Array.isArray(firstData.colorscale) ? firstData.colorscale.map((arr)=>arr[1]) : defaultRange;
580
+ const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
581
+ var _input_layout_height;
582
+ return {
583
+ data: [
584
+ heatmapData
585
+ ],
586
+ domainValuesForColorScale,
587
+ rangeValuesForColorScale,
588
+ hideLegend: true,
589
+ showYAxisLables: true,
590
+ chartTitle,
591
+ xAxisTitle,
592
+ yAxisTitle,
593
+ sortOrder: 'none',
594
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
595
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 350,
596
+ hideTickOverlap: true
597
+ };
598
+ };
599
+ const transformPlotlyJsonToSankeyProps = (input, colorMap, isDarkTheme)=>{
600
+ var _node_label, _input_layout, _input_layout1;
601
+ const { link, node } = input.data[0];
602
+ var _link_value;
603
+ const validLinks = ((_link_value = link === null || link === void 0 ? void 0 : link.value) !== null && _link_value !== void 0 ? _link_value : []).map((val, index)=>({
604
+ value: val,
605
+ source: link === null || link === void 0 ? void 0 : link.source[index],
606
+ target: link === null || link === void 0 ? void 0 : link.target[index]
607
+ })) // eslint-disable-next-line @typescript-eslint/no-shadow
608
+ // Filter out negative nodes, unequal nodes and self-references (circular links)
609
+ .filter((x)=>x.source >= 0 && x.target >= 0 && x.source !== x.target);
610
+ const sankeyChartData = {
611
+ nodes: (_node_label = node.label) === null || _node_label === void 0 ? void 0 : _node_label.map((label, index)=>{
612
+ const color = getColor(label, colorMap, isDarkTheme);
613
+ return {
614
+ nodeId: index,
615
+ name: label,
616
+ color
617
+ };
618
+ }),
619
+ links: validLinks.map((validLink, index)=>{
620
+ return {
621
+ ...validLink
622
+ };
623
+ })
624
+ };
625
+ // const styles: SankeyChartProps['styles'] = {
626
+ // root: {
627
+ // ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),
628
+ // },
629
+ // };
630
+ const { chartTitle } = getTitles(input.layout);
631
+ var _input_layout_height;
632
+ return {
633
+ data: {
634
+ chartTitle,
635
+ SankeyChartData: sankeyChartData
636
+ },
637
+ width: (_input_layout = input.layout) === null || _input_layout === void 0 ? void 0 : _input_layout.width,
638
+ height: (_input_layout_height = (_input_layout1 = input.layout) === null || _input_layout1 === void 0 ? void 0 : _input_layout1.height) !== null && _input_layout_height !== void 0 ? _input_layout_height : 468,
639
+ // TODO
640
+ // styles,
641
+ enableReflow: true
642
+ };
643
+ };
644
+ const transformPlotlyJsonToGaugeProps = (input, colorMap, isDarkTheme)=>{
645
+ var _firstData_gauge_steps, _firstData_gauge, _firstData_gauge_axis_range, _firstData_gauge_axis, _firstData_gauge1, _firstData_gauge_axis_range1, _firstData_gauge_axis1, _firstData_gauge2, _firstData_delta, _firstData_gauge_axis_range2, _firstData_gauge_axis2, _firstData_gauge3, _firstData_gauge_axis_range3, _firstData_gauge_axis3, _firstData_gauge4, _firstData_gauge_axis_range4, _firstData_gauge_axis4, _firstData_gauge5, _firstData_gauge_axis_range5, _firstData_gauge_axis5, _firstData_gauge6, _firstData_gauge_steps1, _firstData_gauge7;
646
+ const firstData = input.data[0];
647
+ var _firstData_gauge_axis_range_, _firstData_value, _firstData_gauge_axis_range_1, _firstData_value1;
648
+ const segments = ((_firstData_gauge = firstData.gauge) === null || _firstData_gauge === void 0 ? void 0 : (_firstData_gauge_steps = _firstData_gauge.steps) === null || _firstData_gauge_steps === void 0 ? void 0 : _firstData_gauge_steps.length) ? firstData.gauge.steps.map((step, index)=>{
649
+ var _step_range, _step_range1;
650
+ const legend = step.name || `Segment ${index + 1}`;
651
+ const color = getColor(legend, colorMap, isDarkTheme);
652
+ return {
653
+ legend,
654
+ size: ((_step_range = step.range) === null || _step_range === void 0 ? void 0 : _step_range[1]) - ((_step_range1 = step.range) === null || _step_range1 === void 0 ? void 0 : _step_range1[0]),
655
+ color
656
+ };
657
+ }) : [
658
+ {
659
+ legend: 'Current',
660
+ size: (_firstData_value = firstData.value) !== null && _firstData_value !== void 0 ? _firstData_value : 0 - ((_firstData_gauge_axis_range_ = (_firstData_gauge1 = firstData.gauge) === null || _firstData_gauge1 === void 0 ? void 0 : (_firstData_gauge_axis = _firstData_gauge1.axis) === null || _firstData_gauge_axis === void 0 ? void 0 : (_firstData_gauge_axis_range = _firstData_gauge_axis.range) === null || _firstData_gauge_axis_range === void 0 ? void 0 : _firstData_gauge_axis_range[0]) !== null && _firstData_gauge_axis_range_ !== void 0 ? _firstData_gauge_axis_range_ : 0),
661
+ color: getColor('Current', colorMap, isDarkTheme)
662
+ },
663
+ {
664
+ legend: 'Target',
665
+ size: ((_firstData_gauge_axis_range_1 = (_firstData_gauge2 = firstData.gauge) === null || _firstData_gauge2 === void 0 ? void 0 : (_firstData_gauge_axis1 = _firstData_gauge2.axis) === null || _firstData_gauge_axis1 === void 0 ? void 0 : (_firstData_gauge_axis_range1 = _firstData_gauge_axis1.range) === null || _firstData_gauge_axis_range1 === void 0 ? void 0 : _firstData_gauge_axis_range1[1]) !== null && _firstData_gauge_axis_range_1 !== void 0 ? _firstData_gauge_axis_range_1 : 100) - ((_firstData_value1 = firstData.value) !== null && _firstData_value1 !== void 0 ? _firstData_value1 : 0),
666
+ color: _colors.DataVizPalette.disabled
667
+ }
668
+ ];
669
+ let sublabel;
670
+ // let sublabelColor: string | undefined;
671
+ if ((_firstData_delta = firstData.delta) === null || _firstData_delta === void 0 ? void 0 : _firstData_delta.reference) {
672
+ const diff = firstData.value - firstData.delta.reference;
673
+ if (diff >= 0) {
674
+ sublabel = `\u25B2 ${diff}`;
675
+ // const color = getColorFromToken(DataVizPalette.success, isDarkTheme);
676
+ // sublabelColor = color;
677
+ } else {
678
+ sublabel = `\u25BC ${Math.abs(diff)}`;
679
+ // const color = getColorFromToken(DataVizPalette.error, isDarkTheme);
680
+ // sublabelColor = color;
681
+ }
682
+ }
683
+ // const styles: GaugeChartProps['styles'] = {
684
+ // sublabel: {
685
+ // fill: sublabelColor,
686
+ // },
687
+ // };
688
+ const { chartTitle } = getTitles(input.layout);
689
+ var _firstData_value2;
690
+ return {
691
+ segments,
692
+ chartValue: (_firstData_value2 = firstData.value) !== null && _firstData_value2 !== void 0 ? _firstData_value2 : 0,
693
+ chartTitle,
694
+ sublabel,
695
+ // range values can be null
696
+ minValue: typeof ((_firstData_gauge3 = firstData.gauge) === null || _firstData_gauge3 === void 0 ? void 0 : (_firstData_gauge_axis2 = _firstData_gauge3.axis) === null || _firstData_gauge_axis2 === void 0 ? void 0 : (_firstData_gauge_axis_range2 = _firstData_gauge_axis2.range) === null || _firstData_gauge_axis_range2 === void 0 ? void 0 : _firstData_gauge_axis_range2[0]) === 'number' ? (_firstData_gauge4 = firstData.gauge) === null || _firstData_gauge4 === void 0 ? void 0 : (_firstData_gauge_axis3 = _firstData_gauge4.axis) === null || _firstData_gauge_axis3 === void 0 ? void 0 : (_firstData_gauge_axis_range3 = _firstData_gauge_axis3.range) === null || _firstData_gauge_axis_range3 === void 0 ? void 0 : _firstData_gauge_axis_range3[0] : undefined,
697
+ maxValue: typeof ((_firstData_gauge5 = firstData.gauge) === null || _firstData_gauge5 === void 0 ? void 0 : (_firstData_gauge_axis4 = _firstData_gauge5.axis) === null || _firstData_gauge_axis4 === void 0 ? void 0 : (_firstData_gauge_axis_range4 = _firstData_gauge_axis4.range) === null || _firstData_gauge_axis_range4 === void 0 ? void 0 : _firstData_gauge_axis_range4[1]) === 'number' ? (_firstData_gauge6 = firstData.gauge) === null || _firstData_gauge6 === void 0 ? void 0 : (_firstData_gauge_axis5 = _firstData_gauge6.axis) === null || _firstData_gauge_axis5 === void 0 ? void 0 : (_firstData_gauge_axis_range5 = _firstData_gauge_axis5.range) === null || _firstData_gauge_axis_range5 === void 0 ? void 0 : _firstData_gauge_axis_range5[1] : undefined,
698
+ chartValueFormat: ()=>{
699
+ var _firstData_value;
700
+ var _firstData_value_toString;
701
+ return (_firstData_value_toString = (_firstData_value = firstData.value) === null || _firstData_value === void 0 ? void 0 : _firstData_value.toString()) !== null && _firstData_value_toString !== void 0 ? _firstData_value_toString : '';
702
+ },
703
+ // FIXME
704
+ // width: input.layout?.width,
705
+ // height: input.layout?.height ?? 220,
706
+ // TODO
707
+ // styles,
708
+ variant: ((_firstData_gauge7 = firstData.gauge) === null || _firstData_gauge7 === void 0 ? void 0 : (_firstData_gauge_steps1 = _firstData_gauge7.steps) === null || _firstData_gauge_steps1 === void 0 ? void 0 : _firstData_gauge_steps1.length) ? 'multiple-segments' : 'single-segment'
709
+ };
710
+ };
711
+ function isPlainObject(obj) {
712
+ return Object.prototype.toString.call(obj) === '[object Object]' && Object.getPrototypeOf(obj).hasOwnProperty('hasOwnProperty');
713
+ }
714
+ var arrayAttributes = [];
715
+ var stack = [];
716
+ var isArrayStack = [];
717
+ var baseContainer, baseAttrName;
718
+ function findArrayAttributes(trace) {
719
+ // Init basecontainer and baseAttrName
720
+ crawlIntoTrace(baseContainer, 0, '');
721
+ }
722
+ function crawlIntoTrace(container, i, astrPartial) {
723
+ var item = container[stack[i]];
724
+ var newAstrPartial = astrPartial + stack[i];
725
+ if (i === stack.length - 1) {
726
+ if ((0, _chartutilities.isArrayOrTypedArray)(item)) {
727
+ arrayAttributes.push(baseAttrName + newAstrPartial);
728
+ }
729
+ } else {
730
+ if (isArrayStack[i]) {
731
+ if (Array.isArray(item)) {
732
+ for(var j = 0; j < item.length; j++){
733
+ if (isPlainObject(item[j])) {
734
+ crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');
735
+ }
736
+ }
737
+ }
738
+ } else if (isPlainObject(item)) {
739
+ crawlIntoTrace(item, i + 1, newAstrPartial + '.');
740
+ }
741
+ }
742
+ }
743
+ function getLineOptions(line) {
744
+ if (!line) {
745
+ return;
746
+ }
747
+ let lineOptions = {};
748
+ if (line.dash) {
749
+ lineOptions = {
750
+ ...lineOptions,
751
+ ...dashOptions[line.dash]
752
+ };
753
+ }
754
+ switch(line.shape){
755
+ case 'spline':
756
+ const smoothing = typeof line.smoothing === 'number' ? line.smoothing : 1;
757
+ lineOptions.curve = _d3shape.curveCardinal.tension(1 - smoothing / 1.3);
758
+ break;
759
+ case 'hv':
760
+ lineOptions.curve = 'stepAfter';
761
+ break;
762
+ case 'vh':
763
+ lineOptions.curve = 'stepBefore';
764
+ break;
765
+ case 'hvh':
766
+ lineOptions.curve = 'step';
767
+ break;
768
+ default:
769
+ lineOptions.curve = 'linear';
770
+ }
771
+ return Object.keys(lineOptions).length > 0 ? lineOptions : undefined;
772
+ }
773
+ const isStringArray = (arr)=>{
774
+ return (0, _chartutilities.isArrayOfType)(arr, (value)=>typeof value === 'string');
775
+ };
776
+ // TODO: Use binary search to find the appropriate bin for numeric value.
777
+ const findBinIndex = (bins, value, isString)=>{
778
+ if (typeof value === 'undefined' || value === null) {
779
+ return -1;
780
+ }
781
+ return isString ? bins.findIndex((bin)=>bin.includes(value)) : bins.findIndex((bin)=>value >= bin.x0 && value < bin.x1);
782
+ };
783
+ const getBinSize = (bin)=>{
784
+ return bin.x1 - bin.x0;
785
+ };
786
+ const getBinCenter = (bin)=>{
787
+ return (bin.x1 + bin.x0) / 2;
788
+ };
789
+ // TODO: Add support for date axes
790
+ const createBins = (data, binStart, binEnd, binSize)=>{
791
+ if (!data || data.length === 0) {
792
+ return [];
793
+ }
794
+ if (isStringArray(data)) {
795
+ const categories = Array.from(new Set(data));
796
+ const start = typeof binStart === 'number' ? Math.ceil(binStart) : 0;
797
+ const stop = typeof binEnd === 'number' ? Math.floor(binEnd) + 1 : categories.length;
798
+ const step = typeof binSize === 'number' ? binSize : 1;
799
+ return (0, _d3array.range)(start, stop, step).map((i)=>categories.slice(i, i + step));
800
+ }
801
+ const scale = (0, _d3scale.scaleLinear)().domain((0, _d3array.extent)(data)).nice();
802
+ let [minVal, maxVal] = scale.domain();
803
+ minVal = typeof binStart === 'number' ? binStart : minVal;
804
+ maxVal = typeof binEnd === 'number' ? binEnd : maxVal;
805
+ const binGenerator = (0, _d3array.bin)().domain([
806
+ minVal,
807
+ maxVal
808
+ ]);
809
+ if (typeof binSize === 'number') {
810
+ var _binSize_toString_split_;
811
+ const thresholds = [];
812
+ let th = minVal;
813
+ var _binSize_toString_split__length;
814
+ const tolerance = 1 / Math.pow(10, (_binSize_toString_split__length = (_binSize_toString_split_ = binSize.toString().split('.')[1]) === null || _binSize_toString_split_ === void 0 ? void 0 : _binSize_toString_split_.length) !== null && _binSize_toString_split__length !== void 0 ? _binSize_toString_split__length : 0);
815
+ while(maxVal + binSize - th > tolerance){
816
+ thresholds.push(th);
817
+ th += binSize;
818
+ }
819
+ minVal = thresholds[0];
820
+ maxVal = thresholds[thresholds.length - 1];
821
+ binGenerator.domain([
822
+ minVal,
823
+ maxVal
824
+ ]).thresholds(thresholds);
825
+ }
826
+ // NOTE: The last bin generated by d3Bin often has identical x0 and x1 values (both inclusive) and
827
+ // can be ignored if the highest value is already included in the previous bin.
828
+ return binGenerator(data);
829
+ };
830
+ const calculateHistFunc = (histfunc, bin)=>{
831
+ switch(histfunc){
832
+ case 'sum':
833
+ return (0, _d3array.sum)(bin);
834
+ case 'avg':
835
+ return bin.length === 0 ? 0 : (0, _d3array.sum)(bin) / bin.length;
836
+ case 'min':
837
+ var _d3Min;
838
+ return (_d3Min = (0, _d3array.min)(bin)) !== null && _d3Min !== void 0 ? _d3Min : 0;
839
+ case 'max':
840
+ var _d3Max;
841
+ return (_d3Max = (0, _d3array.max)(bin)) !== null && _d3Max !== void 0 ? _d3Max : 0;
842
+ default:
843
+ return bin.length;
844
+ }
845
+ };
846
+ const calculateHistNorm = (histnorm, value, total, dx, dy = 1)=>{
847
+ switch(histnorm){
848
+ case 'percent':
849
+ return total === 0 ? 0 : value / total * 100;
850
+ case 'probability':
851
+ return total === 0 ? 0 : value / total;
852
+ case 'density':
853
+ return dx * dy === 0 ? 0 : value / (dx * dy);
854
+ case 'probability density':
855
+ return total * dx * dy === 0 ? 0 : value / (total * dx * dy);
856
+ default:
857
+ return value;
858
+ }
859
+ };