@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 +1 @@
1
- {"version":3,"file":"Donut.js","names":["_core","require","_assignProps2","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_d3Interpolate","_d3Shape","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","_excluded","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref6","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","_ref7","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","_outerRadiusStartEnd","_slicedToArray2","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","_ref8","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","canUseDOM","document","createElement","undefined","visible","props","tooltipProps","_ref9","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_ref0","active","_this$asProps2","canAnimatedHover","id","clearTimeout","animationTimeout","setTimeout","_this$asProps3","on","_inherits2","_createClass2","key","get","_this$asProps4","uid","value","generateGetBoundingClientRect","x","y","top","right","bottom","left","getArcs","_this$asProps5","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref1","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","handlerOnClick","_this2","e","stopPropagation","onClick","getPieProps","index","_this3","_this$asProps6","resolveColor","patterns","find","name","color","getChartDefaultColorName","transparent","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","target","getAttribute","onMouseOut","onClickPieRoot","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps7","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","Component","uniqueIDEnhancement","_ref18","_ref18$innerRadius","_ref18$paddingAngle","_ref18$halfsize","pie","_ref19","_ref20","_ref15","_ref2","SPie","styles","other","_objectWithoutProperties2","_React$useState","useState","_React$useState2","isMount","setIsMount","pieRef","useRef","useEffect","current","Boolean","describeValueEntity","Fragment","cn","callAllEventHandlers","PatternFill","EmptyData","_ref16","_ref3","SEmptyData","Label","_ref17","_ref4","SLabel","children","label","_ref17$x","_ref17$y","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { arc, pie } from 'd3-shape';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/donut.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n paddingAngle = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n paddingAngle,\n innerRadius,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key, value]) => keys.includes(key) && value > 0)\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius];\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n });\n }\n };\n\n animationTimeout = null;\n animationUpdatePie = () => {\n clearTimeout(this.animationTimeout);\n this.animationTimeout = setTimeout(() => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n }, 0);\n };\n\n handlerOnClick(key) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(key, e);\n };\n }\n\n getPieProps(props, index) {\n const { d3Arc, d3ArcOut, innerRadius, outerRadius, halfsize, resolveColor, uid, patterns } =\n this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = index;\n }\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n resolveColor,\n color: props.color || getChartDefaultColorName(index),\n active: props.active,\n transparent: props.transparent,\n patterns,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n uid: `${uid}-${index}`,\n patterns,\n halfsize,\n color: props.color || getChartDefaultColorName(index),\n resolveColor,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onClickPieRoot: this.handlerOnClick(props.dataKey),\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n innerRadius,\n outerRadius,\n resolveColor,\n halfsize,\n uid,\n patterns,\n onClick,\n onClickPieRoot,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return (\n <React.Fragment>\n {sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n use:onClick={callAllEventHandlers(onClickPieRoot, onClick)}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color, resolveColor }) {\n return sstyled(styles)(\n <SEmptyData\n render='path'\n color={resolveColor(color)}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })}\n />,\n );\n}\n\nfunction Label({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nfunction DonutTooltip(props) {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Donut.js","names":["_core","require","_assignProps2","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_d3Interpolate","_d3Shape","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","size","width","height","minORmax","max","min","DonutRoot","Component","constructor","args","_defineProperty2","default","canUseDOM","document","createElement","undefined","visible","props","tooltipProps","clientX","clientY","eventEmitter","plotId","asProps","emit","active","canAnimatedHover","id","clearTimeout","animationTimeout","setTimeout","on","uid","generateGetBoundingClientRect","x","y","top","right","bottom","left","getArcs","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","value","includes","sort","a","b","indexOf","minValue","cur","map","handlerOnClick","e","stopPropagation","onClick","getPieProps","index","resolveColor","patterns","find","name","color","getChartDefaultColorName","transparent","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","target","getAttribute","onMouseOut","onClickPieRoot","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","dataHintsHandler","establishDataType","Element","k","childrenPosition","transform","uniqueIDEnhancement","pie","SPie","styles","other","_ref2","isMount","setIsMount","useState","pieRef","useRef","useEffect","current","Boolean","describeValueEntity","Fragment","cn","callAllEventHandlers","PatternFill","EmptyData","SEmptyData","_ref3","Label","SLabel","children","label","_ref4","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","Tooltip","assignProps","_______childrenComponents","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { arc, pie } from 'd3-shape';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/donut.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n paddingAngle = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n paddingAngle,\n innerRadius,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key, value]) => keys.includes(key) && value > 0)\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius];\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n });\n }\n };\n\n animationTimeout = null;\n animationUpdatePie = () => {\n clearTimeout(this.animationTimeout);\n this.animationTimeout = setTimeout(() => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n }, 0);\n };\n\n handlerOnClick(key) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(key, e);\n };\n }\n\n getPieProps(props, index) {\n const { d3Arc, d3ArcOut, innerRadius, outerRadius, halfsize, resolveColor, uid, patterns } =\n this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = index;\n }\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n resolveColor,\n color: props.color || getChartDefaultColorName(index),\n active: props.active,\n transparent: props.transparent,\n patterns,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n uid: `${uid}-${index}`,\n patterns,\n halfsize,\n color: props.color || getChartDefaultColorName(index),\n resolveColor,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onClickPieRoot: this.handlerOnClick(props.dataKey),\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n innerRadius,\n outerRadius,\n resolveColor,\n halfsize,\n uid,\n patterns,\n onClick,\n onClickPieRoot,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return (\n <React.Fragment>\n {sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n use:onClick={callAllEventHandlers(onClickPieRoot, onClick)}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color, resolveColor }) {\n return sstyled(styles)(\n <SEmptyData\n render='path'\n color={resolveColor(color)}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })}\n />,\n );\n}\n\nfunction Label({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nfunction DonutTooltip(props) {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":"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","ignoreList":[]}
package/lib/cjs/Dots.js CHANGED
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ exports.default = void 0;
9
8
  var _core = require("@semcore/core");
10
9
  var _rafTrottle = _interopRequireDefault(require("@semcore/core/lib/utils/rafTrottle"));
11
10
  var _d3Array = require("d3-array");
@@ -14,110 +13,92 @@ var _createElement = _interopRequireDefault(require("./createElement"));
14
13
  var _Pattern = require("./Pattern");
15
14
  var _utils = require("./utils");
16
15
  /*!__reshadow-styles__:"./style/dot.shadow.css"*/
17
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDots_wid14_gg_ .___SDot_wid14_gg_{transition-duration:var(--duration_wid14)}.___SDot_wid14_gg_{stroke-width:1px;stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy,x,y;transition-timing-function:ease-in-out}.___SDot_wid14_gg_.__hide_wid14_gg_{display:none}.___SDot_wid14_gg_.__color_wid14_gg_{fill:var(--color_wid14)}.___SDot_wid14_gg_.__transparent_wid14_gg_{opacity:.3}", /*__inner_css_end__*/"wid14_gg_"),
16
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDots_kz49v_gg_ .___SDot_kz49v_gg_{transition-duration:var(--duration_kz49v)}.___SDot_kz49v_gg_{stroke-width:1px;stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy,x,y;transition-timing-function:ease-in-out}.___SDot_kz49v_gg_.__hide_kz49v_gg_{display:none}.___SDot_kz49v_gg_.__color_kz49v_gg_{fill:var(--color_kz49v)}.___SDot_kz49v_gg_.__transparent_kz49v_gg_{opacity:.3}", /*__inner_css_end__*/"kz49v_gg_"),
18
17
  /*__reshadow_css_end__*/
19
18
  {
20
- "__SDot": "___SDot_wid14_gg_",
21
- "_hide": "__hide_wid14_gg_",
22
- "_color": "__color_wid14_gg_",
23
- "--color": "--color_wid14",
24
- "_transparent": "__transparent_wid14_gg_",
25
- "__SDots": "___SDots_wid14_gg_",
26
- "--duration": "--duration_wid14"
19
+ "__SDot": "___SDot_kz49v_gg_",
20
+ "_hide": "__hide_kz49v_gg_",
21
+ "_color": "__color_kz49v_gg_",
22
+ "--color": "--color_kz49v",
23
+ "_transparent": "__transparent_kz49v_gg_",
24
+ "__SDots": "___SDots_kz49v_gg_",
25
+ "--duration": "--duration_kz49v"
27
26
  });
28
27
  function Dots(props) {
29
28
  var _ref3;
30
- var SDot = props.Element,
31
- styles = props.styles,
32
- color = props.color,
33
- d3 = props.d3,
34
- x = props.x,
35
- y = props.y,
36
- eventEmitter = props.eventEmitter,
37
- display = props.display,
38
- hide = props.hide,
39
- rootRef = props.rootRef,
40
- scale = props.scale,
41
- _props$duration = props.duration,
42
- duration = _props$duration === void 0 ? 500 : _props$duration,
43
- transparent = props.transparent,
44
- _props$radius = props.radius,
45
- radiusBase = _props$radius === void 0 ? 4 : _props$radius,
46
- resolveColor = props.resolveColor,
47
- patterns = props.patterns,
48
- onClick = props.onClick;
49
- var bisect = (0, _d3Array.bisector)(function (d) {
50
- return d[x];
51
- }).center;
52
- var _React$useState = _react["default"].useState(null),
53
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
54
- activeIndex = _React$useState2[0],
55
- setActiveIndex = _React$useState2[1];
56
- var patternKey = color || (0, _utils.getChartDefaultColorName)(0);
57
- var svgPatternId = "template_".concat(patternKey);
58
- var data = _react["default"].useMemo(function () {
59
- return props.data.filter(function (item) {
60
- return item[y] !== _utils.interpolateValue;
61
- });
62
- }, [props.data]);
63
- var handlerMouseMoveRoot = _react["default"].useCallback((0, _rafTrottle["default"])(function (e) {
64
- var _scale = (0, _slicedToArray2["default"])(scale, 1),
65
- xScale = _scale[0];
66
- var _eventToPoint = (0, _utils.eventToPoint)(e, rootRef.current),
67
- _eventToPoint2 = (0, _slicedToArray2["default"])(_eventToPoint, 1),
68
- pX = _eventToPoint2[0];
69
- var vX = (0, _utils.invert)(xScale, pX);
29
+ const {
30
+ Element: SDot,
31
+ styles,
32
+ color,
33
+ d3,
34
+ x,
35
+ y,
36
+ eventEmitter,
37
+ display,
38
+ hide,
39
+ rootRef,
40
+ scale,
41
+ duration = 500,
42
+ transparent,
43
+ radius: radiusBase = 4,
44
+ resolveColor,
45
+ patterns,
46
+ onClick
47
+ } = props;
48
+ const bisect = (0, _d3Array.bisector)(d => d[x]).center;
49
+ const [activeIndex, setActiveIndex] = _react.default.useState(null);
50
+ const patternKey = color || (0, _utils.getChartDefaultColorName)(0);
51
+ const svgPatternId = `template_${patternKey}`;
52
+ const data = _react.default.useMemo(() => props.data.filter(item => item[y] !== _utils.interpolateValue), [props.data]);
53
+ const handlerMouseMoveRoot = _react.default.useCallback((0, _rafTrottle.default)(e => {
54
+ const [xScale] = scale;
55
+ const [pX] = (0, _utils.eventToPoint)(e, rootRef.current);
56
+ const vX = (0, _utils.invert)(xScale, pX);
70
57
  setActiveIndex(bisect(data, vX));
71
58
  }), [scale, data]);
72
- var handlerMouseLeaveRoot = _react["default"].useCallback((0, _rafTrottle["default"])(function () {
59
+ const handlerMouseLeaveRoot = _react.default.useCallback((0, _rafTrottle.default)(() => {
73
60
  setActiveIndex(null);
74
61
  }), []);
75
- var handlerOnClick = _react["default"].useCallback(function (e) {
62
+ const handlerOnClick = _react.default.useCallback(e => {
76
63
  e.stopPropagation();
77
64
  if (!onClick) return;
78
- var _scale2 = (0, _slicedToArray2["default"])(scale, 1),
79
- xScale = _scale2[0];
80
- var _eventToPoint3 = (0, _utils.eventToPoint)(e, rootRef.current),
81
- _eventToPoint4 = (0, _slicedToArray2["default"])(_eventToPoint3, 1),
82
- pX = _eventToPoint4[0];
83
- var vX = (0, _utils.invert)(xScale, pX);
84
- var index = bisect(data, vX);
65
+ const [xScale] = scale;
66
+ const [pX] = (0, _utils.eventToPoint)(e, rootRef.current);
67
+ const vX = (0, _utils.invert)(xScale, pX);
68
+ const index = bisect(data, vX);
85
69
  onClick(index, e);
86
70
  }, [scale, data, onClick]);
87
- _react["default"].useEffect(function () {
88
- var unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', function (e) {
71
+ _react.default.useEffect(() => {
72
+ const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', e => {
89
73
  e.persist();
90
74
  handlerMouseMoveRoot(e);
91
75
  });
92
- var unsubscribeMouseLeaveRoot = eventEmitter.subscribe('onMouseLeaveChart', handlerMouseLeaveRoot);
93
- return function () {
76
+ const unsubscribeMouseLeaveRoot = eventEmitter.subscribe('onMouseLeaveChart', handlerMouseLeaveRoot);
77
+ return () => {
94
78
  unsubscribeMouseMoveRoot();
95
79
  unsubscribeMouseLeaveRoot();
96
80
  };
97
81
  }, [eventEmitter, scale, data, x, y]);
98
- var _getPatternSymbolSize = (0, _Pattern.getPatternSymbolSize)({
99
- patternKey: patternKey,
100
- patterns: patterns
101
- }),
102
- _getPatternSymbolSize2 = (0, _slicedToArray2["default"])(_getPatternSymbolSize, 2),
103
- width = _getPatternSymbolSize2[0],
104
- height = _getPatternSymbolSize2[1];
105
- var dots = data.reduce(function (acc, d, i) {
106
- var isPrev = d3.defined()(data[i - 1] || {});
107
- var isNext = d3.defined()(data[i + 1] || {});
108
- var active = i === activeIndex;
109
- var visible = typeof display === 'function' ? display(i, i === activeIndex, !isPrev && !isNext) : display || i === activeIndex || !isPrev && !isNext;
110
- var radius = radiusBase * (active ? 5 / 4 : 1);
82
+ const [width, height] = (0, _Pattern.getPatternSymbolSize)({
83
+ patternKey,
84
+ patterns
85
+ });
86
+ const dots = data.reduce((acc, d, i) => {
87
+ const isPrev = d3.defined()(data[i - 1] || {});
88
+ const isNext = d3.defined()(data[i + 1] || {});
89
+ const active = i === activeIndex;
90
+ const visible = typeof display === 'function' ? display(i, i === activeIndex, !isPrev && !isNext) : display || i === activeIndex || !isPrev && !isNext;
91
+ const radius = radiusBase * (active ? 5 / 4 : 1);
111
92
  if (!d3.defined()(d)) return acc;
112
93
  if (!visible) return acc;
113
94
  if (!patterns) {
114
95
  var _ref;
115
- acc.push((_ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDot, _ref.cn("SDot", {
96
+ acc.push((_ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SDot, _ref.cn("SDot", {
116
97
  "render": 'circle',
117
98
  "color": resolveColor(color),
118
99
  "patternKey": patternKey,
119
100
  "patterns": patterns,
120
- "key": "".concat(i),
101
+ "key": `${i}`,
121
102
  "value": d,
122
103
  "visible": visible,
123
104
  "active": active,
@@ -130,10 +111,10 @@ function Dots(props) {
130
111
  }))));
131
112
  } else {
132
113
  var _ref2;
133
- acc.push((_ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDot, _ref2.cn("SDot", {
114
+ acc.push((_ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SDot, _ref2.cn("SDot", {
134
115
  "key": i,
135
116
  "render": 'use',
136
- "href": "#".concat(svgPatternId),
117
+ "href": `#${svgPatternId}`,
137
118
  "x": width + (d3.x()(d) - width / 2),
138
119
  "y": d3.y()(d) - height / 2,
139
120
  "value": d,
@@ -147,11 +128,11 @@ function Dots(props) {
147
128
  }
148
129
  return acc;
149
130
  }, []);
150
- var SDots = 'g';
151
- return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDots, _ref3.cn("SDots", {
152
- "duration": "".concat(duration, "ms"),
131
+ const SDots = 'g';
132
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SDots, _ref3.cn("SDots", {
133
+ "duration": `${duration}ms`,
153
134
  "onClickCapture": handlerOnClick
154
- }), /*#__PURE__*/_react["default"].createElement(_Pattern.PatternSymbol, _ref3.cn("PatternSymbol", {
135
+ }), /*#__PURE__*/_react.default.createElement(_Pattern.PatternSymbol, _ref3.cn("PatternSymbol", {
155
136
  "color": resolveColor(color),
156
137
  "patternKey": color,
157
138
  "id": svgPatternId,
@@ -160,5 +141,5 @@ function Dots(props) {
160
141
  })), dots);
161
142
  }
162
143
  Dots.style = style;
163
- var _default = exports["default"] = (0, _createElement["default"])(Dots);
144
+ var _default = exports.default = (0, _createElement.default)(Dots);
164
145
  //# sourceMappingURL=Dots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dots.js","names":["_core","require","_rafTrottle","_interopRequireDefault","_d3Array","_react","_createElement","_Pattern","_utils","style","sstyled","insert","Dots","props","_ref3","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","radiusBase","resolveColor","patterns","onClick","bisect","bisector","d","center","_React$useState","React","useState","_React$useState2","_slicedToArray2","activeIndex","setActiveIndex","patternKey","getChartDefaultColorName","svgPatternId","concat","data","useMemo","filter","item","interpolateValue","handlerMouseMoveRoot","useCallback","trottle","e","_scale","xScale","_eventToPoint","eventToPoint","current","_eventToPoint2","pX","vX","invert","handlerMouseLeaveRoot","handlerOnClick","stopPropagation","_scale2","_eventToPoint3","_eventToPoint4","index","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","width","height","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","_ref","push","createElement","cn","_ref2","SDots","PatternSymbol","_default","exports"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { sstyled } from '@semcore/core';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport { bisector } from 'd3-array';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/dot.shadow.css';\nimport { eventToPoint, invert, interpolateValue, getChartDefaultColorName } from './utils';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius: radiusBase = 4,\n resolveColor,\n patterns,\n onClick,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const patternKey = color || getChartDefaultColorName(0);\n const svgPatternId = `template_${patternKey}`;\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n const handlerOnClick = React.useCallback((e) => {\n e.stopPropagation();\n\n if (!onClick) return;\n\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const index = bisect(data, vX);\n\n onClick(index, e);\n }, [scale, data, onClick]);\n\n React.useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible =\n typeof display === 'function'\n ? display(i, i === activeIndex, !isPrev && !isNext)\n : display || i === activeIndex || (!isPrev && !isNext);\n const radius = radiusBase * (active ? 5 / 4 : 1);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n\n if (!patterns) {\n acc.push(\n sstyled(styles)(\n <SDot\n render='circle'\n color={resolveColor(color)}\n patternKey={patternKey}\n patterns={patterns}\n key={`${i}`}\n value={d}\n visible={visible}\n active={active}\n hide={hide}\n transparent={transparent}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n r={radius}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n } else {\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render='use'\n href={`#${svgPatternId}`}\n x={width + (d3.x()(d) - width / 2)}\n y={d3.y()(d) - height / 2}\n value={d}\n transparent={transparent}\n radius={radius}\n visible={visible}\n active={active}\n hide={hide}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n }\n return acc;\n }, []);\n const SDots = 'g';\n return sstyled(styles)(\n <SDots duration={`${duration}ms`} onClickCapture={handlerOnClick}>\n <PatternSymbol\n color={resolveColor(color)}\n patternKey={color}\n id={svgPatternId}\n patterns={patterns}\n x={-1 * width}\n />\n {dots}\n </SDots>,\n );\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Dots.js","names":["_core","require","_rafTrottle","_interopRequireDefault","_d3Array","_react","_createElement","_Pattern","_utils","style","sstyled","insert","Dots","props","_ref3","Element","SDot","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","transparent","radius","radiusBase","resolveColor","patterns","onClick","bisect","bisector","d","center","activeIndex","setActiveIndex","React","useState","patternKey","getChartDefaultColorName","svgPatternId","data","useMemo","filter","item","interpolateValue","handlerMouseMoveRoot","useCallback","trottle","e","xScale","pX","eventToPoint","current","vX","invert","handlerMouseLeaveRoot","handlerOnClick","stopPropagation","index","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","width","height","getPatternSymbolSize","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","_ref","push","default","createElement","cn","_ref2","SDots","PatternSymbol","_default","exports"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { sstyled } from '@semcore/core';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport { bisector } from 'd3-array';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/dot.shadow.css';\nimport { eventToPoint, invert, interpolateValue, getChartDefaultColorName } from './utils';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius: radiusBase = 4,\n resolveColor,\n patterns,\n onClick,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const patternKey = color || getChartDefaultColorName(0);\n const svgPatternId = `template_${patternKey}`;\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n const handlerOnClick = React.useCallback((e) => {\n e.stopPropagation();\n\n if (!onClick) return;\n\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const index = bisect(data, vX);\n\n onClick(index, e);\n }, [scale, data, onClick]);\n\n React.useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible =\n typeof display === 'function'\n ? display(i, i === activeIndex, !isPrev && !isNext)\n : display || i === activeIndex || (!isPrev && !isNext);\n const radius = radiusBase * (active ? 5 / 4 : 1);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n\n if (!patterns) {\n acc.push(\n sstyled(styles)(\n <SDot\n render='circle'\n color={resolveColor(color)}\n patternKey={patternKey}\n patterns={patterns}\n key={`${i}`}\n value={d}\n visible={visible}\n active={active}\n hide={hide}\n transparent={transparent}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n r={radius}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n } else {\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render='use'\n href={`#${svgPatternId}`}\n x={width + (d3.x()(d) - width / 2)}\n y={d3.y()(d) - height / 2}\n value={d}\n transparent={transparent}\n radius={radius}\n visible={visible}\n active={active}\n hide={hide}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n }\n return acc;\n }, []);\n const SDots = 'g';\n return sstyled(styles)(\n <SDots duration={`${duration}ms`} onClickCapture={handlerOnClick}>\n <PatternSymbol\n color={resolveColor(color)}\n patternKey={color}\n id={svgPatternId}\n patterns={patterns}\n x={-1 * width}\n />\n {dots}\n </SDots>,\n );\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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","ignoreList":[]}