@weng-lab/visualization 2.6.0-beta.1 → 2.7.0-beta.0

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 (1360) hide show
  1. package/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
  2. package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts +19 -5
  3. package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts.map +1 -1
  4. package/dist/src/components/Heatmap/HeatmapGrid.d.ts +36 -0
  5. package/dist/src/components/Heatmap/HeatmapGrid.d.ts.map +1 -0
  6. package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMap.d.ts → HeatmapMiniMap.d.ts} +1 -1
  7. package/dist/src/components/Heatmap/HeatmapMiniMap.d.ts.map +1 -0
  8. package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMapPopup.d.ts → HeatmapMiniMapPopup.d.ts} +1 -1
  9. package/dist/src/components/Heatmap/HeatmapMiniMapPopup.d.ts.map +1 -0
  10. package/dist/src/components/Heatmap/heatmapAxisProps.d.ts +2 -15
  11. package/dist/src/components/Heatmap/heatmapAxisProps.d.ts.map +1 -1
  12. package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts +2 -2
  13. package/dist/src/components/Heatmap/heatmapExport.d.ts +20 -0
  14. package/dist/src/components/Heatmap/heatmapExport.d.ts.map +1 -0
  15. package/dist/src/components/Heatmap/heatmapLayout.d.ts +4 -18
  16. package/dist/src/components/Heatmap/heatmapLayout.d.ts.map +1 -1
  17. package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts +4 -3
  18. package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts.map +1 -1
  19. package/dist/src/components/Heatmap/types.d.ts +13 -5
  20. package/dist/src/components/Heatmap/types.d.ts.map +1 -1
  21. package/dist/src/components/Legend/ChipLegend/ChipLegend.d.ts +40 -0
  22. package/dist/src/components/Legend/ChipLegend/ChipLegend.d.ts.map +1 -0
  23. package/dist/src/components/Legend/ChipLegend/ShapeGlyph.d.ts +12 -0
  24. package/dist/src/components/Legend/ChipLegend/ShapeGlyph.d.ts.map +1 -0
  25. package/dist/src/components/Legend/ColorRange/ColorRangeButton.d.ts +34 -0
  26. package/dist/src/components/Legend/ColorRange/ColorRangeButton.d.ts.map +1 -0
  27. package/dist/src/components/Legend/ColorRange/ColorRangeEditor.d.ts +28 -0
  28. package/dist/src/components/Legend/ColorRange/ColorRangeEditor.d.ts.map +1 -0
  29. package/dist/src/components/Legend/ColorRange/SteadyText.d.ts +15 -0
  30. package/dist/src/components/Legend/ColorRange/SteadyText.d.ts.map +1 -0
  31. package/dist/src/components/Legend/Colorbar/Colorbar.d.ts +53 -0
  32. package/dist/src/components/Legend/Colorbar/Colorbar.d.ts.map +1 -0
  33. package/dist/src/components/Legend/Colorbar/ColorbarEnd.d.ts +26 -0
  34. package/dist/src/components/Legend/Colorbar/ColorbarEnd.d.ts.map +1 -0
  35. package/dist/src/components/Legend/Colorbar/ColorbarGraphic.d.ts +34 -0
  36. package/dist/src/components/Legend/Colorbar/ColorbarGraphic.d.ts.map +1 -0
  37. package/dist/src/components/Legend/Colorbar/ColorbarLegend.d.ts +35 -0
  38. package/dist/src/components/Legend/Colorbar/ColorbarLegend.d.ts.map +1 -0
  39. package/dist/src/components/Legend/Colorbar/colorbarLabels.d.ts +37 -0
  40. package/dist/src/components/Legend/Colorbar/colorbarLabels.d.ts.map +1 -0
  41. package/dist/src/components/Legend/Colorbar/useSweep.d.ts +7 -0
  42. package/dist/src/components/Legend/Colorbar/useSweep.d.ts.map +1 -0
  43. package/dist/src/components/Legend/Swatch.d.ts +7 -0
  44. package/dist/src/components/Legend/Swatch.d.ts.map +1 -0
  45. package/dist/src/components/Legend/colorbarAxis.d.ts +105 -0
  46. package/dist/src/components/Legend/colorbarAxis.d.ts.map +1 -0
  47. package/dist/src/components/Legend/colorbarGeometry.d.ts +43 -0
  48. package/dist/src/components/Legend/colorbarGeometry.d.ts.map +1 -0
  49. package/dist/src/components/Legend/index.d.ts +17 -0
  50. package/dist/src/components/Legend/index.d.ts.map +1 -0
  51. package/dist/src/components/ScatterPlot/AnimatedPoints.d.ts +3 -2
  52. package/dist/src/components/ScatterPlot/AnimatedPoints.d.ts.map +1 -1
  53. package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts +7 -4
  54. package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
  55. package/dist/src/components/ScatterPlot/helpers.d.ts +6 -2
  56. package/dist/src/components/ScatterPlot/helpers.d.ts.map +1 -1
  57. package/dist/src/components/ScatterPlot/hooks/useHoverTooltip.d.ts.map +1 -1
  58. package/dist/src/components/ScatterPlot/hooks/useHoveredPointKeys.d.ts +17 -0
  59. package/dist/src/components/ScatterPlot/hooks/useHoveredPointKeys.d.ts.map +1 -0
  60. package/dist/src/components/ScatterPlot/index.d.ts +1 -1
  61. package/dist/src/components/ScatterPlot/index.d.ts.map +1 -1
  62. package/dist/src/components/ScatterPlot/minimap.d.ts +1 -1
  63. package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -1
  64. package/dist/src/components/ScatterPlot/scatterplot.d.ts.map +1 -1
  65. package/dist/src/components/ScatterPlot/types.d.ts +33 -0
  66. package/dist/src/components/ScatterPlot/types.d.ts.map +1 -1
  67. package/dist/src/index.d.ts +2 -1
  68. package/dist/src/index.d.ts.map +1 -1
  69. package/dist/src/utility.d.ts +34 -20
  70. package/dist/src/utility.d.ts.map +1 -1
  71. package/dist/visualization.es.js +49 -30
  72. package/dist/visualization.es.js.map +1 -1
  73. package/dist/visualization.es10.js +168 -59
  74. package/dist/visualization.es10.js.map +1 -1
  75. package/dist/visualization.es100.js +46 -44
  76. package/dist/visualization.es100.js.map +1 -1
  77. package/dist/visualization.es101.js +4 -76
  78. package/dist/visualization.es101.js.map +1 -1
  79. package/dist/visualization.es102.js +281 -24
  80. package/dist/visualization.es102.js.map +1 -1
  81. package/dist/visualization.es103.js +19 -85
  82. package/dist/visualization.es103.js.map +1 -1
  83. package/dist/visualization.es104.js +66 -32
  84. package/dist/visualization.es104.js.map +1 -1
  85. package/dist/visualization.es105.js +11 -221
  86. package/dist/visualization.es105.js.map +1 -1
  87. package/dist/visualization.es106.js +26 -2
  88. package/dist/visualization.es106.js.map +1 -1
  89. package/dist/visualization.es107.js +69 -556
  90. package/dist/visualization.es107.js.map +1 -1
  91. package/dist/visualization.es108.js +5 -214
  92. package/dist/visualization.es108.js.map +1 -1
  93. package/dist/visualization.es109.js +5 -2
  94. package/dist/visualization.es109.js.map +1 -1
  95. package/dist/visualization.es11.js +140 -120
  96. package/dist/visualization.es11.js.map +1 -1
  97. package/dist/visualization.es110.js +5 -4800
  98. package/dist/visualization.es110.js.map +1 -1
  99. package/dist/visualization.es111.js +222 -25
  100. package/dist/visualization.es111.js.map +1 -1
  101. package/dist/visualization.es112.js +2 -45
  102. package/dist/visualization.es112.js.map +1 -1
  103. package/dist/visualization.es113.js +557 -144
  104. package/dist/visualization.es113.js.map +1 -1
  105. package/dist/visualization.es114.js +213 -146
  106. package/dist/visualization.es114.js.map +1 -1
  107. package/dist/visualization.es115.js +2 -58
  108. package/dist/visualization.es115.js.map +1 -1
  109. package/dist/visualization.es116.js +4799 -31
  110. package/dist/visualization.es116.js.map +1 -1
  111. package/dist/visualization.es117.js +24 -17
  112. package/dist/visualization.es117.js.map +1 -1
  113. package/dist/visualization.es118.js +45 -14
  114. package/dist/visualization.es118.js.map +1 -1
  115. package/dist/visualization.es119.js +144 -26
  116. package/dist/visualization.es119.js.map +1 -1
  117. package/dist/visualization.es12.js +27 -2
  118. package/dist/visualization.es12.js.map +1 -1
  119. package/dist/visualization.es120.js +146 -14
  120. package/dist/visualization.es120.js.map +1 -1
  121. package/dist/visualization.es121.js +10 -10
  122. package/dist/visualization.es121.js.map +1 -1
  123. package/dist/visualization.es122.js +15 -26
  124. package/dist/visualization.es122.js.map +1 -1
  125. package/dist/visualization.es123.js +33 -70
  126. package/dist/visualization.es123.js.map +1 -1
  127. package/dist/visualization.es124.js +43 -53
  128. package/dist/visualization.es124.js.map +1 -1
  129. package/dist/visualization.es125.js +76 -24
  130. package/dist/visualization.es125.js.map +1 -1
  131. package/dist/visualization.es126.js +24 -83
  132. package/dist/visualization.es126.js.map +1 -1
  133. package/dist/visualization.es127.js +83 -221
  134. package/dist/visualization.es127.js.map +1 -1
  135. package/dist/visualization.es128.js +36 -18
  136. package/dist/visualization.es128.js.map +1 -1
  137. package/dist/visualization.es129.js +53 -101
  138. package/dist/visualization.es129.js.map +1 -1
  139. package/dist/visualization.es13.js +58 -79
  140. package/dist/visualization.es13.js.map +1 -1
  141. package/dist/visualization.es130.js +24 -175
  142. package/dist/visualization.es130.js.map +1 -1
  143. package/dist/visualization.es131.js +79 -77
  144. package/dist/visualization.es131.js.map +1 -1
  145. package/dist/visualization.es132.js +244 -36
  146. package/dist/visualization.es132.js.map +1 -1
  147. package/dist/visualization.es133.js +18 -56
  148. package/dist/visualization.es133.js.map +1 -1
  149. package/dist/visualization.es134.js +142 -47
  150. package/dist/visualization.es134.js.map +1 -1
  151. package/dist/visualization.es135.js +175 -2
  152. package/dist/visualization.es135.js.map +1 -1
  153. package/dist/visualization.es136.js +101 -1604
  154. package/dist/visualization.es136.js.map +1 -1
  155. package/dist/visualization.es137.js +36 -17
  156. package/dist/visualization.es137.js.map +1 -1
  157. package/dist/visualization.es138.js +12 -84
  158. package/dist/visualization.es138.js.map +1 -1
  159. package/dist/visualization.es139.js +74 -5
  160. package/dist/visualization.es139.js.map +1 -1
  161. package/dist/visualization.es14.js +123 -100
  162. package/dist/visualization.es14.js.map +1 -1
  163. package/dist/visualization.es140.js +31 -88
  164. package/dist/visualization.es140.js.map +1 -1
  165. package/dist/visualization.es141.js +11 -11
  166. package/dist/visualization.es141.js.map +1 -1
  167. package/dist/visualization.es142.js +58 -6
  168. package/dist/visualization.es142.js.map +1 -1
  169. package/dist/visualization.es143.js +32 -15
  170. package/dist/visualization.es143.js.map +1 -1
  171. package/dist/visualization.es144.js +18 -7
  172. package/dist/visualization.es144.js.map +1 -1
  173. package/dist/visualization.es145.js +14 -14
  174. package/dist/visualization.es145.js.map +1 -1
  175. package/dist/visualization.es146.js +26 -5
  176. package/dist/visualization.es146.js.map +1 -1
  177. package/dist/visualization.es147.js +18 -8
  178. package/dist/visualization.es147.js.map +1 -1
  179. package/dist/visualization.es148.js +2 -61
  180. package/dist/visualization.es148.js.map +1 -1
  181. package/dist/visualization.es149.js +1604 -37
  182. package/dist/visualization.es149.js.map +1 -1
  183. package/dist/visualization.es15.js +145 -15
  184. package/dist/visualization.es15.js.map +1 -1
  185. package/dist/visualization.es150.js +17 -36
  186. package/dist/visualization.es150.js.map +1 -1
  187. package/dist/visualization.es151.js +5 -84
  188. package/dist/visualization.es151.js.map +1 -1
  189. package/dist/visualization.es152.js +17 -27
  190. package/dist/visualization.es152.js.map +1 -1
  191. package/dist/visualization.es153.js +3 -3
  192. package/dist/visualization.es153.js.map +1 -1
  193. package/dist/visualization.es154.js +35 -71
  194. package/dist/visualization.es154.js.map +1 -1
  195. package/dist/visualization.es155.js +8 -17
  196. package/dist/visualization.es155.js.map +1 -1
  197. package/dist/visualization.es156.js +15 -11
  198. package/dist/visualization.es156.js.map +1 -1
  199. package/dist/visualization.es157.js +11 -5
  200. package/dist/visualization.es157.js.map +1 -1
  201. package/dist/visualization.es158.js +6 -8
  202. package/dist/visualization.es158.js.map +1 -1
  203. package/dist/visualization.es159.js +11 -15
  204. package/dist/visualization.es159.js.map +1 -1
  205. package/dist/visualization.es16.js +2 -270
  206. package/dist/visualization.es16.js.map +1 -1
  207. package/dist/visualization.es160.js +4 -11
  208. package/dist/visualization.es160.js.map +1 -1
  209. package/dist/visualization.es161.js +2 -6
  210. package/dist/visualization.es161.js.map +1 -1
  211. package/dist/visualization.es162.js +11 -12
  212. package/dist/visualization.es162.js.map +1 -1
  213. package/dist/visualization.es163.js +30 -3
  214. package/dist/visualization.es163.js.map +1 -1
  215. package/dist/visualization.es164.js +43 -2
  216. package/dist/visualization.es164.js.map +1 -1
  217. package/dist/visualization.es165.js +48 -9
  218. package/dist/visualization.es165.js.map +1 -1
  219. package/dist/visualization.es166.js +3 -31
  220. package/dist/visualization.es166.js.map +1 -1
  221. package/dist/visualization.es167.js +3 -43
  222. package/dist/visualization.es167.js.map +1 -1
  223. package/dist/visualization.es168.js +5 -49
  224. package/dist/visualization.es168.js.map +1 -1
  225. package/dist/visualization.es169.js +5 -3
  226. package/dist/visualization.es169.js.map +1 -1
  227. package/dist/visualization.es17.js +79 -9
  228. package/dist/visualization.es17.js.map +1 -1
  229. package/dist/visualization.es170.js +11 -3
  230. package/dist/visualization.es170.js.map +1 -1
  231. package/dist/visualization.es171.js +3 -5
  232. package/dist/visualization.es171.js.map +1 -1
  233. package/dist/visualization.es172.js +17 -4
  234. package/dist/visualization.es172.js.map +1 -1
  235. package/dist/visualization.es173.js +17 -9
  236. package/dist/visualization.es173.js.map +1 -1
  237. package/dist/visualization.es174.js +36 -3
  238. package/dist/visualization.es174.js.map +1 -1
  239. package/dist/visualization.es175.js +2 -18
  240. package/dist/visualization.es175.js.map +1 -1
  241. package/dist/visualization.es176.js +2 -19
  242. package/dist/visualization.es176.js.map +1 -1
  243. package/dist/visualization.es177.js +4 -37
  244. package/dist/visualization.es177.js.map +1 -1
  245. package/dist/visualization.es178.js +15 -2
  246. package/dist/visualization.es178.js.map +1 -1
  247. package/dist/visualization.es179.js +3 -2
  248. package/dist/visualization.es179.js.map +1 -1
  249. package/dist/visualization.es18.js +103 -96
  250. package/dist/visualization.es18.js.map +1 -1
  251. package/dist/visualization.es180.js +7 -4
  252. package/dist/visualization.es180.js.map +1 -1
  253. package/dist/visualization.es181.js +3 -15
  254. package/dist/visualization.es181.js.map +1 -1
  255. package/dist/visualization.es182.js +7 -3
  256. package/dist/visualization.es182.js.map +1 -1
  257. package/dist/visualization.es183.js +4 -7
  258. package/dist/visualization.es183.js.map +1 -1
  259. package/dist/visualization.es184.js +61 -3
  260. package/dist/visualization.es184.js.map +1 -1
  261. package/dist/visualization.es185.js +38 -6
  262. package/dist/visualization.es185.js.map +1 -1
  263. package/dist/visualization.es186.js +36 -3
  264. package/dist/visualization.es186.js.map +1 -1
  265. package/dist/visualization.es187.js +79 -59
  266. package/dist/visualization.es187.js.map +1 -1
  267. package/dist/visualization.es188.js +29 -7
  268. package/dist/visualization.es188.js.map +1 -1
  269. package/dist/visualization.es189.js +7 -42
  270. package/dist/visualization.es189.js.map +1 -1
  271. package/dist/visualization.es19.js +17 -28
  272. package/dist/visualization.es19.js.map +1 -1
  273. package/dist/visualization.es190.js +4 -9
  274. package/dist/visualization.es190.js.map +1 -1
  275. package/dist/visualization.es191.js +3 -6
  276. package/dist/visualization.es191.js.map +1 -1
  277. package/dist/visualization.es192.js +84 -7
  278. package/dist/visualization.es192.js.map +1 -1
  279. package/dist/visualization.es193.js +89 -9
  280. package/dist/visualization.es193.js.map +1 -1
  281. package/dist/visualization.es194.js +12 -6
  282. package/dist/visualization.es194.js.map +1 -1
  283. package/dist/visualization.es195.js +5 -6
  284. package/dist/visualization.es195.js.map +1 -1
  285. package/dist/visualization.es196.js +13 -4
  286. package/dist/visualization.es196.js.map +1 -1
  287. package/dist/visualization.es197.js +7 -15
  288. package/dist/visualization.es197.js.map +1 -1
  289. package/dist/visualization.es198.js +13 -5
  290. package/dist/visualization.es198.js.map +1 -1
  291. package/dist/visualization.es199.js +74 -3
  292. package/dist/visualization.es199.js.map +1 -1
  293. package/dist/visualization.es2.js +10 -10
  294. package/dist/visualization.es20.js +270 -15
  295. package/dist/visualization.es20.js.map +1 -1
  296. package/dist/visualization.es200.js +2 -7
  297. package/dist/visualization.es200.js.map +1 -1
  298. package/dist/visualization.es201.js +482 -6
  299. package/dist/visualization.es201.js.map +1 -1
  300. package/dist/visualization.es202.js +2 -10
  301. package/dist/visualization.es202.js.map +1 -1
  302. package/dist/visualization.es203.js +1 -1
  303. package/dist/visualization.es209.js +2 -2
  304. package/dist/visualization.es21.js +147 -63
  305. package/dist/visualization.es21.js.map +1 -1
  306. package/dist/visualization.es217.js +1 -1
  307. package/dist/visualization.es22.js +9 -65
  308. package/dist/visualization.es22.js.map +1 -1
  309. package/dist/visualization.es220.js +5 -5
  310. package/dist/visualization.es221.js +71 -3
  311. package/dist/visualization.es221.js.map +1 -1
  312. package/dist/visualization.es222.js +16 -5
  313. package/dist/visualization.es222.js.map +1 -1
  314. package/dist/visualization.es223.js +11 -33
  315. package/dist/visualization.es223.js.map +1 -1
  316. package/dist/visualization.es224.js +5 -16
  317. package/dist/visualization.es224.js.map +1 -1
  318. package/dist/visualization.es225.js +62 -6
  319. package/dist/visualization.es225.js.map +1 -1
  320. package/dist/visualization.es226.js +7 -12
  321. package/dist/visualization.es226.js.map +1 -1
  322. package/dist/visualization.es227.js +41 -31
  323. package/dist/visualization.es227.js.map +1 -1
  324. package/dist/visualization.es228.js +70 -112
  325. package/dist/visualization.es228.js.map +1 -1
  326. package/dist/visualization.es229.js +20 -16
  327. package/dist/visualization.es229.js.map +1 -1
  328. package/dist/visualization.es23.js +99 -111
  329. package/dist/visualization.es23.js.map +1 -1
  330. package/dist/visualization.es230.js +22 -3
  331. package/dist/visualization.es230.js.map +1 -1
  332. package/dist/visualization.es231.js +39 -34
  333. package/dist/visualization.es231.js.map +1 -1
  334. package/dist/visualization.es232.js +7 -19
  335. package/dist/visualization.es232.js.map +1 -1
  336. package/dist/visualization.es233.js +12 -27
  337. package/dist/visualization.es233.js.map +1 -1
  338. package/dist/visualization.es234.js +14 -69
  339. package/dist/visualization.es234.js.map +1 -1
  340. package/dist/visualization.es235.js +35 -21
  341. package/dist/visualization.es235.js.map +1 -1
  342. package/dist/visualization.es236.js +22 -20
  343. package/dist/visualization.es236.js.map +1 -1
  344. package/dist/visualization.es237.js +24 -37
  345. package/dist/visualization.es237.js.map +1 -1
  346. package/dist/visualization.es238.js +8 -6
  347. package/dist/visualization.es238.js.map +1 -1
  348. package/dist/visualization.es239.js +6 -12
  349. package/dist/visualization.es239.js.map +1 -1
  350. package/dist/visualization.es24.js +77 -146
  351. package/dist/visualization.es24.js.map +1 -1
  352. package/dist/visualization.es240.js +6 -16
  353. package/dist/visualization.es240.js.map +1 -1
  354. package/dist/visualization.es241.js +9 -36
  355. package/dist/visualization.es241.js.map +1 -1
  356. package/dist/visualization.es242.js +6 -24
  357. package/dist/visualization.es242.js.map +1 -1
  358. package/dist/visualization.es243.js +5 -26
  359. package/dist/visualization.es243.js.map +1 -1
  360. package/dist/visualization.es244.js +5 -74
  361. package/dist/visualization.es244.js.map +1 -1
  362. package/dist/visualization.es245.js +15 -2
  363. package/dist/visualization.es245.js.map +1 -1
  364. package/dist/visualization.es246.js +5 -482
  365. package/dist/visualization.es246.js.map +1 -1
  366. package/dist/visualization.es247.js +4 -2
  367. package/dist/visualization.es247.js.map +1 -1
  368. package/dist/visualization.es248.js +6 -123
  369. package/dist/visualization.es248.js.map +1 -1
  370. package/dist/visualization.es249.js +6 -63
  371. package/dist/visualization.es249.js.map +1 -1
  372. package/dist/visualization.es25.js +28 -7
  373. package/dist/visualization.es25.js.map +1 -1
  374. package/dist/visualization.es250.js +9 -60
  375. package/dist/visualization.es250.js.map +1 -1
  376. package/dist/visualization.es251.js +33 -2
  377. package/dist/visualization.es251.js.map +1 -1
  378. package/dist/visualization.es252.js +114 -34
  379. package/dist/visualization.es252.js.map +1 -1
  380. package/dist/visualization.es253.js +4 -2
  381. package/dist/visualization.es253.js.map +1 -1
  382. package/dist/visualization.es254.js +4 -22
  383. package/dist/visualization.es254.js.map +1 -1
  384. package/dist/visualization.es255.js +33 -53
  385. package/dist/visualization.es255.js.map +1 -1
  386. package/dist/visualization.es256.js +15 -20
  387. package/dist/visualization.es256.js.map +1 -1
  388. package/dist/visualization.es257.js +7 -3
  389. package/dist/visualization.es257.js.map +1 -1
  390. package/dist/visualization.es258.js +11 -3
  391. package/dist/visualization.es258.js.map +1 -1
  392. package/dist/visualization.es259.js +19 -3
  393. package/dist/visualization.es259.js.map +1 -1
  394. package/dist/visualization.es26.js +14 -7
  395. package/dist/visualization.es26.js.map +1 -1
  396. package/dist/visualization.es260.js +27 -3
  397. package/dist/visualization.es260.js.map +1 -1
  398. package/dist/visualization.es261.js +123 -3
  399. package/dist/visualization.es261.js.map +1 -1
  400. package/dist/visualization.es262.js +2 -4
  401. package/dist/visualization.es262.js.map +1 -1
  402. package/dist/visualization.es263.js +34 -3
  403. package/dist/visualization.es263.js.map +1 -1
  404. package/dist/visualization.es264.js +2 -8
  405. package/dist/visualization.es264.js.map +1 -1
  406. package/dist/visualization.es265.js +9 -48
  407. package/dist/visualization.es265.js.map +1 -1
  408. package/dist/visualization.es266.js +9 -3
  409. package/dist/visualization.es266.js.map +1 -1
  410. package/dist/visualization.es267.js +6 -6
  411. package/dist/visualization.es267.js.map +1 -1
  412. package/dist/visualization.es268.js +8 -4
  413. package/dist/visualization.es268.js.map +1 -1
  414. package/dist/visualization.es269.js +6 -3
  415. package/dist/visualization.es269.js.map +1 -1
  416. package/dist/visualization.es27.js +62 -46
  417. package/dist/visualization.es27.js.map +1 -1
  418. package/dist/visualization.es270.js +5 -6
  419. package/dist/visualization.es270.js.map +1 -1
  420. package/dist/visualization.es271.js +14 -4
  421. package/dist/visualization.es271.js.map +1 -1
  422. package/dist/visualization.es272.js +6 -3
  423. package/dist/visualization.es272.js.map +1 -1
  424. package/dist/visualization.es273.js +6 -11
  425. package/dist/visualization.es273.js.map +1 -1
  426. package/dist/visualization.es274.js +6 -36
  427. package/dist/visualization.es274.js.map +1 -1
  428. package/dist/visualization.es275.js +6 -260
  429. package/dist/visualization.es275.js.map +1 -1
  430. package/dist/visualization.es276.js +3 -59
  431. package/dist/visualization.es276.js.map +1 -1
  432. package/dist/visualization.es277.js +4 -5
  433. package/dist/visualization.es277.js.map +1 -1
  434. package/dist/visualization.es278.js +9 -53
  435. package/dist/visualization.es278.js.map +1 -1
  436. package/dist/visualization.es279.js +3 -32
  437. package/dist/visualization.es279.js.map +1 -1
  438. package/dist/visualization.es28.js +18700 -19
  439. package/dist/visualization.es28.js.map +1 -1
  440. package/dist/visualization.es280.js +11 -33
  441. package/dist/visualization.es280.js.map +1 -1
  442. package/dist/visualization.es281.js +36 -12
  443. package/dist/visualization.es281.js.map +1 -1
  444. package/dist/visualization.es282.js +258 -5
  445. package/dist/visualization.es282.js.map +1 -1
  446. package/dist/visualization.es283.js +52 -133
  447. package/dist/visualization.es283.js.map +1 -1
  448. package/dist/visualization.es284.js +5 -5
  449. package/dist/visualization.es284.js.map +1 -1
  450. package/dist/visualization.es285.js +7 -21
  451. package/dist/visualization.es285.js.map +1 -1
  452. package/dist/visualization.es286.js +136 -33
  453. package/dist/visualization.es286.js.map +1 -1
  454. package/dist/visualization.es287.js +5 -34
  455. package/dist/visualization.es287.js.map +1 -1
  456. package/dist/visualization.es288.js +22 -15
  457. package/dist/visualization.es288.js.map +1 -1
  458. package/dist/visualization.es289.js +37 -18
  459. package/dist/visualization.es289.js.map +1 -1
  460. package/dist/visualization.es29.js +5 -5
  461. package/dist/visualization.es29.js.map +1 -1
  462. package/dist/visualization.es290.js +34 -8
  463. package/dist/visualization.es290.js.map +1 -1
  464. package/dist/visualization.es291.js +14 -109
  465. package/dist/visualization.es291.js.map +1 -1
  466. package/dist/visualization.es292.js +17 -11
  467. package/dist/visualization.es292.js.map +1 -1
  468. package/dist/visualization.es293.js +8 -141
  469. package/dist/visualization.es293.js.map +1 -1
  470. package/dist/visualization.es294.js +109 -5
  471. package/dist/visualization.es294.js.map +1 -1
  472. package/dist/visualization.es295.js +11 -70
  473. package/dist/visualization.es295.js.map +1 -1
  474. package/dist/visualization.es296.js +135 -29
  475. package/dist/visualization.es296.js.map +1 -1
  476. package/dist/visualization.es297.js +5 -20
  477. package/dist/visualization.es297.js.map +1 -1
  478. package/dist/visualization.es298.js +71 -3
  479. package/dist/visualization.es298.js.map +1 -1
  480. package/dist/visualization.es299.js +30 -19
  481. package/dist/visualization.es299.js.map +1 -1
  482. package/dist/visualization.es3.js +164 -332
  483. package/dist/visualization.es3.js.map +1 -1
  484. package/dist/visualization.es30.js +5 -34
  485. package/dist/visualization.es30.js.map +1 -1
  486. package/dist/visualization.es300.js +19 -29
  487. package/dist/visualization.es300.js.map +1 -1
  488. package/dist/visualization.es301.js +4 -2
  489. package/dist/visualization.es301.js.map +1 -1
  490. package/dist/visualization.es302.js +25 -2
  491. package/dist/visualization.es302.js.map +1 -1
  492. package/dist/visualization.es303.js +30 -5
  493. package/dist/visualization.es303.js.map +1 -1
  494. package/dist/visualization.es304.js +2 -15
  495. package/dist/visualization.es304.js.map +1 -1
  496. package/dist/visualization.es305.js +2 -35
  497. package/dist/visualization.es305.js.map +1 -1
  498. package/dist/visualization.es306.js +5 -27
  499. package/dist/visualization.es306.js.map +1 -1
  500. package/dist/visualization.es307.js +15 -11
  501. package/dist/visualization.es307.js.map +1 -1
  502. package/dist/visualization.es308.js +34 -6
  503. package/dist/visualization.es308.js.map +1 -1
  504. package/dist/visualization.es309.js +27 -13
  505. package/dist/visualization.es309.js.map +1 -1
  506. package/dist/visualization.es31.js +59 -34
  507. package/dist/visualization.es31.js.map +1 -1
  508. package/dist/visualization.es310.js +11 -12
  509. package/dist/visualization.es310.js.map +1 -1
  510. package/dist/visualization.es311.js +7 -2
  511. package/dist/visualization.es311.js.map +1 -1
  512. package/dist/visualization.es312.js +14 -3
  513. package/dist/visualization.es312.js.map +1 -1
  514. package/dist/visualization.es313.js +12 -2
  515. package/dist/visualization.es313.js.map +1 -1
  516. package/dist/visualization.es314.js +2 -104
  517. package/dist/visualization.es314.js.map +1 -1
  518. package/dist/visualization.es315.js +3 -5
  519. package/dist/visualization.es315.js.map +1 -1
  520. package/dist/visualization.es316.js +2 -3
  521. package/dist/visualization.es316.js.map +1 -1
  522. package/dist/visualization.es317.js +103 -18
  523. package/dist/visualization.es317.js.map +1 -1
  524. package/dist/visualization.es318.js +4 -5
  525. package/dist/visualization.es318.js.map +1 -1
  526. package/dist/visualization.es319.js +3 -15
  527. package/dist/visualization.es319.js.map +1 -1
  528. package/dist/visualization.es32.js +808 -65
  529. package/dist/visualization.es32.js.map +1 -1
  530. package/dist/visualization.es320.js +18 -4
  531. package/dist/visualization.es320.js.map +1 -1
  532. package/dist/visualization.es321.js +5 -28
  533. package/dist/visualization.es321.js.map +1 -1
  534. package/dist/visualization.es322.js +14 -6
  535. package/dist/visualization.es322.js.map +1 -1
  536. package/dist/visualization.es323.js +5 -2
  537. package/dist/visualization.es323.js.map +1 -1
  538. package/dist/visualization.es324.js +29 -20
  539. package/dist/visualization.es324.js.map +1 -1
  540. package/dist/visualization.es325.js +7 -21
  541. package/dist/visualization.es325.js.map +1 -1
  542. package/dist/visualization.es326.js +2 -6
  543. package/dist/visualization.es326.js.map +1 -1
  544. package/dist/visualization.es327.js +20 -8
  545. package/dist/visualization.es327.js.map +1 -1
  546. package/dist/visualization.es328.js +21 -19
  547. package/dist/visualization.es328.js.map +1 -1
  548. package/dist/visualization.es329.js +6 -44
  549. package/dist/visualization.es329.js.map +1 -1
  550. package/dist/visualization.es330.js +8 -7
  551. package/dist/visualization.es330.js.map +1 -1
  552. package/dist/visualization.es331.js +18 -19
  553. package/dist/visualization.es331.js.map +1 -1
  554. package/dist/visualization.es332.js +42 -52
  555. package/dist/visualization.es332.js.map +1 -1
  556. package/dist/visualization.es333.js +7 -27
  557. package/dist/visualization.es333.js.map +1 -1
  558. package/dist/visualization.es334.js +20 -11
  559. package/dist/visualization.es334.js.map +1 -1
  560. package/dist/visualization.es335.js +51 -16
  561. package/dist/visualization.es335.js.map +1 -1
  562. package/dist/visualization.es336.js +26 -11
  563. package/dist/visualization.es336.js.map +1 -1
  564. package/dist/visualization.es337.js +11 -5
  565. package/dist/visualization.es337.js.map +1 -1
  566. package/dist/visualization.es338.js +19 -4
  567. package/dist/visualization.es338.js.map +1 -1
  568. package/dist/visualization.es339.js +11 -3
  569. package/dist/visualization.es339.js.map +1 -1
  570. package/dist/visualization.es34.js +128 -138
  571. package/dist/visualization.es34.js.map +1 -1
  572. package/dist/visualization.es340.js +4 -175
  573. package/dist/visualization.es340.js.map +1 -1
  574. package/dist/visualization.es341.js +4 -40
  575. package/dist/visualization.es341.js.map +1 -1
  576. package/dist/visualization.es342.js +3 -5
  577. package/dist/visualization.es342.js.map +1 -1
  578. package/dist/visualization.es343.js +175 -3
  579. package/dist/visualization.es343.js.map +1 -1
  580. package/dist/visualization.es344.js +40 -2
  581. package/dist/visualization.es344.js.map +1 -1
  582. package/dist/visualization.es345.js +6 -30
  583. package/dist/visualization.es345.js.map +1 -1
  584. package/dist/visualization.es346.js +4 -8
  585. package/dist/visualization.es346.js.map +1 -1
  586. package/dist/visualization.es347.js +2 -11
  587. package/dist/visualization.es347.js.map +1 -1
  588. package/dist/visualization.es348.js +30 -4
  589. package/dist/visualization.es348.js.map +1 -1
  590. package/dist/visualization.es349.js +8 -66
  591. package/dist/visualization.es349.js.map +1 -1
  592. package/dist/visualization.es35.js +51 -26
  593. package/dist/visualization.es35.js.map +1 -1
  594. package/dist/visualization.es350.js +11 -7
  595. package/dist/visualization.es350.js.map +1 -1
  596. package/dist/visualization.es351.js +3 -4
  597. package/dist/visualization.es351.js.map +1 -1
  598. package/dist/visualization.es352.js +64 -12
  599. package/dist/visualization.es352.js.map +1 -1
  600. package/dist/visualization.es353.js +7 -35
  601. package/dist/visualization.es353.js.map +1 -1
  602. package/dist/visualization.es354.js +4 -4
  603. package/dist/visualization.es354.js.map +1 -1
  604. package/dist/visualization.es355.js +12 -8
  605. package/dist/visualization.es355.js.map +1 -1
  606. package/dist/visualization.es356.js +35 -2
  607. package/dist/visualization.es356.js.map +1 -1
  608. package/dist/visualization.es357.js +5 -5
  609. package/dist/visualization.es357.js.map +1 -1
  610. package/dist/visualization.es358.js +10 -2
  611. package/dist/visualization.es358.js.map +1 -1
  612. package/dist/visualization.es359.js +2 -10
  613. package/dist/visualization.es359.js.map +1 -1
  614. package/dist/visualization.es36.js +176 -21
  615. package/dist/visualization.es36.js.map +1 -1
  616. package/dist/visualization.es360.js +5 -10
  617. package/dist/visualization.es360.js.map +1 -1
  618. package/dist/visualization.es361.js +2 -13
  619. package/dist/visualization.es361.js.map +1 -1
  620. package/dist/visualization.es362.js +10 -2
  621. package/dist/visualization.es362.js.map +1 -1
  622. package/dist/visualization.es363.js +10 -10
  623. package/dist/visualization.es363.js.map +1 -1
  624. package/dist/visualization.es364.js +13 -8
  625. package/dist/visualization.es364.js.map +1 -1
  626. package/dist/visualization.es365.js +2 -6
  627. package/dist/visualization.es365.js.map +1 -1
  628. package/dist/visualization.es366.js +10 -25
  629. package/dist/visualization.es366.js.map +1 -1
  630. package/dist/visualization.es367.js +8 -19
  631. package/dist/visualization.es367.js.map +1 -1
  632. package/dist/visualization.es368.js +5 -40
  633. package/dist/visualization.es368.js.map +1 -1
  634. package/dist/visualization.es369.js +25 -3
  635. package/dist/visualization.es369.js.map +1 -1
  636. package/dist/visualization.es37.js +54 -17
  637. package/dist/visualization.es37.js.map +1 -1
  638. package/dist/visualization.es370.js +19 -9
  639. package/dist/visualization.es370.js.map +1 -1
  640. package/dist/visualization.es371.js +40 -8
  641. package/dist/visualization.es371.js.map +1 -1
  642. package/dist/visualization.es372.js +3 -36
  643. package/dist/visualization.es372.js.map +1 -1
  644. package/dist/visualization.es373.js +8 -9
  645. package/dist/visualization.es373.js.map +1 -1
  646. package/dist/visualization.es374.js +8 -31
  647. package/dist/visualization.es374.js.map +1 -1
  648. package/dist/visualization.es375.js +35 -4
  649. package/dist/visualization.es375.js.map +1 -1
  650. package/dist/visualization.es376.js +10 -2
  651. package/dist/visualization.es376.js.map +1 -1
  652. package/dist/visualization.es377.js +30 -14
  653. package/dist/visualization.es377.js.map +1 -1
  654. package/dist/visualization.es378.js +4 -24
  655. package/dist/visualization.es378.js.map +1 -1
  656. package/dist/visualization.es379.js +2 -2
  657. package/dist/visualization.es379.js.map +1 -1
  658. package/dist/visualization.es38.js +42 -20
  659. package/dist/visualization.es38.js.map +1 -1
  660. package/dist/visualization.es380.js +14 -61
  661. package/dist/visualization.es380.js.map +1 -1
  662. package/dist/visualization.es381.js +25 -2
  663. package/dist/visualization.es381.js.map +1 -1
  664. package/dist/visualization.es382.js +2 -2
  665. package/dist/visualization.es382.js.map +1 -1
  666. package/dist/visualization.es383.js +62 -5
  667. package/dist/visualization.es383.js.map +1 -1
  668. package/dist/visualization.es384.js +2 -37
  669. package/dist/visualization.es384.js.map +1 -1
  670. package/dist/visualization.es385.js +2 -21
  671. package/dist/visualization.es385.js.map +1 -1
  672. package/dist/visualization.es386.js +5 -3
  673. package/dist/visualization.es386.js.map +1 -1
  674. package/dist/visualization.es387.js +36 -4
  675. package/dist/visualization.es387.js.map +1 -1
  676. package/dist/visualization.es388.js +20 -4
  677. package/dist/visualization.es388.js.map +1 -1
  678. package/dist/visualization.es389.js +3 -48
  679. package/dist/visualization.es389.js.map +1 -1
  680. package/dist/visualization.es39.js +6 -70
  681. package/dist/visualization.es39.js.map +1 -1
  682. package/dist/visualization.es390.js +4 -26
  683. package/dist/visualization.es390.js.map +1 -1
  684. package/dist/visualization.es391.js +4 -16
  685. package/dist/visualization.es391.js.map +1 -1
  686. package/dist/visualization.es392.js +48 -9
  687. package/dist/visualization.es392.js.map +1 -1
  688. package/dist/visualization.es393.js +26 -19
  689. package/dist/visualization.es393.js.map +1 -1
  690. package/dist/visualization.es394.js +16 -13
  691. package/dist/visualization.es394.js.map +1 -1
  692. package/dist/visualization.es395.js +10 -4
  693. package/dist/visualization.es395.js.map +1 -1
  694. package/dist/visualization.es396.js +19 -12
  695. package/dist/visualization.es396.js.map +1 -1
  696. package/dist/visualization.es397.js +13 -48
  697. package/dist/visualization.es397.js.map +1 -1
  698. package/dist/visualization.es398.js +3 -5
  699. package/dist/visualization.es398.js.map +1 -1
  700. package/dist/visualization.es399.js +12 -12
  701. package/dist/visualization.es399.js.map +1 -1
  702. package/dist/visualization.es4.js +87 -300
  703. package/dist/visualization.es4.js.map +1 -1
  704. package/dist/visualization.es40.js +5 -81
  705. package/dist/visualization.es40.js.map +1 -1
  706. package/dist/visualization.es400.js +49 -2
  707. package/dist/visualization.es400.js.map +1 -1
  708. package/dist/visualization.es401.js +5 -6
  709. package/dist/visualization.es401.js.map +1 -1
  710. package/dist/visualization.es402.js +12 -209
  711. package/dist/visualization.es402.js.map +1 -1
  712. package/dist/visualization.es403.js +2 -27
  713. package/dist/visualization.es403.js.map +1 -1
  714. package/dist/visualization.es404.js +6 -3
  715. package/dist/visualization.es404.js.map +1 -1
  716. package/dist/visualization.es405.js +210 -16
  717. package/dist/visualization.es405.js.map +1 -1
  718. package/dist/visualization.es406.js +27 -15
  719. package/dist/visualization.es406.js.map +1 -1
  720. package/dist/visualization.es407.js +4 -15
  721. package/dist/visualization.es407.js.map +1 -1
  722. package/dist/visualization.es408.js +16 -2
  723. package/dist/visualization.es408.js.map +1 -1
  724. package/dist/visualization.es409.js +15 -2
  725. package/dist/visualization.es409.js.map +1 -1
  726. package/dist/visualization.es41.js +18 -18702
  727. package/dist/visualization.es41.js.map +1 -1
  728. package/dist/visualization.es410.js +15 -2
  729. package/dist/visualization.es410.js.map +1 -1
  730. package/dist/visualization.es411.js +2 -5
  731. package/dist/visualization.es411.js.map +1 -1
  732. package/dist/visualization.es412.js +2 -2
  733. package/dist/visualization.es412.js.map +1 -1
  734. package/dist/visualization.es413.js +2 -25
  735. package/dist/visualization.es413.js.map +1 -1
  736. package/dist/visualization.es414.js +4 -21
  737. package/dist/visualization.es414.js.map +1 -1
  738. package/dist/visualization.es415.js +2 -9
  739. package/dist/visualization.es415.js.map +1 -1
  740. package/dist/visualization.es416.js +24 -67
  741. package/dist/visualization.es416.js.map +1 -1
  742. package/dist/visualization.es417.js +21 -5
  743. package/dist/visualization.es417.js.map +1 -1
  744. package/dist/visualization.es418.js +7 -27
  745. package/dist/visualization.es418.js.map +1 -1
  746. package/dist/visualization.es419.js +68 -10
  747. package/dist/visualization.es419.js.map +1 -1
  748. package/dist/visualization.es42.js +5 -5
  749. package/dist/visualization.es42.js.map +1 -1
  750. package/dist/visualization.es420.js +6 -6
  751. package/dist/visualization.es420.js.map +1 -1
  752. package/dist/visualization.es421.js +29 -2
  753. package/dist/visualization.es421.js.map +1 -1
  754. package/dist/visualization.es422.js +9 -4
  755. package/dist/visualization.es422.js.map +1 -1
  756. package/dist/visualization.es423.js +6 -26
  757. package/dist/visualization.es423.js.map +1 -1
  758. package/dist/visualization.es424.js +2 -11
  759. package/dist/visualization.es424.js.map +1 -1
  760. package/dist/visualization.es425.js +4 -26
  761. package/dist/visualization.es425.js.map +1 -1
  762. package/dist/visualization.es426.js +25 -9
  763. package/dist/visualization.es426.js.map +1 -1
  764. package/dist/visualization.es427.js +10 -10
  765. package/dist/visualization.es427.js.map +1 -1
  766. package/dist/visualization.es428.js +27 -2
  767. package/dist/visualization.es428.js.map +1 -1
  768. package/dist/visualization.es429.js +10 -16
  769. package/dist/visualization.es429.js.map +1 -1
  770. package/dist/visualization.es43.js +27 -5
  771. package/dist/visualization.es43.js.map +1 -1
  772. package/dist/visualization.es430.js +10 -29
  773. package/dist/visualization.es430.js.map +1 -1
  774. package/dist/visualization.es431.js +2 -26
  775. package/dist/visualization.es431.js.map +1 -1
  776. package/dist/visualization.es432.js +16 -2
  777. package/dist/visualization.es432.js.map +1 -1
  778. package/dist/visualization.es433.js +29 -8
  779. package/dist/visualization.es433.js.map +1 -1
  780. package/dist/visualization.es434.js +26 -13
  781. package/dist/visualization.es434.js.map +1 -1
  782. package/dist/visualization.es435.js +2 -23
  783. package/dist/visualization.es435.js.map +1 -1
  784. package/dist/visualization.es436.js +8 -12
  785. package/dist/visualization.es436.js.map +1 -1
  786. package/dist/visualization.es437.js +13 -3
  787. package/dist/visualization.es437.js.map +1 -1
  788. package/dist/visualization.es438.js +23 -2
  789. package/dist/visualization.es438.js.map +1 -1
  790. package/dist/visualization.es439.js +12 -17
  791. package/dist/visualization.es439.js.map +1 -1
  792. package/dist/visualization.es44.js +26 -55
  793. package/dist/visualization.es44.js.map +1 -1
  794. package/dist/visualization.es440.js +3 -4
  795. package/dist/visualization.es440.js.map +1 -1
  796. package/dist/visualization.es441.js +2 -12
  797. package/dist/visualization.es441.js.map +1 -1
  798. package/dist/visualization.es442.js +18 -11
  799. package/dist/visualization.es442.js.map +1 -1
  800. package/dist/visualization.es443.js +3 -6
  801. package/dist/visualization.es443.js.map +1 -1
  802. package/dist/visualization.es444.js +12 -19
  803. package/dist/visualization.es444.js.map +1 -1
  804. package/dist/visualization.es445.js +11 -23
  805. package/dist/visualization.es445.js.map +1 -1
  806. package/dist/visualization.es446.js +6 -11
  807. package/dist/visualization.es446.js.map +1 -1
  808. package/dist/visualization.es447.js +19 -51
  809. package/dist/visualization.es447.js.map +1 -1
  810. package/dist/visualization.es448.js +20 -15
  811. package/dist/visualization.es448.js.map +1 -1
  812. package/dist/visualization.es449.js +9 -33
  813. package/dist/visualization.es449.js.map +1 -1
  814. package/dist/visualization.es45.js +5 -811
  815. package/dist/visualization.es45.js.map +1 -1
  816. package/dist/visualization.es450.js +47 -19
  817. package/dist/visualization.es450.js.map +1 -1
  818. package/dist/visualization.es451.js +13 -27
  819. package/dist/visualization.es451.js.map +1 -1
  820. package/dist/visualization.es452.js +35 -3
  821. package/dist/visualization.es452.js.map +1 -1
  822. package/dist/visualization.es453.js +22 -18
  823. package/dist/visualization.es453.js.map +1 -1
  824. package/dist/visualization.es454.js +32 -14
  825. package/dist/visualization.es454.js.map +1 -1
  826. package/dist/visualization.es455.js +3 -10
  827. package/dist/visualization.es455.js.map +1 -1
  828. package/dist/visualization.es456.js +18 -29
  829. package/dist/visualization.es456.js.map +1 -1
  830. package/dist/visualization.es457.js +14 -6
  831. package/dist/visualization.es457.js.map +1 -1
  832. package/dist/visualization.es458.js +10 -7
  833. package/dist/visualization.es458.js.map +1 -1
  834. package/dist/visualization.es459.js +30 -2
  835. package/dist/visualization.es459.js.map +1 -1
  836. package/dist/visualization.es46.js +58 -0
  837. package/dist/visualization.es46.js.map +1 -0
  838. package/dist/visualization.es460.js +6 -17
  839. package/dist/visualization.es460.js.map +1 -1
  840. package/dist/visualization.es461.js +7 -8
  841. package/dist/visualization.es461.js.map +1 -1
  842. package/dist/visualization.es462.js +2 -10
  843. package/dist/visualization.es462.js.map +1 -1
  844. package/dist/visualization.es463.js +14 -613
  845. package/dist/visualization.es463.js.map +1 -1
  846. package/dist/visualization.es464.js +8 -50
  847. package/dist/visualization.es464.js.map +1 -1
  848. package/dist/visualization.es465.js +10 -13
  849. package/dist/visualization.es465.js.map +1 -1
  850. package/dist/visualization.es466.js +616 -11
  851. package/dist/visualization.es466.js.map +1 -1
  852. package/dist/visualization.es467.js +50 -22
  853. package/dist/visualization.es467.js.map +1 -1
  854. package/dist/visualization.es468.js +13 -35
  855. package/dist/visualization.es468.js.map +1 -1
  856. package/dist/visualization.es469.js +11 -13
  857. package/dist/visualization.es469.js.map +1 -1
  858. package/dist/visualization.es47.js +109 -129
  859. package/dist/visualization.es47.js.map +1 -1
  860. package/dist/visualization.es470.js +23 -19
  861. package/dist/visualization.es470.js.map +1 -1
  862. package/dist/visualization.es471.js +32 -23
  863. package/dist/visualization.es471.js.map +1 -1
  864. package/dist/visualization.es472.js +12 -26
  865. package/dist/visualization.es472.js.map +1 -1
  866. package/dist/visualization.es473.js +14 -38
  867. package/dist/visualization.es473.js.map +1 -1
  868. package/dist/visualization.es474.js +20 -14
  869. package/dist/visualization.es474.js.map +1 -1
  870. package/dist/visualization.es475.js +22 -36
  871. package/dist/visualization.es475.js.map +1 -1
  872. package/dist/visualization.es476.js +36 -51
  873. package/dist/visualization.es476.js.map +1 -1
  874. package/dist/visualization.es477.js +19 -3
  875. package/dist/visualization.es477.js.map +1 -1
  876. package/dist/visualization.es478.js +41 -3
  877. package/dist/visualization.es478.js.map +1 -1
  878. package/dist/visualization.es479.js +58 -7
  879. package/dist/visualization.es479.js.map +1 -1
  880. package/dist/visualization.es48.js +7 -35
  881. package/dist/visualization.es48.js.map +1 -1
  882. package/dist/visualization.es480.js +3 -15
  883. package/dist/visualization.es480.js.map +1 -1
  884. package/dist/visualization.es481.js +3 -2
  885. package/dist/visualization.es481.js.map +1 -1
  886. package/dist/visualization.es482.js +7 -2
  887. package/dist/visualization.es482.js.map +1 -1
  888. package/dist/visualization.es483.js +16 -2
  889. package/dist/visualization.es483.js.map +1 -1
  890. package/dist/visualization.es484.js +2 -7
  891. package/dist/visualization.es484.js.map +1 -1
  892. package/dist/visualization.es485.js +2 -35
  893. package/dist/visualization.es485.js.map +1 -1
  894. package/dist/visualization.es486.js +2 -4
  895. package/dist/visualization.es486.js.map +1 -1
  896. package/dist/visualization.es487.js +29 -4
  897. package/dist/visualization.es487.js.map +1 -1
  898. package/dist/visualization.es488.js +119 -6
  899. package/dist/visualization.es488.js.map +1 -1
  900. package/dist/visualization.es489.js +29 -12
  901. package/dist/visualization.es489.js.map +1 -1
  902. package/dist/visualization.es49.js +7 -34
  903. package/dist/visualization.es49.js.map +1 -1
  904. package/dist/visualization.es490.js +11 -2
  905. package/dist/visualization.es490.js.map +1 -1
  906. package/dist/visualization.es491.js +13 -3
  907. package/dist/visualization.es491.js.map +1 -1
  908. package/dist/visualization.es492.js +32 -3
  909. package/dist/visualization.es492.js.map +1 -1
  910. package/dist/visualization.es493.js +27 -9
  911. package/dist/visualization.es493.js.map +1 -1
  912. package/dist/visualization.es494.js +10 -4
  913. package/dist/visualization.es494.js.map +1 -1
  914. package/dist/visualization.es495.js +12 -32
  915. package/dist/visualization.es495.js.map +1 -1
  916. package/dist/visualization.es496.js +18 -29
  917. package/dist/visualization.es496.js.map +1 -1
  918. package/dist/visualization.es497.js +21 -117
  919. package/dist/visualization.es497.js.map +1 -1
  920. package/dist/visualization.es498.js +16 -29
  921. package/dist/visualization.es498.js.map +1 -1
  922. package/dist/visualization.es499.js +95 -9
  923. package/dist/visualization.es499.js.map +1 -1
  924. package/dist/visualization.es5.js +46 -113
  925. package/dist/visualization.es5.js.map +1 -1
  926. package/dist/visualization.es50.js +7 -10
  927. package/dist/visualization.es50.js.map +1 -1
  928. package/dist/visualization.es500.js +28 -13
  929. package/dist/visualization.es500.js.map +1 -1
  930. package/dist/visualization.es501.js +69 -30
  931. package/dist/visualization.es501.js.map +1 -1
  932. package/dist/visualization.es502.js +50 -27
  933. package/dist/visualization.es502.js.map +1 -1
  934. package/dist/visualization.es503.js +34 -10
  935. package/dist/visualization.es503.js.map +1 -1
  936. package/dist/visualization.es504.js +40 -11
  937. package/dist/visualization.es504.js.map +1 -1
  938. package/dist/visualization.es505.js +3 -17
  939. package/dist/visualization.es505.js.map +1 -1
  940. package/dist/visualization.es506.js +3 -23
  941. package/dist/visualization.es506.js.map +1 -1
  942. package/dist/visualization.es507.js +3 -16
  943. package/dist/visualization.es507.js.map +1 -1
  944. package/dist/visualization.es508.js +3 -96
  945. package/dist/visualization.es508.js.map +1 -1
  946. package/dist/visualization.es509.js +3 -28
  947. package/dist/visualization.es509.js.map +1 -1
  948. package/dist/visualization.es51.js +18 -52
  949. package/dist/visualization.es51.js.map +1 -1
  950. package/dist/visualization.es510.js +3 -71
  951. package/dist/visualization.es510.js.map +1 -1
  952. package/dist/visualization.es511.js +3 -51
  953. package/dist/visualization.es511.js.map +1 -1
  954. package/dist/visualization.es512.js +6 -33
  955. package/dist/visualization.es512.js.map +1 -1
  956. package/dist/visualization.es513.js +48 -41
  957. package/dist/visualization.es513.js.map +1 -1
  958. package/dist/visualization.es514.js +3 -61
  959. package/dist/visualization.es514.js.map +1 -1
  960. package/dist/visualization.es515.js +5 -236
  961. package/dist/visualization.es515.js.map +1 -1
  962. package/dist/visualization.es516.js +4 -992
  963. package/dist/visualization.es516.js.map +1 -1
  964. package/dist/visualization.es517.js +3 -29
  965. package/dist/visualization.es517.js.map +1 -1
  966. package/dist/visualization.es518.js +6 -9
  967. package/dist/visualization.es518.js.map +1 -1
  968. package/dist/visualization.es519.js +4 -9
  969. package/dist/visualization.es519.js.map +1 -1
  970. package/dist/visualization.es52.js +32 -42
  971. package/dist/visualization.es52.js.map +1 -1
  972. package/dist/visualization.es520.js +23 -6
  973. package/dist/visualization.es520.js.map +1 -1
  974. package/dist/visualization.es521.js +53 -8
  975. package/dist/visualization.es521.js.map +1 -1
  976. package/dist/visualization.es522.js +20 -6
  977. package/dist/visualization.es522.js.map +1 -1
  978. package/dist/visualization.es523.js +7 -6
  979. package/dist/visualization.es523.js.map +1 -1
  980. package/dist/visualization.es524.js +33 -13
  981. package/dist/visualization.es524.js.map +1 -1
  982. package/dist/visualization.es525.js +3 -5
  983. package/dist/visualization.es525.js.map +1 -1
  984. package/dist/visualization.es526.js +3 -6
  985. package/dist/visualization.es526.js.map +1 -1
  986. package/dist/visualization.es527.js +6 -6
  987. package/dist/visualization.es527.js.map +1 -1
  988. package/dist/visualization.es528.js +12 -6
  989. package/dist/visualization.es528.js.map +1 -1
  990. package/dist/visualization.es529.js +2 -4
  991. package/dist/visualization.es529.js.map +1 -1
  992. package/dist/visualization.es53.js +66 -27
  993. package/dist/visualization.es53.js.map +1 -1
  994. package/dist/visualization.es530.js +3 -4
  995. package/dist/visualization.es530.js.map +1 -1
  996. package/dist/visualization.es531.js +3 -9
  997. package/dist/visualization.es531.js.map +1 -1
  998. package/dist/visualization.es532.js +9 -32
  999. package/dist/visualization.es532.js.map +1 -1
  1000. package/dist/visualization.es533.js +4 -29
  1001. package/dist/visualization.es533.js.map +1 -1
  1002. package/dist/visualization.es534.js +31 -32
  1003. package/dist/visualization.es534.js.map +1 -1
  1004. package/dist/visualization.es535.js +10 -25
  1005. package/dist/visualization.es535.js.map +1 -1
  1006. package/dist/visualization.es536.js +78 -46
  1007. package/dist/visualization.es536.js.map +1 -1
  1008. package/dist/visualization.es537.js +3 -9
  1009. package/dist/visualization.es537.js.map +1 -1
  1010. package/dist/visualization.es538.js +35 -15
  1011. package/dist/visualization.es538.js.map +1 -1
  1012. package/dist/visualization.es539.js +54 -16
  1013. package/dist/visualization.es539.js.map +1 -1
  1014. package/dist/visualization.es54.js +258 -64
  1015. package/dist/visualization.es54.js.map +1 -1
  1016. package/dist/visualization.es540.js +32 -16
  1017. package/dist/visualization.es540.js.map +1 -1
  1018. package/dist/visualization.es541.js +34 -24
  1019. package/dist/visualization.es541.js.map +1 -1
  1020. package/dist/visualization.es542.js +12 -5
  1021. package/dist/visualization.es542.js.map +1 -1
  1022. package/dist/visualization.es543.js +236 -9
  1023. package/dist/visualization.es543.js.map +1 -1
  1024. package/dist/visualization.es544.js +991 -12
  1025. package/dist/visualization.es544.js.map +1 -1
  1026. package/dist/visualization.es545.js +62 -8
  1027. package/dist/visualization.es545.js.map +1 -1
  1028. package/dist/visualization.es546.js +30 -8
  1029. package/dist/visualization.es546.js.map +1 -1
  1030. package/dist/visualization.es547.js +10 -19
  1031. package/dist/visualization.es547.js.map +1 -1
  1032. package/dist/visualization.es548.js +12 -61
  1033. package/dist/visualization.es548.js.map +1 -1
  1034. package/dist/visualization.es549.js +8 -28
  1035. package/dist/visualization.es549.js.map +1 -1
  1036. package/dist/visualization.es55.js +147 -43
  1037. package/dist/visualization.es55.js.map +1 -1
  1038. package/dist/visualization.es550.js +8 -5
  1039. package/dist/visualization.es550.js.map +1 -1
  1040. package/dist/visualization.es551.js +19 -3
  1041. package/dist/visualization.es551.js.map +1 -1
  1042. package/dist/visualization.es552.js +63 -2
  1043. package/dist/visualization.es552.js.map +1 -1
  1044. package/dist/visualization.es553.js +28 -282
  1045. package/dist/visualization.es553.js.map +1 -1
  1046. package/dist/visualization.es554.js +5 -2
  1047. package/dist/visualization.es554.js.map +1 -1
  1048. package/dist/visualization.es555.js +3 -127
  1049. package/dist/visualization.es555.js.map +1 -1
  1050. package/dist/visualization.es556.js +2 -19
  1051. package/dist/visualization.es556.js.map +1 -1
  1052. package/dist/visualization.es557.js +18 -3
  1053. package/dist/visualization.es557.js.map +1 -1
  1054. package/dist/visualization.es558.js +281 -3
  1055. package/dist/visualization.es558.js.map +1 -1
  1056. package/dist/visualization.es559.js +2 -16
  1057. package/dist/visualization.es559.js.map +1 -1
  1058. package/dist/visualization.es56.js +25 -60
  1059. package/dist/visualization.es56.js.map +1 -1
  1060. package/dist/visualization.es560.js +127 -3
  1061. package/dist/visualization.es560.js.map +1 -1
  1062. package/dist/visualization.es561.js +9 -9
  1063. package/dist/visualization.es561.js.map +1 -1
  1064. package/dist/visualization.es562.js +51 -4
  1065. package/dist/visualization.es562.js.map +1 -1
  1066. package/dist/visualization.es563.js +7 -5
  1067. package/dist/visualization.es563.js.map +1 -1
  1068. package/dist/visualization.es564.js +4 -9
  1069. package/dist/visualization.es564.js.map +1 -1
  1070. package/dist/visualization.es565.js +3 -7
  1071. package/dist/visualization.es565.js.map +1 -1
  1072. package/dist/visualization.es566.js +3 -4
  1073. package/dist/visualization.es566.js.map +1 -1
  1074. package/dist/visualization.es567.js +4 -4
  1075. package/dist/visualization.es567.js.map +1 -1
  1076. package/dist/visualization.es568.js +4 -4
  1077. package/dist/visualization.es568.js.map +1 -1
  1078. package/dist/visualization.es569.js +15 -11
  1079. package/dist/visualization.es569.js.map +1 -1
  1080. package/dist/visualization.es57.js +21 -3
  1081. package/dist/visualization.es57.js.map +1 -1
  1082. package/dist/visualization.es570.js +3 -9
  1083. package/dist/visualization.es570.js.map +1 -1
  1084. package/dist/visualization.es571.js +9 -30
  1085. package/dist/visualization.es571.js.map +1 -1
  1086. package/dist/visualization.es572.js +4 -24
  1087. package/dist/visualization.es572.js.map +1 -1
  1088. package/dist/visualization.es573.js +5 -51
  1089. package/dist/visualization.es573.js.map +1 -1
  1090. package/dist/visualization.es574.js +11 -3
  1091. package/dist/visualization.es574.js.map +1 -1
  1092. package/dist/visualization.es575.js +9 -8
  1093. package/dist/visualization.es575.js.map +1 -1
  1094. package/dist/visualization.es576.js +30 -20
  1095. package/dist/visualization.es576.js.map +1 -1
  1096. package/dist/visualization.es577.js +24 -7
  1097. package/dist/visualization.es577.js.map +1 -1
  1098. package/dist/visualization.es578.js +3 -6
  1099. package/dist/visualization.es578.js.map +1 -1
  1100. package/dist/visualization.es579.js +8 -5
  1101. package/dist/visualization.es579.js.map +1 -1
  1102. package/dist/visualization.es58.js +18 -47
  1103. package/dist/visualization.es58.js.map +1 -1
  1104. package/dist/visualization.es580.js +33 -7
  1105. package/dist/visualization.es580.js.map +1 -1
  1106. package/dist/visualization.es581.js +25 -16
  1107. package/dist/visualization.es581.js.map +1 -1
  1108. package/dist/visualization.es582.js +45 -4
  1109. package/dist/visualization.es582.js.map +1 -1
  1110. package/dist/visualization.es583.js +9 -7
  1111. package/dist/visualization.es583.js.map +1 -1
  1112. package/dist/visualization.es584.js +15 -35
  1113. package/dist/visualization.es584.js.map +1 -1
  1114. package/dist/visualization.es585.js +16 -9
  1115. package/dist/visualization.es585.js.map +1 -1
  1116. package/dist/visualization.es586.js +16 -33
  1117. package/dist/visualization.es586.js.map +1 -1
  1118. package/dist/visualization.es587.js +24 -10
  1119. package/dist/visualization.es587.js.map +1 -1
  1120. package/dist/visualization.es588.js +4 -8
  1121. package/dist/visualization.es588.js.map +1 -1
  1122. package/dist/visualization.es589.js +20 -18
  1123. package/dist/visualization.es589.js.map +1 -1
  1124. package/dist/visualization.es59.js +20 -3
  1125. package/dist/visualization.es59.js.map +1 -1
  1126. package/dist/visualization.es590.js +7 -7
  1127. package/dist/visualization.es590.js.map +1 -1
  1128. package/dist/visualization.es591.js +6 -7
  1129. package/dist/visualization.es591.js.map +1 -1
  1130. package/dist/visualization.es592.js +5 -13
  1131. package/dist/visualization.es592.js.map +1 -1
  1132. package/dist/visualization.es593.js +7 -72
  1133. package/dist/visualization.es593.js.map +1 -1
  1134. package/dist/visualization.es594.js +15 -29
  1135. package/dist/visualization.es594.js.map +1 -1
  1136. package/dist/visualization.es595.js +4 -5
  1137. package/dist/visualization.es595.js.map +1 -1
  1138. package/dist/visualization.es596.js +6 -25
  1139. package/dist/visualization.es596.js.map +1 -1
  1140. package/dist/visualization.es597.js +34 -11
  1141. package/dist/visualization.es597.js.map +1 -1
  1142. package/dist/visualization.es598.js +8 -4
  1143. package/dist/visualization.es598.js.map +1 -1
  1144. package/dist/visualization.es599.js +33 -4
  1145. package/dist/visualization.es599.js.map +1 -1
  1146. package/dist/visualization.es6.js +317 -294
  1147. package/dist/visualization.es6.js.map +1 -1
  1148. package/dist/visualization.es60.js +69 -281
  1149. package/dist/visualization.es60.js.map +1 -1
  1150. package/dist/visualization.es600.js +29 -4
  1151. package/dist/visualization.es600.js.map +1 -1
  1152. package/dist/visualization.es601.js +10 -13
  1153. package/dist/visualization.es601.js.map +1 -1
  1154. package/dist/visualization.es602.js +9 -17
  1155. package/dist/visualization.es602.js.map +1 -1
  1156. package/dist/visualization.es603.js +18 -13
  1157. package/dist/visualization.es603.js.map +1 -1
  1158. package/dist/visualization.es604.js +7 -13
  1159. package/dist/visualization.es604.js.map +1 -1
  1160. package/dist/visualization.es605.js +7 -8
  1161. package/dist/visualization.es605.js.map +1 -1
  1162. package/dist/visualization.es606.js +2 -2
  1163. package/dist/visualization.es607.js +3 -3
  1164. package/dist/visualization.es608.js +2 -2
  1165. package/dist/visualization.es61.js +81 -19
  1166. package/dist/visualization.es61.js.map +1 -1
  1167. package/dist/visualization.es612.js +4 -4
  1168. package/dist/visualization.es613.js +13 -4
  1169. package/dist/visualization.es613.js.map +1 -1
  1170. package/dist/visualization.es614.js +71 -7
  1171. package/dist/visualization.es614.js.map +1 -1
  1172. package/dist/visualization.es615.js +29 -6
  1173. package/dist/visualization.es615.js.map +1 -1
  1174. package/dist/visualization.es616.js +5 -18
  1175. package/dist/visualization.es616.js.map +1 -1
  1176. package/dist/visualization.es617.js +25 -14
  1177. package/dist/visualization.es617.js.map +1 -1
  1178. package/dist/visualization.es618.js +11 -32
  1179. package/dist/visualization.es618.js.map +1 -1
  1180. package/dist/visualization.es619.js +4 -290
  1181. package/dist/visualization.es619.js.map +1 -1
  1182. package/dist/visualization.es62.js +22 -54
  1183. package/dist/visualization.es62.js.map +1 -1
  1184. package/dist/visualization.es620.js +4 -3
  1185. package/dist/visualization.es620.js.map +1 -1
  1186. package/dist/visualization.es621.js +4 -11
  1187. package/dist/visualization.es621.js.map +1 -1
  1188. package/dist/visualization.es622.js +13 -4
  1189. package/dist/visualization.es622.js.map +1 -1
  1190. package/dist/visualization.es623.js +17 -5
  1191. package/dist/visualization.es623.js.map +1 -1
  1192. package/dist/visualization.es624.js +12 -4
  1193. package/dist/visualization.es624.js.map +1 -1
  1194. package/dist/visualization.es625.js +13 -13
  1195. package/dist/visualization.es625.js.map +1 -1
  1196. package/dist/visualization.es626.js +7 -116
  1197. package/dist/visualization.es626.js.map +1 -1
  1198. package/dist/visualization.es627.js +4 -65
  1199. package/dist/visualization.es627.js.map +1 -1
  1200. package/dist/visualization.es628.js +8 -4
  1201. package/dist/visualization.es628.js.map +1 -1
  1202. package/dist/visualization.es629.js +5 -6
  1203. package/dist/visualization.es629.js.map +1 -1
  1204. package/dist/visualization.es63.js +23 -111
  1205. package/dist/visualization.es63.js.map +1 -1
  1206. package/dist/visualization.es630.js +32 -7
  1207. package/dist/visualization.es630.js.map +1 -1
  1208. package/dist/visualization.es631.js +18 -16
  1209. package/dist/visualization.es631.js.map +1 -1
  1210. package/dist/visualization.es632.js +15 -19
  1211. package/dist/visualization.es632.js.map +1 -1
  1212. package/dist/visualization.es633.js +32 -9
  1213. package/dist/visualization.es633.js.map +1 -1
  1214. package/dist/visualization.es634.js +3 -3
  1215. package/dist/visualization.es634.js.map +1 -1
  1216. package/dist/visualization.es635.js +10 -27
  1217. package/dist/visualization.es635.js.map +1 -1
  1218. package/dist/visualization.es636.js +291 -6
  1219. package/dist/visualization.es636.js.map +1 -1
  1220. package/dist/visualization.es637.js +3 -10
  1221. package/dist/visualization.es637.js.map +1 -1
  1222. package/dist/visualization.es638.js +4 -5
  1223. package/dist/visualization.es638.js.map +1 -1
  1224. package/dist/visualization.es639.js +4 -10
  1225. package/dist/visualization.es639.js.map +1 -1
  1226. package/dist/visualization.es64.js +179 -7
  1227. package/dist/visualization.es64.js.map +1 -1
  1228. package/dist/visualization.es640.js +13 -21
  1229. package/dist/visualization.es640.js.map +1 -1
  1230. package/dist/visualization.es641.js +118 -2
  1231. package/dist/visualization.es641.js.map +1 -1
  1232. package/dist/visualization.es642.js +28 -12
  1233. package/dist/visualization.es642.js.map +1 -1
  1234. package/dist/visualization.es643.js +6 -303
  1235. package/dist/visualization.es643.js.map +1 -1
  1236. package/dist/visualization.es644.js +9 -25
  1237. package/dist/visualization.es644.js.map +1 -1
  1238. package/dist/visualization.es645.js +6 -77
  1239. package/dist/visualization.es645.js.map +1 -1
  1240. package/dist/visualization.es646.js +11 -34
  1241. package/dist/visualization.es646.js.map +1 -1
  1242. package/dist/visualization.es647.js +20 -11
  1243. package/dist/visualization.es647.js.map +1 -1
  1244. package/dist/visualization.es648.js +2 -8
  1245. package/dist/visualization.es648.js.map +1 -1
  1246. package/dist/visualization.es649.js +11 -8
  1247. package/dist/visualization.es649.js.map +1 -1
  1248. package/dist/visualization.es65.js +137 -30
  1249. package/dist/visualization.es65.js.map +1 -1
  1250. package/dist/visualization.es650.js +27 -3
  1251. package/dist/visualization.es650.js.map +1 -1
  1252. package/dist/visualization.es651.js +69 -0
  1253. package/dist/visualization.es651.js.map +1 -0
  1254. package/dist/visualization.es652.js +8 -0
  1255. package/dist/visualization.es652.js.map +1 -0
  1256. package/dist/visualization.es653.js +11 -0
  1257. package/dist/visualization.es653.js.map +1 -0
  1258. package/dist/visualization.es654.js +11 -0
  1259. package/dist/visualization.es654.js.map +1 -0
  1260. package/dist/visualization.es655.js +20 -0
  1261. package/dist/visualization.es655.js.map +1 -0
  1262. package/dist/visualization.es656.js +22 -0
  1263. package/dist/visualization.es656.js.map +1 -0
  1264. package/dist/visualization.es657.js +13 -0
  1265. package/dist/visualization.es657.js.map +1 -0
  1266. package/dist/visualization.es658.js +7 -0
  1267. package/dist/visualization.es658.js.map +1 -0
  1268. package/dist/visualization.es659.js +16 -0
  1269. package/dist/visualization.es659.js.map +1 -0
  1270. package/dist/visualization.es66.js +176 -48
  1271. package/dist/visualization.es66.js.map +1 -1
  1272. package/dist/visualization.es660.js +11 -0
  1273. package/dist/visualization.es660.js.map +1 -0
  1274. package/dist/visualization.es67.js +62 -50
  1275. package/dist/visualization.es67.js.map +1 -1
  1276. package/dist/visualization.es68.js +39 -42
  1277. package/dist/visualization.es68.js.map +1 -1
  1278. package/dist/visualization.es69.js +80 -5
  1279. package/dist/visualization.es69.js.map +1 -1
  1280. package/dist/visualization.es7.js +300 -166
  1281. package/dist/visualization.es7.js.map +1 -1
  1282. package/dist/visualization.es70.js +46 -5
  1283. package/dist/visualization.es70.js.map +1 -1
  1284. package/dist/visualization.es71.js +54 -16
  1285. package/dist/visualization.es71.js.map +1 -1
  1286. package/dist/visualization.es72.js +6 -4
  1287. package/dist/visualization.es72.js.map +1 -1
  1288. package/dist/visualization.es73.js +24 -25
  1289. package/dist/visualization.es73.js.map +1 -1
  1290. package/dist/visualization.es74.js +47 -30
  1291. package/dist/visualization.es74.js.map +1 -1
  1292. package/dist/visualization.es75.js +31 -5
  1293. package/dist/visualization.es75.js.map +1 -1
  1294. package/dist/visualization.es76.js +34 -7
  1295. package/dist/visualization.es76.js.map +1 -1
  1296. package/dist/visualization.es77.js +11 -68
  1297. package/dist/visualization.es77.js.map +1 -1
  1298. package/dist/visualization.es78.js +56 -10
  1299. package/dist/visualization.es78.js.map +1 -1
  1300. package/dist/visualization.es79.js +28 -39
  1301. package/dist/visualization.es79.js.map +1 -1
  1302. package/dist/visualization.es8.js +106 -137
  1303. package/dist/visualization.es8.js.map +1 -1
  1304. package/dist/visualization.es80.js +18 -80
  1305. package/dist/visualization.es80.js.map +1 -1
  1306. package/dist/visualization.es81.js +37 -46
  1307. package/dist/visualization.es81.js.map +1 -1
  1308. package/dist/visualization.es82.js +151 -54
  1309. package/dist/visualization.es82.js.map +1 -1
  1310. package/dist/visualization.es83.js +27 -7
  1311. package/dist/visualization.es83.js.map +1 -1
  1312. package/dist/visualization.es84.js +150 -26
  1313. package/dist/visualization.es84.js.map +1 -1
  1314. package/dist/visualization.es85.js +42 -12
  1315. package/dist/visualization.es85.js.map +1 -1
  1316. package/dist/visualization.es86.js +301 -56
  1317. package/dist/visualization.es86.js.map +1 -1
  1318. package/dist/visualization.es87.js +36 -36
  1319. package/dist/visualization.es87.js.map +1 -1
  1320. package/dist/visualization.es88.js +34 -193
  1321. package/dist/visualization.es88.js.map +1 -1
  1322. package/dist/visualization.es89.js +8 -142
  1323. package/dist/visualization.es89.js.map +1 -1
  1324. package/dist/visualization.es9.js +312 -26
  1325. package/dist/visualization.es9.js.map +1 -1
  1326. package/dist/visualization.es90.js +54 -187
  1327. package/dist/visualization.es90.js.map +1 -1
  1328. package/dist/visualization.es91.js +44 -120
  1329. package/dist/visualization.es91.js.map +1 -1
  1330. package/dist/visualization.es92.js +43 -12
  1331. package/dist/visualization.es92.js.map +1 -1
  1332. package/dist/visualization.es93.js +8 -74
  1333. package/dist/visualization.es93.js.map +1 -1
  1334. package/dist/visualization.es94.js +7 -32
  1335. package/dist/visualization.es94.js.map +1 -1
  1336. package/dist/visualization.es95.js +112 -12
  1337. package/dist/visualization.es95.js.map +1 -1
  1338. package/dist/visualization.es96.js +29 -5
  1339. package/dist/visualization.es96.js.map +1 -1
  1340. package/dist/visualization.es97.js +65 -5
  1341. package/dist/visualization.es97.js.map +1 -1
  1342. package/dist/visualization.es98.js +62 -5
  1343. package/dist/visualization.es98.js.map +1 -1
  1344. package/dist/visualization.es99.js +4 -32
  1345. package/dist/visualization.es99.js.map +1 -1
  1346. package/package.json +1 -1
  1347. package/dist/src/components/Heatmap/HeatmapCell.d.ts +0 -29
  1348. package/dist/src/components/Heatmap/HeatmapCell.d.ts.map +0 -1
  1349. package/dist/src/components/Heatmap/HeatmapCells.d.ts +0 -29
  1350. package/dist/src/components/Heatmap/HeatmapCells.d.ts.map +0 -1
  1351. package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts +0 -32
  1352. package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +0 -1
  1353. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +0 -1
  1354. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +0 -1
  1355. package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts +0 -29
  1356. package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +0 -1
  1357. package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts +0 -25
  1358. package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +0 -1
  1359. package/dist/visualization.es33.js +0 -271
  1360. package/dist/visualization.es33.js.map +0 -1
