@semcore/d3-chart 16.5.0 → 17.0.0-prerelease.8

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 (439) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/lib/cjs/AnimatedClipPath.js +28 -41
  3. package/lib/cjs/AnimatedClipPath.js.map +1 -1
  4. package/lib/cjs/Area.js +187 -223
  5. package/lib/cjs/Area.js.map +1 -1
  6. package/lib/cjs/Axis.js +248 -327
  7. package/lib/cjs/Axis.js.map +1 -1
  8. package/lib/cjs/Bar.js +162 -185
  9. package/lib/cjs/Bar.js.map +1 -1
  10. package/lib/cjs/Bubble.js +219 -248
  11. package/lib/cjs/Bubble.js.map +1 -1
  12. package/lib/cjs/CompactHorizontalBar.js +448 -482
  13. package/lib/cjs/CompactHorizontalBar.js.map +1 -1
  14. package/lib/cjs/Donut.js +349 -396
  15. package/lib/cjs/Donut.js.map +1 -1
  16. package/lib/cjs/Dots.js +67 -86
  17. package/lib/cjs/Dots.js.map +1 -1
  18. package/lib/cjs/GroupBar.js +78 -93
  19. package/lib/cjs/GroupBar.js.map +1 -1
  20. package/lib/cjs/HorizontalBar.js +149 -167
  21. package/lib/cjs/HorizontalBar.js.map +1 -1
  22. package/lib/cjs/Hover.js +178 -207
  23. package/lib/cjs/Hover.js.map +1 -1
  24. package/lib/cjs/Line.js +182 -222
  25. package/lib/cjs/Line.js.map +1 -1
  26. package/lib/cjs/Pattern.js +124 -126
  27. package/lib/cjs/Pattern.js.map +1 -1
  28. package/lib/cjs/Plot.js +100 -126
  29. package/lib/cjs/Plot.js.map +1 -1
  30. package/lib/cjs/Radar.js +576 -681
  31. package/lib/cjs/Radar.js.map +1 -1
  32. package/lib/cjs/RadialTree.js +518 -571
  33. package/lib/cjs/RadialTree.js.map +1 -1
  34. package/lib/cjs/Reference.js +147 -178
  35. package/lib/cjs/Reference.js.map +1 -1
  36. package/lib/cjs/ResponsiveContainer.js +64 -82
  37. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  38. package/lib/cjs/ScatterPlot.js +169 -199
  39. package/lib/cjs/ScatterPlot.js.map +1 -1
  40. package/lib/cjs/StackBar.js +135 -177
  41. package/lib/cjs/StackBar.js.map +1 -1
  42. package/lib/cjs/StackedArea.js +60 -73
  43. package/lib/cjs/StackedArea.js.map +1 -1
  44. package/lib/cjs/Tooltip.js +193 -208
  45. package/lib/cjs/Tooltip.js.map +1 -1
  46. package/lib/cjs/Venn.js +182 -217
  47. package/lib/cjs/Venn.js.map +1 -1
  48. package/lib/cjs/a11y/DataAccessibilityTable.js +45 -83
  49. package/lib/cjs/a11y/DataAccessibilityTable.js.map +1 -1
  50. package/lib/cjs/a11y/PlotA11yModule.js +37 -97
  51. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  52. package/lib/cjs/a11y/PlotA11yView.js +97 -91
  53. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  54. package/lib/cjs/a11y/bezier.js +17 -23
  55. package/lib/cjs/a11y/bezier.js.map +1 -1
  56. package/lib/cjs/a11y/focus.js +16 -16
  57. package/lib/cjs/a11y/focus.js.map +1 -1
  58. package/lib/cjs/a11y/hints.js +72 -75
  59. package/lib/cjs/a11y/hints.js.map +1 -1
  60. package/lib/cjs/a11y/insights.js +354 -525
  61. package/lib/cjs/a11y/insights.js.map +1 -1
  62. package/lib/cjs/a11y/intl.js +5 -5
  63. package/lib/cjs/a11y/intl.js.map +1 -1
  64. package/lib/cjs/a11y/locale.js +12 -19
  65. package/lib/cjs/a11y/locale.js.map +1 -1
  66. package/lib/cjs/a11y/serialize.js +164 -203
  67. package/lib/cjs/a11y/serialize.js.map +1 -1
  68. package/lib/cjs/a11y/summarize.js +7 -6
  69. package/lib/cjs/a11y/summarize.js.map +1 -1
  70. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +16 -16
  71. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  72. package/lib/cjs/a11y/translations/module/de.json +2 -2
  73. package/lib/cjs/a11y/translations/module/en.json +2 -2
  74. package/lib/cjs/a11y/translations/module/es.json +2 -2
  75. package/lib/cjs/a11y/translations/module/fr.json +2 -2
  76. package/lib/cjs/a11y/translations/module/it.json +2 -2
  77. package/lib/cjs/a11y/translations/module/ja.json +2 -2
  78. package/lib/cjs/a11y/translations/module/ko.json +2 -2
  79. package/lib/cjs/a11y/translations/module/nl.json +2 -2
  80. package/lib/cjs/a11y/translations/module/pl.json +2 -2
  81. package/lib/cjs/a11y/translations/module/pt.json +2 -2
  82. package/lib/cjs/a11y/translations/module/sv.json +2 -2
  83. package/lib/cjs/a11y/translations/module/tr.json +2 -2
  84. package/lib/cjs/a11y/translations/module/vi.json +2 -2
  85. package/lib/cjs/a11y/translations/module/zh.json +2 -2
  86. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +16 -16
  87. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  88. package/lib/cjs/color.js +1 -1
  89. package/lib/cjs/color.js.map +1 -1
  90. package/lib/cjs/component/Chart/AbstractChart.js +421 -466
  91. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  92. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  93. package/lib/cjs/component/Chart/AreaChart.js +97 -115
  94. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  95. package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -1
  96. package/lib/cjs/component/Chart/BarChart.js +229 -216
  97. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  98. package/lib/cjs/component/Chart/BarChart.type.js.map +1 -1
  99. package/lib/cjs/component/Chart/BubbleChart.js +114 -136
  100. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  101. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  102. package/lib/cjs/component/Chart/CigaretteChart.js +280 -305
  103. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  104. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +76 -108
  105. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  106. package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  107. package/lib/cjs/component/Chart/DonutChart.js +80 -95
  108. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  109. package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
  110. package/lib/cjs/component/Chart/HistogramChart.js +126 -148
  111. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  112. package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -1
  113. package/lib/cjs/component/Chart/LineChart.js +95 -113
  114. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  115. package/lib/cjs/component/Chart/LineChart.type.js.map +1 -1
  116. package/lib/cjs/component/Chart/RadarChart.js +84 -110
  117. package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
  118. package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
  119. package/lib/cjs/component/Chart/ScatterPlotChart.js +119 -143
  120. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  121. package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
  122. package/lib/cjs/component/Chart/VennChart.js +103 -122
  123. package/lib/cjs/component/Chart/VennChart.js.map +1 -1
  124. package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
  125. package/lib/cjs/component/Chart/index.js +2 -2
  126. package/lib/cjs/component/Chart/index.js.map +1 -1
  127. package/lib/cjs/component/ChartLegend/BaseLegend.js +72 -105
  128. package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  129. package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  130. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +58 -70
  131. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  132. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  133. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +208 -221
  134. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  135. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  136. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  137. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +63 -73
  138. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  139. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  140. package/lib/cjs/component/ChartLegend/index.js +4 -4
  141. package/lib/cjs/component/ChartLegend/index.js.map +1 -1
  142. package/lib/cjs/component/Cigarette/Cigarette.js +115 -129
  143. package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
  144. package/lib/cjs/component/StackGroupBar/StackGroupBar.js +107 -137
  145. package/lib/cjs/component/StackGroupBar/StackGroupBar.js.map +1 -1
  146. package/lib/cjs/component/SvgElement.js +7 -7
  147. package/lib/cjs/component/SvgElement.js.map +1 -1
  148. package/lib/cjs/createElement.js +66 -65
  149. package/lib/cjs/createElement.js.map +1 -1
  150. package/lib/cjs/index.js +62 -62
  151. package/lib/cjs/style/axis.shadow.css +3 -0
  152. package/lib/cjs/style/plot.shadow.css +1 -3
  153. package/lib/cjs/style/plotA11yModule.shadow.css +10 -11
  154. package/lib/cjs/style/plotA11yView.shadow.css +13 -26
  155. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +15 -15
  156. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  157. package/lib/cjs/types/Axis.d.js.map +1 -1
  158. package/lib/cjs/types/CompactHorizontalBar.d.js.map +1 -1
  159. package/lib/cjs/types/Hover.d.js.map +1 -1
  160. package/lib/cjs/types/Line.d.js.map +1 -1
  161. package/lib/cjs/types/Plot.d.js.map +1 -1
  162. package/lib/cjs/types/Radar.d.js.map +1 -1
  163. package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
  164. package/lib/cjs/types/Tooltip.d.js.map +1 -1
  165. package/lib/cjs/types/Venn.d.js.map +1 -1
  166. package/lib/cjs/types/index.d.js +80 -80
  167. package/lib/cjs/types/index.d.js.map +1 -1
  168. package/lib/cjs/utils.js +122 -145
  169. package/lib/cjs/utils.js.map +1 -1
  170. package/lib/es6/AnimatedClipPath.js +24 -37
  171. package/lib/es6/AnimatedClipPath.js.map +1 -1
  172. package/lib/es6/Area.js +179 -215
  173. package/lib/es6/Area.js.map +1 -1
  174. package/lib/es6/Axis.js +242 -321
  175. package/lib/es6/Axis.js.map +1 -1
  176. package/lib/es6/Bar.js +154 -177
  177. package/lib/es6/Bar.js.map +1 -1
  178. package/lib/es6/Bubble.js +206 -235
  179. package/lib/es6/Bubble.js.map +1 -1
  180. package/lib/es6/CompactHorizontalBar.js +433 -467
  181. package/lib/es6/CompactHorizontalBar.js.map +1 -1
  182. package/lib/es6/Donut.js +337 -384
  183. package/lib/es6/Donut.js.map +1 -1
  184. package/lib/es6/Dots.js +60 -79
  185. package/lib/es6/Dots.js.map +1 -1
  186. package/lib/es6/GroupBar.js +74 -89
  187. package/lib/es6/GroupBar.js.map +1 -1
  188. package/lib/es6/HorizontalBar.js +141 -159
  189. package/lib/es6/HorizontalBar.js.map +1 -1
  190. package/lib/es6/Hover.js +174 -203
  191. package/lib/es6/Hover.js.map +1 -1
  192. package/lib/es6/Line.js +173 -213
  193. package/lib/es6/Line.js.map +1 -1
  194. package/lib/es6/Pattern.js +68 -74
  195. package/lib/es6/Pattern.js.map +1 -1
  196. package/lib/es6/Plot.js +95 -121
  197. package/lib/es6/Plot.js.map +1 -1
  198. package/lib/es6/Radar.js +554 -659
  199. package/lib/es6/Radar.js.map +1 -1
  200. package/lib/es6/RadialTree.js +500 -553
  201. package/lib/es6/RadialTree.js.map +1 -1
  202. package/lib/es6/Reference.js +140 -171
  203. package/lib/es6/Reference.js.map +1 -1
  204. package/lib/es6/ResponsiveContainer.js +58 -76
  205. package/lib/es6/ResponsiveContainer.js.map +1 -1
  206. package/lib/es6/ScatterPlot.js +161 -191
  207. package/lib/es6/ScatterPlot.js.map +1 -1
  208. package/lib/es6/StackBar.js +130 -172
  209. package/lib/es6/StackBar.js.map +1 -1
  210. package/lib/es6/StackedArea.js +56 -69
  211. package/lib/es6/StackedArea.js.map +1 -1
  212. package/lib/es6/Tooltip.js +183 -198
  213. package/lib/es6/Tooltip.js.map +1 -1
  214. package/lib/es6/Venn.js +169 -204
  215. package/lib/es6/Venn.js.map +1 -1
  216. package/lib/es6/a11y/DataAccessibilityTable.js +41 -80
  217. package/lib/es6/a11y/DataAccessibilityTable.js.map +1 -1
  218. package/lib/es6/a11y/PlotA11yModule.js +35 -95
  219. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  220. package/lib/es6/a11y/PlotA11yView.js +89 -84
  221. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  222. package/lib/es6/a11y/bezier.js +16 -23
  223. package/lib/es6/a11y/bezier.js.map +1 -1
  224. package/lib/es6/a11y/focus.js +15 -16
  225. package/lib/es6/a11y/focus.js.map +1 -1
  226. package/lib/es6/a11y/hints.js +67 -73
  227. package/lib/es6/a11y/hints.js.map +1 -1
  228. package/lib/es6/a11y/insights.js +353 -524
  229. package/lib/es6/a11y/insights.js.map +1 -1
  230. package/lib/es6/a11y/intl.js +4 -5
  231. package/lib/es6/a11y/intl.js.map +1 -1
  232. package/lib/es6/a11y/locale.js +11 -18
  233. package/lib/es6/a11y/locale.js.map +1 -1
  234. package/lib/es6/a11y/serialize.js +162 -203
  235. package/lib/es6/a11y/serialize.js.map +1 -1
  236. package/lib/es6/a11y/summarize.js +6 -6
  237. package/lib/es6/a11y/summarize.js.map +1 -1
  238. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js +15 -15
  239. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  240. package/lib/es6/a11y/translations/module/de.json +2 -2
  241. package/lib/es6/a11y/translations/module/en.json +2 -2
  242. package/lib/es6/a11y/translations/module/es.json +2 -2
  243. package/lib/es6/a11y/translations/module/fr.json +2 -2
  244. package/lib/es6/a11y/translations/module/it.json +2 -2
  245. package/lib/es6/a11y/translations/module/ja.json +2 -2
  246. package/lib/es6/a11y/translations/module/ko.json +2 -2
  247. package/lib/es6/a11y/translations/module/nl.json +2 -2
  248. package/lib/es6/a11y/translations/module/pl.json +2 -2
  249. package/lib/es6/a11y/translations/module/pt.json +2 -2
  250. package/lib/es6/a11y/translations/module/sv.json +2 -2
  251. package/lib/es6/a11y/translations/module/tr.json +2 -2
  252. package/lib/es6/a11y/translations/module/vi.json +2 -2
  253. package/lib/es6/a11y/translations/module/zh.json +2 -2
  254. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js +15 -15
  255. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  256. package/lib/es6/color.js +1 -1
  257. package/lib/es6/color.js.map +1 -1
  258. package/lib/es6/component/Chart/AbstractChart.js +416 -462
  259. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  260. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  261. package/lib/es6/component/Chart/AreaChart.js +92 -111
  262. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  263. package/lib/es6/component/Chart/AreaChart.type.js.map +1 -1
  264. package/lib/es6/component/Chart/BarChart.js +225 -213
  265. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  266. package/lib/es6/component/Chart/BarChart.type.js.map +1 -1
  267. package/lib/es6/component/Chart/BubbleChart.js +109 -132
  268. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  269. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  270. package/lib/es6/component/Chart/CigaretteChart.js +276 -301
  271. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  272. package/lib/es6/component/Chart/CompactHorizontalBarChart.js +70 -103
  273. package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  274. package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  275. package/lib/es6/component/Chart/DonutChart.js +74 -90
  276. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  277. package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
  278. package/lib/es6/component/Chart/HistogramChart.js +121 -144
  279. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  280. package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -1
  281. package/lib/es6/component/Chart/LineChart.js +90 -109
  282. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  283. package/lib/es6/component/Chart/LineChart.type.js.map +1 -1
  284. package/lib/es6/component/Chart/RadarChart.js +80 -107
  285. package/lib/es6/component/Chart/RadarChart.js.map +1 -1
  286. package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
  287. package/lib/es6/component/Chart/ScatterPlotChart.js +113 -138
  288. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  289. package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
  290. package/lib/es6/component/Chart/VennChart.js +97 -117
  291. package/lib/es6/component/Chart/VennChart.js.map +1 -1
  292. package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
  293. package/lib/es6/component/ChartLegend/BaseLegend.js +70 -104
  294. package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  295. package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  296. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +53 -65
  297. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  298. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
  299. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +198 -211
  300. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  301. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  302. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  303. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +58 -68
  304. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  305. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  306. package/lib/es6/component/Cigarette/Cigarette.js +108 -122
  307. package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
  308. package/lib/es6/component/StackGroupBar/StackGroupBar.js +100 -130
  309. package/lib/es6/component/StackGroupBar/StackGroupBar.js.map +1 -1
  310. package/lib/es6/component/SvgElement.js +4 -5
  311. package/lib/es6/component/SvgElement.js.map +1 -1
  312. package/lib/es6/createElement.js +55 -54
  313. package/lib/es6/createElement.js.map +1 -1
  314. package/lib/es6/style/axis.shadow.css +3 -0
  315. package/lib/es6/style/plot.shadow.css +1 -3
  316. package/lib/es6/style/plotA11yModule.shadow.css +10 -11
  317. package/lib/es6/style/plotA11yView.shadow.css +13 -26
  318. package/lib/es6/translations/__intergalactic-dynamic-locales.js +14 -14
  319. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  320. package/lib/es6/types/Axis.d.js.map +1 -1
  321. package/lib/es6/types/CompactHorizontalBar.d.js.map +1 -1
  322. package/lib/es6/types/Hover.d.js.map +1 -1
  323. package/lib/es6/types/Line.d.js.map +1 -1
  324. package/lib/es6/types/Plot.d.js.map +1 -1
  325. package/lib/es6/types/Radar.d.js.map +1 -1
  326. package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
  327. package/lib/es6/types/Tooltip.d.js.map +1 -1
  328. package/lib/es6/types/Venn.d.js.map +1 -1
  329. package/lib/es6/utils.js +105 -144
  330. package/lib/es6/utils.js.map +1 -1
  331. package/lib/esm/AnimatedClipPath.mjs +24 -36
  332. package/lib/esm/Area.mjs +178 -149
  333. package/lib/esm/Axis.mjs +241 -242
  334. package/lib/esm/Bar.mjs +155 -137
  335. package/lib/esm/Bubble.mjs +205 -171
  336. package/lib/esm/CompactHorizontalBar.mjs +428 -383
  337. package/lib/esm/Donut.mjs +315 -266
  338. package/lib/esm/Dots.mjs +60 -49
  339. package/lib/esm/GroupBar.mjs +71 -75
  340. package/lib/esm/HorizontalBar.mjs +142 -120
  341. package/lib/esm/Hover.mjs +173 -163
  342. package/lib/esm/Line.mjs +174 -145
  343. package/lib/esm/Pattern.mjs +67 -63
  344. package/lib/esm/Plot.mjs +98 -95
  345. package/lib/esm/Radar.mjs +550 -498
  346. package/lib/esm/RadialTree.mjs +512 -416
  347. package/lib/esm/Reference.mjs +137 -122
  348. package/lib/esm/ResponsiveContainer.mjs +58 -69
  349. package/lib/esm/ScatterPlot.mjs +163 -162
  350. package/lib/esm/StackBar.mjs +126 -147
  351. package/lib/esm/StackedArea.mjs +53 -61
  352. package/lib/esm/Tooltip.mjs +185 -175
  353. package/lib/esm/Venn.mjs +170 -170
  354. package/lib/esm/a11y/DataAccessibilityTable.mjs +46 -73
  355. package/lib/esm/a11y/PlotA11yModule.mjs +37 -80
  356. package/lib/esm/a11y/PlotA11yView.mjs +99 -74
  357. package/lib/esm/a11y/bezier.mjs +16 -23
  358. package/lib/esm/a11y/focus.mjs +15 -16
  359. package/lib/esm/a11y/hints.mjs +65 -71
  360. package/lib/esm/a11y/insights.mjs +347 -495
  361. package/lib/esm/a11y/intl.mjs +4 -5
  362. package/lib/esm/a11y/locale.mjs +12 -14
  363. package/lib/esm/a11y/serialize.mjs +139 -152
  364. package/lib/esm/a11y/summarize.mjs +3 -3
  365. package/lib/esm/a11y/translations/module/__intergalactic-dynamic-locales.mjs +1 -1
  366. package/lib/esm/a11y/translations/module/de.json.mjs +2 -4
  367. package/lib/esm/a11y/translations/module/en.json.mjs +2 -4
  368. package/lib/esm/a11y/translations/module/es.json.mjs +2 -4
  369. package/lib/esm/a11y/translations/module/fr.json.mjs +2 -4
  370. package/lib/esm/a11y/translations/module/it.json.mjs +2 -4
  371. package/lib/esm/a11y/translations/module/ja.json.mjs +2 -4
  372. package/lib/esm/a11y/translations/module/ko.json.mjs +2 -4
  373. package/lib/esm/a11y/translations/module/nl.json.mjs +2 -4
  374. package/lib/esm/a11y/translations/module/pl.json.mjs +2 -4
  375. package/lib/esm/a11y/translations/module/pt.json.mjs +2 -4
  376. package/lib/esm/a11y/translations/module/sv.json.mjs +2 -4
  377. package/lib/esm/a11y/translations/module/tr.json.mjs +2 -4
  378. package/lib/esm/a11y/translations/module/vi.json.mjs +2 -4
  379. package/lib/esm/a11y/translations/module/zh.json.mjs +2 -4
  380. package/lib/esm/a11y/translations/view/__intergalactic-dynamic-locales.mjs +1 -1
  381. package/lib/esm/color.mjs +1 -1
  382. package/lib/esm/component/Chart/AbstractChart.mjs +422 -415
  383. package/lib/esm/component/Chart/AreaChart.mjs +92 -91
  384. package/lib/esm/component/Chart/BarChart.mjs +225 -177
  385. package/lib/esm/component/Chart/BubbleChart.mjs +110 -118
  386. package/lib/esm/component/Chart/CigaretteChart.mjs +277 -268
  387. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +70 -87
  388. package/lib/esm/component/Chart/DonutChart.mjs +74 -84
  389. package/lib/esm/component/Chart/HistogramChart.mjs +121 -117
  390. package/lib/esm/component/Chart/LineChart.mjs +90 -89
  391. package/lib/esm/component/Chart/RadarChart.mjs +81 -97
  392. package/lib/esm/component/Chart/ScatterPlotChart.mjs +113 -111
  393. package/lib/esm/component/Chart/VennChart.mjs +98 -111
  394. package/lib/esm/component/ChartLegend/BaseLegend.mjs +75 -97
  395. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +54 -55
  396. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +194 -165
  397. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.type.mjs +1 -1
  398. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +60 -58
  399. package/lib/esm/component/Cigarette/Cigarette.mjs +109 -99
  400. package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +97 -111
  401. package/lib/esm/component/SvgElement.mjs +4 -4
  402. package/lib/esm/createElement.mjs +54 -37
  403. package/lib/esm/style/axis.shadow.css +3 -0
  404. package/lib/esm/style/plot.shadow.css +1 -3
  405. package/lib/esm/style/plotA11yModule.shadow.css +10 -11
  406. package/lib/esm/style/plotA11yView.shadow.css +13 -26
  407. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  408. package/lib/esm/utils.mjs +103 -138
  409. package/lib/types/Axis.d.ts +4 -0
  410. package/lib/types/CompactHorizontalBar.d.ts +1 -1
  411. package/lib/types/Hover.d.ts +1 -1
  412. package/lib/types/Line.d.ts +1 -1
  413. package/lib/types/Plot.d.ts +1 -1
  414. package/lib/types/Radar.d.ts +1 -1
  415. package/lib/types/ResponsiveContainer.d.ts +1 -1
  416. package/lib/types/Tooltip.d.ts +1 -3
  417. package/lib/types/Venn.d.ts +1 -1
  418. package/lib/types/a11y/PlotA11yModule.d.ts +4 -11
  419. package/lib/types/a11y/PlotA11yView.d.ts +12 -1
  420. package/lib/types/a11y/translations/module/__intergalactic-dynamic-locales.d.ts +14 -14
  421. package/lib/types/component/Chart/AbstractChart.d.ts +1 -1
  422. package/lib/types/component/Chart/AbstractChart.type.d.ts +1 -1
  423. package/lib/types/component/Chart/AreaChart.type.d.ts +1 -1
  424. package/lib/types/component/Chart/BarChart.type.d.ts +1 -1
  425. package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
  426. package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
  427. package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
  428. package/lib/types/component/Chart/HistogramChart.type.d.ts +1 -1
  429. package/lib/types/component/Chart/LineChart.type.d.ts +1 -1
  430. package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
  431. package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
  432. package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
  433. package/lib/types/component/ChartLegend/BaseLegend.d.ts +1 -1
  434. package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +1 -1
  435. package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.type.d.ts +1 -1
  436. package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +1 -1
  437. package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +1 -1
  438. package/lib/types/utils.d.ts +10 -10
  439. package/package.json +11 -14
