@fluentui/react-charting 5.25.5 → 5.25.7

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 (344) hide show
  1. package/CHANGELOG.json +87 -1
  2. package/CHANGELOG.md +28 -2
  3. package/bundle-size/PolarChart.fixture.js +7 -0
  4. package/dist/react-charting.d.ts +388 -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 +85 -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 +16 -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 +202 -217
  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/FunnelChart/FunnelChart.base.js +14 -8
  49. package/lib/components/FunnelChart/FunnelChart.base.js.map +1 -1
  50. package/lib/components/FunnelChart/FunnelChart.styles.js +3 -0
  51. package/lib/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  52. package/lib/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  53. package/lib/components/FunnelChart/FunnelChart.types.js.map +1 -1
  54. package/lib/components/GaugeChart/GaugeChart.base.js +2 -2
  55. package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
  56. package/lib/components/GaugeChart/GaugeChart.styles.js +16 -22
  57. package/lib/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  58. package/lib/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  59. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
  60. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  61. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +2 -18
  62. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  63. package/lib/components/LineChart/LineChart.base.d.ts +0 -1
  64. package/lib/components/LineChart/LineChart.base.js +1 -25
  65. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  66. package/lib/components/PolarChart/PolarChart.base.d.ts +3 -0
  67. package/lib/components/PolarChart/PolarChart.base.js +426 -0
  68. package/lib/components/PolarChart/PolarChart.base.js.map +1 -0
  69. package/lib/components/PolarChart/PolarChart.d.ts +7 -0
  70. package/lib/components/PolarChart/PolarChart.js +9 -0
  71. package/lib/components/PolarChart/PolarChart.js.map +1 -0
  72. package/lib/components/PolarChart/PolarChart.styles.d.ts +2 -0
  73. package/lib/components/PolarChart/PolarChart.styles.js +39 -0
  74. package/lib/components/PolarChart/PolarChart.styles.js.map +1 -0
  75. package/lib/components/PolarChart/PolarChart.types.d.ts +185 -0
  76. package/lib/components/PolarChart/PolarChart.types.js +2 -0
  77. package/lib/components/PolarChart/PolarChart.types.js.map +1 -0
  78. package/lib/components/PolarChart/PolarChart.utils.d.ts +43 -0
  79. package/lib/components/PolarChart/PolarChart.utils.js +180 -0
  80. package/lib/components/PolarChart/PolarChart.utils.js.map +1 -0
  81. package/lib/components/PolarChart/index.d.ts +2 -0
  82. package/lib/components/PolarChart/index.js +3 -0
  83. package/lib/components/PolarChart/index.js.map +1 -0
  84. package/lib/components/SankeyChart/SankeyChart.base.js +9 -2
  85. package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
  86. package/lib/components/SankeyChart/SankeyChart.styles.js +3 -0
  87. package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  88. package/lib/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  89. package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
  90. package/lib/components/ScatterChart/ScatterChart.base.js +1 -28
  91. package/lib/components/ScatterChart/ScatterChart.base.js.map +1 -1
  92. package/lib/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  93. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +1 -73
  94. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  95. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  96. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +1 -26
  97. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  98. package/lib/index.d.ts +2 -0
  99. package/lib/index.js +1 -0
  100. package/lib/index.js.map +1 -1
  101. package/lib/types/IDataPoint.d.ts +88 -0
  102. package/lib/types/IDataPoint.js.map +1 -1
  103. package/lib/utilities/ChartTitle.d.ts +55 -0
  104. package/lib/utilities/ChartTitle.js +45 -0
  105. package/lib/utilities/ChartTitle.js.map +1 -0
  106. package/lib/utilities/Common.styles.d.ts +51 -0
  107. package/lib/utilities/Common.styles.js +70 -1
  108. package/lib/utilities/Common.styles.js.map +1 -1
  109. package/lib/utilities/image-export-utils.js +4 -4
  110. package/lib/utilities/image-export-utils.js.map +1 -1
  111. package/lib/utilities/index.d.ts +1 -0
  112. package/lib/utilities/index.js +1 -0
  113. package/lib/utilities/index.js.map +1 -1
  114. package/lib/utilities/utilities.d.ts +28 -6
  115. package/lib/utilities/utilities.js +210 -104
  116. package/lib/utilities/utilities.js.map +1 -1
  117. package/lib-amd/PolarChart.d.ts +1 -0
  118. package/lib-amd/PolarChart.js +6 -0
  119. package/lib-amd/PolarChart.js.map +1 -0
  120. package/lib-amd/components/AnnotationOnlyChart/AnnotationOnlyChart.js +1 -1
  121. package/lib-amd/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  122. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +0 -1
  123. package/lib-amd/components/AreaChart/AreaChart.base.js +1 -29
  124. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  125. package/lib-amd/components/ChartTable/ChartTable.base.js +12 -5
  126. package/lib-amd/components/ChartTable/ChartTable.base.js.map +1 -1
  127. package/lib-amd/components/ChartTable/ChartTable.styles.js +3 -1
  128. package/lib-amd/components/ChartTable/ChartTable.styles.js.map +1 -1
  129. package/lib-amd/components/ChartTable/ChartTable.types.d.ts +11 -0
  130. package/lib-amd/components/ChartTable/ChartTable.types.js.map +1 -1
  131. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.js +11 -6
  132. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  133. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.d.ts +1 -0
  134. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js +17 -1
  135. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js.map +1 -1
  136. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.types.d.ts +5 -0
  137. package/lib-amd/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  138. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +1 -1
  139. package/lib-amd/components/CommonComponents/CartesianChart.base.js +81 -41
  140. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  141. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +30 -26
  142. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  143. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +16 -1
  144. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  145. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +22 -28
  146. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  147. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +3 -1
  148. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +204 -219
  149. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  150. package/lib-amd/components/DonutChart/DonutChart.base.d.ts +1 -0
  151. package/lib-amd/components/DonutChart/DonutChart.base.js +15 -3
  152. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
  153. package/lib-amd/components/DonutChart/DonutChart.styles.js +2 -0
  154. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -1
  155. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +13 -0
  156. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -1
  157. package/lib-amd/components/FunnelChart/FunnelChart.base.js +14 -9
  158. package/lib-amd/components/FunnelChart/FunnelChart.base.js.map +1 -1
  159. package/lib-amd/components/FunnelChart/FunnelChart.styles.js +3 -1
  160. package/lib-amd/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  161. package/lib-amd/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  162. package/lib-amd/components/FunnelChart/FunnelChart.types.js.map +1 -1
  163. package/lib-amd/components/GaugeChart/GaugeChart.base.js +1 -1
  164. package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -1
  165. package/lib-amd/components/GaugeChart/GaugeChart.styles.js +16 -23
  166. package/lib-amd/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  167. package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  168. package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -1
  169. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  170. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +0 -16
  171. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  172. package/lib-amd/components/LineChart/LineChart.base.d.ts +0 -1
  173. package/lib-amd/components/LineChart/LineChart.base.js +0 -24
  174. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
  175. package/lib-amd/components/PolarChart/PolarChart.base.d.ts +3 -0
  176. package/lib-amd/components/PolarChart/PolarChart.base.js +421 -0
  177. package/lib-amd/components/PolarChart/PolarChart.base.js.map +1 -0
  178. package/lib-amd/components/PolarChart/PolarChart.d.ts +7 -0
  179. package/lib-amd/components/PolarChart/PolarChart.js +11 -0
  180. package/lib-amd/components/PolarChart/PolarChart.js.map +1 -0
  181. package/lib-amd/components/PolarChart/PolarChart.styles.d.ts +2 -0
  182. package/lib-amd/components/PolarChart/PolarChart.styles.js +43 -0
  183. package/lib-amd/components/PolarChart/PolarChart.styles.js.map +1 -0
  184. package/lib-amd/components/PolarChart/PolarChart.types.d.ts +185 -0
  185. package/lib-amd/components/PolarChart/PolarChart.types.js +5 -0
  186. package/lib-amd/components/PolarChart/PolarChart.types.js.map +1 -0
  187. package/lib-amd/components/PolarChart/PolarChart.utils.d.ts +43 -0
  188. package/lib-amd/components/PolarChart/PolarChart.utils.js +183 -0
  189. package/lib-amd/components/PolarChart/PolarChart.utils.js.map +1 -0
  190. package/lib-amd/components/PolarChart/index.d.ts +2 -0
  191. package/lib-amd/components/PolarChart/index.js +7 -0
  192. package/lib-amd/components/PolarChart/index.js.map +1 -0
  193. package/lib-amd/components/SankeyChart/SankeyChart.base.js +9 -3
  194. package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -1
  195. package/lib-amd/components/SankeyChart/SankeyChart.styles.js +3 -1
  196. package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  197. package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  198. package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -1
  199. package/lib-amd/components/ScatterChart/ScatterChart.base.js +0 -27
  200. package/lib-amd/components/ScatterChart/ScatterChart.base.js.map +1 -1
  201. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  202. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +1 -72
  203. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  204. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  205. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +1 -25
  206. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  207. package/lib-amd/index.d.ts +2 -0
  208. package/lib-amd/index.js +3 -2
  209. package/lib-amd/index.js.map +1 -1
  210. package/lib-amd/types/IDataPoint.d.ts +88 -0
  211. package/lib-amd/types/IDataPoint.js.map +1 -1
  212. package/lib-amd/utilities/ChartTitle.d.ts +55 -0
  213. package/lib-amd/utilities/ChartTitle.js +46 -0
  214. package/lib-amd/utilities/ChartTitle.js.map +1 -0
  215. package/lib-amd/utilities/Common.styles.d.ts +51 -0
  216. package/lib-amd/utilities/Common.styles.js +74 -2
  217. package/lib-amd/utilities/Common.styles.js.map +1 -1
  218. package/lib-amd/utilities/image-export-utils.js +3 -3
  219. package/lib-amd/utilities/image-export-utils.js.map +1 -1
  220. package/lib-amd/utilities/index.d.ts +1 -0
  221. package/lib-amd/utilities/index.js +2 -1
  222. package/lib-amd/utilities/index.js.map +1 -1
  223. package/lib-amd/utilities/utilities.d.ts +28 -6
  224. package/lib-amd/utilities/utilities.js +217 -107
  225. package/lib-amd/utilities/utilities.js.map +1 -1
  226. package/lib-commonjs/PolarChart.d.ts +1 -0
  227. package/lib-commonjs/PolarChart.js +5 -0
  228. package/lib-commonjs/PolarChart.js.map +1 -0
  229. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js +1 -1
  230. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
  231. package/lib-commonjs/components/AreaChart/AreaChart.base.d.ts +0 -1
  232. package/lib-commonjs/components/AreaChart/AreaChart.base.js +0 -29
  233. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  234. package/lib-commonjs/components/ChartTable/ChartTable.base.js +12 -4
  235. package/lib-commonjs/components/ChartTable/ChartTable.base.js.map +1 -1
  236. package/lib-commonjs/components/ChartTable/ChartTable.styles.js +3 -0
  237. package/lib-commonjs/components/ChartTable/ChartTable.styles.js.map +1 -1
  238. package/lib-commonjs/components/ChartTable/ChartTable.types.d.ts +11 -0
  239. package/lib-commonjs/components/ChartTable/ChartTable.types.js.map +1 -1
  240. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js +11 -6
  241. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
  242. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.d.ts +1 -0
  243. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js +17 -1
  244. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.styles.js.map +1 -1
  245. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.d.ts +5 -0
  246. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -1
  247. package/lib-commonjs/components/CommonComponents/CartesianChart.base.d.ts +1 -1
  248. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +81 -41
  249. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  250. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +30 -26
  251. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  252. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +16 -1
  253. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  254. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +23 -27
  255. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  256. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +3 -1
  257. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +204 -219
  258. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  259. package/lib-commonjs/components/DonutChart/DonutChart.base.d.ts +1 -0
  260. package/lib-commonjs/components/DonutChart/DonutChart.base.js +15 -3
  261. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  262. package/lib-commonjs/components/DonutChart/DonutChart.styles.js +2 -0
  263. package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
  264. package/lib-commonjs/components/DonutChart/DonutChart.types.d.ts +13 -0
  265. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  266. package/lib-commonjs/components/FunnelChart/FunnelChart.base.js +14 -8
  267. package/lib-commonjs/components/FunnelChart/FunnelChart.base.js.map +1 -1
  268. package/lib-commonjs/components/FunnelChart/FunnelChart.styles.js +3 -0
  269. package/lib-commonjs/components/FunnelChart/FunnelChart.styles.js.map +1 -1
  270. package/lib-commonjs/components/FunnelChart/FunnelChart.types.d.ts +13 -0
  271. package/lib-commonjs/components/FunnelChart/FunnelChart.types.js.map +1 -1
  272. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js +1 -1
  273. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
  274. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js +16 -22
  275. package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js.map +1 -1
  276. package/lib-commonjs/components/GaugeChart/GaugeChart.types.d.ts +9 -0
  277. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
  278. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +0 -1
  279. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +0 -16
  280. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  281. package/lib-commonjs/components/LineChart/LineChart.base.d.ts +0 -1
  282. package/lib-commonjs/components/LineChart/LineChart.base.js +0 -24
  283. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  284. package/lib-commonjs/components/PolarChart/PolarChart.base.d.ts +3 -0
  285. package/lib-commonjs/components/PolarChart/PolarChart.base.js +429 -0
  286. package/lib-commonjs/components/PolarChart/PolarChart.base.js.map +1 -0
  287. package/lib-commonjs/components/PolarChart/PolarChart.d.ts +7 -0
  288. package/lib-commonjs/components/PolarChart/PolarChart.js +12 -0
  289. package/lib-commonjs/components/PolarChart/PolarChart.js.map +1 -0
  290. package/lib-commonjs/components/PolarChart/PolarChart.styles.d.ts +2 -0
  291. package/lib-commonjs/components/PolarChart/PolarChart.styles.js +43 -0
  292. package/lib-commonjs/components/PolarChart/PolarChart.styles.js.map +1 -0
  293. package/lib-commonjs/components/PolarChart/PolarChart.types.d.ts +185 -0
  294. package/lib-commonjs/components/PolarChart/PolarChart.types.js +3 -0
  295. package/lib-commonjs/components/PolarChart/PolarChart.types.js.map +1 -0
  296. package/lib-commonjs/components/PolarChart/PolarChart.utils.d.ts +43 -0
  297. package/lib-commonjs/components/PolarChart/PolarChart.utils.js +188 -0
  298. package/lib-commonjs/components/PolarChart/PolarChart.utils.js.map +1 -0
  299. package/lib-commonjs/components/PolarChart/index.d.ts +2 -0
  300. package/lib-commonjs/components/PolarChart/index.js +6 -0
  301. package/lib-commonjs/components/PolarChart/index.js.map +1 -0
  302. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js +9 -2
  303. package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
  304. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js +3 -0
  305. package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
  306. package/lib-commonjs/components/SankeyChart/SankeyChart.types.d.ts +18 -0
  307. package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
  308. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js +0 -27
  309. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js.map +1 -1
  310. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.d.ts +0 -1
  311. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +0 -72
  312. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  313. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +0 -1
  314. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +0 -25
  315. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  316. package/lib-commonjs/index.d.ts +2 -0
  317. package/lib-commonjs/index.js +3 -1
  318. package/lib-commonjs/index.js.map +1 -1
  319. package/lib-commonjs/types/IDataPoint.d.ts +88 -0
  320. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  321. package/lib-commonjs/utilities/ChartTitle.d.ts +55 -0
  322. package/lib-commonjs/utilities/ChartTitle.js +49 -0
  323. package/lib-commonjs/utilities/ChartTitle.js.map +1 -0
  324. package/lib-commonjs/utilities/Common.styles.d.ts +51 -0
  325. package/lib-commonjs/utilities/Common.styles.js +74 -2
  326. package/lib-commonjs/utilities/Common.styles.js.map +1 -1
  327. package/lib-commonjs/utilities/image-export-utils.js +3 -3
  328. package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
  329. package/lib-commonjs/utilities/index.d.ts +1 -0
  330. package/lib-commonjs/utilities/index.js +1 -0
  331. package/lib-commonjs/utilities/index.js.map +1 -1
  332. package/lib-commonjs/utilities/utilities.d.ts +28 -6
  333. package/lib-commonjs/utilities/utilities.js +217 -107
  334. package/lib-commonjs/utilities/utilities.js.map +1 -1
  335. package/package.json +4 -12
  336. package/project.json +0 -1
  337. package/src/components/ChartTable/ChartTable.types.ts +13 -0
  338. package/src/components/CommonComponents/Annotations/ChartAnnotationLayer.types.ts +5 -0
  339. package/src/components/CommonComponents/CartesianChart.types.ts +17 -1
  340. package/src/components/DonutChart/DonutChart.types.ts +16 -0
  341. package/src/components/FunnelChart/FunnelChart.types.ts +16 -0
  342. package/src/components/GaugeChart/GaugeChart.types.ts +11 -0
  343. package/src/components/PolarChart/PolarChart.types.ts +232 -0
  344. package/src/components/SankeyChart/SankeyChart.types.ts +22 -0