@@ -1,172 +1,306 @@
1
- import { jsx as N, jsxs as oe } from "react/jsx-runtime";
2
- import { useState as G, useMemo as f, useRef as U, useCallback as R } from "react";
3
- import { ZoomFrame as ce } from "./visualization.es53.js";
4
- import { RenderTree as re } from "./visualization.es54.js";
5
- import ie from "./visualization.es48.js";
6
- import le from "./visualization.es55.js";
7
- import de from "./visualization.es56.js";
8
- import ue from "./visualization.es57.js";
9
- import he from "./visualization.es58.js";
10
- import S from "./visualization.es59.js";
11
- import pe from "./visualization.es28.js";
12
- import me from "./visualization.es60.js";
13
- import { pathRadialStep as J } from "./visualization.es61.js";
14
- const we = {
15
- duration: 0.3,
16
- ease: "easeInOut"
17
- }, be = () => 1, ge = (t, i, r) => i === 0 ? 0 : t / i * r, Le = (t) => {
18
- const i = /-?\d*\.?\d+[eE][+-]?\d+/g;
19
- return t.replace(i, (r) => Number(r).toFixed(10).replace(/\.?0+$/, ""));
20
- }, K = (t) => (i) => {
21
- const r = t(i);
22
- return r ? Le(r) : "";
23
- }, Ne = K(J({
24
- source: (t) => t.source,
25
- target: (t) => t.target,
26
- x: (t) => t?.x || 0,
27
- y: (t) => t?.y || 0
28
- })), fe = K(J({
29
- source: (t) => t.source,
30
- target: (t) => t.target,
31
- x: (t) => t?.x || 0,
32
- y: (t) => t?.branchLengthScaledRadius || 0
33
- })), xe = (t, i) => {
34
- t = t.replace(/^#/, "");
35
- let r = parseInt(t.substring(0, 2), 16), u = parseInt(t.substring(2, 4), 16), h = parseInt(t.substring(4, 6), 16);
36
- r = Math.round(r + (255 - r) * i), u = Math.round(u + (255 - u) * i), h = Math.round(h + (255 - h) * i);
37
- const b = (x) => x.toString(16).padStart(2, "0");
38
- return `#${b(r)}${b(u)}${b(h)}`;
39
- }, y = 500, Ae = y * 2;
40
- function De({
41
- width: t,
42
- height: i,
43
- data: r,
44
- highlighted: u = [],
45
- hovered: h = [],
46
- leafFontSize: b = 8,
47
- leafFontFamily: x = "Arial",
48
- linkStrokeWidth: I = 1,
49
- getColor: X = () => "black",
50
- getLabel: Q = (v) => v,
51
- onBranchClick: E = () => null,
52
- onLeafHoverChange: g,
53
- labelPadding: V = 135,
54
- defaultScaling: C = "scaled",
55
- tooltipContents: B,
56
- leafOrder: p
57
- }) {
58
- const [v, W] = G(C === "scaled"), [T, _] = G(null), {
59
- tooltipData: P,
60
- tooltipLeft: ee,
61
- tooltipTop: te,
62
- showTooltip: k,
63
- hideTooltip: w
64
- } = ie(), A = f(() => T ? [T, ...h] : h, [T, h]), {
65
- TooltipInPortal: se
66
- } = le({
67
- scroll: !0,
68
- detectBounds: !0
69
- }), D = U(null), Y = U(!1), j = (c, s) => {
70
- D.current = s ? {
71
- node: s,
72
- x: c.clientX,
73
- y: c.clientY
74
- } : {
75
- node: null,
76
- x: 0,
77
- y: 0
78
- }, Y.current || (Y.current = !0, requestAnimationFrame(() => {
79
- const l = D.current, e = l?.node ?? null;
80
- _(e ? e.data.id : null), e && !e.children ? k({
81
- tooltipData: e.data,
82
- tooltipLeft: l.x,
83
- tooltipTop: l.y
84
- }) : w(), g && g(e ? e.leaves().map((n) => n.data.id) : []), Y.current = !1;
85
- }));
86
- }, L = Math.max(0, y - V), q = f(() => [2 * Math.PI, L], [L]), $ = f(() => de(r, (s) => s.children).sum((s) => s.children ? 0 : 1).sort((s, l) => {
87
- if (p) {
88
- const a = new Map(p.map((d, M) => [d, M])), o = (d) => Math.min(...d.leaves().map((M) => a.get(M.data.id) ?? 1 / 0));
89
- return o(s) - o(l);
90
- }
91
- const e = s.leaves().some((a) => a.data.id === "Homo_sapiens"), n = l.leaves().some((a) => a.data.id === "Homo_sapiens");
92
- return e !== n ? e ? -1 : 1 : (s.value || 0) - (l.value || 0) || ue(s.data.branch_length ?? void 0, l.data.branch_length ?? void 0);
93
- }), [r, X, L, p]), F = f(() => {
94
- const c = he();
95
- c.size(q), c.separation(be);
96
- const s = c($.copy());
97
- let l = 0;
98
- if (s.each((e) => {
99
- e.label = Q(e.data.id);
100
- }), s.eachAfter((e) => {
101
- if (!e.children)
102
- e.color = X(e.data.id);
103
- else {
104
- const n = e.children.map((d) => d.color), a = e.children[0].color, o = a !== null && n.every((d) => d === a);
105
- e.color = o ? a : "#666";
106
- }
107
- }), s.eachBefore((e) => {
108
- const a = (e.parent?.cumulativeBranchLength ?? 0) + (e.data.branch_length ?? 0);
109
- a > l && (l = a), e.cumulativeBranchLength = a;
110
- }), s.descendants().forEach((e) => {
111
- const n = ge(e.cumulativeBranchLength ?? 0, l, L);
112
- e.branchLengthScaledRadius = n;
113
- }), s.descendants().forEach((e) => {
114
- const [n, a] = S(e.x, e.y), [o, d] = S(e.x, e.branchLengthScaledRadius ?? 0);
115
- e.baseNodeX = n, e.baseNodeY = a, e.scaledNodeX = o, e.scaledNodeY = d;
116
- }), s.descendants().forEach((e) => {
117
- const [n, a] = S(e.x, e.y), [o, d] = S(e.x, e.branchLengthScaledRadius ?? 0);
118
- e.baseNodeX = n, e.baseNodeY = a, e.scaledNodeX = o, e.scaledNodeY = d;
119
- }), s.descendants().forEach((e) => {
120
- if (e.parent) {
121
- const n = {
122
- source: e.parent,
123
- target: e
124
- }, a = Ne(n), o = fe(n);
125
- e.baseLinkPath = a, e.scaledLinkPath = o;
1
+ import { jsxs as X, jsx as I } from "react/jsx-runtime";
2
+ import { useRef as G, useState as v, useEffect as q } from "react";
3
+ import V from "./visualization.es28.js";
4
+ import ye from "./visualization.es29.js";
5
+ import me from "./visualization.es30.js";
6
+ import { useScreenshot as he } from "./visualization.es31.js";
7
+ import pe from "./visualization.es32.js";
8
+ /* empty css */
9
+ import ge from "./visualization.es34.js";
10
+ import { Typography as be } from "@mui/material";
11
+ V.use(ye);
12
+ V.use(me(A));
13
+ function A(o, x, S) {
14
+ const h = document.createElement("div");
15
+ return document.body.appendChild(h), pe(h, {
16
+ getReferenceClientRect: o.getBoundingClientRect,
17
+ trigger: "manual",
18
+ content: x,
19
+ arrow: !0,
20
+ placement: "bottom",
21
+ hideOnClick: !1,
22
+ sticky: "reference",
23
+ interactive: !0,
24
+ appendTo: document.body,
25
+ ...S
26
+ });
27
+ }
28
+ const ve = (o, {
29
+ name: x = "img",
30
+ extension: S = "jpg"
31
+ } = {}) => {
32
+ const h = document.createElement("a");
33
+ h.href = o, h.download = `${x}.${S}`, h.click();
34
+ }, Ee = (o) => 10 * Math.log(o * 4 + 1), He = ({
35
+ data: o,
36
+ title: x,
37
+ id: S,
38
+ width: h = "100%",
39
+ height: Y = "100%",
40
+ scale: W = Ee,
41
+ getLabel: F,
42
+ getColor: u,
43
+ legendToggle: r,
44
+ legendNodeLabel: T,
45
+ legendEdgeLabel: j,
46
+ order: y,
47
+ fontFamily: k = "Arial",
48
+ onNodeClick: P,
49
+ onEdgeClick: U,
50
+ directional: _ = !1,
51
+ scaleLabel: ee
52
+ }) => {
53
+ const z = G(null), [te] = v(!0), [n, oe] = v([]), [R, ne] = v([]), [$, re] = v([]), [m, ce] = v([]), [E, ae] = v(!0), [w, Z] = v({}), C = /* @__PURE__ */ new Set();
54
+ r !== void 0 ? (o.node.forEach((e) => {
55
+ C.add(r(e));
56
+ }), o.edge.forEach((e) => {
57
+ e.category && C.add(r(e));
58
+ })) : (o.node.forEach((e) => {
59
+ C.add(e.category);
60
+ }), o.edge.forEach((e) => {
61
+ e.category && C.add(e.category);
62
+ }));
63
+ let M = /* @__PURE__ */ new Set();
64
+ o.node.forEach((e) => {
65
+ r && !y ? M.add(r(e)) : M.add(e.category);
66
+ }), o.edge.forEach((e) => {
67
+ e.category && r ? M.add(r(e)) : e.category && M.add(e.category);
68
+ });
69
+ let O = Array.from(M);
70
+ y && (O = O.sort((e, c) => y.indexOf(e) - y.indexOf(c)));
71
+ const J = {};
72
+ O.forEach((e) => {
73
+ J[e] = !0;
74
+ });
75
+ const D = G(null), [we, K] = he(), se = () => {
76
+ D.current && typeof K == "function" && K(D.current).then(ve);
77
+ }, ie = G(null);
78
+ let N = "cy-" + S;
79
+ q(() => {
80
+ oe(o.node), ce(o.edge), ne(o.edge.map((e) => e.effectSize)), re(o.edge.map((e) => r ? r(e) : e.category !== void 0 ? e.category : "Edge")), Z(J);
81
+ }, [o]);
82
+ let le = n.map((e) => e.category), H = Array.from(new Set(le));
83
+ y && (H = H.sort((e, c) => y.indexOf(e) - y.indexOf(c)));
84
+ const B = n.map((e) => r && !y ? r(e) : e.category), de = n.map((e) => r ? r(e) : e.category), L = (e) => n[e].id;
85
+ q(() => {
86
+ if (n.length === 0 || R.length === 0 || $.length === 0 || m.length === 0) return;
87
+ const e = n.map((t) => t.id);
88
+ let c = [];
89
+ for (let t = 0; t < n.length; t++)
90
+ c.push([]);
91
+ m.forEach((t) => {
92
+ const a = e.indexOf(t.from), s = e.indexOf(t.to);
93
+ a !== -1 && s !== -1 && c[a].push(s);
94
+ });
95
+ const f = V({
96
+ container: document.getElementById(N),
97
+ style: [{
98
+ selector: "node",
99
+ style: {
100
+ label: "",
101
+ "font-size": 12
102
+ }
103
+ }, {
104
+ selector: "edge",
105
+ style: {
106
+ "line-color": "#ccc",
107
+ "curve-style": "bezier"
108
+ }
109
+ }],
110
+ minZoom: 0.25,
111
+ maxZoom: 5
112
+ });
113
+ z.current = f, f.ready(() => {
114
+ f.nodes().forEach((t) => {
115
+ const s = [30, 70, 110][Math.floor(Math.random() * 3)];
116
+ t.css("width", s), t.css("height", s);
117
+ }), f.layout({
118
+ name: "cose-bilkent",
119
+ animate: "end",
120
+ animationDuration: 1e3
121
+ }).run();
122
+ });
123
+ const ue = `data:image/svg+xml;utf8,${encodeURIComponent(`
124
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px">
125
+ <path d="M0 0h24v24H0z" fill="none"/>
126
+ <path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/>
127
+ </svg>
128
+ `)}`;
129
+ for (var l = 0; l < n.length; l++)
130
+ w[B[l]] !== !1 && (o?.centered && n[l].id === o.centered.id ? f.add({
131
+ data: {
132
+ id: L(l)
133
+ },
134
+ // create name
135
+ position: {
136
+ // random position
137
+ x: Math.random() * 1150 + 100,
138
+ y: Math.random() * 500 + 100
139
+ },
140
+ style: {
141
+ // find color based on CRE
142
+ "background-color": u ? u(n[l]) : "grey",
143
+ label: E ? n[l].id : "",
144
+ fontSize: "12px",
145
+ borderWidth: "2px",
146
+ borderColor: "black",
147
+ fontFamily: k,
148
+ backgroundFit: "contain",
149
+ backgroundClip: "none",
150
+ backgroundImage: `url(${ue})`
151
+ }
152
+ }) : f.add({
153
+ data: {
154
+ id: L(l)
155
+ },
156
+ // create name
157
+ position: {
158
+ // random position
159
+ x: Math.random() * 1150 + 100,
160
+ y: Math.random() * 500 + 100
161
+ },
162
+ style: {
163
+ // find color based on CRE
164
+ "background-color": u ? u(n[l]) : "grey",
165
+ label: E ? F ? F(n[l]) : n[l].id : "",
166
+ fontSize: "12px",
167
+ fontFamily: k
168
+ }
169
+ }));
170
+ let p = 0;
171
+ for (var b = 0; b < n.length; b++)
172
+ if (w[B[b]] !== !1) {
173
+ let t = c[b].length;
174
+ for (let a = 0; a < t; a++) {
175
+ const s = m[p]?.category;
176
+ if (w[B[c[b][a]]] !== !1 && (!s || w[$[p]] !== !1)) {
177
+ let d = o.edge.every((i) => i.category);
178
+ f.add({
179
+ data: {
180
+ id: "edge " + p,
181
+ source: L(b),
182
+ target: L(c[b][a]),
183
+ category: d ? m[p].category : "Edge"
184
+ },
185
+ style: {
186
+ "line-color": u ? u(m[p]) : "grey",
187
+ "target-arrow-shape": _ ? "triangle" : null,
188
+ "target-arrow-color": u ? u(m[p]) : "grey",
189
+ width: W(R[p])
190
+ }
191
+ });
192
+ }
193
+ p++;
194
+ }
126
195
  }
127
- }), s.leaves().forEach((e) => {
128
- e.baseLeafLinkExtension = {
129
- x1: e.baseNodeX ?? 0,
130
- x2: e.baseNodeX ?? 0,
131
- y1: e.baseNodeY ?? 0,
132
- y2: e.baseNodeY ?? 0
133
- }, e.scaledLeafLinkExtension = {
134
- x1: e.scaledNodeX ?? 0,
135
- x2: e.baseNodeX ?? 0,
136
- y1: e.scaledNodeY ?? 0,
137
- y2: e.baseNodeY ?? 0
138
- }, e.lightenedLinkExtColor = xe(e.color ?? "#000000", 0.7);
139
- }), s.each((e) => {
140
- const a = !e.children ? u.includes(e.data.id) : e.leaves().some((o) => u.includes(o.data.id));
141
- e.linkStrokeWidth = a ? I * 2 : I, e.labelStrokeWidth = a ? 0.7 : 0;
142
- }), s.each((e) => {
143
- const n = new Set(e.ancestors().map((o) => o.data.id)), a = new Set(e.descendants().map((o) => o.data.id));
144
- e.ancestorIds = n, e.descendantIds = a;
145
- }), p) {
146
- const e = s.leaves().map((m) => m.data.id), n = new Set(e), a = new Set(p), o = p.filter((m) => n.has(m)), d = e.filter((m) => a.has(m));
147
- o.some((m, ne) => m !== d[ne]) && console.error(`[PhyloTree] Requested leafOrder is not achievable given the tree topology.
148
- Requested: ` + o.join(", ") + `
149
- Achieved: ` + d.join(", "));
196
+ return f.nodes().forEach((t, a) => {
197
+ const s = t.popperRef(), d = document.createElement("div");
198
+ o?.centered && e[a].toString() === o.centered.id ? d.innerHTML = `ID: ${e[a]}<br>Type: ${r ? r(n[a]) : n[a].category}<br>Centered Node` : d.innerHTML = `ID: ${e[a]}<br>Type: ${r ? r(n[a]) : n[a].category}`, d.style.fontSize = "12px", d.style.fontFamily = k;
199
+ const i = A(s, d, {});
200
+ t.on("mouseover", () => {
201
+ i.show(), document.body.style.cursor = "pointer";
202
+ }), t.on("click", () => {
203
+ if (P) {
204
+ const g = {
205
+ accession: t.style("label"),
206
+ start: 0,
207
+ end: 0,
208
+ chromosome: ""
209
+ };
210
+ P(g);
211
+ }
212
+ i.hide(), document.body.style.cursor = "default";
213
+ }), t.on("mouseout", () => {
214
+ i.hide(), document.body.style.cursor = "default";
215
+ });
216
+ }), f.edges().forEach((t) => {
217
+ const a = t.popperRef(), s = document.createElement("div");
218
+ if (o.edge.every((i) => i.category)) {
219
+ let i = "";
220
+ m.forEach((g) => {
221
+ if (r && g.category && t.data("category") && t.data("category") === g.category) {
222
+ i = r(g);
223
+ return;
224
+ } else if (g.category && t.data("category") && t.data("category") === g.category) {
225
+ i = g.category;
226
+ return;
227
+ }
228
+ }), i.length === 0 ? s.innerHTML = "Edge" : s.innerHTML = `Edge Type: ${i}`;
229
+ } else
230
+ s.innerHTML = "Edge";
231
+ s.style.fontSize = "12px", s.style.fontFamily = k;
232
+ const d = A(a, s, {});
233
+ t.on("click", () => {
234
+ U && U(), d.hide(), document.body.style.cursor = "default";
235
+ }), t.on("mouseover", () => d.show()), t.on("mouseout", () => d.hide());
236
+ }), Q(), () => {
237
+ f.destroy();
238
+ };
239
+ }, [n, R, $, m, w]), q(() => {
240
+ if (!z.current) return;
241
+ let e = 0;
242
+ z.current.nodes().forEach((c) => {
243
+ c.style({
244
+ label: E ? L(e) : ""
245
+ }), e++;
246
+ });
247
+ }, [E]);
248
+ const fe = () => {
249
+ const e = z.current;
250
+ if (e) {
251
+ const c = {
252
+ name: "random",
253
+ animate: !0,
254
+ animationDuration: 1e3,
255
+ animationEasing: "ease-out"
256
+ };
257
+ e.layout(c).run();
150
258
  }
151
- return s;
152
- }, [r, q, L, $, u, I, p]), H = R(() => W((c) => !c), []), Z = R((c, s) => {
153
- j(c, s), !s.children && k({
154
- tooltipData: s.data,
155
- tooltipLeft: c.clientX,
156
- tooltipTop: c.clientY
157
- }), g && g(s.leaves().map((l) => l.data.id));
158
- }, []), O = R((c, s) => {
159
- j(c, null), w(), g && g([]);
160
- }, []), z = f(() => /* @__PURE__ */ N(pe, { top: y, left: y, children: /* @__PURE__ */ N(re, { node: F, hovered: A, leafFontFamily: x, leafFontSize: b, useBranchLengths: v, onNodeMouseMove: Z, onNodeMouseLeave: O, onBranchClick: E }) }), [F, A, x, b, v, Z, O, E]), ae = R((c) => /* @__PURE__ */ N(ce, { zoom: c, totalWidth: t, totalHeight: i, toggleBranchLength: H, children: z }), [t, i, H, z]);
161
- return t < 10 ? null : /* @__PURE__ */ oe("div", { children: [
162
- /* @__PURE__ */ N(me, { width: t, height: i, scaleXMin: 0.8, scaleXMax: 4, scaleYMin: 0.8, scaleYMax: 4, children: ae }),
163
- P && B && /* @__PURE__ */ N(se, { left: ee, top: te, children: B(P.id) })
259
+ }, Q = () => {
260
+ const e = z.current, c = {
261
+ name: "cose-bilkent",
262
+ animate: "end",
263
+ animationEasing: "ease-out",
264
+ animationDuration: 1e3,
265
+ randomize: !0
266
+ };
267
+ e && e.layout(c).run();
268
+ };
269
+ return /* @__PURE__ */ X("div", { style: {
270
+ width: h,
271
+ height: Y,
272
+ position: "relative",
273
+ overflow: "hidden",
274
+ fontSize: "14px",
275
+ fontFamily: "helvetica"
276
+ }, children: [
277
+ /* @__PURE__ */ I(be, { variant: "h1", style: {
278
+ marginLeft: "3px",
279
+ fontSize: "18px",
280
+ fontWeight: "bold",
281
+ fontFamily: k
282
+ }, children: x }),
283
+ /* @__PURE__ */ X("div", { ref: D, style: {
284
+ position: "relative"
285
+ }, children: [
286
+ /* @__PURE__ */ I("div", { ref: ie, id: N, style: {
287
+ width: "95%",
288
+ height: "90vh",
289
+ zIndex: 999
290
+ } }),
291
+ te && /* @__PURE__ */ I("div", { style: {
292
+ backgroundColor: "white",
293
+ boxShadow: "0 0 10px rgba(0,0,0,0.5)"
294
+ }, children: /* @__PURE__ */ I(ge, { toggles: w, onToggle: (e) => {
295
+ Z((c) => ({
296
+ ...c,
297
+ [e]: !c[e]
298
+ }));
299
+ }, simpleCategories: de, edgeType: o.edge.every((e) => e.category), elements: n, edges: m, scales: R, scaleWidth: W, downloadScreenshot: se, randomize: fe, organize: Q, toggleLabels: () => ae(!E), labelsOn: E, colorFunc: u, legendToggle: r, legendNodeLabel: T, legendEdgeLabel: j, uniqueCat: y ? H : void 0, scaleLabel: ee }) })
300
+ ] })
164
301
  ] });
165
- }
302
+ };
166
303
  export {
167
- Ae as TOTAL_INNER_DIAMETER,
168
- y as TOTAL_INNER_RADIUS,
169
- De as default,
170
- we as useBranchLengthTransition
304
+ He as default
171
305
  };
172
306
  //# sourceMappingURL=visualization.es7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es7.js","sources":["../src/components/PhyloTree/PhyloTree.tsx"],"sourcesContent":["import { useMemo, useState, useCallback, useRef, useEffect } from \"react\";\nimport { Group } from \"@visx/group\";\nimport { ascending } from \"@visx/vendor/d3-array\";\nimport { pathRadialStep } from \"@visx/shape\";\nimport { cluster as d3cluster, hierarchy as d3hierarchy } from \"d3-hierarchy\";\nimport { PhyloTreeProps, TreeItem, TreeLink, TreeNode, ZoomState } from \"./types\";\nimport { useTooltip, defaultStyles, useTooltipInPortal } from \"@visx/tooltip\";\nimport { Zoom, ProvidedZoom } from \"@visx/zoom\";\nimport { ZoomFrame } from \"./ZoomFrame\";\nimport { pointRadial } from \"d3-shape\";\nimport { RenderTree } from \"./RenderTree\";\n\n/**\n * Improvements that would make this scale better (as much as svg can):\n * - Combine links into fewer path elements\n * - Requires having static hit detecting paths, but can create fewer <path> elements by combining link paths\n * - Creates less work for the browser to update fewer, but more complex paths\n * - Would need base branches grouped by color, selection path, external highlight path, and invisible static hit target paths for branch selection\n * - Remove hover interaction and opt for click only interactions\n * - If keeping hover behavior, define gapless areas between nodes to prevent -> hover NodeA, hover null, hover NodeB in favor of NodeA -> NodeB\n * - Define single hit area that takes in click event and determines what was hit\n */\n\nexport const useBranchLengthTransition = {\n duration: 0.3,\n ease: \"easeInOut\",\n} as const;\n\n// Keep spacing of all leaf nodes consistent\nconst separationFn = () => 1;\n\nconst getBranchLengthScaledY = (cumulativeBranchLength: number, maxBranchLength: number, innerRadius: number) => {\n return maxBranchLength === 0 ? 0 : (cumulativeBranchLength / maxBranchLength) * innerRadius;\n};\n\n// Framer motion had issues with e notation\nconst rmSciNotation = (pathString: string) => {\n // Regex to match scientific notation:\n // optional sign, digits/dots, 'e' or 'E', optional sign, and exponent digits\n const scientificRegex = /-?\\d*\\.?\\d+[eE][+-]?\\d+/g;\n\n return pathString.replace(scientificRegex, (match) => {\n // Convert the match to a Number and then back to a decimal string\n const num = Number(match);\n\n // Use toFixed() to ensure no new scientific notation is generated\n // 10 decimal places is usually enough for SVG precision\n return num.toFixed(10).replace(/\\.?0+$/, \"\");\n });\n};\n\nconst withNoSciNotation =\n <L extends TreeLink>(generator: (link: L) => string | null) =>\n (link: L) => {\n const path = generator(link);\n return path ? rmSciNotation(path) : \"\";\n };\n\nconst getLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.y || 0,\n })\n);\n\nconst getScaledLinkPath = withNoSciNotation(\n pathRadialStep<TreeLink, TreeNode>({\n source: (l) => l.source,\n target: (l) => l.target,\n x: (n) => n?.x || 0,\n y: (n) => n?.branchLengthScaledRadius || 0,\n })\n);\n\n/**\n * Lightens a hex color by blending it with white.\n * @param {string} hex - The input color, e.g. \"#336699\"\n * @param {number} factor - How much to lighten: 0 = no change, 1 = full white\n * @returns {string} - The lightened hex color\n */\nconst lightenHex = (hex: string, factor: number) => {\n // Remove leading \"#\" if present\n hex = hex.replace(/^#/, '');\n\n // Parse r, g, b\n let r = parseInt(hex.substring(0, 2), 16);\n let g = parseInt(hex.substring(2, 4), 16);\n let b = parseInt(hex.substring(4, 6), 16);\n\n // Blend each channel toward 255 (white)\n r = Math.round(r + (255 - r) * factor);\n g = Math.round(g + (255 - g) * factor);\n b = Math.round(b + (255 - b) * factor);\n\n // Convert back to hex and pad with zeros\n const toHex = (c: number) => c.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\n/**\n * For internal svg calculation only\n */\nexport const TOTAL_INNER_RADIUS = 500;\n/**\n * For internal svg calculation only (used to define viewbox in ZoomFrame)\n */\nexport const TOTAL_INNER_DIAMETER = TOTAL_INNER_RADIUS * 2;\n\nexport default function PhyloTree({\n width: totalWidth,\n height: totalHeight,\n data,\n highlighted = [],\n hovered: externalHovered = [],\n leafFontSize = 8,\n leafFontFamily = \"Arial\",\n linkStrokeWidth = 1,\n getColor = () => \"black\",\n getLabel = (id) => id,\n onBranchClick = () => null,\n onLeafHoverChange,\n labelPadding = 135,\n defaultScaling = \"scaled\",\n tooltipContents,\n leafOrder,\n}: PhyloTreeProps) {\n const [enableBranchLengths, setEnableBranchLengths] = useState<boolean>(defaultScaling === \"scaled\");\n\n const [internalHovered, setInternalHovered] = useState<string | null>(null)\n const { tooltipData, tooltipLeft, tooltipTop, tooltipOpen, showTooltip, hideTooltip } = useTooltip<TreeItem>();\n\n const hovered = useMemo(\n () => (internalHovered ? [internalHovered, ...externalHovered] : externalHovered),\n [internalHovered, externalHovered]\n );\n\n const { TooltipInPortal } = useTooltipInPortal({\n scroll: true,\n detectBounds: true,\n });\n\n interface PendingHover {\n node: TreeNode | null;\n x: number;\n y: number;\n }\n\n const pendingRef = useRef<PendingHover | null>(null);\n const frameRef = useRef(false);\n\n /**\n * Prevents hover updates more frequently than the browser can repaint by using requestAnimationFrame\n */\n const handleDebounceHover = (event: React.MouseEvent, node: TreeNode | null) => {\n pendingRef.current = node \n ? { node, x: event.clientX, y: event.clientY }\n : { node: null, x: 0, y: 0 };\n\n if (!frameRef.current) {\n frameRef.current = true;\n\n requestAnimationFrame(() => {\n // Everything comes from the ref now — consistent snapshot\n const pending = pendingRef.current;\n const pendingNode = pending?.node ?? null;\n\n setInternalHovered(pendingNode ? pendingNode.data.id : null);\n\n if (pendingNode && !pendingNode.children) {\n showTooltip({\n tooltipData: pendingNode.data,\n tooltipLeft: pending!.x,\n tooltipTop: pending!.y,\n });\n } else {\n hideTooltip();\n }\n\n if (onLeafHoverChange) {\n onLeafHoverChange(\n pendingNode ? pendingNode.leaves().map((leaf) => leaf.data.id) : []\n );\n }\n\n frameRef.current = false;\n });\n }\n };\n\n const circleRadius = Math.max(0, TOTAL_INNER_RADIUS - labelPadding);\n\n // This defines the arbitrary x/y coordinate system. For our radial layout X is the angle defined in radians, Y is radius. https://d3js.org/d3-hierarchy/cluster#cluster_size\n const size: [number, number] = useMemo(() => [2 * Math.PI, circleRadius], [circleRadius]);\n\n /* Construct root node */\n const root = useMemo(() => {\n const r = d3hierarchy(data, (d) => d.children)\n // sorts first by least number of children, and then by branch length to create nice looking plot\n .sum((d) => (d.children ? 0 : 1))\n .sort((a, b) => {\n if (leafOrder) {\n const indexMap = new Map(leafOrder.map((id, i) => [id, i]));\n const minIdx = (node: typeof a) =>\n Math.min(...node.leaves().map((l) => indexMap.get(l.data.id) ?? Infinity));\n return minIdx(a) - minIdx(b);\n }\n\n // Float the Homo_sapiens subtree to the end so it appears at the top\n const aHasHuman = a.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n const bHasHuman = b.leaves().some((l) => l.data.id === \"Homo_sapiens\");\n if (aHasHuman !== bHasHuman) return aHasHuman ? -1 : 1;\n\n return (\n (a.value || 0) - (b.value || 0) ||\n ascending(a.data.branch_length ?? undefined, b.data.branch_length ?? undefined)\n );\n });\n return r;\n }, [data, getColor, circleRadius, leafOrder]);\n\n /* Add layout/render properties */\n const rootNode = useMemo(() => {\n const clusterLayout = d3cluster<TreeItem>();\n clusterLayout.size(size);\n clusterLayout.separation(separationFn);\n //copy root node so that the reference changes when this useMemo is rerun. Otherwise is modifying in place\n const clusterRoot: TreeNode = clusterLayout(root.copy());\n\n let maxBranchLength = 0;\n\n clusterRoot.each((node) => {\n node.label = getLabel(node.data.id)\n })\n\n // uniformLeafColor\n clusterRoot.eachAfter((node) => {\n //This node is visited after all of it's descendents. Allows us to look at immediate children to see if they have same color.\n //For leaf nodes, there will be no children, so assign the color AND assign light\n if (!node.children) {\n node.color = getColor(node.data.id);\n } else {\n const childColors = node.children.map((x) => x.color);\n const firstColor = node.children[0].color;\n const allSame = firstColor !== null && childColors.every((color) => color === firstColor);\n node.color = allSame ? firstColor : \"#666\";\n }\n });\n\n // cumulativeBranchLength\n clusterRoot.eachBefore((node) => {\n const parentLen = node.parent?.cumulativeBranchLength ?? 0;\n const cumulativeBranchLength = parentLen + (node.data.branch_length ?? 0);\n\n if (cumulativeBranchLength > maxBranchLength) {\n maxBranchLength = cumulativeBranchLength;\n }\n \n node.cumulativeBranchLength = cumulativeBranchLength;\n });\n \n // Add BranchLengthScaledRadius. Must come after cumulativeBranchLength\n clusterRoot.descendants().forEach((node) => {\n const branchLengthScaledRadius = getBranchLengthScaledY(\n node.cumulativeBranchLength ?? 0,\n maxBranchLength,\n circleRadius\n );\n\n node.branchLengthScaledRadius = branchLengthScaledRadius;\n })\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n\n // Base/Scaled X/Y. Must come after branchLengthScaledRadius assignment\n clusterRoot.descendants().forEach((node) => {\n const [baseNodeX, baseNodeY] = pointRadial(node.x, node.y);\n const [scaledNodeX, scaledNodeY] = pointRadial(node.x, node.branchLengthScaledRadius ?? 0);\n\n node.baseNodeX = baseNodeX;\n node.baseNodeY = baseNodeY;\n node.scaledNodeX = scaledNodeX;\n node.scaledNodeY = scaledNodeY;\n });\n \n //Link Path gen must come after the above assignment of branchLengthScaledRadius\n clusterRoot.descendants().forEach((node) => {\n if (node.parent) {\n const link = { source: node.parent, target: node };\n\n const baseLinkPath = getLinkPath(link);\n const scaledLinkPath = getScaledLinkPath(link);\n\n node.baseLinkPath = baseLinkPath;\n node.scaledLinkPath = scaledLinkPath;\n }\n });\n\n clusterRoot.leaves().forEach((leaf) => {\n leaf.baseLeafLinkExtension = {\n x1: leaf.baseNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.baseNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.scaledLeafLinkExtension = {\n x1: leaf.scaledNodeX ?? 0,\n x2: leaf.baseNodeX ?? 0,\n y1: leaf.scaledNodeY ?? 0,\n y2: leaf.baseNodeY ?? 0,\n };\n leaf.lightenedLinkExtColor = lightenHex(leaf.color ?? \"#000000\", 0.7);\n })\n\n // Highlighted state\n clusterRoot.each((node) => {\n //probably could do this more efficiently with .eachAfter\n const isLeaf = !node.children\n const isHighlighted = isLeaf ? highlighted.includes(node.data.id) : node.leaves().some(leaf => highlighted.includes(leaf.data.id))\n\n node.linkStrokeWidth = isHighlighted ? linkStrokeWidth * 2 : linkStrokeWidth\n node.labelStrokeWidth = isHighlighted ? 0.7 : 0\n })\n //Add ancestors and descendant IDs for faster static lookup on hover rerender\n clusterRoot.each((node) => {\n const ancestorIds = new Set(node.ancestors().map(node => node.data.id))\n const descendantIds = new Set(node.descendants().map(node => node.data.id))\n \n\n node.ancestorIds = ancestorIds\n node.descendantIds = descendantIds\n })\n\n if (leafOrder) {\n const achievedOrder = clusterRoot.leaves().map((l) => l.data.id);\n const treeLeafSet = new Set(achievedOrder);\n const leafOrderSet = new Set(leafOrder);\n const requestedFiltered = leafOrder.filter((id) => treeLeafSet.has(id));\n const achievedFiltered = achievedOrder.filter((id) => leafOrderSet.has(id));\n const mismatch = requestedFiltered.some((id, i) => id !== achievedFiltered[i]);\n if (mismatch) {\n console.error(\n \"[PhyloTree] Requested leafOrder is not achievable given the tree topology.\\n\" +\n \"Requested: \" + requestedFiltered.join(\", \") + \"\\n\" +\n \"Achieved: \" + achievedFiltered.join(\", \")\n );\n }\n }\n\n return clusterRoot;\n }, [data, size, circleRadius, root, highlighted, linkStrokeWidth, leafOrder]);\n\n const toggleBranchLength = useCallback(() => setEnableBranchLengths((prev) => !prev), []);\n\n const handleLeafOnMouseMove = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, node)\n !node.children && showTooltip({\n tooltipData: node.data,\n tooltipLeft: event.clientX,\n tooltipTop: event.clientY,\n });\n if (onLeafHoverChange) {\n onLeafHoverChange(node.leaves().map(leaf => leaf.data.id))\n }\n }, []);\n\n const handleLeafOnMouseLeave = useCallback((event: React.MouseEvent<Element, MouseEvent>, node: TreeNode) => {\n handleDebounceHover(event, null)\n hideTooltip();\n if (onLeafHoverChange) {\n onLeafHoverChange([])\n }\n }, []);\n\n const treeContent = useMemo(() => {\n return (\n <Group top={TOTAL_INNER_RADIUS} left={TOTAL_INNER_RADIUS}>\n <RenderTree\n node={rootNode}\n hovered={hovered}\n leafFontFamily={leafFontFamily}\n leafFontSize={leafFontSize}\n useBranchLengths={enableBranchLengths}\n onNodeMouseMove={handleLeafOnMouseMove}\n onNodeMouseLeave={handleLeafOnMouseLeave}\n onBranchClick={onBranchClick}\n />\n </Group>\n );\n }, [\n rootNode,\n hovered,\n leafFontFamily,\n leafFontSize,\n enableBranchLengths,\n handleLeafOnMouseMove,\n handleLeafOnMouseLeave,\n onBranchClick,\n ]);\n\n const renderTreeInZoom = useCallback(\n (zoom: ProvidedZoom<SVGSVGElement> & ZoomState) => {\n return (\n <ZoomFrame\n zoom={zoom}\n totalWidth={totalWidth}\n totalHeight={totalHeight}\n toggleBranchLength={toggleBranchLength}\n >\n {treeContent}\n </ZoomFrame>\n );\n },\n [totalWidth, totalHeight, toggleBranchLength, treeContent]\n );\n\n return totalWidth < 10 ? null : (\n <div>\n <Zoom<SVGSVGElement>\n width={totalWidth}\n height={totalHeight}\n scaleXMin={0.8}\n scaleXMax={4}\n scaleYMin={0.8}\n scaleYMax={4}\n >\n {renderTreeInZoom}\n </Zoom>\n {tooltipData && tooltipContents && (\n <TooltipInPortal left={tooltipLeft} top={tooltipTop}>\n {tooltipContents(tooltipData.id)}\n </TooltipInPortal>\n )}\n </div>\n );\n}\n"],"names":["useBranchLengthTransition","duration","ease","separationFn","getBranchLengthScaledY","cumulativeBranchLength","maxBranchLength","innerRadius","rmSciNotation","pathString","scientificRegex","replace","match","Number","toFixed","withNoSciNotation","generator","link","path","getLinkPath","pathRadialStep","source","l","target","x","n","y","getScaledLinkPath","branchLengthScaledRadius","lightenHex","hex","factor","r","parseInt","substring","g","b","Math","round","toHex","c","toString","padStart","TOTAL_INNER_RADIUS","TOTAL_INNER_DIAMETER","PhyloTree","width","totalWidth","height","totalHeight","data","highlighted","hovered","externalHovered","leafFontSize","leafFontFamily","linkStrokeWidth","getColor","getLabel","id","onBranchClick","onLeafHoverChange","labelPadding","defaultScaling","tooltipContents","leafOrder","enableBranchLengths","setEnableBranchLengths","useState","internalHovered","setInternalHovered","tooltipData","tooltipLeft","tooltipTop","showTooltip","hideTooltip","useTooltip","useMemo","TooltipInPortal","useTooltipInPortal","scroll","detectBounds","pendingRef","useRef","frameRef","handleDebounceHover","event","node","current","clientX","clientY","requestAnimationFrame","pending","pendingNode","children","leaves","map","leaf","circleRadius","max","size","PI","root","d3hierarchy","d","sum","sort","a","indexMap","Map","i","minIdx","min","get","Infinity","aHasHuman","some","bHasHuman","value","ascending","branch_length","undefined","rootNode","clusterLayout","d3cluster","separation","clusterRoot","copy","each","label","eachAfter","color","childColors","firstColor","allSame","every","eachBefore","parent","descendants","forEach","baseNodeX","baseNodeY","pointRadial","scaledNodeX","scaledNodeY","baseLinkPath","scaledLinkPath","baseLeafLinkExtension","x1","x2","y1","y2","scaledLeafLinkExtension","lightenedLinkExtColor","isHighlighted","includes","labelStrokeWidth","ancestorIds","Set","ancestors","descendantIds","achievedOrder","treeLeafSet","leafOrderSet","requestedFiltered","filter","has","achievedFiltered","console","error","join","toggleBranchLength","useCallback","prev","handleLeafOnMouseMove","handleLeafOnMouseLeave","treeContent","jsx","Group","RenderTree","renderTreeInZoom","zoom","ZoomFrame","jsxs","Zoom"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es7.js","sources":["../src/components/Graph/Graph.tsx"],"sourcesContent":["import React, { useRef, useEffect, useState } from 'react';\nimport cytoscape, { Core, EdgeSingular, NodeSingular } from 'cytoscape';\nimport coseBilkent from 'cytoscape-cose-bilkent';\nimport cytoscapePopper from 'cytoscape-popper';\nimport { useScreenshot } from 'use-react-screenshot';\nimport { GraphProps, Node, Edge } from './types';\nimport tippy, { Instance, Props } from 'tippy.js';\nimport 'tippy.js/dist/tippy.css';\n\nimport ControlPanel from './ControlPanel';\nimport { Typography } from '@mui/material';\n\ncytoscape.use(coseBilkent);\ncytoscape.use(cytoscapePopper(popperFactory));\n\nfunction popperFactory(\n ref: any,\n content: string | HTMLElement,\n opts?: Partial<Props>\n): Instance<Props> {\n const dummyDomElem = document.createElement('div');\n document.body.appendChild(dummyDomElem);\n return tippy(dummyDomElem, {\n getReferenceClientRect: ref.getBoundingClientRect,\n trigger: 'manual',\n content: content,\n arrow: true,\n placement: 'bottom',\n hideOnClick: false,\n sticky: 'reference',\n interactive: true,\n appendTo: document.body,\n ...opts,\n });\n}\n\nconst download = (image: string, { name = 'img', extension = 'jpg' } = {}) => {\n const a = document.createElement('a');\n a.href = image;\n a.download = `${name}.${extension}`;\n a.click();\n};\n\nconst defaultScale = (n: number) => 10 * Math.log(n * 4 + 1);\n\nconst Graph: React.FC<GraphProps> = ({\n data,\n title,\n id,\n width = '100%',\n height = '100%',\n scale = defaultScale,\n getLabel,\n getColor,\n legendToggle,\n legendNodeLabel,\n legendEdgeLabel,\n order,\n fontFamily = 'Arial',\n onNodeClick,\n onEdgeClick,\n directional = false,\n scaleLabel,\n}) => {\n const cyRef = useRef<Core | null>(null);\n\n // state hooks\n const [showControls] = useState(true);\n const [elements, setElements] = useState<Node[]>([]);\n const [scales, setScales] = useState<number[]>([]);\n const [edgeTypes, setEdgeTypes] = useState<string[]>([]);\n const [edges, setEdges] = useState<Edge[]>([]);\n const [showLabels, setShowLabels] = useState(true);\n const [toggles, setToggles] = useState<{ [key: string]: boolean }>({});\n\n // unique categories for legend toggles or the node / edge categories\n const uniqueCategories = new Set<string>();\n\n if (legendToggle !== undefined) {\n data.node.forEach((node) => {\n uniqueCategories.add(legendToggle(node));\n });\n\n data.edge.forEach((edge) => {\n if (edge.category) {\n uniqueCategories.add(legendToggle(edge));\n }\n });\n } else {\n data.node.forEach((node) => {\n uniqueCategories.add(node.category);\n });\n\n data.edge.forEach((edge) => {\n if (edge.category) {\n uniqueCategories.add(edge.category);\n }\n });\n }\n\n let allCategories = new Set<string>(); // holds all unique categories of nodes based on legendToggle and order\n data.node.forEach((node) => {\n if (legendToggle && !order) {\n allCategories.add(legendToggle(node)); // simple legend name\n } else {\n allCategories.add(node.category); // node category\n }\n });\n data.edge.forEach((edge) => {\n if (edge.category && legendToggle) {\n allCategories.add(legendToggle(edge));\n } else if (edge.category) {\n allCategories.add(edge.category);\n }\n });\n\n let orderedCategories = Array.from(allCategories);\n\n if (order) {\n orderedCategories = orderedCategories.sort(\n (a, b) => order.indexOf(a) - order.indexOf(b)\n );\n }\n\n const initialToggles: { [key: string]: boolean } = {};\n orderedCategories.forEach((category) => {\n initialToggles[category] = true;\n });\n\n // DOWNLOAD SCREENSHOT\n const ref = useRef<HTMLDivElement>(null);\n const [_, takeScreenShot] = useScreenshot();\n\n const downloadScreenshot = () => {\n if (ref.current && typeof takeScreenShot === 'function') {\n takeScreenShot(ref.current).then(download);\n }\n };\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // each graph needs a unique id\n let k = 'cy-' + id;\n\n useEffect(() => {\n setElements(data.node);\n setEdges(data.edge);\n setScales(data.edge.map((e: Edge) => e.effectSize));\n setEdgeTypes(\n data.edge.map((e) => {\n if (legendToggle) return legendToggle(e);\n if (e.category !== undefined) return e.category;\n return 'Edge';\n })\n );\n setToggles(initialToggles);\n }, [data]);\n\n let elem = elements.map((e) => e.category);\n let unique = Array.from(new Set(elem)); // holds unique node categories only\n\n if (order) {\n unique = unique.sort((a, b) => order.indexOf(a) - order.indexOf(b));\n }\n\n const simple: string[] = elements.map((e) => {\n // used for toggles\n if (legendToggle && !order) return legendToggle(e);\n else {\n return e.category;\n }\n });\n const simpleCat: string[] = elements.map((e) => {\n // used for legend calculations\n if (legendToggle) return legendToggle(e);\n else {\n return e.category;\n }\n });\n\n const createID = (index: number): string => elements[index].id;\n useEffect(() => {\n if (\n elements.length === 0 ||\n scales.length === 0 ||\n edgeTypes.length === 0 ||\n edges.length === 0\n )\n return;\n\n const allcCREs: string[] = elements.map((e) => e.id);\n\n let connect: number[][] = [];\n for (let i = 0; i < elements.length; i++) {\n connect.push([]); // does not work with Array.fill\n }\n\n // connect holds all the connections between nodes\n // connect[0] holds the TARGET node INDICES for the FIRST node\n edges.forEach((e) => {\n const fromIndex = allcCREs.indexOf(e.from);\n const toIndex = allcCREs.indexOf(e.to);\n\n if (fromIndex !== -1 && toIndex !== -1) {\n connect[fromIndex].push(toIndex);\n }\n });\n const cy = cytoscape({\n container: document.getElementById(k),\n style: [\n {\n selector: 'node',\n style: {\n label: '',\n 'font-size': 12,\n },\n },\n {\n selector: 'edge',\n style: {\n 'line-color': '#ccc',\n 'curve-style': 'bezier',\n },\n },\n ],\n minZoom: 0.25,\n maxZoom: 5,\n });\n\n cyRef.current = cy; // save Cytoscape instance to ref\n\n cy.ready(() => {\n cy.nodes().forEach((node: NodeSingular) => {\n const width = [30, 70, 110];\n const size = width[Math.floor(Math.random() * 3)];\n node.css('width', size);\n node.css('height', size);\n });\n\n cy.layout({\n name: 'cose-bilkent',\n animate: 'end',\n animationDuration: 1000,\n } as any).run();\n });\n\n const starSVG = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"black\" width=\"24px\" height=\"24px\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/>\n</svg>\n`;\n const starSVGURL = `data:image/svg+xml;utf8,${encodeURIComponent(starSVG)}`;\n\n // ADD NODES\n for (var i = 0; i < elements.length; i++) {\n if (toggles[simple[i]] !== false) {\n if (data?.centered && elements[i].id === data.centered.id) {\n // if centered node\n cy.add({\n data: { id: createID(i) }, // create name\n position: {\n // random position\n x: Math.random() * (1250 - 100) + 100,\n y: Math.random() * (600 - 100) + 100,\n },\n style: {\n // find color based on CRE\n 'background-color': getColor ? getColor(elements[i]) : 'grey',\n label: showLabels ? elements[i].id : '',\n fontSize: '12px',\n borderWidth: '2px',\n borderColor: 'black',\n fontFamily: fontFamily,\n backgroundFit: 'contain',\n backgroundClip: 'none',\n backgroundImage: `url(${starSVGURL})`,\n },\n });\n } else {\n cy.add({\n data: { id: createID(i) }, // create name\n position: {\n // random position\n x: Math.random() * (1250 - 100) + 100,\n y: Math.random() * (600 - 100) + 100,\n },\n style: {\n // find color based on CRE\n 'background-color': getColor ? getColor(elements[i]) : 'grey',\n label: showLabels\n ? getLabel\n ? getLabel(elements[i])\n : elements[i].id\n : '',\n fontSize: '12px',\n fontFamily: fontFamily,\n },\n });\n }\n }\n }\n\n // ADD EDGES\n let edgeCount = 0;\n\n for (var j = 0; j < elements.length; j++) {\n // add # of edges per node based on the target connections\n if (toggles[simple[j]] !== false) {\n let len = connect[j].length;\n for (let s = 0; s < len; s++) {\n const edgeCategory = edges[edgeCount]?.category;\n\n if (\n toggles[simple[connect[j][s]]] !== false &&\n (edgeCategory ? toggles[edgeTypes[edgeCount]] !== false : true)\n ) {\n let c = data.edge.every((e) => e.category);\n cy.add({\n data: {\n id: 'edge ' + edgeCount,\n source: createID(j),\n target: createID(connect[j][s]),\n category: c ? edges[edgeCount].category : 'Edge',\n },\n style: {\n 'line-color': getColor ? getColor(edges[edgeCount]) : 'grey',\n 'target-arrow-shape': directional ? 'triangle' : null,\n 'target-arrow-color': getColor\n ? getColor(edges[edgeCount])\n : 'grey',\n width: scale(scales[edgeCount]),\n },\n });\n }\n edgeCount++;\n }\n }\n }\n\n // TOOLTIP NODES\n cy.nodes().forEach((node: NodeSingular, idx: number) => {\n const ref = node.popperRef();\n const content = document.createElement('div');\n if (data?.centered && allcCREs[idx].toString() === data.centered.id) {\n content.innerHTML = `ID: ${allcCREs[idx]}<br>Type: ${\n legendToggle ? legendToggle(elements[idx]) : elements[idx].category\n }<br>Centered Node`;\n } else {\n content.innerHTML = `ID: ${allcCREs[idx]}<br>Type: ${\n legendToggle ? legendToggle(elements[idx]) : elements[idx].category\n }`;\n }\n\n content.style.fontSize = '12px';\n content.style.fontFamily = fontFamily;\n const tip = popperFactory(ref, content, {});\n\n node.on('mouseover', () => {\n tip.show();\n document.body.style.cursor = 'pointer';\n });\n\n node.on('click', () => {\n if (onNodeClick) {\n const c = {\n accession: node.style('label'),\n start: 0,\n end: 0,\n chromosome: '',\n };\n onNodeClick(c);\n }\n\n tip.hide();\n document.body.style.cursor = 'default';\n });\n\n node.on('mouseout', () => {\n tip.hide();\n document.body.style.cursor = 'default';\n });\n });\n\n // TOOLTIP EDGES\n cy.edges().forEach((edge: EdgeSingular) => {\n const ref = edge.popperRef();\n const content = document.createElement('div');\n\n if (data.edge.every((e) => e.category)) {\n let c = '';\n edges.forEach((e) => {\n if (\n legendToggle &&\n e.category &&\n edge.data('category') &&\n edge.data('category') === e.category\n ) {\n c = legendToggle(e);\n return;\n } else if (\n e.category &&\n edge.data('category') &&\n edge.data('category') === e.category\n ) {\n c = e.category;\n return;\n }\n });\n\n if (c.length === 0) {\n content.innerHTML = `Edge`;\n } else {\n content.innerHTML = `Edge Type: ${c}`;\n }\n } else {\n content.innerHTML = `Edge`;\n }\n\n content.style.fontSize = '12px';\n content.style.fontFamily = fontFamily;\n const tip = popperFactory(ref, content, {});\n edge.on('click', () => {\n if (onEdgeClick) {\n onEdgeClick();\n }\n\n tip.hide();\n document.body.style.cursor = 'default';\n });\n\n edge.on('mouseover', () => tip.show());\n edge.on('mouseout', () => tip.hide());\n });\n\n organize();\n\n return () => {\n cy.destroy();\n };\n }, [elements, scales, edgeTypes, edges, toggles]);\n\n // toggle labels\n useEffect(() => {\n if (!cyRef.current) return;\n let ind = 0;\n\n cyRef.current.nodes().forEach((node) => {\n node.style({\n label: showLabels ? createID(ind) : '',\n });\n ind++;\n });\n }, [showLabels]);\n\n // RANDOMIZE\n const randomize = () => {\n const cy = cyRef.current;\n if (cy) {\n const options = {\n name: 'random',\n animate: true,\n animationDuration: 1000,\n animationEasing: 'ease-out',\n } as any;\n cy.layout(options).run();\n }\n };\n\n // ORGANIZE\n const organize = () => {\n const cy = cyRef.current;\n const options = {\n name: 'cose-bilkent',\n animate: 'end',\n animationEasing: 'ease-out',\n animationDuration: 1000,\n randomize: true,\n } as any;\n if (cy) {\n cy.layout(options).run();\n }\n };\n\n // TOGGLE CATEGORIES\n const handleToggle = (category: string) => {\n setToggles((prevToggles) => ({\n ...prevToggles,\n [category]: !prevToggles[category],\n }));\n };\n\n return (\n <div\n style={{\n width: width,\n height: height,\n position: 'relative',\n overflow: 'hidden',\n fontSize: '14px',\n fontFamily: 'helvetica',\n }}\n >\n <Typography\n variant=\"h1\"\n style={{\n marginLeft: '3px',\n fontSize: '18px',\n fontWeight: 'bold',\n fontFamily: fontFamily,\n }}\n >\n {title}\n </Typography>\n\n <div\n ref={ref}\n style={{\n position: 'relative',\n }}\n >\n <div\n ref={containerRef}\n id={k}\n style={{\n width: '95%',\n height: '90vh',\n zIndex: 999,\n }}\n ></div>\n\n {showControls && (\n <div\n style={{\n backgroundColor: 'white',\n boxShadow: '0 0 10px rgba(0,0,0,0.5)',\n }}\n >\n <ControlPanel\n toggles={toggles}\n onToggle={handleToggle}\n simpleCategories={simpleCat}\n edgeType={data.edge.every((e) => e.category)}\n elements={elements}\n edges={edges}\n scales={scales}\n scaleWidth={scale}\n downloadScreenshot={downloadScreenshot}\n randomize={randomize}\n organize={organize}\n toggleLabels={() => setShowLabels(!showLabels)}\n labelsOn={showLabels}\n colorFunc={getColor}\n legendToggle={legendToggle}\n legendNodeLabel={legendNodeLabel}\n legendEdgeLabel={legendEdgeLabel}\n uniqueCat={order ? unique : undefined}\n scaleLabel={scaleLabel}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default Graph;\n"],"names":["cytoscape","use","coseBilkent","cytoscapePopper","popperFactory","ref","content","opts","dummyDomElem","document","createElement","body","appendChild","tippy","getReferenceClientRect","getBoundingClientRect","trigger","arrow","placement","hideOnClick","sticky","interactive","appendTo","download","image","name","extension","a","href","click","defaultScale","n","Math","log","Graph","data","title","id","width","height","scale","getLabel","getColor","legendToggle","legendNodeLabel","legendEdgeLabel","order","fontFamily","onNodeClick","onEdgeClick","directional","scaleLabel","cyRef","useRef","showControls","useState","elements","setElements","scales","setScales","edgeTypes","setEdgeTypes","edges","setEdges","showLabels","setShowLabels","toggles","setToggles","uniqueCategories","Set","undefined","node","forEach","add","edge","category","allCategories","orderedCategories","Array","from","sort","b","indexOf","initialToggles","_","takeScreenShot","useScreenshot","downloadScreenshot","current","then","containerRef","k","useEffect","map","e","effectSize","elem","unique","simple","simpleCat","createID","index","length","allcCREs","connect","i","push","fromIndex","toIndex","to","cy","container","getElementById","style","selector","label","minZoom","maxZoom","ready","nodes","size","floor","random","css","layout","animate","animationDuration","run","starSVGURL","encodeURIComponent","centered","position","x","y","fontSize","borderWidth","borderColor","backgroundFit","backgroundClip","backgroundImage","edgeCount","j","len","s","edgeCategory","c","every","source","target","idx","popperRef","toString","innerHTML","tip","on","show","cursor","accession","start","end","chromosome","hide","organize","destroy","ind","randomize","options","animationEasing","jsxs","overflow","jsx","Typography","marginLeft","fontWeight","zIndex","backgroundColor","boxShadow","ControlPanel","handleToggle","prevToggles"],"mappings":"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"}