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

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 (1113) hide show
  1. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +1 -1
  2. package/dist/src/components/ScatterPlot/controls.d.ts.map +1 -1
  3. package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -1
  4. package/dist/visualization.es10.js +11 -11
  5. package/dist/visualization.es100.js +44 -222
  6. package/dist/visualization.es100.js.map +1 -1
  7. package/dist/visualization.es101.js +74 -16
  8. package/dist/visualization.es101.js.map +1 -1
  9. package/dist/visualization.es102.js +24 -94
  10. package/dist/visualization.es102.js.map +1 -1
  11. package/dist/visualization.es103.js +80 -170
  12. package/dist/visualization.es103.js.map +1 -1
  13. package/dist/visualization.es104.js +35 -81
  14. package/dist/visualization.es104.js.map +1 -1
  15. package/dist/visualization.es105.js +220 -35
  16. package/dist/visualization.es105.js.map +1 -1
  17. package/dist/visualization.es106.js +2 -56
  18. package/dist/visualization.es106.js.map +1 -1
  19. package/dist/visualization.es107.js +557 -47
  20. package/dist/visualization.es107.js.map +1 -1
  21. package/dist/visualization.es108.js +213 -14
  22. package/dist/visualization.es108.js.map +1 -1
  23. package/dist/visualization.es109.js +2 -222
  24. package/dist/visualization.es109.js.map +1 -1
  25. package/dist/visualization.es11.js +10 -10
  26. package/dist/visualization.es110.js +4800 -2
  27. package/dist/visualization.es110.js.map +1 -1
  28. package/dist/visualization.es111.js +25 -557
  29. package/dist/visualization.es111.js.map +1 -1
  30. package/dist/visualization.es112.js +43 -212
  31. package/dist/visualization.es112.js.map +1 -1
  32. package/dist/visualization.es113.js +144 -2
  33. package/dist/visualization.es113.js.map +1 -1
  34. package/dist/visualization.es114.js +144 -4797
  35. package/dist/visualization.es114.js.map +1 -1
  36. package/dist/visualization.es115.js +58 -25
  37. package/dist/visualization.es115.js.map +1 -1
  38. package/dist/visualization.es116.js +31 -44
  39. package/dist/visualization.es116.js.map +1 -1
  40. package/dist/visualization.es117.js +18 -144
  41. package/dist/visualization.es117.js.map +1 -1
  42. package/dist/visualization.es118.js +14 -147
  43. package/dist/visualization.es118.js.map +1 -1
  44. package/dist/visualization.es119.js +25 -31
  45. package/dist/visualization.es119.js.map +1 -1
  46. package/dist/visualization.es120.js +14 -44
  47. package/dist/visualization.es120.js.map +1 -1
  48. package/dist/visualization.es121.js +15 -76
  49. package/dist/visualization.es121.js.map +1 -1
  50. package/dist/visualization.es122.js +25 -24
  51. package/dist/visualization.es122.js.map +1 -1
  52. package/dist/visualization.es123.js +70 -85
  53. package/dist/visualization.es123.js.map +1 -1
  54. package/dist/visualization.es124.js +55 -36
  55. package/dist/visualization.es124.js.map +1 -1
  56. package/dist/visualization.es125.js +24 -26
  57. package/dist/visualization.es125.js.map +1 -1
  58. package/dist/visualization.es126.js +80 -66
  59. package/dist/visualization.es126.js.map +1 -1
  60. package/dist/visualization.es127.js +223 -74
  61. package/dist/visualization.es127.js.map +1 -1
  62. package/dist/visualization.es128.js +17 -32
  63. package/dist/visualization.es128.js.map +1 -1
  64. package/dist/visualization.es129.js +103 -13
  65. package/dist/visualization.es129.js.map +1 -1
  66. package/dist/visualization.es13.js +2 -2
  67. package/dist/visualization.es130.js +168 -51
  68. package/dist/visualization.es130.js.map +1 -1
  69. package/dist/visualization.es131.js +81 -31
  70. package/dist/visualization.es131.js.map +1 -1
  71. package/dist/visualization.es132.js +37 -18
  72. package/dist/visualization.es132.js.map +1 -1
  73. package/dist/visualization.es133.js +55 -13
  74. package/dist/visualization.es133.js.map +1 -1
  75. package/dist/visualization.es134.js +46 -25
  76. package/dist/visualization.es134.js.map +1 -1
  77. package/dist/visualization.es137.js +16 -62
  78. package/dist/visualization.es137.js.map +1 -1
  79. package/dist/visualization.es138.js +85 -7
  80. package/dist/visualization.es138.js.map +1 -1
  81. package/dist/visualization.es139.js +1 -1
  82. package/dist/visualization.es14.js +7 -7
  83. package/dist/visualization.es140.js +88 -41
  84. package/dist/visualization.es140.js.map +1 -1
  85. package/dist/visualization.es141.js +12 -30
  86. package/dist/visualization.es141.js.map +1 -1
  87. package/dist/visualization.es142.js +5 -7
  88. package/dist/visualization.es142.js.map +1 -1
  89. package/dist/visualization.es143.js +13 -5
  90. package/dist/visualization.es143.js.map +1 -1
  91. package/dist/visualization.es144.js +7 -4
  92. package/dist/visualization.es144.js.map +1 -1
  93. package/dist/visualization.es145.js +13 -16
  94. package/dist/visualization.es145.js.map +1 -1
  95. package/dist/visualization.es146.js +4 -16
  96. package/dist/visualization.es146.js.map +1 -1
  97. package/dist/visualization.es147.js +6 -31
  98. package/dist/visualization.es147.js.map +1 -1
  99. package/dist/visualization.es148.js +60 -16
  100. package/dist/visualization.es148.js.map +1 -1
  101. package/dist/visualization.es149.js +37 -9
  102. package/dist/visualization.es149.js.map +1 -1
  103. package/dist/visualization.es150.js +36 -6
  104. package/dist/visualization.es150.js.map +1 -1
  105. package/dist/visualization.es151.js +83 -6
  106. package/dist/visualization.es151.js.map +1 -1
  107. package/dist/visualization.es152.js +26 -8
  108. package/dist/visualization.es152.js.map +1 -1
  109. package/dist/visualization.es153.js +3 -4
  110. package/dist/visualization.es153.js.map +1 -1
  111. package/dist/visualization.es154.js +71 -4
  112. package/dist/visualization.es154.js.map +1 -1
  113. package/dist/visualization.es155.js +16 -8
  114. package/dist/visualization.es155.js.map +1 -1
  115. package/dist/visualization.es156.js +11 -4
  116. package/dist/visualization.es156.js.map +1 -1
  117. package/dist/visualization.es157.js +5 -13
  118. package/dist/visualization.es157.js.map +1 -1
  119. package/dist/visualization.es158.js +8 -27
  120. package/dist/visualization.es158.js.map +1 -1
  121. package/dist/visualization.es159.js +15 -60
  122. package/dist/visualization.es159.js.map +1 -1
  123. package/dist/visualization.es16.js +8 -8
  124. package/dist/visualization.es160.js +11 -39
  125. package/dist/visualization.es160.js.map +1 -1
  126. package/dist/visualization.es161.js +5 -36
  127. package/dist/visualization.es161.js.map +1 -1
  128. package/dist/visualization.es162.js +12 -84
  129. package/dist/visualization.es162.js.map +1 -1
  130. package/dist/visualization.es163.js +3 -28
  131. package/dist/visualization.es163.js.map +1 -1
  132. package/dist/visualization.es164.js +2 -8
  133. package/dist/visualization.es164.js.map +1 -1
  134. package/dist/visualization.es165.js +11 -5
  135. package/dist/visualization.es165.js.map +1 -1
  136. package/dist/visualization.es166.js +30 -3
  137. package/dist/visualization.es166.js.map +1 -1
  138. package/dist/visualization.es167.js +41 -70
  139. package/dist/visualization.es167.js.map +1 -1
  140. package/dist/visualization.es168.js +47 -14
  141. package/dist/visualization.es168.js.map +1 -1
  142. package/dist/visualization.es169.js +3 -12
  143. package/dist/visualization.es169.js.map +1 -1
  144. package/dist/visualization.es170.js +3 -5
  145. package/dist/visualization.es170.js.map +1 -1
  146. package/dist/visualization.es171.js +5 -84
  147. package/dist/visualization.es171.js.map +1 -1
  148. package/dist/visualization.es172.js +4 -89
  149. package/dist/visualization.es172.js.map +1 -1
  150. package/dist/visualization.es173.js +10 -12
  151. package/dist/visualization.es173.js.map +1 -1
  152. package/dist/visualization.es174.js +3 -5
  153. package/dist/visualization.es174.js.map +1 -1
  154. package/dist/visualization.es175.js +17 -14
  155. package/dist/visualization.es175.js.map +1 -1
  156. package/dist/visualization.es176.js +19 -7
  157. package/dist/visualization.es176.js.map +1 -1
  158. package/dist/visualization.es177.js +36 -13
  159. package/dist/visualization.es177.js.map +1 -1
  160. package/dist/visualization.es178.js +2 -8
  161. package/dist/visualization.es178.js.map +1 -1
  162. package/dist/visualization.es179.js +2 -16
  163. package/dist/visualization.es179.js.map +1 -1
  164. package/dist/visualization.es180.js +4 -11
  165. package/dist/visualization.es180.js.map +1 -1
  166. package/dist/visualization.es181.js +14 -5
  167. package/dist/visualization.es181.js.map +1 -1
  168. package/dist/visualization.es182.js +3 -12
  169. package/dist/visualization.es182.js.map +1 -1
  170. package/dist/visualization.es183.js +7 -4
  171. package/dist/visualization.es183.js.map +1 -1
  172. package/dist/visualization.es184.js +3 -2
  173. package/dist/visualization.es184.js.map +1 -1
  174. package/dist/visualization.es185.js +7 -11
  175. package/dist/visualization.es185.js.map +1 -1
  176. package/dist/visualization.es186.js +3 -30
  177. package/dist/visualization.es186.js.map +1 -1
  178. package/dist/visualization.es187.js +61 -40
  179. package/dist/visualization.es187.js.map +1 -1
  180. package/dist/visualization.es188.js +7 -50
  181. package/dist/visualization.es188.js.map +1 -1
  182. package/dist/visualization.es189.js +43 -3
  183. package/dist/visualization.es189.js.map +1 -1
  184. package/dist/visualization.es19.js +1 -1
  185. package/dist/visualization.es190.js +10 -3
  186. package/dist/visualization.es190.js.map +1 -1
  187. package/dist/visualization.es191.js +6 -5
  188. package/dist/visualization.es191.js.map +1 -1
  189. package/dist/visualization.es192.js +7 -4
  190. package/dist/visualization.es192.js.map +1 -1
  191. package/dist/visualization.es193.js +9 -10
  192. package/dist/visualization.es193.js.map +1 -1
  193. package/dist/visualization.es194.js +6 -3
  194. package/dist/visualization.es194.js.map +1 -1
  195. package/dist/visualization.es195.js +6 -17
  196. package/dist/visualization.es195.js.map +1 -1
  197. package/dist/visualization.es196.js +5 -18
  198. package/dist/visualization.es196.js.map +1 -1
  199. package/dist/visualization.es197.js +14 -36
  200. package/dist/visualization.es197.js.map +1 -1
  201. package/dist/visualization.es198.js +6 -2
  202. package/dist/visualization.es198.js.map +1 -1
  203. package/dist/visualization.es199.js +4 -2
  204. package/dist/visualization.es199.js.map +1 -1
  205. package/dist/visualization.es2.js +8 -8
  206. package/dist/visualization.es200.js +7 -4
  207. package/dist/visualization.es200.js.map +1 -1
  208. package/dist/visualization.es201.js +6 -14
  209. package/dist/visualization.es201.js.map +1 -1
  210. package/dist/visualization.es202.js +10 -3
  211. package/dist/visualization.es202.js.map +1 -1
  212. package/dist/visualization.es203.js +31 -7
  213. package/dist/visualization.es203.js.map +1 -1
  214. package/dist/visualization.es204.js +8 -3
  215. package/dist/visualization.es204.js.map +1 -1
  216. package/dist/visualization.es205.js +6 -6
  217. package/dist/visualization.es205.js.map +1 -1
  218. package/dist/visualization.es206.js +3 -19
  219. package/dist/visualization.es206.js.map +1 -1
  220. package/dist/visualization.es207.js +16 -27
  221. package/dist/visualization.es207.js.map +1 -1
  222. package/dist/visualization.es208.js +16 -17
  223. package/dist/visualization.es208.js.map +1 -1
  224. package/dist/visualization.es209.js +32 -3
  225. package/dist/visualization.es209.js.map +1 -1
  226. package/dist/visualization.es21.js +63 -43
  227. package/dist/visualization.es21.js.map +1 -1
  228. package/dist/visualization.es210.js +16 -72
  229. package/dist/visualization.es210.js.map +1 -1
  230. package/dist/visualization.es211.js +10 -22
  231. package/dist/visualization.es211.js.map +1 -1
  232. package/dist/visualization.es212.js +6 -22
  233. package/dist/visualization.es212.js.map +1 -1
  234. package/dist/visualization.es213.js +6 -40
  235. package/dist/visualization.es213.js.map +1 -1
  236. package/dist/visualization.es214.js +10 -7
  237. package/dist/visualization.es214.js.map +1 -1
  238. package/dist/visualization.es215.js +4 -12
  239. package/dist/visualization.es215.js.map +1 -1
  240. package/dist/visualization.es216.js +4 -17
  241. package/dist/visualization.es216.js.map +1 -1
  242. package/dist/visualization.es217.js +8 -36
  243. package/dist/visualization.es217.js.map +1 -1
  244. package/dist/visualization.es218.js +4 -24
  245. package/dist/visualization.es218.js.map +1 -1
  246. package/dist/visualization.es219.js +11 -26
  247. package/dist/visualization.es219.js.map +1 -1
  248. package/dist/visualization.es22.js +66 -10
  249. package/dist/visualization.es22.js.map +1 -1
  250. package/dist/visualization.es220.js +26 -18
  251. package/dist/visualization.es220.js.map +1 -1
  252. package/dist/visualization.es221.js +3 -3
  253. package/dist/visualization.es221.js.map +1 -1
  254. package/dist/visualization.es222.js +5 -35
  255. package/dist/visualization.es222.js.map +1 -1
  256. package/dist/visualization.es223.js +33 -74
  257. package/dist/visualization.es223.js.map +1 -1
  258. package/dist/visualization.es224.js +16 -2
  259. package/dist/visualization.es224.js.map +1 -1
  260. package/dist/visualization.es225.js +7 -482
  261. package/dist/visualization.es225.js.map +1 -1
  262. package/dist/visualization.es226.js +12 -2
  263. package/dist/visualization.es226.js.map +1 -1
  264. package/dist/visualization.es227.js +32 -63
  265. package/dist/visualization.es227.js.map +1 -1
  266. package/dist/visualization.es228.js +111 -57
  267. package/dist/visualization.es228.js.map +1 -1
  268. package/dist/visualization.es229.js +17 -122
  269. package/dist/visualization.es229.js.map +1 -1
  270. package/dist/visualization.es23.js +111 -146
  271. package/dist/visualization.es23.js.map +1 -1
  272. package/dist/visualization.es230.js +3 -9
  273. package/dist/visualization.es230.js.map +1 -1
  274. package/dist/visualization.es231.js +35 -6
  275. package/dist/visualization.es231.js.map +1 -1
  276. package/dist/visualization.es232.js +19 -7
  277. package/dist/visualization.es232.js.map +1 -1
  278. package/dist/visualization.es233.js +27 -9
  279. package/dist/visualization.es233.js.map +1 -1
  280. package/dist/visualization.es234.js +72 -6
  281. package/dist/visualization.es234.js.map +1 -1
  282. package/dist/visualization.es235.js +21 -5
  283. package/dist/visualization.es235.js.map +1 -1
  284. package/dist/visualization.es236.js +21 -4
  285. package/dist/visualization.es236.js.map +1 -1
  286. package/dist/visualization.es237.js +40 -14
  287. package/dist/visualization.es237.js.map +1 -1
  288. package/dist/visualization.es238.js +7 -5
  289. package/dist/visualization.es238.js.map +1 -1
  290. package/dist/visualization.es239.js +12 -3
  291. package/dist/visualization.es239.js.map +1 -1
  292. package/dist/visualization.es24.js +143 -62
  293. package/dist/visualization.es24.js.map +1 -1
  294. package/dist/visualization.es240.js +17 -6
  295. package/dist/visualization.es240.js.map +1 -1
  296. package/dist/visualization.es241.js +36 -6
  297. package/dist/visualization.es241.js.map +1 -1
  298. package/dist/visualization.es242.js +24 -9
  299. package/dist/visualization.es242.js.map +1 -1
  300. package/dist/visualization.es243.js +27 -32
  301. package/dist/visualization.es243.js.map +1 -1
  302. package/dist/visualization.es244.js +74 -114
  303. package/dist/visualization.es244.js.map +1 -1
  304. package/dist/visualization.es245.js +2 -4
  305. package/dist/visualization.es245.js.map +1 -1
  306. package/dist/visualization.es246.js +482 -5
  307. package/dist/visualization.es246.js.map +1 -1
  308. package/dist/visualization.es247.js +2 -34
  309. package/dist/visualization.es247.js.map +1 -1
  310. package/dist/visualization.es248.js +123 -15
  311. package/dist/visualization.es248.js.map +1 -1
  312. package/dist/visualization.es249.js +63 -7
  313. package/dist/visualization.es249.js.map +1 -1
  314. package/dist/visualization.es25.js +7 -39
  315. package/dist/visualization.es25.js.map +1 -1
  316. package/dist/visualization.es250.js +59 -10
  317. package/dist/visualization.es250.js.map +1 -1
  318. package/dist/visualization.es254.js +23 -3
  319. package/dist/visualization.es254.js.map +1 -1
  320. package/dist/visualization.es255.js +53 -3
  321. package/dist/visualization.es255.js.map +1 -1
  322. package/dist/visualization.es256.js +20 -3
  323. package/dist/visualization.es256.js.map +1 -1
  324. package/dist/visualization.es257.js +3 -3
  325. package/dist/visualization.es257.js.map +1 -1
  326. package/dist/visualization.es258.js +3 -3
  327. package/dist/visualization.es258.js.map +1 -1
  328. package/dist/visualization.es259.js +2 -2
  329. package/dist/visualization.es259.js.map +1 -1
  330. package/dist/visualization.es26.js +7 -80
  331. package/dist/visualization.es26.js.map +1 -1
  332. package/dist/visualization.es260.js +3 -3
  333. package/dist/visualization.es260.js.map +1 -1
  334. package/dist/visualization.es261.js +3 -7
  335. package/dist/visualization.es261.js.map +1 -1
  336. package/dist/visualization.es262.js +3 -48
  337. package/dist/visualization.es262.js.map +1 -1
  338. package/dist/visualization.es263.js +3 -3
  339. package/dist/visualization.es263.js.map +1 -1
  340. package/dist/visualization.es264.js +6 -5
  341. package/dist/visualization.es264.js.map +1 -1
  342. package/dist/visualization.es265.js +48 -4
  343. package/dist/visualization.es265.js.map +1 -1
  344. package/dist/visualization.es266.js +3 -3
  345. package/dist/visualization.es266.js.map +1 -1
  346. package/dist/visualization.es267.js +5 -5
  347. package/dist/visualization.es267.js.map +1 -1
  348. package/dist/visualization.es268.js +4 -4
  349. package/dist/visualization.es268.js.map +1 -1
  350. package/dist/visualization.es269.js +4 -7
  351. package/dist/visualization.es269.js.map +1 -1
  352. package/dist/visualization.es27.js +47 -45
  353. package/dist/visualization.es27.js.map +1 -1
  354. package/dist/visualization.es270.js +5 -33
  355. package/dist/visualization.es270.js.map +1 -1
  356. package/dist/visualization.es271.js +4 -3
  357. package/dist/visualization.es271.js.map +1 -1
  358. package/dist/visualization.es272.js +3 -4
  359. package/dist/visualization.es272.js.map +1 -1
  360. package/dist/visualization.es273.js +11 -6
  361. package/dist/visualization.es273.js.map +1 -1
  362. package/dist/visualization.es274.js +36 -12
  363. package/dist/visualization.es274.js.map +1 -1
  364. package/dist/visualization.es275.js +261 -2
  365. package/dist/visualization.es275.js.map +1 -1
  366. package/dist/visualization.es276.js +59 -3
  367. package/dist/visualization.es276.js.map +1 -1
  368. package/dist/visualization.es277.js +5 -3
  369. package/dist/visualization.es277.js.map +1 -1
  370. package/dist/visualization.es278.js +52 -9
  371. package/dist/visualization.es278.js.map +1 -1
  372. package/dist/visualization.es279.js +31 -4
  373. package/dist/visualization.es279.js.map +1 -1
  374. package/dist/visualization.es28.js +20 -55
  375. package/dist/visualization.es28.js.map +1 -1
  376. package/dist/visualization.es280.js +30 -29
  377. package/dist/visualization.es280.js.map +1 -1
  378. package/dist/visualization.es281.js +11 -52
  379. package/dist/visualization.es281.js.map +1 -1
  380. package/dist/visualization.es282.js +5 -29
  381. package/dist/visualization.es282.js.map +1 -1
  382. package/dist/visualization.es283.js +137 -30
  383. package/dist/visualization.es283.js.map +1 -1
  384. package/dist/visualization.es284.js +5 -12
  385. package/dist/visualization.es284.js.map +1 -1
  386. package/dist/visualization.es285.js +21 -23
  387. package/dist/visualization.es285.js.map +1 -1
  388. package/dist/visualization.es286.js +37 -53
  389. package/dist/visualization.es286.js.map +1 -1
  390. package/dist/visualization.es287.js +31 -17
  391. package/dist/visualization.es287.js.map +1 -1
  392. package/dist/visualization.es288.js +15 -3
  393. package/dist/visualization.es288.js.map +1 -1
  394. package/dist/visualization.es289.js +19 -12
  395. package/dist/visualization.es289.js.map +1 -1
  396. package/dist/visualization.es29.js +5 -7
  397. package/dist/visualization.es29.js.map +1 -1
  398. package/dist/visualization.es290.js +8 -36
  399. package/dist/visualization.es290.js.map +1 -1
  400. package/dist/visualization.es291.js +91 -242
  401. package/dist/visualization.es291.js.map +1 -1
  402. package/dist/visualization.es292.js +11 -58
  403. package/dist/visualization.es292.js.map +1 -1
  404. package/dist/visualization.es293.js +141 -5
  405. package/dist/visualization.es293.js.map +1 -1
  406. package/dist/visualization.es294.js +5 -21
  407. package/dist/visualization.es294.js.map +1 -1
  408. package/dist/visualization.es295.js +65 -31
  409. package/dist/visualization.es295.js.map +1 -1
  410. package/dist/visualization.es296.js +32 -31
  411. package/dist/visualization.es296.js.map +1 -1
  412. package/dist/visualization.es297.js +21 -15
  413. package/dist/visualization.es297.js.map +1 -1
  414. package/dist/visualization.es298.js +4 -19
  415. package/dist/visualization.es298.js.map +1 -1
  416. package/dist/visualization.es299.js +24 -8
  417. package/dist/visualization.es299.js.map +1 -1
  418. package/dist/visualization.es3.js +12 -12
  419. package/dist/visualization.es30.js +33 -7
  420. package/dist/visualization.es30.js.map +1 -1
  421. package/dist/visualization.es300.js +30 -7
  422. package/dist/visualization.es300.js.map +1 -1
  423. package/dist/visualization.es301.js +2 -141
  424. package/dist/visualization.es301.js.map +1 -1
  425. package/dist/visualization.es302.js +2 -6
  426. package/dist/visualization.es302.js.map +1 -1
  427. package/dist/visualization.es303.js +5 -109
  428. package/dist/visualization.es303.js.map +1 -1
  429. package/dist/visualization.es304.js +14 -12
  430. package/dist/visualization.es304.js.map +1 -1
  431. package/dist/visualization.es305.js +33 -140
  432. package/dist/visualization.es305.js.map +1 -1
  433. package/dist/visualization.es306.js +27 -5
  434. package/dist/visualization.es306.js.map +1 -1
  435. package/dist/visualization.es307.js +10 -71
  436. package/dist/visualization.es307.js.map +1 -1
  437. package/dist/visualization.es308.js +6 -35
  438. package/dist/visualization.es308.js.map +1 -1
  439. package/dist/visualization.es309.js +13 -20
  440. package/dist/visualization.es309.js.map +1 -1
  441. package/dist/visualization.es31.js +35 -5
  442. package/dist/visualization.es31.js.map +1 -1
  443. package/dist/visualization.es310.js +12 -4
  444. package/dist/visualization.es310.js.map +1 -1
  445. package/dist/visualization.es311.js +2 -25
  446. package/dist/visualization.es311.js.map +1 -1
  447. package/dist/visualization.es312.js +3 -31
  448. package/dist/visualization.es312.js.map +1 -1
  449. package/dist/visualization.es313.js +2 -2
  450. package/dist/visualization.es313.js.map +1 -1
  451. package/dist/visualization.es314.js +104 -2
  452. package/dist/visualization.es314.js.map +1 -1
  453. package/dist/visualization.es315.js +4 -5
  454. package/dist/visualization.es315.js.map +1 -1
  455. package/dist/visualization.es316.js +3 -15
  456. package/dist/visualization.es316.js.map +1 -1
  457. package/dist/visualization.es317.js +16 -32
  458. package/dist/visualization.es317.js.map +1 -1
  459. package/dist/visualization.es318.js +5 -27
  460. package/dist/visualization.es318.js.map +1 -1
  461. package/dist/visualization.es319.js +14 -10
  462. package/dist/visualization.es319.js.map +1 -1
  463. package/dist/visualization.es32.js +68 -26
  464. package/dist/visualization.es32.js.map +1 -1
  465. package/dist/visualization.es320.js +4 -6
  466. package/dist/visualization.es320.js.map +1 -1
  467. package/dist/visualization.es321.js +28 -13
  468. package/dist/visualization.es321.js.map +1 -1
  469. package/dist/visualization.es322.js +7 -12
  470. package/dist/visualization.es322.js.map +1 -1
  471. package/dist/visualization.es323.js +2 -2
  472. package/dist/visualization.es323.js.map +1 -1
  473. package/dist/visualization.es324.js +20 -3
  474. package/dist/visualization.es324.js.map +1 -1
  475. package/dist/visualization.es325.js +21 -2
  476. package/dist/visualization.es325.js.map +1 -1
  477. package/dist/visualization.es326.js +5 -103
  478. package/dist/visualization.es326.js.map +1 -1
  479. package/dist/visualization.es327.js +7 -4
  480. package/dist/visualization.es327.js.map +1 -1
  481. package/dist/visualization.es328.js +19 -3
  482. package/dist/visualization.es328.js.map +1 -1
  483. package/dist/visualization.es329.js +43 -18
  484. package/dist/visualization.es329.js.map +1 -1
  485. package/dist/visualization.es33.js +266 -46
  486. package/dist/visualization.es33.js.map +1 -1
  487. package/dist/visualization.es330.js +7 -6
  488. package/dist/visualization.es330.js.map +1 -1
  489. package/dist/visualization.es331.js +19 -14
  490. package/dist/visualization.es331.js.map +1 -1
  491. package/dist/visualization.es332.js +53 -4
  492. package/dist/visualization.es332.js.map +1 -1
  493. package/dist/visualization.es333.js +25 -27
  494. package/dist/visualization.es333.js.map +1 -1
  495. package/dist/visualization.es334.js +11 -7
  496. package/dist/visualization.es334.js.map +1 -1
  497. package/dist/visualization.es335.js +19 -2
  498. package/dist/visualization.es335.js.map +1 -1
  499. package/dist/visualization.es336.js +12 -20
  500. package/dist/visualization.es336.js.map +1 -1
  501. package/dist/visualization.es337.js +5 -21
  502. package/dist/visualization.es337.js.map +1 -1
  503. package/dist/visualization.es338.js +4 -6
  504. package/dist/visualization.es338.js.map +1 -1
  505. package/dist/visualization.es339.js +3 -7
  506. package/dist/visualization.es339.js.map +1 -1
  507. package/dist/visualization.es34.js +140 -33
  508. package/dist/visualization.es34.js.map +1 -1
  509. package/dist/visualization.es340.js +175 -18
  510. package/dist/visualization.es340.js.map +1 -1
  511. package/dist/visualization.es341.js +38 -42
  512. package/dist/visualization.es341.js.map +1 -1
  513. package/dist/visualization.es342.js +6 -7
  514. package/dist/visualization.es342.js.map +1 -1
  515. package/dist/visualization.es343.js +3 -19
  516. package/dist/visualization.es343.js.map +1 -1
  517. package/dist/visualization.es344.js +2 -54
  518. package/dist/visualization.es344.js.map +1 -1
  519. package/dist/visualization.es345.js +30 -27
  520. package/dist/visualization.es345.js.map +1 -1
  521. package/dist/visualization.es346.js +8 -11
  522. package/dist/visualization.es346.js.map +1 -1
  523. package/dist/visualization.es347.js +10 -18
  524. package/dist/visualization.es347.js.map +1 -1
  525. package/dist/visualization.es348.js +3 -11
  526. package/dist/visualization.es348.js.map +1 -1
  527. package/dist/visualization.es349.js +65 -4
  528. package/dist/visualization.es349.js.map +1 -1
  529. package/dist/visualization.es35.js +26 -34
  530. package/dist/visualization.es35.js.map +1 -1
  531. package/dist/visualization.es350.js +7 -4
  532. package/dist/visualization.es350.js.map +1 -1
  533. package/dist/visualization.es351.js +4 -3
  534. package/dist/visualization.es351.js.map +1 -1
  535. package/dist/visualization.es352.js +12 -174
  536. package/dist/visualization.es352.js.map +1 -1
  537. package/dist/visualization.es353.js +34 -39
  538. package/dist/visualization.es353.js.map +1 -1
  539. package/dist/visualization.es354.js +4 -5
  540. package/dist/visualization.es354.js.map +1 -1
  541. package/dist/visualization.es355.js +9 -3
  542. package/dist/visualization.es355.js.map +1 -1
  543. package/dist/visualization.es356.js +2 -2
  544. package/dist/visualization.es356.js.map +1 -1
  545. package/dist/visualization.es357.js +4 -29
  546. package/dist/visualization.es357.js.map +1 -1
  547. package/dist/visualization.es358.js +2 -8
  548. package/dist/visualization.es358.js.map +1 -1
  549. package/dist/visualization.es359.js +9 -10
  550. package/dist/visualization.es359.js.map +1 -1
  551. package/dist/visualization.es36.js +21 -20
  552. package/dist/visualization.es36.js.map +1 -1
  553. package/dist/visualization.es360.js +10 -4
  554. package/dist/visualization.es360.js.map +1 -1
  555. package/dist/visualization.es361.js +13 -66
  556. package/dist/visualization.es361.js.map +1 -1
  557. package/dist/visualization.es362.js +2 -7
  558. package/dist/visualization.es362.js.map +1 -1
  559. package/dist/visualization.es363.js +10 -5
  560. package/dist/visualization.es363.js.map +1 -1
  561. package/dist/visualization.es364.js +7 -13
  562. package/dist/visualization.es364.js.map +1 -1
  563. package/dist/visualization.es365.js +5 -34
  564. package/dist/visualization.es365.js.map +1 -1
  565. package/dist/visualization.es366.js +24 -4
  566. package/dist/visualization.es366.js.map +1 -1
  567. package/dist/visualization.es367.js +19 -10
  568. package/dist/visualization.es367.js.map +1 -1
  569. package/dist/visualization.es368.js +41 -2
  570. package/dist/visualization.es368.js.map +1 -1
  571. package/dist/visualization.es369.js +3 -5
  572. package/dist/visualization.es369.js.map +1 -1
  573. package/dist/visualization.es37.js +18 -13
  574. package/dist/visualization.es37.js.map +1 -1
  575. package/dist/visualization.es370.js +9 -2
  576. package/dist/visualization.es370.js.map +1 -1
  577. package/dist/visualization.es371.js +8 -9
  578. package/dist/visualization.es371.js.map +1 -1
  579. package/dist/visualization.es372.js +36 -10
  580. package/dist/visualization.es372.js.map +1 -1
  581. package/dist/visualization.es373.js +10 -13
  582. package/dist/visualization.es373.js.map +1 -1
  583. package/dist/visualization.es374.js +32 -2
  584. package/dist/visualization.es374.js.map +1 -1
  585. package/dist/visualization.es375.js +5 -10
  586. package/dist/visualization.es375.js.map +1 -1
  587. package/dist/visualization.es376.js +2 -8
  588. package/dist/visualization.es376.js.map +1 -1
  589. package/dist/visualization.es377.js +15 -5
  590. package/dist/visualization.es377.js.map +1 -1
  591. package/dist/visualization.es378.js +23 -23
  592. package/dist/visualization.es378.js.map +1 -1
  593. package/dist/visualization.es379.js +2 -19
  594. package/dist/visualization.es379.js.map +1 -1
  595. package/dist/visualization.es38.js +19 -56
  596. package/dist/visualization.es38.js.map +1 -1
  597. package/dist/visualization.es380.js +61 -39
  598. package/dist/visualization.es380.js.map +1 -1
  599. package/dist/visualization.es381.js +2 -3
  600. package/dist/visualization.es381.js.map +1 -1
  601. package/dist/visualization.es382.js +2 -9
  602. package/dist/visualization.es382.js.map +1 -1
  603. package/dist/visualization.es383.js +5 -8
  604. package/dist/visualization.es383.js.map +1 -1
  605. package/dist/visualization.es384.js +35 -34
  606. package/dist/visualization.es384.js.map +1 -1
  607. package/dist/visualization.es385.js +19 -8
  608. package/dist/visualization.es385.js.map +1 -1
  609. package/dist/visualization.es386.js +3 -31
  610. package/dist/visualization.es386.js.map +1 -1
  611. package/dist/visualization.es387.js +4 -4
  612. package/dist/visualization.es387.js.map +1 -1
  613. package/dist/visualization.es388.js +5 -2
  614. package/dist/visualization.es388.js.map +1 -1
  615. package/dist/visualization.es389.js +47 -14
  616. package/dist/visualization.es389.js.map +1 -1
  617. package/dist/visualization.es39.js +68 -53
  618. package/dist/visualization.es39.js.map +1 -1
  619. package/dist/visualization.es390.js +25 -23
  620. package/dist/visualization.es390.js.map +1 -1
  621. package/dist/visualization.es391.js +17 -2
  622. package/dist/visualization.es391.js.map +1 -1
  623. package/dist/visualization.es392.js +9 -62
  624. package/dist/visualization.es392.js.map +1 -1
  625. package/dist/visualization.es393.js +20 -2
  626. package/dist/visualization.es393.js.map +1 -1
  627. package/dist/visualization.es394.js +14 -2
  628. package/dist/visualization.es394.js.map +1 -1
  629. package/dist/visualization.es395.js +3 -5
  630. package/dist/visualization.es395.js.map +1 -1
  631. package/dist/visualization.es396.js +13 -37
  632. package/dist/visualization.es396.js.map +1 -1
  633. package/dist/visualization.es397.js +46 -18
  634. package/dist/visualization.es397.js.map +1 -1
  635. package/dist/visualization.es398.js +5 -3
  636. package/dist/visualization.es398.js.map +1 -1
  637. package/dist/visualization.es399.js +12 -4
  638. package/dist/visualization.es399.js.map +1 -1
  639. package/dist/visualization.es4.js +6 -6
  640. package/dist/visualization.es40.js +78 -108
  641. package/dist/visualization.es40.js.map +1 -1
  642. package/dist/visualization.es400.js +2 -5
  643. package/dist/visualization.es400.js.map +1 -1
  644. package/dist/visualization.es401.js +6 -48
  645. package/dist/visualization.es401.js.map +1 -1
  646. package/dist/visualization.es402.js +209 -26
  647. package/dist/visualization.es402.js.map +1 -1
  648. package/dist/visualization.es403.js +26 -16
  649. package/dist/visualization.es403.js.map +1 -1
  650. package/dist/visualization.es404.js +4 -10
  651. package/dist/visualization.es404.js.map +1 -1
  652. package/dist/visualization.es405.js +14 -18
  653. package/dist/visualization.es405.js.map +1 -1
  654. package/dist/visualization.es406.js +14 -13
  655. package/dist/visualization.es406.js.map +1 -1
  656. package/dist/visualization.es407.js +15 -4
  657. package/dist/visualization.es407.js.map +1 -1
  658. package/dist/visualization.es408.js +2 -13
  659. package/dist/visualization.es408.js.map +1 -1
  660. package/dist/visualization.es409.js +2 -49
  661. package/dist/visualization.es409.js.map +1 -1
  662. package/dist/visualization.es41.js +18701 -7
  663. package/dist/visualization.es41.js.map +1 -1
  664. package/dist/visualization.es410.js +2 -6
  665. package/dist/visualization.es410.js.map +1 -1
  666. package/dist/visualization.es411.js +5 -13
  667. package/dist/visualization.es411.js.map +1 -1
  668. package/dist/visualization.es412.js +2 -2
  669. package/dist/visualization.es412.js.map +1 -1
  670. package/dist/visualization.es413.js +25 -7
  671. package/dist/visualization.es413.js.map +1 -1
  672. package/dist/visualization.es414.js +21 -209
  673. package/dist/visualization.es414.js.map +1 -1
  674. package/dist/visualization.es415.js +8 -26
  675. package/dist/visualization.es415.js.map +1 -1
  676. package/dist/visualization.es416.js +68 -4
  677. package/dist/visualization.es416.js.map +1 -1
  678. package/dist/visualization.es417.js +5 -15
  679. package/dist/visualization.es417.js.map +1 -1
  680. package/dist/visualization.es418.js +28 -14
  681. package/dist/visualization.es418.js.map +1 -1
  682. package/dist/visualization.es419.js +10 -15
  683. package/dist/visualization.es419.js.map +1 -1
  684. package/dist/visualization.es42.js +5 -8
  685. package/dist/visualization.es42.js.map +1 -1
  686. package/dist/visualization.es420.js +6 -2
  687. package/dist/visualization.es420.js.map +1 -1
  688. package/dist/visualization.es421.js +2 -2
  689. package/dist/visualization.es421.js.map +1 -1
  690. package/dist/visualization.es422.js +5 -2
  691. package/dist/visualization.es422.js.map +1 -1
  692. package/dist/visualization.es423.js +26 -5
  693. package/dist/visualization.es423.js.map +1 -1
  694. package/dist/visualization.es424.js +11 -2
  695. package/dist/visualization.es424.js.map +1 -1
  696. package/dist/visualization.es425.js +27 -25
  697. package/dist/visualization.es425.js.map +1 -1
  698. package/dist/visualization.es426.js +9 -21
  699. package/dist/visualization.es426.js.map +1 -1
  700. package/dist/visualization.es427.js +11 -9
  701. package/dist/visualization.es427.js.map +1 -1
  702. package/dist/visualization.es428.js +2 -68
  703. package/dist/visualization.es428.js.map +1 -1
  704. package/dist/visualization.es429.js +16 -6
  705. package/dist/visualization.es429.js.map +1 -1
  706. package/dist/visualization.es43.js +5 -34
  707. package/dist/visualization.es43.js.map +1 -1
  708. package/dist/visualization.es430.js +30 -29
  709. package/dist/visualization.es430.js.map +1 -1
  710. package/dist/visualization.es431.js +26 -10
  711. package/dist/visualization.es431.js.map +1 -1
  712. package/dist/visualization.es432.js +2 -6
  713. package/dist/visualization.es432.js.map +1 -1
  714. package/dist/visualization.es433.js +9 -2
  715. package/dist/visualization.es433.js.map +1 -1
  716. package/dist/visualization.es434.js +12 -4
  717. package/dist/visualization.es434.js.map +1 -1
  718. package/dist/visualization.es435.js +21 -24
  719. package/dist/visualization.es435.js.map +1 -1
  720. package/dist/visualization.es436.js +12 -10
  721. package/dist/visualization.es436.js.map +1 -1
  722. package/dist/visualization.es437.js +3 -27
  723. package/dist/visualization.es437.js.map +1 -1
  724. package/dist/visualization.es438.js +2 -10
  725. package/dist/visualization.es438.js.map +1 -1
  726. package/dist/visualization.es439.js +17 -10
  727. package/dist/visualization.es439.js.map +1 -1
  728. package/dist/visualization.es44.js +60 -36
  729. package/dist/visualization.es44.js.map +1 -1
  730. package/dist/visualization.es440.js +4 -2
  731. package/dist/visualization.es440.js.map +1 -1
  732. package/dist/visualization.es441.js +12 -16
  733. package/dist/visualization.es441.js.map +1 -1
  734. package/dist/visualization.es442.js +11 -30
  735. package/dist/visualization.es442.js.map +1 -1
  736. package/dist/visualization.es443.js +7 -26
  737. package/dist/visualization.es443.js.map +1 -1
  738. package/dist/visualization.es444.js +19 -2
  739. package/dist/visualization.es444.js.map +1 -1
  740. package/dist/visualization.es445.js +22 -8
  741. package/dist/visualization.es445.js.map +1 -1
  742. package/dist/visualization.es446.js +11 -12
  743. package/dist/visualization.es446.js.map +1 -1
  744. package/dist/visualization.es447.js +49 -21
  745. package/dist/visualization.es447.js.map +1 -1
  746. package/dist/visualization.es448.js +17 -12
  747. package/dist/visualization.es448.js.map +1 -1
  748. package/dist/visualization.es449.js +36 -3
  749. package/dist/visualization.es449.js.map +1 -1
  750. package/dist/visualization.es45.js +810 -193
  751. package/dist/visualization.es45.js.map +1 -1
  752. package/dist/visualization.es450.js +23 -2
  753. package/dist/visualization.es450.js.map +1 -1
  754. package/dist/visualization.es451.js +30 -16
  755. package/dist/visualization.es451.js.map +1 -1
  756. package/dist/visualization.es452.js +3 -3
  757. package/dist/visualization.es452.js.map +1 -1
  758. package/dist/visualization.es453.js +18 -11
  759. package/dist/visualization.es453.js.map +1 -1
  760. package/dist/visualization.es454.js +14 -11
  761. package/dist/visualization.es454.js.map +1 -1
  762. package/dist/visualization.es455.js +10 -6
  763. package/dist/visualization.es455.js.map +1 -1
  764. package/dist/visualization.es456.js +30 -19
  765. package/dist/visualization.es456.js.map +1 -1
  766. package/dist/visualization.es457.js +6 -23
  767. package/dist/visualization.es457.js.map +1 -1
  768. package/dist/visualization.es458.js +7 -11
  769. package/dist/visualization.es458.js.map +1 -1
  770. package/dist/visualization.es459.js +2 -51
  771. package/dist/visualization.es459.js.map +1 -1
  772. package/dist/visualization.es460.js +16 -17
  773. package/dist/visualization.es460.js.map +1 -1
  774. package/dist/visualization.es461.js +7 -34
  775. package/dist/visualization.es461.js.map +1 -1
  776. package/dist/visualization.es462.js +9 -22
  777. package/dist/visualization.es462.js.map +1 -1
  778. package/dist/visualization.es463.js +608 -24
  779. package/dist/visualization.es463.js.map +1 -1
  780. package/dist/visualization.es464.js +50 -3
  781. package/dist/visualization.es464.js.map +1 -1
  782. package/dist/visualization.es465.js +12 -18
  783. package/dist/visualization.es465.js.map +1 -1
  784. package/dist/visualization.es466.js +11 -14
  785. package/dist/visualization.es466.js.map +1 -1
  786. package/dist/visualization.es467.js +23 -11
  787. package/dist/visualization.es467.js.map +1 -1
  788. package/dist/visualization.es468.js +32 -27
  789. package/dist/visualization.es468.js.map +1 -1
  790. package/dist/visualization.es469.js +13 -6
  791. package/dist/visualization.es469.js.map +1 -1
  792. package/dist/visualization.es47.js +128 -185
  793. package/dist/visualization.es47.js.map +1 -1
  794. package/dist/visualization.es470.js +18 -7
  795. package/dist/visualization.es470.js.map +1 -1
  796. package/dist/visualization.es471.js +26 -2
  797. package/dist/visualization.es471.js.map +1 -1
  798. package/dist/visualization.es472.js +24 -14
  799. package/dist/visualization.es472.js.map +1 -1
  800. package/dist/visualization.es473.js +41 -7
  801. package/dist/visualization.es473.js.map +1 -1
  802. package/dist/visualization.es474.js +19 -9
  803. package/dist/visualization.es474.js.map +1 -1
  804. package/dist/visualization.es475.js +37 -612
  805. package/dist/visualization.es475.js.map +1 -1
  806. package/dist/visualization.es476.js +56 -49
  807. package/dist/visualization.es476.js.map +1 -1
  808. package/dist/visualization.es477.js +4 -13
  809. package/dist/visualization.es477.js.map +1 -1
  810. package/dist/visualization.es478.js +3 -11
  811. package/dist/visualization.es478.js.map +1 -1
  812. package/dist/visualization.es479.js +7 -23
  813. package/dist/visualization.es479.js.map +1 -1
  814. package/dist/visualization.es48.js +35 -119
  815. package/dist/visualization.es48.js.map +1 -1
  816. package/dist/visualization.es480.js +15 -34
  817. package/dist/visualization.es480.js.map +1 -1
  818. package/dist/visualization.es481.js +2 -13
  819. package/dist/visualization.es481.js.map +1 -1
  820. package/dist/visualization.es482.js +2 -19
  821. package/dist/visualization.es482.js.map +1 -1
  822. package/dist/visualization.es483.js +2 -26
  823. package/dist/visualization.es483.js.map +1 -1
  824. package/dist/visualization.es484.js +7 -27
  825. package/dist/visualization.es484.js.map +1 -1
  826. package/dist/visualization.es485.js +30 -38
  827. package/dist/visualization.es485.js.map +1 -1
  828. package/dist/visualization.es486.js +3 -19
  829. package/dist/visualization.es486.js.map +1 -1
  830. package/dist/visualization.es487.js +3 -40
  831. package/dist/visualization.es487.js.map +1 -1
  832. package/dist/visualization.es488.js +6 -57
  833. package/dist/visualization.es488.js.map +1 -1
  834. package/dist/visualization.es489.js +12 -3
  835. package/dist/visualization.es489.js.map +1 -1
  836. package/dist/visualization.es49.js +32 -41
  837. package/dist/visualization.es49.js.map +1 -1
  838. package/dist/visualization.es490.js +2 -3
  839. package/dist/visualization.es490.js.map +1 -1
  840. package/dist/visualization.es491.js +4 -7
  841. package/dist/visualization.es491.js.map +1 -1
  842. package/dist/visualization.es492.js +2 -14
  843. package/dist/visualization.es492.js.map +1 -1
  844. package/dist/visualization.es493.js +11 -2
  845. package/dist/visualization.es493.js.map +1 -1
  846. package/dist/visualization.es494.js +5 -2
  847. package/dist/visualization.es494.js.map +1 -1
  848. package/dist/visualization.es495.js +33 -2
  849. package/dist/visualization.es495.js.map +1 -1
  850. package/dist/visualization.es496.js +29 -30
  851. package/dist/visualization.es496.js.map +1 -1
  852. package/dist/visualization.es497.js +120 -29
  853. package/dist/visualization.es497.js.map +1 -1
  854. package/dist/visualization.es498.js +27 -117
  855. package/dist/visualization.es498.js.map +1 -1
  856. package/dist/visualization.es499.js +9 -28
  857. package/dist/visualization.es499.js.map +1 -1
  858. package/dist/visualization.es5.js +6 -6
  859. package/dist/visualization.es50.js +10 -35
  860. package/dist/visualization.es50.js.map +1 -1
  861. package/dist/visualization.es500.js +13 -10
  862. package/dist/visualization.es500.js.map +1 -1
  863. package/dist/visualization.es501.js +32 -13
  864. package/dist/visualization.es501.js.map +1 -1
  865. package/dist/visualization.es502.js +26 -30
  866. package/dist/visualization.es502.js.map +1 -1
  867. package/dist/visualization.es503.js +10 -28
  868. package/dist/visualization.es503.js.map +1 -1
  869. package/dist/visualization.es504.js +12 -10
  870. package/dist/visualization.es504.js.map +1 -1
  871. package/dist/visualization.es505.js +17 -12
  872. package/dist/visualization.es505.js.map +1 -1
  873. package/dist/visualization.es506.js +23 -17
  874. package/dist/visualization.es506.js.map +1 -1
  875. package/dist/visualization.es507.js +13 -20
  876. package/dist/visualization.es507.js.map +1 -1
  877. package/dist/visualization.es508.js +92 -12
  878. package/dist/visualization.es508.js.map +1 -1
  879. package/dist/visualization.es509.js +23 -91
  880. package/dist/visualization.es509.js.map +1 -1
  881. package/dist/visualization.es51.js +52 -67
  882. package/dist/visualization.es51.js.map +1 -1
  883. package/dist/visualization.es510.js +67 -24
  884. package/dist/visualization.es510.js.map +1 -1
  885. package/dist/visualization.es511.js +46 -66
  886. package/dist/visualization.es511.js.map +1 -1
  887. package/dist/visualization.es512.js +30 -47
  888. package/dist/visualization.es512.js.map +1 -1
  889. package/dist/visualization.es513.js +37 -30
  890. package/dist/visualization.es513.js.map +1 -1
  891. package/dist/visualization.es514.js +59 -39
  892. package/dist/visualization.es514.js.map +1 -1
  893. package/dist/visualization.es515.js +236 -8
  894. package/dist/visualization.es515.js.map +1 -1
  895. package/dist/visualization.es516.js +992 -9
  896. package/dist/visualization.es516.js.map +1 -1
  897. package/dist/visualization.es517.js +29 -6
  898. package/dist/visualization.es517.js.map +1 -1
  899. package/dist/visualization.es518.js +9 -8
  900. package/dist/visualization.es518.js.map +1 -1
  901. package/dist/visualization.es519.js +9 -6
  902. package/dist/visualization.es519.js.map +1 -1
  903. package/dist/visualization.es52.js +44 -12
  904. package/dist/visualization.es52.js.map +1 -1
  905. package/dist/visualization.es520.js +6 -5
  906. package/dist/visualization.es520.js.map +1 -1
  907. package/dist/visualization.es521.js +7 -13
  908. package/dist/visualization.es521.js.map +1 -1
  909. package/dist/visualization.es522.js +6 -5
  910. package/dist/visualization.es522.js.map +1 -1
  911. package/dist/visualization.es523.js +4 -5
  912. package/dist/visualization.es523.js.map +1 -1
  913. package/dist/visualization.es524.js +14 -6
  914. package/dist/visualization.es524.js.map +1 -1
  915. package/dist/visualization.es525.js +5 -6
  916. package/dist/visualization.es525.js.map +1 -1
  917. package/dist/visualization.es526.js +6 -3
  918. package/dist/visualization.es526.js.map +1 -1
  919. package/dist/visualization.es527.js +6 -4
  920. package/dist/visualization.es527.js.map +1 -1
  921. package/dist/visualization.es528.js +6 -9
  922. package/dist/visualization.es528.js.map +1 -1
  923. package/dist/visualization.es529.js +3 -237
  924. package/dist/visualization.es529.js.map +1 -1
  925. package/dist/visualization.es53.js +28 -18701
  926. package/dist/visualization.es53.js.map +1 -1
  927. package/dist/visualization.es530.js +4 -992
  928. package/dist/visualization.es530.js.map +1 -1
  929. package/dist/visualization.es531.js +7 -59
  930. package/dist/visualization.es531.js.map +1 -1
  931. package/dist/visualization.es54.js +65 -5
  932. package/dist/visualization.es54.js.map +1 -1
  933. package/dist/visualization.es543.js +1 -1
  934. package/dist/visualization.es544.js +3 -3
  935. package/dist/visualization.es545.js +2 -2
  936. package/dist/visualization.es546.js +2 -2
  937. package/dist/visualization.es548.js +7 -7
  938. package/dist/visualization.es55.js +44 -5
  939. package/dist/visualization.es55.js.map +1 -1
  940. package/dist/visualization.es550.js +1 -1
  941. package/dist/visualization.es553.js +279 -16
  942. package/dist/visualization.es553.js.map +1 -1
  943. package/dist/visualization.es554.js +2 -282
  944. package/dist/visualization.es554.js.map +1 -1
  945. package/dist/visualization.es555.js +128 -2
  946. package/dist/visualization.es555.js.map +1 -1
  947. package/dist/visualization.es556.js +16 -125
  948. package/dist/visualization.es556.js.map +1 -1
  949. package/dist/visualization.es557.js +3 -20
  950. package/dist/visualization.es557.js.map +1 -1
  951. package/dist/visualization.es558.js +3 -7
  952. package/dist/visualization.es558.js.map +1 -1
  953. package/dist/visualization.es559.js +15 -3
  954. package/dist/visualization.es559.js.map +1 -1
  955. package/dist/visualization.es56.js +55 -53
  956. package/dist/visualization.es56.js.map +1 -1
  957. package/dist/visualization.es560.js +3 -6
  958. package/dist/visualization.es560.js.map +1 -1
  959. package/dist/visualization.es561.js +9 -7
  960. package/dist/visualization.es561.js.map +1 -1
  961. package/dist/visualization.es562.js +4 -5
  962. package/dist/visualization.es562.js.map +1 -1
  963. package/dist/visualization.es563.js +6 -4
  964. package/dist/visualization.es563.js.map +1 -1
  965. package/dist/visualization.es564.js +9 -7
  966. package/dist/visualization.es564.js.map +1 -1
  967. package/dist/visualization.es565.js +6 -14
  968. package/dist/visualization.es565.js.map +1 -1
  969. package/dist/visualization.es566.js +4 -9
  970. package/dist/visualization.es566.js.map +1 -1
  971. package/dist/visualization.es567.js +3 -4
  972. package/dist/visualization.es567.js.map +1 -1
  973. package/dist/visualization.es568.js +4 -5
  974. package/dist/visualization.es568.js.map +1 -1
  975. package/dist/visualization.es569.js +11 -6
  976. package/dist/visualization.es569.js.map +1 -1
  977. package/dist/visualization.es57.js +3 -810
  978. package/dist/visualization.es57.js.map +1 -1
  979. package/dist/visualization.es570.js +9 -30
  980. package/dist/visualization.es570.js.map +1 -1
  981. package/dist/visualization.es571.js +30 -34
  982. package/dist/visualization.es571.js.map +1 -1
  983. package/dist/visualization.es572.js +24 -51
  984. package/dist/visualization.es572.js.map +1 -1
  985. package/dist/visualization.es573.js +51 -8
  986. package/dist/visualization.es573.js.map +1 -1
  987. package/dist/visualization.es574.js +3 -4
  988. package/dist/visualization.es574.js.map +1 -1
  989. package/dist/visualization.es575.js +8 -5
  990. package/dist/visualization.es575.js.map +1 -1
  991. package/dist/visualization.es576.js +20 -3
  992. package/dist/visualization.es576.js.map +1 -1
  993. package/dist/visualization.es577.js +7 -3
  994. package/dist/visualization.es577.js.map +1 -1
  995. package/dist/visualization.es578.js +6 -11
  996. package/dist/visualization.es578.js.map +1 -1
  997. package/dist/visualization.es579.js +5 -9
  998. package/dist/visualization.es579.js.map +1 -1
  999. package/dist/visualization.es58.js +50 -0
  1000. package/dist/visualization.es58.js.map +1 -0
  1001. package/dist/visualization.es580.js +7 -24
  1002. package/dist/visualization.es580.js.map +1 -1
  1003. package/dist/visualization.es581.js +15 -3
  1004. package/dist/visualization.es581.js.map +1 -1
  1005. package/dist/visualization.es582.js +4 -3
  1006. package/dist/visualization.es582.js.map +1 -1
  1007. package/dist/visualization.es583.js +6 -9
  1008. package/dist/visualization.es583.js.map +1 -1
  1009. package/dist/visualization.es584.js +34 -8
  1010. package/dist/visualization.es584.js.map +1 -1
  1011. package/dist/visualization.es585.js +8 -15
  1012. package/dist/visualization.es585.js.map +1 -1
  1013. package/dist/visualization.es59.js +4 -131
  1014. package/dist/visualization.es59.js.map +1 -1
  1015. package/dist/visualization.es590.js +1 -1
  1016. package/dist/visualization.es591.js +1 -1
  1017. package/dist/visualization.es593.js +1 -1
  1018. package/dist/visualization.es594.js +1 -1
  1019. package/dist/visualization.es6.js +16 -16
  1020. package/dist/visualization.es60.js +275 -57
  1021. package/dist/visualization.es60.js.map +1 -1
  1022. package/dist/visualization.es606.js +2 -2
  1023. package/dist/visualization.es607.js +3 -3
  1024. package/dist/visualization.es608.js +2 -2
  1025. package/dist/visualization.es61.js +18 -7
  1026. package/dist/visualization.es61.js.map +1 -1
  1027. package/dist/visualization.es612.js +4 -4
  1028. package/dist/visualization.es613.js +1 -1
  1029. package/dist/visualization.es614.js +1 -1
  1030. package/dist/visualization.es616.js +3 -3
  1031. package/dist/visualization.es617.js +4 -4
  1032. package/dist/visualization.es62.js +54 -7
  1033. package/dist/visualization.es62.js.map +1 -1
  1034. package/dist/visualization.es63.js +110 -65
  1035. package/dist/visualization.es63.js.map +1 -1
  1036. package/dist/visualization.es64.js +8 -268
  1037. package/dist/visualization.es64.js.map +1 -1
  1038. package/dist/visualization.es65.js +33 -102
  1039. package/dist/visualization.es65.js.map +1 -1
  1040. package/dist/visualization.es66.js +51 -26
  1041. package/dist/visualization.es66.js.map +1 -1
  1042. package/dist/visualization.es67.js +54 -21
  1043. package/dist/visualization.es67.js.map +1 -1
  1044. package/dist/visualization.es68.js +43 -18
  1045. package/dist/visualization.es68.js.map +1 -1
  1046. package/dist/visualization.es69.js +5 -20
  1047. package/dist/visualization.es69.js.map +1 -1
  1048. package/dist/visualization.es7.js +11 -11
  1049. package/dist/visualization.es70.js +5 -70
  1050. package/dist/visualization.es70.js.map +1 -1
  1051. package/dist/visualization.es71.js +18 -81
  1052. package/dist/visualization.es71.js.map +1 -1
  1053. package/dist/visualization.es72.js +5 -52
  1054. package/dist/visualization.es72.js.map +1 -1
  1055. package/dist/visualization.es73.js +26 -54
  1056. package/dist/visualization.es73.js.map +1 -1
  1057. package/dist/visualization.es74.js +30 -42
  1058. package/dist/visualization.es74.js.map +1 -1
  1059. package/dist/visualization.es75.js +6 -4
  1060. package/dist/visualization.es75.js.map +1 -1
  1061. package/dist/visualization.es76.js +7 -4
  1062. package/dist/visualization.es76.js.map +1 -1
  1063. package/dist/visualization.es77.js +70 -18
  1064. package/dist/visualization.es77.js.map +1 -1
  1065. package/dist/visualization.es78.js +11 -4
  1066. package/dist/visualization.es78.js.map +1 -1
  1067. package/dist/visualization.es79.js +39 -26
  1068. package/dist/visualization.es79.js.map +1 -1
  1069. package/dist/visualization.es8.js +11 -11
  1070. package/dist/visualization.es80.js +80 -30
  1071. package/dist/visualization.es80.js.map +1 -1
  1072. package/dist/visualization.es81.js +45 -112
  1073. package/dist/visualization.es81.js.map +1 -1
  1074. package/dist/visualization.es82.js +56 -29
  1075. package/dist/visualization.es82.js.map +1 -1
  1076. package/dist/visualization.es83.js +6 -64
  1077. package/dist/visualization.es83.js.map +1 -1
  1078. package/dist/visualization.es84.js +23 -59
  1079. package/dist/visualization.es84.js.map +1 -1
  1080. package/dist/visualization.es85.js +12 -3
  1081. package/dist/visualization.es85.js.map +1 -1
  1082. package/dist/visualization.es86.js +56 -45
  1083. package/dist/visualization.es86.js.map +1 -1
  1084. package/dist/visualization.es87.js +36 -4
  1085. package/dist/visualization.es87.js.map +1 -1
  1086. package/dist/visualization.es88.js +193 -281
  1087. package/dist/visualization.es88.js.map +1 -1
  1088. package/dist/visualization.es89.js +143 -17
  1089. package/dist/visualization.es89.js.map +1 -1
  1090. package/dist/visualization.es9.js +1 -1
  1091. package/dist/visualization.es90.js +187 -34
  1092. package/dist/visualization.es90.js.map +1 -1
  1093. package/dist/visualization.es91.js +119 -54
  1094. package/dist/visualization.es91.js.map +1 -1
  1095. package/dist/visualization.es92.js +13 -5
  1096. package/dist/visualization.es92.js.map +1 -1
  1097. package/dist/visualization.es93.js +74 -5
  1098. package/dist/visualization.es93.js.map +1 -1
  1099. package/dist/visualization.es94.js +33 -5
  1100. package/dist/visualization.es94.js.map +1 -1
  1101. package/dist/visualization.es95.js +9 -9
  1102. package/dist/visualization.es95.js.map +1 -1
  1103. package/dist/visualization.es96.js +5 -15
  1104. package/dist/visualization.es96.js.map +1 -1
  1105. package/dist/visualization.es97.js +5 -55
  1106. package/dist/visualization.es97.js.map +1 -1
  1107. package/dist/visualization.es98.js +5 -24
  1108. package/dist/visualization.es98.js.map +1 -1
  1109. package/dist/visualization.es99.js +31 -83
  1110. package/dist/visualization.es99.js.map +1 -1
  1111. package/package.json +1 -1
  1112. package/dist/visualization.es46.js +0 -148
  1113. package/dist/visualization.es46.js.map +0 -1