@@ -2,7 +2,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
2
2
  "use strict";
3
3
  var _a;
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.findCalloutPoints = exports.generateMonthlyTicks = exports.generateLinearTicks = exports.getRangeForScatterMarkerSize = exports.getScatterXDomainExtent = exports.isPlottable = exports.isValidDomainValue = exports.getDomainPaddingForMarkers = exports.getInvertedTextColor = exports.sortAxisCategories = exports.truncateString = exports.createMeasurementSpan = exports.isScalePaddingDefined = exports.getScalePadding = exports.getBarWidth = exports.getAccessibleDataObject = exports.pointTypes = exports.CustomPoints = exports.Points = exports.getTypeOfAxis = exports.calculateLongestLabelWidth = exports.wrapContent = exports.DEFAULT_WRAP_WIDTH = exports.createStringYAxis = exports.createStringYAxisForHorizontalBarChartWithAxis = exports.YAxisType = exports.XAxisTypes = exports.ChartTypes = exports.DEFAULT_DATE_STRING = exports.MIN_DONUT_RADIUS = exports.MIN_DOMAIN_MARGIN = void 0;
5
+ exports.autoLayoutXAxisLabels = exports.findCalloutPoints = exports.generateDateTicks = exports.generateNumericTicks = exports.generateMonthlyTicks = exports.generateLinearTicks = exports.getRangeForScatterMarkerSize = exports.getScatterXDomainExtent = exports.isPlottable = exports.isValidDomainValue = exports.getDomainPaddingForMarkers = exports.getInvertedTextColor = exports.sortAxisCategories = exports.truncateString = exports.getTextSize = exports.measureTextWithDOM = exports.isScalePaddingDefined = exports.getScalePadding = exports.getBarWidth = exports.getAccessibleDataObject = exports.pointTypes = exports.CustomPoints = exports.Points = exports.getTypeOfAxis = exports.calculateLongestLabelWidth = exports.wrapContent = exports.DEFAULT_WRAP_WIDTH = exports.createStringYAxis = exports.createStringYAxisForHorizontalBarChartWithAxis = exports.YAxisType = exports.XAxisTypes = exports.ChartTypes = exports.CARTESIAN_XAXIS_CLASSNAME = exports.DEFAULT_DATE_STRING = exports.MIN_DONUT_RADIUS = exports.MIN_DOMAIN_MARGIN = void 0;
6
6
  exports.defaultYAxisTickFormatter = defaultYAxisTickFormatter;
