@fluentui/react-charts 9.3.4 → 9.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/dist/index.d.ts +225 -46
  3. package/lib/AnnotationOnlyChart.js +1 -0
  4. package/lib/AnnotationOnlyChart.js.map +1 -0
  5. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +208 -0
  6. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -0
  7. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js +1 -0
  8. package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js.map +1 -0
  9. package/lib/components/AnnotationOnlyChart/index.js +2 -0
  10. package/lib/components/AnnotationOnlyChart/index.js.map +1 -0
  11. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +31 -0
  12. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +1 -0
  13. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +23 -0
  14. package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js.map +1 -0
  15. package/lib/components/AreaChart/useAreaChartStyles.styles.js +11 -6
  16. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  17. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +3 -1
  18. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  19. package/lib/components/ChartTable/ChartTable.js +3 -1
  20. package/lib/components/ChartTable/ChartTable.js.map +1 -1
  21. package/lib/components/ChartTable/useChartTableStyles.styles.js +59 -39
  22. package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  23. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +5 -5
  24. package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  25. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +617 -0
  26. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -0
  27. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js +1 -0
  28. package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -0
  29. package/lib/components/CommonComponents/Annotations/index.js +2 -0
  30. package/lib/components/CommonComponents/Annotations/index.js.map +1 -0
  31. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +173 -0
  32. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -0
  33. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +126 -0
  34. package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +1 -0
  35. package/lib/components/CommonComponents/CartesianChart.js +182 -153
  36. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  37. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  38. package/lib/components/CommonComponents/index.js +2 -0
  39. package/lib/components/CommonComponents/index.js.map +1 -1
  40. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +29 -13
  41. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  42. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +14 -1
  43. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  44. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +2 -6
  45. package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  46. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +3 -2
  47. package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
  48. package/lib/components/DeclarativeChart/DeclarativeChart.js +42 -25
  49. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  50. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  51. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +635 -38
  52. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  53. package/lib/components/DonutChart/Arc/useArcStyles.styles.js +23 -8
  54. package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  55. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +2 -2
  56. package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
  57. package/lib/components/DonutChart/DonutChart.js +12 -7
  58. package/lib/components/DonutChart/DonutChart.js.map +1 -1
  59. package/lib/components/DonutChart/useDonutChartStyles.styles.js +2 -2
  60. package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  61. package/lib/components/FunnelChart/FunnelChart.js +5 -5
  62. package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
  63. package/lib/components/GanttChart/GanttChart.js +3 -3
  64. package/lib/components/GanttChart/GanttChart.js.map +1 -1
  65. package/lib/components/GanttChart/GanttChart.types.js.map +1 -1
  66. package/lib/components/GanttChart/useGanttChartStyles.styles.js +3 -1
  67. package/lib/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
  68. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js +3 -1
  69. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
  70. package/lib/components/GaugeChart/GaugeChart.js +3 -1
  71. package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
  72. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
  73. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  74. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +11 -6
  75. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  76. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +3 -1
  77. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  78. package/lib/components/HeatMapChart/HeatMapChart.js +6 -6
  79. package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
  80. package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  81. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +3 -1
  82. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  83. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +3 -1
  84. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  85. package/lib/components/HorizontalBarChart/HorizontalBarChart.js +3 -1
  86. package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  87. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +25 -12
  88. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  89. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +4 -4
  90. package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
  91. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
  92. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  93. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  94. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +3 -1
  95. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  96. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +3 -1
  97. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  98. package/lib/components/Legends/Legends.js +3 -1
  99. package/lib/components/Legends/Legends.js.map +1 -1
  100. package/lib/components/Legends/Legends.types.js.map +1 -1
  101. package/lib/components/Legends/useLegendsStyles.styles.js +97 -37
  102. package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
  103. package/lib/components/Legends/useLegendsStyles.styles.raw.js +10 -11
  104. package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
  105. package/lib/components/LineChart/LineChart.js +6 -5
  106. package/lib/components/LineChart/LineChart.js.map +1 -1
  107. package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  108. package/lib/components/LineChart/useLineChartStyles.styles.js +15 -10
  109. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  110. package/lib/components/LineChart/useLineChartStyles.styles.raw.js +3 -1
  111. package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  112. package/lib/components/ResponsiveContainer/ResponsiveContainer.js +1 -1
  113. package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  114. package/lib/components/SankeyChart/SankeyChart.js +1 -1
  115. package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
  116. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +13 -10
  117. package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  118. package/lib/components/ScatterChart/ScatterChart.js +1 -1
  119. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  120. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  121. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +13 -8
  122. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  123. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +3 -1
  124. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  125. package/lib/components/VerticalBarChart/VerticalBarChart.js +4 -2
  126. package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  127. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +13 -8
  128. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  129. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +3 -1
  130. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  131. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +13 -5
  132. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  133. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  134. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +11 -6
  135. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  136. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +3 -1
  137. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  138. package/lib/index.js +1 -0
  139. package/lib/index.js.map +1 -1
  140. package/lib/types/ChartAnnotation.js +1 -0
  141. package/lib/types/ChartAnnotation.js.map +1 -0
  142. package/lib/types/index.js +1 -0
  143. package/lib/types/index.js.map +1 -1
  144. package/lib/utilities/Common.styles.js +1 -2
  145. package/lib/utilities/Common.styles.js.map +1 -1
  146. package/lib/utilities/Common.styles.raw.js +1 -2
  147. package/lib/utilities/Common.styles.raw.js.map +1 -1
  148. package/lib/utilities/FocusableTooltipText.js +1 -1
  149. package/lib/utilities/FocusableTooltipText.js.map +1 -1
  150. package/lib/utilities/SVGTooltipText.js +8 -8
  151. package/lib/utilities/SVGTooltipText.js.map +1 -1
  152. package/lib/utilities/image-export-utils.js +108 -0
  153. package/lib/utilities/image-export-utils.js.map +1 -1
  154. package/lib/utilities/utilities.js +16 -13
  155. package/lib/utilities/utilities.js.map +1 -1
  156. package/lib-commonjs/AnnotationOnlyChart.js +6 -0
  157. package/lib-commonjs/AnnotationOnlyChart.js.map +1 -0
  158. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js +219 -0
  159. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -0
  160. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js +6 -0
  161. package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js.map +1 -0
  162. package/lib-commonjs/components/AnnotationOnlyChart/index.js +7 -0
  163. package/lib-commonjs/components/AnnotationOnlyChart/index.js.map +1 -0
  164. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +56 -0
  165. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +1 -0
  166. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +33 -0
  167. package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js.map +1 -0
  168. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +14 -15
  169. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  170. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +3 -1
  171. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  172. package/lib-commonjs/components/ChartTable/ChartTable.js +3 -1
  173. package/lib-commonjs/components/ChartTable/ChartTable.js.map +1 -1
  174. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js +74 -102
  175. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
  176. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js +4 -4
  177. package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
  178. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js +628 -0
  179. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -0
  180. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js +4 -0
  181. package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +1 -0
  182. package/lib-commonjs/components/CommonComponents/Annotations/index.js +7 -0
  183. package/lib-commonjs/components/CommonComponents/Annotations/index.js.map +1 -0
  184. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +265 -0
  185. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -0
  186. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +161 -0
  187. package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +1 -0
  188. package/lib-commonjs/components/CommonComponents/CartesianChart.js +182 -152
  189. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  190. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  191. package/lib-commonjs/components/CommonComponents/index.js +2 -0
  192. package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
  193. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +32 -21
  194. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  195. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +14 -1
  196. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  197. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +0 -14
  198. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
  199. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js +2 -1
  200. package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
  201. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +41 -24
  202. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  203. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  204. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +638 -38
  205. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  206. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +25 -16
  207. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
  208. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +1 -1
  209. package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
  210. package/lib-commonjs/components/DonutChart/DonutChart.js +12 -7
  211. package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
  212. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +2 -2
  213. package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
  214. package/lib-commonjs/components/FunnelChart/FunnelChart.js +5 -5
  215. package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -1
  216. package/lib-commonjs/components/GanttChart/GanttChart.js +3 -3
  217. package/lib-commonjs/components/GanttChart/GanttChart.js.map +1 -1
  218. package/lib-commonjs/components/GanttChart/GanttChart.types.js.map +1 -1
  219. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js +3 -1
  220. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
  221. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js +3 -1
  222. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
  223. package/lib-commonjs/components/GaugeChart/GaugeChart.js +3 -1
  224. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
  225. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
  226. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
  227. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +14 -15
  228. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  229. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +3 -1
  230. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  231. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +6 -6
  232. package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
  233. package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
  234. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +3 -1
  235. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  236. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +3 -1
  237. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  238. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +3 -1
  239. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  240. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +47 -34
  241. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
  242. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +3 -3
  243. package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
  244. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
  245. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
  246. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
  247. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +3 -1
  248. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  249. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +3 -1
  250. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  251. package/lib-commonjs/components/Legends/Legends.js +3 -1
  252. package/lib-commonjs/components/Legends/Legends.js.map +1 -1
  253. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  254. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +144 -86
  255. package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
  256. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js +9 -10
  257. package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
  258. package/lib-commonjs/components/LineChart/LineChart.js +6 -5
  259. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  260. package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
  261. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +18 -19
  262. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  263. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +3 -1
  264. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  265. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +1 -1
  266. package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
  267. package/lib-commonjs/components/SankeyChart/SankeyChart.js +1 -1
  268. package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
  269. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +16 -19
  270. package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
  271. package/lib-commonjs/components/ScatterChart/ScatterChart.js +1 -1
  272. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  273. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  274. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +16 -17
  275. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  276. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +3 -1
  277. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  278. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +4 -2
  279. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
  280. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +16 -17
  281. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  282. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +3 -1
  283. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  284. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +13 -5
  285. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
  286. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  287. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +14 -15
  288. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  289. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +3 -1
  290. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  291. package/lib-commonjs/index.js +1 -0
  292. package/lib-commonjs/index.js.map +1 -1
  293. package/lib-commonjs/types/ChartAnnotation.js +6 -0
  294. package/lib-commonjs/types/ChartAnnotation.js.map +1 -0
  295. package/lib-commonjs/types/index.js +1 -0
  296. package/lib-commonjs/types/index.js.map +1 -1
  297. package/lib-commonjs/utilities/Common.styles.js +1 -2
  298. package/lib-commonjs/utilities/Common.styles.js.map +1 -1
  299. package/lib-commonjs/utilities/Common.styles.raw.js +1 -2
  300. package/lib-commonjs/utilities/Common.styles.raw.js.map +1 -1
  301. package/lib-commonjs/utilities/FocusableTooltipText.js +1 -1
  302. package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
  303. package/lib-commonjs/utilities/SVGTooltipText.js +8 -8
  304. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  305. package/lib-commonjs/utilities/image-export-utils.js +108 -0
  306. package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
  307. package/lib-commonjs/utilities/utilities.js +16 -13
  308. package/lib-commonjs/utilities/utilities.js.map +1 -1
  309. package/package.json +11 -11
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CommonComponents/Annotations/ChartAnnotationLayer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeClasses } from '@griffel/react';\nimport type { ChartAnnotation } from '../../../types/ChartAnnotation';\nimport type {\n AnnotationPoint,\n ChartAnnotationContext,\n ChartAnnotationLayerProps,\n ConnectorRenderData,\n ResolvedAnnotationPosition,\n} from './ChartAnnotationLayer.types';\nimport {\n applyOpacityToColor,\n DEFAULT_ANNOTATION_BACKGROUND_OPACITY,\n DEFAULT_CONNECTOR_ARROW,\n DEFAULT_CONNECTOR_END_PADDING,\n DEFAULT_CONNECTOR_START_PADDING,\n DEFAULT_CONNECTOR_STROKE_WIDTH,\n getDefaultConnectorStrokeColor,\n useChartAnnotationLayerStyles,\n} from './useChartAnnotationLayer.styles';\nimport { useId } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nconst DEFAULT_HORIZONTAL_ALIGN = 'center';\nconst DEFAULT_VERTICAL_ALIGN = 'middle';\nconst DEFAULT_FOREIGN_OBJECT_WIDTH = 180;\nconst DEFAULT_FOREIGN_OBJECT_HEIGHT = 60;\nconst MIN_ARROW_SIZE = 6;\nconst MAX_ARROW_SIZE = 24;\nconst ARROW_SIZE_SCALE = 0.35;\nconst MAX_SIMPLE_MARKUP_DEPTH = 5;\nconst CHAR_CODE_LESS_THAN = '<'.codePointAt(0)!;\nconst CHAR_CODE_GREATER_THAN = '>'.codePointAt(0)!;\nconst getAnnotationKey = (annotation: ChartAnnotation, index: number) =>\n annotation.id ??\n (typeof annotation.text === 'string' || typeof annotation.text === 'number' ? String(annotation.text) : undefined) ??\n `annotation-${index}`;\n\ntype SimpleMarkupNode =\n | { type: 'text'; content: string }\n | { type: 'br' }\n | { type: 'element'; tag: 'b' | 'i'; children: SimpleMarkupNode[] };\n\ntype ElementMarkupNode = Extract<SimpleMarkupNode, { type: 'element' }>;\n\ntype StackFrame = {\n node: ElementMarkupNode | null;\n};\n\nconst decodeSimpleMarkupInput = (input: string): string => {\n const namedEntities: Record<string, string> = {\n amp: '&',\n quot: '\"',\n apos: \"'\",\n nbsp: '\\u00a0',\n };\n\n const withBasicEntitiesDecoded = input.replace(/&(#x?[0-9a-f]+|#\\d+|[a-z][\\w-]*);/gi, (match, entity) => {\n const lower = entity.toLowerCase();\n if (lower === 'lt' || lower === 'gt') {\n return `&${lower};`;\n }\n if (lower.startsWith('#')) {\n const isHex = lower[1] === 'x';\n const digits = lower.slice(isHex ? 2 : 1);\n const codePoint = Number.parseInt(digits, isHex ? 16 : 10);\n if (Number.isNaN(codePoint)) {\n return match;\n }\n if (codePoint === CHAR_CODE_LESS_THAN) {\n return '&lt;';\n }\n if (codePoint === CHAR_CODE_GREATER_THAN) {\n return '&gt;';\n }\n return String.fromCodePoint(codePoint);\n }\n return namedEntities[lower] ?? match;\n });\n\n return withBasicEntitiesDecoded.replace(/&lt;([^;]+)&gt;/gi, (match, inner) => {\n const normalized = inner.trim().replace(/\\s+/g, ' ');\n const lower = normalized.toLowerCase();\n\n switch (lower) {\n case 'b':\n return '<b>';\n case '/b':\n return '</b>';\n case 'i':\n return '<i>';\n case '/i':\n return '</i>';\n case 'br':\n case 'br/':\n case 'br /':\n return '<br />';\n default:\n return match;\n }\n });\n};\n\nconst appendTextNode = (nodes: SimpleMarkupNode[], text: string) => {\n if (text.length === 0) {\n return;\n }\n\n const last = nodes[nodes.length - 1];\n if (last && last.type === 'text') {\n last.content += text;\n } else {\n nodes.push({ type: 'text', content: text });\n }\n};\n\nconst serializeSimpleMarkup = (nodes: SimpleMarkupNode[]): string =>\n nodes\n .map(node => {\n if (node.type === 'text') {\n return node.content;\n }\n if (node.type === 'br') {\n return '<br />';\n }\n return `<${node.tag}>${serializeSimpleMarkup(node.children)}</${node.tag}>`;\n })\n .join('');\n\nconst parseSimpleMarkup = (input: string): SimpleMarkupNode[] => {\n if (!input) {\n return [];\n }\n\n const decodedInput = decodeSimpleMarkupInput(input);\n const rootChildren: SimpleMarkupNode[] = [];\n const stack: StackFrame[] = [{ node: null }];\n const currentChildren = () => stack[stack.length - 1].node?.children ?? rootChildren;\n const tagRegex = /<\\/?([a-z]+)\\s*\\/?\\s*>/gi;\n let lastIndex = 0;\n\n let match: RegExpExecArray | null;\n while ((match = tagRegex.exec(decodedInput)) !== null) {\n const [fullMatch, rawTagName] = match;\n const tagName = rawTagName.toLowerCase();\n const isClosing = fullMatch.startsWith('</');\n const isSelfClosing = /\\/\\s*>$/.test(fullMatch);\n\n appendTextNode(currentChildren(), decodedInput.slice(lastIndex, match.index));\n lastIndex = match.index + fullMatch.length;\n\n if (tagName === 'br' && !isClosing) {\n currentChildren().push({ type: 'br' });\n continue;\n }\n\n if ((tagName === 'b' || tagName === 'i') && !isSelfClosing) {\n if (isClosing) {\n const top = stack[stack.length - 1].node;\n if (stack.length > 1 && top?.tag === tagName) {\n stack.pop();\n } else {\n appendTextNode(currentChildren(), fullMatch);\n }\n } else {\n if (stack.length - 1 >= MAX_SIMPLE_MARKUP_DEPTH) {\n appendTextNode(currentChildren(), fullMatch);\n continue;\n }\n const elementNode: ElementMarkupNode = {\n type: 'element',\n tag: tagName as 'b' | 'i',\n children: [],\n };\n currentChildren().push(elementNode);\n stack.push({ node: elementNode });\n }\n continue;\n }\n\n appendTextNode(currentChildren(), fullMatch);\n }\n\n appendTextNode(currentChildren(), decodedInput.slice(lastIndex));\n\n while (stack.length > 1) {\n const unclosed = stack.pop()!;\n const elementNode = unclosed.node;\n if (!elementNode) {\n continue;\n }\n\n const parentChildren = stack[stack.length - 1].node?.children ?? rootChildren;\n const lastChild = parentChildren[parentChildren.length - 1];\n if (lastChild === elementNode) {\n parentChildren.pop();\n } else {\n const nodeIndex = parentChildren.indexOf(elementNode);\n if (nodeIndex !== -1) {\n parentChildren.splice(nodeIndex, 1);\n }\n }\n\n appendTextNode(\n parentChildren,\n `<${elementNode.tag}>${serializeSimpleMarkup(elementNode.children)}</${elementNode.tag}>`,\n );\n }\n\n return rootChildren;\n};\n\nconst simpleMarkupNodesToPlainText = (nodes: SimpleMarkupNode[]): string =>\n nodes\n .map(node => {\n if (node.type === 'text') {\n return node.content;\n }\n if (node.type === 'br') {\n return '\\n';\n }\n return simpleMarkupNodesToPlainText(node.children);\n })\n .join('');\n\nconst renderSimpleMarkupNodeList = (nodes: SimpleMarkupNode[], keyPrefix: string): React.ReactNode[] =>\n nodes.map((node, index) => {\n const key = `${keyPrefix}-${index}`;\n\n if (node.type === 'text') {\n return <React.Fragment key={key}>{node.content}</React.Fragment>;\n }\n\n if (node.type === 'br') {\n return <br key={key} />;\n }\n\n const Tag = node.tag === 'b' ? 'strong' : 'em';\n return React.createElement(Tag, { key }, ...renderSimpleMarkupNodeList(node.children, key));\n });\nconst renderSimpleMarkup = (nodes: SimpleMarkupNode[], keyPrefix: string): React.ReactNode => {\n const rendered = renderSimpleMarkupNodeList(nodes, keyPrefix);\n return rendered.length <= 1 ? rendered[0] ?? null : rendered;\n};\n\nconst normalizeBandOffset = (\n scale: (((value: unknown) => number) & { bandwidth?: () => number }) | undefined,\n value: unknown,\n) => {\n const position = scale?.(value as never);\n if (typeof position !== 'number' || Number.isNaN(position)) {\n return undefined;\n }\n if (scale && typeof scale.bandwidth === 'function') {\n return position + scale.bandwidth() / 2;\n }\n return position;\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.max(min, Math.min(max, value));\n\nconst createMeasurementSignature = (\n annotationContentSignature: string,\n containerStyle: React.CSSProperties,\n contentStyle: React.CSSProperties,\n layoutClassName?: string,\n styleClassName?: string,\n) =>\n JSON.stringify({\n annotationContentSignature,\n containerStyle,\n contentStyle,\n layoutClassName: layoutClassName ?? '',\n styleClassName: styleClassName ?? '',\n });\n\ntype MeasurementEntry = { width: number; height: number; signature: string };\n\nconst resolveCoordinates = (\n annotation: ChartAnnotation,\n context: ChartAnnotationContext,\n): ResolvedAnnotationPosition | undefined => {\n const { coordinates, layout } = annotation;\n\n if (!coordinates) {\n return undefined;\n }\n\n const offsetX = layout?.offsetX ?? 0;\n const offsetY = layout?.offsetY ?? 0;\n\n const anchor: AnnotationPoint = { x: 0, y: 0 };\n\n switch (coordinates.type) {\n case 'data': {\n const { x, y, yAxis = 'primary' } = coordinates;\n const xScale = context.xScale;\n const yScale = yAxis === 'secondary' ? context.yScaleSecondary : context.yScalePrimary;\n if (!xScale || !yScale) {\n return undefined;\n }\n const xValue = normalizeBandOffset(xScale, x instanceof Date ? x.getTime() : x);\n const yValue = normalizeBandOffset(yScale, y instanceof Date ? y.getTime() : y);\n if (typeof xValue !== 'number' || typeof yValue !== 'number') {\n return undefined;\n }\n anchor.x = xValue;\n anchor.y = yValue;\n break;\n }\n case 'relative': {\n if (typeof coordinates.x !== 'number' || typeof coordinates.y !== 'number') {\n return undefined;\n }\n anchor.x = context.plotRect.x + context.plotRect.width * coordinates.x;\n anchor.y = context.plotRect.y + context.plotRect.height * coordinates.y;\n break;\n }\n case 'pixel': {\n if (typeof coordinates.x !== 'number' || typeof coordinates.y !== 'number') {\n return undefined;\n }\n anchor.x = context.plotRect.x + coordinates.x;\n anchor.y = context.plotRect.y + coordinates.y;\n break;\n }\n default:\n return undefined;\n }\n\n let left = anchor.x + offsetX;\n let top = anchor.y + offsetY;\n\n if (layout?.clipToBounds) {\n left = clamp(left, context.plotRect.x, context.plotRect.x + context.plotRect.width);\n top = clamp(top, context.plotRect.y, context.plotRect.y + context.plotRect.height);\n }\n\n return {\n anchor,\n point: { x: left, y: top },\n };\n};\n\nexport const ChartAnnotationLayer: React.FC<ChartAnnotationLayerProps> = React.memo(props => {\n const { annotations: annotationsProp, context } = props;\n\n const classes = useChartAnnotationLayerStyles(props);\n const idPrefix = useId('chart-annotation');\n\n const [measurements, setMeasurements] = React.useState<Record<string, MeasurementEntry>>({});\n\n const resolvedAnnotations = React.useMemo(\n () =>\n (annotationsProp ?? []).map((annotation, index) => ({ annotation, key: getAnnotationKey(annotation, index) })),\n [annotationsProp],\n );\n\n React.useEffect(() => {\n setMeasurements(prev => {\n if (resolvedAnnotations.length === 0) {\n if (Object.keys(prev).length === 0) {\n return prev;\n }\n return {} as Record<string, MeasurementEntry>;\n }\n\n const next: Record<string, MeasurementEntry> = {};\n resolvedAnnotations.forEach(({ key }) => {\n if (prev[key]) {\n next[key] = prev[key];\n }\n });\n\n if (Object.keys(next).length === Object.keys(prev).length) {\n let identical = true;\n for (const key of Object.keys(next)) {\n if (next[key] !== prev[key]) {\n identical = false;\n break;\n }\n }\n if (identical) {\n return prev;\n }\n }\n\n return next;\n });\n }, [resolvedAnnotations]);\n\n const updateMeasurement = React.useCallback((key: string, width: number, height: number, signature: string) => {\n setMeasurements(prev => {\n const prevEntry = prev[key];\n if (\n prevEntry &&\n prevEntry.signature === signature &&\n Math.abs(prevEntry.width - width) < 0.5 &&\n Math.abs(prevEntry.height - height) < 0.5\n ) {\n return prev;\n }\n\n if (width === 0 && height === 0) {\n return prev;\n }\n\n return {\n ...prev,\n [key]: { width, height, signature },\n };\n });\n }, []);\n\n const annotationForeignObjects: React.ReactNode[] = [];\n const measurementElements: React.ReactNode[] = [];\n const connectors: ConnectorRenderData[] = [];\n\n resolvedAnnotations.forEach(({ annotation, key }) => {\n const resolved = resolveCoordinates(annotation, context);\n if (!resolved) {\n return;\n }\n\n const rawAnnotationText = annotation.text === undefined || annotation.text === null ? '' : String(annotation.text);\n const annotationMarkupNodes = parseSimpleMarkup(rawAnnotationText);\n const annotationMarkupSignature = JSON.stringify(annotationMarkupNodes);\n const annotationPlainText = simpleMarkupNodesToPlainText(annotationMarkupNodes);\n\n const layout = annotation.layout;\n const horizontalAlign = layout?.align ?? DEFAULT_HORIZONTAL_ALIGN;\n const verticalAlign = layout?.verticalAlign ?? DEFAULT_VERTICAL_ALIGN;\n const backgroundOpacity = annotation.style?.opacity ?? DEFAULT_ANNOTATION_BACKGROUND_OPACITY;\n const baseBackgroundColor = annotation.style?.backgroundColor;\n const hasCustomBackground =\n annotation.style?.backgroundColor !== undefined || annotation.style?.opacity !== undefined;\n\n const containerStyle: React.CSSProperties = {\n maxWidth: layout?.maxWidth,\n ...(hasCustomBackground\n ? {\n backgroundColor: applyOpacityToColor(baseBackgroundColor, backgroundOpacity),\n }\n : {\n backgroundColor: applyOpacityToColor(tokens.colorNeutralBackground1, DEFAULT_ANNOTATION_BACKGROUND_OPACITY),\n }),\n borderColor: annotation.style?.borderColor,\n borderWidth: annotation.style?.borderWidth,\n borderStyle: annotation.style?.borderStyle ?? (annotation.style?.borderColor ? 'solid' : undefined),\n borderRadius: annotation.style?.borderRadius,\n padding: annotation.style?.padding,\n boxShadow: annotation.style?.boxShadow,\n };\n\n const contentStyle: React.CSSProperties = {\n color: annotation.style?.textColor,\n fontSize: annotation.style?.fontSize,\n fontWeight: annotation.style?.fontWeight,\n opacity: 1,\n };\n\n if (typeof annotation.style?.rotation === 'number' && !Number.isNaN(annotation.style.rotation)) {\n containerStyle.transform = `rotate(${annotation.style.rotation}deg)`;\n containerStyle.transformOrigin = '50% 50%';\n }\n\n const measurementSignature = createMeasurementSignature(\n annotationMarkupSignature,\n containerStyle,\n contentStyle,\n layout?.className,\n annotation.style?.className,\n );\n const measurementEntry = measurements[key];\n const isMeasurementValid = measurementEntry?.signature === measurementSignature;\n const measuredSize = isMeasurementValid ? measurementEntry : undefined;\n const width = Math.max(measuredSize?.width ?? layout?.maxWidth ?? DEFAULT_FOREIGN_OBJECT_WIDTH, 1);\n const height = Math.max(measuredSize?.height ?? DEFAULT_FOREIGN_OBJECT_HEIGHT, 1);\n\n const offsetX = horizontalAlign === 'center' ? -width / 2 : horizontalAlign === 'end' ? -width : 0;\n const offsetY = verticalAlign === 'middle' ? -height / 2 : verticalAlign === 'bottom' ? -height : 0;\n\n const baseTopLeftX = resolved.point.x + offsetX;\n const baseTopLeftY = resolved.point.y + offsetY;\n\n const usePlotBounds = layout?.clipToBounds !== false;\n const viewportX = usePlotBounds ? context.plotRect.x : 0;\n const viewportY = usePlotBounds ? context.plotRect.y : 0;\n const viewportWidth = usePlotBounds ? context.plotRect.width : context.svgRect.width ?? 0;\n const viewportHeight = usePlotBounds ? context.plotRect.height : context.svgRect.height ?? 0;\n\n const maxTopLeftX = viewportWidth > 0 ? viewportX + viewportWidth - width : baseTopLeftX;\n const maxTopLeftY = viewportHeight > 0 ? viewportY + viewportHeight - height : baseTopLeftY;\n\n let topLeftX = viewportWidth > 0 ? clamp(baseTopLeftX, viewportX, Math.max(viewportX, maxTopLeftX)) : baseTopLeftX;\n let topLeftY = viewportHeight > 0 ? clamp(baseTopLeftY, viewportY, Math.max(viewportY, maxTopLeftY)) : baseTopLeftY;\n\n let displayPoint = {\n x: topLeftX - offsetX,\n y: topLeftY - offsetY,\n };\n\n if (annotation.connector) {\n const startPadding = annotation.connector.startPadding ?? 12;\n const endPadding = annotation.connector.endPadding ?? 0;\n const minArrowClearance = 6;\n const minDistance = Math.max(startPadding + endPadding + minArrowClearance, startPadding);\n\n const dx = displayPoint.x - resolved.anchor.x;\n const dy = displayPoint.y - resolved.anchor.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n\n if (distance < minDistance) {\n const fallbackDirection: AnnotationPoint = { x: 0, y: -1 };\n const ux = distance === 0 ? fallbackDirection.x : dx / distance;\n const uy = distance === 0 ? fallbackDirection.y : dy / distance;\n\n const desiredDisplayX = resolved.anchor.x + ux * minDistance;\n const desiredDisplayY = resolved.anchor.y + uy * minDistance;\n\n let desiredTopLeftX = desiredDisplayX + offsetX;\n let desiredTopLeftY = desiredDisplayY + offsetY;\n\n desiredTopLeftX =\n viewportWidth > 0 ? clamp(desiredTopLeftX, viewportX, Math.max(viewportX, maxTopLeftX)) : desiredTopLeftX;\n desiredTopLeftY =\n viewportHeight > 0 ? clamp(desiredTopLeftY, viewportY, Math.max(viewportY, maxTopLeftY)) : desiredTopLeftY;\n\n topLeftX = desiredTopLeftX;\n topLeftY = desiredTopLeftY;\n displayPoint = {\n x: topLeftX - offsetX,\n y: topLeftY - offsetY,\n };\n }\n }\n\n const measurementStyle: React.CSSProperties = {\n position: 'absolute',\n left: topLeftX,\n top: topLeftY,\n pointerEvents: 'none',\n visibility: 'hidden',\n ...containerStyle,\n };\n\n if (!isMeasurementValid) {\n measurementElements.push(\n <div\n key={`${key}-measurement`}\n ref={node => {\n if (node) {\n const rect = node.getBoundingClientRect();\n if (rect.width !== 0 || rect.height !== 0) {\n updateMeasurement(key, rect.width, rect.height, measurementSignature);\n }\n }\n }}\n className={mergeClasses(\n classes.annotation,\n classes.measurement,\n layout?.className,\n annotation.style?.className,\n )}\n style={measurementStyle}\n aria-hidden={true}\n data-annotation-key={key}\n data-chart-annotation-measurement=\"true\"\n >\n <div\n className={mergeClasses(classes.annotationContent, layout?.className, annotation.style?.className)}\n style={contentStyle}\n >\n {renderSimpleMarkup(annotationMarkupNodes, `${key}-measurement`)}\n </div>\n </div>,\n );\n }\n\n annotationForeignObjects.push(\n <foreignObject\n key={`${key}-annotation`}\n x={topLeftX}\n y={topLeftY}\n width={width}\n height={height}\n className={mergeClasses(classes.annotationForeignObject)}\n data-annotation-key={key}\n >\n <div\n className={mergeClasses(classes.annotation, layout?.className, annotation.style?.className)}\n style={containerStyle}\n data-annotation-key={key}\n >\n <div\n className={mergeClasses(classes.annotationContent, annotation.style?.className)}\n style={contentStyle}\n role={annotation.accessibility?.role ?? 'note'}\n aria-label={annotation.accessibility?.ariaLabel ?? (annotationPlainText ? annotationPlainText : undefined)}\n aria-describedby={annotation.accessibility?.ariaDescribedBy}\n data-chart-annotation=\"true\"\n data-annotation-key={key}\n >\n {renderSimpleMarkup(annotationMarkupNodes, `${key}-content`)}\n </div>\n </div>\n </foreignObject>,\n );\n\n if (annotation.connector) {\n const {\n startPadding = DEFAULT_CONNECTOR_START_PADDING,\n endPadding = DEFAULT_CONNECTOR_END_PADDING,\n strokeColor = getDefaultConnectorStrokeColor(),\n strokeWidth = DEFAULT_CONNECTOR_STROKE_WIDTH,\n dashArray,\n arrow = DEFAULT_CONNECTOR_ARROW,\n } = annotation.connector;\n\n const dx = resolved.anchor.x - displayPoint.x;\n const dy = resolved.anchor.y - displayPoint.y;\n const distance = Math.sqrt(dx * dx + dy * dy) || 1;\n const ux = dx / distance;\n const uy = dy / distance;\n\n const sizeBasis = Math.max(1, Math.min(width, height));\n const proportionalSize = sizeBasis * ARROW_SIZE_SCALE;\n const maxByPadding = startPadding > 0 ? startPadding * 1.25 : MAX_ARROW_SIZE;\n const maxByDistance = distance * 0.6;\n const markerSize = clamp(proportionalSize, MIN_ARROW_SIZE, Math.min(MAX_ARROW_SIZE, maxByPadding, maxByDistance));\n const markerStrokeWidth = clamp(strokeWidth, 1, markerSize / 2);\n\n const start: AnnotationPoint = {\n x: displayPoint.x + ux * startPadding,\n y: displayPoint.y + uy * startPadding,\n };\n\n const end: AnnotationPoint = {\n x: resolved.anchor.x - ux * endPadding,\n y: resolved.anchor.y - uy * endPadding,\n };\n\n connectors.push({\n key: `${key}-connector`,\n start,\n end,\n strokeColor,\n strokeWidth,\n dashArray,\n arrow,\n markerSize,\n markerStrokeWidth,\n });\n }\n });\n\n if (annotationForeignObjects.length === 0 && connectors.length === 0) {\n return null;\n }\n\n const viewBoxWidth = context.svgRect.width || 1;\n const viewBoxHeight = context.svgRect.height || 1;\n\n const markerDefs: React.ReactNode[] = [];\n\n const createMarkerId = (color: string, position: 'start' | 'end', size: number, markerStrokeWidth: number) => {\n const id = `${idPrefix}-${position}-${markerDefs.length}`;\n const refY = size / 2;\n const refX = position === 'end' ? size : 0;\n const pathEnd = `M0 0 L ${size} ${refY} L0 ${size} Z`;\n const pathStart = `M ${size} 0 L0 ${refY} L ${size} ${size} Z`;\n const path = position === 'end' ? pathEnd : pathStart;\n\n markerDefs.push(\n <marker\n key={id}\n id={id}\n markerWidth={size}\n markerHeight={size}\n viewBox={`0 0 ${size} ${size}`}\n refX={refX}\n refY={refY}\n orient=\"auto\"\n markerUnits=\"userSpaceOnUse\"\n >\n <path\n d={path}\n fill={color}\n stroke={color}\n strokeWidth={markerStrokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </marker>,\n );\n\n return id;\n };\n\n const connectorElements = connectors.map(connector => {\n let markerStart: string | undefined;\n let markerEnd: string | undefined;\n\n if (connector.arrow === 'start' || connector.arrow === 'both') {\n markerStart = createMarkerId(connector.strokeColor, 'start', connector.markerSize, connector.markerStrokeWidth);\n }\n if (connector.arrow === 'end' || connector.arrow === 'both') {\n markerEnd = createMarkerId(connector.strokeColor, 'end', connector.markerSize, connector.markerStrokeWidth);\n }\n\n return (\n <line\n key={connector.key}\n x1={connector.start.x}\n y1={connector.start.y}\n x2={connector.end.x}\n y2={connector.end.y}\n stroke={connector.strokeColor}\n strokeWidth={connector.strokeWidth}\n strokeDasharray={connector.dashArray}\n strokeLinecap=\"round\"\n markerStart={markerStart ? `url(#${markerStart})` : undefined}\n markerEnd={markerEnd ? `url(#${markerEnd})` : undefined}\n />\n );\n });\n\n const shouldRenderSvg = connectors.length > 0 || annotationForeignObjects.length > 0;\n return (\n <div className={classes.root} role=\"presentation\" data-chart-annotation-layer=\"true\">\n {shouldRenderSvg && (\n <svg\n className={classes.connectorLayer}\n width=\"100%\"\n height=\"100%\"\n viewBox={`0 0 ${viewBoxWidth} ${viewBoxHeight}`}\n preserveAspectRatio=\"none\"\n data-chart-annotation-svg=\"true\"\n >\n {markerDefs.length > 0 && <defs>{markerDefs}</defs>}\n {connectorElements.length > 0 && (\n <g aria-hidden=\"true\" className={classes.connectorGroup}>\n {connectorElements}\n </g>\n )}\n {annotationForeignObjects}\n </svg>\n )}\n {measurementElements}\n </div>\n );\n});\n\nChartAnnotationLayer.displayName = 'ChartAnnotationLayer';\n"],"names":["React","mergeClasses","applyOpacityToColor","DEFAULT_ANNOTATION_BACKGROUND_OPACITY","DEFAULT_CONNECTOR_ARROW","DEFAULT_CONNECTOR_END_PADDING","DEFAULT_CONNECTOR_START_PADDING","DEFAULT_CONNECTOR_STROKE_WIDTH","getDefaultConnectorStrokeColor","useChartAnnotationLayerStyles","useId","tokens","DEFAULT_HORIZONTAL_ALIGN","DEFAULT_VERTICAL_ALIGN","DEFAULT_FOREIGN_OBJECT_WIDTH","DEFAULT_FOREIGN_OBJECT_HEIGHT","MIN_ARROW_SIZE","MAX_ARROW_SIZE","ARROW_SIZE_SCALE","MAX_SIMPLE_MARKUP_DEPTH","CHAR_CODE_LESS_THAN","codePointAt","CHAR_CODE_GREATER_THAN","getAnnotationKey","annotation","index","id","text","String","undefined","decodeSimpleMarkupInput","input","namedEntities","amp","quot","apos","nbsp","withBasicEntitiesDecoded","replace","match","entity","lower","toLowerCase","startsWith","isHex","digits","slice","codePoint","Number","parseInt","isNaN","fromCodePoint","inner","normalized","trim","appendTextNode","nodes","length","last","type","content","push","serializeSimpleMarkup","map","node","tag","children","join","parseSimpleMarkup","decodedInput","rootChildren","stack","currentChildren","tagRegex","lastIndex","exec","fullMatch","rawTagName","tagName","isClosing","isSelfClosing","test","top","pop","elementNode","unclosed","parentChildren","lastChild","nodeIndex","indexOf","splice","simpleMarkupNodesToPlainText","renderSimpleMarkupNodeList","keyPrefix","key","Fragment","br","Tag","createElement","renderSimpleMarkup","rendered","normalizeBandOffset","scale","value","position","bandwidth","clamp","min","max","Math","createMeasurementSignature","annotationContentSignature","containerStyle","contentStyle","layoutClassName","styleClassName","JSON","stringify","resolveCoordinates","context","coordinates","layout","offsetX","offsetY","anchor","x","y","yAxis","xScale","yScale","yScaleSecondary","yScalePrimary","xValue","Date","getTime","yValue","plotRect","width","height","left","clipToBounds","point","ChartAnnotationLayer","memo","props","annotations","annotationsProp","classes","idPrefix","measurements","setMeasurements","useState","resolvedAnnotations","useMemo","useEffect","prev","Object","keys","next","forEach","identical","updateMeasurement","useCallback","signature","prevEntry","abs","annotationForeignObjects","measurementElements","connectors","resolved","rawAnnotationText","annotationMarkupNodes","annotationMarkupSignature","annotationPlainText","horizontalAlign","align","verticalAlign","backgroundOpacity","style","opacity","baseBackgroundColor","backgroundColor","hasCustomBackground","maxWidth","colorNeutralBackground1","borderColor","borderWidth","borderStyle","borderRadius","padding","boxShadow","color","textColor","fontSize","fontWeight","rotation","transform","transformOrigin","measurementSignature","className","measurementEntry","isMeasurementValid","measuredSize","baseTopLeftX","baseTopLeftY","usePlotBounds","viewportX","viewportY","viewportWidth","svgRect","viewportHeight","maxTopLeftX","maxTopLeftY","topLeftX","topLeftY","displayPoint","connector","startPadding","endPadding","minArrowClearance","minDistance","dx","dy","distance","sqrt","fallbackDirection","ux","uy","desiredDisplayX","desiredDisplayY","desiredTopLeftX","desiredTopLeftY","measurementStyle","pointerEvents","visibility","div","ref","rect","getBoundingClientRect","measurement","aria-hidden","data-annotation-key","data-chart-annotation-measurement","annotationContent","foreignObject","annotationForeignObject","role","accessibility","aria-label","ariaLabel","aria-describedby","ariaDescribedBy","data-chart-annotation","strokeColor","strokeWidth","dashArray","arrow","sizeBasis","proportionalSize","maxByPadding","maxByDistance","markerSize","markerStrokeWidth","start","end","viewBoxWidth","viewBoxHeight","markerDefs","createMarkerId","size","refY","refX","pathEnd","pathStart","path","marker","markerWidth","markerHeight","viewBox","orient","markerUnits","d","fill","stroke","strokeLinecap","strokeLinejoin","connectorElements","markerStart","markerEnd","line","x1","y1","x2","y2","strokeDasharray","shouldRenderSvg","root","data-chart-annotation-layer","svg","connectorLayer","preserveAspectRatio","data-chart-annotation-svg","defs","g","connectorGroup","displayName"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CommonComponents/Annotations/ChartAnnotationLayer.types.ts"],"sourcesContent":["import { ChartAnnotation, ChartAnnotationArrowHead } from '../../../types/ChartAnnotation';\n\nexport interface AnnotationPoint {\n x: number;\n y: number;\n}\n\nexport interface AnnotationPlotRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface ChartAnnotationContext {\n /** Rectangle describing the drawable area of the chart (without margins) */\n plotRect: AnnotationPlotRect;\n /** Size of the owning SVG element */\n svgRect: { width: number; height: number };\n /** Indicates if layout should be mirrored */\n isRtl?: boolean;\n /** Primary x scale mapping data domain to pixels */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale?: (value: any) => number;\n /** Primary y scale mapping data domain to pixels */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScalePrimary?: (value: any) => number;\n /** Secondary y scale when present */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yScaleSecondary?: (value: any) => number;\n}\n\nexport interface ChartAnnotationLayerProps {\n annotations?: ChartAnnotation[];\n context: ChartAnnotationContext;\n className?: string;\n}\n\nexport interface ResolvedAnnotationPosition {\n /** Final absolute position after applying layout and offsets */\n point: AnnotationPoint;\n /** Raw anchor position before offsets (used for connectors) */\n anchor: AnnotationPoint;\n}\n\nexport type ConnectorRenderData = {\n key: string;\n start: AnnotationPoint;\n end: AnnotationPoint;\n strokeColor: string;\n strokeWidth: number;\n dashArray?: string;\n arrow: ChartAnnotationArrowHead;\n markerSize: number;\n markerStrokeWidth: number;\n};\n"],"names":[],"mappings":"AA6CA,WAUE"}
@@ -0,0 +1,2 @@
1
+ export * from './ChartAnnotationLayer';
2
+ export * from './ChartAnnotationLayer.types';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CommonComponents/Annotations/index.ts"],"sourcesContent":["export * from './ChartAnnotationLayer';\nexport * from './ChartAnnotationLayer.types';\n"],"names":[],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,+BAA+B"}
@@ -0,0 +1,173 @@
1
+ 'use client';
2
+
3
+ import { __styles, mergeClasses } from '@griffel/react';
4
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
5
+ import { color as d3Color } from 'd3-color';
6
+ export const DEFAULT_ANNOTATION_BACKGROUND_OPACITY = 0.8;
7
+ export const DEFAULT_ANNOTATION_PADDING = '4px 8px';
8
+ export const DEFAULT_CONNECTOR_START_PADDING = 12;
9
+ export const DEFAULT_CONNECTOR_END_PADDING = 0;
10
+ export const DEFAULT_CONNECTOR_STROKE_WIDTH = 2;
11
+ export const DEFAULT_CONNECTOR_ARROW = 'end';
12
+ export const applyOpacityToColor = (color, opacity) => {
13
+ if (!color) {
14
+ return undefined;
15
+ }
16
+ const parsed = d3Color(color);
17
+ if (!parsed) {
18
+ return color;
19
+ }
20
+ parsed.opacity = Math.max(0, Math.min(1, opacity));
21
+ return parsed.toString();
22
+ };
23
+ /**
24
+ * Get default annotation background color with opacity applied
25
+ * Updated for v9 - uses tokens instead of theme
26
+ */
27
+ export const getDefaultAnnotationBackgroundColor = () => applyOpacityToColor(tokens.colorNeutralBackground1, DEFAULT_ANNOTATION_BACKGROUND_OPACITY);
28
+ /**
29
+ * Get default connector stroke color
30
+ * Updated for v9 - uses tokens instead of theme
31
+ */
32
+ export const getDefaultConnectorStrokeColor = () => tokens.colorNeutralForeground1;
33
+ /**
34
+ * @internal
35
+ */
36
+ export const chartAnnotationLayerClassNames = {
37
+ root: 'fui-chartAnnotationLayer__root',
38
+ annotation: 'fui-chartAnnotationLayer__annotation',
39
+ connectorLayer: 'fui-chartAnnotationLayer__connectorLayer',
40
+ measurement: 'fui-chartAnnotationLayer__measurement',
41
+ annotationContent: 'fui-chartAnnotationLayer__annotationContent',
42
+ annotationForeignObject: 'fui-chartAnnotationLayer__annotationForeignObject',
43
+ annotationContentInteractive: 'fui-chartAnnotationLayer__annotationContentInteractive',
44
+ annotationForeignObjectInteractive: 'fui-chartAnnotationLayer__annotationForeignObjectInteractive',
45
+ connectorGroup: 'fui-chartAnnotationLayer__connectorGroup'
46
+ };
47
+ /**
48
+ * Base Styles
49
+ */
50
+ const useStyles = /*#__PURE__*/__styles({
51
+ root: {
52
+ qhf8xq: "f1euv43f",
53
+ Bhzewxz: "f15twtuk",
54
+ oyh7mz: ["f1vgc2s3", "f1e31b4d"],
55
+ j35jbq: ["f1e31b4d", "f1vgc2s3"],
56
+ B5kzvoi: "f1yab3r1",
57
+ a9b677: "fly5x3f",
58
+ Bqenvij: "f1l02sjl",
59
+ Bkecrkj: "f1aehjj5",
60
+ B68tc82: 0,
61
+ Bmxbyg5: 0,
62
+ Bpg54ce: "f1gl81tg",
63
+ Bj3rh1h: "f19g0ac"
64
+ },
65
+ annotation: {
66
+ Bahqtrf: "fk6fouc",
67
+ Be2twd7: "fy9rknc",
68
+ Bhrd7zp: "figsok6",
69
+ Bg96gwp: "fwrc4pm",
70
+ qhf8xq: "f1euv43f",
71
+ Bkecrkj: "f1aehjj5",
72
+ mc9l5x: "f22iagw",
73
+ Bt984gj: "f122n59",
74
+ Brf1p80: "f4d9j23",
75
+ fsow6f: "f17mccla",
76
+ sj55zd: "f19n0e5",
77
+ z8tnut: "f10ra9hq",
78
+ Byoj8tv: "f1y2xyjm",
79
+ uwmqm3: ["f177v4lu", "f19lj068"],
80
+ z189sj: ["f19lj068", "f177v4lu"],
81
+ Beyfa6y: 0,
82
+ Bbmb7ep: 0,
83
+ Btl43ni: 0,
84
+ B7oj6ja: 0,
85
+ Dimara: "ft85np5",
86
+ E5pizo: "f1hg901r",
87
+ Bgfg5da: 0,
88
+ B9xav0g: 0,
89
+ oivjwe: 0,
90
+ Bn0qgzm: 0,
91
+ B4g9neb: 0,
92
+ zhjwy3: 0,
93
+ wvpqe5: 0,
94
+ ibv6hh: 0,
95
+ u1mtju: 0,
96
+ h3c5rm: 0,
97
+ vrafjx: 0,
98
+ Bekrc4i: 0,
99
+ i8vvqc: 0,
100
+ g2u3we: 0,
101
+ icvyot: 0,
102
+ B4j52fo: 0,
103
+ irswps: "fm9niy",
104
+ Huce71: "fibxuh5",
105
+ Bj3rh1h: "fj25m7a"
106
+ },
107
+ connectorLayer: {
108
+ qhf8xq: "f1euv43f",
109
+ Bhzewxz: "f15twtuk",
110
+ oyh7mz: ["f1vgc2s3", "f1e31b4d"],
111
+ a9b677: "fly5x3f",
112
+ Bqenvij: "f1l02sjl",
113
+ Bkecrkj: "f1aehjj5",
114
+ B68tc82: 0,
115
+ Bmxbyg5: 0,
116
+ Bpg54ce: "f1gl81tg"
117
+ },
118
+ measurement: {
119
+ qhf8xq: "f1euv43f",
120
+ Bcdw1i0: "fd7fpy0",
121
+ Bkecrkj: "f1aehjj5"
122
+ },
123
+ annotationContent: {
124
+ a9b677: "fly5x3f",
125
+ Bqenvij: "f1l02sjl",
126
+ Bkecrkj: "f1aehjj5"
127
+ },
128
+ annotationForeignObject: {
129
+ B68tc82: 0,
130
+ Bmxbyg5: 0,
131
+ Bpg54ce: "f1gl81tg",
132
+ Bkecrkj: "f1aehjj5"
133
+ },
134
+ annotationContentInteractive: {
135
+ Bkecrkj: "f1cguypg"
136
+ },
137
+ annotationForeignObjectInteractive: {
138
+ Bkecrkj: "f1cguypg"
139
+ },
140
+ connectorGroup: {
141
+ Bkecrkj: "f1aehjj5"
142
+ }
143
+ }, {
144
+ d: [".f1euv43f{position:absolute;}", ".f15twtuk{top:0;}", ".f1vgc2s3{left:0;}", ".f1e31b4d{right:0;}", ".f1yab3r1{bottom:0;}", ".fly5x3f{width:100%;}", ".f1l02sjl{height:100%;}", ".f1aehjj5{pointer-events:none;}", [".f1gl81tg{overflow:visible;}", {
145
+ p: -1
146
+ }], ".f19g0ac{z-index:1;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".f4d9j23{justify-content:center;}", ".f17mccla{text-align:center;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".f10ra9hq{padding-top:4px;}", ".f1y2xyjm{padding-bottom:4px;}", ".f177v4lu{padding-left:8px;}", ".f19lj068{padding-right:8px;}", [".ft85np5{border-radius:var(--borderRadiusMedium);}", {
147
+ p: -1
148
+ }], ".f1hg901r{box-shadow:var(--shadow16);}", [".fm9niy{border:1px solid var(--colorNeutralStroke1);}", {
149
+ p: -2
150
+ }], ".fibxuh5{white-space:pre-wrap;}", ".fj25m7a{z-index:2;}", [".f1gl81tg{overflow:visible;}", {
151
+ p: -1
152
+ }], ".fd7fpy0{visibility:hidden;}", [".f1gl81tg{overflow:visible;}", {
153
+ p: -1
154
+ }], ".f1cguypg{pointer-events:auto;}"]
155
+ });
156
+ /**
157
+ * Apply styling to the ChartAnnotationLayer slots based on the state
158
+ */
159
+ export const useChartAnnotationLayerStyles = props => {
160
+ var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8;
161
+ const baseStyles = useStyles();
162
+ return {
163
+ root: mergeClasses(chartAnnotationLayerClassNames.root, baseStyles.root, props.className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),
164
+ annotation: mergeClasses(chartAnnotationLayerClassNames.annotation, baseStyles.annotation, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.annotation),
165
+ connectorLayer: mergeClasses(chartAnnotationLayerClassNames.connectorLayer, baseStyles.connectorLayer, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.connectorLayer),
166
+ measurement: mergeClasses(chartAnnotationLayerClassNames.measurement, baseStyles.measurement, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.measurement),
167
+ annotationContent: mergeClasses(chartAnnotationLayerClassNames.annotationContent, baseStyles.annotationContent, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.annotationContent),
168
+ annotationForeignObject: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObject, baseStyles.annotationForeignObject, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.annotationForeignObject),
169
+ annotationContentInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationContentInteractive, baseStyles.annotationContentInteractive, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.annotationContentInteractive),
170
+ annotationForeignObjectInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObjectInteractive, baseStyles.annotationForeignObjectInteractive, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.annotationForeignObjectInteractive),
171
+ connectorGroup: mergeClasses(chartAnnotationLayerClassNames.connectorGroup, baseStyles.connectorGroup, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.connectorGroup)
172
+ };
173
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__styles","mergeClasses","tokens","typographyStyles","color","d3Color","DEFAULT_ANNOTATION_BACKGROUND_OPACITY","DEFAULT_ANNOTATION_PADDING","DEFAULT_CONNECTOR_START_PADDING","DEFAULT_CONNECTOR_END_PADDING","DEFAULT_CONNECTOR_STROKE_WIDTH","DEFAULT_CONNECTOR_ARROW","applyOpacityToColor","opacity","undefined","parsed","Math","max","min","toString","getDefaultAnnotationBackgroundColor","colorNeutralBackground1","getDefaultConnectorStrokeColor","colorNeutralForeground1","chartAnnotationLayerClassNames","root","annotation","connectorLayer","measurement","annotationContent","annotationForeignObject","annotationContentInteractive","annotationForeignObjectInteractive","connectorGroup","useStyles","qhf8xq","Bhzewxz","oyh7mz","j35jbq","B5kzvoi","a9b677","Bqenvij","Bkecrkj","B68tc82","Bmxbyg5","Bpg54ce","Bj3rh1h","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Bt984gj","Brf1p80","fsow6f","sj55zd","z8tnut","Byoj8tv","uwmqm3","z189sj","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","E5pizo","Bgfg5da","B9xav0g","oivjwe","Bn0qgzm","B4g9neb","zhjwy3","wvpqe5","ibv6hh","u1mtju","h3c5rm","vrafjx","Bekrc4i","i8vvqc","g2u3we","icvyot","B4j52fo","irswps","Huce71","Bcdw1i0","d","p","useChartAnnotationLayerStyles","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","baseStyles","className","styles"],"sources":["useChartAnnotationLayer.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { color as d3Color } from 'd3-color';\nexport const DEFAULT_ANNOTATION_BACKGROUND_OPACITY = 0.8;\nexport const DEFAULT_ANNOTATION_PADDING = '4px 8px';\nexport const DEFAULT_CONNECTOR_START_PADDING = 12;\nexport const DEFAULT_CONNECTOR_END_PADDING = 0;\nexport const DEFAULT_CONNECTOR_STROKE_WIDTH = 2;\nexport const DEFAULT_CONNECTOR_ARROW = 'end';\nexport const applyOpacityToColor = (color, opacity)=>{\n if (!color) {\n return undefined;\n }\n const parsed = d3Color(color);\n if (!parsed) {\n return color;\n }\n parsed.opacity = Math.max(0, Math.min(1, opacity));\n return parsed.toString();\n};\n/**\n * Get default annotation background color with opacity applied\n * Updated for v9 - uses tokens instead of theme\n */ export const getDefaultAnnotationBackgroundColor = ()=>applyOpacityToColor(tokens.colorNeutralBackground1, DEFAULT_ANNOTATION_BACKGROUND_OPACITY);\n/**\n * Get default connector stroke color\n * Updated for v9 - uses tokens instead of theme\n */ export const getDefaultConnectorStrokeColor = ()=>tokens.colorNeutralForeground1;\n/**\n * @internal\n */ export const chartAnnotationLayerClassNames = {\n root: 'fui-chartAnnotationLayer__root',\n annotation: 'fui-chartAnnotationLayer__annotation',\n connectorLayer: 'fui-chartAnnotationLayer__connectorLayer',\n measurement: 'fui-chartAnnotationLayer__measurement',\n annotationContent: 'fui-chartAnnotationLayer__annotationContent',\n annotationForeignObject: 'fui-chartAnnotationLayer__annotationForeignObject',\n annotationContentInteractive: 'fui-chartAnnotationLayer__annotationContentInteractive',\n annotationForeignObjectInteractive: 'fui-chartAnnotationLayer__annotationForeignObjectInteractive',\n connectorGroup: 'fui-chartAnnotationLayer__connectorGroup'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {\n position: 'absolute',\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n overflow: 'visible',\n zIndex: 1\n },\n annotation: {\n ...typographyStyles.caption1,\n position: 'absolute',\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n color: tokens.colorNeutralForeground1,\n paddingTop: '4px',\n paddingBottom: '4px',\n paddingLeft: '8px',\n paddingRight: '8px',\n borderRadius: tokens.borderRadiusMedium,\n boxShadow: tokens.shadow16,\n border: `1px solid ${tokens.colorNeutralStroke1}`,\n whiteSpace: 'pre-wrap',\n zIndex: 2\n },\n connectorLayer: {\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n overflow: 'visible'\n },\n measurement: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none'\n },\n annotationContent: {\n width: '100%',\n height: '100%',\n pointerEvents: 'none'\n },\n annotationForeignObject: {\n overflow: 'visible',\n pointerEvents: 'none'\n },\n annotationContentInteractive: {\n pointerEvents: 'auto'\n },\n annotationForeignObjectInteractive: {\n pointerEvents: 'auto'\n },\n connectorGroup: {\n pointerEvents: 'none'\n }\n});\n/**\n * Apply styling to the ChartAnnotationLayer slots based on the state\n */ export const useChartAnnotationLayerStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(chartAnnotationLayerClassNames.root, baseStyles.root, props.className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n annotation: mergeClasses(chartAnnotationLayerClassNames.annotation, baseStyles.annotation, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.annotation),\n connectorLayer: mergeClasses(chartAnnotationLayerClassNames.connectorLayer, baseStyles.connectorLayer, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.connectorLayer),\n measurement: mergeClasses(chartAnnotationLayerClassNames.measurement, baseStyles.measurement, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.measurement),\n annotationContent: mergeClasses(chartAnnotationLayerClassNames.annotationContent, baseStyles.annotationContent, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.annotationContent),\n annotationForeignObject: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObject, baseStyles.annotationForeignObject, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.annotationForeignObject),\n annotationContentInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationContentInteractive, baseStyles.annotationContentInteractive, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.annotationContentInteractive),\n annotationForeignObjectInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObjectInteractive, baseStyles.annotationForeignObjectInteractive, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.annotationForeignObjectInteractive),\n connectorGroup: mergeClasses(chartAnnotationLayerClassNames.connectorGroup, baseStyles.connectorGroup, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.connectorGroup)\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ 'use client';
2
+ import { makeStyles, mergeClasses } from '@griffel/react';
3
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
4
+ import { color as d3Color } from 'd3-color';
5
+ export const DEFAULT_ANNOTATION_BACKGROUND_OPACITY = 0.8;
6
+ export const DEFAULT_ANNOTATION_PADDING = '4px 8px';
7
+ export const DEFAULT_CONNECTOR_START_PADDING = 12;
8
+ export const DEFAULT_CONNECTOR_END_PADDING = 0;
9
+ export const DEFAULT_CONNECTOR_STROKE_WIDTH = 2;
10
+ export const DEFAULT_CONNECTOR_ARROW = 'end';
11
+ export const applyOpacityToColor = (color, opacity)=>{
12
+ if (!color) {
13
+ return undefined;
14
+ }
15
+ const parsed = d3Color(color);
16
+ if (!parsed) {
17
+ return color;
18
+ }
19
+ parsed.opacity = Math.max(0, Math.min(1, opacity));
20
+ return parsed.toString();
21
+ };
22
+ /**
23
+ * Get default annotation background color with opacity applied
24
+ * Updated for v9 - uses tokens instead of theme
25
+ */ export const getDefaultAnnotationBackgroundColor = ()=>applyOpacityToColor(tokens.colorNeutralBackground1, DEFAULT_ANNOTATION_BACKGROUND_OPACITY);
26
+ /**
27
+ * Get default connector stroke color
28
+ * Updated for v9 - uses tokens instead of theme
29
+ */ export const getDefaultConnectorStrokeColor = ()=>tokens.colorNeutralForeground1;
30
+ /**
31
+ * @internal
32
+ */ export const chartAnnotationLayerClassNames = {
33
+ root: 'fui-chartAnnotationLayer__root',
34
+ annotation: 'fui-chartAnnotationLayer__annotation',
35
+ connectorLayer: 'fui-chartAnnotationLayer__connectorLayer',
36
+ measurement: 'fui-chartAnnotationLayer__measurement',
37
+ annotationContent: 'fui-chartAnnotationLayer__annotationContent',
38
+ annotationForeignObject: 'fui-chartAnnotationLayer__annotationForeignObject',
39
+ annotationContentInteractive: 'fui-chartAnnotationLayer__annotationContentInteractive',
40
+ annotationForeignObjectInteractive: 'fui-chartAnnotationLayer__annotationForeignObjectInteractive',
41
+ connectorGroup: 'fui-chartAnnotationLayer__connectorGroup'
42
+ };
43
+ /**
44
+ * Base Styles
45
+ */ const useStyles = makeStyles({
46
+ root: {
47
+ position: 'absolute',
48
+ top: '0',
49
+ left: '0',
50
+ right: '0',
51
+ bottom: '0',
52
+ width: '100%',
53
+ height: '100%',
54
+ pointerEvents: 'none',
55
+ overflow: 'visible',
56
+ zIndex: 1
57
+ },
58
+ annotation: {
59
+ ...typographyStyles.caption1,
60
+ position: 'absolute',
61
+ pointerEvents: 'none',
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ justifyContent: 'center',
65
+ textAlign: 'center',
66
+ color: tokens.colorNeutralForeground1,
67
+ paddingTop: '4px',
68
+ paddingBottom: '4px',
69
+ paddingLeft: '8px',
70
+ paddingRight: '8px',
71
+ borderRadius: tokens.borderRadiusMedium,
72
+ boxShadow: tokens.shadow16,
73
+ border: `1px solid ${tokens.colorNeutralStroke1}`,
74
+ whiteSpace: 'pre-wrap',
75
+ zIndex: 2
76
+ },
77
+ connectorLayer: {
78
+ position: 'absolute',
79
+ top: '0',
80
+ left: '0',
81
+ width: '100%',
82
+ height: '100%',
83
+ pointerEvents: 'none',
84
+ overflow: 'visible'
85
+ },
86
+ measurement: {
87
+ position: 'absolute',
88
+ visibility: 'hidden',
89
+ pointerEvents: 'none'
90
+ },
91
+ annotationContent: {
92
+ width: '100%',
93
+ height: '100%',
94
+ pointerEvents: 'none'
95
+ },
96
+ annotationForeignObject: {
97
+ overflow: 'visible',
98
+ pointerEvents: 'none'
99
+ },
100
+ annotationContentInteractive: {
101
+ pointerEvents: 'auto'
102
+ },
103
+ annotationForeignObjectInteractive: {
104
+ pointerEvents: 'auto'
105
+ },
106
+ connectorGroup: {
107
+ pointerEvents: 'none'
108
+ }
109
+ });
110
+ /**
111
+ * Apply styling to the ChartAnnotationLayer slots based on the state
112
+ */ export const useChartAnnotationLayerStyles = (props)=>{
113
+ var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8;
114
+ const baseStyles = useStyles();
115
+ return {
116
+ root: mergeClasses(chartAnnotationLayerClassNames.root, baseStyles.root, props.className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),
117
+ annotation: mergeClasses(chartAnnotationLayerClassNames.annotation, baseStyles.annotation, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.annotation),
118
+ connectorLayer: mergeClasses(chartAnnotationLayerClassNames.connectorLayer, baseStyles.connectorLayer, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.connectorLayer),
119
+ measurement: mergeClasses(chartAnnotationLayerClassNames.measurement, baseStyles.measurement, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.measurement),
120
+ annotationContent: mergeClasses(chartAnnotationLayerClassNames.annotationContent, baseStyles.annotationContent, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.annotationContent),
121
+ annotationForeignObject: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObject, baseStyles.annotationForeignObject, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.annotationForeignObject),
122
+ annotationContentInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationContentInteractive, baseStyles.annotationContentInteractive, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.annotationContentInteractive),
123
+ annotationForeignObjectInteractive: mergeClasses(chartAnnotationLayerClassNames.annotationForeignObjectInteractive, baseStyles.annotationForeignObjectInteractive, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.annotationForeignObjectInteractive),
124
+ connectorGroup: mergeClasses(chartAnnotationLayerClassNames.connectorGroup, baseStyles.connectorGroup, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.connectorGroup)
125
+ };
126
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { color as d3Color } from 'd3-color';\nimport { ChartAnnotationArrowHead } from '../../../types/ChartAnnotation';\n\nexport interface ChartAnnotationLayerStyles {\n root?: string;\n annotation?: string;\n connectorLayer?: string;\n measurement?: string;\n annotationContent?: string;\n annotationForeignObject?: string;\n annotationContentInteractive?: string;\n annotationForeignObjectInteractive?: string;\n connectorGroup?: string;\n}\n\nexport interface ChartAnnotationLayerStyleProps {\n className?: string;\n styles?: Partial<ChartAnnotationLayerStyles>;\n}\n\nexport const DEFAULT_ANNOTATION_BACKGROUND_OPACITY = 0.8;\nexport const DEFAULT_ANNOTATION_PADDING = '4px 8px';\nexport const DEFAULT_CONNECTOR_START_PADDING = 12;\nexport const DEFAULT_CONNECTOR_END_PADDING = 0;\nexport const DEFAULT_CONNECTOR_STROKE_WIDTH = 2;\nexport const DEFAULT_CONNECTOR_ARROW: ChartAnnotationArrowHead = 'end';\n\nexport const applyOpacityToColor = (color: string | undefined, opacity: number): string | undefined => {\n if (!color) {\n return undefined;\n }\n\n const parsed = d3Color(color);\n if (!parsed) {\n return color;\n }\n\n parsed.opacity = Math.max(0, Math.min(1, opacity));\n return parsed.toString();\n};\n\n/**\n * Get default annotation background color with opacity applied\n * Updated for v9 - uses tokens instead of theme\n */\nexport const getDefaultAnnotationBackgroundColor = (): string | undefined =>\n applyOpacityToColor(tokens.colorNeutralBackground1, DEFAULT_ANNOTATION_BACKGROUND_OPACITY);\n\n/**\n * Get default connector stroke color\n * Updated for v9 - uses tokens instead of theme\n */\nexport const getDefaultConnectorStrokeColor = (): string => tokens.colorNeutralForeground1;\n\n/**\n * @internal\n */\nexport const chartAnnotationLayerClassNames: SlotClassNames<ChartAnnotationLayerStyles> = {\n root: 'fui-chartAnnotationLayer__root',\n annotation: 'fui-chartAnnotationLayer__annotation',\n connectorLayer: 'fui-chartAnnotationLayer__connectorLayer',\n measurement: 'fui-chartAnnotationLayer__measurement',\n annotationContent: 'fui-chartAnnotationLayer__annotationContent',\n annotationForeignObject: 'fui-chartAnnotationLayer__annotationForeignObject',\n annotationContentInteractive: 'fui-chartAnnotationLayer__annotationContentInteractive',\n annotationForeignObjectInteractive: 'fui-chartAnnotationLayer__annotationForeignObjectInteractive',\n connectorGroup: 'fui-chartAnnotationLayer__connectorGroup',\n};\n\n/**\n * Base Styles\n */\nconst useStyles = makeStyles({\n root: {\n position: 'absolute',\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n overflow: 'visible',\n zIndex: 1,\n },\n annotation: {\n ...typographyStyles.caption1,\n position: 'absolute',\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n color: tokens.colorNeutralForeground1,\n paddingTop: '4px',\n paddingBottom: '4px',\n paddingLeft: '8px',\n paddingRight: '8px',\n borderRadius: tokens.borderRadiusMedium,\n boxShadow: tokens.shadow16,\n border: `1px solid ${tokens.colorNeutralStroke1}`,\n whiteSpace: 'pre-wrap',\n zIndex: 2,\n },\n connectorLayer: {\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n overflow: 'visible',\n },\n measurement: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none',\n },\n annotationContent: {\n width: '100%',\n height: '100%',\n pointerEvents: 'none',\n },\n annotationForeignObject: {\n overflow: 'visible',\n pointerEvents: 'none',\n },\n annotationContentInteractive: {\n pointerEvents: 'auto',\n },\n annotationForeignObjectInteractive: {\n pointerEvents: 'auto',\n },\n connectorGroup: {\n pointerEvents: 'none',\n },\n});\n\n/**\n * Apply styling to the ChartAnnotationLayer slots based on the state\n */\nexport const useChartAnnotationLayerStyles = (props: ChartAnnotationLayerStyleProps): ChartAnnotationLayerStyles => {\n const baseStyles = useStyles();\n\n return {\n root: mergeClasses(chartAnnotationLayerClassNames.root, baseStyles.root, props.className, props.styles?.root),\n annotation: mergeClasses(\n chartAnnotationLayerClassNames.annotation,\n baseStyles.annotation,\n props.styles?.annotation,\n ),\n connectorLayer: mergeClasses(\n chartAnnotationLayerClassNames.connectorLayer,\n baseStyles.connectorLayer,\n props.styles?.connectorLayer,\n ),\n measurement: mergeClasses(\n chartAnnotationLayerClassNames.measurement,\n baseStyles.measurement,\n props.styles?.measurement,\n ),\n annotationContent: mergeClasses(\n chartAnnotationLayerClassNames.annotationContent,\n baseStyles.annotationContent,\n props.styles?.annotationContent,\n ),\n annotationForeignObject: mergeClasses(\n chartAnnotationLayerClassNames.annotationForeignObject,\n baseStyles.annotationForeignObject,\n props.styles?.annotationForeignObject,\n ),\n annotationContentInteractive: mergeClasses(\n chartAnnotationLayerClassNames.annotationContentInteractive,\n baseStyles.annotationContentInteractive,\n props.styles?.annotationContentInteractive,\n ),\n annotationForeignObjectInteractive: mergeClasses(\n chartAnnotationLayerClassNames.annotationForeignObjectInteractive,\n baseStyles.annotationForeignObjectInteractive,\n props.styles?.annotationForeignObjectInteractive,\n ),\n connectorGroup: mergeClasses(\n chartAnnotationLayerClassNames.connectorGroup,\n baseStyles.connectorGroup,\n props.styles?.connectorGroup,\n ),\n };\n};\n"],"names":["makeStyles","mergeClasses","tokens","typographyStyles","color","d3Color","DEFAULT_ANNOTATION_BACKGROUND_OPACITY","DEFAULT_ANNOTATION_PADDING","DEFAULT_CONNECTOR_START_PADDING","DEFAULT_CONNECTOR_END_PADDING","DEFAULT_CONNECTOR_STROKE_WIDTH","DEFAULT_CONNECTOR_ARROW","applyOpacityToColor","opacity","undefined","parsed","Math","max","min","toString","getDefaultAnnotationBackgroundColor","colorNeutralBackground1","getDefaultConnectorStrokeColor","colorNeutralForeground1","chartAnnotationLayerClassNames","root","annotation","connectorLayer","measurement","annotationContent","annotationForeignObject","annotationContentInteractive","annotationForeignObjectInteractive","connectorGroup","useStyles","position","top","left","right","bottom","width","height","pointerEvents","overflow","zIndex","caption1","display","alignItems","justifyContent","textAlign","paddingTop","paddingBottom","paddingLeft","paddingRight","borderRadius","borderRadiusMedium","boxShadow","shadow16","border","colorNeutralStroke1","whiteSpace","visibility","useChartAnnotationLayerStyles","props","baseStyles","className","styles"],"mappings":"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"}