@@ -1,77 +1,226 @@
1
- import { jsx as A, jsxs as F } from "react/jsx-runtime";
2
- import { c as H } from "react/compiler-runtime";
3
- import B from "./visualization.es141.js";
4
- import I from "./visualization.es36.js";
5
- const R = (E) => {
6
- const e = H(75), {
7
- crossProps: f,
8
- left: G,
9
- top: L,
10
- median: l,
11
- firstQuartile: n,
12
- thirdQuartile: c,
13
- valueScale: t,
14
- medianWidth: s,
15
- tooltipData: w,
16
- handleMouseMove: a,
17
- handleCrossClick: d,
18
- disableViolinPlot: i,
19
- tooltip: r,
20
- horizontal: o
21
- } = E;
22
- let m;
23
- e[0] !== o || e[1] !== c || e[2] !== t ? (m = o ? t(c) : 0, e[0] = o, e[1] = c, e[2] = t, e[3] = m) : m = e[3];
24
- let k;
25
- e[4] !== o || e[5] !== c || e[6] !== t ? (k = o ? 0 : t(c), e[4] = o, e[5] = c, e[6] = t, e[7] = k) : k = e[7];
26
- let p;
27
- e[8] !== m || e[9] !== k ? (p = {
28
- x: m,
29
- y: k
30
- }, e[8] = m, e[9] = k, e[10] = p) : p = e[10];
31
- let u;
32
- e[11] !== n || e[12] !== o || e[13] !== t ? (u = o ? t(n) : 0, e[11] = n, e[12] = o, e[13] = t, e[14] = u) : u = e[14];
33
- let h;
34
- e[15] !== n || e[16] !== o || e[17] !== t ? (h = o ? 0 : t(n), e[15] = n, e[16] = o, e[17] = t, e[18] = h) : h = e[18];
35
- let x;
36
- e[19] !== u || e[20] !== h ? (x = {
37
- x: u,
38
- y: h
39
- }, e[19] = u, e[20] = h, e[21] = x) : x = e[21];
40
- const S = f?.color ?? "#000000", V = w === r && i ? (f?.stroke ?? 1) + 1 : f?.stroke ?? 1;
41
- let v;
42
- e[22] !== i || e[23] !== a || e[24] !== r ? (v = i ? (q) => a(q, r) : void 0, e[22] = i, e[23] = a, e[24] = r, e[25] = v) : v = e[25];
43
- let C;
44
- e[26] !== d || e[27] !== p || e[28] !== x || e[29] !== S || e[30] !== V || e[31] !== v ? (C = /* @__PURE__ */ A(B, { from: p, to: x, stroke: S, strokeWidth: V, onMouseMove: v, onClick: d }), e[26] = d, e[27] = p, e[28] = x, e[29] = S, e[30] = V, e[31] = v, e[32] = C) : C = e[32];
45
- let M;
46
- e[33] !== o || e[34] !== l || e[35] !== s || e[36] !== t ? (M = o ? t(l) : -s / 2, e[33] = o, e[34] = l, e[35] = s, e[36] = t, e[37] = M) : M = e[37];
47
- let y;
48
- e[38] !== o || e[39] !== l || e[40] !== s || e[41] !== t ? (y = o ? -s / 2 : t(l), e[38] = o, e[39] = l, e[40] = s, e[41] = t, e[42] = y) : y = e[42];
49
- let P;
50
- e[43] !== M || e[44] !== y ? (P = {
51
- x: M,
52
- y
53
- }, e[43] = M, e[44] = y, e[45] = P) : P = e[45];
54
- let W;
55
- e[46] !== o || e[47] !== l || e[48] !== s || e[49] !== t ? (W = o ? t(l) : s / 2, e[46] = o, e[47] = l, e[48] = s, e[49] = t, e[50] = W) : W = e[50];
56
- let j;
57
- e[51] !== o || e[52] !== l || e[53] !== s || e[54] !== t ? (j = o ? s / 2 : t(l), e[51] = o, e[52] = l, e[53] = s, e[54] = t, e[55] = j) : j = e[55];
58
- let Q;
59
- e[56] !== W || e[57] !== j ? (Q = {
60
- x: W,
61
- y: j
62
- }, e[56] = W, e[57] = j, e[58] = Q) : Q = e[58];
63
- const $ = f?.medianColor ?? f?.color ?? "#000000", g = w === r && i ? (f?.stroke ?? 1) + 1 : f?.stroke ?? 1;
64
- let b;
65
- e[59] !== i || e[60] !== a || e[61] !== r ? (b = i ? (q) => a(q, r) : void 0, e[59] = i, e[60] = a, e[61] = r, e[62] = b) : b = e[62];
66
- let z;
67
- e[63] !== d || e[64] !== P || e[65] !== Q || e[66] !== $ || e[67] !== g || e[68] !== b ? (z = /* @__PURE__ */ A(B, { from: P, to: Q, stroke: $, strokeWidth: g, onMouseMove: b, onClick: d }), e[63] = d, e[64] = P, e[65] = Q, e[66] = $, e[67] = g, e[68] = b, e[69] = z) : z = e[69];
68
- let D;
69
- return e[70] !== G || e[71] !== C || e[72] !== z || e[73] !== L ? (D = /* @__PURE__ */ F(I, { left: G, top: L, children: [
70
- C,
71
- z
72
- ] }), e[70] = G, e[71] = C, e[72] = z, e[73] = L, e[74] = D) : D = e[74], D;
73
- };
1
+ import { isOutsideRange as z, resolveCellAppearance as tt, DIMMED_OPACITY as nt } from "./visualization.es125.js";
2
+ import { selectionFrame as ot, selectedCellsIn as et } from "./visualization.es126.js";
3
+ const H = (t, n, o) => Math.min(Math.max(t, n), o);
4
+ function Q(t, n, o) {
5
+ const {
6
+ xScale: l,
7
+ cellYScale: i,
8
+ gap: c,
9
+ isRect: e,
10
+ binWidth: a,
11
+ binHeight: u
12
+ } = t;
13
+ if (e)
14
+ return {
15
+ isRect: !0,
16
+ x: l(n),
17
+ y: i(o) + c,
18
+ width: a - c,
19
+ height: u - c
20
+ };
21
+ const r = Math.min(a, u) / 2;
22
+ return {
23
+ isRect: !1,
24
+ cx: n * a + a / 2,
25
+ cy: i(o) + c + r,
26
+ r: r - c,
27
+ radius: r
28
+ };
29
+ }
30
+ function ut(t, n, o, l, i, c) {
31
+ const {
32
+ data: e,
33
+ numRows: a,
34
+ binWidth: u,
35
+ binHeight: r,
36
+ yMax: h
37
+ } = t;
38
+ return {
39
+ colStart: H(Math.floor(n / u) - c, 0, Math.max(0, e.length - 1)),
40
+ colEnd: H(Math.ceil((n + l) / u) + c, 0, Math.max(0, e.length - 1)),
41
+ rowStart: H(Math.floor((h - (o + i)) / r) - c, 0, Math.max(0, a - 1)),
42
+ rowEnd: H(Math.floor((h - o) / r) + c, 0, Math.max(0, a - 1))
43
+ };
44
+ }
45
+ function ht(t, n, o, l) {
46
+ const {
47
+ data: i,
48
+ colorScale: c,
49
+ selectedKeys: e,
50
+ highlightRange: a
51
+ } = n;
52
+ let u = null, r = -1;
53
+ for (let h = o.colStart; h <= o.colEnd; h++) {
54
+ const y = i[h];
55
+ if (y)
56
+ for (let g = o.rowStart; g <= o.rowEnd; g++) {
57
+ const b = y.rows[g];
58
+ if (!b) continue;
59
+ const d = b.count, f = d == null ? void 0 : c(d), p = z(d, a), {
60
+ fill: E,
61
+ fillOpacity: R
62
+ } = tt(d, f, p);
63
+ if (R <= 0) continue;
64
+ const s = Q(n, h, g);
65
+ R !== r && (t.globalAlpha = R, r = R), E !== u && (t.fillStyle = E, u = E);
66
+ const w = l !== null && l.row === g && l.column === h;
67
+ if (s.isRect) {
68
+ const x = Math.max(s.width, 0), m = Math.max(s.height, 0);
69
+ t.fillRect(s.x, s.y, x, m), w && (t.beginPath(), t.rect(s.x, s.y, x, m));
70
+ } else
71
+ t.beginPath(), t.arc(s.cx, s.cy, Math.max(s.r, 0), 0, Math.PI * 2), t.fill();
72
+ w && (t.globalAlpha = 1, r = 1, t.lineWidth = 2, t.strokeStyle = E, t.stroke());
73
+ }
74
+ }
75
+ if (t.globalAlpha = 1, e) {
76
+ const h = {
77
+ colStart: o.colStart - 1,
78
+ colEnd: o.colEnd + 1,
79
+ rowStart: o.rowStart - 1,
80
+ rowEnd: o.rowEnd + 1
81
+ }, y = {
82
+ width: i.length * n.binWidth,
83
+ height: n.yMax
84
+ };
85
+ for (const {
86
+ x: g,
87
+ y: b,
88
+ width: d,
89
+ height: f,
90
+ fill: p
91
+ } of ot(e, et(e, h), n, y))
92
+ t.fillStyle = p, t.fillRect(g, b, d, f);
93
+ }
94
+ }
95
+ const V = 256;
96
+ let S = null;
97
+ function lt(t) {
98
+ if (S ??= document.createElement("canvas").getContext("2d", {
99
+ willReadFrequently: !0
100
+ }), !S) return [0, 0, 0];
101
+ S.clearRect(0, 0, 1, 1), S.fillStyle = "#000", S.fillStyle = t, S.fillRect(0, 0, 1, 1);
102
+ const [n, o, l] = S.getImageData(0, 0, 1, 1).data;
103
+ return [n, o, l];
104
+ }
105
+ const j = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap();
106
+ function ct(t) {
107
+ const n = j.get(t.colorScale);
108
+ if (n) return n;
109
+ const {
110
+ colorScale: o,
111
+ minValue: l,
112
+ maxValue: i
113
+ } = t, c = new Uint8ClampedArray(V * 3);
114
+ for (let e = 0; e < V; e++) {
115
+ const [a, u, r] = lt(o(l + (i - l) * e / (V - 1)) ?? "#000");
116
+ c.set([a, u, r], e * 3);
117
+ }
118
+ return j.set(t.colorScale, c), c;
119
+ }
120
+ function it(t, n) {
121
+ const o = J.get(t);
122
+ if (o && o.length === t.length * n) return o;
123
+ const l = new Float64Array(t.length * n).fill(NaN);
124
+ return t.forEach((i, c) => i.rows.forEach((e, a) => {
125
+ a < n && e.count != null && (l[c * n + a] = e.count);
126
+ })), J.set(t, l), l;
127
+ }
128
+ function at(t, n, o) {
129
+ const {
130
+ data: l,
131
+ numRows: i,
132
+ highlightRange: c,
133
+ minValue: e,
134
+ maxValue: a
135
+ } = t, u = l.length;
136
+ if (u === 0 || i === 0 || n < 1 || o < 1) return null;
137
+ const r = ct(t), h = it(l, i), y = a - e, [g, b] = c ?? [-1 / 0, 1 / 0], d = new ImageData(n, o), f = d.data, p = (s, w) => Array.from({
138
+ length: w
139
+ }, (x, m) => {
140
+ const A = Math.min(Math.floor(m * s / w), s - 1);
141
+ return [A, Math.max(A + 1, Math.floor((m + 1) * s / w))];
142
+ }), E = p(u, n), R = p(i, o);
143
+ for (let s = 0; s < o; s++) {
144
+ const [w, x] = R[s];
145
+ for (let m = 0; m < n; m++) {
146
+ const [A, Z] = E[m];
147
+ let T = 0, k = 0, _ = 0, v = 0, L = 0, N = 0, q = 0, B = 0, C = 0;
148
+ for (let F = A; F < Z; F++) {
149
+ const $ = F * i;
150
+ for (let O = w; O < x; O++) {
151
+ const X = $ + i - 1 - O;
152
+ L++;
153
+ const I = h[X];
154
+ if (I !== I) continue;
155
+ const P = y > 0 ? Math.round(Math.min(Math.max((I - e) / y, 0), 1) * (V - 1)) * 3 : 0, G = r[P], K = r[P + 1], U = r[P + 2], Y = I >= g && I <= b;
156
+ Y && c && (N += G, q += K, B += U, C++);
157
+ const W = Y ? 1 : nt;
158
+ T += G * W, k += K * W, _ += U * W, v += W;
159
+ }
160
+ }
161
+ const M = (s * n + m) * 4;
162
+ C > 0 ? (f[M] = N / C, f[M + 1] = q / C, f[M + 2] = B / C, f[M + 3] = 255) : v > 0 && (f[M] = T / v, f[M + 1] = k / v, f[M + 2] = _ / v, f[M + 3] = v / L * 255);
163
+ }
164
+ }
165
+ return d;
166
+ }
167
+ let D = null;
168
+ function ft(t, n) {
169
+ const {
170
+ width: o,
171
+ height: l
172
+ } = t.canvas;
173
+ t.setTransform(1, 0, 0, 1, 0, 0), t.clearRect(0, 0, o, l);
174
+ const i = Math.min(o, n.data.length), c = Math.min(l, n.numRows), e = at(n, i, c);
175
+ e && (i === o && c === l ? t.putImageData(e, 0, 0) : (D ??= document.createElement("canvas"), D.width = i, D.height = c, D.getContext("2d")?.putImageData(e, 0, 0), t.imageSmoothingEnabled = !1, t.drawImage(D, 0, 0, o, l)));
176
+ }
177
+ function mt(t, n, o) {
178
+ const {
179
+ data: l,
180
+ numRows: i,
181
+ binWidth: c,
182
+ binHeight: e,
183
+ yMax: a
184
+ } = t;
185
+ if (n < 0 || o < 0) return null;
186
+ const u = Math.floor(n / c), r = Math.floor((a - o) / e);
187
+ return u < 0 || u >= l.length || r < 0 || r >= i || !l[u]?.rows[r] ? null : {
188
+ row: r,
189
+ column: u
190
+ };
191
+ }
192
+ function gt(t, n) {
193
+ const o = t.data[n.column], l = o?.rows[n.row];
194
+ if (!o || !l) return null;
195
+ const i = l.count, c = i == null ? void 0 : t.colorScale(i), e = Q(t, n.column, n.row), a = {
196
+ bin: l,
197
+ row: n.row,
198
+ column: n.column,
199
+ datum: o,
200
+ gap: t.gap,
201
+ count: i,
202
+ color: c,
203
+ opacity: i == null ? void 0 : 1
204
+ };
205
+ return e.isRect ? {
206
+ ...a,
207
+ x: e.x,
208
+ y: e.y,
209
+ width: e.width,
210
+ height: e.height
211
+ } : {
212
+ ...a,
213
+ cx: e.cx,
214
+ cy: e.cy,
215
+ r: e.r,
216
+ radius: e.radius
217
+ };
218
+ }
74
219
  export {
75
- R as default
220
+ gt as buildBin,
221
+ ht as drawHeatmapCells,
222
+ ft as drawHeatmapOverview,
223
+ ut as getVisibleRange,
224
+ mt as hitTestCell
76
225
  };