7
7
  exports.createNumericXAxis = createNumericXAxis;
8
8
  exports.getDateFormatLevel = getDateFormatLevel;
@@ -44,6 +44,8 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
44
44
  exports.MIN_DOMAIN_MARGIN = 8;
45
45
  exports.MIN_DONUT_RADIUS = 1;
46
46
  exports.DEFAULT_DATE_STRING = '2000-01-01';
47
+ exports.CARTESIAN_XAXIS_CLASSNAME = 'fui-cart__xAxis';
48
+ var CARTESIAN_XAXIS_TEXT_SELECTOR = ".".concat(exports.CARTESIAN_XAXIS_CLASSNAME, " text");
47
49
  var ChartTypes;
48
50
  (function (ChartTypes) {
49
51
  ChartTypes[ChartTypes["AreaChart"] = 0] = "AreaChart";
@@ -121,7 +123,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
121
123
  var xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
122
124
  return (defaultFormat === null || defaultFormat === void 0 ? void 0 : defaultFormat(xAxisValue)) === '' ? '' : (0, chart_utilities_1.formatToLocaleString)(xAxisValue, culture);
123
125
  };
124
- if (hideTickOverlap && typeof xAxisCount === 'undefined') {
126
+ if (hideTickOverlap) {
125
127
  var longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map(function (v, i) { return tickFormat(v, i); })) + 20;
126
128
  var _d = xAxisScale.range(), start = _d[0], end = _d[1];
127
129
  tickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
@@ -139,7 +141,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
139
141
  customTickValues = tickParams.tickValues;
140
142
  }
141
143
  else if (tickStep) {
142
- customTickValues = generateNumericTicks(scaleType, tickStep, tick0, xAxisScale.domain());
144
+ customTickValues = (0, exports.generateNumericTicks)(scaleType, tickStep, tick0, xAxisScale.domain());
143
145
  }
144
146
  if (customTickValues) {
145
147
  xAxis.tickValues(customTickValues);
@@ -147,8 +149,8 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
147
149
  if (xAxisElement) {
148
150
  (0, d3_selection_1.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
149
151
  }
150
- var tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
151
- return { xScale: xAxisScale, tickValues: tickValues };
152
+ var tickValues = customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount);
153
+ return { xScale: xAxisScale, tickValues: tickValues, tickLabels: tickValues.map(xAxis.tickFormat()) };
152
154
  }
153
155
  /**
154
156
  * This function returns a multilevel formatter for a given date range.
@@ -253,7 +255,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
253
255
  * @param {ITickParams} tickParams
254
256
  */
255
257
  function createDateXAxis(xAxisParams, tickParams, culture, options, timeFormatLocale, customDateTimeFormatter, useUTC, chartType) {
256
- var domainNRangeValues = xAxisParams.domainNRangeValues, xAxisElement = xAxisParams.xAxisElement, _a = xAxisParams.tickPadding, tickPadding = _a === void 0 ? 6 : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, xAxisCount = xAxisParams.xAxisCount, calcMaxLabelWidth = xAxisParams.calcMaxLabelWidth, tickStep = xAxisParams.tickStep, tick0 = xAxisParams.tick0, tickText = xAxisParams.tickText;
258
+ var domainNRangeValues = xAxisParams.domainNRangeValues, xAxisElement = xAxisParams.xAxisElement, _a = xAxisParams.tickPadding, tickPadding = _a === void 0 ? 6 : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, xAxisCount = xAxisParams.xAxisCount, hideTickOverlap = xAxisParams.hideTickOverlap, calcMaxLabelWidth = xAxisParams.calcMaxLabelWidth, tickStep = xAxisParams.tickStep, tick0 = xAxisParams.tick0, tickText = xAxisParams.tickText;
257
259
  var xAxisScale = useUTC ? (0, d3_scale_1.scaleUtc)() : (0, d3_scale_1.scaleTime)();
258
260
  xAxisScale
259
261
  .domain([domainNRangeValues.dStartValue, domainNRangeValues.dEndValue])
@@ -294,10 +296,11 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
294
296
  }
295
297
  return (0, chart_utilities_1.formatDateToLocaleString)(domainValue, culture, useUTC, false, formatOptions);
296
298
  };
