@sjcrh/proteinpaint-client 2.198.0 → 2.200.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1066) hide show
  1. package/dist/2dmaf-RRV3ORZR.js +1373 -0
  2. package/dist/AIProjectAdmin-DKLEFCGX.js +958 -0
  3. package/dist/AppHeader-WQ2F7HZY.js +835 -0
  4. package/dist/BoxPlot-5JQCYENZ.js +1218 -0
  5. package/dist/BoxPlot-5JQCYENZ.js.map +7 -0
  6. package/dist/CorrelationVolcano-HR6IP2SZ.js +619 -0
  7. package/dist/DE-DAW6ZKM7.js +95 -0
  8. package/dist/DEinput-XCR4VMR3.js +409 -0
  9. package/dist/DEinput-XCR4VMR3.js.map +7 -0
  10. package/dist/DifferentialAnalysis-SETJAZEN.js +243 -0
  11. package/dist/DifferentialAnalysis-SETJAZEN.js.map +7 -0
  12. package/dist/Disco-QEBEVQS2.js +3392 -0
  13. package/dist/Disco.UI-OYVL7UBI.js +248 -0
  14. package/dist/Disco.UI-OYVL7UBI.js.map +7 -0
  15. package/dist/DmrPlot-CWBQDZL7.js +642 -0
  16. package/dist/GB-5PYCR4SV.js +1396 -0
  17. package/dist/GB-5PYCR4SV.js.map +7 -0
  18. package/dist/GSEA-6UKMI6GY.js +846 -0
  19. package/dist/GeneExpInput-2N62XM7Z.js +367 -0
  20. package/dist/GeneExpInput-2N62XM7Z.js.map +7 -0
  21. package/dist/Geomap-ANMR32HE.js +89 -0
  22. package/dist/HicApp-WHPUPHEM.js +2250 -0
  23. package/dist/IDCViewer-FWXRE4AX.js +10817 -0
  24. package/dist/IDCViewer-FWXRE4AX.js.map +7 -0
  25. package/dist/NumBinaryEditor-VG5KOGDA.js +271 -0
  26. package/dist/NumBinaryEditor.unit.spec-UCGFZS3P.js +286 -0
  27. package/dist/NumContEditor-J52RON3G.js +109 -0
  28. package/dist/NumContEditor.unit.spec-5GTWUJEL.js +169 -0
  29. package/dist/NumCustomBinEditor-GM2OJMOX.js +38 -0
  30. package/dist/NumCustomBinEditor.unit.spec-3PGJ25J4.js +284 -0
  31. package/dist/NumDiscreteEditor-2CAKT3Y4.js +179 -0
  32. package/dist/NumDiscreteEditor.unit.spec-XCWSJTRT.js +202 -0
  33. package/dist/NumRegularBinEditor-CZYITY5L.js +38 -0
  34. package/dist/NumRegularBinEditor.unit.spec-OUBZ5XB3.js +227 -0
  35. package/dist/NumSplineEditor-TWRL5AQQ.js +198 -0
  36. package/dist/NumSplineEditor.unit.spec-5P6NQZ3N.js +199 -0
  37. package/dist/NumericDensity-JSOFOEH2.js +38 -0
  38. package/dist/NumericDensity.unit.spec-REUKHMKK.js +221 -0
  39. package/dist/NumericHandler-UZOGKPKB.js +39 -0
  40. package/dist/NumericHandler.unit.spec-X2DAED4O.js +219 -0
  41. package/dist/ProteomeInput-GBVCLNS7.js +394 -0
  42. package/dist/ProteomeInput-GBVCLNS7.js.map +7 -0
  43. package/dist/RunChart2-N4JPWNVV.js +758 -0
  44. package/dist/RunChart2-N4JPWNVV.js.map +7 -0
  45. package/dist/SC-RCZT5BRP.js +1112 -0
  46. package/dist/SC-RCZT5BRP.js.map +7 -0
  47. package/dist/Volcano-2BQ6SYHO.js +1404 -0
  48. package/dist/Volcano-2BQ6SYHO.js.map +7 -0
  49. package/dist/WSIViewer-UDA4WIRT.js +48562 -0
  50. package/dist/WsiSamplesPlot-DYSFMD22.js +165 -0
  51. package/dist/adSandbox-5BUDCAER.js +38 -0
  52. package/dist/animatedBubbleChart-N6MBJ4X3.js +553 -0
  53. package/dist/animatedBubbleChart-N6MBJ4X3.js.map +7 -0
  54. package/dist/app-O64TGDFH.js +37 -0
  55. package/dist/app-Y2STUISK.js +49 -0
  56. package/dist/app.js +23 -23
  57. package/dist/bam-2EOABVGT.js +859 -0
  58. package/dist/bam-2EOABVGT.js.map +7 -0
  59. package/dist/barchart-UHCTYRMJ.js +47 -0
  60. package/dist/barchart.data-LSK2P2PR.js +21 -0
  61. package/dist/barchart.events-Y4H2GADS.js +47 -0
  62. package/dist/barchart.integration.spec-BFGZFECA.js +2243 -0
  63. package/dist/barchart.integration.spec-BFGZFECA.js.map +7 -0
  64. package/dist/barchart2-VIZKZRMP.js +314 -0
  65. package/dist/bars.renderer-54UCFLJS.js +12 -0
  66. package/dist/block-BGSSF6XP.js +6255 -0
  67. package/dist/block.init-H7RKUIHG.js +38 -0
  68. package/dist/block.mds.expressionrank-MA3HGT7S.js +359 -0
  69. package/dist/block.mds.geneboxplot-CWT5DM5T.js +828 -0
  70. package/dist/block.mds.junction-P4I7O73X.js +1545 -0
  71. package/dist/block.mds.svcnv-NSPEY43S.js +6801 -0
  72. package/dist/block.svg-DP4G3LNQ.js +164 -0
  73. package/dist/block.tk.aicheck-EBLTOWKZ.js +283 -0
  74. package/dist/block.tk.ase-X7WKQOFS.js +365 -0
  75. package/dist/block.tk.bam-OIP3TS3N.js +1906 -0
  76. package/dist/block.tk.bedgraphdot-2DDF55J3.js +384 -0
  77. package/dist/block.tk.bigwig.ui-S2SMAEXM.js +211 -0
  78. package/dist/block.tk.bigwig.ui-S2SMAEXM.js.map +7 -0
  79. package/dist/block.tk.hicstraw-4OIG4TBZ.js +823 -0
  80. package/dist/block.tk.junction-52OWEQUN.js +2364 -0
  81. package/dist/block.tk.junction.textmatrixui-64YOSZLW.js +199 -0
  82. package/dist/block.tk.ld-3AMNHBDY.js +99 -0
  83. package/dist/block.tk.menu-4724DJXL.js +1029 -0
  84. package/dist/block.tk.pgv-2SIOPWYI.js +944 -0
  85. package/dist/brainImaging-D43CQQN6.js +423 -0
  86. package/dist/brainImaging-D43CQQN6.js.map +7 -0
  87. package/dist/brainRegions-HJ2VGL3L.js +221 -0
  88. package/dist/bubbleHeatmap-IL44M4QZ.js +383 -0
  89. package/dist/bubbleHeatmap-IL44M4QZ.js.map +7 -0
  90. package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js +283 -0
  91. package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js.map +7 -0
  92. package/dist/chunk-26APRXD3.js +254 -0
  93. package/dist/chunk-2GLA2SWU.js +160 -0
  94. package/dist/chunk-2GLA2SWU.js.map +7 -0
  95. package/dist/chunk-2KXLYFAO.js +4085 -0
  96. package/dist/chunk-3BGFM7Q4.js +1275 -0
  97. package/dist/chunk-3SHZTAGF.js +193 -0
  98. package/dist/chunk-3SHZTAGF.js.map +7 -0
  99. package/dist/chunk-46X6AQ7Z.js +123 -0
  100. package/dist/chunk-46X6AQ7Z.js.map +7 -0
  101. package/dist/chunk-4FQYRDZS.js +276 -0
  102. package/dist/chunk-4FQYRDZS.js.map +7 -0
  103. package/dist/chunk-4HZN6PMU.js +129 -0
  104. package/dist/chunk-4KRGCOTL.js +479 -0
  105. package/dist/chunk-4KRGCOTL.js.map +7 -0
  106. package/dist/chunk-4WF3XDQP.js +220 -0
  107. package/dist/chunk-4WF3XDQP.js.map +7 -0
  108. package/dist/chunk-5DMVORBB.js +98 -0
  109. package/dist/chunk-5QMBB4SK.js +1245 -0
  110. package/dist/chunk-5R63Q5KH.js +1628 -0
  111. package/dist/chunk-5RVA43MN.js +274 -0
  112. package/dist/chunk-5RVA43MN.js.map +7 -0
  113. package/dist/chunk-5T3MOOEJ.js +379 -0
  114. package/dist/chunk-5T3MOOEJ.js.map +7 -0
  115. package/dist/chunk-5T3ZDRTS.js +70 -0
  116. package/dist/chunk-5T3ZDRTS.js.map +7 -0
  117. package/dist/chunk-5ZTVJSYI.js +834 -0
  118. package/dist/chunk-5ZTVJSYI.js.map +7 -0
  119. package/dist/chunk-6JYQGZ3Y.js +446 -0
  120. package/dist/chunk-6OUBUUC2.js +626 -0
  121. package/dist/chunk-6OUBUUC2.js.map +7 -0
  122. package/dist/chunk-6PNPHACF.js +1652 -0
  123. package/dist/chunk-6PNPHACF.js.map +7 -0
  124. package/dist/chunk-6QCYT6G2.js +467 -0
  125. package/dist/chunk-7JRDJNLR.js +263 -0
  126. package/dist/chunk-7JRDJNLR.js.map +7 -0
  127. package/dist/chunk-7PIHRWGG.js +102 -0
  128. package/dist/chunk-7PIHRWGG.js.map +7 -0
  129. package/dist/chunk-7PJNKPQB.js +275 -0
  130. package/dist/chunk-7PJNKPQB.js.map +7 -0
  131. package/dist/chunk-AGLAYNXP.js +170 -0
  132. package/dist/chunk-AGLAYNXP.js.map +7 -0
  133. package/dist/chunk-B4ESQLPB.js +140 -0
  134. package/dist/chunk-B7VDZ6VF.js +399 -0
  135. package/dist/chunk-B7VDZ6VF.js.map +7 -0
  136. package/dist/chunk-BGTBRAJ6.js +50 -0
  137. package/dist/chunk-BGTBRAJ6.js.map +7 -0
  138. package/dist/chunk-BNAO6N5X.js +2899 -0
  139. package/dist/chunk-BNAO6N5X.js.map +7 -0
  140. package/dist/chunk-BQHPJY2M.js +347 -0
  141. package/dist/chunk-BQHPJY2M.js.map +7 -0
  142. package/dist/chunk-BZTWTH4Y.js +87 -0
  143. package/dist/chunk-BZTWTH4Y.js.map +7 -0
  144. package/dist/chunk-CY4RQ5L6.js +1710 -0
  145. package/dist/chunk-CY4RQ5L6.js.map +7 -0
  146. package/dist/chunk-D565DNJD.js +236 -0
  147. package/dist/chunk-D565DNJD.js.map +7 -0
  148. package/dist/chunk-DH3LAQKT.js +384 -0
  149. package/dist/chunk-DH3LAQKT.js.map +7 -0
  150. package/dist/chunk-E3VF4RHJ.js +381 -0
  151. package/dist/chunk-EGPNRSPF.js +292 -0
  152. package/dist/chunk-FACITNG5.js +142 -0
  153. package/dist/chunk-GNS6CQMA.js +119 -0
  154. package/dist/chunk-GNS6CQMA.js.map +7 -0
  155. package/dist/chunk-H3N4KYKL.js +2327 -0
  156. package/dist/chunk-H3VWJH4U.js +14 -0
  157. package/dist/chunk-HEVKBSN6.js +222 -0
  158. package/dist/chunk-HQUYAZQY.js +514 -0
  159. package/dist/chunk-IUBBQPO2.js +146 -0
  160. package/dist/chunk-IUBBQPO2.js.map +7 -0
  161. package/dist/chunk-J4USU73L.js +26 -0
  162. package/dist/chunk-JH73IL4C.js +135 -0
  163. package/dist/chunk-JVPWIVDT.js +1812 -0
  164. package/dist/chunk-JVPWIVDT.js.map +7 -0
  165. package/dist/chunk-KU7YH7MV.js +217 -0
  166. package/dist/chunk-KZILNGAV.js +187 -0
  167. package/dist/chunk-KZILNGAV.js.map +7 -0
  168. package/dist/chunk-M66VDGSH.js +272 -0
  169. package/dist/chunk-MJN6RDXB.js +302 -0
  170. package/dist/chunk-MPNEZ6EL.js +31 -0
  171. package/dist/chunk-MPSLUEI4.js +314 -0
  172. package/dist/chunk-NIXFCC7X.js +368 -0
  173. package/dist/chunk-NODQZTWK.js +276 -0
  174. package/dist/chunk-NRYHIWBS.js +1942 -0
  175. package/dist/chunk-NRYHIWBS.js.map +7 -0
  176. package/dist/chunk-NUWJ4RN7.js +465 -0
  177. package/dist/chunk-NUWJ4RN7.js.map +7 -0
  178. package/dist/chunk-NVTJ5AUT.js +1102 -0
  179. package/dist/chunk-NZRMHM76.js +158 -0
  180. package/dist/chunk-NZRMHM76.js.map +7 -0
  181. package/dist/chunk-OOWXMY7U.js +55 -0
  182. package/dist/chunk-OTTMHVYH.js +787 -0
  183. package/dist/chunk-Q5RDQNIT.js +777 -0
  184. package/dist/chunk-QDX2XUNF.js +58 -0
  185. package/dist/chunk-QYXCHZ6U.js +4282 -0
  186. package/dist/chunk-QYXCHZ6U.js.map +7 -0
  187. package/dist/chunk-R6NM2HSH.js +556 -0
  188. package/dist/chunk-R6NM2HSH.js.map +7 -0
  189. package/dist/chunk-RJOY6A74.js +56 -0
  190. package/dist/chunk-RJOY6A74.js.map +7 -0
  191. package/dist/chunk-ROMW4AK2.js +102 -0
  192. package/dist/chunk-RR5U35N7.js +230 -0
  193. package/dist/chunk-RVKADD4L.js +148 -0
  194. package/dist/chunk-S5ZCK44Z.js +54 -0
  195. package/dist/chunk-SNRIVNQ3.js +176 -0
  196. package/dist/chunk-STI7BO3P.js +2681 -0
  197. package/dist/chunk-STI7BO3P.js.map +7 -0
  198. package/dist/chunk-TAM7UCAI.js +263 -0
  199. package/dist/chunk-TDKMBQSM.js +5070 -0
  200. package/dist/chunk-TDKMBQSM.js.map +7 -0
  201. package/dist/chunk-TKW5TW4Z.js +21449 -0
  202. package/dist/chunk-TKW5TW4Z.js.map +7 -0
  203. package/dist/chunk-TQTYW66I.js +2784 -0
  204. package/dist/chunk-TQTYW66I.js.map +7 -0
  205. package/dist/chunk-U3NTH4CS.js +54 -0
  206. package/dist/chunk-U3NTH4CS.js.map +7 -0
  207. package/dist/chunk-UEGQVQD6.js +34 -0
  208. package/dist/chunk-UEGQVQD6.js.map +7 -0
  209. package/dist/chunk-UJELJXJG.js +2110 -0
  210. package/dist/chunk-ULESDMUT.js +480 -0
  211. package/dist/chunk-UUKSL7QC.js +134 -0
  212. package/dist/chunk-UUKSL7QC.js.map +7 -0
  213. package/dist/chunk-VUPWQCDR.js +194 -0
  214. package/dist/chunk-VUPWQCDR.js.map +7 -0
  215. package/dist/chunk-W76X6W73.js +100 -0
  216. package/dist/chunk-W7OS7BNM.js +203 -0
  217. package/dist/chunk-WPHUM5S5.js +98 -0
  218. package/dist/chunk-WPHUM5S5.js.map +7 -0
  219. package/dist/chunk-WTTD6DUL.js +6364 -0
  220. package/dist/chunk-WXPFMVU6.js +299 -0
  221. package/dist/chunk-XNWUI5VL.js +37 -0
  222. package/dist/chunk-XNWUI5VL.js.map +7 -0
  223. package/dist/chunk-YBLTSYQV.js +216 -0
  224. package/dist/chunk-Z7VDFWIP.js +126 -0
  225. package/dist/chunk-Z7VDFWIP.js.map +7 -0
  226. package/dist/chunk-ZEKIUYN3.js +448 -0
  227. package/dist/chunk-ZEKIUYN3.js.map +7 -0
  228. package/dist/cohort-OWLNJZVH.js +75 -0
  229. package/dist/cohort-OWLNJZVH.js.map +7 -0
  230. package/dist/condition-L2IXP6WH.js +332 -0
  231. package/dist/controls-2S5QVWUC.js +39 -0
  232. package/dist/controls.config-3AJKR4ZZ.js +39 -0
  233. package/dist/correlation-DXTAWSLU.js +102 -0
  234. package/dist/cuminc-WQB6FHVS.js +1148 -0
  235. package/dist/cuminc-WQB6FHVS.js.map +7 -0
  236. package/dist/cuminc.integration.spec-WAYRLHUH.js +678 -0
  237. package/dist/customdata.inputui-7WH2NJGB.js +289 -0
  238. package/dist/dataDownload-HM4UYOBO.js +330 -0
  239. package/dist/dataDownload.integration.spec-F5CO4BWA.js +193 -0
  240. package/dist/databrowser.ui-E2YOG3L4.js +432 -0
  241. package/dist/databrowser.ui-E2YOG3L4.js.map +7 -0
  242. package/dist/dictionary-EEPTFDYD.js +118 -0
  243. package/dist/dnaMethylation-N3WNK6XA.js +38 -0
  244. package/dist/dnaMethylation.integration.spec-AIYRTFMR.js +203 -0
  245. package/dist/dnaMethylation.integration.spec-AIYRTFMR.js.map +7 -0
  246. package/dist/dofetch-YKYPEJTQ.js +51 -0
  247. package/dist/e2pca-JEZIGVB2.js +350 -0
  248. package/dist/ep-5FMH2MLV.js +1256 -0
  249. package/dist/expclust.gdc.spec-FR26VSUA.js +307 -0
  250. package/dist/facet-5YYY3MUN.js +521 -0
  251. package/dist/facet-5YYY3MUN.js.map +7 -0
  252. package/dist/gb-WGEVO7L2.js +88 -0
  253. package/dist/geneExpClustering-DHE6XJHV.js +249 -0
  254. package/dist/geneExpClustering-DHE6XJHV.js.map +7 -0
  255. package/dist/geneExpression-5NWQXMJ3.js +313 -0
  256. package/dist/geneExpression-VWUMM2LU.js +38 -0
  257. package/dist/geneExpression.unit.spec-HBU3WTZ4.js +102 -0
  258. package/dist/geneExpression.unit.spec-HBU3WTZ4.js.map +7 -0
  259. package/dist/geneORA-3VWFWDYI.js +278 -0
  260. package/dist/geneRanking-PKDVD5OD.js +553 -0
  261. package/dist/geneVariant-IFIJQXH4.js +39 -0
  262. package/dist/geneVariant-WZSOG4GI.js +41 -0
  263. package/dist/geneVariant.integration.spec-6KQMWVHR.js +198 -0
  264. package/dist/genefusion.ui-C4NTALL3.js +308 -0
  265. package/dist/genefusion.ui-C4NTALL3.js.map +7 -0
  266. package/dist/geneset-RJAULSKC.js +208 -0
  267. package/dist/genomeBrowser.spec-42OTTMGO.js +281 -0
  268. package/dist/grin2-26O6YDDY.js +75 -0
  269. package/dist/grin2-FT5BQJMB.js +1143 -0
  270. package/dist/hierCluster-GJPPMFNR.js +59 -0
  271. package/dist/hierCluster-HMJF3PBE.js +63 -0
  272. package/dist/hierCluster.config-TAS7XKTU.js +40 -0
  273. package/dist/hierCluster.integration.spec-RLHQKX65.js +488 -0
  274. package/dist/hierCluster.integration.spec-RLHQKX65.js.map +7 -0
  275. package/dist/hierCluster.interactivity-IKTAJ6CU.js +54 -0
  276. package/dist/hierCluster.renderers-I6WFZRNW.js +21 -0
  277. package/dist/imagePlot-N4OXNMVA.js +163 -0
  278. package/dist/importPlot-VMYXDP66.js +8 -0
  279. package/dist/isoformExpression-2KV64KMN.js +40 -0
  280. package/dist/isoformExpression.unit.spec-RG2VWEMG.js +242 -0
  281. package/dist/isoformExpression.unit.spec-RG2VWEMG.js.map +7 -0
  282. package/dist/junction-VO4IGMW2.js +41 -0
  283. package/dist/junction.customTerm-EFMHHVWA.js +18 -0
  284. package/dist/junction.unit.spec-NB24MR2B.js +187 -0
  285. package/dist/junction.unit.spec-NB24MR2B.js.map +7 -0
  286. package/dist/launch.adhoc-R3MO3VXK.js +42 -0
  287. package/dist/leftlabel.sample-SI6KMULD.js +263 -0
  288. package/dist/leftlabel.sample-SI6KMULD.js.map +7 -0
  289. package/dist/legacyDataset-4BXYHQTS.js +119 -0
  290. package/dist/lollipop-XIVE4ANX.js +171 -0
  291. package/dist/maf-WRHD4OJF.js +459 -0
  292. package/dist/maftimeline-IE6YKV7Y.js +593 -0
  293. package/dist/matrix-ALBCAZP5.js +58 -0
  294. package/dist/matrix-W72XRUZD.js +63 -0
  295. package/dist/matrix.cells-DEEUWC74.js +28 -0
  296. package/dist/matrix.config-JYXQOXDT.js +41 -0
  297. package/dist/matrix.data-ENXNM6RP.js +25 -0
  298. package/dist/matrix.groups-EXSNNESB.js +27 -0
  299. package/dist/matrix.integration.spec-BW6U6PIW.js +3072 -0
  300. package/dist/matrix.interactivity-G6AL566T.js +42 -0
  301. package/dist/matrix.layout-UBUPIJ3R.js +44 -0
  302. package/dist/matrix.legend-S3P4F2DG.js +22 -0
  303. package/dist/matrix.renderers-IXFGXHJQ.js +38 -0
  304. package/dist/matrix.serieses-THHXUAPM.js +21 -0
  305. package/dist/matrix.sort-WJV6LIZI.js +27 -0
  306. package/dist/matrix.sort.unit.spec-LGMIL2LR.js +472 -0
  307. package/dist/matrix.sorterUi-VXVCOKEZ.js +18 -0
  308. package/dist/matrix.sorterUi.unit.spec-CWSEJ62U.js +342 -0
  309. package/dist/mavb-SXGKASQ5.js +732 -0
  310. package/dist/mds.fimo-EDOT3TDN.js +518 -0
  311. package/dist/mds.samplescatterplot-IXHNABKB.js +1550 -0
  312. package/dist/mds.survivalplot-KTTMHHII.js +483 -0
  313. package/dist/numericDictTermCluster-H4JSPW22.js +65 -0
  314. package/dist/oncomatrix-O4EMNUOT.js +295 -0
  315. package/dist/oncomatrix.spec-BME6CQWF.js +448 -0
  316. package/dist/plot.2dvaf-FDM4KXGT.js +377 -0
  317. package/dist/plot.app-UNUXG7ND.js +41 -0
  318. package/dist/plot.barplot-R333TMG2.js +102 -0
  319. package/dist/plot.boxplot-KQTYGUN3.js +152 -0
  320. package/dist/plot.brainImaging-YBYMHCEG.js +51 -0
  321. package/dist/plot.disco-CMDKRSOM.js +102 -0
  322. package/dist/plot.dzi-YAZA6RQS.js +33 -0
  323. package/dist/plot.ssgq-YKCOEXZP.js +139 -0
  324. package/dist/plot.vaf2cov-3TLMTFZS.js +259 -0
  325. package/dist/plot.wsi-7ADVYTQS.js +36 -0
  326. package/dist/polar2-O5SHVLP4.js +237 -0
  327. package/dist/polar2-O5SHVLP4.js.map +7 -0
  328. package/dist/profileForms-RLB6SMPQ.js +940 -0
  329. package/dist/profileForms-RLB6SMPQ.js.map +7 -0
  330. package/dist/profilePlot-AP52VLLO.js +54 -0
  331. package/dist/proteinView-S7WDBMQU.js +1568 -0
  332. package/dist/proteinView-S7WDBMQU.js.map +7 -0
  333. package/dist/proteomeCohortCompare-ERVUM7RO.js +799 -0
  334. package/dist/proteomeCohortCompare-ERVUM7RO.js.map +7 -0
  335. package/dist/pseudbulk.unit.spec-VSH7IM3R.js +91 -0
  336. package/dist/pseudbulk.unit.spec-VSH7IM3R.js.map +7 -0
  337. package/dist/pseudobulk-7UKRLKQI.js +40 -0
  338. package/dist/qualitative-2D7MC4V5.js +43 -0
  339. package/dist/radar2-ELVGQFZE.js +332 -0
  340. package/dist/radar2-ELVGQFZE.js.map +7 -0
  341. package/dist/radarFacility2-SDAZHGNG.js +340 -0
  342. package/dist/radarFacility2-SDAZHGNG.js.map +7 -0
  343. package/dist/regression-CE54AQMY.js +56 -0
  344. package/dist/regression.inputs-SMC5CNPY.js +48 -0
  345. package/dist/regression.inputs.term-XS54IQC2.js +48 -0
  346. package/dist/regression.inputs.values.table-LNPM3MX5.js +45 -0
  347. package/dist/regression.integration.spec-6QSMYPWJ.js +784 -0
  348. package/dist/regression.results-25ZRRDEE.js +40 -0
  349. package/dist/regression.spec-EDWHFRPY.js +708 -0
  350. package/dist/render-SEB6GFXQ.js +38 -0
  351. package/dist/report-U6L3KBYG.js +222 -0
  352. package/dist/sampleView-QAAJ26KT.js +48 -0
  353. package/dist/samplelst-KYRXJSZN.js +111 -0
  354. package/dist/samplematrix-STLF2QA5.js +2198 -0
  355. package/dist/sc-HL6YSMDX.js +86 -0
  356. package/dist/scatter-BSGDMOC2.js +851 -0
  357. package/dist/selectGenomeWithTklst-4NHQDTE6.js +134 -0
  358. package/dist/singleCellCellType-3E2IU42J.js +38 -0
  359. package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js +159 -0
  360. package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js.map +7 -0
  361. package/dist/singleCellGeneExpression-53UUGYTK.js +38 -0
  362. package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js +153 -0
  363. package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js.map +7 -0
  364. package/dist/singleCellPlot-JDSARDRV.js +54 -0
  365. package/dist/singlecell-IJR7BJYT.js +1572 -0
  366. package/dist/singlecell-OK6GJFWL.js +86 -0
  367. package/dist/snp-H4KJEEOE.js +38 -0
  368. package/dist/snp.unit.spec-2Y4A3XYI.js +176 -0
  369. package/dist/snplocus-4GG6VTWX.js +208 -0
  370. package/dist/spliceevent.a53ss.diagram-JZNRC5UC.js +151 -0
  371. package/dist/spliceevent.exonskip.diagram-H54N7ZKY.js +283 -0
  372. package/dist/spliceevent.noeventdiagram-II753XAK.js +460 -0
  373. package/dist/ssGSEA-JPJ3C4JI.js +38 -0
  374. package/dist/ssGSEA.unit.spec-45F5OCDK.js +88 -0
  375. package/dist/studyCatalog-O3VGIKDM.js +358 -0
  376. package/dist/studyCatalog-O3VGIKDM.js.map +7 -0
  377. package/dist/summarizeCnvGeneexp-55DNXHXA.js +163 -0
  378. package/dist/summarizeGeneexpSurvival-VLO4DC5M.js +110 -0
  379. package/dist/summarizeGeneexpSurvival-VLO4DC5M.js.map +7 -0
  380. package/dist/summarizeMutationCnv-QX7BADYL.js +164 -0
  381. package/dist/summarizeMutationDiagnosis-MHFM7RX6.js +40 -0
  382. package/dist/summarizeMutationSurvival-G4KHSUBN.js +99 -0
  383. package/dist/summary-PJYRCQNY.js +49 -0
  384. package/dist/summary.integration.spec-KPKROD6L.js +414 -0
  385. package/dist/summaryInput-TOAL53EP.js +231 -0
  386. package/dist/summaryInput-TOAL53EP.js.map +7 -0
  387. package/dist/sunburst-IGIV2RBE.js +284 -0
  388. package/dist/survival-DINCIWW7.js +58 -0
  389. package/dist/survival-RKV5BPDK.js +1239 -0
  390. package/dist/survival-RKV5BPDK.js.map +7 -0
  391. package/dist/survival.integration.spec-7ZYBBZKT.js +958 -0
  392. package/dist/survival.integration.spec-7ZYBBZKT.js.map +7 -0
  393. package/dist/svgraph-EUEZWGVR.js +1387 -0
  394. package/dist/svmr-B24LODSC.js +3842 -0
  395. package/dist/table-XSJJ3UZV.js +200 -0
  396. package/dist/termCollection-IAB3425K.js +38 -0
  397. package/dist/termCollection-LGEGHZSJ.js +257 -0
  398. package/dist/termCollection-LGEGHZSJ.js.map +7 -0
  399. package/dist/termCollection.unit.spec-4TIRHC44.js +304 -0
  400. package/dist/termCollection.unit.spec-4TIRHC44.js.map +7 -0
  401. package/dist/termCollectionFractionSelection-35YKAOUY.js +47 -0
  402. package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js +193 -0
  403. package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js.map +7 -0
  404. package/dist/tk-25EJJDRK.js +46 -0
  405. package/dist/tk-4E3XJ7CO.js +1127 -0
  406. package/dist/tk-4E3XJ7CO.js.map +7 -0
  407. package/dist/tp.ui-VGA62NFM.js +1459 -0
  408. package/dist/tvs.cohort-F7OJI2MH.js +26 -0
  409. package/dist/tvs.cohort-F7OJI2MH.js.map +7 -0
  410. package/dist/tvs.density-G56327WY.js +19 -0
  411. package/dist/tvs.dt-DFW36WKO.js +39 -0
  412. package/dist/tvs.dtcnv.categorical-ZP33EO3A.js +40 -0
  413. package/dist/tvs.dtcnv.continuous-FJTMQF4J.js +72 -0
  414. package/dist/tvs.dtfusion-FTDQWNKM.js +40 -0
  415. package/dist/tvs.dtitd-W5VEECJ2.js +40 -0
  416. package/dist/tvs.dtsnvindel-UOXSLCDZ.js +40 -0
  417. package/dist/tvs.dtsv-HWCPRVBO.js +40 -0
  418. package/dist/tvs.numeric-7TGKWQYU.js +22 -0
  419. package/dist/tvs.samplelst-OWD22ITS.js +104 -0
  420. package/dist/tvs.termCollection-27BWABYK.js +129 -0
  421. package/dist/tvs.termCollection-27BWABYK.js.map +7 -0
  422. package/dist/violin-2IAVZGFF.js +46 -0
  423. package/dist/violin.integration.spec-JVODKUCL.js +1425 -0
  424. package/dist/violin.integration.spec-JVODKUCL.js.map +7 -0
  425. package/dist/violin.interactivity-STOCZMVN.js +38 -0
  426. package/dist/violin.renderer-MKDTJ3EX.js +40 -0
  427. package/dist/violin.renderer-MKDTJ3EX.js.map +7 -0
  428. package/dist/vocabulary-4IHU6DNN.js +41 -0
  429. package/dist/vocabulary-4IHU6DNN.js.map +7 -0
  430. package/package.json +3 -6
  431. package/dist/2dmaf-R3PFZNRN.js +0 -1373
  432. package/dist/AIProjectAdmin-DM3KG6SR.js +0 -958
  433. package/dist/AppHeader-6DZQ6YZX.js +0 -835
  434. package/dist/BoxPlot-76NINVX4.js +0 -1217
  435. package/dist/BoxPlot-76NINVX4.js.map +0 -7
  436. package/dist/CorrelationVolcano-U5UMJNH5.js +0 -619
  437. package/dist/DE-AXNYWIQK.js +0 -95
  438. package/dist/DEinput-JH6YY6LS.js +0 -301
  439. package/dist/DEinput-JH6YY6LS.js.map +0 -7
  440. package/dist/DifferentialAnalysis-25P4CGIY.js +0 -242
  441. package/dist/DifferentialAnalysis-25P4CGIY.js.map +0 -7
  442. package/dist/Disco-NVMLF3BK.js +0 -3392
  443. package/dist/Disco.UI-C7CZINUQ.js +0 -249
  444. package/dist/Disco.UI-C7CZINUQ.js.map +0 -7
  445. package/dist/DmrPlot-WROR4ENM.js +0 -642
  446. package/dist/GB-JUABODPH.js +0 -1394
  447. package/dist/GB-JUABODPH.js.map +0 -7
  448. package/dist/GSEA-Y5R2THIJ.js +0 -846
  449. package/dist/GeneExpInput-JDU6EI7K.js +0 -367
  450. package/dist/GeneExpInput-JDU6EI7K.js.map +0 -7
  451. package/dist/Geomap-J763OK2F.js +0 -89
  452. package/dist/HicApp-UNIJLH4B.js +0 -2250
  453. package/dist/IDCViewer-KVPCIUDW.js +0 -10803
  454. package/dist/IDCViewer-KVPCIUDW.js.map +0 -7
  455. package/dist/NumBinaryEditor-WMN2GGO4.js +0 -271
  456. package/dist/NumBinaryEditor.unit.spec-TAMXV6SE.js +0 -286
  457. package/dist/NumContEditor-XYIOJY4E.js +0 -109
  458. package/dist/NumContEditor.unit.spec-WDZ75BHO.js +0 -169
  459. package/dist/NumCustomBinEditor-5SY3C4TY.js +0 -38
  460. package/dist/NumCustomBinEditor.unit.spec-XHTAIXR3.js +0 -284
  461. package/dist/NumDiscreteEditor-NRDRX4FD.js +0 -179
  462. package/dist/NumDiscreteEditor.unit.spec-2CJW7OAT.js +0 -202
  463. package/dist/NumRegularBinEditor-DUDVTNDC.js +0 -38
  464. package/dist/NumRegularBinEditor.unit.spec-H3GNQHMN.js +0 -227
  465. package/dist/NumSplineEditor-7Q4AC7KH.js +0 -198
  466. package/dist/NumSplineEditor.unit.spec-YRZK5PH5.js +0 -199
  467. package/dist/NumericDensity-NTNWUESG.js +0 -38
  468. package/dist/NumericDensity.unit.spec-5I5U6T6P.js +0 -221
  469. package/dist/NumericHandler-MEW2KMPX.js +0 -39
  470. package/dist/NumericHandler.unit.spec-JFX4BPRG.js +0 -219
  471. package/dist/ProteomeInput-K2ZHR2U6.js +0 -395
  472. package/dist/ProteomeInput-K2ZHR2U6.js.map +0 -7
  473. package/dist/RunChart2-BEBDU7RC.js +0 -758
  474. package/dist/RunChart2-BEBDU7RC.js.map +0 -7
  475. package/dist/SC-XCBFJVUJ.js +0 -1120
  476. package/dist/SC-XCBFJVUJ.js.map +0 -7
  477. package/dist/Volcano-4Y4TP3UX.js +0 -1385
  478. package/dist/Volcano-4Y4TP3UX.js.map +0 -7
  479. package/dist/WSIViewer-ZLQU62PD.js +0 -48562
  480. package/dist/WsiSamplesPlot-JMBSITOM.js +0 -165
  481. package/dist/adSandbox-664IRCRL.js +0 -38
  482. package/dist/animatedBubbleChart-TX7NW34K.js +0 -555
  483. package/dist/animatedBubbleChart-TX7NW34K.js.map +0 -7
  484. package/dist/app-63WJ3BMP.js +0 -37
  485. package/dist/app-77FIZHCG.js +0 -49
  486. package/dist/bam-IETNVAYD.js +0 -860
  487. package/dist/bam-IETNVAYD.js.map +0 -7
  488. package/dist/barchart-YUVXJNH4.js +0 -47
  489. package/dist/barchart.data-P4EIQXGE.js +0 -22
  490. package/dist/barchart.events-JPVCLTIG.js +0 -47
  491. package/dist/barchart.integration.spec-ZH7DEQI2.js +0 -2196
  492. package/dist/barchart.integration.spec-ZH7DEQI2.js.map +0 -7
  493. package/dist/barchart2-XO2FG76J.js +0 -314
  494. package/dist/bars.renderer-AUIWUJDH.js +0 -12
  495. package/dist/block-NBTCOT3H.js +0 -6255
  496. package/dist/block.init-X7Y2EEVR.js +0 -38
  497. package/dist/block.mds.expressionrank-BIAOZIZ3.js +0 -359
  498. package/dist/block.mds.geneboxplot-CNICDVLK.js +0 -828
  499. package/dist/block.mds.junction-PQXCTSUI.js +0 -1545
  500. package/dist/block.mds.svcnv-32KMVTCT.js +0 -6801
  501. package/dist/block.svg-LRTOYQK2.js +0 -164
  502. package/dist/block.tk.aicheck-HDV7ZIUD.js +0 -283
  503. package/dist/block.tk.ase-JIDWKMYI.js +0 -365
  504. package/dist/block.tk.bam-5X3OS5HB.js +0 -1906
  505. package/dist/block.tk.bedgraphdot-T7JX7YQL.js +0 -384
  506. package/dist/block.tk.bigwig.ui-OSAYEBAE.js +0 -212
  507. package/dist/block.tk.bigwig.ui-OSAYEBAE.js.map +0 -7
  508. package/dist/block.tk.hicstraw-DEY3VQFK.js +0 -823
  509. package/dist/block.tk.junction-7UAFEZSJ.js +0 -2364
  510. package/dist/block.tk.junction.textmatrixui-27LHS33U.js +0 -199
  511. package/dist/block.tk.ld-DF2PI7OO.js +0 -99
  512. package/dist/block.tk.menu-L2D5KBIV.js +0 -1029
  513. package/dist/block.tk.pgv-QO56SKBV.js +0 -944
  514. package/dist/brainImaging-NIPQWFWO.js +0 -423
  515. package/dist/brainImaging-NIPQWFWO.js.map +0 -7
  516. package/dist/brainRegions-ZNZ2WHSU.js +0 -221
  517. package/dist/bubbleHeatmap-ERWNEKZB.js +0 -383
  518. package/dist/bubbleHeatmap-ERWNEKZB.js.map +0 -7
  519. package/dist/chunk-2GYWFQML.js +0 -299
  520. package/dist/chunk-2HYJ4GDH.js +0 -50
  521. package/dist/chunk-2HYJ4GDH.js.map +0 -7
  522. package/dist/chunk-2MG6XE6R.js +0 -272
  523. package/dist/chunk-2MG6XE6R.js.map +0 -7
  524. package/dist/chunk-2X6W4E3W.js +0 -1507
  525. package/dist/chunk-2X6W4E3W.js.map +0 -7
  526. package/dist/chunk-33K5PA52.js +0 -54
  527. package/dist/chunk-37XDBPOP.js +0 -26
  528. package/dist/chunk-3EWB3246.js +0 -58
  529. package/dist/chunk-3RSKOPIY.js +0 -100
  530. package/dist/chunk-3XVVN66M.js +0 -4085
  531. package/dist/chunk-4DPVT4NE.js +0 -1102
  532. package/dist/chunk-4IH7DORZ.js +0 -98
  533. package/dist/chunk-4QNBFIIR.js +0 -399
  534. package/dist/chunk-4QNBFIIR.js.map +0 -7
  535. package/dist/chunk-4STKL6SR.js +0 -217
  536. package/dist/chunk-4TZIVSL5.js +0 -34
  537. package/dist/chunk-4TZIVSL5.js.map +0 -7
  538. package/dist/chunk-5ABGFJSP.js +0 -467
  539. package/dist/chunk-5AZNP47R.js +0 -302
  540. package/dist/chunk-5RL2OHXX.js +0 -5070
  541. package/dist/chunk-5RL2OHXX.js.map +0 -7
  542. package/dist/chunk-5VOPABBA.js +0 -20941
  543. package/dist/chunk-5VOPABBA.js.map +0 -7
  544. package/dist/chunk-6BB43SIB.js +0 -102
  545. package/dist/chunk-6BB43SIB.js.map +0 -7
  546. package/dist/chunk-7IYJZZQI.js +0 -167
  547. package/dist/chunk-7IYJZZQI.js.map +0 -7
  548. package/dist/chunk-7OHRR2IE.js +0 -276
  549. package/dist/chunk-ARBHWDMY.js +0 -226
  550. package/dist/chunk-ARBHWDMY.js.map +0 -7
  551. package/dist/chunk-ASATD4T7.js +0 -14
  552. package/dist/chunk-AZ47Q7BX.js +0 -1223
  553. package/dist/chunk-AZ47Q7BX.js.map +0 -7
  554. package/dist/chunk-B5B3LZB3.js +0 -236
  555. package/dist/chunk-B5B3LZB3.js.map +0 -7
  556. package/dist/chunk-BHGISFCA.js +0 -2681
  557. package/dist/chunk-BHGISFCA.js.map +0 -7
  558. package/dist/chunk-BMBOZ64T.js +0 -2786
  559. package/dist/chunk-BMBOZ64T.js.map +0 -7
  560. package/dist/chunk-BOZJHPJP.js +0 -216
  561. package/dist/chunk-CDD7LYJM.js +0 -194
  562. package/dist/chunk-CDD7LYJM.js.map +0 -7
  563. package/dist/chunk-CTQ3IUCA.js +0 -2327
  564. package/dist/chunk-D7TID3HR.js +0 -158
  565. package/dist/chunk-D7TID3HR.js.map +0 -7
  566. package/dist/chunk-DBKNWR4J.js +0 -1561
  567. package/dist/chunk-DBKNWR4J.js.map +0 -7
  568. package/dist/chunk-E55LLYRX.js +0 -55
  569. package/dist/chunk-ESEQBXTM.js +0 -121
  570. package/dist/chunk-ESEQBXTM.js.map +0 -7
  571. package/dist/chunk-ESGXULRH.js +0 -386
  572. package/dist/chunk-ESGXULRH.js.map +0 -7
  573. package/dist/chunk-EZ4LZ6ZT.js +0 -117
  574. package/dist/chunk-EZ4LZ6ZT.js.map +0 -7
  575. package/dist/chunk-F3SJTVP5.js +0 -4284
  576. package/dist/chunk-F3SJTVP5.js.map +0 -7
  577. package/dist/chunk-F5IXNJO7.js +0 -222
  578. package/dist/chunk-FJYECRHW.js +0 -448
  579. package/dist/chunk-FJYECRHW.js.map +0 -7
  580. package/dist/chunk-FPNRUQOU.js +0 -833
  581. package/dist/chunk-FPNRUQOU.js.map +0 -7
  582. package/dist/chunk-G5S4R77D.js +0 -1942
  583. package/dist/chunk-G5S4R77D.js.map +0 -7
  584. package/dist/chunk-G764NXQN.js +0 -170
  585. package/dist/chunk-G764NXQN.js.map +0 -7
  586. package/dist/chunk-GAPI4MML.js +0 -148
  587. package/dist/chunk-HBW42TDT.js +0 -132
  588. package/dist/chunk-HBW42TDT.js.map +0 -7
  589. package/dist/chunk-HLUZOZXJ.js +0 -272
  590. package/dist/chunk-HOKIK2FR.js +0 -375
  591. package/dist/chunk-HOKIK2FR.js.map +0 -7
  592. package/dist/chunk-I6WR4CG7.js +0 -323
  593. package/dist/chunk-I6WR4CG7.js.map +0 -7
  594. package/dist/chunk-K5XPMCKP.js +0 -135
  595. package/dist/chunk-KI5KI3ZJ.js +0 -276
  596. package/dist/chunk-KI5KI3ZJ.js.map +0 -7
  597. package/dist/chunk-KLGL6XZD.js +0 -129
  598. package/dist/chunk-KYBIQBXE.js +0 -1628
  599. package/dist/chunk-L7IRWUKT.js +0 -480
  600. package/dist/chunk-LFCYMSVA.js +0 -314
  601. package/dist/chunk-LX6G7HJJ.js +0 -617
  602. package/dist/chunk-LX6G7HJJ.js.map +0 -7
  603. package/dist/chunk-M2G5R4WB.js +0 -142
  604. package/dist/chunk-M4TTGGT4.js +0 -102
  605. package/dist/chunk-M4TTGGT4.js.map +0 -7
  606. package/dist/chunk-M6EF3WVV.js +0 -1825
  607. package/dist/chunk-M6EF3WVV.js.map +0 -7
  608. package/dist/chunk-M6KHT3MM.js +0 -146
  609. package/dist/chunk-M6KHT3MM.js.map +0 -7
  610. package/dist/chunk-MCZFHWIR.js +0 -230
  611. package/dist/chunk-MFQACKYU.js +0 -448
  612. package/dist/chunk-MFQACKYU.js.map +0 -7
  613. package/dist/chunk-MVGAGTM3.js +0 -343
  614. package/dist/chunk-MVGAGTM3.js.map +0 -7
  615. package/dist/chunk-NELOT3NJ.js +0 -119
  616. package/dist/chunk-NELOT3NJ.js.map +0 -7
  617. package/dist/chunk-NRKMXULC.js +0 -54
  618. package/dist/chunk-NRKMXULC.js.map +0 -7
  619. package/dist/chunk-NSTL4MY2.js +0 -2110
  620. package/dist/chunk-NYRZNRG5.js +0 -177
  621. package/dist/chunk-NYRZNRG5.js.map +0 -7
  622. package/dist/chunk-OMR2DT66.js +0 -776
  623. package/dist/chunk-ONPKE6DC.js +0 -368
  624. package/dist/chunk-OXVLWQ6M.js +0 -556
  625. package/dist/chunk-OXVLWQ6M.js.map +0 -7
  626. package/dist/chunk-PFRWS4CR.js +0 -203
  627. package/dist/chunk-PJKQUXEN.js +0 -1275
  628. package/dist/chunk-Q2L44HK3.js +0 -6364
  629. package/dist/chunk-QNHT74XC.js +0 -1245
  630. package/dist/chunk-RKO6BL5N.js +0 -446
  631. package/dist/chunk-T25QNZHB.js +0 -254
  632. package/dist/chunk-U7TBYVIQ.js +0 -31
  633. package/dist/chunk-UGRQXBL4.js +0 -381
  634. package/dist/chunk-USFSHSCJ.js +0 -477
  635. package/dist/chunk-USFSHSCJ.js.map +0 -7
  636. package/dist/chunk-VJ6UFVGC.js +0 -2833
  637. package/dist/chunk-VJ6UFVGC.js.map +0 -7
  638. package/dist/chunk-W3WPPOXH.js +0 -292
  639. package/dist/chunk-WFCSOTBO.js +0 -263
  640. package/dist/chunk-WHP4AKDM.js +0 -185
  641. package/dist/chunk-WHP4AKDM.js.map +0 -7
  642. package/dist/chunk-WZ2L57MB.js +0 -102
  643. package/dist/chunk-XPY6AWXO.js +0 -787
  644. package/dist/chunk-Y4UAKFWC.js +0 -37
  645. package/dist/chunk-Y4UAKFWC.js.map +0 -7
  646. package/dist/chunk-YQBS2ZCK.js +0 -514
  647. package/dist/chunk-Z5U6HOE4.js +0 -190
  648. package/dist/chunk-Z5U6HOE4.js.map +0 -7
  649. package/dist/chunk-ZNEJUKJW.js +0 -140
  650. package/dist/chunk-ZTHM2TKP.js +0 -176
  651. package/dist/condition-2PASYSUC.js +0 -332
  652. package/dist/controls-5IMJ6K5L.js +0 -41
  653. package/dist/controls.config-P5PG2DHW.js +0 -39
  654. package/dist/correlation-U3EDLNHR.js +0 -102
  655. package/dist/cuminc-2HUFEROK.js +0 -1149
  656. package/dist/cuminc-2HUFEROK.js.map +0 -7
  657. package/dist/cuminc.integration.spec-WFWAPTDA.js +0 -678
  658. package/dist/customdata.inputui-ZHWNEPFH.js +0 -289
  659. package/dist/dataDownload-VBSJBKMP.js +0 -330
  660. package/dist/dataDownload.integration.spec-LUFSETOP.js +0 -193
  661. package/dist/databrowser.ui-6H2KMSTJ.js +0 -433
  662. package/dist/databrowser.ui-6H2KMSTJ.js.map +0 -7
  663. package/dist/dictionary-V37LXFIP.js +0 -118
  664. package/dist/dnaMethylation-OIZMHMLK.js +0 -38
  665. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js +0 -203
  666. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js.map +0 -7
  667. package/dist/dofetch-IWPZQB5N.js +0 -51
  668. package/dist/e2pca-7SLIAGYW.js +0 -350
  669. package/dist/ep-7L6KF6K4.js +0 -1256
  670. package/dist/expclust.gdc.spec-JT452Q3G.js +0 -307
  671. package/dist/facet-CXOUU5AS.js +0 -521
  672. package/dist/facet-CXOUU5AS.js.map +0 -7
  673. package/dist/forms2-VPNCLQOY.js +0 -539
  674. package/dist/forms2-VPNCLQOY.js.map +0 -7
  675. package/dist/gb-P4VRXRED.js +0 -88
  676. package/dist/geneExpClustering-FQTCKRJJ.js +0 -249
  677. package/dist/geneExpClustering-FQTCKRJJ.js.map +0 -7
  678. package/dist/geneExpression-BHO5326K.js +0 -313
  679. package/dist/geneExpression-ZMERB64E.js +0 -38
  680. package/dist/geneExpression.unit.spec-CNVHZWNG.js +0 -102
  681. package/dist/geneExpression.unit.spec-CNVHZWNG.js.map +0 -7
  682. package/dist/geneORA-FXVUCXGX.js +0 -278
  683. package/dist/geneRanking-SFK4UBKQ.js +0 -553
  684. package/dist/geneVariant-IYEHB4H7.js +0 -41
  685. package/dist/geneVariant-LIRRLUFR.js +0 -39
  686. package/dist/geneVariant.integration.spec-Y2NPNTYX.js +0 -198
  687. package/dist/genefusion.ui-L3HIJM3N.js +0 -309
  688. package/dist/genefusion.ui-L3HIJM3N.js.map +0 -7
  689. package/dist/geneset-A6VUFX63.js +0 -208
  690. package/dist/genomeBrowser.spec-CB4HHHBN.js +0 -281
  691. package/dist/grin2-FKBIMH5N.js +0 -75
  692. package/dist/grin2-V36KLEBU.js +0 -1143
  693. package/dist/hierCluster-QFPRMHVA.js +0 -63
  694. package/dist/hierCluster-YWC3XYPV.js +0 -59
  695. package/dist/hierCluster.config-F7YYZNM3.js +0 -40
  696. package/dist/hierCluster.integration.spec-AF4L3YT6.js +0 -488
  697. package/dist/hierCluster.integration.spec-AF4L3YT6.js.map +0 -7
  698. package/dist/hierCluster.interactivity-RPY74PK6.js +0 -54
  699. package/dist/hierCluster.renderers-LOKHZ3V2.js +0 -21
  700. package/dist/imagePlot-BBEXA754.js +0 -163
  701. package/dist/importPlot-7QGANZGK.js +0 -8
  702. package/dist/isoformExpression-4SLLCVFD.js +0 -40
  703. package/dist/isoformExpression.unit.spec-GEL4JJ64.js +0 -208
  704. package/dist/isoformExpression.unit.spec-GEL4JJ64.js.map +0 -7
  705. package/dist/launch.adhoc-LWLBQJS5.js +0 -42
  706. package/dist/leftlabel.sample-RTEZOIH2.js +0 -264
  707. package/dist/leftlabel.sample-RTEZOIH2.js.map +0 -7
  708. package/dist/legacyDataset-VLD7ZYWI.js +0 -119
  709. package/dist/lollipop-XKQK5QZU.js +0 -171
  710. package/dist/maf-AZQPPWDO.js +0 -459
  711. package/dist/maftimeline-7MSVYKQU.js +0 -593
  712. package/dist/matrix-BGLWC25D.js +0 -58
  713. package/dist/matrix-IQR5SRMK.js +0 -63
  714. package/dist/matrix.cells-5C57NWOY.js +0 -28
  715. package/dist/matrix.config-2DQXAN2E.js +0 -41
  716. package/dist/matrix.data-ADCGF5H6.js +0 -25
  717. package/dist/matrix.groups-V4ITQ5F7.js +0 -27
  718. package/dist/matrix.integration.spec-IBNOO2WP.js +0 -3072
  719. package/dist/matrix.interactivity-JNELJFOV.js +0 -42
  720. package/dist/matrix.layout-WBVIV6GR.js +0 -44
  721. package/dist/matrix.legend-YHOWPK77.js +0 -22
  722. package/dist/matrix.renderers-5BGVRR3M.js +0 -38
  723. package/dist/matrix.serieses-2GZJOASZ.js +0 -21
  724. package/dist/matrix.sort-WKIWPJKP.js +0 -27
  725. package/dist/matrix.sort.unit.spec-L2E4D4AS.js +0 -472
  726. package/dist/matrix.sorterUi-TEJWWJ64.js +0 -18
  727. package/dist/matrix.sorterUi.unit.spec-SHP7C4P7.js +0 -342
  728. package/dist/mavb-4MXNYUEO.js +0 -732
  729. package/dist/mds.fimo-WHIJIBOI.js +0 -518
  730. package/dist/mds.samplescatterplot-BRJ6NG2D.js +0 -1550
  731. package/dist/mds.survivalplot-OPCMB5PB.js +0 -483
  732. package/dist/numericDictTermCluster-7MIFOP2K.js +0 -65
  733. package/dist/oncomatrix-BGG6BEUI.js +0 -295
  734. package/dist/oncomatrix.spec-LYQ4L4F3.js +0 -448
  735. package/dist/plot.2dvaf-6WVCP2ZI.js +0 -377
  736. package/dist/plot.app-MLBP6WFP.js +0 -41
  737. package/dist/plot.barplot-JEPRZSCU.js +0 -102
  738. package/dist/plot.boxplot-GNFW42VM.js +0 -152
  739. package/dist/plot.brainImaging-5ACNSD45.js +0 -51
  740. package/dist/plot.disco-Q2V2KKIH.js +0 -102
  741. package/dist/plot.dzi-KVT6S7K7.js +0 -33
  742. package/dist/plot.ssgq-4N3KFJQ2.js +0 -139
  743. package/dist/plot.vaf2cov-ITRG5U43.js +0 -259
  744. package/dist/plot.wsi-26YZNU4V.js +0 -36
  745. package/dist/polar2-J7GVUK4X.js +0 -231
  746. package/dist/polar2-J7GVUK4X.js.map +0 -7
  747. package/dist/profileForms-VXV2JLXU.js +0 -446
  748. package/dist/profileForms-VXV2JLXU.js.map +0 -7
  749. package/dist/profilePlot-ZZYZK4SY.js +0 -54
  750. package/dist/proteinView-7KN532D3.js +0 -1568
  751. package/dist/proteinView-7KN532D3.js.map +0 -7
  752. package/dist/qualitative-MLRVLIAU.js +0 -43
  753. package/dist/radar2-WM2ZBOH3.js +0 -326
  754. package/dist/radar2-WM2ZBOH3.js.map +0 -7
  755. package/dist/radarFacility2-3SBR2JJ3.js +0 -334
  756. package/dist/radarFacility2-3SBR2JJ3.js.map +0 -7
  757. package/dist/regression-WMRPQJW2.js +0 -56
  758. package/dist/regression.inputs-VWZKSYNY.js +0 -48
  759. package/dist/regression.inputs.term-OWE6GWHM.js +0 -48
  760. package/dist/regression.inputs.values.table-4INNZQI2.js +0 -45
  761. package/dist/regression.integration.spec-XKQ2JOOT.js +0 -784
  762. package/dist/regression.results-VZBYMBYC.js +0 -40
  763. package/dist/regression.spec-DU3UTDCJ.js +0 -708
  764. package/dist/render-N5FOF247.js +0 -38
  765. package/dist/report-DW3OHB67.js +0 -222
  766. package/dist/sampleScatter.spec-REFSK2V4.js +0 -202
  767. package/dist/sampleScatter.spec-REFSK2V4.js.map +0 -7
  768. package/dist/sampleView-ICOT2R6O.js +0 -48
  769. package/dist/samplelst-TJEVASYG.js +0 -111
  770. package/dist/samplematrix-6DAWCXQ3.js +0 -2198
  771. package/dist/sc-53LNOB7N.js +0 -86
  772. package/dist/scatter-DKYSS4DL.js +0 -851
  773. package/dist/selectGenomeWithTklst-WTX66TV3.js +0 -134
  774. package/dist/singleCellCellType-D2CN2BHQ.js +0 -38
  775. package/dist/singleCellCellType.unit.spec-LADUCI4R.js +0 -160
  776. package/dist/singleCellCellType.unit.spec-LADUCI4R.js.map +0 -7
  777. package/dist/singleCellGeneExpression-YR2ZT34W.js +0 -38
  778. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js +0 -153
  779. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js.map +0 -7
  780. package/dist/singleCellPlot-3ICIOILE.js +0 -54
  781. package/dist/singlecell-6ZUFA3BQ.js +0 -86
  782. package/dist/singlecell-KX7W4U57.js +0 -1572
  783. package/dist/snp-VIURB7L3.js +0 -38
  784. package/dist/snp.unit.spec-ACZNZUNS.js +0 -176
  785. package/dist/snplocus-3LW4ZUZR.js +0 -208
  786. package/dist/spliceevent.a53ss.diagram-AKTZGWNM.js +0 -151
  787. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js +0 -283
  788. package/dist/spliceevent.noeventdiagram-YTXWWNTJ.js +0 -460
  789. package/dist/ssGSEA-THW4WFMI.js +0 -38
  790. package/dist/ssGSEA.unit.spec-HTRGQI2K.js +0 -88
  791. package/dist/summarizeCnvGeneexp-RFYC3H2Z.js +0 -163
  792. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js +0 -114
  793. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js.map +0 -7
  794. package/dist/summarizeMutationCnv-7AYEMHAI.js +0 -164
  795. package/dist/summarizeMutationDiagnosis-AKFJDSAF.js +0 -40
  796. package/dist/summarizeMutationSurvival-QJHZRQBZ.js +0 -99
  797. package/dist/summary-A5P7AYK4.js +0 -49
  798. package/dist/summary.integration.spec-HQISXGNL.js +0 -414
  799. package/dist/summaryInput-HP675QOQ.js +0 -235
  800. package/dist/summaryInput-HP675QOQ.js.map +0 -7
  801. package/dist/sunburst-65LSYRXX.js +0 -284
  802. package/dist/survival-QNEI6YVK.js +0 -46
  803. package/dist/survival-UI74VXSM.js +0 -58
  804. package/dist/survival.integration.spec-X5N3JQXS.js +0 -915
  805. package/dist/survival.integration.spec-X5N3JQXS.js.map +0 -7
  806. package/dist/svgraph-PSX2NER3.js +0 -1387
  807. package/dist/svmr-QDQ33EFX.js +0 -3842
  808. package/dist/table-LWAI27UO.js +0 -200
  809. package/dist/termCollection-3JHR74FG.js +0 -179
  810. package/dist/termCollection-3JHR74FG.js.map +0 -7
  811. package/dist/termCollection-CDF5LYUG.js +0 -38
  812. package/dist/termCollection.unit.spec-HOJKYWHF.js +0 -208
  813. package/dist/termCollection.unit.spec-HOJKYWHF.js.map +0 -7
  814. package/dist/tk-GL4QCL4K.js +0 -1019
  815. package/dist/tk-GL4QCL4K.js.map +0 -7
  816. package/dist/tk-OEQFO73V.js +0 -46
  817. package/dist/toggleButtons-YK7TIFF2.js +0 -9
  818. package/dist/tp.ui-SHNERDGC.js +0 -1459
  819. package/dist/tvs.density-3XJ6DBGO.js +0 -18
  820. package/dist/tvs.dt-CZDC4TSR.js +0 -39
  821. package/dist/tvs.dtcnv.categorical-OPBDHZGB.js +0 -40
  822. package/dist/tvs.dtcnv.continuous-AR6P4EP3.js +0 -72
  823. package/dist/tvs.dtfusion-2YQ7N6FQ.js +0 -40
  824. package/dist/tvs.dtitd-ATCHW735.js +0 -40
  825. package/dist/tvs.dtsnvindel-WHHWAATJ.js +0 -40
  826. package/dist/tvs.dtsv-3UMCW65O.js +0 -40
  827. package/dist/tvs.numeric-TOEPASWN.js +0 -21
  828. package/dist/tvs.samplelst-M7XKXRTZ.js +0 -104
  829. package/dist/tvs.termCollection-WT4WZMYR.js +0 -159
  830. package/dist/tvs.termCollection-WT4WZMYR.js.map +0 -7
  831. package/dist/violin-2YGXTBDS.js +0 -46
  832. package/dist/violin.integration.spec-YWNHVAGS.js +0 -1425
  833. package/dist/violin.integration.spec-YWNHVAGS.js.map +0 -7
  834. package/dist/violin.interactivity-J6BE2UQL.js +0 -38
  835. package/dist/violin.renderer-3GRUWP2U.js +0 -40
  836. package/dist/vocabulary-2INCVPYJ.js +0 -41
  837. /package/dist/{2dmaf-R3PFZNRN.js.map → 2dmaf-RRV3ORZR.js.map} +0 -0
  838. /package/dist/{AIProjectAdmin-DM3KG6SR.js.map → AIProjectAdmin-DKLEFCGX.js.map} +0 -0
  839. /package/dist/{AppHeader-6DZQ6YZX.js.map → AppHeader-WQ2F7HZY.js.map} +0 -0
  840. /package/dist/{CorrelationVolcano-U5UMJNH5.js.map → CorrelationVolcano-HR6IP2SZ.js.map} +0 -0
  841. /package/dist/{DE-AXNYWIQK.js.map → DE-DAW6ZKM7.js.map} +0 -0
  842. /package/dist/{Disco-NVMLF3BK.js.map → Disco-QEBEVQS2.js.map} +0 -0
  843. /package/dist/{DmrPlot-WROR4ENM.js.map → DmrPlot-CWBQDZL7.js.map} +0 -0
  844. /package/dist/{GSEA-Y5R2THIJ.js.map → GSEA-6UKMI6GY.js.map} +0 -0
  845. /package/dist/{Geomap-J763OK2F.js.map → Geomap-ANMR32HE.js.map} +0 -0
  846. /package/dist/{HicApp-UNIJLH4B.js.map → HicApp-WHPUPHEM.js.map} +0 -0
  847. /package/dist/{NumBinaryEditor-WMN2GGO4.js.map → NumBinaryEditor-VG5KOGDA.js.map} +0 -0
  848. /package/dist/{NumBinaryEditor.unit.spec-TAMXV6SE.js.map → NumBinaryEditor.unit.spec-UCGFZS3P.js.map} +0 -0
  849. /package/dist/{NumContEditor-XYIOJY4E.js.map → NumContEditor-J52RON3G.js.map} +0 -0
  850. /package/dist/{NumContEditor.unit.spec-WDZ75BHO.js.map → NumContEditor.unit.spec-5GTWUJEL.js.map} +0 -0
  851. /package/dist/{NumCustomBinEditor-5SY3C4TY.js.map → NumCustomBinEditor-GM2OJMOX.js.map} +0 -0
  852. /package/dist/{NumCustomBinEditor.unit.spec-XHTAIXR3.js.map → NumCustomBinEditor.unit.spec-3PGJ25J4.js.map} +0 -0
  853. /package/dist/{NumDiscreteEditor-NRDRX4FD.js.map → NumDiscreteEditor-2CAKT3Y4.js.map} +0 -0
  854. /package/dist/{NumDiscreteEditor.unit.spec-2CJW7OAT.js.map → NumDiscreteEditor.unit.spec-XCWSJTRT.js.map} +0 -0
  855. /package/dist/{NumRegularBinEditor-DUDVTNDC.js.map → NumRegularBinEditor-CZYITY5L.js.map} +0 -0
  856. /package/dist/{NumRegularBinEditor.unit.spec-H3GNQHMN.js.map → NumRegularBinEditor.unit.spec-OUBZ5XB3.js.map} +0 -0
  857. /package/dist/{NumSplineEditor-7Q4AC7KH.js.map → NumSplineEditor-TWRL5AQQ.js.map} +0 -0
  858. /package/dist/{NumSplineEditor.unit.spec-YRZK5PH5.js.map → NumSplineEditor.unit.spec-5P6NQZ3N.js.map} +0 -0
  859. /package/dist/{NumericDensity-NTNWUESG.js.map → NumericDensity-JSOFOEH2.js.map} +0 -0
  860. /package/dist/{NumericDensity.unit.spec-5I5U6T6P.js.map → NumericDensity.unit.spec-REUKHMKK.js.map} +0 -0
  861. /package/dist/{NumericHandler-MEW2KMPX.js.map → NumericHandler-UZOGKPKB.js.map} +0 -0
  862. /package/dist/{NumericHandler.unit.spec-JFX4BPRG.js.map → NumericHandler.unit.spec-X2DAED4O.js.map} +0 -0
  863. /package/dist/{WSIViewer-ZLQU62PD.js.map → WSIViewer-UDA4WIRT.js.map} +0 -0
  864. /package/dist/{WsiSamplesPlot-JMBSITOM.js.map → WsiSamplesPlot-DYSFMD22.js.map} +0 -0
  865. /package/dist/{adSandbox-664IRCRL.js.map → adSandbox-5BUDCAER.js.map} +0 -0
  866. /package/dist/{app-63WJ3BMP.js.map → app-O64TGDFH.js.map} +0 -0
  867. /package/dist/{app-77FIZHCG.js.map → app-Y2STUISK.js.map} +0 -0
  868. /package/dist/{barchart-YUVXJNH4.js.map → barchart-UHCTYRMJ.js.map} +0 -0
  869. /package/dist/{barchart.data-P4EIQXGE.js.map → barchart.data-LSK2P2PR.js.map} +0 -0
  870. /package/dist/{barchart.events-JPVCLTIG.js.map → barchart.events-Y4H2GADS.js.map} +0 -0
  871. /package/dist/{barchart2-XO2FG76J.js.map → barchart2-VIZKZRMP.js.map} +0 -0
  872. /package/dist/{bars.renderer-AUIWUJDH.js.map → bars.renderer-54UCFLJS.js.map} +0 -0
  873. /package/dist/{block-NBTCOT3H.js.map → block-BGSSF6XP.js.map} +0 -0
  874. /package/dist/{block.init-X7Y2EEVR.js.map → block.init-H7RKUIHG.js.map} +0 -0
  875. /package/dist/{block.mds.expressionrank-BIAOZIZ3.js.map → block.mds.expressionrank-MA3HGT7S.js.map} +0 -0
  876. /package/dist/{block.mds.geneboxplot-CNICDVLK.js.map → block.mds.geneboxplot-CWT5DM5T.js.map} +0 -0
  877. /package/dist/{block.mds.junction-PQXCTSUI.js.map → block.mds.junction-P4I7O73X.js.map} +0 -0
  878. /package/dist/{block.mds.svcnv-32KMVTCT.js.map → block.mds.svcnv-NSPEY43S.js.map} +0 -0
  879. /package/dist/{block.svg-LRTOYQK2.js.map → block.svg-DP4G3LNQ.js.map} +0 -0
  880. /package/dist/{block.tk.aicheck-HDV7ZIUD.js.map → block.tk.aicheck-EBLTOWKZ.js.map} +0 -0
  881. /package/dist/{block.tk.ase-JIDWKMYI.js.map → block.tk.ase-X7WKQOFS.js.map} +0 -0
  882. /package/dist/{block.tk.bam-5X3OS5HB.js.map → block.tk.bam-OIP3TS3N.js.map} +0 -0
  883. /package/dist/{block.tk.bedgraphdot-T7JX7YQL.js.map → block.tk.bedgraphdot-2DDF55J3.js.map} +0 -0
  884. /package/dist/{block.tk.hicstraw-DEY3VQFK.js.map → block.tk.hicstraw-4OIG4TBZ.js.map} +0 -0
  885. /package/dist/{block.tk.junction-7UAFEZSJ.js.map → block.tk.junction-52OWEQUN.js.map} +0 -0
  886. /package/dist/{block.tk.junction.textmatrixui-27LHS33U.js.map → block.tk.junction.textmatrixui-64YOSZLW.js.map} +0 -0
  887. /package/dist/{block.tk.ld-DF2PI7OO.js.map → block.tk.ld-3AMNHBDY.js.map} +0 -0
  888. /package/dist/{block.tk.menu-L2D5KBIV.js.map → block.tk.menu-4724DJXL.js.map} +0 -0
  889. /package/dist/{block.tk.pgv-QO56SKBV.js.map → block.tk.pgv-2SIOPWYI.js.map} +0 -0
  890. /package/dist/{brainRegions-ZNZ2WHSU.js.map → brainRegions-HJ2VGL3L.js.map} +0 -0
  891. /package/dist/{chunk-T25QNZHB.js.map → chunk-26APRXD3.js.map} +0 -0
  892. /package/dist/{chunk-3XVVN66M.js.map → chunk-2KXLYFAO.js.map} +0 -0
  893. /package/dist/{chunk-PJKQUXEN.js.map → chunk-3BGFM7Q4.js.map} +0 -0
  894. /package/dist/{chunk-KLGL6XZD.js.map → chunk-4HZN6PMU.js.map} +0 -0
  895. /package/dist/{chunk-4IH7DORZ.js.map → chunk-5DMVORBB.js.map} +0 -0
  896. /package/dist/{chunk-QNHT74XC.js.map → chunk-5QMBB4SK.js.map} +0 -0
  897. /package/dist/{chunk-KYBIQBXE.js.map → chunk-5R63Q5KH.js.map} +0 -0
  898. /package/dist/{chunk-RKO6BL5N.js.map → chunk-6JYQGZ3Y.js.map} +0 -0
  899. /package/dist/{chunk-5ABGFJSP.js.map → chunk-6QCYT6G2.js.map} +0 -0
  900. /package/dist/{chunk-ZNEJUKJW.js.map → chunk-B4ESQLPB.js.map} +0 -0
  901. /package/dist/{chunk-UGRQXBL4.js.map → chunk-E3VF4RHJ.js.map} +0 -0
  902. /package/dist/{chunk-W3WPPOXH.js.map → chunk-EGPNRSPF.js.map} +0 -0
  903. /package/dist/{chunk-M2G5R4WB.js.map → chunk-FACITNG5.js.map} +0 -0
  904. /package/dist/{chunk-CTQ3IUCA.js.map → chunk-H3N4KYKL.js.map} +0 -0
  905. /package/dist/{chunk-ASATD4T7.js.map → chunk-H3VWJH4U.js.map} +0 -0
  906. /package/dist/{chunk-F5IXNJO7.js.map → chunk-HEVKBSN6.js.map} +0 -0
  907. /package/dist/{chunk-YQBS2ZCK.js.map → chunk-HQUYAZQY.js.map} +0 -0
  908. /package/dist/{chunk-37XDBPOP.js.map → chunk-J4USU73L.js.map} +0 -0
  909. /package/dist/{chunk-K5XPMCKP.js.map → chunk-JH73IL4C.js.map} +0 -0
  910. /package/dist/{chunk-4STKL6SR.js.map → chunk-KU7YH7MV.js.map} +0 -0
  911. /package/dist/{chunk-HLUZOZXJ.js.map → chunk-M66VDGSH.js.map} +0 -0
  912. /package/dist/{chunk-5AZNP47R.js.map → chunk-MJN6RDXB.js.map} +0 -0
  913. /package/dist/{chunk-U7TBYVIQ.js.map → chunk-MPNEZ6EL.js.map} +0 -0
  914. /package/dist/{chunk-LFCYMSVA.js.map → chunk-MPSLUEI4.js.map} +0 -0
  915. /package/dist/{chunk-ONPKE6DC.js.map → chunk-NIXFCC7X.js.map} +0 -0
  916. /package/dist/{chunk-7OHRR2IE.js.map → chunk-NODQZTWK.js.map} +0 -0
  917. /package/dist/{chunk-4DPVT4NE.js.map → chunk-NVTJ5AUT.js.map} +0 -0
  918. /package/dist/{chunk-E55LLYRX.js.map → chunk-OOWXMY7U.js.map} +0 -0
  919. /package/dist/{chunk-XPY6AWXO.js.map → chunk-OTTMHVYH.js.map} +0 -0
  920. /package/dist/{chunk-OMR2DT66.js.map → chunk-Q5RDQNIT.js.map} +0 -0
  921. /package/dist/{chunk-3EWB3246.js.map → chunk-QDX2XUNF.js.map} +0 -0
  922. /package/dist/{chunk-WZ2L57MB.js.map → chunk-ROMW4AK2.js.map} +0 -0
  923. /package/dist/{chunk-MCZFHWIR.js.map → chunk-RR5U35N7.js.map} +0 -0
  924. /package/dist/{chunk-GAPI4MML.js.map → chunk-RVKADD4L.js.map} +0 -0
  925. /package/dist/{chunk-33K5PA52.js.map → chunk-S5ZCK44Z.js.map} +0 -0
  926. /package/dist/{chunk-ZTHM2TKP.js.map → chunk-SNRIVNQ3.js.map} +0 -0
  927. /package/dist/{chunk-WFCSOTBO.js.map → chunk-TAM7UCAI.js.map} +0 -0
  928. /package/dist/{chunk-NSTL4MY2.js.map → chunk-UJELJXJG.js.map} +0 -0
  929. /package/dist/{chunk-L7IRWUKT.js.map → chunk-ULESDMUT.js.map} +0 -0
  930. /package/dist/{chunk-3RSKOPIY.js.map → chunk-W76X6W73.js.map} +0 -0
  931. /package/dist/{chunk-PFRWS4CR.js.map → chunk-W7OS7BNM.js.map} +0 -0
  932. /package/dist/{chunk-Q2L44HK3.js.map → chunk-WTTD6DUL.js.map} +0 -0
  933. /package/dist/{chunk-2GYWFQML.js.map → chunk-WXPFMVU6.js.map} +0 -0
  934. /package/dist/{chunk-BOZJHPJP.js.map → chunk-YBLTSYQV.js.map} +0 -0
  935. /package/dist/{condition-2PASYSUC.js.map → condition-L2IXP6WH.js.map} +0 -0
  936. /package/dist/{controls-5IMJ6K5L.js.map → controls-2S5QVWUC.js.map} +0 -0
  937. /package/dist/{controls.config-P5PG2DHW.js.map → controls.config-3AJKR4ZZ.js.map} +0 -0
  938. /package/dist/{correlation-U3EDLNHR.js.map → correlation-DXTAWSLU.js.map} +0 -0
  939. /package/dist/{cuminc.integration.spec-WFWAPTDA.js.map → cuminc.integration.spec-WAYRLHUH.js.map} +0 -0
  940. /package/dist/{customdata.inputui-ZHWNEPFH.js.map → customdata.inputui-7WH2NJGB.js.map} +0 -0
  941. /package/dist/{dataDownload-VBSJBKMP.js.map → dataDownload-HM4UYOBO.js.map} +0 -0
  942. /package/dist/{dataDownload.integration.spec-LUFSETOP.js.map → dataDownload.integration.spec-F5CO4BWA.js.map} +0 -0
  943. /package/dist/{dictionary-V37LXFIP.js.map → dictionary-EEPTFDYD.js.map} +0 -0
  944. /package/dist/{dnaMethylation-OIZMHMLK.js.map → dnaMethylation-N3WNK6XA.js.map} +0 -0
  945. /package/dist/{dofetch-IWPZQB5N.js.map → dofetch-YKYPEJTQ.js.map} +0 -0
  946. /package/dist/{e2pca-7SLIAGYW.js.map → e2pca-JEZIGVB2.js.map} +0 -0
  947. /package/dist/{ep-7L6KF6K4.js.map → ep-5FMH2MLV.js.map} +0 -0
  948. /package/dist/{expclust.gdc.spec-JT452Q3G.js.map → expclust.gdc.spec-FR26VSUA.js.map} +0 -0
  949. /package/dist/{gb-P4VRXRED.js.map → gb-WGEVO7L2.js.map} +0 -0
  950. /package/dist/{geneExpression-BHO5326K.js.map → geneExpression-5NWQXMJ3.js.map} +0 -0
  951. /package/dist/{geneExpression-ZMERB64E.js.map → geneExpression-VWUMM2LU.js.map} +0 -0
  952. /package/dist/{geneORA-FXVUCXGX.js.map → geneORA-3VWFWDYI.js.map} +0 -0
  953. /package/dist/{geneRanking-SFK4UBKQ.js.map → geneRanking-PKDVD5OD.js.map} +0 -0
  954. /package/dist/{geneVariant-IYEHB4H7.js.map → geneVariant-IFIJQXH4.js.map} +0 -0
  955. /package/dist/{geneVariant-LIRRLUFR.js.map → geneVariant-WZSOG4GI.js.map} +0 -0
  956. /package/dist/{geneVariant.integration.spec-Y2NPNTYX.js.map → geneVariant.integration.spec-6KQMWVHR.js.map} +0 -0
  957. /package/dist/{geneset-A6VUFX63.js.map → geneset-RJAULSKC.js.map} +0 -0
  958. /package/dist/{genomeBrowser.spec-CB4HHHBN.js.map → genomeBrowser.spec-42OTTMGO.js.map} +0 -0
  959. /package/dist/{grin2-FKBIMH5N.js.map → grin2-26O6YDDY.js.map} +0 -0
  960. /package/dist/{grin2-V36KLEBU.js.map → grin2-FT5BQJMB.js.map} +0 -0
  961. /package/dist/{hierCluster-QFPRMHVA.js.map → hierCluster-GJPPMFNR.js.map} +0 -0
  962. /package/dist/{hierCluster-YWC3XYPV.js.map → hierCluster-HMJF3PBE.js.map} +0 -0
  963. /package/dist/{hierCluster.config-F7YYZNM3.js.map → hierCluster.config-TAS7XKTU.js.map} +0 -0
  964. /package/dist/{hierCluster.interactivity-RPY74PK6.js.map → hierCluster.interactivity-IKTAJ6CU.js.map} +0 -0
  965. /package/dist/{hierCluster.renderers-LOKHZ3V2.js.map → hierCluster.renderers-I6WFZRNW.js.map} +0 -0
  966. /package/dist/{imagePlot-BBEXA754.js.map → imagePlot-N4OXNMVA.js.map} +0 -0
  967. /package/dist/{importPlot-7QGANZGK.js.map → importPlot-VMYXDP66.js.map} +0 -0
  968. /package/dist/{isoformExpression-4SLLCVFD.js.map → isoformExpression-2KV64KMN.js.map} +0 -0
  969. /package/dist/{launch.adhoc-LWLBQJS5.js.map → junction-VO4IGMW2.js.map} +0 -0
  970. /package/dist/{matrix-BGLWC25D.js.map → junction.customTerm-EFMHHVWA.js.map} +0 -0
  971. /package/dist/{matrix-IQR5SRMK.js.map → launch.adhoc-R3MO3VXK.js.map} +0 -0
  972. /package/dist/{legacyDataset-VLD7ZYWI.js.map → legacyDataset-4BXYHQTS.js.map} +0 -0
  973. /package/dist/{lollipop-XKQK5QZU.js.map → lollipop-XIVE4ANX.js.map} +0 -0
  974. /package/dist/{maf-AZQPPWDO.js.map → maf-WRHD4OJF.js.map} +0 -0
  975. /package/dist/{maftimeline-7MSVYKQU.js.map → maftimeline-IE6YKV7Y.js.map} +0 -0
  976. /package/dist/{matrix.cells-5C57NWOY.js.map → matrix-ALBCAZP5.js.map} +0 -0
  977. /package/dist/{matrix.config-2DQXAN2E.js.map → matrix-W72XRUZD.js.map} +0 -0
  978. /package/dist/{matrix.data-ADCGF5H6.js.map → matrix.cells-DEEUWC74.js.map} +0 -0
  979. /package/dist/{matrix.groups-V4ITQ5F7.js.map → matrix.config-JYXQOXDT.js.map} +0 -0
  980. /package/dist/{matrix.interactivity-JNELJFOV.js.map → matrix.data-ENXNM6RP.js.map} +0 -0
  981. /package/dist/{matrix.layout-WBVIV6GR.js.map → matrix.groups-EXSNNESB.js.map} +0 -0
  982. /package/dist/{matrix.integration.spec-IBNOO2WP.js.map → matrix.integration.spec-BW6U6PIW.js.map} +0 -0
  983. /package/dist/{matrix.legend-YHOWPK77.js.map → matrix.interactivity-G6AL566T.js.map} +0 -0
  984. /package/dist/{matrix.renderers-5BGVRR3M.js.map → matrix.layout-UBUPIJ3R.js.map} +0 -0
  985. /package/dist/{matrix.serieses-2GZJOASZ.js.map → matrix.legend-S3P4F2DG.js.map} +0 -0
  986. /package/dist/{matrix.sort-WKIWPJKP.js.map → matrix.renderers-IXFGXHJQ.js.map} +0 -0
  987. /package/dist/{matrix.sorterUi-TEJWWJ64.js.map → matrix.serieses-THHXUAPM.js.map} +0 -0
  988. /package/dist/{plot.app-MLBP6WFP.js.map → matrix.sort-WJV6LIZI.js.map} +0 -0
  989. /package/dist/{matrix.sort.unit.spec-L2E4D4AS.js.map → matrix.sort.unit.spec-LGMIL2LR.js.map} +0 -0
  990. /package/dist/{profilePlot-ZZYZK4SY.js.map → matrix.sorterUi-VXVCOKEZ.js.map} +0 -0
  991. /package/dist/{matrix.sorterUi.unit.spec-SHP7C4P7.js.map → matrix.sorterUi.unit.spec-CWSEJ62U.js.map} +0 -0
  992. /package/dist/{mavb-4MXNYUEO.js.map → mavb-SXGKASQ5.js.map} +0 -0
  993. /package/dist/{mds.fimo-WHIJIBOI.js.map → mds.fimo-EDOT3TDN.js.map} +0 -0
  994. /package/dist/{mds.samplescatterplot-BRJ6NG2D.js.map → mds.samplescatterplot-IXHNABKB.js.map} +0 -0
  995. /package/dist/{mds.survivalplot-OPCMB5PB.js.map → mds.survivalplot-KTTMHHII.js.map} +0 -0
  996. /package/dist/{numericDictTermCluster-7MIFOP2K.js.map → numericDictTermCluster-H4JSPW22.js.map} +0 -0
  997. /package/dist/{oncomatrix-BGG6BEUI.js.map → oncomatrix-O4EMNUOT.js.map} +0 -0
  998. /package/dist/{oncomatrix.spec-LYQ4L4F3.js.map → oncomatrix.spec-BME6CQWF.js.map} +0 -0
  999. /package/dist/{plot.2dvaf-6WVCP2ZI.js.map → plot.2dvaf-FDM4KXGT.js.map} +0 -0
  1000. /package/dist/{qualitative-MLRVLIAU.js.map → plot.app-UNUXG7ND.js.map} +0 -0
  1001. /package/dist/{plot.barplot-JEPRZSCU.js.map → plot.barplot-R333TMG2.js.map} +0 -0
  1002. /package/dist/{plot.boxplot-GNFW42VM.js.map → plot.boxplot-KQTYGUN3.js.map} +0 -0
  1003. /package/dist/{plot.brainImaging-5ACNSD45.js.map → plot.brainImaging-YBYMHCEG.js.map} +0 -0
  1004. /package/dist/{plot.disco-Q2V2KKIH.js.map → plot.disco-CMDKRSOM.js.map} +0 -0
  1005. /package/dist/{plot.dzi-KVT6S7K7.js.map → plot.dzi-YAZA6RQS.js.map} +0 -0
  1006. /package/dist/{plot.ssgq-4N3KFJQ2.js.map → plot.ssgq-YKCOEXZP.js.map} +0 -0
  1007. /package/dist/{plot.vaf2cov-ITRG5U43.js.map → plot.vaf2cov-3TLMTFZS.js.map} +0 -0
  1008. /package/dist/{plot.wsi-26YZNU4V.js.map → plot.wsi-7ADVYTQS.js.map} +0 -0
  1009. /package/dist/{regression-WMRPQJW2.js.map → profilePlot-AP52VLLO.js.map} +0 -0
  1010. /package/dist/{regression.inputs-VWZKSYNY.js.map → pseudobulk-7UKRLKQI.js.map} +0 -0
  1011. /package/dist/{regression.inputs.term-OWE6GWHM.js.map → qualitative-2D7MC4V5.js.map} +0 -0
  1012. /package/dist/{regression.inputs.values.table-4INNZQI2.js.map → regression-CE54AQMY.js.map} +0 -0
  1013. /package/dist/{regression.results-VZBYMBYC.js.map → regression.inputs-SMC5CNPY.js.map} +0 -0
  1014. /package/dist/{render-N5FOF247.js.map → regression.inputs.term-XS54IQC2.js.map} +0 -0
  1015. /package/dist/{sampleView-ICOT2R6O.js.map → regression.inputs.values.table-LNPM3MX5.js.map} +0 -0
  1016. /package/dist/{regression.integration.spec-XKQ2JOOT.js.map → regression.integration.spec-6QSMYPWJ.js.map} +0 -0
  1017. /package/dist/{singleCellCellType-D2CN2BHQ.js.map → regression.results-25ZRRDEE.js.map} +0 -0
  1018. /package/dist/{regression.spec-DU3UTDCJ.js.map → regression.spec-EDWHFRPY.js.map} +0 -0
  1019. /package/dist/{singleCellGeneExpression-YR2ZT34W.js.map → render-SEB6GFXQ.js.map} +0 -0
  1020. /package/dist/{report-DW3OHB67.js.map → report-U6L3KBYG.js.map} +0 -0
  1021. /package/dist/{singleCellPlot-3ICIOILE.js.map → sampleView-QAAJ26KT.js.map} +0 -0
  1022. /package/dist/{samplelst-TJEVASYG.js.map → samplelst-KYRXJSZN.js.map} +0 -0
  1023. /package/dist/{samplematrix-6DAWCXQ3.js.map → samplematrix-STLF2QA5.js.map} +0 -0
  1024. /package/dist/{sc-53LNOB7N.js.map → sc-HL6YSMDX.js.map} +0 -0
  1025. /package/dist/{scatter-DKYSS4DL.js.map → scatter-BSGDMOC2.js.map} +0 -0
  1026. /package/dist/{selectGenomeWithTklst-WTX66TV3.js.map → selectGenomeWithTklst-4NHQDTE6.js.map} +0 -0
  1027. /package/dist/{snp-VIURB7L3.js.map → singleCellCellType-3E2IU42J.js.map} +0 -0
  1028. /package/dist/{ssGSEA-THW4WFMI.js.map → singleCellGeneExpression-53UUGYTK.js.map} +0 -0
  1029. /package/dist/{summarizeMutationDiagnosis-AKFJDSAF.js.map → singleCellPlot-JDSARDRV.js.map} +0 -0
  1030. /package/dist/{singlecell-KX7W4U57.js.map → singlecell-IJR7BJYT.js.map} +0 -0
  1031. /package/dist/{singlecell-6ZUFA3BQ.js.map → singlecell-OK6GJFWL.js.map} +0 -0
  1032. /package/dist/{summary-A5P7AYK4.js.map → snp-H4KJEEOE.js.map} +0 -0
  1033. /package/dist/{snp.unit.spec-ACZNZUNS.js.map → snp.unit.spec-2Y4A3XYI.js.map} +0 -0
  1034. /package/dist/{snplocus-3LW4ZUZR.js.map → snplocus-4GG6VTWX.js.map} +0 -0
  1035. /package/dist/{spliceevent.a53ss.diagram-AKTZGWNM.js.map → spliceevent.a53ss.diagram-JZNRC5UC.js.map} +0 -0
  1036. /package/dist/{spliceevent.exonskip.diagram-XZHXB77R.js.map → spliceevent.exonskip.diagram-H54N7ZKY.js.map} +0 -0
  1037. /package/dist/{spliceevent.noeventdiagram-YTXWWNTJ.js.map → spliceevent.noeventdiagram-II753XAK.js.map} +0 -0
  1038. /package/dist/{survival-QNEI6YVK.js.map → ssGSEA-JPJ3C4JI.js.map} +0 -0
  1039. /package/dist/{ssGSEA.unit.spec-HTRGQI2K.js.map → ssGSEA.unit.spec-45F5OCDK.js.map} +0 -0
  1040. /package/dist/{summarizeCnvGeneexp-RFYC3H2Z.js.map → summarizeCnvGeneexp-55DNXHXA.js.map} +0 -0
  1041. /package/dist/{summarizeMutationCnv-7AYEMHAI.js.map → summarizeMutationCnv-QX7BADYL.js.map} +0 -0
  1042. /package/dist/{termCollection-CDF5LYUG.js.map → summarizeMutationDiagnosis-MHFM7RX6.js.map} +0 -0
  1043. /package/dist/{summarizeMutationSurvival-QJHZRQBZ.js.map → summarizeMutationSurvival-G4KHSUBN.js.map} +0 -0
  1044. /package/dist/{tk-OEQFO73V.js.map → summary-PJYRCQNY.js.map} +0 -0
  1045. /package/dist/{summary.integration.spec-HQISXGNL.js.map → summary.integration.spec-KPKROD6L.js.map} +0 -0
  1046. /package/dist/{sunburst-65LSYRXX.js.map → sunburst-IGIV2RBE.js.map} +0 -0
  1047. /package/dist/{survival-UI74VXSM.js.map → survival-DINCIWW7.js.map} +0 -0
  1048. /package/dist/{svgraph-PSX2NER3.js.map → svgraph-EUEZWGVR.js.map} +0 -0
  1049. /package/dist/{svmr-QDQ33EFX.js.map → svmr-B24LODSC.js.map} +0 -0
  1050. /package/dist/{table-LWAI27UO.js.map → table-XSJJ3UZV.js.map} +0 -0
  1051. /package/dist/{toggleButtons-YK7TIFF2.js.map → termCollection-IAB3425K.js.map} +0 -0
  1052. /package/dist/{tvs.density-3XJ6DBGO.js.map → termCollectionFractionSelection-35YKAOUY.js.map} +0 -0
  1053. /package/dist/{tvs.dt-CZDC4TSR.js.map → tk-25EJJDRK.js.map} +0 -0
  1054. /package/dist/{tp.ui-SHNERDGC.js.map → tp.ui-VGA62NFM.js.map} +0 -0
  1055. /package/dist/{tvs.numeric-TOEPASWN.js.map → tvs.density-G56327WY.js.map} +0 -0
  1056. /package/dist/{violin-2YGXTBDS.js.map → tvs.dt-DFW36WKO.js.map} +0 -0
  1057. /package/dist/{tvs.dtcnv.categorical-OPBDHZGB.js.map → tvs.dtcnv.categorical-ZP33EO3A.js.map} +0 -0
  1058. /package/dist/{tvs.dtcnv.continuous-AR6P4EP3.js.map → tvs.dtcnv.continuous-FJTMQF4J.js.map} +0 -0
  1059. /package/dist/{tvs.dtfusion-2YQ7N6FQ.js.map → tvs.dtfusion-FTDQWNKM.js.map} +0 -0
  1060. /package/dist/{tvs.dtitd-ATCHW735.js.map → tvs.dtitd-W5VEECJ2.js.map} +0 -0
  1061. /package/dist/{tvs.dtsnvindel-WHHWAATJ.js.map → tvs.dtsnvindel-UOXSLCDZ.js.map} +0 -0
  1062. /package/dist/{tvs.dtsv-3UMCW65O.js.map → tvs.dtsv-HWCPRVBO.js.map} +0 -0
  1063. /package/dist/{violin.interactivity-J6BE2UQL.js.map → tvs.numeric-7TGKWQYU.js.map} +0 -0
  1064. /package/dist/{tvs.samplelst-M7XKXRTZ.js.map → tvs.samplelst-OWD22ITS.js.map} +0 -0
  1065. /package/dist/{violin.renderer-3GRUWP2U.js.map → violin-2IAVZGFF.js.map} +0 -0
  1066. /package/dist/{vocabulary-2INCVPYJ.js.map → violin.interactivity-STOCZMVN.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/animatedBubbleChart.ts"],
4
+ "sourcesContent": ["import type { MassState, BasePlotConfig } from '#mass/types/mass'\nimport { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { PlotBase } from './PlotBase'\nimport { Menu, Tabs } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { scaleSqrt, arc as d3arc, select, packSiblings, packEnclose } from 'd3'\nimport { forceSimulation, forceCollide, forceX, forceY } from 'd3-force'\nimport { TermTypes } from '#types'\nimport { getColors } from '#shared/common.js'\n\nconst defaultConfig = { chartType: 'animatedBubbleChart' }\n\n// Fixed internal SVG coordinate space \u2014 the force simulation lives in this. The cluster\n// is centered at (SPLIT_W/2, SPLIT_H/2) in every mode. The visible wrapper is sized to the\n// actual bubble bounding box (see viewportW/H) and the SVG is offset so its content stays\n// centered, so toggling combined\u21C4split grows/shrinks the viewport around a fixed point.\nconst SPLIT_W = 1100\nconst SPLIT_H = 900\nconst MIN_R = 6 // smallest bubble total radius\nconst MAX_R = 43 // largest bubble total radius\nconst INNER_CIRCLE_RATIO = 0.75 // inner circle radius = INNER_CIRCLE_RATIO \u00D7 total radius\nconst RING_GAP = 1 // gap between inner circle and start of ring\nconst PADDING = 0 // collision padding outside the bubble's outer radius \u2014 touching bubbles, no whitespace\nconst HOVER_SCALE = 1.2 // how much the hovered bubble visually grows (multiplier, not a px size)\nconst HOVER_COLLIDE_BOOST = 1.4 // collide radius multiplier for hovered bubble\nconst HOVER_REPEL_REACH = 91 // px range over which the hovered bubble radially pushes others\nconst HOVER_REPEL_STRENGTH = 0.17 // intensity of the radial push\nconst GRAVITY_STRENGTH = 0.28 // strong center-gravity \u2014 bubbles stick to their home positions so each sub-cluster keeps its packed-circle shape instead of drifting loose\nconst HOVER_GRAVITY = 0.045 // weakened gravity during hover so neighbors don't snap back instantly\n\ntype Slice = {\n\tassay: string\n\trank: number | null\n\tweight: number | null\n\tangle: number\n\tstartAngle: number\n\tendAngle: number\n}\ntype Bubble = {\n\tgene: string\n\tintegrativeRank: number\n\torderStatQ: number | null\n\tpValue: number | null\n\tfdr: number | null\n\tslices: Slice[]\n\tinnerR: number\n\touterR: number\n\tx: number\n\ty: number\n\t// Velocity fields written by d3-force on every tick (used by hoverRepel to add radial push)\n\tvx?: number\n\tvy?: number\n\t// Target position from packSiblings \u2014 the bubble's \"home\" inside the perfect circle layout.\n\t// Simulation pulls toward these (not toward center), so the cluster settles into a true circle.\n\thomeX: number\n\thomeY: number\n\thovered: boolean\n}\n\nclass AnimatedBubbleChart extends PlotBase implements RxComponent {\n\tstatic type = 'animatedBubbleChart'\n\ttype: string\n\tdom!: { holder: any; controls: any; body: any; tip: Menu; header?: any }\n\tcomponents: any\n\tprivate simulation: any = null\n\tprivate selectedRankingKey: string | null = null\n\tprivate groupBy: 'all' | 'modality' = 'all'\n\t// State for the split-view toggle. Stored on the instance so the toggle handler\n\t// can recompute layout + restart the simulation without re-fetching data.\n\tprivate currentNodes: Bubble[] = []\n\tprivate currentAssays: string[] = []\n\t// 'all'-mode packed-cluster enclosing radius (+slack); set by computeHomes and used by\n\t// the per-tick circular clamp, so we don't pack the same nodes twice.\n\tprivate allModeBoundaryR = 0\n\tprivate modalityLabelsSel: any = null\n\t// Computed each time we enter split mode: where each modality's sub-cluster sits.\n\t// Sizes vary because we hierarchically pack groups by their natural cluster radii.\n\t// `topY` is the topmost EDGE of the cluster (min(homeY - outerR)) \u2014 bubble radii\n\t// aren't scaled with the layout, so the visual extent reaches farther up than\n\t// `cy - r*scale`. Labels use this so they always sit clear of every bubble.\n\tprivate groupCenters: { assay: string; cx: number; cy: number; r: number; topY: number }[] = []\n\tprivate svgSel: any = null\n\tprivate wrapperSel: any = null\n\t// Computed by `computeHomes` from the actual home positions + bubble radii.\n\t// Drives the wrapper's visible width/height so the chart frame hugs the cluster\n\t// instead of inheriting the much larger fixed SPLIT canvas size.\n\tprivate contentBbox: { minX: number; minY: number; maxX: number; maxY: number } = {\n\t\tminX: 0,\n\t\tminY: 0,\n\t\tmaxX: 0,\n\t\tmaxY: 0\n\t}\n\tprivate readonly BBOX_PAD = 20\n\n\t/** Internal SVG coordinate space \u2014 fixed, used by computeHomes for layout math. */\n\tprivate canvasW(): number {\n\t\treturn SPLIT_W\n\t}\n\tprivate canvasH(): number {\n\t\treturn SPLIT_H\n\t}\n\t/** Visible viewport \u2014 sized to the actual content bbox + padding, not a fixed constant. */\n\tprivate viewportW(): number {\n\t\treturn Math.max(50, this.contentBbox.maxX - this.contentBbox.minX + 2 * this.BBOX_PAD)\n\t}\n\tprivate viewportH(): number {\n\t\treturn Math.max(50, this.contentBbox.maxY - this.contentBbox.minY + 2 * this.BBOX_PAD)\n\t}\n\n\tconstructor(opts: any, api) {\n\t\tsuper(opts, api)\n\t\tthis.type = AnimatedBubbleChart.type\n\t\tthis.components = {}\n\t}\n\n\tasync init() {\n\t\tconst holder = this.opts.holder.append('div').style('padding', '10px')\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\tcontrols: holder\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'flex')\n\t\t\t\t.style('gap', '14px')\n\t\t\t\t.style('align-items', 'center')\n\t\t\t\t.style('margin-bottom', '10px'),\n\t\t\tbody: holder.append('div'),\n\t\t\ttip: new Menu({ padding: '' }),\n\t\t\theader: this.opts.header\n\t\t}\n\t\tif (this.dom.header) this.dom.header.html('Bubble Chart')\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config: any = appState.plots.find((p: BasePlotConfig) => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\treturn { config }\n\t}\n\n\tasync main() {\n\t\tawait this.fetchAndRender(this.selectedRankingKey ?? undefined)\n\t}\n\n\tprivate async fetchAndRender(rankingKey?: string) {\n\t\tconst body: any = {\n\t\t\tgenome: this.app.opts.state.vocab.genome,\n\t\t\tdslabel: this.app.opts.state.vocab.dslabel\n\t\t}\n\t\tif (rankingKey) body.rankingKey = rankingKey\n\n\t\tconst data = await dofetch3('termdb/animatedBubbleChart', { body })\n\n\t\t// Stop any previous simulation before re-rendering\n\t\tif (this.simulation) {\n\t\t\tthis.simulation.stop()\n\t\t\tthis.simulation = null\n\t\t}\n\n\t\tif (data.error) {\n\t\t\t// Keep the dropdown usable so the user can pick another ranking\n\t\t\tif (data.rankingKeys?.length) this.renderControls(data.rankingKeys, rankingKey ?? data.rankingKeys[0])\n\t\t\tthis.dom.body.selectAll('*').remove()\n\t\t\tthis.dom.body.append('div').style('padding', '20px').style('color', '#b00020').text(`Error: ${data.error}`)\n\t\t\treturn\n\t\t}\n\n\t\tthis.selectedRankingKey = data.selectedRankingKey\n\n\t\tthis.renderControls(data.rankingKeys, data.selectedRankingKey)\n\t\tthis.dom.body.selectAll('*').remove()\n\n\t\tif (!data.bubbles?.length) {\n\t\t\tthis.dom.body\n\t\t\t\t.append('div')\n\t\t\t\t.style('padding', '20px')\n\t\t\t\t.style('color', '#666')\n\t\t\t\t.text('No data in the selected ranking file.')\n\t\t\treturn\n\t\t}\n\n\t\t// Auto-width flex container, left-aligned (no `justify-content: center`, no fixed\n\t\t// width) so there's no symmetric whitespace bracketing the chart and the legend sits\n\t\t// directly to the right of the wrapper. The wrapper is sized to the content bbox; the\n\t\t// SVG inside is absolutely positioned and offset (left/top) so the cluster stays\n\t\t// centered as the viewport grows/shrinks on mode toggle.\n\t\tconst container = this.dom.body\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('gap', '24px')\n\t\t\t.style('align-items', 'flex-start')\n\t\t\t.style('flex-wrap', 'nowrap')\n\n\t\t// Assign a color per modality with the shared palette generator (same as\n\t\t// proteinView's getColors), domained on the dataset-ordered assay list so colors\n\t\t// are stable across re-fetches and consistent with other proteome charts.\n\t\tconst colorScale = getColors(data.assays.length).domain(data.assays)\n\t\tconst assayColors: { [a: string]: string } = {}\n\t\tfor (const a of data.assays) assayColors[a] = colorScale(a)\n\n\t\tthis.renderBubbles(container, data.bubbles, assayColors)\n\t\tthis.renderLegend(container, data.assays, assayColors)\n\t}\n\n\tprivate renderControls(rankingKeys: string[], current: string) {\n\t\tthis.dom.controls.selectAll('*').remove()\n\t\tconst sel = this.dom.controls.append('select').style('padding', '4px 8px').style('min-width', '200px')\n\t\tsel\n\t\t\t.selectAll('option')\n\t\t\t.data(rankingKeys)\n\t\t\t.enter()\n\t\t\t.append('option')\n\t\t\t.attr('value', (d: string) => d)\n\t\t\t.text((d: string) => d)\n\t\tsel.property('value', current)\n\t\tsel.on('change', () => this.fetchAndRender(sel.node().value))\n\n\t\t// Two-tab toggle (uses #dom's Tabs component) \u2014 the active mode is highlighted\n\t\t// so users can see at a glance whether the chart is currently combined or split.\n\t\tconst tabsHolder = this.dom.controls.append('div')\n\t\tconst tabsToggle = new Tabs({\n\t\t\tholder: tabsHolder,\n\t\t\tnoContent: true,\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Combined',\n\t\t\t\t\tactive: this.groupBy === 'all',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tif (this.groupBy === 'all') return\n\t\t\t\t\t\tthis.groupBy = 'all'\n\t\t\t\t\t\tthis.applyGrouping()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Split by dominant data type',\n\t\t\t\t\tactive: this.groupBy === 'modality',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tif (this.groupBy === 'modality') return\n\t\t\t\t\t\tthis.groupBy = 'modality'\n\t\t\t\t\t\tthis.applyGrouping()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t\ttabsToggle.main()\n\t}\n\n\t/** Find the modality (assay) that contributes the largest slice to this gene's wheel. */\n\tprivate dominantAssay(node: Bubble): string {\n\t\tlet bestAssay = node.slices[0]?.assay ?? this.currentAssays[0]\n\t\tlet bestAngle = -1\n\t\tfor (const s of node.slices) {\n\t\t\tif (s.angle > bestAngle) {\n\t\t\t\tbestAngle = s.angle\n\t\t\t\tbestAssay = s.assay\n\t\t\t}\n\t\t}\n\t\treturn bestAssay\n\t}\n\n\t/** Compute homeX/homeY on every node based on the current `groupBy` mode. */\n\tprivate computeHomes() {\n\t\tconst nodes = this.currentNodes\n\t\tif (!nodes.length) return\n\n\t\tconst W = this.canvasW()\n\t\tconst H = this.canvasH()\n\n\t\tif (this.groupBy === 'all') {\n\t\t\t// One global packed-circle layout (same as the initial view)\n\t\t\tconst packInputs = nodes.map(n => ({ r: n.outerR, x: 0, y: 0 }))\n\t\t\tpackSiblings(packInputs)\n\t\t\tconst enclose = packEnclose(packInputs as any) ?? { x: 0, y: 0, r: Math.min(W, H) / 2 }\n\t\t\tconst dx = W / 2 - enclose.x\n\t\t\tconst dy = H / 2 - enclose.y\n\t\t\tfor (let i = 0; i < nodes.length; i++) {\n\t\t\t\tnodes[i].homeX = packInputs[i].x + dx\n\t\t\t\tnodes[i].homeY = packInputs[i].y + dy\n\t\t\t}\n\t\t\t// boundary for the per-tick clamp (+slack so a hover ripple can briefly bulge it)\n\t\t\tthis.allModeBoundaryR = enclose.r + 2\n\t\t\tthis.groupCenters = []\n\t\t\tthis.recordContentBbox()\n\t\t\treturn\n\t\t}\n\n\t\t// 'modality' mode \u2014 hierarchical packing. Each modality's bubbles are packed\n\t\t// into their own little circle (sizes vary because gene counts vary), and then\n\t\t// those CIRCLES are themselves packed together with packSiblings so a big\n\t\t// modality cluster claims more canvas space than a small one. No fixed grid.\n\t\tconst assays = this.currentAssays\n\t\t// Padding around each sub-cluster. Because `packSiblings` packs the super-circles\n\t\t// to TOUCH each other, the visible empty space between two adjacent clusters ends\n\t\t// up being LABEL_GAP \u00D7 2 (one gap from each cluster's own padding). And because the\n\t\t// whole layout often gets scaled down to fit the canvas, we need this value much\n\t\t// larger than the desired post-scale gap. With a scale around 0.7-0.8 this still\n\t\t// yields ~180-200 px of clearly visible whitespace between clusters.\n\t\tconst LABEL_GAP = 200\n\n\t\tconst buckets = new Map<string, Bubble[]>()\n\t\tfor (const a of assays) buckets.set(a, [])\n\t\tfor (const n of nodes) buckets.get(this.dominantAssay(n))?.push(n)\n\n\t\t// Inner pack \u2014 per-modality sub-cluster\n\t\ttype GroupLayout = {\n\t\t\tassay: string\n\t\t\tnodes: Bubble[]\n\t\t\tpacks: { r: number; x: number; y: number }[]\n\t\t\tenclose: { x: number; y: number; r: number }\n\t\t\tnaturalExtent: number\n\t\t}\n\t\tconst layouts: GroupLayout[] = []\n\t\tfor (const assay of assays) {\n\t\t\tconst groupNodes = buckets.get(assay) ?? []\n\t\t\tif (!groupNodes.length) continue\n\t\t\tconst packs = groupNodes.map(n => ({ r: n.outerR, x: 0, y: 0 }))\n\t\t\tpackSiblings(packs)\n\t\t\tconst enclose = packEnclose(packs as any) ?? { x: 0, y: 0, r: 0 }\n\t\t\t// Natural visible extent of this cluster \u2014 the max reach from enclose center\n\t\t\t// to any bubble's outer edge. Used both to size the super-circle (so adjacent\n\t\t\t// clusters don't overlap) and as the visible boundary radius.\n\t\t\tlet naturalExtent = 0\n\t\t\tfor (let j = 0; j < groupNodes.length; j++) {\n\t\t\t\tconst dx2 = packs[j].x - enclose.x\n\t\t\t\tconst dy2 = packs[j].y - enclose.y\n\t\t\t\tconst reach = Math.sqrt(dx2 * dx2 + dy2 * dy2) + groupNodes[j].outerR\n\t\t\t\tif (reach > naturalExtent) naturalExtent = reach\n\t\t\t}\n\t\t\tlayouts.push({ assay, nodes: groupNodes, packs, enclose, naturalExtent })\n\t\t}\n\n\t\t// Outer pack \u2014 each sub-cluster treated as a super-circle whose radius is its\n\t\t// REAL outer extent (not the smaller enclose) plus LABEL_GAP. Using the real\n\t\t// extent guarantees adjacent clusters don't overlap when their internal layouts\n\t\t// are kept at natural size below.\n\t\tconst superCircles = layouts.map(g => ({ r: g.naturalExtent + LABEL_GAP, x: 0, y: 0 }))\n\t\tpackSiblings(superCircles)\n\t\tconst overallEnclose = packEnclose(superCircles as any) ?? { x: 0, y: 0, r: 1 }\n\n\t\t// Scale to fit within the canvas if the arrangement is wider/taller than the\n\t\t// current mode's dimensions. (Lots of small bubbles can produce a large enclose.)\n\t\tconst margin = 10\n\t\tconst maxR = Math.min(W, H) / 2 - margin\n\t\tconst scale = overallEnclose.r > maxR ? maxR / overallEnclose.r : 1\n\t\tconst dx = W / 2 - overallEnclose.x * scale\n\t\tconst dy = H / 2 - overallEnclose.y * scale\n\n\t\tthis.groupCenters = []\n\t\tfor (let i = 0; i < layouts.length; i++) {\n\t\t\tconst g = layouts[i]\n\t\t\t// Cluster center IS scaled (so the overall arrangement of clusters fits the canvas)\n\t\t\tconst groupCx = superCircles[i].x * scale + dx\n\t\t\tconst groupCy = superCircles[i].y * scale + dy\n\t\t\t// But internal bubble positions are NOT scaled \u2014 each cluster keeps its natural\n\t\t\t// packSiblings layout. This is what stops forceCollide from pushing bubbles outside\n\t\t\t// the visible boundary: at natural packing distances, bubbles already don't overlap,\n\t\t\t// so collide does nothing and the cluster's visible extent matches `naturalExtent`.\n\t\t\tconst offX = groupCx - g.enclose.x\n\t\t\tconst offY = groupCy - g.enclose.y\n\t\t\tfor (let j = 0; j < g.nodes.length; j++) {\n\t\t\t\tg.nodes[j].homeX = g.packs[j].x + offX\n\t\t\t\tg.nodes[j].homeY = g.packs[j].y + offY\n\t\t\t}\n\t\t\tthis.groupCenters.push({\n\t\t\t\tassay: g.assay,\n\t\t\t\tcx: groupCx,\n\t\t\t\tcy: groupCy,\n\t\t\t\tr: g.naturalExtent,\n\t\t\t\ttopY: groupCy - g.naturalExtent\n\t\t\t})\n\t\t}\n\n\t\t// Final centering: `packEnclose` returns the smallest enclosing circle, but its\n\t\t// CENTER doesn't necessarily equal the cluster centroid when sub-cluster sizes\n\t\t// vary a lot (one big modality, several small ones). Shift everything so the\n\t\t// actual bubble bounding box is centered on the canvas \u2014 no asymmetric empty\n\t\t// bands on one side.\n\t\tlet minX = Infinity,\n\t\t\tminY = Infinity,\n\t\t\tmaxX = -Infinity,\n\t\t\tmaxY = -Infinity\n\t\tfor (const n of nodes) {\n\t\t\tif (n.homeX - n.outerR < minX) minX = n.homeX - n.outerR\n\t\t\tif (n.homeY - n.outerR < minY) minY = n.homeY - n.outerR\n\t\t\tif (n.homeX + n.outerR > maxX) maxX = n.homeX + n.outerR\n\t\t\tif (n.homeY + n.outerR > maxY) maxY = n.homeY + n.outerR\n\t\t}\n\t\tif (Number.isFinite(minX)) {\n\t\t\tconst shiftX = W / 2 - (minX + maxX) / 2\n\t\t\tconst shiftY = H / 2 - (minY + maxY) / 2\n\t\t\tfor (const n of nodes) {\n\t\t\t\tn.homeX += shiftX\n\t\t\t\tn.homeY += shiftY\n\t\t\t}\n\t\t\tfor (const g of this.groupCenters) {\n\t\t\t\tg.cx += shiftX\n\t\t\t\tg.cy += shiftY\n\t\t\t\tg.topY += shiftY\n\t\t\t}\n\t\t}\n\n\t\tthis.recordContentBbox()\n\t}\n\n\t/** Record the FINAL content bbox (after recentering) so the wrapper can hug the\n\t * cluster instead of inheriting a fixed canvas size. Called by both modes. */\n\tprivate recordContentBbox() {\n\t\tconst nodes = this.currentNodes\n\t\tif (!nodes.length) return\n\t\tlet bx0 = Infinity,\n\t\t\tby0 = Infinity,\n\t\t\tbx1 = -Infinity,\n\t\t\tby1 = -Infinity\n\t\tfor (const n of nodes) {\n\t\t\tif (n.homeX - n.outerR < bx0) bx0 = n.homeX - n.outerR\n\t\t\tif (n.homeY - n.outerR < by0) by0 = n.homeY - n.outerR\n\t\t\tif (n.homeX + n.outerR > bx1) bx1 = n.homeX + n.outerR\n\t\t\tif (n.homeY + n.outerR > by1) by1 = n.homeY + n.outerR\n\t\t}\n\t\t// In split mode, extend bbox upward to include modality labels (sit at topY-32).\n\t\tif (this.groupBy === 'modality') {\n\t\t\tfor (const g of this.groupCenters) {\n\t\t\t\tconst labelY = g.topY - 32\n\t\t\t\tif (labelY < by0) by0 = labelY\n\t\t\t}\n\t\t}\n\t\tif (Number.isFinite(bx0)) {\n\t\t\tthis.contentBbox = { minX: bx0, minY: by0, maxX: bx1, maxY: by1 }\n\t\t}\n\t}\n\n\t/** Toggle handler \u2014 recompute homes for the current groupBy and reheat the simulation. */\n\tprivate applyGrouping() {\n\t\tthis.computeHomes()\n\n\t\t// Animate the wrapper's visible viewport (so combined \u21C4 split expands/contracts\n\t\t// AROUND the cluster, which itself stays anchored at the SVG's center). At the\n\t\t// same time, re-offset the SVG's left/top so its center keeps aligning with the\n\t\t// new wrapper's center \u2014 that's what stops the cluster from drifting right-down.\n\t\tif (this.wrapperSel) {\n\t\t\tthis.wrapperSel\n\t\t\t\t.transition()\n\t\t\t\t.duration(900)\n\t\t\t\t.style('width', `${this.viewportW()}px`)\n\t\t\t\t.style('height', `${this.viewportH()}px`)\n\t\t}\n\t\tif (this.svgSel) {\n\t\t\tthis.svgSel\n\t\t\t\t.transition()\n\t\t\t\t.duration(900)\n\t\t\t\t.style('left', `${this.BBOX_PAD - this.contentBbox.minX}px`)\n\t\t\t\t.style('top', `${this.BBOX_PAD - this.contentBbox.minY}px`)\n\t\t}\n\n\t\t// Modality labels share the same per-group center metadata.\n\t\t// In split mode: position the label just above\n\t\t// it (at cy \u2212 r \u2212 12). In combined mode: fade everything out IN PLACE so nothing\n\t\t// flies to a default coordinate.\n\t\tconst centerByAssay = new Map(this.groupCenters.map(g => [g.assay, g]))\n\n\t\tif (this.modalityLabelsSel) {\n\t\t\tconst labels = this.modalityLabelsSel.selectAll('text')\n\t\t\tif (this.groupBy === 'modality') {\n\t\t\t\tlabels\n\t\t\t\t\t.transition()\n\t\t\t\t\t.duration(900)\n\t\t\t\t\t.attr('opacity', (assay: string) => (centerByAssay.has(assay) ? 1 : 0))\n\t\t\t\t\t.attr('x', (assay: string) => centerByAssay.get(assay)?.cx ?? 0)\n\t\t\t\t\t.attr('y', (assay: string) => {\n\t\t\t\t\t\tconst g = centerByAssay.get(assay)\n\t\t\t\t\t\t// 12 px above the cluster's top edge \u2014 accurate since\n\t\t\t\t\t\t// g.r IS the cluster's natural extent (the visible boundary).\n\t\t\t\t\t\treturn g ? g.cy - g.r - 12 : 0\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tlabels.transition().duration(400).attr('opacity', 0)\n\t\t\t}\n\t\t}\n\n\t\tif (this.simulation) {\n\t\t\t// Replace forceX/forceY (vallandingham pattern) so the force re-reads each node's\n\t\t\t// updated homeX/homeY into its internal target cache. Moderate alpha + higher\n\t\t\t// velocityDecay keeps the motion smooth instead of violent.\n\t\t\tthis.simulation\n\t\t\t\t.force('x', forceX<Bubble>((d: Bubble) => d.homeX).strength(GRAVITY_STRENGTH))\n\t\t\t\t.force('y', forceY<Bubble>((d: Bubble) => d.homeY).strength(GRAVITY_STRENGTH))\n\t\t\t\t.velocityDecay(0.55)\n\t\t\t\t.alpha(0.6)\n\t\t\t\t.alphaDecay(0.018)\n\t\t\t\t.restart()\n\t\t\t// Restore normal velocity decay + alpha decay after the transition has played out\n\t\t\t// so hover ripples behave normally afterwards.\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (this.simulation) this.simulation.velocityDecay(0.4).alphaDecay(0.022)\n\t\t\t}, 2500)\n\t\t}\n\t}\n\n\tprivate renderBubbles(container: any, bubbles: any[], assayColors: { [a: string]: string }) {\n\t\t// Total-radius scale: rank 1 \u2192 MAX_R, rank N \u2192 MIN_R. Sqrt softens rank 1's dominance.\n\t\tconst maxRank = Math.max(...bubbles.map(b => b.integrativeRank))\n\t\tconst sizeScale = scaleSqrt().domain([1, maxRank]).range([MAX_R, MIN_R]).clamp(true)\n\n\t\tconst nodes: Bubble[] = bubbles.map(b => {\n\t\t\tconst outerR = sizeScale(b.integrativeRank) // bubble's outer radius (= ring outer radius)\n\t\t\tconst innerR = outerR * INNER_CIRCLE_RATIO // inner circle's visual radius \u2014 smaller now, ring is wider\n\t\t\t// Cumulative angles for slices\n\t\t\tconst slices: Slice[] = []\n\t\t\tlet cum = 0\n\t\t\tfor (const s of b.slices) {\n\t\t\t\tconst start = cum\n\t\t\t\tconst end = cum + s.angle\n\t\t\t\tslices.push({ ...s, startAngle: start, endAngle: end })\n\t\t\t\tcum = end\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tgene: b.gene,\n\t\t\t\tintegrativeRank: b.integrativeRank,\n\t\t\t\torderStatQ: b.orderStatQ,\n\t\t\t\tpValue: b.pValue,\n\t\t\t\tfdr: b.fdr,\n\t\t\t\tslices,\n\t\t\t\tinnerR,\n\t\t\t\touterR,\n\t\t\t\t// Seed positions in a small jitter around center so the simulation pulls them outward to home\n\t\t\t\tx: this.canvasW() / 2 + (Math.random() - 0.5) * 80,\n\t\t\t\ty: this.canvasH() / 2 + (Math.random() - 0.5) * 80,\n\t\t\t\thomeX: 0, // filled in by packSiblings below\n\t\t\t\thomeY: 0,\n\t\t\t\thovered: false\n\t\t\t}\n\t\t})\n\n\t\t// Store state on the instance so the toggle handler can recompute layout later\n\t\t// without re-fetching data.\n\t\tthis.currentNodes = nodes\n\t\tthis.currentAssays = Object.keys(assayColors)\n\n\t\t// Initial layout \u2014 packed circle ('all' mode) or per-modality sub-clusters ('modality').\n\t\t// In 'all' mode this also sets this.allModeBoundaryR (used by the per-tick clamp).\n\t\tthis.computeHomes()\n\n\t\t// Wrapper crops the SVG to the current mode's viewport; the SVG is positioned\n\t\t// absolutely so its content stays centered. The viewport is sized to the content\n\t\t// bbox and re-offset on mode toggle so the cluster doesn't drift on split.\n\t\tconst wrapper = container\n\t\t\t.append('div')\n\t\t\t.style('position', 'relative')\n\t\t\t.style('overflow', 'hidden')\n\t\t\t.style('width', `${this.viewportW()}px`)\n\t\t\t.style('height', `${this.viewportH()}px`)\n\t\tthis.wrapperSel = wrapper\n\n\t\tconst svg = wrapper\n\t\t\t.append('svg')\n\t\t\t.attr('width', this.canvasW())\n\t\t\t.attr('height', this.canvasH())\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('left', `${this.BBOX_PAD - this.contentBbox.minX}px`)\n\t\t\t.style('top', `${this.BBOX_PAD - this.contentBbox.minY}px`)\n\t\tthis.svgSel = svg\n\n\t\tconst root = svg.append('g')\n\n\t\t// Sub-groups (split mode) are identified by their label + the spatial clustering of\n\t\t// bubbles alone \u2014 there are no visible cluster-boundary circles.\n\t\tconst arcGen = d3arc<Slice>()\n\t\t\t.startAngle((d: Slice) => d.startAngle)\n\t\t\t.endAngle((d: Slice) => d.endAngle)\n\n\t\tconst groups = root\n\t\t\t.selectAll('g.sjpp-abc-bubble')\n\t\t\t.data(nodes)\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.attr('class', 'sjpp-abc-bubble')\n\t\t\t.attr('transform', (d: Bubble) => `translate(${d.x},${d.y})`)\n\t\t\t.style('cursor', 'pointer')\n\t\t\t.attr('role', 'button')\n\t\t\t.attr('tabindex', 0)\n\t\t\t.attr('aria-label', (d: Bubble) => `Open protein view for ${d.gene}`)\n\t\t// Invisible hit-area circle covering the entire bubble (outer radius). Sits behind\n\t\t// every visible element so it doesn't obscure anything, but captures pointer events\n\t\t// across the inner-circle \u2194 ring gap. Without it, mouseenter/mouseleave fires\n\t\t// spuriously when the cursor crosses that gap.\n\t\tgroups\n\t\t\t.append('circle')\n\t\t\t.attr('class', 'hit-area')\n\t\t\t.attr('r', (d: Bubble) => d.outerR)\n\t\t\t.attr('fill', 'transparent')\n\n\t\t// Ring slices \u2014 rendered first so the inner circle sits on top\n\t\tgroups.each(function (this: SVGGElement, d: Bubble) {\n\t\t\tconst slicesG = select(this).append('g').attr('class', 'ring')\n\t\t\tconst visible = d.slices.filter(s => s.angle > 0)\n\t\t\tslicesG\n\t\t\t\t.selectAll('path')\n\t\t\t\t.data(visible)\n\t\t\t\t.enter()\n\t\t\t\t.append('path')\n\t\t\t\t.attr('fill', (s: Slice) => assayColors[s.assay] ?? '#999')\n\t\t\t\t.attr('stroke', '#fff')\n\t\t\t\t.attr('stroke-width', 0.8)\n\t\t\t\t.attr('opacity', 0)\n\t\t\t\t.attr('d', (s: Slice) =>\n\t\t\t\t\tarcGen({\n\t\t\t\t\t\t...s,\n\t\t\t\t\t\tinnerRadius: d.innerR + RING_GAP,\n\t\t\t\t\t\touterRadius: d.outerR\n\t\t\t\t\t} as any)\n\t\t\t\t)\n\t\t})\n\n\t\t// Inner circle \u2014 starts at radius 0 and transitions out\n\t\tgroups\n\t\t\t.append('circle')\n\t\t\t.attr('class', 'inner')\n\t\t\t.attr('r', 0)\n\t\t\t.attr('fill', '#fff')\n\t\t\t.attr('stroke', '#333')\n\t\t\t.attr('stroke-width', 1)\n\n\t\t// Gene label \u2014 font scales with bubble size. Also bounded by label width so long names fit inside small bubbles.\n\t\tconst labelFontSize = (d: Bubble) => {\n\t\t\tconst byRadius = d.innerR * 0.72\n\t\t\t// Heuristic: each character ~0.6 \u00D7 fontSize wide; keep the text inside ~1.8 \u00D7 innerR\n\t\t\tconst maxByWidth = (d.innerR * 1.8) / Math.max(d.gene.length * 0.6, 1)\n\t\t\treturn Math.max(5, Math.min(byRadius, maxByWidth, 20))\n\t\t}\n\t\tgroups\n\t\t\t.append('text')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('dominant-baseline', 'central')\n\t\t\t.attr('font-weight', 'bold')\n\t\t\t.attr('font-size', (d: Bubble) => `${labelFontSize(d)}px`)\n\t\t\t.attr('fill', '#222')\n\t\t\t.attr('pointer-events', 'none')\n\t\t\t.attr('opacity', 0)\n\t\t\t.text((d: Bubble) => d.gene)\n\n\t\t// Tooltip handlers on the entire <g>\n\t\tconst tip = this.dom.tip\n\t\tgroups\n\t\t\t.on('mouseenter', (event: MouseEvent, d: Bubble) => {\n\t\t\t\t// Mark hovered \u2192 collide accessor inflates its radius \u2192 neighbors get pushed outward.\n\t\t\t\t// Weaken center gravity so the displaced neighbors actually move OUT instead of\n\t\t\t\t// being immediately re-clustered toward center.\n\t\t\t\td.hovered = true\n\t\t\t\tif (this.simulation) {\n\t\t\t\t\tthis.simulation.force('x')!.strength(HOVER_GRAVITY)\n\t\t\t\t\tthis.simulation.force('y')!.strength(HOVER_GRAVITY)\n\t\t\t\t\tthis.simulation.alpha(0.5).restart()\n\t\t\t\t}\n\t\t\t\ttip.clear().show(event.clientX, event.clientY)\n\t\t\t\tconst t = tip.d.append('div').style('padding', '8px').style('font-size', '13px').style('min-width', '220px')\n\t\t\t\tt.append('div')\n\t\t\t\t\t.style('font-weight', 'bold')\n\t\t\t\t\t.style('font-size', '15px')\n\t\t\t\t\t.style('margin-bottom', '4px')\n\t\t\t\t\t.text(d.gene)\n\t\t\t\tt.append('div').text(`Integrative rank: ${d.integrativeRank}`)\n\t\t\t\tif (d.orderStatQ != null) t.append('div').text(`Order statistic Q: ${d.orderStatQ.toExponential(3)}`)\n\t\t\t\tif (d.pValue != null)\n\t\t\t\t\tt.append('div').text(`P value: ${d.pValue >= 0.0001 ? d.pValue.toFixed(4) : d.pValue.toExponential(3)}`)\n\t\t\t\tif (d.fdr != null) t.append('div').text(`FDR: ${d.fdr >= 0.0001 ? d.fdr.toFixed(4) : d.fdr.toExponential(3)}`)\n\t\t\t\tconst table = t\n\t\t\t\t\t.append('table')\n\t\t\t\t\t.style('margin-top', '6px')\n\t\t\t\t\t.style('border-collapse', 'collapse')\n\t\t\t\t\t.style('font-size', '12px')\n\t\t\t\tconst header = table.append('tr')\n\t\t\t\theader.append('th').style('text-align', 'left').style('padding', '2px 6px').text('Data Type')\n\t\t\t\theader.append('th').style('text-align', 'right').style('padding', '2px 6px').text('Rank')\n\t\t\t\theader.append('th').style('text-align', 'right').style('padding', '2px 6px').text('Share')\n\t\t\t\tfor (const s of d.slices) {\n\t\t\t\t\tconst row = table.append('tr')\n\t\t\t\t\tconst swatch = row.append('td').style('padding', '2px 6px')\n\t\t\t\t\tswatch\n\t\t\t\t\t\t.append('span')\n\t\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t\t\t.style('width', '10px')\n\t\t\t\t\t\t.style('height', '10px')\n\t\t\t\t\t\t.style('background', assayColors[s.assay] ?? '#999')\n\t\t\t\t\t\t.style('margin-right', '6px')\n\t\t\t\t\t\t.style('vertical-align', 'middle')\n\t\t\t\t\tswatch.append('span').text(s.assay)\n\t\t\t\t\trow\n\t\t\t\t\t\t.append('td')\n\t\t\t\t\t\t.style('padding', '2px 6px')\n\t\t\t\t\t\t.style('text-align', 'right')\n\t\t\t\t\t\t.text(s.rank == null ? 'NA' : String(s.rank))\n\t\t\t\t\trow\n\t\t\t\t\t\t.append('td')\n\t\t\t\t\t\t.style('padding', '2px 6px')\n\t\t\t\t\t\t.style('text-align', 'right')\n\t\t\t\t\t\t.text(s.weight == null ? '\u2014' : `${(s.weight * 100).toFixed(1)}%`)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('mouseleave', (_event: MouseEvent, d: Bubble) => {\n\t\t\t\td.hovered = false\n\t\t\t\t// Restore center gravity gradually so the cluster eases back together\n\t\t\t\t// instead of snapping. Low alpha + standard gravity = a slow drift inward.\n\t\t\t\tif (this.simulation) {\n\t\t\t\t\tthis.simulation.force('x')!.strength(GRAVITY_STRENGTH)\n\t\t\t\t\tthis.simulation.force('y')!.strength(GRAVITY_STRENGTH)\n\t\t\t\t\tthis.simulation.alpha(0.25).restart()\n\t\t\t\t}\n\t\t\t\ttip.hide()\n\t\t\t})\n\t\t\t.on('click keydown', (event: MouseEvent | KeyboardEvent, d: Bubble) => {\n\t\t\t\tif (event.type === 'keydown') {\n\t\t\t\t\tconst ke = event as KeyboardEvent\n\t\t\t\t\tif (ke.key !== 'Enter' && ke.key !== ' ') return\n\t\t\t\t\tke.preventDefault()\n\t\t\t\t}\n\t\t\t\t// Launch a proteinView chart for the clicked gene \u2014 same dispatch shape used\n\t\t\t\t// by the \"Protein View\" chart-button menu after a gene is typed in.\n\t\t\t\ttip.hide()\n\t\t\t\tthis.app.dispatch({\n\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tchartType: 'proteinView',\n\t\t\t\t\t\ttw: {\n\t\t\t\t\t\t\tterm: {\n\t\t\t\t\t\t\t\tgene: d.gene,\n\t\t\t\t\t\t\t\tname: d.gene,\n\t\t\t\t\t\t\t\ttype: TermTypes.PROTEOME_ABUNDANCE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t// Animate entry \u2014 circles & ring slices grow/fade in\n\t\tgroups\n\t\t\t.select('circle.inner')\n\t\t\t.transition()\n\t\t\t.duration(900)\n\t\t\t.attr('r', (d: any) => d.innerR)\n\t\tgroups.select('g.ring').selectAll('path').transition().delay(200).duration(900).attr('opacity', 0.95)\n\t\tgroups.select('text').transition().delay(500).duration(600).attr('opacity', 1)\n\n\t\t// Modality labels \u2014 appended AFTER the bubble groups so SVG draw order puts them\n\t\t// on top. Each label is data-joined to its assay name; `applyGrouping` reads\n\t\t// `this.groupCenters` to position each label above its sub-cluster.\n\t\tconst assayNames = this.currentAssays\n\t\tconst labelsG = svg.append('g').attr('class', 'modality-labels')\n\t\tlabelsG\n\t\t\t.selectAll('text')\n\t\t\t.data(assayNames)\n\t\t\t.enter()\n\t\t\t.append('text')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('dominant-baseline', 'alphabetic')\n\t\t\t.attr('font-size', '13px')\n\t\t\t.attr('font-weight', 'bold')\n\t\t\t.attr('paint-order', 'stroke') // white outline behind text so it stays readable over bubbles\n\t\t\t.attr('stroke', '#fff')\n\t\t\t.attr('stroke-width', 3)\n\t\t\t.attr('stroke-linejoin', 'round')\n\t\t\t.attr('fill', (d: string) => assayColors[d] ?? '#333')\n\t\t\t.attr('opacity', 0)\n\t\t\t.attr('x', this.canvasW() / 2)\n\t\t\t.attr('y', 12)\n\t\t\t.text((d: string) => d)\n\t\tthis.modalityLabelsSel = labelsG\n\t\t// If we re-rendered while groupBy is already 'modality' (e.g., user switched ranking\n\t\t// file while split), reposition labels immediately for the new node set.\n\t\tif (this.groupBy === 'modality') {\n\t\t\tconst centerByAssay = new Map(this.groupCenters.map(g => [g.assay, g]))\n\t\t\tlabelsG\n\t\t\t\t.selectAll('text')\n\t\t\t\t.attr('opacity', (assay: string) => (centerByAssay.has(assay) ? 1 : 0))\n\t\t\t\t.attr('x', (assay: string) => centerByAssay.get(assay)?.cx ?? this.canvasW() / 2)\n\t\t\t\t.attr('y', (assay: string) => {\n\t\t\t\t\tconst g = centerByAssay.get(assay)\n\t\t\t\t\treturn g ? g.cy - g.r - 8 : 12\n\t\t\t\t})\n\t\t}\n\n\t\t// Force simulation \u2014 each bubble is pulled toward its OWN packed \"home\" position\n\t\t// (computed above by packSiblings), giving a true circle-packed layout instead of\n\t\t// the soft disk that center-only gravity produces.\n\t\tconst collideR = (d: Bubble) => (d.hovered ? d.outerR * HOVER_COLLIDE_BOOST : d.outerR) + PADDING\n\n\t\t// Custom force: when a bubble is hovered, radially push other bubbles away from it.\n\t\t// Reach and strength scale with the hovered bubble's size \u2014 a tiny bubble produces\n\t\t// a small ripple, the biggest produces the full one. Otherwise hovering the smallest\n\t\t// dot would displace neighbors as aggressively as hovering the largest anchor bubble.\n\t\tfunction hoverRepel(alpha: number) {\n\t\t\tconst h = nodes.find(n => n.hovered)\n\t\t\tif (!h) return\n\t\t\tconst sizeRatio = h.outerR / MAX_R // 0..1, where 1 = max-sized bubble\n\t\t\tconst reach = HOVER_REPEL_REACH * sizeRatio\n\t\t\tconst strength = HOVER_REPEL_STRENGTH * sizeRatio\n\t\t\tif (reach < 1) return\n\t\t\tfor (const n of nodes) {\n\t\t\t\tif (n === h) continue\n\t\t\t\tconst dx = n.x - h.x\n\t\t\t\tconst dy = n.y - h.y\n\t\t\t\tconst dist = Math.sqrt(dx * dx + dy * dy) || 0.01\n\t\t\t\tif (dist >= reach) continue\n\t\t\t\tconst falloff = 1 - dist / reach\n\t\t\t\tconst push = strength * falloff * alpha\n\t\t\t\tn.vx = (n.vx ?? 0) + (dx / dist) * push * reach\n\t\t\t\tn.vy = (n.vy ?? 0) + (dy / dist) * push * reach\n\t\t\t}\n\t\t}\n\n\t\tthis.simulation = forceSimulation<Bubble>(nodes)\n\t\t\t.force('collide', forceCollide<Bubble>(collideR).strength(1).iterations(2))\n\t\t\t.force('x', forceX<Bubble>((d: Bubble) => d.homeX).strength(GRAVITY_STRENGTH))\n\t\t\t.force('y', forceY<Bubble>((d: Bubble) => d.homeY).strength(GRAVITY_STRENGTH))\n\t\t\t.force('hoverRepel', hoverRepel)\n\t\t\t.alpha(1)\n\t\t\t.alphaDecay(0.022)\n\t\t\t.alphaMin(0.001)\n\t\t\t.on('tick', () => {\n\t\t\t\t// In 'all' mode the cluster is one big circle, so clamp every bubble inside\n\t\t\t\t// its enclosing radius \u2014 otherwise the perimeter would deform into a square\n\t\t\t\t// against canvas edges. In 'modality' (split) mode, each sub-cluster has its\n\t\t\t\t// own center and the clamp doesn't apply globally; bubbles are kept in place\n\t\t\t\t// by their per-group home-position gravity instead.\n\t\t\t\tif (this.groupBy === 'all') {\n\t\t\t\t\tconst cxC = this.canvasW() / 2\n\t\t\t\t\tconst cyC = this.canvasH() / 2\n\t\t\t\t\tfor (const d of nodes) {\n\t\t\t\t\t\tconst ddx = d.x - cxC\n\t\t\t\t\t\tconst ddy = d.y - cyC\n\t\t\t\t\t\tconst dist = Math.sqrt(ddx * ddx + ddy * ddy) || 0.0001\n\t\t\t\t\t\tconst maxDist = this.allModeBoundaryR - d.outerR\n\t\t\t\t\t\tif (dist > maxDist) {\n\t\t\t\t\t\t\td.x = cxC + (ddx * maxDist) / dist\n\t\t\t\t\t\t\td.y = cyC + (ddy * maxDist) / dist\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tgroups.attr('transform', (d: Bubble) => `translate(${d.x},${d.y})${d.hovered ? ` scale(${HOVER_SCALE})` : ''}`)\n\t\t\t})\n\t}\n\n\tprivate renderLegend(container: any, assays: string[], assayColors: { [a: string]: string }) {\n\t\tconst legend = container\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('flex-direction', 'column')\n\t\t\t.style('gap', '6px')\n\t\t\t.style('padding', '4px 0')\n\t\t\t.style('min-width', '160px')\n\t\tlegend\n\t\t\t.append('div')\n\t\t\t.style('font-weight', 'bold')\n\t\t\t.style('font-size', '13px')\n\t\t\t.style('margin-bottom', '4px')\n\t\t\t.text('Data Type')\n\t\tfor (const assay of assays) {\n\t\t\tconst row = legend\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'flex')\n\t\t\t\t.style('align-items', 'center')\n\t\t\t\t.style('gap', '8px')\n\t\t\t\t.style('font-size', '12px')\n\t\t\trow\n\t\t\t\t.append('span')\n\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t.style('width', '14px')\n\t\t\t\t.style('height', '14px')\n\t\t\t\t.style('background', assayColors[assay] ?? '#999')\n\t\t\t\t.style('border', '1px solid #ccc')\n\t\t\trow.append('span').text(assay)\n\t\t}\n\t}\n}\n\nexport const componentInit = getCompInit(AnimatedBubbleChart)\n\nexport async function getPlotConfig(opts: any) {\n\tconst config = structuredClone(defaultConfig)\n\treturn copyMerge(config, opts)\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["dx", "dy"]
7
+ }
@@ -0,0 +1,37 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-TKW5TW4Z.js";
4
+ import "./chunk-HJ6L54YS.js";
5
+ import "./chunk-LSEFWW72.js";
6
+ import "./chunk-3SHZTAGF.js";
7
+ import "./chunk-HYOEWQ5P.js";
8
+ import "./chunk-6QCYT6G2.js";
9
+ import "./chunk-FN5XPUPH.js";
10
+ import "./chunk-IIT367QZ.js";
11
+ import "./chunk-RZGEKL77.js";
12
+ import "./chunk-OTTMHVYH.js";
13
+ import "./chunk-GNS6CQMA.js";
14
+ import "./chunk-JVPWIVDT.js";
15
+ import "./chunk-4WF3XDQP.js";
16
+ import "./chunk-7JRDJNLR.js";
17
+ import "./chunk-M3J4MINX.js";
18
+ import "./chunk-PF4DSFDR.js";
19
+ import "./chunk-MPSLUEI4.js";
20
+ import "./chunk-6PNPHACF.js";
21
+ import "./chunk-WPHUM5S5.js";
22
+ import "./chunk-JNITUVXP.js";
23
+ import "./chunk-2KXLYFAO.js";
24
+ import "./chunk-LOZEKOES.js";
25
+ import "./chunk-VQZ2Z5YU.js";
26
+ import "./chunk-UJELJXJG.js";
27
+ import "./chunk-BZTWTH4Y.js";
28
+ import "./chunk-TLT4YIG3.js";
29
+ import "./chunk-5R63Q5KH.js";
30
+ import "./chunk-I6Y4O3RR.js";
31
+ import "./chunk-Q5RDQNIT.js";
32
+ import "./chunk-DQC5FFGV.js";
33
+ import "./chunk-HFNDKYVF.js";
34
+ export {
35
+ appInit
36
+ };
37
+ //# sourceMappingURL=app-O64TGDFH.js.map
@@ -0,0 +1,49 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-BQHPJY2M.js";
4
+ import "./chunk-4KRGCOTL.js";
5
+ import "./chunk-SKMFMGCD.js";
6
+ import "./chunk-NUWJ4RN7.js";
7
+ import "./chunk-ZEKIUYN3.js";
8
+ import "./chunk-B7VDZ6VF.js";
9
+ import "./chunk-D565DNJD.js";
10
+ import "./chunk-CY4RQ5L6.js";
11
+ import "./chunk-4KY4XKJV.js";
12
+ import "./chunk-QDX2XUNF.js";
13
+ import "./chunk-J4USU73L.js";
14
+ import "./chunk-PRZWSBMA.js";
15
+ import "./chunk-TKW5TW4Z.js";
16
+ import "./chunk-HJ6L54YS.js";
17
+ import "./chunk-LSEFWW72.js";
18
+ import "./chunk-3SHZTAGF.js";
19
+ import "./chunk-HYOEWQ5P.js";
20
+ import "./chunk-6QCYT6G2.js";
21
+ import "./chunk-FN5XPUPH.js";
22
+ import "./chunk-IIT367QZ.js";
23
+ import "./chunk-RZGEKL77.js";
24
+ import "./chunk-OTTMHVYH.js";
25
+ import "./chunk-GNS6CQMA.js";
26
+ import "./chunk-JVPWIVDT.js";
27
+ import "./chunk-4WF3XDQP.js";
28
+ import "./chunk-7JRDJNLR.js";
29
+ import "./chunk-M3J4MINX.js";
30
+ import "./chunk-PF4DSFDR.js";
31
+ import "./chunk-MPSLUEI4.js";
32
+ import "./chunk-6PNPHACF.js";
33
+ import "./chunk-WPHUM5S5.js";
34
+ import "./chunk-JNITUVXP.js";
35
+ import "./chunk-2KXLYFAO.js";
36
+ import "./chunk-LOZEKOES.js";
37
+ import "./chunk-VQZ2Z5YU.js";
38
+ import "./chunk-UJELJXJG.js";
39
+ import "./chunk-BZTWTH4Y.js";
40
+ import "./chunk-TLT4YIG3.js";
41
+ import "./chunk-5R63Q5KH.js";
42
+ import "./chunk-I6Y4O3RR.js";
43
+ import "./chunk-Q5RDQNIT.js";
44
+ import "./chunk-DQC5FFGV.js";
45
+ import "./chunk-HFNDKYVF.js";
46
+ export {
47
+ appInit
48
+ };
49
+ //# sourceMappingURL=app-Y2STUISK.js.map
package/dist/app.js CHANGED
@@ -1,45 +1,45 @@
1
1
  import {
2
2
  bindProteinPaint,
3
3
  runproteinpaint
4
- } from "./chunk-VJ6UFVGC.js";
5
- import "./chunk-QNHT74XC.js";
6
- import "./chunk-CTQ3IUCA.js";
7
- import "./chunk-PFRWS4CR.js";
4
+ } from "./chunk-BNAO6N5X.js";
5
+ import "./chunk-5QMBB4SK.js";
6
+ import "./chunk-H3N4KYKL.js";
7
+ import "./chunk-W7OS7BNM.js";
8
8
  import "./chunk-PRZWSBMA.js";
