@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 +1 @@
1
- {"version":3,"file":"visualization.es98.js","sources":["../src/components/Heatmap/heatmapCellAppearance.ts"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\n\n/** A cell outside highlightRange: faint enough that the cells inside it carry the grid. */\nexport const DIMMED_OPACITY = 0.12;\nconst NULL_VALUE_COLOR = \"none\";\n\nexport function getHeatmapColorScale(colors: [string, string, ...string[]], domain: [number, number]) {\n const [minValue, maxValue] = domain;\n return scaleLinear<string>({\n range: colors,\n domain: colors.map((_, i) => minValue + (i * (maxValue - minValue)) / (colors.length - 1)),\n // Held at the end colors rather than extrapolated past them, which interpolates the RGB channels\n // out of range into colors that aren't on the gradient at all.\n clamp: true,\n });\n}\n\n/** Whether a count falls outside highlightRange, and so fades. Nothing fades without a range. */\nexport const isOutsideRange = (count: number | null | undefined, range: [number, number] | null | undefined) =>\n !!range && count != null && (count < range[0] || count > range[1]);\n\n/**\n * A cell's fill, shared by the SVG and canvas renderers so they can't drift apart. Selection isn't\n * part of it: selected cells are framed instead (see heatmapSelection.ts).\n */\nexport function resolveCellAppearance(\n count: number | null | undefined,\n color: string | undefined,\n isDimmed = false\n): { fill: string; fillOpacity: number } {\n const isNullValue = count == null;\n return {\n fill: isNullValue || color === undefined ? NULL_VALUE_COLOR : color,\n fillOpacity: isNullValue ? 0 : isDimmed ? DIMMED_OPACITY : 1,\n };\n}\n"],"names":["DIMMED_OPACITY","NULL_VALUE_COLOR","getHeatmapColorScale","colors","domain","minValue","maxValue","scaleLinear","range","map","_","i","length","clamp","isOutsideRange","count","resolveCellAppearance","color","isDimmed","isNullValue","fill","undefined","fillOpacity"],"mappings":";AAGO,MAAMA,IAAiB,MACxBC,IAAmB;AAElB,SAASC,EAAqBC,GAAuCC,GAA0B;AACpG,QAAM,CAACC,GAAUC,CAAQ,IAAIF;AAC7B,SAAOG,EAAoB;AAAA,IACzBC,OAAOL;AAAAA,IACPC,QAAQD,EAAOM,IAAI,CAACC,GAAGC,MAAMN,IAAYM,KAAKL,IAAWD,MAAcF,EAAOS,SAAS,EAAE;AAAA;AAAA;AAAA,IAGzFC,OAAO;AAAA,EAAA,CACR;AACH;AAGO,MAAMC,IAAiBA,CAACC,GAAkCP,MAC/D,CAAC,CAACA,KAASO,KAAS,SAASA,IAAQP,EAAM,CAAC,KAAKO,IAAQP,EAAM,CAAC;AAM3D,SAASQ,EACdD,GACAE,GACAC,IAAW,IAC4B;AACvC,QAAMC,IAAcJ,KAAS;AAC7B,SAAO;AAAA,IACLK,MAAMD,KAAeF,MAAUI,SAAYpB,IAAmBgB;AAAAA,IAC9DK,aAAaH,IAAc,IAAID,IAAWlB,IAAiB;AAAA,EAAA;AAE/D;"}
1
+ {"version":3,"file":"visualization.es98.js","sources":["../../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs"],"sourcesContent":["import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1);\nconst easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n//# sourceMappingURL=ease.mjs.map\n"],"names":["easeIn","cubicBezier","easeOut","easeInOut"],"mappings":";AAEK,MAACA,IAAuB,gBAAAC,EAAY,MAAM,GAAG,GAAG,CAAC,GAChDC,IAAwB,gBAAAD,EAAY,GAAG,GAAG,MAAM,CAAC,GACjDE,IAA0B,gBAAAF,EAAY,MAAM,GAAG,MAAM,CAAC;","x_google_ignoreList":[0]}
@@ -1,87 +1,35 @@
1
- const d = "#1a1c1e", C = "#ffffff";
2
- const x = (n) => `${n.row}-${n.column}`, y = (n) => {
3
- const [f, r] = n.split("-").map(Number);
4
- return {
5
- row: f,
6
- column: r
7
- };
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { c as A } from "react/compiler-runtime";
3
+ import { getAnimationProps as T } from "./visualization.es24.js";
4
+ import { getShapePoints as W } from "./visualization.es18.js";
5
+ import { motion as $ } from "./visualization.es29.js";
6
+ const H = (x) => {
7
+ const o = A(19), {
8
+ pointData: h,
9
+ animation: e,
10
+ animationGroupSize: a,
11
+ animationBuffer: s,
12
+ xScaleTransformed: i,
13
+ yScaleTransformed: n,
14
+ boundedWidth: c,
15
+ boundedHeight: l
16
+ } = x;
17
+ let r;
18
+ if (o[0] !== e || o[1] !== s || o[2] !== a || o[3] !== l || o[4] !== c || o[5] !== h || o[6] !== i || o[7] !== n) {
19
+ let f;
20
+ o[9] !== e || o[10] !== s || o[11] !== a || o[12] !== l || o[13] !== c || o[14] !== i || o[15] !== n ? (f = (t, y) => {
21
+ const P = $.g, b = Math.floor(y / (a ?? 1)), S = T(e, b, s ?? 0.03), p = i(t.x), d = n(t.y);
22
+ if (p < 0 || p > c || d < 0 || d > l)
23
+ return null;
24
+ const g = t.r ?? 3, k = W(t.shape, p, d, g);
25
+ return /* @__PURE__ */ u(P, { ...S, children: k ? /* @__PURE__ */ u("polygon", { points: k, fill: t.color ?? "black", stroke: t.stroke, opacity: t.opacity ?? 1 }) : /* @__PURE__ */ u("circle", { cx: p, cy: d, r: g, fill: t.color ?? "black", stroke: t.stroke, opacity: t.opacity ?? 1 }) }, `pt-${y}`);
26
+ }, o[9] = e, o[10] = s, o[11] = a, o[12] = l, o[13] = c, o[14] = i, o[15] = n, o[16] = f) : f = o[16], r = h.map(f), o[0] = e, o[1] = s, o[2] = a, o[3] = l, o[4] = c, o[5] = h, o[6] = i, o[7] = n, o[8] = r;
27
+ } else
28
+ r = o[8];
29
+ let m;
30
+ return o[17] !== r ? (m = /* @__PURE__ */ u("g", { children: r }), o[17] = r, o[18] = m) : m = o[18], m;
8
31
  };
9
- function* $(n, {
10
- colStart: f,
11
- colEnd: r,
12
- rowStart: i,
13
- rowEnd: H
14
- }) {
15
- if ((r - f + 1) * (H - i + 1) <= n.size) {
16
- for (let t = f; t <= r; t++) for (let o = i; o <= H; o++) n.has(x({
17
- row: o,
18
- column: t
19
- })) && (yield {
20
- row: o,
21
- column: t
22
- });
23
- return;
24
- }
25
- for (const t of n) {
26
- const o = y(t);
27
- o.column >= f && o.column <= r && o.row >= i && o.row <= H && (yield o);
28
- }
29
- }
30
- function v(n, f, r, i) {
31
- const {
32
- xScale: H,
33
- cellYScale: t,
34
- binWidth: o,
35
- binHeight: E,
36
- gap: e
37
- } = r, c = (s, l) => n.has(x({
38
- row: s,
39
- column: l
40
- })), u = [], R = [], _ = (s, l, A, a, M, m) => s.push({
41
- x: A,
42
- y: a,
43
- width: M,
44
- height: m,
45
- fill: l
46
- });
47
- for (const {
48
- row: s,
49
- column: l
50
- } of f) {
51
- if (!c(s, l)) continue;
52
- const A = H(l), a = A + o - e, M = t(s) + e, m = t(s) + E, I = A - 2 < 0 ? A + 2 : A, O = a + 2 > i.width ? a - 2 : a, T = M - 2 < 0 ? M + 2 : M, h = m + 2 > i.height ? m - 2 : m, w = c(s + 1, l), S = c(s - 1, l), F = c(s, l - 1), N = c(s, l + 1), D = (k) => k ? e : 2, W = (k) => k ? e : 0, p = [I - D(F), O - I + D(F) + D(N)], L = [T - D(w), h - T + D(w) + D(S)], g = [I - W(F), O - I + W(F) + W(N)], b = [T - W(w), h - T + W(w) + W(S)];
53
- w || (_(u, d, p[0], T - 2, p[1], 2), _(R, C, g[0], T, g[1], 1)), S || (_(u, d, p[0], h, p[1], 2), _(R, C, g[0], h - 1, g[1], 1)), F || (_(u, d, I - 2, L[0], 2, L[1]), _(R, C, I, b[0], 1, b[1])), N || (_(u, d, O, L[0], 2, L[1]), _(R, C, O - 1, b[0], 1, b[1]));
54
- }
55
- return [...u, ...R];
56
- }
57
- const z = {
58
- columns: /* @__PURE__ */ new Set(),
59
- rows: /* @__PURE__ */ new Set()
60
- };
61
- function B(n, f, r) {
62
- if (!n?.size) return z;
63
- const i = [...n].map(y), H = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
64
- for (const {
65
- row: e,
66
- column: c
67
- } of i)
68
- H.set(c, (H.get(c) ?? 0) + 1), t.set(e, (t.get(e) ?? 0) + 1);
69
- const o = /* @__PURE__ */ new Set(), E = /* @__PURE__ */ new Set();
70
- for (const {
71
- row: e,
72
- column: c
73
- } of i)
74
- (t.get(e) ?? 0) < f && o.add(c), (H.get(c) ?? 0) < r && E.add(e);
75
- return {
76
- columns: o,
77
- rows: E
78
- };
79
- }
80
32
  export {
81
- d as SELECTION_COLOR,
82
- x as cellKey,
83
- $ as selectedCellsIn,
84
- v as selectionFrame,
85
- B as selectionMarks
33
+ H as default
86
34
  };
87
35
  //# sourceMappingURL=visualization.es99.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es99.js","sources":["../src/components/Heatmap/heatmapSelection.ts"],"sourcesContent":["/**\n * How a selection shows: a frame around the selected cells, and marks on the axes and minimap for\n * the columns and rows holding them. Cells keep their own colors, so the rest of the grid can\n * still be read for what to select next.\n */\n\nimport type { HeatmapCellId } from \"./types\";\n\n/** The frame's dark line, and the white one just inside it that holds it against a dark cell. */\nexport const SELECTION_COLOR = \"#1a1c1e\";\nconst HALO_COLOR = \"#ffffff\";\n/** Laid outside the selected cells: at the default gap of 2 it fills the gap and covers no cell. */\nconst FRAME_WIDTH = 2;\nconst HALO_WIDTH = 1;\n\nexport type SelectionBand = { x: number; y: number; width: number; height: number; fill: string };\n\ntype FrameGeometry = {\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n binWidth: number;\n binHeight: number;\n gap: number;\n};\n\ntype GridBounds = { width: number; height: number };\n\nexport const cellKey = (cell: HeatmapCellId) => `${cell.row}-${cell.column}`;\n\nconst parseKey = (key: string): HeatmapCellId => {\n const [row, column] = key.split(\"-\").map(Number);\n return { row, column };\n};\n\n/** The selected cells within a block, walking whichever of the block and the selection is smaller. */\nexport function* selectedCellsIn(\n selectedKeys: Set<string>,\n { colStart, colEnd, rowStart, rowEnd }: { colStart: number; colEnd: number; rowStart: number; rowEnd: number }\n): Generator<HeatmapCellId> {\n if ((colEnd - colStart + 1) * (rowEnd - rowStart + 1) <= selectedKeys.size) {\n for (let column = colStart; column <= colEnd; column++)\n for (let row = rowStart; row <= rowEnd; row++) if (selectedKeys.has(cellKey({ row, column }))) yield { row, column };\n return;\n }\n for (const key of selectedKeys) {\n const cell = parseKey(key);\n if (cell.column >= colStart && cell.column <= colEnd && cell.row >= rowStart && cell.row <= rowEnd) yield cell;\n }\n}\n\n/**\n * The frame around the selected cells among `cells`, as rectangles to fill in order: a dark band\n * outside each edge not shared with another selected cell, then a white line just inside it.\n * Adjacent selected cells share one frame, so a selected column is one tall box.\n */\nexport function selectionFrame(\n selectedKeys: Set<string>,\n cells: Iterable<HeatmapCellId>,\n geometry: FrameGeometry,\n bounds: GridBounds\n): SelectionBand[] {\n const { xScale, cellYScale, binWidth, binHeight, gap } = geometry;\n const isSelected = (row: number, column: number) => selectedKeys.has(cellKey({ row, column }));\n const dark: SelectionBand[] = [];\n const halo: SelectionBand[] = [];\n const band = (into: SelectionBand[], fill: string, x: number, y: number, width: number, height: number) =>\n into.push({ x, y, width, height, fill });\n\n for (const { row, column } of cells) {\n if (!isSelected(row, column)) continue;\n // The cell as drawn, with its gap to its right and above it (see getCellGeometry).\n const cellLeft = xScale(column);\n const cellRight = cellLeft + binWidth - gap;\n const cellTop = cellYScale(row) + gap;\n const cellBottom = cellYScale(row) + binHeight;\n // The cell, pulled in wherever the line outside it would fall past the grid's edge.\n const left = cellLeft - FRAME_WIDTH < 0 ? cellLeft + FRAME_WIDTH : cellLeft;\n const right = cellRight + FRAME_WIDTH > bounds.width ? cellRight - FRAME_WIDTH : cellRight;\n const top = cellTop - FRAME_WIDTH < 0 ? cellTop + FRAME_WIDTH : cellTop;\n const bottom = cellBottom + FRAME_WIDTH > bounds.height ? cellBottom - FRAME_WIDTH : cellBottom;\n // Row 0 is at the bottom of the grid, so the row above is row + 1.\n const above = isSelected(row + 1, column);\n const below = isSelected(row - 1, column);\n const before = isSelected(row, column - 1);\n const after = isSelected(row, column + 1);\n // How far an edge's line runs past the box: across the gap to a selected neighbor, or round\n // the corner where there is none.\n const reach = (selected: boolean) => (selected ? gap : FRAME_WIDTH);\n const bridge = (selected: boolean) => (selected ? gap : 0);\n const across = [left - reach(before), right - left + reach(before) + reach(after)] as const;\n const down = [top - reach(above), bottom - top + reach(above) + reach(below)] as const;\n const haloAcross = [left - bridge(before), right - left + bridge(before) + bridge(after)] as const;\n const haloDown = [top - bridge(above), bottom - top + bridge(above) + bridge(below)] as const;\n\n if (!above) {\n band(dark, SELECTION_COLOR, across[0], top - FRAME_WIDTH, across[1], FRAME_WIDTH);\n band(halo, HALO_COLOR, haloAcross[0], top, haloAcross[1], HALO_WIDTH);\n }\n if (!below) {\n band(dark, SELECTION_COLOR, across[0], bottom, across[1], FRAME_WIDTH);\n band(halo, HALO_COLOR, haloAcross[0], bottom - HALO_WIDTH, haloAcross[1], HALO_WIDTH);\n }\n if (!before) {\n band(dark, SELECTION_COLOR, left - FRAME_WIDTH, down[0], FRAME_WIDTH, down[1]);\n band(halo, HALO_COLOR, left, haloDown[0], HALO_WIDTH, haloDown[1]);\n }\n if (!after) {\n band(dark, SELECTION_COLOR, right, down[0], FRAME_WIDTH, down[1]);\n band(halo, HALO_COLOR, right - HALO_WIDTH, haloDown[0], HALO_WIDTH, haloDown[1]);\n }\n }\n return [...dark, ...halo];\n}\n\n/** The columns and rows the axes and minimap mark as holding the selection. */\nexport type SelectionMarks = { columns: Set<number>; rows: Set<number> };\n\nconst NO_SELECTION_MARKS: SelectionMarks = { columns: new Set(), rows: new Set() };\n\n/**\n * Which columns and rows to mark. A column is marked for a selected cell whose row isn't fully\n * selected, and a row for one whose column isn't: a whole selected column marks only its column,\n * and a single cell marks both.\n */\nexport function selectionMarks(selectedKeys: Set<string> | null, numColumns: number, numRows: number): SelectionMarks {\n if (!selectedKeys?.size) return NO_SELECTION_MARKS;\n const cells = [...selectedKeys].map(parseKey);\n const perColumn = new Map<number, number>();\n const perRow = new Map<number, number>();\n for (const { row, column } of cells) {\n perColumn.set(column, (perColumn.get(column) ?? 0) + 1);\n perRow.set(row, (perRow.get(row) ?? 0) + 1);\n }\n const columns = new Set<number>();\n const rows = new Set<number>();\n for (const { row, column } of cells) {\n if ((perRow.get(row) ?? 0) < numColumns) columns.add(column);\n if ((perColumn.get(column) ?? 0) < numRows) rows.add(row);\n }\n return { columns, rows };\n}\n"],"names":["SELECTION_COLOR","HALO_COLOR","cellKey","cell","row","column","parseKey","key","split","map","Number","selectedCellsIn","selectedKeys","colStart","colEnd","rowStart","rowEnd","size","has","selectionFrame","cells","geometry","bounds","xScale","cellYScale","binWidth","binHeight","gap","isSelected","dark","halo","band","into","fill","x","y","width","height","push","cellLeft","cellRight","cellTop","cellBottom","left","FRAME_WIDTH","right","top","bottom","above","below","before","after","reach","selected","bridge","across","down","haloAcross","haloDown","HALO_WIDTH","NO_SELECTION_MARKS","columns","Set","rows","selectionMarks","numColumns","numRows","perColumn","Map","perRow","set","get","add"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es99.js","sources":["../src/components/ScatterPlot/AnimatedPoints.tsx"],"sourcesContent":["import React from \"react\";\nimport { motion } from \"framer-motion\";\nimport { ScaleLinear } from \"@visx/vendor/d3-scale\";\nimport { AnimationType, getAnimationProps } from \"../../utility\";\nimport { Point } from \"./types\";\nimport { getShapePoints } from \"./helpers\";\n\ntype AnimatedPointsProps<T extends object> = {\n pointData: Point<T>[];\n animation: AnimationType;\n animationGroupSize?: number;\n animationBuffer?: number;\n xScaleTransformed: ScaleLinear<number, number, never>;\n yScaleTransformed: ScaleLinear<number, number, never>;\n boundedWidth: number;\n boundedHeight: number;\n};\n\nconst AnimatedPoints = <T extends object>({\n pointData,\n animation,\n animationGroupSize,\n animationBuffer,\n xScaleTransformed,\n yScaleTransformed,\n boundedWidth,\n boundedHeight,\n}: AnimatedPointsProps<T>) => (\n <g>\n {pointData.map((point, index) => {\n const Wrapper = motion.g;\n const groupIndex = Math.floor(index / (animationGroupSize ?? 1));\n const animationProps = getAnimationProps(animation, groupIndex, animationBuffer ?? 0.03);\n const cx = xScaleTransformed(point.x);\n const cy = yScaleTransformed(point.y);\n if (cx < 0 || cx > boundedWidth || cy < 0 || cy > boundedHeight) return null;\n const radius = point.r ?? 3;\n // The same vertices the canvas renderer draws from, so a point does not change shape\n // or size as the entry animation hands over to the canvas.\n const shapePoints = getShapePoints(point.shape, cx, cy, radius);\n return (\n <Wrapper key={`pt-${index}`} {...animationProps}>\n {shapePoints ? (\n <polygon\n points={shapePoints}\n fill={point.color ?? \"black\"}\n stroke={point.stroke}\n opacity={point.opacity ?? 1}\n />\n ) : (\n <circle\n cx={cx}\n cy={cy}\n r={radius}\n fill={point.color ?? \"black\"}\n stroke={point.stroke}\n opacity={point.opacity ?? 1}\n />\n )}\n </Wrapper>\n );\n })}\n </g>\n);\n\nexport default AnimatedPoints;\n"],"names":["AnimatedPoints","t0","$","_c","pointData","animation","animationGroupSize","animationBuffer","xScaleTransformed","yScaleTransformed","boundedWidth","boundedHeight","t1","t2","point","index","Wrapper","motion","g","groupIndex","Math","floor","animationProps","getAnimationProps","cx","x","cy","y","radius","r","shapePoints","getShapePoints","shape","jsx","color","stroke","opacity","map"],"mappings":";;;;;AAkBA,MAAMA,IAAiBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAmB;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,oBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAAAV;AASjB,MAAAW;AAAA,MAAAV,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAK,KAAAL,EAAA,CAAA,MAAAI,KAAAJ,EAAA,CAAA,MAAAS,KAAAT,EAAA,CAAA,MAAAQ,KAAAR,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAM,KAAAN,SAAAO,GAAA;AAAA,QAAAI;AAAA,IAAAX,EAAA,CAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAI,KAAAJ,UAAAS,KAAAT,EAAA,EAAA,MAAAQ,KAAAR,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAO,KAEFI,IAAAA,CAAAC,GAAAC,MAAA;AACX,YAAAC,IAAgBC,EAAMC,GACtBC,IAAmBC,KAAIC,MAAON,KAAST,KAAA,EAAwB,GAC/DgB,IAAuBC,EAAkBlB,GAAWc,GAAYZ,KAAA,IAAuB,GACvFiB,IAAWhB,EAAkBM,EAAKW,CAAE,GACpCC,IAAWjB,EAAkBK,EAAKa,CAAE;AACpC,UAAIH,IAAK,KAAKA,IAAKd,KAAgBgB,IAAK,KAAKA,IAAKf;AAAa,eAAS;AACxE,YAAAiB,IAAed,EAAKe,KAAL,GAGfC,IAAoBC,EAAejB,EAAKkB,OAAQR,GAAIE,GAAIE,CAAM;AAAE,+BAE3DZ,GAAA,EAA0B,GAAMM,GAC5BQ,UAAAA,IACG,gBAAAG,EAAA,aACYH,QAAAA,GACF,MAAAhB,EAAKoB,SAAL,SACE,QAAApB,EAAKqB,QACJ,SAAArB,EAAKsB,WAAL,EAAA,KAGb,gBAAAH,EAAA,YACQT,IAAAA,GACAE,IAAAA,GACDE,MACG,MAAAd,EAAKoB,SAAL,SACE,QAAApB,EAAKqB,QACJ,SAAArB,EAAKsB,WAAL,GAAkB,EAAA,GAfzB,MAAMrB,CAAK,EAkBzB;AAAA,IAAU,GAEjBb,OAAAG,GAAAH,QAAAK,GAAAL,QAAAI,GAAAJ,QAAAS,GAAAT,QAAAQ,GAAAR,QAAAM,GAAAN,QAAAO,GAAAP,QAAAW,KAAAA,IAAAX,EAAA,EAAA,GAhCAU,IAAAR,EAASiC,IAAKxB,CAgCd,GAACX,OAAAG,GAAAH,OAAAK,GAAAL,OAAAI,GAAAJ,OAAAS,GAAAT,OAAAQ,GAAAR,OAAAE,GAAAF,OAAAM,GAAAN,OAAAO,GAAAP,OAAAU;AAAAA,EAAA;AAAAA,IAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,SAAAX,UAAAU,KAjCNC,6BACKD,UAAAA,EAAAA,CAiCL,GAAIV,QAAAU,GAAAV,QAAAW,KAAAA,IAAAX,EAAA,EAAA,GAlCJW;AAkCI;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weng-lab/visualization",
3
- "version": "2.6.0-beta.0",
3
+ "version": "2.6.0-beta.1",
4
4
  "description": "Visualization components for the Weng/Moore Labs suite of genomics web resources",
5
5
  "type": "module",
6
6
  "module": "dist/visualization.es.js",
@@ -1,148 +0,0 @@
1
- import { jsxs as L, Fragment as I, jsx as h } from "react/jsx-runtime";
2
- import { createRoot as P } from "react-dom/client";
3
- import { flushSync as O } from "react-dom";
4
- import { downloadBlob as V, MAX_CANVAS_EXPORT_DIMENSION as y, MAX_CANVAS_EXPORT_PIXELS as F } from "./visualization.es23.js";
5
- import { LEGEND_GAP as U, xAxisTitleCenter as X } from "./visualization.es45.js";
6
- import { markTickLabels as T, yAxisTickLabelProps as B, AXIS_TITLE_FONT_SIZE as G, TICK_FONT_FAMILY as H } from "./visualization.es44.js";
7
- import { drawHeatmapCells as j } from "./visualization.es100.js";
8
- import k from "./visualization.es101.js";
9
- import D from "./visualization.es35.js";
10
- import $ from "./visualization.es34.js";
11
- const S = "http://www.w3.org/2000/svg", z = "http://www.w3.org/1999/xlink", C = (e, o, n, t, i) => {
12
- const r = document.createElementNS(S, "text");
13
- r.setAttribute("x", String(n)), r.setAttribute("y", String(t)), i && r.setAttribute("transform", `rotate(-90, ${n}, ${t})`), r.setAttribute("text-anchor", "middle"), r.setAttribute("dominant-baseline", "middle"), r.setAttribute("font-size", String(G)), r.setAttribute("font-family", H), r.textContent = o, e.appendChild(r);
14
- }, v = (e, o, n, t) => {
15
- const i = document.createElementNS(S, "g");
16
- i.setAttribute("transform", `translate(${n},${t})`), o.childNodes.forEach((r) => i.appendChild(r.cloneNode(!0))), e.appendChild(i);
17
- };
18
- function E(e, o) {
19
- const n = window.devicePixelRatio || 2;
20
- return Math.min(n, y / e, y / o, Math.sqrt(F / (e * o)));
21
- }
22
- function N(e, o) {
23
- const {
24
- xMax: n,
25
- yMax: t,
26
- canvasCellParams: i,
27
- numRows: r
28
- } = e.layout;
29
- if (n <= 0 || t <= 0) return null;
30
- const a = document.createElement("canvas");
31
- a.width = Math.max(1, Math.round(n * o)), a.height = Math.max(1, Math.round(t * o));
32
- const s = a.getContext("2d");
33
- if (!s) return null;
34
- s.setTransform(o, 0, 0, o, 0, 0);
35
- const c = {
36
- colStart: 0,
37
- colEnd: Math.max(0, e.data.length - 1),
38
- rowStart: 0,
39
- rowEnd: Math.max(0, r - 1)
40
- };
41
- return j(s, {
42
- ...i,
43
- highlightRange: null
44
- }, c, null), a;
45
- }
46
- function W(e) {
47
- const {
48
- xMax: o,
49
- yMax: n
50
- } = e.layout;
51
- if (o <= 0 || n <= 0) return null;
52
- const t = N(e, E(o, n));
53
- return t ? t.toDataURL("image/png") : null;
54
- }
55
- const K = (e, o, n, t, i, r) => {
56
- const a = document.createElementNS(S, "image");
57
- a.setAttribute("x", String(n)), a.setAttribute("y", String(t)), a.setAttribute("width", String(i)), a.setAttribute("height", String(r)), a.setAttribute("preserveAspectRatio", "none"), a.setAttributeNS(z, "href", o), a.setAttribute("href", o), e.appendChild(a);
58
- };
59
- function R(e, {
60
- includeCells: o = !0
61
- } = {}) {
62
- const {
63
- layout: n
64
- } = e, {
65
- marg: t,
66
- xMax: i,
67
- yMax: r,
68
- xScale: a,
69
- yScale: s,
70
- numRows: c,
71
- xTickValues: g,
72
- yTickValues: x,
73
- yTickLabelWidth: p,
74
- xTickLabelHeight: f,
75
- yTitleWidth: b,
76
- xTitleHeight: A,
77
- selectionMarks: m
78
- } = n, l = document.createElementNS(S, "svg");
79
- if (l.setAttribute("width", String(t.left + i + t.right)), l.setAttribute("height", String(t.top + r + t.bottom)), o) {
80
- const u = W(e);
81
- u && K(l, u, t.left, t.top, i, r);
82
- }
83
- let d = null, w = null;
84
- const _ = document.createElement("div"), M = P(_);
85
- if (O(() => {
86
- M.render(/* @__PURE__ */ L(I, { children: [
87
- /* @__PURE__ */ h("svg", { width: p, height: r, ref: (u) => {
88
- d = u;
89
- }, children: /* @__PURE__ */ L("g", { transform: `translate(${p},0)`, children: [
90
- /* @__PURE__ */ h(D, { scale: s, numTicks: c, tickValues: x, tickFormat: e.yAxisTickFormat, tickLabelProps: T(B, m.rows) }),
91
- /* @__PURE__ */ h(k, { axis: "row", marked: m.rows, scale: s })
92
- ] }) }),
93
- /* @__PURE__ */ L("svg", { width: i, height: f, ref: (u) => {
94
- w = u;
95
- }, children: [
96
- /* @__PURE__ */ h($, { top: 0, scale: a, numTicks: e.data.length, tickFormat: e.xAxisTickFormat, tickValues: g, tickLabelProps: T(e.xAxisTickLabelProps, m.columns) }),
97
- /* @__PURE__ */ h(k, { axis: "column", marked: m.columns, scale: a })
98
- ] })
99
- ] }));
100
- }), d && v(l, d, b, t.top), w && v(l, w, t.left, t.top + r), M.unmount(), e.showLegend && e.legendSvg && v(l, e.legendSvg, t.left + i + U, t.top), e.yLabel && C(l, e.yLabel, b / 2, t.top + r / 2, !0), e.xLabel) {
101
- const u = X(e.xLabel, t.left + i / 2, t.left + i + t.right);
102
- C(l, e.xLabel, u, t.top + r + f + A / 2, !1);
103
- }
104
- return l;
105
- }
106
- function it(e, o) {
107
- const {
108
- marg: n,
109
- xMax: t,
110
- yMax: i
111
- } = e.layout;
112
- if (t <= 0 || i <= 0) return;
113
- const r = n.left + t + n.right, a = n.top + i + n.bottom, s = E(r, a), c = document.createElement("canvas");
114
- c.width = Math.max(1, Math.round(r * s)), c.height = Math.max(1, Math.round(a * s));
115
- const g = c.getContext("2d");
116
- if (!g) return;
117
- const x = N(e, s);
118
- x && g.drawImage(x, n.left * s, n.top * s);
119
- const p = (d) => {
120
- d && V(d, o);
121
- }, f = R(e, {
122
- includeCells: !1
123
- });
124
- if (!f) {
125
- c.toBlob(p, "image/png", 1);
126
- return;
127
- }
128
- const b = new XMLSerializer().serializeToString(f), A = new Blob([b], {
129
- type: "image/svg+xml;charset=utf-8"
130
- }), m = URL.createObjectURL(A), l = new Image();
131
- l.onload = () => {
132
- g.drawImage(l, 0, 0, c.width, c.height), URL.revokeObjectURL(m), c.toBlob(p, "image/png", 1);
133
- }, l.onerror = () => URL.revokeObjectURL(m), l.src = m;
134
- }
135
- function at(e, o) {
136
- const n = R(e);
137
- if (!n) return;
138
- const t = document.createElement("div");
139
- t.style.position = "absolute", t.style.top = "0", t.style.left = "-99999px", t.appendChild(n), document.body.appendChild(t), o(n, () => {
140
- t.parentNode && document.body.removeChild(t);
141
- });
142
- }
143
- export {
144
- R as buildScrollableExportSVG,
145
- it as downloadScrollableHeatmapPNG,
146
- at as withOffscreenExportSVG
147
- };
148
- //# sourceMappingURL=visualization.es46.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visualization.es46.js","sources":["../src/components/Heatmap/scrollable/heatmapExport.tsx"],"sourcesContent":["import { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { AxisLeft, AxisBottom } from \"@visx/axis\";\nimport type { ColumnDatum } from \"../types\";\nimport { MAX_CANVAS_EXPORT_DIMENSION, MAX_CANVAS_EXPORT_PIXELS, downloadBlob } from \"../../../utility\";\nimport type { HeatmapLayout } from \"../heatmapLayout\";\nimport { LEGEND_GAP, xAxisTitleCenter } from \"../heatmapLayout\";\nimport { AXIS_TITLE_FONT_SIZE, TICK_FONT_FAMILY, getXAxisTickLabelProps, markTickLabels, yAxisTickLabelProps } from \"../heatmapAxisProps\";\nimport { drawHeatmapCells } from \"../HeatmapCanvasCells\";\nimport HeatmapSelectionPointers from \"../HeatmapSelectionPointers\";\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst XLINK_NS = \"http://www.w3.org/1999/xlink\";\n\ninterface ScrollableExportOptions {\n layout: HeatmapLayout;\n data: ColumnDatum[];\n xLabel?: string;\n yLabel?: string;\n showLegend: boolean;\n legendSvg: SVGSVGElement | null;\n xAxisTickFormat: (d: number | { valueOf(): number }) => string;\n yAxisTickFormat: (d: number | { valueOf(): number }) => string;\n xAxisTickLabelProps: ReturnType<typeof getXAxisTickLabelProps>;\n}\n\nconst appendTitle = (exportSvg: SVGSVGElement, text: string, x: number, y: number, rotate: boolean) => {\n const titleEl = document.createElementNS(SVG_NS, \"text\");\n titleEl.setAttribute(\"x\", String(x));\n titleEl.setAttribute(\"y\", String(y));\n if (rotate) titleEl.setAttribute(\"transform\", `rotate(-90, ${x}, ${y})`);\n titleEl.setAttribute(\"text-anchor\", \"middle\");\n titleEl.setAttribute(\"dominant-baseline\", \"middle\");\n titleEl.setAttribute(\"font-size\", String(AXIS_TITLE_FONT_SIZE));\n titleEl.setAttribute(\"font-family\", TICK_FONT_FAMILY);\n titleEl.textContent = text;\n exportSvg.appendChild(titleEl);\n};\n\nconst appendClone = (exportSvg: SVGSVGElement, source: SVGSVGElement, x: number, y: number) => {\n const group = document.createElementNS(SVG_NS, \"g\");\n group.setAttribute(\"transform\", `translate(${x},${y})`);\n source.childNodes.forEach((node) => group.appendChild(node.cloneNode(true)));\n exportSvg.appendChild(group);\n};\n\n// Capped at what browsers reliably allocate; past that, some return a blank canvas without erroring.\nfunction computeExportScale(width: number, height: number): number {\n const desiredScale = window.devicePixelRatio || 2;\n return Math.min(\n desiredScale,\n MAX_CANVAS_EXPORT_DIMENSION / width,\n MAX_CANVAS_EXPORT_DIMENSION / height,\n Math.sqrt(MAX_CANVAS_EXPORT_PIXELS / (width * height))\n );\n}\n\n// The whole cell grid painted onto a canvas, as the live grid paints it. As SVG shapes, a large grid\n// would serialize into hundreds of MB and hang the tab.\nfunction rasterizeCells(o: ScrollableExportOptions, scale: number): HTMLCanvasElement | null {\n const { xMax, yMax, canvasCellParams, numRows } = o.layout;\n if (xMax <= 0 || yMax <= 0) return null;\n\n const canvas = document.createElement(\"canvas\");\n canvas.width = Math.max(1, Math.round(xMax * scale));\n canvas.height = Math.max(1, Math.round(yMax * scale));\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return null;\n\n ctx.setTransform(scale, 0, 0, scale, 0, 0);\n const range = { colStart: 0, colEnd: Math.max(0, o.data.length - 1), rowStart: 0, rowEnd: Math.max(0, numRows - 1) };\n // A highlight is a passing hover, not part of the figure; the selection is kept.\n drawHeatmapCells(ctx, { ...canvasCellParams, highlightRange: null }, range, null);\n return canvas;\n}\n\n// For the .svg download only; the PNG draws the canvas directly.\nfunction renderCellsToDataURL(o: ScrollableExportOptions): string | null {\n const { xMax, yMax } = o.layout;\n if (xMax <= 0 || yMax <= 0) return null;\n const canvas = rasterizeCells(o, computeExportScale(xMax, yMax));\n return canvas ? canvas.toDataURL(\"image/png\") : null;\n}\n\nconst appendCellsImage = (exportSvg: SVGSVGElement, dataUrl: string, x: number, y: number, width: number, height: number) => {\n const image = document.createElementNS(SVG_NS, \"image\");\n image.setAttribute(\"x\", String(x));\n image.setAttribute(\"y\", String(y));\n image.setAttribute(\"width\", String(width));\n image.setAttribute(\"height\", String(height));\n image.setAttribute(\"preserveAspectRatio\", \"none\");\n // xlink:href for older SVG renderers and editors, href for SVG2.\n image.setAttributeNS(XLINK_NS, \"href\", dataUrl);\n image.setAttribute(\"href\", dataUrl);\n exportSvg.appendChild(image);\n};\n\n// A standalone <svg> of the whole plot. The on-screen axis panes only hold the visible ticks, so the\n// axes are rendered afresh, in full, in a detached tree; the cells come in as an image.\nexport function buildScrollableExportSVG(o: ScrollableExportOptions, { includeCells = true }: { includeCells?: boolean } = {}): SVGSVGElement | null {\n const { layout } = o;\n const {\n marg, xMax, yMax, xScale, yScale, numRows, xTickValues, yTickValues, yTickLabelWidth, xTickLabelHeight,\n yTitleWidth, xTitleHeight, selectionMarks,\n } = layout;\n\n const exportSvg = document.createElementNS(SVG_NS, \"svg\") as SVGSVGElement;\n exportSvg.setAttribute(\"width\", String(marg.left + xMax + marg.right));\n exportSvg.setAttribute(\"height\", String(marg.top + yMax + marg.bottom));\n\n if (includeCells) {\n const cellsDataUrl = renderCellsToDataURL(o);\n if (cellsDataUrl) appendCellsImage(exportSvg, cellsDataUrl, marg.left, marg.top, xMax, yMax);\n }\n\n let fullRowAxis: SVGSVGElement | null = null;\n let fullColAxis: SVGSVGElement | null = null;\n const exportContainer = document.createElement(\"div\");\n const exportRoot = createRoot(exportContainer);\n flushSync(() => {\n exportRoot.render(\n <>\n <svg width={yTickLabelWidth} height={yMax} ref={(el) => { fullRowAxis = el; }}>\n <g transform={`translate(${yTickLabelWidth},0)`}>\n <AxisLeft\n scale={yScale}\n numTicks={numRows}\n tickValues={yTickValues}\n tickFormat={o.yAxisTickFormat}\n tickLabelProps={markTickLabels(yAxisTickLabelProps, selectionMarks.rows)}\n />\n <HeatmapSelectionPointers axis=\"row\" marked={selectionMarks.rows} scale={yScale} />\n </g>\n </svg>\n <svg width={xMax} height={xTickLabelHeight} ref={(el) => { fullColAxis = el; }}>\n <AxisBottom\n top={0}\n scale={xScale}\n numTicks={o.data.length}\n tickFormat={o.xAxisTickFormat}\n tickValues={xTickValues}\n tickLabelProps={markTickLabels(o.xAxisTickLabelProps, selectionMarks.columns)}\n />\n <HeatmapSelectionPointers axis=\"column\" marked={selectionMarks.columns} scale={xScale} />\n </svg>\n </>\n );\n });\n if (fullRowAxis) appendClone(exportSvg, fullRowAxis, yTitleWidth, marg.top);\n if (fullColAxis) appendClone(exportSvg, fullColAxis, marg.left, marg.top + yMax);\n exportRoot.unmount();\n\n if (o.showLegend && o.legendSvg) {\n appendClone(exportSvg, o.legendSvg, marg.left + xMax + LEGEND_GAP, marg.top);\n }\n\n // On screen the titles sit in their own fixed panes, so there is nothing to clone: they're drawn here.\n if (o.yLabel) appendTitle(exportSvg, o.yLabel, yTitleWidth / 2, marg.top + yMax / 2, true);\n if (o.xLabel) {\n const center = xAxisTitleCenter(o.xLabel, marg.left + xMax / 2, marg.left + xMax + marg.right);\n appendTitle(exportSvg, o.xLabel, center, marg.top + yMax + xTickLabelHeight + xTitleHeight / 2, false);\n }\n\n return exportSvg;\n}\n\n// The cells are painted straight onto the output canvas, with only the axes, legend and titles\n// going through SVG. Embedding the cells in the SVG as a data URL and decoding it back doubled the\n// memory, enough to crash the tab on a large export.\nexport function downloadScrollableHeatmapPNG(o: ScrollableExportOptions, fileName: string): void {\n const { marg, xMax, yMax } = o.layout;\n if (xMax <= 0 || yMax <= 0) return;\n\n const fullWidth = marg.left + xMax + marg.right;\n const fullHeight = marg.top + yMax + marg.bottom;\n const scale = computeExportScale(fullWidth, fullHeight);\n\n const canvas = document.createElement(\"canvas\");\n canvas.width = Math.max(1, Math.round(fullWidth * scale));\n canvas.height = Math.max(1, Math.round(fullHeight * scale));\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n const cellsCanvas = rasterizeCells(o, scale);\n if (cellsCanvas) ctx.drawImage(cellsCanvas, marg.left * scale, marg.top * scale);\n\n const finish = (blob: Blob | null) => {\n if (blob) downloadBlob(blob, fileName);\n };\n\n const axesSvg = buildScrollableExportSVG(o, { includeCells: false });\n if (!axesSvg) {\n canvas.toBlob(finish, \"image/png\", 1);\n return;\n }\n\n const svgString = new XMLSerializer().serializeToString(axesSvg);\n const svgBlob = new Blob([svgString], { type: \"image/svg+xml;charset=utf-8\" });\n const url = URL.createObjectURL(svgBlob);\n const img = new Image();\n img.onload = () => {\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n URL.revokeObjectURL(url);\n canvas.toBlob(finish, \"image/png\", 1);\n };\n img.onerror = () => URL.revokeObjectURL(url);\n img.src = url;\n}\n\n// Keeps the export <svg> attached off-screen until `run` is done with it. The offset goes on a\n// wrapper: set on the <svg> itself, it would be serialized into the file.\nexport function withOffscreenExportSVG(o: ScrollableExportOptions, run: (svg: SVGSVGElement, onDone: () => void) => void): void {\n const svg = buildScrollableExportSVG(o);\n if (!svg) return;\n const wrapper = document.createElement(\"div\");\n wrapper.style.position = \"absolute\";\n wrapper.style.top = \"0\";\n wrapper.style.left = \"-99999px\";\n wrapper.appendChild(svg);\n document.body.appendChild(wrapper);\n run(svg, () => {\n if (wrapper.parentNode) document.body.removeChild(wrapper);\n });\n}\n"],"names":["SVG_NS","XLINK_NS","appendTitle","exportSvg","text","x","y","rotate","titleEl","document","createElementNS","setAttribute","String","AXIS_TITLE_FONT_SIZE","TICK_FONT_FAMILY","textContent","appendChild","appendClone","source","group","childNodes","forEach","node","cloneNode","computeExportScale","width","height","desiredScale","window","devicePixelRatio","Math","min","MAX_CANVAS_EXPORT_DIMENSION","sqrt","MAX_CANVAS_EXPORT_PIXELS","rasterizeCells","o","scale","xMax","yMax","canvasCellParams","numRows","layout","canvas","createElement","max","round","ctx","getContext","setTransform","range","colStart","colEnd","data","length","rowStart","rowEnd","drawHeatmapCells","highlightRange","renderCellsToDataURL","toDataURL","appendCellsImage","dataUrl","image","setAttributeNS","buildScrollableExportSVG","includeCells","marg","xScale","yScale","xTickValues","yTickValues","yTickLabelWidth","xTickLabelHeight","yTitleWidth","xTitleHeight","selectionMarks","left","right","top","bottom","cellsDataUrl","fullRowAxis","fullColAxis","exportContainer","exportRoot","createRoot","flushSync","render","jsxs","Fragment","jsx","el","AxisLeft","yAxisTickFormat","markTickLabels","yAxisTickLabelProps","rows","HeatmapSelectionPointers","AxisBottom","xAxisTickFormat","xAxisTickLabelProps","columns","unmount","showLegend","legendSvg","LEGEND_GAP","yLabel","xLabel","center","xAxisTitleCenter","downloadScrollableHeatmapPNG","fileName","fullWidth","fullHeight","cellsCanvas","drawImage","finish","blob","downloadBlob","axesSvg","toBlob","svgString","XMLSerializer","serializeToString","svgBlob","Blob","type","url","URL","createObjectURL","img","Image","onload","revokeObjectURL","onerror","src","withOffscreenExportSVG","run","svg","wrapper","style","position","body","parentNode","removeChild"],"mappings":";;;;;;;;;;AAWA,MAAMA,IAAS,8BACTC,IAAW,gCAcXC,IAAcA,CAACC,GAA0BC,GAAcC,GAAWC,GAAWC,MAAoB;AACrG,QAAMC,IAAUC,SAASC,gBAAgBV,GAAQ,MAAM;AACvDQ,EAAAA,EAAQG,aAAa,KAAKC,OAAOP,CAAC,CAAC,GACnCG,EAAQG,aAAa,KAAKC,OAAON,CAAC,CAAC,GAC/BC,OAAgBI,aAAa,aAAa,eAAeN,CAAC,KAAKC,CAAC,GAAG,GACvEE,EAAQG,aAAa,eAAe,QAAQ,GAC5CH,EAAQG,aAAa,qBAAqB,QAAQ,GAClDH,EAAQG,aAAa,aAAaC,OAAOC,CAAoB,CAAC,GAC9DL,EAAQG,aAAa,eAAeG,CAAgB,GACpDN,EAAQO,cAAcX,GACtBD,EAAUa,YAAYR,CAAO;AAC/B,GAEMS,IAAcA,CAACd,GAA0Be,GAAuBb,GAAWC,MAAc;AAC7F,QAAMa,IAAQV,SAASC,gBAAgBV,GAAQ,GAAG;AAClDmB,EAAAA,EAAMR,aAAa,aAAa,aAAaN,CAAC,IAAIC,CAAC,GAAG,GACtDY,EAAOE,WAAWC,QAASC,CAAAA,MAASH,EAAMH,YAAYM,EAAKC,UAAU,EAAI,CAAC,CAAC,GAC3EpB,EAAUa,YAAYG,CAAK;AAC7B;AAGA,SAASK,EAAmBC,GAAeC,GAAwB;AACjE,QAAMC,IAAeC,OAAOC,oBAAoB;AAChD,SAAOC,KAAKC,IACVJ,GACAK,IAA8BP,GAC9BO,IAA8BN,GAC9BI,KAAKG,KAAKC,KAA4BT,IAAQC,EAAO,CACvD;AACF;AAIA,SAASS,EAAeC,GAA4BC,GAAyC;AAC3F,QAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAMC,kBAAAA;AAAAA,IAAkBC,SAAAA;AAAAA,EAAAA,IAAYL,EAAEM;AACpD,MAAIJ,KAAQ,KAAKC,KAAQ,EAAG,QAAO;AAEnC,QAAMI,IAASlC,SAASmC,cAAc,QAAQ;AAC9CD,EAAAA,EAAOlB,QAAQK,KAAKe,IAAI,GAAGf,KAAKgB,MAAMR,IAAOD,CAAK,CAAC,GACnDM,EAAOjB,SAASI,KAAKe,IAAI,GAAGf,KAAKgB,MAAMP,IAAOF,CAAK,CAAC;AACpD,QAAMU,IAAMJ,EAAOK,WAAW,IAAI;AAClC,MAAI,CAACD,EAAK,QAAO;AAEjBA,EAAAA,EAAIE,aAAaZ,GAAO,GAAG,GAAGA,GAAO,GAAG,CAAC;AACzC,QAAMa,IAAQ;AAAA,IAAEC,UAAU;AAAA,IAAGC,QAAQtB,KAAKe,IAAI,GAAGT,EAAEiB,KAAKC,SAAS,CAAC;AAAA,IAAGC,UAAU;AAAA,IAAGC,QAAQ1B,KAAKe,IAAI,GAAGJ,IAAU,CAAC;AAAA,EAAA;AAEjHgB,SAAAA,EAAiBV,GAAK;AAAA,IAAE,GAAGP;AAAAA,IAAkBkB,gBAAgB;AAAA,EAAA,GAAQR,GAAO,IAAI,GACzEP;AACT;AAGA,SAASgB,EAAqBvB,GAA2C;AACvE,QAAM;AAAA,IAAEE,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,EAAAA,IAASH,EAAEM;AACzB,MAAIJ,KAAQ,KAAKC,KAAQ,EAAG,QAAO;AACnC,QAAMI,IAASR,EAAeC,GAAGZ,EAAmBc,GAAMC,CAAI,CAAC;AAC/D,SAAOI,IAASA,EAAOiB,UAAU,WAAW,IAAI;AAClD;AAEA,MAAMC,IAAmBA,CAAC1D,GAA0B2D,GAAiBzD,GAAWC,GAAWmB,GAAeC,MAAmB;AAC3H,QAAMqC,IAAQtD,SAASC,gBAAgBV,GAAQ,OAAO;AACtD+D,EAAAA,EAAMpD,aAAa,KAAKC,OAAOP,CAAC,CAAC,GACjC0D,EAAMpD,aAAa,KAAKC,OAAON,CAAC,CAAC,GACjCyD,EAAMpD,aAAa,SAASC,OAAOa,CAAK,CAAC,GACzCsC,EAAMpD,aAAa,UAAUC,OAAOc,CAAM,CAAC,GAC3CqC,EAAMpD,aAAa,uBAAuB,MAAM,GAEhDoD,EAAMC,eAAe/D,GAAU,QAAQ6D,CAAO,GAC9CC,EAAMpD,aAAa,QAAQmD,CAAO,GAClC3D,EAAUa,YAAY+C,CAAK;AAC7B;AAIO,SAASE,EAAyB7B,GAA4B;AAAA,EAAE8B,cAAAA,IAAe;AAAiC,IAAI,IAA0B;AACnJ,QAAM;AAAA,IAAExB,QAAAA;AAAAA,EAAAA,IAAWN,GACb;AAAA,IACJ+B,MAAAA;AAAAA,IAAM7B,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAM6B,QAAAA;AAAAA,IAAQC,QAAAA;AAAAA,IAAQ5B,SAAAA;AAAAA,IAAS6B,aAAAA;AAAAA,IAAaC,aAAAA;AAAAA,IAAaC,iBAAAA;AAAAA,IAAiBC,kBAAAA;AAAAA,IACtFC,aAAAA;AAAAA,IAAaC,cAAAA;AAAAA,IAAcC,gBAAAA;AAAAA,EAAAA,IACzBlC,GAEEvC,IAAYM,SAASC,gBAAgBV,GAAQ,KAAK;AAIxD,MAHAG,EAAUQ,aAAa,SAASC,OAAOuD,EAAKU,OAAOvC,IAAO6B,EAAKW,KAAK,CAAC,GACrE3E,EAAUQ,aAAa,UAAUC,OAAOuD,EAAKY,MAAMxC,IAAO4B,EAAKa,MAAM,CAAC,GAElEd,GAAc;AAChB,UAAMe,IAAetB,EAAqBvB,CAAC;AAC3C,IAAI6C,OAA+B9E,GAAW8E,GAAcd,EAAKU,MAAMV,EAAKY,KAAKzC,GAAMC,CAAI;AAAA,EAC7F;AAEA,MAAI2C,IAAoC,MACpCC,IAAoC;AACxC,QAAMC,IAAkB3E,SAASmC,cAAc,KAAK,GAC9CyC,IAAaC,EAAWF,CAAe;AAwC7C,MAvCAG,EAAU,MAAM;AACdF,IAAAA,EAAWG,OACT,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAI,OAAOnB,GAAiB,QAAQjC,GAAM,KAAMqD,CAAAA,MAAO;AAAEV,QAAAA,IAAcU;AAAAA,MAAI,GAC1E,UAAA,gBAAAH,EAAC,KAAA,EAAE,WAAW,aAAajB,CAAe,OACxC,UAAA;AAAA,QAAA,gBAAAmB,EAACE,GAAA,EACC,OAAOxB,GACP,UAAU5B,GACV,YAAY8B,GACZ,YAAYnC,EAAE0D,iBACd,gBAAgBC,EAAeC,GAAqBpB,EAAeqB,IAAI,GAAE;AAAA,QAE3E,gBAAAN,EAACO,KAAyB,MAAK,OAAM,QAAQtB,EAAeqB,MAAM,OAAO5B,EAAAA,CAAO;AAAA,MAAA,EAAA,CAClF,EAAA,CACF;AAAA,wBACC,OAAA,EAAI,OAAO/B,GAAM,QAAQmC,GAAkB,KAAMmB,CAAAA,MAAO;AAAET,QAAAA,IAAcS;AAAAA,MAAI,GAC3E,UAAA;AAAA,QAAA,gBAAAD,EAACQ,GAAA,EACC,KAAK,GACL,OAAO/B,GACP,UAAUhC,EAAEiB,KAAKC,QACjB,YAAYlB,EAAEgE,iBACd,YAAY9B,GACZ,gBAAgByB,EAAe3D,EAAEiE,qBAAqBzB,EAAe0B,OAAO,GAAE;AAAA,QAEhF,gBAAAX,EAACO,KAAyB,MAAK,UAAS,QAAQtB,EAAe0B,SAAS,OAAOlC,EAAAA,CAAO;AAAA,MAAA,EAAA,CACxF;AAAA,IAAA,EAAA,CACF,CACF;AAAA,EACF,CAAC,GACGc,KAAajE,EAAYd,GAAW+E,GAAaR,GAAaP,EAAKY,GAAG,GACtEI,OAAyBhF,GAAWgF,GAAahB,EAAKU,MAAMV,EAAKY,MAAMxC,CAAI,GAC/E8C,EAAWkB,QAAAA,GAEPnE,EAAEoE,cAAcpE,EAAEqE,aACpBxF,EAAYd,GAAWiC,EAAEqE,WAAWtC,EAAKU,OAAOvC,IAAOoE,GAAYvC,EAAKY,GAAG,GAIzE3C,EAAEuE,UAAQzG,EAAYC,GAAWiC,EAAEuE,QAAQjC,IAAc,GAAGP,EAAKY,MAAMxC,IAAO,GAAG,EAAI,GACrFH,EAAEwE,QAAQ;AACZ,UAAMC,IAASC,EAAiB1E,EAAEwE,QAAQzC,EAAKU,OAAOvC,IAAO,GAAG6B,EAAKU,OAAOvC,IAAO6B,EAAKW,KAAK;AAC7F5E,IAAAA,EAAYC,GAAWiC,EAAEwE,QAAQC,GAAQ1C,EAAKY,MAAMxC,IAAOkC,IAAmBE,IAAe,GAAG,EAAK;AAAA,EACvG;AAEA,SAAOxE;AACT;AAKO,SAAS4G,GAA6B3E,GAA4B4E,GAAwB;AAC/F,QAAM;AAAA,IAAE7C,MAAAA;AAAAA,IAAM7B,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,EAAAA,IAASH,EAAEM;AAC/B,MAAIJ,KAAQ,KAAKC,KAAQ,EAAG;AAE5B,QAAM0E,IAAY9C,EAAKU,OAAOvC,IAAO6B,EAAKW,OACpCoC,IAAa/C,EAAKY,MAAMxC,IAAO4B,EAAKa,QACpC3C,IAAQb,EAAmByF,GAAWC,CAAU,GAEhDvE,IAASlC,SAASmC,cAAc,QAAQ;AAC9CD,EAAAA,EAAOlB,QAAQK,KAAKe,IAAI,GAAGf,KAAKgB,MAAMmE,IAAY5E,CAAK,CAAC,GACxDM,EAAOjB,SAASI,KAAKe,IAAI,GAAGf,KAAKgB,MAAMoE,IAAa7E,CAAK,CAAC;AAC1D,QAAMU,IAAMJ,EAAOK,WAAW,IAAI;AAClC,MAAI,CAACD,EAAK;AAEV,QAAMoE,IAAchF,EAAeC,GAAGC,CAAK;AAC3C,EAAI8E,OAAiBC,UAAUD,GAAahD,EAAKU,OAAOxC,GAAO8B,EAAKY,MAAM1C,CAAK;AAE/E,QAAMgF,IAASA,CAACC,MAAsB;AACpC,IAAIA,KAAMC,EAAaD,GAAMN,CAAQ;AAAA,EACvC,GAEMQ,IAAUvD,EAAyB7B,GAAG;AAAA,IAAE8B,cAAc;AAAA,EAAA,CAAO;AACnE,MAAI,CAACsD,GAAS;AACZ7E,IAAAA,EAAO8E,OAAOJ,GAAQ,aAAa,CAAC;AACpC;AAAA,EACF;AAEA,QAAMK,IAAY,IAAIC,gBAAgBC,kBAAkBJ,CAAO,GACzDK,IAAU,IAAIC,KAAK,CAACJ,CAAS,GAAG;AAAA,IAAEK,MAAM;AAAA,EAAA,CAA+B,GACvEC,IAAMC,IAAIC,gBAAgBL,CAAO,GACjCM,IAAM,IAAIC,MAAAA;AAChBD,EAAAA,EAAIE,SAAS,MAAM;AACjBtF,IAAAA,EAAIqE,UAAUe,GAAK,GAAG,GAAGxF,EAAOlB,OAAOkB,EAAOjB,MAAM,GACpDuG,IAAIK,gBAAgBN,CAAG,GACvBrF,EAAO8E,OAAOJ,GAAQ,aAAa,CAAC;AAAA,EACtC,GACAc,EAAII,UAAU,MAAMN,IAAIK,gBAAgBN,CAAG,GAC3CG,EAAIK,MAAMR;AACZ;AAIO,SAASS,GAAuBrG,GAA4BsG,GAA6D;AAC9H,QAAMC,IAAM1E,EAAyB7B,CAAC;AACtC,MAAI,CAACuG,EAAK;AACV,QAAMC,IAAUnI,SAASmC,cAAc,KAAK;AAC5CgG,EAAAA,EAAQC,MAAMC,WAAW,YACzBF,EAAQC,MAAM9D,MAAM,KACpB6D,EAAQC,MAAMhE,OAAO,YACrB+D,EAAQ5H,YAAY2H,CAAG,GACvBlI,SAASsI,KAAK/H,YAAY4H,CAAO,GACjCF,EAAIC,GAAK,MAAM;AACb,IAAIC,EAAQI,cAAYvI,SAASsI,KAAKE,YAAYL,CAAO;AAAA,EAC3D,CAAC;AACH;"}