@@ -1,10 +1,8 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
1
  import { sstyled as _sstyled } from "@semcore/core";
4
2
  import { assignProps as _assignProps } from "@semcore/core";
3
+ import { Box } from '@semcore/base-components';
5
4
  import { Root, sstyled } from '@semcore/core';
6
5
  import { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';
7
- import { Box } from '@semcore/flex-box';
8
6
  import React from 'react';
9
7
  import { DataAccessibilityTable } from './DataAccessibilityTable';
10
8
  import { heavyFindNextFocusableElement } from './focus';
@@ -12,42 +10,47 @@ import { makeDataSummarizationConfig } from './hints';
12
10
  import { getIntl } from './intl';
13
11
  import { summarize } from './summarize';
14
12
  /*!__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
15
- var styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_5y734_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_5y734_gg_:focus,.___SPlotA11yView_5y734_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_5y734_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_5y734_gg_ table,.___SPlotA11yView_5y734_gg_ td,.___SPlotA11yView_5y734_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}", /*__inner_css_end__*/"5y734_gg_"),
13
+ const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPlotA11yView_9ugu2_gg_{position:relative;display:block;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);z-index:var(--intergalactic-z-index-overlay, 500);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_9ugu2_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_9ugu2_gg_ table,.___SPlotA11yView_9ugu2_gg_ td,.___SPlotA11yView_9ugu2_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}", /*__inner_css_end__*/"9ugu2_gg_"),
16
14
  /*__reshadow_css_end__*/