77
226
  //# sourceMappingURL=visualization.es127.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es127.js","sources":["../src/components/ViolinPlot/crossPlot.tsx"],"sourcesContent":["import { CrossPlotProps } from \"./types\";\nimport { Group } from \"@visx/group\";\nimport { Line } from '@visx/shape';\n\n\nconst CrossPlot = <T,>({ crossProps, left, top, median, firstQuartile, thirdQuartile, valueScale, medianWidth, tooltipData, handleMouseMove, handleCrossClick, disableViolinPlot, tooltip, horizontal }: CrossPlotProps<T>) => {\n\n return (\n <Group left={left} top={top}>\n {/* Vertical line from min to max */}\n <Line\n from={{ x: horizontal ? valueScale(thirdQuartile) : 0, y: horizontal ? 0 : valueScale(thirdQuartile) }}\n to={{ x: horizontal ? valueScale(firstQuartile): 0, y: horizontal ? 0: valueScale(firstQuartile) }}\n stroke={crossProps?.color ?? \"#000000\"}\n strokeWidth={\n tooltipData === tooltip && disableViolinPlot\n ? (crossProps?.stroke ?? 1) + 1\n : crossProps?.stroke ?? 1\n }\n onMouseMove={disableViolinPlot ? (e) => handleMouseMove(e, tooltip) : undefined}\n onClick={handleCrossClick}\n />\n {/* Horizontal line at median */}\n <Line\n from={{ x: horizontal ? valueScale(median) : -medianWidth / 2, y: horizontal ? -medianWidth / 2 : valueScale(median) }}\n to={{ x: horizontal ? valueScale(median) : medianWidth / 2, y: horizontal ? medianWidth / 2 : valueScale(median) }}\n stroke={crossProps?.medianColor ?? crossProps?.color ?? \"#000000\"}\n strokeWidth={\n tooltipData === tooltip && disableViolinPlot\n ? (crossProps?.stroke ?? 1) + 1\n : crossProps?.stroke ?? 1\n }\n onMouseMove={disableViolinPlot ? (e) => handleMouseMove(e, tooltip) : undefined}\n onClick={handleCrossClick}\n />\n </Group>\n );\n};\n\nexport default CrossPlot;\n"],"names":["CrossPlot","t0","$","_c","crossProps","left","top","median","firstQuartile","thirdQuartile","valueScale","medianWidth","tooltipData","handleMouseMove","handleCrossClick","disableViolinPlot","tooltip","horizontal","t1","t2","t3","x","y","t4","t5","t6","t7","color","t8","stroke","t9","e","undefined","t10","Line","t11","t12","t13","t14","t15","t16","t17","medianColor","t18","t19","e_0","t20","t21","jsxs","Group"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es127.js","sources":["../src/components/Heatmap/HeatmapCanvasCells.ts"],"sourcesContent":["import type { ColumnDatum, HeatmapCellId } from \"./types\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport { DIMMED_OPACITY, isOutsideRange, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { selectedCellsIn, selectionFrame, type SelectionMarks } from \"./heatmapSelection\";\n\n/** What the canvas renderers and hit-testing need to place and color cells as the SVG renderer does. */\nexport interface CanvasCellParams {\n data: ColumnDatum[];\n numRows: number;\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n colorScale: (count: number) => string | undefined;\n /** The counts colorScale spans, which the overview samples it across. */\n minValue: number;\n maxValue: number;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n yMax: number;\n /** The selected cells' keys, which the grid frames; null where nothing is selected. */\n selectedKeys: Set<string> | null;\n /** The columns and rows holding the selection, which the minimap marks along its edges. */\n selectionMarks: SelectionMarks;\n highlightRange: [number, number] | null;\n}\n\nexport interface CanvasDrawRange {\n colStart: number;\n colEnd: number;\n rowStart: number;\n rowEnd: number;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Mirrors @visx/heatmap's HeatmapRect/HeatmapCircle geometry, so canvas cells land on the pixels SVG\n// cells would. A circle's x is centered in its cell, as HeatmapCell.tsx recomputes it.\ntype CellGeometry =\n | { isRect: true; x: number; y: number; width: number; height: number }\n | { isRect: false; cx: number; cy: number; r: number; radius: number };\n\nfunction getCellGeometry(params: CanvasCellParams, col: number, row: number): CellGeometry {\n const { xScale, cellYScale, gap, isRect, binWidth, binHeight } = params;\n if (isRect) {\n return { isRect: true, x: xScale(col), y: cellYScale(row) + gap, width: binWidth - gap, height: binHeight - gap };\n }\n const radius = Math.min(binWidth, binHeight) / 2;\n return { isRect: false, cx: col * binWidth + binWidth / 2, cy: cellYScale(row) + gap + radius, r: radius - gap, radius };\n}\n\n/**\n * The columns and rows (inclusive) within the scrolled viewport, plus `overscan` either side. Row 0\n * is at the bottom, so the row under content y is floor((yMax - y) / binHeight).\n */\nexport function getVisibleRange(\n params: CanvasCellParams,\n scrollLeft: number,\n scrollTop: number,\n viewportWidth: number,\n viewportHeight: number,\n overscan: number\n): CanvasDrawRange {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n return {\n colStart: clamp(Math.floor(scrollLeft / binWidth) - overscan, 0, Math.max(0, data.length - 1)),\n colEnd: clamp(Math.ceil((scrollLeft + viewportWidth) / binWidth) + overscan, 0, Math.max(0, data.length - 1)),\n rowStart: clamp(Math.floor((yMax - (scrollTop + viewportHeight)) / binHeight) - overscan, 0, Math.max(0, numRows - 1)),\n rowEnd: clamp(Math.floor((yMax - scrollTop) / binHeight) + overscan, 0, Math.max(0, numRows - 1)),\n };\n}\n\n/** Paints the cells in `range` onto `ctx`, whose origin is already at content-space (0,0), and the selection's frame over them. */\nexport function drawHeatmapCells(\n ctx: CanvasRenderingContext2D,\n params: CanvasCellParams,\n range: CanvasDrawRange,\n hoveredCell: HeatmapCellId | null\n) {\n const { data, colorScale, selectedKeys, highlightRange } = params;\n // Setting fillStyle re-parses the color even when unchanged, so repeats are skipped: an export\n // runs this for every cell. A path is built only for the hovered cell, to stroke its outline.\n let lastFill: string | null = null;\n let lastAlpha = -1;\n for (let col = range.colStart; col <= range.colEnd; col++) {\n const columnDatum = data[col];\n if (!columnDatum) continue;\n for (let row = range.rowStart; row <= range.rowEnd; row++) {\n const rowDatum = columnDatum.rows[row];\n if (!rowDatum) continue;\n const count = rowDatum.count;\n const color = count == null ? undefined : colorScale(count);\n const isDimmed = isOutsideRange(count, highlightRange);\n const { fill, fillOpacity } = resolveCellAppearance(count, color, isDimmed);\n if (fillOpacity <= 0) continue;\n\n const geometry = getCellGeometry(params, col, row);\n if (fillOpacity !== lastAlpha) {\n ctx.globalAlpha = fillOpacity;\n lastAlpha = fillOpacity;\n }\n if (fill !== lastFill) {\n ctx.fillStyle = fill;\n lastFill = fill;\n }\n\n const isHovered = hoveredCell !== null && hoveredCell.row === row && hoveredCell.column === col;\n if (geometry.isRect) {\n const width = Math.max(geometry.width, 0);\n const height = Math.max(geometry.height, 0);\n ctx.fillRect(geometry.x, geometry.y, width, height);\n if (isHovered) {\n ctx.beginPath();\n ctx.rect(geometry.x, geometry.y, width, height);\n }\n } else {\n ctx.beginPath();\n ctx.arc(geometry.cx, geometry.cy, Math.max(geometry.r, 0), 0, Math.PI * 2);\n ctx.fill();\n }\n\n if (isHovered) {\n ctx.globalAlpha = 1;\n lastAlpha = 1;\n ctx.lineWidth = 2;\n ctx.strokeStyle = fill;\n ctx.stroke();\n }\n }\n }\n ctx.globalAlpha = 1;\n\n if (selectedKeys) {\n // Past the range by a cell, so the frame's line for a selected cell just outside it still shows.\n const around = {\n colStart: range.colStart - 1,\n colEnd: range.colEnd + 1,\n rowStart: range.rowStart - 1,\n rowEnd: range.rowEnd + 1,\n };\n const bounds = { width: data.length * params.binWidth, height: params.yMax };\n for (const { x, y, width, height, fill } of selectionFrame(selectedKeys, selectedCellsIn(selectedKeys, around), params, bounds)) {\n ctx.fillStyle = fill;\n ctx.fillRect(x, y, width, height);\n }\n }\n}\n\n// Colors sampled from colorScale for the overview, which looks them up rather than calling it per cell.\nconst OVERVIEW_LEVELS = 256;\n\nlet colorParser: CanvasRenderingContext2D | null = null;\n/** Any CSS color as RGB, read back off a 1px canvas, so a color the browser understands is one this does. */\nfunction parseColor(css: string): [number, number, number] {\n colorParser ??= document.createElement(\"canvas\").getContext(\"2d\", { willReadFrequently: true });\n if (!colorParser) return [0, 0, 0];\n colorParser.clearRect(0, 0, 1, 1);\n colorParser.fillStyle = \"#000\";\n colorParser.fillStyle = css;\n colorParser.fillRect(0, 0, 1, 1);\n const [r, g, b] = colorParser.getImageData(0, 0, 1, 1).data;\n return [r, g, b];\n}\n\n// Keyed on identities the layout memoizes, which a highlight sweep leaves alone.\nconst lutCache = new WeakMap<object, Uint8ClampedArray>();\nconst countsCache = new WeakMap<ColumnDatum[], Float64Array>();\n\nfunction colorLut(params: CanvasCellParams): Uint8ClampedArray {\n const cached = lutCache.get(params.colorScale);\n if (cached) return cached;\n const { colorScale, minValue, maxValue } = params;\n const lut = new Uint8ClampedArray(OVERVIEW_LEVELS * 3);\n for (let i = 0; i < OVERVIEW_LEVELS; i++) {\n const [r, g, b] = parseColor(colorScale(minValue + ((maxValue - minValue) * i) / (OVERVIEW_LEVELS - 1)) ?? \"#000\");\n lut.set([r, g, b], i * 3);\n }\n lutCache.set(params.colorScale, lut);\n return lut;\n}\n\n/** Every count in one column-major array, NaN where there is none: several times faster to scan than the row objects. */\nfunction flatCounts(data: ColumnDatum[], numRows: number): Float64Array {\n const cached = countsCache.get(data);\n if (cached && cached.length === data.length * numRows) return cached;\n const counts = new Float64Array(data.length * numRows).fill(NaN);\n data.forEach((column, c) =>\n column.rows.forEach((row, r) => {\n if (r < numRows && row.count != null) counts[c * numRows + r] = row.count;\n })\n );\n countsCache.set(data, counts);\n return counts;\n}\n\n/**\n * The whole grid resampled to `width` x `height` pixels for the minimap, written straight into an\n * ImageData: a fillRect per cell took ~400ms on a million-cell grid.\n *\n * Each pixel averages the cells under it. While highlightRange is set, a pixel holding any cell in\n * the range shows those cells alone at full strength, so a lone outlier isn't averaged away. Cells\n * are drawn as solid squares, without gaps, circles or the selection frame - the minimap marks the\n * selection along its edges instead.\n */\nfunction renderHeatmapOverview(params: CanvasCellParams, width: number, height: number): ImageData | null {\n const { data, numRows, highlightRange, minValue, maxValue } = params;\n const numColumns = data.length;\n if (numColumns === 0 || numRows === 0 || width < 1 || height < 1) return null;\n\n const lut = colorLut(params);\n const counts = flatCounts(data, numRows);\n const span = maxValue - minValue;\n // With no range, every cell is inside it: nothing fades and nothing is singled out.\n const [low, high] = highlightRange ?? [-Infinity, Infinity];\n const image = new ImageData(width, height);\n const pixels = image.data;\n\n // The run of columns (rows) each pixel column (row) covers: at least one, and between them every one.\n const spans = (cells: number, size: number) =>\n Array.from({ length: size }, (_, i) => {\n const start = Math.min(Math.floor((i * cells) / size), cells - 1);\n return [start, Math.max(start + 1, Math.floor(((i + 1) * cells) / size))] as const;\n });\n const columnSpans = spans(numColumns, width);\n // From the top down, where row 0 sits at the bottom of the grid (see cellYScale).\n const rowSpans = spans(numRows, height);\n\n // Scalars and typed arrays only in here: it runs once per cell per redraw.\n for (let y = 0; y < height; y++) {\n const [rowFrom, rowTo] = rowSpans[y];\n for (let x = 0; x < width; x++) {\n const [columnFrom, columnTo] = columnSpans[x];\n // Opacity-weighted sums over every cell, and plain sums over the highlighted ones.\n let r = 0, g = 0, b = 0, a = 0, cells = 0;\n let hr = 0, hg = 0, hb = 0, highlighted = 0;\n for (let column = columnFrom; column < columnTo; column++) {\n const base = column * numRows;\n for (let fromTop = rowFrom; fromTop < rowTo; fromTop++) {\n const index = base + numRows - 1 - fromTop;\n cells++;\n const count = counts[index];\n if (count !== count) continue; // NaN: transparent, as a null cell is drawn nowhere.\n // Held at the ends, as the color scale itself clamps.\n const level = span > 0 ? Math.round(Math.min(Math.max((count - minValue) / span, 0), 1) * (OVERVIEW_LEVELS - 1)) * 3 : 0;\n const cr = lut[level], cg = lut[level + 1], cb = lut[level + 2];\n // isOutsideRange, inlined.\n const inRange = count >= low && count <= high;\n if (inRange && highlightRange) {\n hr += cr; hg += cg; hb += cb; highlighted++;\n }\n const opacity = inRange ? 1 : DIMMED_OPACITY;\n r += cr * opacity; g += cg * opacity; b += cb * opacity; a += opacity;\n }\n }\n const offset = (y * width + x) * 4;\n if (highlighted > 0) {\n pixels[offset] = hr / highlighted;\n pixels[offset + 1] = hg / highlighted;\n pixels[offset + 2] = hb / highlighted;\n pixels[offset + 3] = 255;\n } else if (a > 0) {\n pixels[offset] = r / a;\n pixels[offset + 1] = g / a;\n pixels[offset + 2] = b / a;\n pixels[offset + 3] = (a / cells) * 255;\n }\n }\n }\n return image;\n}\n\nlet overviewScratch: HTMLCanvasElement | null = null;\n\n/**\n * The whole grid, filling the canvas. Rendered at no more than a pixel per cell and stretched\n * nearest-neighbor from there: resampling every pixel of the expanded minimap took over 100ms.\n */\nexport function drawHeatmapOverview(ctx: CanvasRenderingContext2D, params: CanvasCellParams) {\n const { width, height } = ctx.canvas;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, width, height);\n const overviewWidth = Math.min(width, params.data.length);\n const overviewHeight = Math.min(height, params.numRows);\n const overview = renderHeatmapOverview(params, overviewWidth, overviewHeight);\n if (!overview) return;\n if (overviewWidth === width && overviewHeight === height) {\n ctx.putImageData(overview, 0, 0);\n } else {\n overviewScratch ??= document.createElement(\"canvas\");\n overviewScratch.width = overviewWidth;\n overviewScratch.height = overviewHeight;\n overviewScratch.getContext(\"2d\")?.putImageData(overview, 0, 0);\n ctx.imageSmoothingEnabled = false;\n ctx.drawImage(overviewScratch, 0, 0, width, height);\n }\n}\n\n/** Content-space (post-scroll-offset) coordinates -> the cell under them, or null if none. */\nexport function hitTestCell(params: CanvasCellParams, contentX: number, contentY: number): HeatmapCellId | null {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n if (contentX < 0 || contentY < 0) return null;\n const column = Math.floor(contentX / binWidth);\n const row = Math.floor((yMax - contentY) / binHeight);\n if (column < 0 || column >= data.length || row < 0 || row >= numRows) return null;\n if (!data[column]?.rows[row]) return null;\n return { row, column };\n}\n\n/** Builds the same bin shape @visx/heatmap's RectCell/CircleCell provide, for onClick/tooltipBody. */\nexport function buildBin(params: CanvasCellParams, cell: HeatmapCellId): AnyBin | null {\n const columnDatum = params.data[cell.column];\n const rowDatum = columnDatum?.rows[cell.row];\n if (!columnDatum || !rowDatum) return null;\n\n const count = rowDatum.count;\n const color = count == null ? undefined : params.colorScale(count);\n const geometry = getCellGeometry(params, cell.column, cell.row);\n const shared = { bin: rowDatum, row: cell.row, column: cell.column, datum: columnDatum, gap: params.gap, count, color, opacity: count == null ? undefined : 1 };\n\n return geometry.isRect\n ? ({ ...shared, x: geometry.x, y: geometry.y, width: geometry.width, height: geometry.height } as AnyBin)\n : ({ ...shared, cx: geometry.cx, cy: geometry.cy, r: geometry.r, radius: geometry.radius } as AnyBin);\n}\n"],"names":["clamp","value","min","max","Math","getCellGeometry","params","col","row","xScale","cellYScale","gap","isRect","binWidth","binHeight","x","y","width","height","radius","cx","cy","r","getVisibleRange","scrollLeft","scrollTop","viewportWidth","viewportHeight","overscan","data","numRows","yMax","colStart","floor","length","colEnd","ceil","rowStart","rowEnd","drawHeatmapCells","ctx","range","hoveredCell","colorScale","selectedKeys","highlightRange","lastFill","lastAlpha","columnDatum","rowDatum","rows","count","color","undefined","isDimmed","isOutsideRange","fill","fillOpacity","resolveCellAppearance","geometry","globalAlpha","fillStyle","isHovered","column","fillRect","beginPath","rect","arc","PI","lineWidth","strokeStyle","stroke","around","bounds","selectionFrame","selectedCellsIn","OVERVIEW_LEVELS","colorParser","parseColor","css","document","createElement","getContext","willReadFrequently","clearRect","g","b","getImageData","lutCache","WeakMap","countsCache","colorLut","cached","get","minValue","maxValue","lut","Uint8ClampedArray","i","set","flatCounts","counts","Float64Array","NaN","forEach","c","renderHeatmapOverview","numColumns","span","low","high","Infinity","image","ImageData","pixels","spans","cells","size","Array","from","_","start","columnSpans","rowSpans","rowFrom","rowTo","columnFrom","columnTo","a","hr","hg","hb","highlighted","base","fromTop","index","level","round","cr","cg","cb","inRange","opacity","DIMMED_OPACITY","offset","overviewScratch","drawHeatmapOverview","canvas","setTransform","overviewWidth","overviewHeight","overview","putImageData","imageSmoothingEnabled","drawImage","hitTestCell","contentX","contentY","buildBin","cell","shared","bin","datum"],"mappings":";;AAkCA,MAAMA,IAAQA,CAACC,GAAeC,GAAaC,MAAgBC,KAAKF,IAAIE,KAAKD,IAAIF,GAAOC,CAAG,GAAGC,CAAG;AAQ7F,SAASE,EAAgBC,GAA0BC,GAAaC,GAA2B;AACzF,QAAM;AAAA,IAAEC,QAAAA;AAAAA,IAAQC,YAAAA;AAAAA,IAAYC,KAAAA;AAAAA,IAAKC,QAAAA;AAAAA,IAAQC,UAAAA;AAAAA,IAAUC,WAAAA;AAAAA,EAAAA,IAAcR;AACjE,MAAIM;AACF,WAAO;AAAA,MAAEA,QAAQ;AAAA,MAAMG,GAAGN,EAAOF,CAAG;AAAA,MAAGS,GAAGN,EAAWF,CAAG,IAAIG;AAAAA,MAAKM,OAAOJ,IAAWF;AAAAA,MAAKO,QAAQJ,IAAYH;AAAAA,IAAAA;AAE9G,QAAMQ,IAASf,KAAKF,IAAIW,GAAUC,CAAS,IAAI;AAC/C,SAAO;AAAA,IAAEF,QAAQ;AAAA,IAAOQ,IAAIb,IAAMM,IAAWA,IAAW;AAAA,IAAGQ,IAAIX,EAAWF,CAAG,IAAIG,IAAMQ;AAAAA,IAAQG,GAAGH,IAASR;AAAAA,IAAKQ,QAAAA;AAAAA,EAAAA;AAClH;AAMO,SAASI,GACdjB,GACAkB,GACAC,GACAC,GACAC,GACAC,GACiB;AACjB,QAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASjB,UAAAA;AAAAA,IAAUC,WAAAA;AAAAA,IAAWiB,MAAAA;AAAAA,EAAAA,IAASzB;AACrD,SAAO;AAAA,IACL0B,UAAUhC,EAAMI,KAAK6B,MAAMT,IAAaX,CAAQ,IAAIe,GAAU,GAAGxB,KAAKD,IAAI,GAAG0B,EAAKK,SAAS,CAAC,CAAC;AAAA,IAC7FC,QAAQnC,EAAMI,KAAKgC,MAAMZ,IAAaE,KAAiBb,CAAQ,IAAIe,GAAU,GAAGxB,KAAKD,IAAI,GAAG0B,EAAKK,SAAS,CAAC,CAAC;AAAA,IAC5GG,UAAUrC,EAAMI,KAAK6B,OAAOF,KAAQN,IAAYE,MAAmBb,CAAS,IAAIc,GAAU,GAAGxB,KAAKD,IAAI,GAAG2B,IAAU,CAAC,CAAC;AAAA,IACrHQ,QAAQtC,EAAMI,KAAK6B,OAAOF,IAAON,KAAaX,CAAS,IAAIc,GAAU,GAAGxB,KAAKD,IAAI,GAAG2B,IAAU,CAAC,CAAC;AAAA,EAAA;AAEpG;AAGO,SAASS,GACdC,GACAlC,GACAmC,GACAC,GACA;AACA,QAAM;AAAA,IAAEb,MAAAA;AAAAA,IAAMc,YAAAA;AAAAA,IAAYC,cAAAA;AAAAA,IAAcC,gBAAAA;AAAAA,EAAAA,IAAmBvC;AAG3D,MAAIwC,IAA0B,MAC1BC,IAAY;AAChB,WAASxC,IAAMkC,EAAMT,UAAUzB,KAAOkC,EAAMN,QAAQ5B,KAAO;AACzD,UAAMyC,IAAcnB,EAAKtB,CAAG;AAC5B,QAAKyC;AACL,eAASxC,IAAMiC,EAAMJ,UAAU7B,KAAOiC,EAAMH,QAAQ9B,KAAO;AACzD,cAAMyC,IAAWD,EAAYE,KAAK1C,CAAG;AACrC,YAAI,CAACyC,EAAU;AACf,cAAME,IAAQF,EAASE,OACjBC,IAAQD,KAAS,OAAOE,SAAYV,EAAWQ,CAAK,GACpDG,IAAWC,EAAeJ,GAAON,CAAc,GAC/C;AAAA,UAAEW,MAAAA;AAAAA,UAAMC,aAAAA;AAAAA,QAAAA,IAAgBC,GAAsBP,GAAOC,GAAOE,CAAQ;AAC1E,YAAIG,KAAe,EAAG;AAEtB,cAAME,IAAWtD,EAAgBC,GAAQC,GAAKC,CAAG;AACjD,QAAIiD,MAAgBV,MAClBP,EAAIoB,cAAcH,GAClBV,IAAYU,IAEVD,MAASV,MACXN,EAAIqB,YAAYL,GAChBV,IAAWU;AAGb,cAAMM,IAAYpB,MAAgB,QAAQA,EAAYlC,QAAQA,KAAOkC,EAAYqB,WAAWxD;AAC5F,YAAIoD,EAAS/C,QAAQ;AACnB,gBAAMK,IAAQb,KAAKD,IAAIwD,EAAS1C,OAAO,CAAC,GAClCC,IAASd,KAAKD,IAAIwD,EAASzC,QAAQ,CAAC;AAC1CsB,UAAAA,EAAIwB,SAASL,EAAS5C,GAAG4C,EAAS3C,GAAGC,GAAOC,CAAM,GAC9C4C,MACFtB,EAAIyB,UAAAA,GACJzB,EAAI0B,KAAKP,EAAS5C,GAAG4C,EAAS3C,GAAGC,GAAOC,CAAM;AAAA,QAElD;AACEsB,UAAAA,EAAIyB,UAAAA,GACJzB,EAAI2B,IAAIR,EAASvC,IAAIuC,EAAStC,IAAIjB,KAAKD,IAAIwD,EAASrC,GAAG,CAAC,GAAG,GAAGlB,KAAKgE,KAAK,CAAC,GACzE5B,EAAIgB,KAAAA;AAGN,QAAIM,MACFtB,EAAIoB,cAAc,GAClBb,IAAY,GACZP,EAAI6B,YAAY,GAChB7B,EAAI8B,cAAcd,GAClBhB,EAAI+B,OAAAA;AAAAA,MAER;AAAA,EACF;AAGA,MAFA/B,EAAIoB,cAAc,GAEdhB,GAAc;AAEhB,UAAM4B,IAAS;AAAA,MACbxC,UAAUS,EAAMT,WAAW;AAAA,MAC3BG,QAAQM,EAAMN,SAAS;AAAA,MACvBE,UAAUI,EAAMJ,WAAW;AAAA,MAC3BC,QAAQG,EAAMH,SAAS;AAAA,IAAA,GAEnBmC,IAAS;AAAA,MAAExD,OAAOY,EAAKK,SAAS5B,EAAOO;AAAAA,MAAUK,QAAQZ,EAAOyB;AAAAA,IAAAA;AACtE,eAAW;AAAA,MAAEhB,GAAAA;AAAAA,MAAGC,GAAAA;AAAAA,MAAGC,OAAAA;AAAAA,MAAOC,QAAAA;AAAAA,MAAQsC,MAAAA;AAAAA,IAAAA,KAAUkB,GAAe9B,GAAc+B,GAAgB/B,GAAc4B,CAAM,GAAGlE,GAAQmE,CAAM;AAC5HjC,MAAAA,EAAIqB,YAAYL,GAChBhB,EAAIwB,SAASjD,GAAGC,GAAGC,GAAOC,CAAM;AAAA,EAEpC;AACF;AAGA,MAAM0D,IAAkB;AAExB,IAAIC,IAA+C;AAEnD,SAASC,GAAWC,GAAuC;AAEzD,MADAF,MAAgBG,SAASC,cAAc,QAAQ,EAAEC,WAAW,MAAM;AAAA,IAAEC,oBAAoB;AAAA,EAAA,CAAM,GAC1F,CAACN,EAAa,QAAO,CAAC,GAAG,GAAG,CAAC;AACjCA,EAAAA,EAAYO,UAAU,GAAG,GAAG,GAAG,CAAC,GAChCP,EAAYhB,YAAY,QACxBgB,EAAYhB,YAAYkB,GACxBF,EAAYb,SAAS,GAAG,GAAG,GAAG,CAAC;AAC/B,QAAM,CAAC1C,GAAG+D,GAAGC,CAAC,IAAIT,EAAYU,aAAa,GAAG,GAAG,GAAG,CAAC,EAAE1D;AACvD,SAAO,CAACP,GAAG+D,GAAGC,CAAC;AACjB;AAGA,MAAME,wBAAeC,QAAAA,GACfC,wBAAkBD,QAAAA;AAExB,SAASE,GAASrF,GAA6C;AAC7D,QAAMsF,IAASJ,EAASK,IAAIvF,EAAOqC,UAAU;AAC7C,MAAIiD,EAAQ,QAAOA;AACnB,QAAM;AAAA,IAAEjD,YAAAA;AAAAA,IAAYmD,UAAAA;AAAAA,IAAUC,UAAAA;AAAAA,EAAAA,IAAazF,GACrC0F,IAAM,IAAIC,kBAAkBrB,IAAkB,CAAC;AACrD,WAASsB,IAAI,GAAGA,IAAItB,GAAiBsB,KAAK;AACxC,UAAM,CAAC5E,GAAG+D,GAAGC,CAAC,IAAIR,GAAWnC,EAAWmD,KAAaC,IAAWD,KAAYI,KAAMtB,IAAkB,EAAE,KAAK,MAAM;AACjHoB,IAAAA,EAAIG,IAAI,CAAC7E,GAAG+D,GAAGC,CAAC,GAAGY,IAAI,CAAC;AAAA,EAC1B;AACAV,SAAAA,EAASW,IAAI7F,EAAOqC,YAAYqD,CAAG,GAC5BA;AACT;AAGA,SAASI,GAAWvE,GAAqBC,GAA+B;AACtE,QAAM8D,IAASF,EAAYG,IAAIhE,CAAI;AACnC,MAAI+D,KAAUA,EAAO1D,WAAWL,EAAKK,SAASJ,EAAS,QAAO8D;AAC9D,QAAMS,IAAS,IAAIC,aAAazE,EAAKK,SAASJ,CAAO,EAAE0B,KAAK+C,GAAG;AAC/D1E,SAAAA,EAAK2E,QAAQ,CAACzC,GAAQ0C,MACpB1C,EAAOb,KAAKsD,QAAQ,CAAChG,GAAKc,MAAM;AAC9B,IAAIA,IAAIQ,KAAWtB,EAAI2C,SAAS,WAAasD,IAAI3E,IAAUR,CAAC,IAAId,EAAI2C;AAAAA,EACtE,CAAC,CACH,GACAuC,EAAYS,IAAItE,GAAMwE,CAAM,GACrBA;AACT;AAWA,SAASK,GAAsBpG,GAA0BW,GAAeC,GAAkC;AACxG,QAAM;AAAA,IAAEW,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASe,gBAAAA;AAAAA,IAAgBiD,UAAAA;AAAAA,IAAUC,UAAAA;AAAAA,EAAAA,IAAazF,GACxDqG,IAAa9E,EAAKK;AACxB,MAAIyE,MAAe,KAAK7E,MAAY,KAAKb,IAAQ,KAAKC,IAAS,EAAG,QAAO;AAEzE,QAAM8E,IAAML,GAASrF,CAAM,GACrB+F,IAASD,GAAWvE,GAAMC,CAAO,GACjC8E,IAAOb,IAAWD,GAElB,CAACe,GAAKC,CAAI,IAAIjE,KAAkB,CAAC,QAAWkE,KAAQ,GACpDC,IAAQ,IAAIC,UAAUhG,GAAOC,CAAM,GACnCgG,IAASF,EAAMnF,MAGfsF,IAAQA,CAACC,GAAeC,MAC5BC,MAAMC,KAAK;AAAA,IAAErF,QAAQmF;AAAAA,EAAAA,GAAQ,CAACG,GAAGtB,MAAM;AACrC,UAAMuB,IAAQrH,KAAKF,IAAIE,KAAK6B,MAAOiE,IAAIkB,IAASC,CAAI,GAAGD,IAAQ,CAAC;AAChE,WAAO,CAACK,GAAOrH,KAAKD,IAAIsH,IAAQ,GAAGrH,KAAK6B,OAAQiE,IAAI,KAAKkB,IAASC,CAAI,CAAC,CAAC;AAAA,EAC1E,CAAC,GACGK,IAAcP,EAAMR,GAAY1F,CAAK,GAErC0G,IAAWR,EAAMrF,GAASZ,CAAM;AAGtC,WAASF,IAAI,GAAGA,IAAIE,GAAQF,KAAK;AAC/B,UAAM,CAAC4G,GAASC,CAAK,IAAIF,EAAS3G,CAAC;AACnC,aAASD,IAAI,GAAGA,IAAIE,GAAOF,KAAK;AAC9B,YAAM,CAAC+G,GAAYC,CAAQ,IAAIL,EAAY3G,CAAC;AAE5C,UAAIO,IAAI,GAAG+D,IAAI,GAAGC,IAAI,GAAG0C,IAAI,GAAGZ,IAAQ,GACpCa,IAAK,GAAGC,IAAK,GAAGC,IAAK,GAAGC,IAAc;AAC1C,eAASrE,IAAS+D,GAAY/D,IAASgE,GAAUhE,KAAU;AACzD,cAAMsE,IAAOtE,IAASjC;AACtB,iBAASwG,IAAUV,GAASU,IAAUT,GAAOS,KAAW;AACtD,gBAAMC,IAAQF,IAAOvG,IAAU,IAAIwG;AACnClB,UAAAA;AACA,gBAAMjE,IAAQkD,EAAOkC,CAAK;AAC1B,cAAIpF,MAAUA,EAAO;AAErB,gBAAMqF,IAAQ5B,IAAO,IAAIxG,KAAKqI,MAAMrI,KAAKF,IAAIE,KAAKD,KAAKgD,IAAQ2C,KAAYc,GAAM,CAAC,GAAG,CAAC,KAAKhC,IAAkB,EAAE,IAAI,IAAI,GACjH8D,IAAK1C,EAAIwC,CAAK,GAAGG,IAAK3C,EAAIwC,IAAQ,CAAC,GAAGI,IAAK5C,EAAIwC,IAAQ,CAAC,GAExDK,IAAU1F,KAAS0D,KAAO1D,KAAS2D;AACzC,UAAI+B,KAAWhG,MACboF,KAAMS,GAAIR,KAAMS,GAAIR,KAAMS,GAAIR;AAEhC,gBAAMU,IAAUD,IAAU,IAAIE;AAC9BzH,UAAAA,KAAKoH,IAAKI,GAASzD,KAAKsD,IAAKG,GAASxD,KAAKsD,IAAKE,GAASd,KAAKc;AAAAA,QAChE;AAAA,MACF;AACA,YAAME,KAAUhI,IAAIC,IAAQF,KAAK;AACjC,MAAIqH,IAAc,KAChBlB,EAAO8B,CAAM,IAAIf,IAAKG,GACtBlB,EAAO8B,IAAS,CAAC,IAAId,IAAKE,GAC1BlB,EAAO8B,IAAS,CAAC,IAAIb,IAAKC,GAC1BlB,EAAO8B,IAAS,CAAC,IAAI,OACZhB,IAAI,MACbd,EAAO8B,CAAM,IAAI1H,IAAI0G,GACrBd,EAAO8B,IAAS,CAAC,IAAI3D,IAAI2C,GACzBd,EAAO8B,IAAS,CAAC,IAAI1D,IAAI0C,GACzBd,EAAO8B,IAAS,CAAC,IAAKhB,IAAIZ,IAAS;AAAA,IAEvC;AAAA,EACF;AACA,SAAOJ;AACT;AAEA,IAAIiC,IAA4C;AAMzC,SAASC,GAAoB1G,GAA+BlC,GAA0B;AAC3F,QAAM;AAAA,IAAEW,OAAAA;AAAAA,IAAOC,QAAAA;AAAAA,EAAAA,IAAWsB,EAAI2G;AAC9B3G,EAAAA,EAAI4G,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GACjC5G,EAAI4C,UAAU,GAAG,GAAGnE,GAAOC,CAAM;AACjC,QAAMmI,IAAgBjJ,KAAKF,IAAIe,GAAOX,EAAOuB,KAAKK,MAAM,GAClDoH,IAAiBlJ,KAAKF,IAAIgB,GAAQZ,EAAOwB,OAAO,GAChDyH,IAAW7C,GAAsBpG,GAAQ+I,GAAeC,CAAc;AAC5E,EAAKC,MACDF,MAAkBpI,KAASqI,MAAmBpI,IAChDsB,EAAIgH,aAAaD,GAAU,GAAG,CAAC,KAE/BN,MAAoBjE,SAASC,cAAc,QAAQ,GACnDgE,EAAgBhI,QAAQoI,GACxBJ,EAAgB/H,SAASoI,GACzBL,EAAgB/D,WAAW,IAAI,GAAGsE,aAAaD,GAAU,GAAG,CAAC,GAC7D/G,EAAIiH,wBAAwB,IAC5BjH,EAAIkH,UAAUT,GAAiB,GAAG,GAAGhI,GAAOC,CAAM;AAEtD;AAGO,SAASyI,GAAYrJ,GAA0BsJ,GAAkBC,GAAwC;AAC9G,QAAM;AAAA,IAAEhI,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASjB,UAAAA;AAAAA,IAAUC,WAAAA;AAAAA,IAAWiB,MAAAA;AAAAA,EAAAA,IAASzB;AACrD,MAAIsJ,IAAW,KAAKC,IAAW,EAAG,QAAO;AACzC,QAAM9F,IAAS3D,KAAK6B,MAAM2H,IAAW/I,CAAQ,GACvCL,IAAMJ,KAAK6B,OAAOF,IAAO8H,KAAY/I,CAAS;AAEpD,SADIiD,IAAS,KAAKA,KAAUlC,EAAKK,UAAU1B,IAAM,KAAKA,KAAOsB,KACzD,CAACD,EAAKkC,CAAM,GAAGb,KAAK1C,CAAG,IAAU,OAC9B;AAAA,IAAEA,KAAAA;AAAAA,IAAKuD,QAAAA;AAAAA,EAAAA;AAChB;AAGO,SAAS+F,GAASxJ,GAA0ByJ,GAAoC;AACrF,QAAM/G,IAAc1C,EAAOuB,KAAKkI,EAAKhG,MAAM,GACrCd,IAAWD,GAAaE,KAAK6G,EAAKvJ,GAAG;AAC3C,MAAI,CAACwC,KAAe,CAACC,EAAU,QAAO;AAEtC,QAAME,IAAQF,EAASE,OACjBC,IAAQD,KAAS,OAAOE,SAAY/C,EAAOqC,WAAWQ,CAAK,GAC3DQ,IAAWtD,EAAgBC,GAAQyJ,EAAKhG,QAAQgG,EAAKvJ,GAAG,GACxDwJ,IAAS;AAAA,IAAEC,KAAKhH;AAAAA,IAAUzC,KAAKuJ,EAAKvJ;AAAAA,IAAKuD,QAAQgG,EAAKhG;AAAAA,IAAQmG,OAAOlH;AAAAA,IAAarC,KAAKL,EAAOK;AAAAA,IAAKwC,OAAAA;AAAAA,IAAOC,OAAAA;AAAAA,IAAO0F,SAAS3F,KAAS,OAAOE,SAAY;AAAA,EAAA;AAE5J,SAAOM,EAAS/C,SACX;AAAA,IAAE,GAAGoJ;AAAAA,IAAQjJ,GAAG4C,EAAS5C;AAAAA,IAAGC,GAAG2C,EAAS3C;AAAAA,IAAGC,OAAO0C,EAAS1C;AAAAA,IAAOC,QAAQyC,EAASzC;AAAAA,EAAAA,IACnF;AAAA,IAAE,GAAG8I;AAAAA,IAAQ5I,IAAIuC,EAASvC;AAAAA,IAAIC,IAAIsC,EAAStC;AAAAA,IAAIC,GAAGqC,EAASrC;AAAAA,IAAGH,QAAQwC,EAASxC;AAAAA,EAAAA;AACtF;"}