297
- var longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map(tickFormat)) + 40;
298
- var _c = xAxisScale.range(), start = _c[0], end = _c[1];
299
- var maxPossibleTickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
300
- tickCount = Math.min(maxPossibleTickCount, xAxisCount !== null && xAxisCount !== void 0 ? xAxisCount : tickCount);
299
+ if (hideTickOverlap) {
300
+ var longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map(tickFormat)) + 40;
301
+ var _c = xAxisScale.range(), start = _c[0], end = _c[1];
302
+ tickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
303
+ }
301
304
  var xAxis = (0, d3_axis_1.axisBottom)(xAxisScale)
302
305
  .tickSize(xAxistickSize)
303
306
  .tickPadding(tickPadding)
@@ -311,7 +314,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
311
314
  customTickValues = tickParams.tickValues;
312
315
  }
313
316
  else if (tickStep) {
314
- customTickValues = generateDateTicks(tickStep, tick0, xAxisScale.domain(), useUTC);
317
+ customTickValues = (0, exports.generateDateTicks)(tickStep, tick0, xAxisScale.domain(), useUTC);
315
318
  }
316
319
  if (customTickValues) {
317
320
  xAxis.tickValues(customTickValues);
@@ -319,8 +322,8 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
319
322
  if (xAxisElement) {
320
323
  (0, d3_selection_1.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
321
324
  }
322
- var tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
323
- return { xScale: xAxisScale, tickValues: tickValues };
325
+ var tickValues = customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount);
326
+ return { xScale: xAxisScale, tickValues: tickValues, tickLabels: tickValues.map(xAxis.tickFormat()) };
324
327
  }