9
- import "./chunk-4IH7DORZ.js";
9
+ import "./chunk-5DMVORBB.js";
10
10
  import "./chunk-MKAF2BHB.js";
11
+ import "./chunk-WXPFMVU6.js";
11
12
  import "./chunk-WKNI3HRQ.js";
12
- import "./chunk-7OHRR2IE.js";
13
- import "./chunk-2GYWFQML.js";
14
- import "./chunk-5VOPABBA.js";
13
+ import "./chunk-NODQZTWK.js";
14
+ import "./chunk-TKW5TW4Z.js";
15
15
  import "./chunk-HJ6L54YS.js";
16
16
  import "./chunk-LSEFWW72.js";
17
- import "./chunk-Z5U6HOE4.js";
17
+ import "./chunk-3SHZTAGF.js";
18
18
  import "./chunk-HYOEWQ5P.js";
19
- import "./chunk-HBW42TDT.js";
19
+ import "./chunk-6QCYT6G2.js";
20
20
  import "./chunk-FN5XPUPH.js";
21
- import "./chunk-5ABGFJSP.js";
22
21
  import "./chunk-IIT367QZ.js";
23
22
  import "./chunk-RZGEKL77.js";
24
- import "./chunk-XPY6AWXO.js";
25
- import "./chunk-NELOT3NJ.js";
26
- import "./chunk-M6EF3WVV.js";
27
- import "./chunk-7IYJZZQI.js";
23
+ import "./chunk-OTTMHVYH.js";
24
+ import "./chunk-GNS6CQMA.js";
25
+ import "./chunk-JVPWIVDT.js";
26
+ import "./chunk-4WF3XDQP.js";
27
+ import "./chunk-7JRDJNLR.js";
28
28
  import "./chunk-M3J4MINX.js";