@@ -1,36 +1,21 @@
1
- import { jsx as s, jsxs as f } from "react/jsx-runtime";
2
- import { c as d } from "react/compiler-runtime";
3
- import u from "./visualization.es91.js";
4
- const $ = (i) => {
5
- const t = d(7), {
6
- left: e,
7
- top: o,
8
- data: r,
9
- open: a,
10
- pointTooltipBody: l
11
- } = i;
12
- if (!a || !r)
13
- return null;
14
- const c = e + 10;
15
- let n;
16
- t[0] !== r || t[1] !== l ? (n = l && r.point ? l(r.point) : Object.entries(r).map(g), t[0] = r, t[1] = l, t[2] = n) : n = t[2];
17
- let p;
18
- return t[3] !== c || t[4] !== n || t[5] !== o ? (p = /* @__PURE__ */ s(u, { left: c, top: o, children: n }), t[3] = c, t[4] = n, t[5] = o, t[6] = p) : p = t[6], p;
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { c as p } from "react/compiler-runtime";
3
+ import { SELECTION_COLOR as f } from "./visualization.es126.js";
4
+ const m = 6, n = 4, u = ($) => {
5
+ const t = p(6), {
6
+ axis: r,
7
+ marked: s,
8
+ scale: l
9
+ } = $;
10
+ let e;
11
+ t[0] !== s ? (e = [...s], t[0] = s, t[1] = e) : e = t[1];
12
+ let o;
13
+ return t[2] !== r || t[3] !== l || t[4] !== e ? (o = /* @__PURE__ */ i("g", { fill: f, pointerEvents: "none", children: e.map((c) => {
14
+ const a = l(c + 0.5);
15
+ return /* @__PURE__ */ i("path", { d: r === "column" ? `M${a},1 l${n},${m} h${-2 * n} z` : `M-1,${a} l${-m},${-n} v${2 * n} z` }, c);
16
+ }) }), t[2] = r, t[3] = l, t[4] = e, t[5] = o) : o = t[5], o;
19
17
  };
20
- function m(i) {
21
- return i.toUpperCase();
22
- }
23
- function g(i) {
24
- const [t, e] = i, o = t.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/^./, m);
25
- return t === "outlier" ? /* @__PURE__ */ s("div", { children: /* @__PURE__ */ s("strong", { children: o }) }, t) : /* @__PURE__ */ f("div", { children: [
26
- /* @__PURE__ */ f("strong", { children: [
27
- o,
28
- ": "
29
- ] }),
30
- typeof e == "string" ? e.length > 45 ? `${e.replace(/_/g, " ").slice(0, 45)}...` : e.replace(/_/g, " ") : String(e)
31
- ] }, t);
32
- }
33
18
  export {
34
- $ as default
19
+ u as default
35
20
  };