17
15
  {
18
- "__SPlotA11yView": "___SPlotA11yView_5y734_gg_"
16
+ "__SPlotA11yView": "___SPlotA11yView_9ugu2_gg_"
19
17
  });
20
18
  import { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';
21
- export var PlotA11yView = function PlotA11yView(_ref3) {
19
+ export const PlotA11yView = ({
20
+ id,
21
+ payload: providedData,
22
+ hints,
23
+ plotLabel,
24
+ triggerRef,
25
+ plotRef,
26
+ config: providedConfig,
27
+ locale,
28
+ onCloseHandler
29
+ }) => {
22
30
  var _ref = arguments[0],
23
31
  _ref2;
24
- var id = _ref3.id,
25
- providedData = _ref3.data,
26
- hints = _ref3.hints,
27
- plotLabel = _ref3.plotLabel,
28
- plotRef = _ref3.plotRef,
29
- providedConfig = _ref3.config,
30
- locale = _ref3.locale;
31
- var SPlotA11yView = Box;
32
- var translations = useAsyncI18nMessages(localizedMessages, locale);
33
- var intl = React.useMemo(function () {
34
- return getIntl(locale, translations, localizedMessages);
35
- }, [locale, translations, localizedMessages]);
36
- var config = React.useMemo(function () {
37
- return makeDataSummarizationConfig(providedConfig);
38
- }, [providedConfig]);
39
- var data = React.useMemo(function () {
40
- return Array.isArray(providedData) ? providedData : [providedData];
41
- }, [providedData]);
42
- var _React$useState = React.useState(null),
43
- _React$useState2 = _slicedToArray(_React$useState, 2),
44
- summary = _React$useState2[0],
45
- setSummary = _React$useState2[1];
46
- var _React$useState3 = React.useState(true),
47
- _React$useState4 = _slicedToArray(_React$useState3, 2),
48
- generatingSummary = _React$useState4[0],
49
- setGeneratingSummary = _React$useState4[1];
50
- React.useEffect(function () {
32
+ const SPlotA11yView = Box;
33
+ const translations = useAsyncI18nMessages(localizedMessages, locale);
34
+ const intl = React.useMemo(() => getIntl(locale, translations, localizedMessages), [locale, translations, localizedMessages]);
35
+ const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);
36
+ const data = React.useMemo(() => Array.isArray(providedData) ? providedData : [providedData], [providedData]);
37
+ const rootRef = React.useRef(null);
38
+ const [summary, setSummary] = React.useState(null);
39
+ const [generatingSummary, setGeneratingSummary] = React.useState(true);
40
+ React.useEffect(() => {
41
+ rootRef.current?.focus();
42
+ function focusOutHandler(event) {
43
+ if (event.relatedTarget === null) {
44
+ return requestIdleCallback(onCloseHandler);
45
+ }
46
+ if (!(event.relatedTarget instanceof HTMLElement)) return;
47
+ if (rootRef.current?.contains(event.relatedTarget)) return;
48
+ requestIdleCallback(onCloseHandler);
49
+ }
50
+ rootRef.current?.addEventListener('focusout', focusOutHandler);
51
+ return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);
52
+ }, []);
53
+ React.useEffect(() => {
51
54
  if (config.disable) {
52
55
  setSummary('');
53
56
  setGeneratingSummary(false);
@@ -58,70 +61,72 @@ export var PlotA11yView = function PlotA11yView(_ref3) {
58
61
  setGeneratingSummary(false);
59
62
  return;
60
63
  }
61
- setTimeout(function () {
64
+ setTimeout(() => {
62
65
  setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));
63
66
  setGeneratingSummary(false);
64
67
  }, 0);
65
68
  }, [providedData, hints, config, locale, translations, localizedMessages]);
66
- var handleClose = React.useCallback(function () {
67
- var _plotRef$current;
68
- (_plotRef$current = plotRef.current) === null || _plotRef$current === void 0 || _plotRef$current.focus();
69
+ const handleClose = React.useCallback(() => {
70
+ onCloseHandler();
71
+ requestIdleCallback(() => {
72
+ triggerRef.current?.focus();
73
+ });
69
74
  }, []);
70
- var handleSkip = React.useCallback(function (event) {
71
- var _heavyFindNextFocusab;
75
+ const handleSkip = React.useCallback(event => {
72
76
  event.preventDefault();
73
77
  if (!plotRef.current) return;
74
- (_heavyFindNextFocusab = heavyFindNextFocusableElement(plotRef.current)) === null || _heavyFindNextFocusab === void 0 || _heavyFindNextFocusab.focus();
78
+ heavyFindNextFocusableElement(plotRef.current)?.focus();
79
+ onCloseHandler();
75
80
  }, []);
76
- var handleSkipKeyboard = React.useCallback(function (event) {
81
+ const handleSkipKeyboard = React.useCallback(event => {
77
82
  if (!(event.key === 'Enter' || event.key === ' ')) return;
78
83
  handleSkip(event);
79
84
  }, [handleSkip]);
80
- var handleGoToTable = React.useCallback(function (event) {
81
- var _dataTableRef$current;
85
+ const handleGoToTable = React.useCallback(event => {
82
86
  event.preventDefault();
83
- (_dataTableRef$current = dataTableRef.current) === null || _dataTableRef$current === void 0 || _dataTableRef$current.focus();
87
+ dataTableRef.current?.focus();
84
88
  }, []);
85
- var handleGoToTableKeyboard = React.useCallback(function (event) {
89
+ const handleGoToTableKeyboard = React.useCallback(event => {
86
90
  if (!(event.key === 'Enter' || event.key === ' ')) return;
87
91
  handleGoToTable(event);
88
92
  }, [handleGoToTable]);
89
- var texts = React.useMemo(function () {
90
- return {
91
- label: intl.formatMessage({
92
- id: 'view-label'
93
- }, {
94
- plotLabel: plotLabel !== null && plotLabel !== void 0 ? plotLabel : intl.formatMessage({
95
- id: 'view-default-plot-label'
96
- })
97
- }),
98
- close: intl.formatMessage({
99
- id: 'view-close'
100
- }),
101
- skipPlot: intl.formatMessage({
102
- id: 'view-skip-plot'
103
- }),
104
- goToTable: intl.formatMessage({
105
- id: 'view-go-to-table'
106
- }),
107
- summary: intl.formatMessage({
108
- id: 'view-data-summary'
109
- }),
110
- summaryPlaceholder: intl.formatMessage({
111
- id: 'view-summary-placeholder'
112
- }),
113
- table: intl.formatMessage({
114
- id: 'view-table'
93
+ const texts = React.useMemo(() => ({
94
+ label: intl.formatMessage({
95
+ id: 'view-label'
96
+ }, {
97
+ plotLabel: plotLabel ?? intl.formatMessage({
98
+ id: 'view-default-plot-label'
115
99
  })
116
- };
117
- }, [intl, plotLabel]);
118
- var dataTableRef = React.useRef(null);
119
- return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yView, _ref2.cn("SPlotA11yView", _objectSpread({}, _assignProps({
120
- "tabIndex": 0,
121
- "aria-label": texts.label,
122
- "role": 'dialog',
123
- "__excludeProps": ['data']
124
- }, _ref))), /*#__PURE__*/React.createElement("button", _ref2.cn("button", {
100
+ }),
101
+ close: intl.formatMessage({
102
+ id: 'view-close'
103
+ }),
104
+ skipPlot: intl.formatMessage({
105
+ id: 'view-skip-plot'
106
+ }),
107
+ goToTable: intl.formatMessage({
108
+ id: 'view-go-to-table'
109
+ }),
110
+ summary: intl.formatMessage({
111
+ id: 'view-data-summary'
112
+ }),
113
+ summaryPlaceholder: intl.formatMessage({
114
+ id: 'view-summary-placeholder'
115
+ }),
116
+ table: intl.formatMessage({
117
+ id: 'view-table'
118
+ })
119
+ }), [intl, plotLabel]);
120
+ const dataTableRef = React.useRef(null);
121
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SPlotA11yView, _ref2.cn("SPlotA11yView", {
122
+ ..._assignProps({
123
+ "tabIndex": 0,
124
+ "aria-label": texts.label,
125
+ "role": 'dialog',
126
+ "__excludeProps": ['data'],
127
+ "ref": rootRef
128
+ }, _ref)
129
+ }), /*#__PURE__*/React.createElement("button", _ref2.cn("button", {
125
130
  "type": 'button',
126
131
  "onClick": handleClose
127
132
  }), texts.close), /*#__PURE__*/React.createElement("a", _ref2.cn("a", {
@@ -129,16 +134,16 @@ export var PlotA11yView = function PlotA11yView(_ref3) {
129
134
  "onKeyDown": handleSkipKeyboard,
130
135
  "onClick": handleSkip
131
136
  }), texts.skipPlot), /*#__PURE__*/React.createElement("a", _ref2.cn("a", {
132
- "href": "#".concat(id, "-data-table"),
137
+ "href": `#${id}-data-table`,
133
138
  "onKeyDown": handleGoToTableKeyboard,
134
139
  "onClick": handleGoToTable
135
140
  }), texts.goToTable), /*#__PURE__*/React.createElement("strong", _ref2.cn("strong", {}), /*#__PURE__*/React.createElement("label", _ref2.cn("label", {
136
- "htmlFor": "".concat(id, "-data-summary")
141
+ "htmlFor": `${id}-data-summary`
137
142
  }), texts.summary)), /*#__PURE__*/React.createElement("div", _ref2.cn("div", {
138
- "id": "".concat(id, "-data-summary"),
143
+ "id": `${id}-data-summary`,
139
144
  "aria-busy": generatingSummary
140
145
  }), generatingSummary ? texts.summaryPlaceholder : summary), /*#__PURE__*/React.createElement("strong", _ref2.cn("strong", {}), /*#__PURE__*/React.createElement("label", _ref2.cn("label", {
141
- "htmlFor": "".concat(id, "-data-table")
146
+ "htmlFor": `${id}-data-table`
142
147
  }), texts.table)), /*#__PURE__*/React.createElement(DataAccessibilityTable, _ref2.cn("DataAccessibilityTable", {
143
148
  "id": id,
144
149
  "dataTableRef": dataTableRef,
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yView.js","names":["Root","sstyled","useAsyncI18nMessages","Box","React","DataAccessibilityTable","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","styles","_sstyled","insert","localizedMessages","PlotA11yView","_ref3","_ref","arguments[0]","_ref2","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","translations","intl","useMemo","Array","isArray","_React$useState","useState","_React$useState2","_slicedToArray","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","handleClose","useCallback","_plotRef$current","current","focus","handleSkip","event","_heavyFindNextFocusab","preventDefault","handleSkipKeyboard","key","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread","_assignProps","concat"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Box } from '@semcore/flex-box';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n plotRef.current?.focus();\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role='dialog'\n __excludeProps={['data']}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PlotA11yView.js","names":["Box","Root","sstyled","useAsyncI18nMessages","React","DataAccessibilityTable","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","styles","_sstyled","insert","localizedMessages","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","translations","intl","useMemo","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","handleClose","useCallback","handleSkip","preventDefault","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","createElement","cn","_assignProps"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleClose = React.useCallback(() => {\n onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n\n onCloseHandler();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role='dialog'\n __excludeProps={['data']}\n ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a href={`#${id}-data-table`} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC7C,SAASC,oBAAoB,QAAQ,8CAA8C;AACnF,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,6BAA6B,QAAQ,SAAS;AACvD,SAASC,2BAA2B,QAAQ,SAAS;AAErD,SAASC,OAAO,QAAQ,QAAQ;AAChC,SAASC,SAAS,QAAQ,aAAa;AAAC;AAAA,MAAAC,MAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;AAAA;AAExC,SAASC,iBAAiB,QAAQ,qDAAqD;AAevF,OAAO,MAAMC,YAAqC,GAAGA,CAAC;EACpDC,EAAE;EACFC,OAAO,EAAEC,YAAY;EACrBC,KAAK;EACLC,SAAS;EACTC,UAAU;EACVC,OAAO;EACPC,MAAM,EAAEC,cAAc;EACtBC,MAAM;EACNC;AACF,CAAC,KAAK;EAAA,IAAAC,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACJ,MAAMC,aAAa,GA4GP7B,GAAG;EA3Gf,MAAM8B,YAAY,GAAG3B,oBAAoB,CAACU,iBAAiB,EAAEW,MAAM,CAAC;EACpE,MAAMO,IAAI,GAAG3B,KAAK,CAAC4B,OAAO,CACxB,MAAMxB,OAAO,CAACgB,MAAM,EAAEM,YAAY,EAAEjB,iBAAiB,CAAC,EACtD,CAACW,MAAM,EAAEM,YAAY,EAAEjB,iBAAiB,CAC1C,CAAC;EACD,MAAMS,MAAM,GAAGlB,KAAK,CAAC4B,OAAO,CAAC,MAAMzB,2BAA2B,CAACgB,cAAc,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EACjG,MAAMU,IAAI,GAAG7B,KAAK,CAAC4B,OAAO,CACxB,MAAOE,KAAK,CAACC,OAAO,CAAClB,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAE,EACnE,CAACA,YAAY,CACf,CAAC;EACD,MAAMmB,OAAO,GAAGhC,KAAK,CAACiC,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGnC,KAAK,CAACoC,QAAQ,CAAgB,IAAI,CAAC;EACjE,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGtC,KAAK,CAACoC,QAAQ,CAAC,IAAI,CAAC;EAEtEpC,KAAK,CAACuC,SAAS,CAAC,MAAM;IACpBP,OAAO,CAACQ,OAAO,EAAEC,KAAK,CAAC,CAAC;IAExB,SAASC,eAAeA,CAACC,KAAiB,EAAE;MAC1C,IAAIA,KAAK,CAACC,aAAa,KAAK,IAAI,EAAE;QAChC,OAAOC,mBAAmB,CAACxB,cAAc,CAAC;MAC5C;MAEA,IAAI,EAAEsB,KAAK,CAACC,aAAa,YAAYE,WAAW,CAAC,EAAE;MAEnD,IAAId,OAAO,CAACQ,OAAO,EAAEO,QAAQ,CAACJ,KAAK,CAACC,aAAa,CAAC,EAAE;MAEpDC,mBAAmB,CAACxB,cAAc,CAAC;IACrC;IAEAW,OAAO,CAACQ,OAAO,EAAEQ,gBAAgB,CAAC,UAAU,EAAEN,eAAe,CAAC;IAC9D,OAAO,MAAMV,OAAO,CAACQ,OAAO,EAAES,mBAAmB,CAAC,UAAU,EAAEP,eAAe,CAAC;EAChF,CAAC,EAAE,EAAE,CAAC;EAEN1C,KAAK,CAACuC,SAAS,CAAC,MAAM;IACpB,IAAIrB,MAAM,CAACgC,OAAO,EAAE;MAClBf,UAAU,CAAC,EAAE,CAAC;MACdG,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACA,IAAIpB,MAAM,CAACiC,QAAQ,EAAE;MACnBhB,UAAU,CAACjB,MAAM,CAACiC,QAAQ,CAAC;MAC3Bb,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACAc,UAAU,CAAC,MAAM;MACfjB,UAAU,CAAC9B,SAAS,CAACQ,YAAY,EAAEC,KAAK,EAAEI,MAAM,EAAEE,MAAM,EAAEM,YAAY,EAAEjB,iBAAiB,CAAC,CAAC;MAC3F6B,oBAAoB,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAACzB,YAAY,EAAEC,KAAK,EAAEI,MAAM,EAAEE,MAAM,EAAEM,YAAY,EAAEjB,iBAAiB,CAAC,CAAC;EAE1E,MAAM4C,WAAW,GAAGrD,KAAK,CAACsD,WAAW,CAAC,MAAM;IAC1CjC,cAAc,CAAC,CAAC;IAEhBwB,mBAAmB,CAAC,MAAM;MACxB7B,UAAU,CAACwB,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,MAAMc,UAAU,GAAGvD,KAAK,CAACsD,WAAW,CAAEX,KAA2B,IAAK;IACpEA,KAAK,CAACa,cAAc,CAAC,CAAC;IACtB,IAAI,CAACvC,OAAO,CAACuB,OAAO,EAAE;IAEtBtC,6BAA6B,CAACe,OAAO,CAACuB,OAAO,CAAC,EAAEC,KAAK,CAAC,CAAC;IAEvDpB,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EACN,MAAMoC,kBAAkB,GAAGzD,KAAK,CAACsD,WAAW,CACzCX,KAA0B,IAAK;IAC9B,IAAI,EAAEA,KAAK,CAACe,GAAG,KAAK,OAAO,IAAIf,KAAK,CAACe,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDH,UAAU,CAACZ,KAAK,CAAC;EACnB,CAAC,EACD,CAACY,UAAU,CACb,CAAC;EACD,MAAMI,eAAe,GAAG3D,KAAK,CAACsD,WAAW,CAAEX,KAA2B,IAAK;IACzEA,KAAK,CAACa,cAAc,CAAC,CAAC;IACtBI,YAAY,CAACpB,OAAO,EAAEC,KAAK,CAAC,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EACN,MAAMoB,uBAAuB,GAAG7D,KAAK,CAACsD,WAAW,CAC9CX,KAA0B,IAAK;IAC9B,IAAI,EAAEA,KAAK,CAACe,GAAG,KAAK,OAAO,IAAIf,KAAK,CAACe,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDC,eAAe,CAAChB,KAAK,CAAC;EACxB,CAAC,EACD,CAACgB,eAAe,CAClB,CAAC;EAED,MAAMG,KAAK,GAAG9D,KAAK,CAAC4B,OAAO,CACzB,OAAO;IACLmC,KAAK,EAAEpC,IAAI,CAACqC,aAAa,CACvB;MAAErD,EAAE,EAAE;IAAa,CAAC,EACpB;MAAEI,SAAS,EAAEA,SAAS,IAAIY,IAAI,CAACqC,aAAa,CAAC;QAAErD,EAAE,EAAE;MAA0B,CAAC;IAAE,CAClF,CAAC;IACDsD,KAAK,EAAEtC,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAAa,CAAC,CAAC;IAC/CuD,QAAQ,EAAEvC,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAAiB,CAAC,CAAC;IACtDwD,SAAS,EAAExC,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAAmB,CAAC,CAAC;IACzDuB,OAAO,EAAEP,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAAoB,CAAC,CAAC;IACxDyD,kBAAkB,EAAEzC,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAA2B,CAAC,CAAC;IAC1E0D,KAAK,EAAE1C,IAAI,CAACqC,aAAa,CAAC;MAAErD,EAAE,EAAE;IAAa,CAAC;EAChD,CAAC,CAAC,EACF,CAACgB,IAAI,EAAEZ,SAAS,CAClB,CAAC;EAED,MAAM6C,YAAY,GAAG5D,KAAK,CAACiC,MAAM,CAAmB,IAAI,CAAC;EAEzD,OAAAT,KAAA,GAAO1B,OAAO,CAACQ,MAAM,CAAC,eACpBN,KAAA,CAAAsE,aAAA,CAAC7C,aAAa,EAAAD,KAAA,CAAA+C,EAAA;IAAA,GAAAC,YAAA;MAAA,YAEF,CAAC;MAAA,cACCV,KAAK,CAACC,KAAK;MAAA,QAClB,QAAQ;MAAA,kBACG,CAAC,MAAM,CAAC;MAAA,OACnB/B;IAAO,GAAAV,IAAA;EAAA,iBAEZtB,KAAA,CAAAsE,aAAA,WAAA9C,KAAA,CAAA+C,EAAA;IAAA,QAAa,QAAQ;IAAA,WAAUlB;EAAW,IACvCS,KAAK,CAACG,KACD,CAAC,eACTjE,KAAA,CAAAsE,aAAA,MAAA9C,KAAA,CAAA+C,EAAA;IAAA,QAAQ,GAAG;IAAA,aAAYd,kBAAkB;IAAA,WAAWF;EAAU,IAC3DO,KAAK,CAACI,QACN,CAAC,eACJlE,KAAA,CAAAsE,aAAA,MAAA9C,KAAA,CAAA+C,EAAA;IAAA,QAAS,IAAI5D,EAAE,aAAa;IAAA,aAAakD,uBAAuB;IAAA,WAAWF;EAAe,IACvFG,KAAK,CAACK,SACN,CAAC,eACJnE,KAAA,CAAAsE,aAAA,WAAA9C,KAAA,CAAA+C,EAAA,6BACEvE,KAAA,CAAAsE,aAAA,UAAA9C,KAAA,CAAA+C,EAAA;IAAA,WAAgB,GAAG5D,EAAE;EAAe,IAAGmD,KAAK,CAAC5B,OAAe,CACtD,CAAC,eACTlC,KAAA,CAAAsE,aAAA,QAAA9C,KAAA,CAAA+C,EAAA;IAAA,MAAS,GAAG5D,EAAE,eAAe;IAAA,aAAa0B;EAAiB,IACxDA,iBAAiB,GAAGyB,KAAK,CAACM,kBAAkB,GAAGlC,OAC7C,CAAC,eACNlC,KAAA,CAAAsE,aAAA,WAAA9C,KAAA,CAAA+C,EAAA,6BACEvE,KAAA,CAAAsE,aAAA,UAAA9C,KAAA,CAAA+C,EAAA;IAAA,WAAgB,GAAG5D,EAAE;EAAa,IAAGmD,KAAK,CAACO,KAAa,CAClD,CAAC,eACTrE,KAAA,CAAAsE,aAAA,CAACrE,sBAAsB,EAAAuB,KAAA,CAAA+C,EAAA;IAAA,MACjB5D,EAAE;IAAA,gBACQiD,YAAY;IAAA,QACpB/B,IAAI;IAAA,SACHf,KAAK;IAAA,UACJI,MAAM;IAAA,QACRS;EAAI,EACX,CACY,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1,29 +1,22 @@
1
- export var makeBezier = function makeBezier(points, bounds) {
2
- var yPoints = points.map(function (point) {
3
- return point.y;
4
- });
5
- var noPoints = points.map(function () {
6
- return 1;
7
- });
8
- var weightPoints = points.map(function (point) {
9
- var _point$weight;
10
- return (_point$weight = point.weight) !== null && _point$weight !== void 0 ? _point$weight : 1;
11
- });
12
- var process = function process(t, points) {
13
- var result = 0;
14
- for (var i = 0; i < points.length; i++) {
15
- var tPower = i;
16
- var reversedTPower = points.length - 1 - i;
17
- var edge = i === 0 || i === points.length - 1;
18
- var factor = edge ? 1 : points.length - 1;
19
- var point = points[i];
20
- var weight = weightPoints[i];
21
- result += factor * Math.pow(t, tPower) * Math.pow(1 - t, reversedTPower) * point * weight;
1
+ export const makeBezier = (points, bounds) => {
2
+ const yPoints = points.map(point => point.y);
3
+ const noPoints = points.map(() => 1);
4
+ const weightPoints = points.map(point => point.weight ?? 1);
5
+ const process = (t, points) => {
6
+ let result = 0;
7
+ for (let i = 0; i < points.length; i++) {
8
+ const tPower = i;
9
+ const reversedTPower = points.length - 1 - i;
10
+ const edge = i === 0 || i === points.length - 1;
11
+ const factor = edge ? 1 : points.length - 1;
12
+ const point = points[i];
13
+ const weight = weightPoints[i];
14
+ result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;
22
15
  }
23
16
  return result;
24
17
  };
25
- return function (x) {
26
- var t = x / bounds.width;
18
+ return x => {
19
+ const t = x / bounds.width;
27
20
  return process(t, yPoints) / process(t, noPoints);
28
21
  };
29
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bezier.js","names":["makeBezier","points","bounds","yPoints","map","point","y","noPoints","weightPoints","_point$weight","weight","process","t","result","i","length","tPower","reversedTPower","edge","factor","Math","pow","x","width"],"sources":["../../../src/a11y/bezier.ts"],"sourcesContent":["export const makeBezier = (\n points: { x: number; y: number; weight?: number }[],\n bounds: { width: number; height: number },\n) => {\n const yPoints = points.map((point) => point.y);\n const noPoints = points.map(() => 1);\n const weightPoints = points.map((point) => point.weight ?? 1);\n const process = (t: number, points: number[]) => {\n let result = 0;\n for (let i = 0; i < points.length; i++) {\n const tPower = i;\n const reversedTPower = points.length - 1 - i;\n const edge = i === 0 || i === points.length - 1;\n const factor = edge ? 1 : points.length - 1;\n const point = points[i];\n const weight = weightPoints[i];\n result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;\n }\n return result;\n };\n\n return (x: number) => {\n const t = x / bounds.width;\n return process(t, yPoints) / process(t, noPoints);\n };\n};\n"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CACrBC,MAAmD,EACnDC,MAAyC,EACtC;EACH,IAAMC,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAC,UAACC,KAAK;IAAA,OAAKA,KAAK,CAACC,CAAC;EAAA,EAAC;EAC9C,IAAMC,QAAQ,GAAGN,MAAM,CAACG,GAAG,CAAC;IAAA,OAAM,CAAC;EAAA,EAAC;EACpC,IAAMI,YAAY,GAAGP,MAAM,CAACG,GAAG,CAAC,UAACC,KAAK;IAAA,IAAAI,aAAA;IAAA,QAAAA,aAAA,GAAKJ,KAAK,CAACK,MAAM,cAAAD,aAAA,cAAAA,aAAA,GAAI,CAAC;EAAA,EAAC;EAC7D,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAIC,CAAS,EAAEX,MAAgB,EAAK;IAC/C,IAAIY,MAAM,GAAG,CAAC;IACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,MAAM,CAACc,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,IAAME,MAAM,GAAGF,CAAC;MAChB,IAAMG,cAAc,GAAGhB,MAAM,CAACc,MAAM,GAAG,CAAC,GAAGD,CAAC;MAC5C,IAAMI,IAAI,GAAGJ,CAAC,KAAK,CAAC,IAAIA,CAAC,KAAKb,MAAM,CAACc,MAAM,GAAG,CAAC;MAC/C,IAAMI,MAAM,GAAGD,IAAI,GAAG,CAAC,GAAGjB,MAAM,CAACc,MAAM,GAAG,CAAC;MAC3C,IAAMV,KAAK,GAAGJ,MAAM,CAACa,CAAC,CAAC;MACvB,IAAMJ,MAAM,GAAGF,YAAY,CAACM,CAAC,CAAC;MAC9BD,MAAM,IAAIM,MAAM,GAAAC,IAAA,CAAAC,GAAA,CAAGT,CAAC,EAAII,MAAM,IAAAI,IAAA,CAAAC,GAAA,CAAI,CAAC,GAAGT,CAAC,EAAKK,cAAc,IAAGZ,KAAK,GAAGK,MAAM;IAC7E;IACA,OAAOG,MAAM;EACf,CAAC;EAED,OAAO,UAACS,CAAS,EAAK;IACpB,IAAMV,CAAC,GAAGU,CAAC,GAAGpB,MAAM,CAACqB,KAAK;IAC1B,OAAOZ,OAAO,CAACC,CAAC,EAAET,OAAO,CAAC,GAAGQ,OAAO,CAACC,CAAC,EAAEL,QAAQ,CAAC;EACnD,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"bezier.js","names":["makeBezier","points","bounds","yPoints","map","point","y","noPoints","weightPoints","weight","process","t","result","i","length","tPower","reversedTPower","edge","factor","x","width"],"sources":["../../../src/a11y/bezier.ts"],"sourcesContent":["export const makeBezier = (\n points: { x: number; y: number; weight?: number }[],\n bounds: { width: number; height: number },\n) => {\n const yPoints = points.map((point) => point.y);\n const noPoints = points.map(() => 1);\n const weightPoints = points.map((point) => point.weight ?? 1);\n const process = (t: number, points: number[]) => {\n let result = 0;\n for (let i = 0; i < points.length; i++) {\n const tPower = i;\n const reversedTPower = points.length - 1 - i;\n const edge = i === 0 || i === points.length - 1;\n const factor = edge ? 1 : points.length - 1;\n const point = points[i];\n const weight = weightPoints[i];\n result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;\n }\n return result;\n };\n\n return (x: number) => {\n const t = x / bounds.width;\n return process(t, yPoints) / process(t, noPoints);\n };\n};\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAGA,CACxBC,MAAmD,EACnDC,MAAyC,KACtC;EACH,MAAMC,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,CAAC,CAAC;EAC9C,MAAMC,QAAQ,GAAGN,MAAM,CAACG,GAAG,CAAC,MAAM,CAAC,CAAC;EACpC,MAAMI,YAAY,GAAGP,MAAM,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACI,MAAM,IAAI,CAAC,CAAC;EAC7D,MAAMC,OAAO,GAAGA,CAACC,CAAS,EAAEV,MAAgB,KAAK;IAC/C,IAAIW,MAAM,GAAG,CAAC;IACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,MAAM,CAACa,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,MAAME,MAAM,GAAGF,CAAC;MAChB,MAAMG,cAAc,GAAGf,MAAM,CAACa,MAAM,GAAG,CAAC,GAAGD,CAAC;MAC5C,MAAMI,IAAI,GAAGJ,CAAC,KAAK,CAAC,IAAIA,CAAC,KAAKZ,MAAM,CAACa,MAAM,GAAG,CAAC;MAC/C,MAAMI,MAAM,GAAGD,IAAI,GAAG,CAAC,GAAGhB,MAAM,CAACa,MAAM,GAAG,CAAC;MAC3C,MAAMT,KAAK,GAAGJ,MAAM,CAACY,CAAC,CAAC;MACvB,MAAMJ,MAAM,GAAGD,YAAY,CAACK,CAAC,CAAC;MAC9BD,MAAM,IAAIM,MAAM,GAAGP,CAAC,IAAII,MAAM,GAAG,CAAC,CAAC,GAAGJ,CAAC,KAAKK,cAAc,GAAGX,KAAK,GAAGI,MAAM;IAC7E;IACA,OAAOG,MAAM;EACf,CAAC;EAED,OAAQO,CAAS,IAAK;IACpB,MAAMR,CAAC,GAAGQ,CAAC,GAAGjB,MAAM,CAACkB,KAAK;IAC1B,OAAOV,OAAO,CAACC,CAAC,EAAER,OAAO,CAAC,GAAGO,OAAO,CAACC,CAAC,EAAEJ,QAAQ,CAAC;EACnD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,39 +1,38 @@
1
1
  import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';
2
- var _findNextFocusableElementInChildren = function findNextFocusableElementInChildren(element) {
2
+ const findNextFocusableElementInChildren = element => {
3
3
  if (element && isFocusable(element)) {
4
4
  return element;
5
5
  }
6
- var children = element === null || element === void 0 ? void 0 : element.children;
6
+ const children = element?.children;
7
7
  if (children) {
8
- for (var i = 0; i < children.length; i++) {
9
- var childChild = children.item(i);
8
+ for (let i = 0; i < children.length; i++) {
9
+ const childChild = children.item(i);
10
10
  if (!childChild) continue;
11
- var result = _findNextFocusableElementInChildren(childChild);
11
+ const result = findNextFocusableElementInChildren(childChild);
12
12
  if (result) return result;
13
13
  }
14
14
  }
15
15
  return null;
16
16
  };
17
- var makeParentsChain = function makeParentsChain(element) {
18
- var parents = [];
19
- var parent = element.parentElement;
17
+ const makeParentsChain = element => {
18
+ const parents = [];
19
+ let parent = element.parentElement;
20
20
  while (parent) {
21
21
  parents.push(parent);
22
22
  parent = parent.parentElement;
23
23
  }
24
24
  return parents;
25
25
  };
26
- export var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base) {
27
- var parents = makeParentsChain(base);
28
- for (var i = 0; i < parents.length; i++) {
29
- var _parent$children;
30
- var parent = parents[i];
31
- var siblings = Array.from((_parent$children = parent === null || parent === void 0 ? void 0 : parent.children) !== null && _parent$children !== void 0 ? _parent$children : []);
26
+ export const heavyFindNextFocusableElement = base => {
27
+ const parents = makeParentsChain(base);
28
+ for (let i = 0; i < parents.length; i++) {
29
+ const parent = parents[i];
30
+ let siblings = Array.from(parent?.children ?? []);
32
31
  if (siblings.indexOf(parents[i - 1] || base) !== -1) {
33
32
  siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);
34
33
  }
35
- for (var _i = 0; _i < siblings.length; _i++) {
36
- var focusable = _findNextFocusableElementInChildren(siblings[_i]);
34
+ for (let i = 0; i < siblings.length; i++) {
35
+ const focusable = findNextFocusableElementInChildren(siblings[i]);
37
36
  if (focusable) return focusable;
38
37
  }
39
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","names":["isFocusable","findNextFocusableElementInChildren","element","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","_parent$children","siblings","Array","from","indexOf","slice","focusable"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n const children = element?.children;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n if (!childChild) continue;\n const result = findNextFocusableElementInChildren(childChild);\n if (result) return result;\n }\n }\n\n return null;\n};\n\nconst makeParentsChain = (element: Element): Element[] => {\n const parents = [];\n let parent = element.parentElement;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n\n return parents;\n};\n\nexport const heavyFindNextFocusableElement = (base: Element): FocusableElement | null => {\n const parents = makeParentsChain(base);\n for (let i = 0; i < parents.length; i++) {\n const parent = parents[i];\n let siblings = Array.from(parent?.children ?? []);\n if (siblings.indexOf(parents[i - 1] || base) !== -1) {\n siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);\n }\n\n for (let i = 0; i < siblings.length; i++) {\n const focusable = findNextFocusableElementInChildren(siblings[i]);\n if (focusable) return focusable;\n }\n }\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,gDAAgD;AAI5E,IAAMC,mCAAkC,GAAG,SAArCA,kCAAkCA,CAAIC,OAAuB,EAA8B;EAC/F,IAAIA,OAAO,IAAIF,WAAW,CAACE,OAAO,CAAC,EAAE;IACnC,OAAOA,OAAO;EAChB;EAEA,IAAMC,QAAQ,GAAGD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ;EAElC,IAAIA,QAAQ,EAAE;IACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,IAAME,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACH,CAAC,CAAC;MACnC,IAAI,CAACE,UAAU,EAAE;MACjB,IAAME,MAAM,GAAGP,mCAAkC,CAACK,UAAU,CAAC;MAC7D,IAAIE,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIP,OAAgB,EAAgB;EACxD,IAAMQ,OAAO,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAGT,OAAO,CAACU,aAAa;EAElC,OAAOD,MAAM,EAAE;IACbD,OAAO,CAACG,IAAI,CAACF,MAAM,CAAC;IACpBA,MAAM,GAAGA,MAAM,CAACC,aAAa;EAC/B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,OAAO,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,IAAa,EAA8B;EACvF,IAAML,OAAO,GAAGD,gBAAgB,CAACM,IAAI,CAAC;EACtC,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,OAAO,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;IAAA,IAAAY,gBAAA;IACvC,IAAML,MAAM,GAAGD,OAAO,CAACN,CAAC,CAAC;IACzB,IAAIa,QAAQ,GAAGC,KAAK,CAACC,IAAI,EAAAH,gBAAA,GAACL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAER,QAAQ,cAAAa,gBAAA,cAAAA,gBAAA,GAAI,EAAE,CAAC;IACjD,IAAIC,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACnDE,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAACJ,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE;IAEA,KAAK,IAAIX,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGa,QAAQ,CAACZ,MAAM,EAAED,EAAC,EAAE,EAAE;MACxC,IAAMkB,SAAS,GAAGrB,mCAAkC,CAACgB,QAAQ,CAACb,EAAC,CAAC,CAAC;MACjE,IAAIkB,SAAS,EAAE,OAAOA,SAAS;IACjC;EACF;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"focus.js","names":["isFocusable","findNextFocusableElementInChildren","element","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","siblings","Array","from","indexOf","slice","focusable"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n const children = element?.children;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n if (!childChild) continue;\n const result = findNextFocusableElementInChildren(childChild);\n if (result) return result;\n }\n }\n\n return null;\n};\n\nconst makeParentsChain = (element: Element): Element[] => {\n const parents = [];\n let parent = element.parentElement;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n\n return parents;\n};\n\nexport const heavyFindNextFocusableElement = (base: Element): FocusableElement | null => {\n const parents = makeParentsChain(base);\n for (let i = 0; i < parents.length; i++) {\n const parent = parents[i];\n let siblings = Array.from(parent?.children ?? []);\n if (siblings.indexOf(parents[i - 1] || base) !== -1) {\n siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);\n }\n\n for (let i = 0; i < siblings.length; i++) {\n const focusable = findNextFocusableElementInChildren(siblings[i]);\n if (focusable) return focusable;\n }\n }\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,gDAAgD;AAI5E,MAAMC,kCAAkC,GAAIC,OAAuB,IAA8B;EAC/F,IAAIA,OAAO,IAAIF,WAAW,CAACE,OAAO,CAAC,EAAE;IACnC,OAAOA,OAAO;EAChB;EAEA,MAAMC,QAAQ,GAAGD,OAAO,EAAEC,QAAQ;EAElC,IAAIA,QAAQ,EAAE;IACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,MAAME,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACH,CAAC,CAAC;MACnC,IAAI,CAACE,UAAU,EAAE;MACjB,MAAME,MAAM,GAAGP,kCAAkC,CAACK,UAAU,CAAC;MAC7D,IAAIE,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,gBAAgB,GAAIP,OAAgB,IAAgB;EACxD,MAAMQ,OAAO,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAGT,OAAO,CAACU,aAAa;EAElC,OAAOD,MAAM,EAAE;IACbD,OAAO,CAACG,IAAI,CAACF,MAAM,CAAC;IACpBA,MAAM,GAAGA,MAAM,CAACC,aAAa;EAC/B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMI,6BAA6B,GAAIC,IAAa,IAA8B;EACvF,MAAML,OAAO,GAAGD,gBAAgB,CAACM,IAAI,CAAC;EACtC,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,OAAO,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;IACvC,MAAMO,MAAM,GAAGD,OAAO,CAACN,CAAC,CAAC;IACzB,IAAIY,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAACP,MAAM,EAAER,QAAQ,IAAI,EAAE,CAAC;IACjD,IAAIa,QAAQ,CAACG,OAAO,CAACT,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACnDC,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAACJ,QAAQ,CAACG,OAAO,CAACT,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE;IAEA,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,QAAQ,CAACX,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,MAAMiB,SAAS,GAAGpB,kCAAkC,CAACe,QAAQ,CAACZ,CAAC,CAAC,CAAC;MACjE,IAAIiB,SAAS,EAAE,OAAOA,SAAS;IACjC;EACF;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1,73 +1,68 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- import _typeof from "@babel/runtime/helpers/typeof";
4
1
  import reactToText from '@semcore/core/lib/utils/reactToText';
5
- export var makeDataHintsContainer = function makeDataHintsContainer() {
6
- return {
7
- fields: {
8
- verticalAxes: new Set(),
9
- horizontalAxes: new Set(),
10
- valueAxes: new Set(),
11
- values: new Set()
12
- },
13
- groups: new Set(),
14
- axesTitle: {
15
- vertical: null,
16
- horizontal: null
17
- },
18
- titles: {
19
- verticalAxes: {},
20
- getVerticalAxesTitle: null,
21
- horizontalAxes: {},
22
- getHorizontalAxesTitle: null,
23
- valuesAxes: {},
24
- getValueAxesTitle: null
25
- },
26
- grid: {
27
- verticalAxes: null,
28
- horizontalAxes: null
29
- },
30
- dataType: null,
31
- pointsDensity: null
32
- };
33
- };
34
- export var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContainer) {
35
- var handler = {
36
- specifyDataRowFields: function specifyDataRowFields(x, y, value) {
2
+ export const makeDataHintsContainer = () => ({
3
+ fields: {
4
+ verticalAxes: new Set(),
5
+ horizontalAxes: new Set(),
6
+ valueAxes: new Set(),
7
+ values: new Set()
8
+ },
9
+ groups: new Set(),
10
+ axesTitle: {
11
+ vertical: null,
12
+ horizontal: null
13
+ },
14
+ titles: {
15
+ verticalAxes: {},
16
+ getVerticalAxesTitle: null,
17
+ horizontalAxes: {},
18
+ getHorizontalAxesTitle: null,
19
+ valuesAxes: {},
20
+ getValueAxesTitle: null
21
+ },
22
+ grid: {
23
+ verticalAxes: null,
24
+ horizontalAxes: null
25
+ },
26
+ dataType: null,
27
+ pointsDensity: null
28
+ });
29
+ export const makeDataHintsHandlers = mutableContainer => {
30
+ const handler = {
31
+ specifyDataRowFields: (x, y, value) => {
37
32
  if (y) mutableContainer.fields.verticalAxes.add(y);
38
33
  if (x) mutableContainer.fields.horizontalAxes.add(x);
39
34
  if (value) mutableContainer.fields.valueAxes.add(value);
40
35
  },
41
- setupGrid: function setupGrid(direction, size) {
36
+ setupGrid: (direction, size) => {
42
37
  if (direction === 'horizontal') {
43
38
  mutableContainer.grid.horizontalAxes = size;
44
39
  } else if (direction === 'vertical') {
45
40
  mutableContainer.grid.verticalAxes = size;
46
41
  }
47
42
  },
48
- establishDataType: function establishDataType(dataType) {
43
+ establishDataType: dataType => {
49
44
  mutableContainer.dataType = dataType;
50
45
  },
51
- describeValueEntity: function describeValueEntity(dataKey, readableName) {
46
+ describeValueEntity: (dataKey, readableName) => {
52
47
  mutableContainer.fields.values.add(dataKey);
53
48
  handler.labelKey('value', dataKey, readableName);
54
49
  },
55
- describeGroupedValues: function describeGroupedValues(groupKey, dataKey) {
50
+ describeGroupedValues: (groupKey, dataKey) => {
56
51
  mutableContainer.groups.add(groupKey);
57
52
  mutableContainer.fields.values.add(dataKey);
58
53
  },
59
- labelKey: function labelKey(axes, dataKey, label) {
54
+ labelKey: (axes, dataKey, label) => {
60
55
  if (axes === 'vertical') mutableContainer.titles.verticalAxes[dataKey] = label;
61
56
  if (axes === 'horizontal') mutableContainer.titles.horizontalAxes[dataKey] = label;
62
57
  if (axes === 'value') mutableContainer.titles.valuesAxes[dataKey] = label;
63
58
  },
64
- addKeyLabelGetter: function addKeyLabelGetter(axes, getter) {
59
+ addKeyLabelGetter: (axes, getter) => {
65
60
  if (axes === 'vertical') mutableContainer.titles.getVerticalAxesTitle = getter;
66
61
  if (axes === 'horizontal') mutableContainer.titles.getHorizontalAxesTitle = getter;
67
62
  if (axes === 'value') mutableContainer.titles.getValueAxesTitle = getter;
68
63
  },
69
- setTitle: function setTitle(describedDataAxes, title) {
70
- if (typeof title === 'number' || typeof title === 'bigint' || _typeof(title) === 'object' && title instanceof Date) {
64
+ setTitle: (describedDataAxes, title) => {
65
+ if (typeof title === 'number' || typeof title === 'bigint' || typeof title === 'object' && title instanceof Date) {
71
66
  title = String(title);
72
67
  }
73
68
  if (typeof title !== 'string') {
@@ -79,40 +74,39 @@ export var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContain
79
74
  mutableContainer.axesTitle.vertical = title;
80
75
  }
81
76
  },
82
- setPointsDensity: function setPointsDensity(horizontalAxes, verticalAxes) {
77
+ setPointsDensity: (horizontalAxes, verticalAxes) => {
83
78
  mutableContainer.pointsDensity = {
84
- verticalAxes: verticalAxes,
85
- horizontalAxes: horizontalAxes
79
+ verticalAxes,
80
+ horizontalAxes
86
81
  };
87
82
  }
88
83
  };
89
84
  return handler;
90
85
  };
91
- export var makeDataSummarizationConfig = function makeDataSummarizationConfig(config) {
92
- var _config$trendTangens, _config$movingAverage, _config$additionalFie;
93
- return _objectSpread(_objectSpread({
94
- clustersGridSize: undefined,
95
- maxListSymbols: 100,
96
- datesWithTime: undefined,
97
- clustersLimit: 5,
98
- valuesLimit: 5,
99
- groupsLimit: 5,
100
- dataType: undefined,
101
- disable: false,
102
- override: undefined
103
- }, config !== null && config !== void 0 ? config : {}), {}, {
104
- trendTangens: _objectSpread({
105
- "static": 1 / 15,
106
- weak: 1 / 10,
107
- medium: 1 / 5,
108
- strong: Number.POSITIVE_INFINITY
109
- }, (_config$trendTangens = config === null || config === void 0 ? void 0 : config.trendTangens) !== null && _config$trendTangens !== void 0 ? _config$trendTangens : {}),
110
- movingAverage: _objectSpread({
111
- longSize: undefined,
112
- shortSize: undefined,
113
- notableDiff: undefined
114
- }, (_config$movingAverage = config === null || config === void 0 ? void 0 : config.movingAverage) !== null && _config$movingAverage !== void 0 ? _config$movingAverage : {}),
115
- additionalFields: _toConsumableArray((_config$additionalFie = config === null || config === void 0 ? void 0 : config.additionalFields) !== null && _config$additionalFie !== void 0 ? _config$additionalFie : [])
116
- });
117
- };
86
+ export const makeDataSummarizationConfig = config => ({
87
+ clustersGridSize: undefined,
88
+ maxListSymbols: 100,
89
+ datesWithTime: undefined,
90
+ clustersLimit: 5,
91
+ valuesLimit: 5,
92
+ groupsLimit: 5,
93
+ dataType: undefined,
94
+ disable: false,
95
+ override: undefined,
96
+ ...(config ?? {}),
97
+ trendTangens: {
98
+ static: 1 / 15,
99
+ weak: 1 / 10,
100
+ medium: 1 / 5,
101
+ strong: Number.POSITIVE_INFINITY,
102
+ ...(config?.trendTangens ?? {})
103
+ },
104
+ movingAverage: {
105
+ longSize: undefined,
106
+ shortSize: undefined,
107
+ notableDiff: undefined,
108
+ ...(config?.movingAverage ?? {})
109
+ },
110
+ additionalFields: [...(config?.additionalFields ?? [])]
111
+ });
118
112
  //# sourceMappingURL=hints.js.map