325
328
  /**
326
329
  * Create String X axis
@@ -382,7 +385,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
382
385
  if (xAxisParams.xAxisElement) {
383
386
  (0, d3_selection_1.select)(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
384
387
  }
385
- return { xScale: xAxisScale, tickValues: tickValues };
388
+ return { xScale: xAxisScale, tickValues: tickValues, tickLabels: tickValues.map(xAxis.tickFormat()) };
386
389
  }
387
390
  /**
388
391
  * This method is used to calculate the rounded tick values for the y-axis
@@ -476,7 +479,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
476
479
  customTickValues = tickValues;
477
480
  }
478
481
  else if (tickStep) {
479
- customTickValues = generateNumericTicks(undefined, tickStep, tick0, yAxisScale.domain());
482
+ customTickValues = (0, exports.generateNumericTicks)(undefined, tickStep, tick0, yAxisScale.domain());
480
483
  }
481
484
  if (customTickValues) {
482
485
  yAxis.tickValues(customTickValues);
@@ -523,7 +526,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
523
526
  customTickValues = tickValues;
524
527
  }
525
528
  else if (tickStep) {
526
- customTickValues = generateNumericTicks(scaleType, tickStep, tick0, yAxisScale.domain());
529
+ customTickValues = (0, exports.generateNumericTicks)(scaleType, tickStep, tick0, yAxisScale.domain());
527
530
  }
528
531
  if (customTickValues) {
529
532
  yAxis.tickValues(customTickValues);
@@ -708,14 +711,15 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
708
711
  * @returns
709
712
  */