36
21
  //# sourceMappingURL=visualization.es128.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es128.js","sources":["../src/components/ViolinPlot/violinTooltip.tsx"],"sourcesContent":["import { TooltipWithBounds } from \"@visx/tooltip\";\nimport { TooltipProps } from \"./types\";\n\nconst ViolinTooltip = <T,>({ left, top, data, open, pointTooltipBody }: TooltipProps<T>) => {\n if (!open || !data) return null;\n\n return (\n <TooltipWithBounds left={left + 10} top={top}>\n {pointTooltipBody && data.point ? (\n pointTooltipBody(data.point)\n ) : (\n Object.entries(data as Record<string, unknown>).map(([key, value]) => {\n const formattedKey = key\n .replace(/([a-z])([A-Z])/g, \"$1 $2\")\n .replace(/^./, str => str.toUpperCase());\n\n if (key === \"outlier\") {\n return (\n <div key={key}>\n <strong>{formattedKey}</strong>\n </div>\n );\n } else {\n return (\n <div key={key}>\n <strong>{formattedKey}: </strong>\n {typeof value === 'string'\n ? (value.length > 45\n ? `${value.replace(/_/g, \" \").slice(0, 45)}...`\n : value.replace(/_/g, \" \"))\n : String(value)}\n </div>\n );\n }\n })\n )}\n </TooltipWithBounds>\n );\n};\n\nexport default ViolinTooltip;\n"],"names":["ViolinTooltip","t0","$","_c","left","top","data","open","pointTooltipBody","t1","t2","point","Object","entries","map","_temp2","t3","TooltipWithBounds","_temp","str","toUpperCase","key","value","formattedKey","replace","jsx","jsxs","length","slice","String"],"mappings":";;;AAGA,MAAMA,IAAgBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAK;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,EAAAA,IAAAP;AACvB,MAAI,CAACM,KAAD,CAAUD;AAAI,WAAS;AAGE,QAAAG,IAAAL,IAAO;AAAE,MAAAM;AAAA,EAAAR,EAAA,CAAA,MAAAI,KAAAJ,SAAAM,KAC7BE,IAAAF,KAAoBF,EAAIK,QACrBH,EAAiBF,EAAIK,KA0BzB,IAxBIC,OAAMC,QAASP,CAA+B,EAACQ,IAAKC,CAwBxD,GAACb,OAAAI,GAAAJ,OAAAM,GAAAN,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAc;AAAA,SAAAd,EAAA,CAAA,MAAAO,KAAAP,SAAAQ,KAAAR,EAAA,CAAA,MAAAG,KA5BLW,sBAACC,GAAA,EAAwB,MAAAR,GAAgBJ,KAAAA,GACpCK,UAAAA,GA4BL,GAAoBR,OAAAO,GAAAP,OAAAQ,GAAAR,OAAAG,GAAAH,OAAAc,KAAAA,IAAAd,EAAA,CAAA,GA7BpBc;AA6BoB;AAjCN,SAAAE,EAAAC,GAAA;AAAA,SAWwBA,EAAGC,YAAAA;AAAc;AAXzC,SAAAL,EAAAd,GAAA;AAQ+C,QAAA,CAAAoB,GAAAC,CAAA,IAAArB,GACjDsB,IAAqBF,EAAGG,QACX,mBAAmB,OAAO,EAACA,QAC3B,MAAMN,CAAwB;AAE3C,SAAIG,MAAQ,8BAEJ,OAAA,EACI,UAAA,gBAAAI,EAAA,UAAA,eAAsB,MAC1B,sBAIA,OAAA,EACI,UAAA;AAAA,IAAA,gBAAAC,EAAA,UAAA,EAASH,UAAAA;AAAAA,MAAAA;AAAAA,MAAa;AAAA,IAAA,GAAE;AAAA,IACvB,OAAOD,KAAU,WACXA,EAAKK,SAAU,KAAf,GACML,EAAKE,QAAS,MAAM,GAAG,EAACI,MAAO,GAAG,EAAE,CAAC,QACxCN,EAAKE,QAAS,MAAM,GAAG,IAC3BK,OAAOP,CAAK;AAAA,EAAA,EAAA,GANZD,CAOV;AAEP;"}