29
29
  import "./chunk-PF4DSFDR.js";
30
- import "./chunk-LFCYMSVA.js";
31
- import "./chunk-I6WR4CG7.js";
32
- import "./chunk-2X6W4E3W.js";
33
- import "./chunk-NYRZNRG5.js";
30
+ import "./chunk-MPSLUEI4.js";
31
+ import "./chunk-6PNPHACF.js";
32
+ import "./chunk-WPHUM5S5.js";
34
33
  import "./chunk-JNITUVXP.js";
35
- import "./chunk-3XVVN66M.js";
34
+ import "./chunk-2KXLYFAO.js";
36
35
  import "./chunk-LOZEKOES.js";
37
36
  import "./chunk-VQZ2Z5YU.js";
38
- import "./chunk-NSTL4MY2.js";
37
+ import "./chunk-UJELJXJG.js";
38
+ import "./chunk-BZTWTH4Y.js";
39
39
  import "./chunk-TLT4YIG3.js";
40
- import "./chunk-KYBIQBXE.js";
40
+ import "./chunk-5R63Q5KH.js";
41
41
  import "./chunk-I6Y4O3RR.js";
42
- import "./chunk-OMR2DT66.js";
42
+ import "./chunk-Q5RDQNIT.js";
43
43
  import "./chunk-DQC5FFGV.js";
44
44
  import "./chunk-HFNDKYVF.js";
45
45
  export {