710
713
  function createWrapOfXLabels(wrapLabelProps) {
711
- var node = wrapLabelProps.node, xAxis = wrapLabelProps.xAxis, noOfCharsToTruncate = wrapLabelProps.noOfCharsToTruncate, showXAxisLablesTooltip = wrapLabelProps.showXAxisLablesTooltip, _a = wrapLabelProps.width, width = _a === void 0 ? exports.DEFAULT_WRAP_WIDTH : _a;
714
+ var _a, _b;
715
+ var node = wrapLabelProps.node, xAxis = wrapLabelProps.xAxis, noOfCharsToTruncate = wrapLabelProps.noOfCharsToTruncate, showXAxisLablesTooltip = wrapLabelProps.showXAxisLablesTooltip, _c = wrapLabelProps.width, width = _c === void 0 ? exports.DEFAULT_WRAP_WIDTH : _c, container = wrapLabelProps.container;
712
716
  if (node === null) {
713
717
  return;
714
718
  }
715
719
  var axisNode = (0, d3_selection_1.select)(node).call(xAxis);
716
720
  var removeVal = 0;
717
721
  var maxLines = 1;
718
- axisNode.selectAll('.tick text').each(function () {
722
+ axisNode.selectAll('.tick text').each(function (_, tickIndex) {
719
723
  var text = (0, d3_selection_1.select)(this);
720
724
  var totalWord = text.text();
721
725
  var truncatedWord = "".concat(text.text().slice(0, noOfCharsToTruncate), "...");
@@ -729,41 +733,27 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
729
733
  var dy = parseFloat(text.attr('dy'));
730
734
  var tspan = text
731
735
  .text(null)
736
+ .attr('data-full', totalWord)
732
737
  .append('tspan')
733
738
  .attr('x', 0)
734
739
  .attr('y', y)
735
- .attr('id', 'BaseSpan')
736
- .attr('dy', dy + 'em')
737
- .attr('data-', totalWord);
738
- if (showXAxisLablesTooltip && totalWordLength > noOfCharsToTruncate) {
739
- tspan = text
740
- .append('tspan')
741
- .attr('id', 'showDots')
742
- .attr('x', 0)
743
- .attr('y', y)
744
- .attr('dy', dy + 'em')
745
- .text(truncatedWord);
746
- }
747
- else if (showXAxisLablesTooltip && totalWordLength <= noOfCharsToTruncate) {
748
- tspan = text
749
- .append('tspan')
750
- .attr('id', 'LessLength')
751
- .attr('x', 0)
752
- .attr('y', y)
753
- .attr('dy', dy + 'em')
754
- .text(totalWord);
740
+ .attr('dy', dy + 'em');
741
+ if (showXAxisLablesTooltip) {
742
+ tspan.text(totalWordLength > noOfCharsToTruncate ? truncatedWord : totalWord);
755
743
  }
756
744
  else {
745
+ var maxWidth = Array.isArray(width) ? width[tickIndex] : width;
757
746
  while ((word = words.pop())) {
758
747
  line.push(word);
759
- tspan.text(line.join(' '));
760
- if (tspan.node().getComputedTextLength() > width && line.length > 1) {
748
+ var label = line.join(' ');
749
+ tspan.text(label);
750
+ var labelWidth = (0, exports.getTextSize)(label, CARTESIAN_XAXIS_TEXT_SELECTOR, container).width;
751
+ if (labelWidth > maxWidth && line.length > 1) {
761
752
  line.pop();
762
753
  tspan.text(line.join(' '));
763
754
  line = [word];
764
755
  tspan = text
765
756
  .append('tspan')
766
- .attr('id', 'WordBreakId')
767
757
  .attr('x', 0)
768
758
  .attr('y', y)
769
759
  .attr('dy', ++lineNumber * lineHeight + dy + 'em')
@@ -775,10 +765,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
775
765
  });
776
766
  if (!showXAxisLablesTooltip) {
777
767
  var maxHeight = 12; // intial value to render corretly first time
778
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
779
- var outerHTMLElement = document.getElementById('WordBreakId');
780
- var BoxCordinates = outerHTMLElement && outerHTMLElement.getBoundingClientRect();
781
- var boxHeight = BoxCordinates && BoxCordinates.height;
768
+ var boxHeight = (_b = (_a = (container !== null && container !== void 0 ? container : document).querySelector(".".concat(exports.CARTESIAN_XAXIS_CLASSNAME, " tspan"))) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) !== null && _b !== void 0 ? _b : 0;
782
769
  if (boxHeight > maxHeight) {
783
770
  maxHeight = boxHeight;
784
771
  }
@@ -803,53 +790,35 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
803
790
  ? "...".concat(text.text().slice(0, noOfCharsToTruncate))
804
791
  : "".concat(text.text().slice(0, noOfCharsToTruncate), "...");
805
792
  var totalWordLength = text.text().length;
806
- var padding = 0; // ems
807
793
  var y = text.attr('y');
808
794
  var x = text.attr('x');
809
795
  var dy = parseFloat(text.attr('dy'));
810
- var dx = 0;
811
- text
796
+ var tspan = text
812
797
  .text(null)
798
+ .attr('data-full', totalWord)
813
799
  .append('tspan')
814
800
  .attr('x', x)
815
801
  .attr('y', y)
816
- .attr('id', 'BaseSpan')
817
- .attr('dy', dy + 'em')
818
- .attr('data-', totalWord);
819
- if (truncateLabel && totalWordLength > noOfCharsToTruncate) {
820
- text
821
- .append('tspan')
822
- .attr('id', 'showDots')
823
- .attr('x', x)
824
- .attr('y', y)
825
- .attr('dy', dy + 'em')
826
- .attr('dx', padding + dx + 'em')
827
- .text(truncatedWord);
828
- }
829
- else {
830
- text
831
- .append('tspan')
832
- .attr('id', 'LessLength')
833
- .attr('x', x)
834
- .attr('y', y)
835
- .attr('dx', padding + dx + 'em')
836
- .text(totalWord);
802
+ .attr('dy', dy + 'em');
803
+ if (truncateLabel) {
804
+ tspan.text(totalWordLength > noOfCharsToTruncate ? truncatedWord : totalWord);
837
805
  }
838
806
  });
839
807
  }
840
808
  var wrapContent = function (content, id, maxWidth) {
841
809
  var textElement = (0, d3_selection_1.select)("#".concat(id));
842
810
  textElement.text(content);
843
- if (!textElement.node()) {
811
+ var node = textElement.node();
812
+ if (!node || typeof node.getComputedTextLength !== 'function') {
844
813
  return false;
845
814
  }
846
815
  var isOverflowing = false;
847
- var textLength = textElement.node().getComputedTextLength();
816
+ var textLength = node.getComputedTextLength();
848
817
  while (textLength > maxWidth && content.length > 0) {
849
818
  content = content.slice(0, -1);
850
819
  textElement.text(content + '...');
851
820
  isOverflowing = true;
852
- textLength = textElement.node().getComputedTextLength();
821
+ textLength = node.getComputedTextLength();
853
822
  }
854
823
  return isOverflowing;
855
824
  };
@@ -888,38 +857,41 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
888
857
  */
889
858
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
890
859
  function tooltipOfAxislabels(axistooltipProps) {
891
- var tooltipCls = axistooltipProps.tooltipCls, axis = axistooltipProps.axis, id = axistooltipProps.id;
860
+ var tooltipCls = axistooltipProps.tooltipCls, axis = axistooltipProps.axis, id = axistooltipProps.id, container = axistooltipProps.container;
892
861
  if (axis === null) {
893
862
  return null;
894
863
  }
895
- var div = (0, d3_selection_1.select)('body').append('div').attr('id', id).attr('class', tooltipCls).style('opacity', 0);
896
- var aa = axis.selectAll('#BaseSpan')._groups[0];
897
- var baseSpanLength = aa && Object.keys(aa).length;
898
- var originalDataArray = [];
899
- for (var i = 0; i < baseSpanLength; i++) {
900
- var originalData = aa[i].dataset && Object.values(aa[i].dataset)[0];
901
- originalDataArray.push(originalData);
902
- }
903
- var tickObject = axis.selectAll('.tick')._groups[0];
904
- var tickObjectLength = tickObject && Object.keys(tickObject).length;
905
- var _loop_1 = function (i) {
906
- var d1 = tickObject[i];
907
- (0, d3_selection_1.select)(d1)
864
+ var div = (container ? (0, d3_selection_1.select)(container) : (0, d3_selection_1.select)('body'))
865
+ .append('div')
866
+ .attr('id', id)
867
+ .attr('class', tooltipCls)
868
+ .style('opacity', 0);
869
+ axis.selectAll('.tick text').each(function () {
870
+ var tickSelection = (0, d3_selection_1.select)(this);
871
+ var fullLabel = tickSelection.attr('data-full');
872
+ if (tickSelection.text() === fullLabel) {
873
+ return;
874
+ }
875
+ var tickEl = this;
876
+ tickSelection
908
877
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
909
878
  .on('mouseover', function (event, d) {
910
- div.style('opacity', 0.9);
879
+ var _a;
880
+ var containerBounds = container === null || container === void 0 ? void 0 : container.getBoundingClientRect();
881
+ var tickBounds = tickEl.getBoundingClientRect();
882
+ var tooltipBottom = containerBounds ? containerBounds.bottom - (tickBounds.top - 4) : tickBounds.top - 4;
883
+ var tooltipLeft = (tickBounds.left + tickBounds.right) / 2 - ((_a = containerBounds === null || containerBounds === void 0 ? void 0 : containerBounds.left) !== null && _a !== void 0 ? _a : 0);
911
884
  div
912
- .text(originalDataArray[i])
913
- .style('left', event.pageX + 'px')
914
- .style('top', event.pageY - 28 + 'px');
885
+ .text(fullLabel)
886
+ .style('bottom', "".concat(tooltipBottom, "px"))
887
+ .style('left', "".concat(tooltipLeft, "px"))
888
+ .style('transform', 'translateX(-50%)')
889
+ .style('opacity', 0.9);
915
890
  })
916
891
  .on('mouseout', function (d) {
917
892
  div.style('opacity', 0);
918
893
  });
919
- };
920
- for (var i = 0; i < tickObjectLength; i++) {
921
- _loop_1(i);
922
- }
894
+ });
923
895
  }
924
896
  /**
925
897
  * Find the axis type of line chart and area chart from given data
@@ -1411,8 +1383,8 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1411
1383
  return true;
1412
1384
  }
1413
1385
  var cssVarRegExp = /var\((--[a-zA-Z0-9\-]+)\)/g;
1414
- function resolveCSSVariables(chartContainer, styleRules) {
1415
- var containerStyles = getComputedStyle(chartContainer);
1386
+ function resolveCSSVariables(container, styleRules) {
1387
+ var containerStyles = getComputedStyle(container);
1416
1388
  return styleRules.replace(cssVarRegExp, function (match, group1) {
1417
1389
  return containerStyles.getPropertyValue(group1);
1418
1390
  });
@@ -1441,26 +1413,53 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1441
1413
  border: 'none',
1442
1414
  whiteSpace: 'pre',
1443
1415
  };
1444
- var MEASUREMENT_SPAN_ID = (0, react_1.getId)('measurement_span_');
1445
- var createMeasurementSpan = function (text, className, parentElement) {
1416
+ var MEASUREMENT_SPAN_ID = 'fui_measurement_span';
1417
+ var TEXT_STYLE_PROPERTIES = [
1418
+ 'font-size',
1419
+ 'font-family',
1420
+ 'font-weight',
1421
+ 'font-style',
1422
+ 'letter-spacing',
1423
+ 'text-transform',
1424
+ ];
1425
+ var measureTextWithDOM = function (text, cssSelector, container) {
1446
1426
  var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);
1447
1427
  if (!measurementSpan) {
1448
1428
  measurementSpan = document.createElement('span');
1449
1429
  measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);
1450
1430
  measurementSpan.setAttribute('aria-hidden', 'true');
1451
- if (parentElement) {
1452
- parentElement.appendChild(measurementSpan);
1453
- }
1454
- else {
1455
- document.body.appendChild(measurementSpan);
1456
- }
1431
+ (container !== null && container !== void 0 ? container : document.body).appendChild(measurementSpan);
1457
1432
  }
1458
- measurementSpan.setAttribute('class', className);
1459
1433
  Object.assign(measurementSpan.style, MEASUREMENT_SPAN_STYLE);
1434
+ var refEl = (container !== null && container !== void 0 ? container : document).querySelector(cssSelector);
1435
+ if (refEl) {
1436
+ copyStyle(TEXT_STYLE_PROPERTIES, refEl, measurementSpan);
1437
+ }
1460
1438
  measurementSpan.textContent = "".concat(text);
1461
- return measurementSpan;
1439
+ var rect = measurementSpan.getBoundingClientRect();
1440
+ return { node: measurementSpan, width: rect.width, height: rect.height };
1441
+ };
1442
+ exports.measureTextWithDOM = measureTextWithDOM;
1443
+ var CACHE_SIZE = 2000;
1444
+ var textSizeCache = new Map();
1445
+ var getTextSize = function (text, cssSelector, container) {
1446
+ var cacheKey = "".concat(text, "|").concat(cssSelector);
1447
+ var cachedResult = textSizeCache.get(cacheKey);
1448
+ if (cachedResult) {
1449
+ return cachedResult;
1450
+ }
1451
+ var _a = (0, exports.measureTextWithDOM)(text, cssSelector, container), width = _a.width, height = _a.height;
1452
+ // TODO: Improve cache eviction strategy if needed (e.g., LRU)
1453
+ if (textSizeCache.size >= CACHE_SIZE) {
1454
+ var firstKey = textSizeCache.keys().next().value;
1455
+ if (!(0, chart_utilities_1.isInvalidValue)(firstKey)) {
1456
+ textSizeCache.delete(firstKey);
1457
+ }
1458
+ }
1459
+ textSizeCache.set(cacheKey, { width: width, height: height });
1460
+ return { width: width, height: height };
1462
1461
  };
1463
- exports.createMeasurementSpan = createMeasurementSpan;
1462
+ exports.getTextSize = getTextSize;
1464
1463
  function getCurveFactory(curve, defaultFactory) {
1465
1464
  if (defaultFactory === void 0) { defaultFactory = d3_shape_1.curveLinear; }
1466
1465
  if (typeof curve === 'function') {
@@ -1732,6 +1731,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1732
1731
  return (0, exports.generateLinearTicks)(refTick, tickStep, scaleDomain);
1733
1732
  }
1734
1733
  };
1734
+ exports.generateNumericTicks = generateNumericTicks;
1735
1735
  var generateDateTicks = function (tickStep, tick0, scaleDomain, useUTC) {
1736
1736
  var refTick = tick0 instanceof Date ? tick0 : new Date(exports.DEFAULT_DATE_STRING);
1737
1737
  if (typeof tickStep === 'number' && tickStep > 0) {
@@ -1745,6 +1745,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1745
1745
  }
1746
1746
  }
1747
1747
  };
1748
+ exports.generateDateTicks = generateDateTicks;
1748
1749
  var findCalloutPoints = function (calloutPointsByX, x) {
1749
1750
  if (x === null) {
1750
1751
  return undefined;
@@ -1759,5 +1760,114 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1759
1760
  };
1760
1761
  };
1761
1762
  exports.findCalloutPoints = findCalloutPoints;
1763
+ var autoLayoutXAxisLabels = function (tickValues, tickLabels, scale, axisNode, containerWidth, container) {
1764
+ var _a;
1765
+ var requiresWrap = false;
1766
+ var requiresTruncate = false;
1767
+ var maxWidths = [];
1768
+ var _b = scale.range(), rangeStart = _b[0], rangeEnd = _b[1];
1769
+ var isRTL = rangeEnd - rangeStart < 0;
1770
+ var start = isRTL ? containerWidth : 0;
1771
+ var end = isRTL ? 0 : containerWidth;
1772
+ var getTickPosition = function (index) {
1773
+ var _a;
1774
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1775
+ return ((_a = scale(tickValues[index])) !== null && _a !== void 0 ? _a : 0) + ('bandwidth' in scale ? scale.bandwidth() / 2 : 0);
1776
+ };
1777
+ var getLabelWidth = function (text) {
1778
+ return (0, exports.getTextSize)(text, CARTESIAN_XAXIS_TEXT_SELECTOR, container).width;
1779
+ };
1780
+ for (var i = 0; i < tickValues.length; i++) {
1781
+ var position = getTickPosition(i);
1782
+ var leftSpace = Math.abs(i > 0 ? (position - getTickPosition(i - 1)) / 2 : position - start);
1783
+ var rightSpace = Math.abs(i + 1 < tickValues.length ? (getTickPosition(i + 1) - position) / 2 : end - position);
1784
+ var maxAvailableWidth = Math.min(leftSpace, rightSpace) * 2 - 8; // 4px padding on both sides
1785
+ var label = tickLabels[i];
1786
+ var labelWidth = getLabelWidth(label);
1787
+ maxWidths.push(maxAvailableWidth);
1788
+ if (labelWidth > maxAvailableWidth) {
1789
+ var longestWordWidth = Math.max.apply(Math, label.split(/\s+/).map(function (word) { return getLabelWidth(word); }));
1790
+ if (longestWordWidth <= maxAvailableWidth) {
1791
+ requiresWrap = true;
1792
+ }
1793
+ else {
1794
+ requiresTruncate = true;
1795
+ }
1796
+ }
1797
+ }
1798
+ if (requiresTruncate) {
1799
+ return truncateAndStaggerXAxisLabels(tickValues, tickLabels, scale, axisNode, containerWidth, container);
1800
+ }
1801
+ if (requiresWrap) {
1802
+ return ((_a = createWrapOfXLabels({
1803
+ node: axisNode,
1804
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1805
+ xAxis: scale,
1806
+ noOfCharsToTruncate: 100,
1807
+ showXAxisLablesTooltip: false,
1808
+ width: maxWidths,
1809
+ container: container,
1810
+ })) !== null && _a !== void 0 ? _a : 0);
1811
+ }
1812
+ return 0;
1813
+ };
1814
+ exports.autoLayoutXAxisLabels = autoLayoutXAxisLabels;
1815
+ var truncateAndStaggerXAxisLabels = function (tickValues, tickLabels, scale, axisNode, containerWidth, container) {
1816
+ if (!axisNode) {
1817
+ return 0;
1818
+ }
1819
+ var maxHeight = 12;
1820
+ var _a = scale.range(), rangeStart = _a[0], rangeEnd = _a[1];
1821
+ var isRTL = rangeEnd - rangeStart < 0;
1822
+ var start = isRTL ? containerWidth : 0;
1823
+ var end = isRTL ? 0 : containerWidth;
1824
+ var getTickPosition = function (index) {
1825
+ var _a;
1826
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1827
+ return ((_a = scale(tickValues[index])) !== null && _a !== void 0 ? _a : 0) + ('bandwidth' in scale ? scale.bandwidth() / 2 : 0);
1828
+ };
1829
+ var getLabelSize = function (text) {
1830
+ return (0, exports.getTextSize)(text, CARTESIAN_XAXIS_TEXT_SELECTOR, container);
1831
+ };
1832
+ (0, d3_selection_1.select)(axisNode)
1833
+ .selectAll('.tick text')
1834
+ .each(function (_, i) {
1835
+ var position = getTickPosition(i);
1836
+ var leftSpace = Math.abs(i > 0 ? position - getTickPosition(i - 1) : position - start);
1837
+ var rightSpace = Math.abs(i + 1 < tickValues.length ? getTickPosition(i + 1) - position : end - position);
1838
+ var maxAvailableWidth = Math.min(leftSpace, rightSpace) * 2 - 8; // 4px padding on both sides
1839
+ var label = tickLabels[i];
1840
+ var textNode = (0, d3_selection_1.select)(this).text(null).attr('data-full', label);
1841
+ var lineHeight = 1.1; // ems
1842
+ var y = textNode.attr('y');
1843
+ var dy = parseFloat(textNode.attr('dy'));
1844
+ textNode
1845
+ .append('tspan')
1846
+ .attr('x', 0)
1847
+ .attr('y', y)
1848
+ .attr('dy', (i % 2 === 1 ? lineHeight : 0) + dy + 'em')
1849
+ .text(truncateTextToFitWidth(label, maxAvailableWidth, function (s) { return getLabelSize(s).width; }));
1850
+ maxHeight = Math.max(maxHeight, getLabelSize(label).height);
1851
+ });
1852
+ return tickValues.length > 1 ? maxHeight : 0;
1853
+ };
1854
+ var truncateTextToFitWidth = function (text, maxWidth, measure) {
1855
+ if (measure(text) <= maxWidth) {
1856
+ return text;
1857
+ }
1858
+ var lo = 1;
1859
+ var hi = text.length;
1860
+ while (lo < hi) {
1861
+ var mid = Math.floor((lo + hi + 1) / 2);
1862
+ var candidate = text.slice(0, mid) + '...';
1863
+ if (measure(candidate) <= maxWidth) {
1864
+ lo = mid;
1865
+ }
1866
+ else {
1867
+ hi = mid - 1;
1868
+ }
1869
+ }
1870
+ return text.slice(0, lo) + '...';
1871
+ };
1762
1872
  });
1763
1873
  //# sourceMappingURL=utilities.js.map