1
+ {"version":3,"file":"visualization.es128.js","sources":["../src/components/Heatmap/HeatmapSelectionPointers.tsx"],"sourcesContent":["import { SELECTION_COLOR } from \"./heatmapSelection\";\n\n/** How far a pointer reaches from the grid, and half its width. */\nconst POINTER_LENGTH = 6;\nconst POINTER_HALF_WIDTH = 4;\n\ninterface HeatmapSelectionPointersProps {\n axis: \"column\" | \"row\";\n /** The columns or rows holding the selection - see selectionMarks. */\n marked: Set<number>;\n /** The axis's scale, from a column or row index to its place along the grid. */\n scale: (value: number) => number;\n}\n\n/**\n * A pointer at the tick of each column or row holding the selection, pointing up at a column from\n * below the grid and right at a row from its left. Drawn in the axis's coordinates, so it scrolls\n * and exports with the axis.\n */\nconst HeatmapSelectionPointers = ({ axis, marked, scale }: HeatmapSelectionPointersProps) => (\n <g fill={SELECTION_COLOR} pointerEvents=\"none\">\n {[...marked].map((index) => {\n const at = scale(index + 0.5);\n return (\n <path\n key={index}\n d={\n axis === \"column\"\n ? `M${at},1 l${POINTER_HALF_WIDTH},${POINTER_LENGTH} h${-2 * POINTER_HALF_WIDTH} z`\n : `M-1,${at} l${-POINTER_LENGTH},${-POINTER_HALF_WIDTH} v${2 * POINTER_HALF_WIDTH} z`\n }\n />\n );\n })}\n </g>\n);\n\nexport default HeatmapSelectionPointers;\n"],"names":["POINTER_LENGTH","POINTER_HALF_WIDTH","HeatmapSelectionPointers","t0","$","_c","axis","marked","scale","t1","t2","SELECTION_COLOR","map","index","at","jsx"],"mappings":";;;AAGA,MAAMA,IAAiB,GACjBC,IAAqB,GAerBC,IAA2BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAC;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,OAAAA;AAAAA,EAAAA,IAAAL;AAAsD,MAAAM;AAAA,EAAAL,SAAAG,KAEnFE,IAAA,CAAA,GAAIF,CAAM,GAACH,OAAAG,GAAAH,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAM;AAAA,SAAAN,EAAA,CAAA,MAAAE,KAAAF,SAAAI,KAAAJ,EAAA,CAAA,MAAAK,KADdC,6BAASC,MAAAA,GAA+B,eAAA,QACrCF,UAAAA,EAAWG,IAAKC,CAAAA,MAAA;AACf,UAAAC,IAAWN,EAAMK,IAAQ,GAAG;AAAE,WAE5B,gBAAAE,YAGI,GAAAT,MAAS,WAAT,IACQQ,CAAE,OAAOb,CAAkB,IAAID,CAAc,KAAK,KAAKC,CAAkB,OADjF,OAEWa,CAAE,KAAK,CAACd,CAAc,IAAI,CAACC,CAAkB,KAAK,IAAIA,CAAkB,KAAA,GAJhFY,CAIoF;AAAA,EAEzF,CAEL,EAAA,CACH,GAAIT,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,KAAAA,IAAAN,EAAA,CAAA,GAdJM;AAcI;"}
@@ -1,16 +1,106 @@
1
- function l(d, i) {
2
- let e;
3
- if (i === void 0)
4
- for (const n of d)
5
- n != null && (e < n || e === void 0 && n >= n) && (e = n);
6
- else {
7
- let n = -1;
8
- for (let f of d)
9
- (f = i(f, ++n, d)) != null && (e < f || e === void 0 && f >= f) && (e = f);
10
- }
11
- return e;
12
- }
1
+ import { jsxs as z, jsx as p } from "react/jsx-runtime";
2
+ import { useRef as M, useEffect as J, useCallback as m } from "react";
3
+ import { drawHeatmapOverview as Q } from "./visualization.es127.js";
4
+ import { SELECTION_COLOR as V } from "./visualization.es126.js";
5
+ const f = (u, e, c) => Math.min(Math.max(u, e), c), L = 5, Z = 2, v = ({
6
+ canvasCellParams: u,
7
+ xMax: e,
8
+ yMax: c,
9
+ viewportWidth: l,
10
+ viewportHeight: d,
11
+ scrollLeft: P,
12
+ scrollTop: g,
13
+ width: i,
14
+ height: a,
15
+ onNavigate: b,
16
+ onCanvasClick: x,
17
+ onReady: h,
18
+ paused: C = !1
19
+ }) => {
20
+ const D = M(null), r = e > 0 ? i / e : 0, o = c > 0 ? a / c : 0, I = M(h);
21
+ I.current = h, J(() => {
22
+ const t = D.current;
23
+ if (!t || C || r <= 0 || o <= 0) return;
24
+ const n = requestAnimationFrame(() => {
25
+ const s = t.getContext("2d");
26
+ s && (Q(s, u), I.current?.());
27
+ });
28
+ return () => cancelAnimationFrame(n);
29
+ }, [u, e, c, r, o, C]);
30
+ const T = m((t, n) => {
31
+ b(f(t - l / 2, 0, Math.max(0, e - l)), f(n - d / 2, 0, Math.max(0, c - d)));
32
+ }, [b, l, d, e, c]), j = m((t) => {
33
+ if (x) {
34
+ x();
35
+ return;
36
+ }
37
+ if (r <= 0 || o <= 0) return;
38
+ const n = t.currentTarget.getBoundingClientRect();
39
+ T((t.clientX - n.left) / r, (t.clientY - n.top) / o);
40
+ }, [x, T, r, o]), R = M(null), F = m((t) => {
41
+ t.stopPropagation(), t.currentTarget.setPointerCapture(t.pointerId), R.current = {
42
+ x: t.clientX,
43
+ y: t.clientY,
44
+ left: P,
45
+ top: g
46
+ };
47
+ }, [P, g]), K = m((t) => {
48
+ const n = R.current;
49
+ !n || r <= 0 || o <= 0 || !t.currentTarget.hasPointerCapture(t.pointerId) || b(f(n.left + (t.clientX - n.x) / r, 0, Math.max(0, e - l)), f(n.top + (t.clientY - n.y) / o, 0, Math.max(0, c - d)));
50
+ }, [r, o, e, c, l, d, b]), U = m((t) => {
51
+ t.currentTarget.releasePointerCapture(t.pointerId), R.current = null;
52
+ }, []), $ = m(() => {
53
+ R.current = null;
54
+ }, []), {
55
+ columns: E,
56
+ rows: A
57
+ } = u.selectionMarks, q = u.data.length, {
58
+ numRows: O
59
+ } = u, S = (t, n, s) => {
60
+ const H = t * s / n, k = s / n, y = Math.max(0, Z - k) / 2;
61
+ return [H - y, k + 2 * y];
62
+ }, X = f(P * r, 0, i), Y = f(g * o, 0, a), B = Math.max(0, Math.min(l * r, i - X)), G = Math.max(0, Math.min(d * o, a - Y));
63
+ return /* @__PURE__ */ z("div", { style: {
64
+ position: "relative",
65
+ width: i,
66
+ height: a
67
+ }, children: [
68
+ /* @__PURE__ */ p("canvas", { ref: D, width: i * (window.devicePixelRatio || 1), height: a * (window.devicePixelRatio || 1), style: {
69
+ width: i,
70
+ height: a,
71
+ display: "block",
72
+ cursor: "pointer",
73
+ border: "1px solid #d5d5d5",
74
+ boxSizing: "border-box"
75
+ }, onPointerDown: j }),
76
+ /* @__PURE__ */ p("div", { onPointerDown: F, onPointerMove: K, onPointerUp: U, onLostPointerCapture: $, style: {
77
+ position: "absolute",
78
+ left: X,
79
+ top: Y,
80
+ width: B,
81
+ height: G,
82
+ border: "2px solid #0d0f98",
83
+ backgroundColor: "rgba(13, 15, 152, 0.15)",
84
+ cursor: "grab",
85
+ boxSizing: "border-box"
86
+ } }),
87
+ (E.size > 0 || A.size > 0) && /* @__PURE__ */ p("svg", { width: i, height: a, style: {
88
+ position: "absolute",
89
+ inset: 0,
90
+ pointerEvents: "none"
91
+ }, "aria-hidden": !0, children: /* @__PURE__ */ z("g", { fill: V, children: [
92
+ [...E].map((t) => {
93
+ const [n, s] = S(t, q, i);
94
+ return /* @__PURE__ */ p("rect", { x: n, y: 0, width: s, height: L }, `c${t}`);
95
+ }),
96
+ [...A].map((t) => {
97
+ const [n, s] = S(O - 1 - t, O, a);
98
+ return /* @__PURE__ */ p("rect", { x: 0, y: n, width: L, height: s }, `r${t}`);
99
+ })
100
+ ] }) })
101
+ ] });
102
+ };
13
103
  export {
14
- l as default
104
+ v as default
15
105
  };
16
106
  //# sourceMappingURL=visualization.es129.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es129.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/max.js"],"sourcesContent":["export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n"],"names":["max","values","valueof","value","index"],"mappings":"AAAe,SAASA,EAAIC,GAAQC,GAAS;AAC3C,MAAIF;AACJ,MAAIE,MAAY;AACd,eAAWC,KAASF;AAClB,MAAIE,KAAS,SACLH,IAAMG,KAAUH,MAAQ,UAAaG,KAASA,OACpDH,IAAMG;AAAA,OAGL;AACL,QAAIC,IAAQ;AACZ,aAASD,KAASF;AAChB,OAAKE,IAAQD,EAAQC,GAAO,EAAEC,GAAOH,CAAM,MAAM,SACzCD,IAAMG,KAAUH,MAAQ,UAAaG,KAASA,OACpDH,IAAMG;AAAA,EAGZ;AACA,SAAOH;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"visualization.es129.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { drawHeatmapOverview, type CanvasCellParams } from \"../HeatmapCanvasCells\";\nimport { SELECTION_COLOR } from \"../heatmapSelection\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n /** Fires after each draw, so the expanded popup can hide its spinner. */\n onReady?: () => void;\n /**\n * Skips redrawing while out of sight - the inline minimap under the expanded one - so a sweep\n * doesn't draw the whole grid twice. Redraws once lifted.\n */\n paused?: boolean;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n/** How far a selection mark reaches in from the edge, and its narrowest width. */\nconst MARK_DEPTH = 5;\nconst MARK_MIN_WIDTH = 2;\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n onReady,\n paused = false,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n // A ref, so an inline onReady doesn't re-run the draw on every parent render.\n const onReadyRef = useRef(onReady);\n onReadyRef.current = onReady;\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || paused || scaleX <= 0 || scaleY <= 0) return;\n // A frame later, so the expanded popup paints before the whole-grid draw.\n const raf = requestAnimationFrame(() => {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n drawHeatmapOverview(ctx, canvasCellParams);\n onReadyRef.current?.();\n });\n return () => cancelAnimationFrame(raf);\n }, [canvasCellParams, xMax, yMax, scaleX, scaleY, paused]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n /**\n * Where the window was grabbed: the pointer, and the scroll position then. Each move places the\n * window by the pointer's distance from here, so it stays under the pointer. Adding each move's\n * movementX to scrollLeft instead drifted: scrollLeft trails the grid's scroll by a frame, and\n * each step's rounding was kept, so the window ran ahead or fell behind further the longer the drag.\n */\n const grabRef = useRef<{ x: number; y: number; left: number; top: number } | null>(null);\n\n const handleRectPointerDown = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n grabRef.current = { x: event.clientX, y: event.clientY, left: scrollLeft, top: scrollTop };\n },\n [scrollLeft, scrollTop]\n );\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n const grab = grabRef.current;\n if (!grab || scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(grab.left + (event.clientX - grab.x) / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(grab.top + (event.clientY - grab.y) / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n grabRef.current = null;\n }, []);\n\n // A capture can also end without a pointerup, e.g. when the browser cancels the gesture.\n const handleRectLostCapture = useCallback(() => {\n grabRef.current = null;\n }, []);\n\n const { columns, rows } = canvasCellParams.selectionMarks;\n const numColumns = canvasCellParams.data.length;\n const { numRows } = canvasCellParams;\n // Cell i's span along an edge `size` pixels long, widened to at least MARK_MIN_WIDTH.\n const markSpan = (i: number, cells: number, size: number) => {\n const from = (i * size) / cells;\n const run = size / cells;\n const extra = Math.max(0, MARK_MIN_WIDTH - run) / 2;\n return [from - extra, run + 2 * extra] as const;\n };\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n onLostPointerCapture={handleRectLostCapture}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n {/*\n The selection's columns and rows, marked along the top and left edges since a column here\n can be under a pixel wide. Above the viewport rectangle so its border can't cover them.\n */}\n {(columns.size > 0 || rows.size > 0) && (\n <svg\n width={width}\n height={height}\n style={{ position: \"absolute\", inset: 0, pointerEvents: \"none\" }}\n aria-hidden\n >\n <g fill={SELECTION_COLOR}>\n {[...columns].map((column) => {\n const [x, w] = markSpan(column, numColumns, width);\n return <rect key={`c${column}`} x={x} y={0} width={w} height={MARK_DEPTH} />;\n })}\n {/* Row 0 is at the bottom. */}\n {[...rows].map((row) => {\n const [y, h] = markSpan(numRows - 1 - row, numRows, height);\n return <rect key={`r${row}`} x={0} y={y} width={MARK_DEPTH} height={h} />;\n })}\n </g>\n </svg>\n )}\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","MARK_DEPTH","MARK_MIN_WIDTH","HeatmapMiniMap","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","onReady","paused","canvasRef","useRef","scaleX","scaleY","onReadyRef","current","useEffect","canvas","raf","requestAnimationFrame","ctx","getContext","drawHeatmapOverview","cancelAnimationFrame","navigateCentered","useCallback","contentX","contentY","handleCanvasPointerDown","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","grabRef","handleRectPointerDown","stopPropagation","setPointerCapture","pointerId","x","y","handleRectPointerMove","grab","hasPointerCapture","handleRectPointerUp","releasePointerCapture","handleRectLostCapture","columns","rows","selectionMarks","numColumns","data","length","numRows","markSpan","i","cells","size","from","run","extra","rectLeft","rectTop","rectWidth","rectHeight","jsxs","position","jsx","window","devicePixelRatio","display","cursor","border","boxSizing","backgroundColor","inset","pointerEvents","SELECTION_COLOR","map","column","w","row","h"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as T } from "react/jsx-runtime";
2
2
  import { c as x } from "react/compiler-runtime";
3
3
  import { memo as P, useState as y, useImperativeHandle as z, useRef as M } from "react";
4
- import O, { defaultStyles as A } from "./visualization.es21.js";
5
- import E from "./visualization.es22.js";
4
+ import O, { defaultStyles as A } from "./visualization.es52.js";
5
+ import E from "./visualization.es50.js";
6
6
  const R = 10, w = 8, v = (o, e, a) => {
7
7
  const s = o + R, n = o - R - e, t = s + e > a - w && n >= w ? n : s;
8
8
  return Math.max(w, Math.min(t, a - e - w));