@sjcrh/proteinpaint-client 2.226.0 → 2.227.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 (948) hide show
  1. package/dist/2dmaf-B34EJADN.js +1362 -0
  2. package/dist/AggMatrixInput-USCXGZT2.js +402 -0
  3. package/dist/AggregateMatrix-VLCSBD65.js +37 -0
  4. package/dist/AppHeader-KE7QVEW5.js +826 -0
  5. package/dist/BoxPlot-3H5QKYRD.js +1247 -0
  6. package/dist/CorrelationVolcano-ACEJOJS6.js +613 -0
  7. package/dist/CorrelationVolcano-ACEJOJS6.js.map +7 -0
  8. package/dist/Cuminc-6LPS4LR7.js +1217 -0
  9. package/dist/DE-TTKEQYC7.js +85 -0
  10. package/dist/DEinput-W7WEO2NO.js +483 -0
  11. package/dist/DEinput-W7WEO2NO.js.map +7 -0
  12. package/dist/DM-2TUF6Q3C.js +86 -0
  13. package/dist/DifferentialAnalysis-3LP4RAWF.js +236 -0
  14. package/dist/Disco-UP5C7UWX.js +3445 -0
  15. package/dist/Disco.UI-V4I4LOMF.js +239 -0
  16. package/dist/DmrPlot-TZR2NGIH.js +366 -0
  17. package/dist/GB-4NRY4YMF.js +1388 -0
  18. package/dist/GB-4NRY4YMF.js.map +7 -0
  19. package/dist/GSEA-YGKBRJJO.js +870 -0
  20. package/dist/GeneExpInput-L3J2ECVQ.js +38 -0
  21. package/dist/Geomap-4MHU6F57.js +80 -0
  22. package/dist/HicApp-27VGP5F6.js +2240 -0
  23. package/dist/IDCViewer-37GJPPUY.js +10810 -0
  24. package/dist/NumBinaryEditor-SEC2NDGG.js +274 -0
  25. package/dist/NumBinaryEditor.unit.spec-UDYSUC4S.js +308 -0
  26. package/dist/NumContEditor-YPSYWU2A.js +100 -0
  27. package/dist/NumContEditor.unit.spec-NHFBMHQ5.js +160 -0
  28. package/dist/NumCustomBinEditor-N7US5Q64.js +29 -0
  29. package/dist/NumCustomBinEditor.unit.spec-2BMMUBYU.js +393 -0
  30. package/dist/NumDiscreteEditor-BLQ5DEB7.js +165 -0
  31. package/dist/NumDiscreteEditor.unit.spec-JOFPUFU5.js +229 -0
  32. package/dist/NumRegularBinEditor-7BFPBUW2.js +29 -0
  33. package/dist/NumRegularBinEditor.unit.spec-6GZMNRHA.js +274 -0
  34. package/dist/NumSplineEditor-LO3ZR3T3.js +205 -0
  35. package/dist/NumSplineEditor.unit.spec-MRA3DQSB.js +220 -0
  36. package/dist/NumericDensity-NUCVJZ74.js +29 -0
  37. package/dist/NumericDensity.unit.spec-TZLKWH4U.js +414 -0
  38. package/dist/NumericHandler-NH533VBN.js +30 -0
  39. package/dist/NumericHandler.unit.spec-V7MNEHML.js +225 -0
  40. package/dist/ProteomeInput-FEXWZOA2.js +610 -0
  41. package/dist/Regression-NJAPUGT7.js +1412 -0
  42. package/dist/RunChart2-QIJ6NUWY.js +744 -0
  43. package/dist/SC-5NWBVOEE.js +1290 -0
  44. package/dist/Violin-TMACI43Q.js +1105 -0
  45. package/dist/Volcano-BMLHQEXU.js +2745 -0
  46. package/dist/Volcano-BMLHQEXU.js.map +7 -0
  47. package/dist/Wsi-5TWAOBFG.js +650 -0
  48. package/dist/Wsi-5TWAOBFG.js.map +7 -0
  49. package/dist/aboutSunburst-53YAWTV5.js +93 -0
  50. package/dist/adSandbox-7VHXEI7W.js +29 -0
  51. package/dist/animatedBubbleChart-CTFGJIRR.js +542 -0
  52. package/dist/app-AQAQAPUN.js +38 -0
  53. package/dist/app-SZDIV5U4.js +28 -0
  54. package/dist/app.js +12 -12
  55. package/dist/bam-3U5R2KNC.js +872 -0
  56. package/dist/barchart-ZL5VSR7P.js +38 -0
  57. package/dist/barchart2-YELP2HI7.js +305 -0
  58. package/dist/block-AGX6Z4BR.js +6208 -0
  59. package/dist/block-AGX6Z4BR.js.map +7 -0
  60. package/dist/block.init-IBITFICI.js +29 -0
  61. package/dist/block.mds.expressionrank-4L76ILD4.js +350 -0
  62. package/dist/block.mds.geneboxplot-XA7DFHPV.js +819 -0
  63. package/dist/block.mds.junction-GTZD3HEN.js +1534 -0
  64. package/dist/block.mds.svcnv-HTXQ3LGR.js +6325 -0
  65. package/dist/block.svg-BM6OMVRF.js +155 -0
  66. package/dist/block.tk.aicheck-CV53ULEP.js +274 -0
  67. package/dist/block.tk.bam-KJYFNJCX.js +1906 -0
  68. package/dist/block.tk.bigwig.ui-A352D6PT.js +202 -0
  69. package/dist/block.tk.hicstraw-QAFTQESL.js +814 -0
  70. package/dist/block.tk.junction-XURB4RWZ.js +2353 -0
  71. package/dist/block.tk.junction.textmatrixui-RNRWWNGY.js +190 -0
  72. package/dist/block.tk.ld-GWJMVPX3.js +90 -0
  73. package/dist/block.tk.menu-BJZYFMQX.js +1050 -0
  74. package/dist/block.tk.pgv-7XNJTHEW.js +934 -0
  75. package/dist/brainImaging-37EDZLGN.js +550 -0
  76. package/dist/brainRegions-FEW52QUB.js +213 -0
  77. package/dist/bubbleHeatmap-YN34AA4H.js +374 -0
  78. package/dist/bubbleHeatmap-YN34AA4H.js.map +7 -0
  79. package/dist/cellTypeBubbleHeatmap-X4K63FOK.js +274 -0
  80. package/dist/cellTypeBubbleHeatmap-X4K63FOK.js.map +7 -0
  81. package/dist/chunk-24CVFDVW.js +1219 -0
  82. package/dist/chunk-24CVFDVW.js.map +7 -0
  83. package/dist/chunk-2B3CYHUF.js +30 -0
  84. package/dist/chunk-2IAELUCN.js +348 -0
  85. package/dist/chunk-2W6U53AG.js +195 -0
  86. package/dist/chunk-46GCGTHJ.js +1339 -0
  87. package/dist/chunk-4ZX5KHD7.js +96 -0
  88. package/dist/chunk-544DSOC3.js +466 -0
  89. package/dist/chunk-6CV3YVJD.js +194 -0
  90. package/dist/chunk-6UHSGC6G.js +276 -0
  91. package/dist/chunk-6ZZGFZV2.js +35 -0
  92. package/dist/chunk-72FUMSAN.js +6375 -0
  93. package/dist/chunk-7DC4PD5R.js +182 -0
  94. package/dist/chunk-7ISYXUJ7.js +243 -0
  95. package/dist/chunk-7NVFEGCE.js +30 -0
  96. package/dist/chunk-7PQ6MLKG.js +1253 -0
  97. package/dist/chunk-BGPRKPKH.js +56 -0
  98. package/dist/chunk-BILGOVOR.js +480 -0
  99. package/dist/chunk-BKJLRLQQ.js +2008 -0
  100. package/dist/chunk-BQYMKS7S.js +4521 -0
  101. package/dist/chunk-BQYMKS7S.js.map +7 -0
  102. package/dist/chunk-C4BKP67I.js +123 -0
  103. package/dist/chunk-CFYWQJ7F.js +472 -0
  104. package/dist/chunk-CFYWQJ7F.js.map +7 -0
  105. package/dist/chunk-CQNTAIM3.js +328 -0
  106. package/dist/chunk-CW3IVTRX.js +2685 -0
  107. package/dist/chunk-D7KZWYP5.js +516 -0
  108. package/dist/chunk-DFHERVYA.js +961 -0
  109. package/dist/chunk-DFHERVYA.js.map +7 -0
  110. package/dist/chunk-DNXOZATD.js +848 -0
  111. package/dist/chunk-DXF3YDRG.js +2334 -0
  112. package/dist/chunk-ECBVUPDE.js +626 -0
  113. package/dist/chunk-ES22B563.js +257 -0
  114. package/dist/chunk-FA2B6PKK.js +42 -0
  115. package/dist/chunk-FMHSDIVG.js +2932 -0
  116. package/dist/chunk-G5UFOMON.js +255 -0
  117. package/dist/chunk-GKA6USKV.js +550 -0
  118. package/dist/chunk-HGIPR72Y.js +299 -0
  119. package/dist/chunk-IBUDYN5E.js +468 -0
  120. package/dist/chunk-J37WYVIZ.js +418 -0
  121. package/dist/chunk-JG5CF5Q3.js +397 -0
  122. package/dist/chunk-JI632MAR.js +400 -0
  123. package/dist/chunk-JI632MAR.js.map +7 -0
  124. package/dist/chunk-JKPMBNRM.js +100 -0
  125. package/dist/chunk-JKPMBNRM.js.map +7 -0
  126. package/dist/chunk-JSQH233D.js +263 -0
  127. package/dist/chunk-JWWLSDVM.js +296 -0
  128. package/dist/chunk-KGK4JJ4L.js +830 -0
  129. package/dist/chunk-KGK4JJ4L.js.map +7 -0
  130. package/dist/chunk-KTJUDDVQ.js +340 -0
  131. package/dist/chunk-MY5MF4RI.js +55 -0
  132. package/dist/chunk-P4ZGUPGA.js +56 -0
  133. package/dist/chunk-PQDYA3ZQ.js +274 -0
  134. package/dist/chunk-PVJ6IIFA.js +176 -0
  135. package/dist/chunk-QGG5MTIL.js +161 -0
  136. package/dist/chunk-QGG5MTIL.js.map +7 -0
  137. package/dist/chunk-QKVKQD6S.js +184 -0
  138. package/dist/chunk-QNACCFOA.js +48 -0
  139. package/dist/chunk-R6O3FLKW.js +141 -0
  140. package/dist/chunk-RFQQRF6Q.js +54 -0
  141. package/dist/chunk-RG27DDKN.js +267 -0
  142. package/dist/chunk-SB5DR4NL.js +562 -0
  143. package/dist/chunk-SF42FFDZ.js +2799 -0
  144. package/dist/chunk-SORR4JHU.js +14 -0
  145. package/dist/chunk-SZEBQMZW.js +50 -0
  146. package/dist/chunk-THDOHHDN.js +102 -0
  147. package/dist/chunk-TXDCZOPG.js +305 -0
  148. package/dist/chunk-U6GSEOBY.js +54 -0
  149. package/dist/chunk-UBTNM5RO.js +203 -0
  150. package/dist/chunk-UHZDDPUU.js +444 -0
  151. package/dist/chunk-UVES3USV.js +134 -0
  152. package/dist/chunk-UYA5LCAR.js +281 -0
  153. package/dist/chunk-VHEXNBCO.js +379 -0
  154. package/dist/chunk-VJJJFEOU.js +96 -0
  155. package/dist/chunk-VPRP24DY.js +2095 -0
  156. package/dist/chunk-VVWZ4BOI.js +2349 -0
  157. package/dist/chunk-WENNRY5E.js +170 -0
  158. package/dist/chunk-WTLUZOBK.js +103 -0
  159. package/dist/chunk-YBXQBSFY.js +26888 -0
  160. package/dist/chunk-YBXQBSFY.js.map +7 -0
  161. package/dist/chunk-ZLEGHQOO.js +217 -0
  162. package/dist/chunk-ZO7KUAIF.js +5258 -0
  163. package/dist/chunk-ZO7KUAIF.js.map +7 -0
  164. package/dist/chunk-ZX7527EE.js +240 -0
  165. package/dist/cohort-NKRTCX5Z.js +66 -0
  166. package/dist/cohortSunburst-DFJW6WXU.js +402 -0
  167. package/dist/condition-PYFOEVX5.js +323 -0
  168. package/dist/controls-RVNIN66W.js +30 -0
  169. package/dist/controls.config-XVEYYBI4.js +30 -0
  170. package/dist/correlation-MNL4DGSW.js +91 -0
  171. package/dist/customdata.inputui-WFIIJATQ.js +280 -0
  172. package/dist/dataDownload-CMSP5FA4.js +326 -0
  173. package/dist/databrowser.ui-FYZPXXEJ.js +424 -0
  174. package/dist/dictionary-76BXY6WU.js +109 -0
  175. package/dist/dnaMethylation-WTIJVNIU.js +29 -0
  176. package/dist/dnaMethylation.integration.spec-YXQEFLC5.js +194 -0
  177. package/dist/dnaMethylation.unit.spec-22FLJWVB.js +95 -0
  178. package/dist/dofetch-XID2XEJT.js +49 -0
  179. package/dist/e2pca-DD6DA7X3.js +340 -0
  180. package/dist/ep-S4PI4AUJ.js +1247 -0
  181. package/dist/expclust.gdc.spec-BDV4RJO6.js +298 -0
  182. package/dist/facet-EOXEW2LN.js +556 -0
  183. package/dist/gb-AKE7RDPB.js +77 -0
  184. package/dist/geneExpClustering-73ED7HIN.js +240 -0
  185. package/dist/geneExpression-AEJILDKJ.js +29 -0
  186. package/dist/geneExpression-NXDXXKEA.js +309 -0
  187. package/dist/geneExpression.unit.spec-VUJWR4TA.js +150 -0
  188. package/dist/geneORA-7KFQ4PW2.js +269 -0
  189. package/dist/geneRanking-RKJU4PM2.js +544 -0
  190. package/dist/geneVariant-2AGC3ECG.js +32 -0
  191. package/dist/geneVariant-PWMXP6H4.js +289 -0
  192. package/dist/geneVariant-PWMXP6H4.js.map +7 -0
  193. package/dist/geneVariant.integration.spec-UJXGQEZG.js +672 -0
  194. package/dist/genefusion.ui-KEBOA3TK.js +299 -0
  195. package/dist/geneset-BU6V3CB5.js +199 -0
  196. package/dist/genomeBrowser.spec-BGQHJZKH.js +272 -0
  197. package/dist/grin2-OUZN5LOU.js +66 -0
  198. package/dist/grin2-WRGQ7BDG.js +945 -0
  199. package/dist/hierCluster-3ERW47JJ.js +51 -0
  200. package/dist/hierCluster-JAFKBC6C.js +55 -0
  201. package/dist/hierCluster.config-QIJNY5OD.js +32 -0
  202. package/dist/hierCluster.integration.spec-XA4K3UU6.js +479 -0
  203. package/dist/hierCluster.interactivity-RDFPQOOP.js +45 -0
  204. package/dist/hierCluster.renderers-SU5IYI33.js +18 -0
  205. package/dist/imagePlot-J4PHG7V2.js +152 -0
  206. package/dist/importPlot-U67MZZXY.js +8 -0
  207. package/dist/isoformExpression-K5BCDJLL.js +31 -0
  208. package/dist/isoformExpression.unit.spec-35FHEO27.js +233 -0
  209. package/dist/junction-6GGWFF2J.js +32 -0
  210. package/dist/junction.unit.spec-7EJK4HML.js +224 -0
  211. package/dist/junction.unit.spec-7EJK4HML.js.map +7 -0
  212. package/dist/launch.adhoc-ONCSL65L.js +33 -0
  213. package/dist/leftlabel.sample-H5G3U7AA.js +260 -0
  214. package/dist/leftlabel.sample-H5G3U7AA.js.map +7 -0
  215. package/dist/lollipop-BWP4BG7Q.js +162 -0
  216. package/dist/maf-GV6JHWYK.js +451 -0
  217. package/dist/maftimeline-HE7XLJWG.js +583 -0
  218. package/dist/matrix-IAM6SA7K.js +50 -0
  219. package/dist/matrix-QF5MBV5Y.js +55 -0
  220. package/dist/matrix.cells-A5E63KDN.js +25 -0
  221. package/dist/matrix.config-VLRMO7J2.js +33 -0
  222. package/dist/matrix.data-R4FW2PQH.js +22 -0
  223. package/dist/matrix.groups-3UH2KOIY.js +25 -0
  224. package/dist/matrix.integration.spec-57YYARQU.js +3156 -0
  225. package/dist/matrix.interactivity-KNRJSSTQ.js +33 -0
  226. package/dist/matrix.layout-OMNDDITA.js +35 -0
  227. package/dist/matrix.legend-SE7SQTNN.js +19 -0
  228. package/dist/matrix.renderers-6MMW7XMU.js +30 -0
  229. package/dist/matrix.serieses-BEZCQDLJ.js +18 -0
  230. package/dist/matrix.sort-KRNS4VPF.js +25 -0
  231. package/dist/matrix.sort.unit.spec-UXTQPKVV.js +464 -0
  232. package/dist/matrix.sorterUi.unit.spec-LJJ7GCEB.js +334 -0
  233. package/dist/matrix.unit.spec-2OSFPN5T.js +146 -0
  234. package/dist/mavb-CZAZO6AO.js +726 -0
  235. package/dist/mds.samplescatterplot-ENSEO2VX.js +1545 -0
  236. package/dist/mds.survivalplot-QSKD6FSX.js +472 -0
  237. package/dist/multivalue-FZTFADA2.js +79 -0
  238. package/dist/numericDictTermCluster-IFIEM3E4.js +62 -0
  239. package/dist/oncomatrix-GZKCAMSR.js +286 -0
  240. package/dist/oncomatrix.spec-FTLMVGTH.js +439 -0
  241. package/dist/plot.2dvaf-PWO4XOFU.js +368 -0
  242. package/dist/plot.app-JYBZEBHK.js +32 -0
  243. package/dist/plot.barplot-PA2PDVOB.js +93 -0
  244. package/dist/plot.boxplot-IHIEWQWG.js +142 -0
  245. package/dist/plot.brainImaging-WQ2WWEW3.js +51 -0
  246. package/dist/plot.disco-QIURLAHA.js +100 -0
  247. package/dist/plot.ssgq-T27XDC4K.js +130 -0
  248. package/dist/plot.vaf2cov-Y2DJRQED.js +249 -0
  249. package/dist/polar2-3MFBRZ4G.js +228 -0
  250. package/dist/profileForms-J3O7XDHY.js +937 -0
  251. package/dist/profilePlot-C45ERAOZ.js +45 -0
  252. package/dist/proteinView-F2EVY7V5.js +1346 -0
  253. package/dist/proteinView-F2EVY7V5.js.map +7 -0
  254. package/dist/proteomeCohortCompare-2IS7GNJZ.js +866 -0
  255. package/dist/pseudbulk.unit.spec-SY3ATAPK.js +82 -0
  256. package/dist/pseudobulk-N6WNHKAC.js +31 -0
  257. package/dist/qualitative-SKUTWJLA.js +34 -0
  258. package/dist/qualitative-XWN5V3EE.js +241 -0
  259. package/dist/radar2-AHZME5CF.js +323 -0
  260. package/dist/radarFacility2-CVEVC4U5.js +331 -0
  261. package/dist/render-S47OJIIP.js +29 -0
  262. package/dist/report-IPX3PKSW.js +213 -0
  263. package/dist/sampleView-OZQUKPVV.js +39 -0
  264. package/dist/samplelst-7XXJTJ4J.js +114 -0
  265. package/dist/samplematrix-JN35HJBG.js +2188 -0
  266. package/dist/sc-6ZHDNPYP.js +77 -0
  267. package/dist/scatter-4MP6TG67.js +84 -0
  268. package/dist/scatter-TRMY47CC.js +919 -0
  269. package/dist/selectGenomeWithTklst-UDNTL544.js +125 -0
  270. package/dist/singleCellCellType-UXABRPQQ.js +29 -0
  271. package/dist/singleCellCellType.unit.spec-N22EQMZW.js +150 -0
  272. package/dist/singleCellGeneExpression-OBPVP6IU.js +29 -0
  273. package/dist/singleCellGeneExpression.unit.spec-NVCFU5B4.js +144 -0
  274. package/dist/singleCellNumericValue-Z2X3LLRB.js +29 -0
  275. package/dist/singleCellNumericValue.unit.spec-Q7DCQHEE.js +412 -0
  276. package/dist/singleCellPlot-S5N6ZEEA.js +44 -0
  277. package/dist/singlecell-OK2P4AS2.js +1562 -0
  278. package/dist/singlecell-RI6HA3NI.js +77 -0
  279. package/dist/snp-XRM2UAEJ.js +29 -0
  280. package/dist/snp.unit.spec-CDTYGH4K.js +167 -0
  281. package/dist/snplocus-CAUGDRZE.js +200 -0
  282. package/dist/snplst-DP533FL2.js +36 -0
  283. package/dist/spliceevent.a53ss.diagram-XWEN4UMO.js +142 -0
  284. package/dist/spliceevent.exonskip.diagram-HBXQOUT4.js +274 -0
  285. package/dist/spliceevent.noeventdiagram-ORQJ62ON.js +451 -0
  286. package/dist/ssGSEA-PLDZ2556.js +29 -0
  287. package/dist/ssGSEA.unit.spec-ORFJFZJY.js +79 -0
  288. package/dist/stattable-GVRVRO2Y.js +112 -0
  289. package/dist/studyCatalog-K46WJHC6.js +457 -0
  290. package/dist/summarizeCnvGeneexp-7WSJTWKH.js +154 -0
  291. package/dist/summarizeGeneexpSurvival-H3TW7I4I.js +101 -0
  292. package/dist/summarizeMutationCnv-JOYXEMFP.js +155 -0
  293. package/dist/summarizeMutationDiagnosis-GBIGXFY5.js +31 -0
  294. package/dist/summarizeMutationSurvival-3RULG3KW.js +95 -0
  295. package/dist/summary-VKLFTPC2.js +40 -0
  296. package/dist/summary.integration.spec-EK3MPFVD.js +405 -0
  297. package/dist/summaryInput-POI5KQSP.js +238 -0
  298. package/dist/sunburst-BIVYHF5R.js +274 -0
  299. package/dist/sunburst-SYHQOCGQ.js +34 -0
  300. package/dist/survival-CG2GQ4YY.js +1248 -0
  301. package/dist/survival-NEO3E2HS.js +49 -0
  302. package/dist/survival.integration.spec-PPK5KO4V.js +609 -0
  303. package/dist/svgraph-Q2U2HEMF.js +1377 -0
  304. package/dist/svmr-HKFHKGLI.js +3574 -0
  305. package/dist/svmr-HKFHKGLI.js.map +7 -0
  306. package/dist/swimmer-GA4C6YH7.js +993 -0
  307. package/dist/table-DJJIES6L.js +192 -0
  308. package/dist/termCollection-CHVUM5C6.js +247 -0
  309. package/dist/termCollection-R3LTBPJ4.js +29 -0
  310. package/dist/termCollection.unit.spec-B7KAAOFT.js +295 -0
  311. package/dist/termCollectionFractionSelection-A72QM36J.js +38 -0
  312. package/dist/termCollectionFractionSelection.unit.spec-JR77QEIG.js +184 -0
  313. package/dist/tk-GRGKFATN.js +38 -0
  314. package/dist/tk-WV2G2UPY.js +1224 -0
  315. package/dist/tk-WV2G2UPY.js.map +7 -0
  316. package/dist/tp.ui-NATRJ5EN.js +1453 -0
  317. package/dist/tvs.categorical-U2ZYLPSW.js +28 -0
  318. package/dist/tvs.condition-6EBZALR4.js +160 -0
  319. package/dist/tvs.dt-H626ESMQ.js +34 -0
  320. package/dist/tvs.dtcnv.categorical-6S7INDYC.js +31 -0
  321. package/dist/tvs.dtcnv.continuous-MLYNEMHI.js +72 -0
  322. package/dist/tvs.dtfusion-2OLY6X7G.js +31 -0
  323. package/dist/tvs.dtitd-Z6MEL5SH.js +31 -0
  324. package/dist/tvs.dtsnvindel-HPBQSCYV.js +31 -0
  325. package/dist/tvs.dtsv-BRRNX64J.js +31 -0
  326. package/dist/tvs.multivalue-H2G7WKAL.js +84 -0
  327. package/dist/tvs.numeric-OKYGMQSK.js +32 -0
  328. package/dist/tvs.samplelst-46FGACU7.js +95 -0
  329. package/dist/tvs.survival-QL4KC3SQ.js +110 -0
  330. package/dist/tvs.termCollection-22DFW3PF.js +118 -0
  331. package/dist/vocabulary-LJEERZJ6.js +32 -0
  332. package/dist/wsi.direct-3GGVEVQ4.js +11600 -0
  333. package/dist/wsi.direct-3GGVEVQ4.js.map +7 -0
  334. package/package.json +3 -3
  335. package/dist/2dmaf-CSBPMYHO.js +0 -1362
  336. package/dist/AggMatrixInput-2HST4LLJ.js +0 -402
  337. package/dist/AggregateMatrix-UPOAX44L.js +0 -37
  338. package/dist/AppHeader-H5QBVKUS.js +0 -826
  339. package/dist/BoxPlot-JTBQA6PL.js +0 -1247
  340. package/dist/CorrelationVolcano-AWBPVDMT.js +0 -613
  341. package/dist/CorrelationVolcano-AWBPVDMT.js.map +0 -7
  342. package/dist/Cuminc-3BXJVWIH.js +0 -1217
  343. package/dist/DE-237VV46D.js +0 -85
  344. package/dist/DEinput-W443UW5T.js +0 -479
  345. package/dist/DEinput-W443UW5T.js.map +0 -7
  346. package/dist/DM-TIW623IR.js +0 -86
  347. package/dist/DifferentialAnalysis-PHUA2GPK.js +0 -236
  348. package/dist/Disco-WHV52SCI.js +0 -3445
  349. package/dist/Disco.UI-UDUXNCZX.js +0 -239
  350. package/dist/DmrPlot-FZCD6FTX.js +0 -366
  351. package/dist/GB-6UW5LOUV.js +0 -1388
  352. package/dist/GB-6UW5LOUV.js.map +0 -7
  353. package/dist/GSEA-3CNHMK6M.js +0 -870
  354. package/dist/GeneExpInput-ZOVP7BFY.js +0 -38
  355. package/dist/Geomap-JREOIESM.js +0 -80
  356. package/dist/HicApp-RKAMIUXQ.js +0 -2240
  357. package/dist/IDCViewer-KXV4FU3V.js +0 -10810
  358. package/dist/NumBinaryEditor-FNVYUK2J.js +0 -274
  359. package/dist/NumBinaryEditor.unit.spec-PWR23U3J.js +0 -308
  360. package/dist/NumContEditor-YLBJW64K.js +0 -100
  361. package/dist/NumContEditor.unit.spec-6JWBCPFY.js +0 -160
  362. package/dist/NumCustomBinEditor-42AFCXRN.js +0 -29
  363. package/dist/NumCustomBinEditor.unit.spec-AFBTF2CL.js +0 -393
  364. package/dist/NumDiscreteEditor-FJIBZTBP.js +0 -165
  365. package/dist/NumDiscreteEditor.unit.spec-MC4INDCB.js +0 -229
  366. package/dist/NumRegularBinEditor-2WRE72TL.js +0 -29
  367. package/dist/NumRegularBinEditor.unit.spec-L3S6NRCM.js +0 -274
  368. package/dist/NumSplineEditor-TVMVAN7I.js +0 -205
  369. package/dist/NumSplineEditor.unit.spec-GEL36GZZ.js +0 -220
  370. package/dist/NumericDensity-BNFAVOFO.js +0 -29
  371. package/dist/NumericDensity.unit.spec-XBYUFBTQ.js +0 -414
  372. package/dist/NumericHandler-4VFFJNX6.js +0 -30
  373. package/dist/NumericHandler.unit.spec-76T2IVRS.js +0 -225
  374. package/dist/ProteomeInput-M5UIO73Q.js +0 -610
  375. package/dist/Regression-5LB5TLA6.js +0 -1412
  376. package/dist/RunChart2-HIFXOEKZ.js +0 -744
  377. package/dist/SC-SMMW5MJG.js +0 -1290
  378. package/dist/Violin-COAFYZOV.js +0 -1105
  379. package/dist/Volcano-62II76B4.js +0 -2748
  380. package/dist/Volcano-62II76B4.js.map +0 -7
  381. package/dist/Wsi-OYW2L7FR.js +0 -637
  382. package/dist/Wsi-OYW2L7FR.js.map +0 -7
  383. package/dist/aboutSunburst-3FYJGR6B.js +0 -93
  384. package/dist/adSandbox-4VHYWBQC.js +0 -29
  385. package/dist/animatedBubbleChart-QCCIC5IT.js +0 -542
  386. package/dist/app-IF7YPCGZ.js +0 -28
  387. package/dist/app-JZ43TSJP.js +0 -38
  388. package/dist/bam-2VPZGSW3.js +0 -872
  389. package/dist/barchart-VYTWYYGG.js +0 -38
  390. package/dist/barchart2-XC7J4VEO.js +0 -305
  391. package/dist/block-YGQFUK5L.js +0 -6203
  392. package/dist/block-YGQFUK5L.js.map +0 -7
  393. package/dist/block.init-BVP3YZHQ.js +0 -29
  394. package/dist/block.mds.expressionrank-RKDDKY4J.js +0 -350
  395. package/dist/block.mds.geneboxplot-3FZ3EZZ6.js +0 -819
  396. package/dist/block.mds.junction-MCOG37RA.js +0 -1534
  397. package/dist/block.mds.svcnv-IEOR5IQZ.js +0 -6325
  398. package/dist/block.svg-3XHRHYCV.js +0 -155
  399. package/dist/block.tk.aicheck-TMDUGNZX.js +0 -274
  400. package/dist/block.tk.bam-73KW4QEJ.js +0 -1906
  401. package/dist/block.tk.bigwig.ui-E5W6R7DQ.js +0 -202
  402. package/dist/block.tk.hicstraw-BNNE6ZMW.js +0 -814
  403. package/dist/block.tk.junction-DMPRZRNY.js +0 -2353
  404. package/dist/block.tk.junction.textmatrixui-XS2E7MQL.js +0 -190
  405. package/dist/block.tk.ld-QD3XDLO4.js +0 -90
  406. package/dist/block.tk.menu-S6XI732E.js +0 -1050
  407. package/dist/block.tk.pgv-KH4TMR3A.js +0 -934
  408. package/dist/brainImaging-NK4JENN3.js +0 -550
  409. package/dist/brainRegions-YUEMTKYH.js +0 -213
  410. package/dist/bubbleHeatmap-LQCVS4WK.js +0 -374
  411. package/dist/bubbleHeatmap-LQCVS4WK.js.map +0 -7
  412. package/dist/cellTypeBubbleHeatmap-DFRSPWAY.js +0 -274
  413. package/dist/cellTypeBubbleHeatmap-DFRSPWAY.js.map +0 -7
  414. package/dist/chunk-37ZEGLVY.js +0 -267
  415. package/dist/chunk-3RPX4ZVV.js +0 -2334
  416. package/dist/chunk-4LK5YFHF.js +0 -102
  417. package/dist/chunk-4WFG5Y3A.js +0 -2095
  418. package/dist/chunk-4WFXCUT4.js +0 -141
  419. package/dist/chunk-5LY2ASQX.js +0 -305
  420. package/dist/chunk-6V7ITU5F.js +0 -2349
  421. package/dist/chunk-7UK7CU4F.js +0 -398
  422. package/dist/chunk-7UK7CU4F.js.map +0 -7
  423. package/dist/chunk-AAQDXVQT.js +0 -134
  424. package/dist/chunk-ADJBQCFM.js +0 -243
  425. package/dist/chunk-ATIITEOR.js +0 -692
  426. package/dist/chunk-ATIITEOR.js.map +0 -7
  427. package/dist/chunk-BWVJAFEQ.js +0 -35
  428. package/dist/chunk-CDCNBN6G.js +0 -50
  429. package/dist/chunk-CGSBIFFO.js +0 -1339
  430. package/dist/chunk-DPWSIN62.js +0 -26787
  431. package/dist/chunk-DPWSIN62.js.map +0 -7
  432. package/dist/chunk-EARMOT6Q.js +0 -176
  433. package/dist/chunk-ECCXTB5S.js +0 -562
  434. package/dist/chunk-ECTOEM7X.js +0 -96
  435. package/dist/chunk-EKIWZUEO.js +0 -54
  436. package/dist/chunk-FALP6GXG.js +0 -96
  437. package/dist/chunk-FRD6LQF7.js +0 -103
  438. package/dist/chunk-FRPYXYYQ.js +0 -263
  439. package/dist/chunk-FV2GLMSI.js +0 -397
  440. package/dist/chunk-G6SP5IQT.js +0 -626
  441. package/dist/chunk-GZL6YFZJ.js +0 -30
  442. package/dist/chunk-H353EVLK.js +0 -240
  443. package/dist/chunk-HKR5R5YR.js +0 -466
  444. package/dist/chunk-HULTLO4D.js +0 -217
  445. package/dist/chunk-IIN4CG67.js +0 -56
  446. package/dist/chunk-ISWFHYEZ.js +0 -123
  447. package/dist/chunk-JBUTLI3V.js +0 -1253
  448. package/dist/chunk-JCNZJKLK.js +0 -55
  449. package/dist/chunk-JEVDRC64.js +0 -56
  450. package/dist/chunk-KBZAB2H2.js +0 -340
  451. package/dist/chunk-KDKJLITX.js +0 -54
  452. package/dist/chunk-KNFJN6CM.js +0 -299
  453. package/dist/chunk-KSYGLBZ4.js +0 -4389
  454. package/dist/chunk-KSYGLBZ4.js.map +0 -7
  455. package/dist/chunk-KUOXZIH4.js +0 -348
  456. package/dist/chunk-KZ54E2FU.js +0 -184
  457. package/dist/chunk-L7FMBWWK.js +0 -6375
  458. package/dist/chunk-LMONIWPI.js +0 -30
  459. package/dist/chunk-LTY7WOAT.js +0 -281
  460. package/dist/chunk-LYDN734A.js +0 -194
  461. package/dist/chunk-LYMYO6TY.js +0 -652
  462. package/dist/chunk-LYMYO6TY.js.map +0 -7
  463. package/dist/chunk-MRZUZDRA.js +0 -444
  464. package/dist/chunk-NGBI4FST.js +0 -195
  465. package/dist/chunk-OKM4ACTA.js +0 -170
  466. package/dist/chunk-OUDHHMZU.js +0 -159
  467. package/dist/chunk-OUDHHMZU.js.map +0 -7
  468. package/dist/chunk-OYXRYWGU.js +0 -2932
  469. package/dist/chunk-P2HMCEMM.js +0 -5254
  470. package/dist/chunk-P2HMCEMM.js.map +0 -7
  471. package/dist/chunk-P5FHYGJK.js +0 -848
  472. package/dist/chunk-P7QDNXSH.js +0 -276
  473. package/dist/chunk-Q7GK35TB.js +0 -257
  474. package/dist/chunk-QXRM5NMW.js +0 -274
  475. package/dist/chunk-RI3GAHQE.js +0 -255
  476. package/dist/chunk-SH7SL4I5.js +0 -1219
  477. package/dist/chunk-SH7SL4I5.js.map +0 -7
  478. package/dist/chunk-SJHWZZ4M.js +0 -70
  479. package/dist/chunk-SJHWZZ4M.js.map +0 -7
  480. package/dist/chunk-T2W4JHWJ.js +0 -472
  481. package/dist/chunk-T2W4JHWJ.js.map +0 -7
  482. package/dist/chunk-TDBS3UFZ.js +0 -379
  483. package/dist/chunk-THHYPA5K.js +0 -48
  484. package/dist/chunk-U2OB3S3M.js +0 -14
  485. package/dist/chunk-UA2ADBTO.js +0 -42
  486. package/dist/chunk-USGUVW5Q.js +0 -182
  487. package/dist/chunk-UWVDD4C2.js +0 -480
  488. package/dist/chunk-W2SBSEKT.js +0 -550
  489. package/dist/chunk-XAHZYGKW.js +0 -468
  490. package/dist/chunk-XKWLP433.js +0 -328
  491. package/dist/chunk-YWB2QHV2.js +0 -2799
  492. package/dist/chunk-Z6M77JDG.js +0 -2008
  493. package/dist/chunk-Z7RFFJXU.js +0 -516
  494. package/dist/chunk-ZG7EBTHK.js +0 -203
  495. package/dist/chunk-ZJLJHQWM.js +0 -418
  496. package/dist/chunk-ZKU6RST3.js +0 -2685
  497. package/dist/chunk-ZLWEUYPT.js +0 -296
  498. package/dist/cohort-X327AG3O.js +0 -66
  499. package/dist/cohortSunburst-GNWIVDNA.js +0 -402
  500. package/dist/condition-3M4L2HIM.js +0 -323
  501. package/dist/controls-OKNHZJOU.js +0 -30
  502. package/dist/controls.config-FUKM5LEP.js +0 -30
  503. package/dist/correlation-PC4MXCFM.js +0 -91
  504. package/dist/customdata.inputui-HCRTX56R.js +0 -280
  505. package/dist/dataDownload-HJO7UW7S.js +0 -326
  506. package/dist/databrowser.ui-EY3H6B4S.js +0 -424
  507. package/dist/dictionary-L6CTMFY7.js +0 -109
  508. package/dist/dnaMethylation-FEB5GGXK.js +0 -29
  509. package/dist/dnaMethylation.integration.spec-4DC6TJNZ.js +0 -194
  510. package/dist/dnaMethylation.unit.spec-REOHQOBC.js +0 -95
  511. package/dist/dofetch-YFGOKCKV.js +0 -49
  512. package/dist/e2pca-QSAVTCPL.js +0 -340
  513. package/dist/ep-LAFLKVSW.js +0 -1247
  514. package/dist/expclust.gdc.spec-OM4J6WBL.js +0 -298
  515. package/dist/facet-WHTV2VIX.js +0 -556
  516. package/dist/gb-DLXWWBB6.js +0 -77
  517. package/dist/geneExpClustering-KB2MB2VM.js +0 -240
  518. package/dist/geneExpression-3D7PDZ2I.js +0 -309
  519. package/dist/geneExpression-3RSRGYGQ.js +0 -29
  520. package/dist/geneExpression.unit.spec-EINAWLPR.js +0 -150
  521. package/dist/geneORA-J4KVSZT3.js +0 -269
  522. package/dist/geneRanking-HKLJ7CN6.js +0 -544
  523. package/dist/geneVariant-3BRGRFPT.js +0 -32
  524. package/dist/geneVariant-VI5DGDAB.js +0 -289
  525. package/dist/geneVariant-VI5DGDAB.js.map +0 -7
  526. package/dist/geneVariant.integration.spec-3IBX4NNE.js +0 -672
  527. package/dist/genefusion.ui-OESQL7TW.js +0 -299
  528. package/dist/geneset-3BMV3KP4.js +0 -199
  529. package/dist/genomeBrowser.spec-I3WKAITC.js +0 -272
  530. package/dist/grin2-4BBCH3H5.js +0 -66
  531. package/dist/grin2-5L2U32LY.js +0 -945
  532. package/dist/hierCluster-KM56NTN6.js +0 -51
  533. package/dist/hierCluster-XCJF5IQ6.js +0 -55
  534. package/dist/hierCluster.config-E2EYOXX6.js +0 -32
  535. package/dist/hierCluster.integration.spec-IIEJ2YEI.js +0 -479
  536. package/dist/hierCluster.interactivity-AJFEJTGX.js +0 -45
  537. package/dist/hierCluster.renderers-XKI344FM.js +0 -18
  538. package/dist/imagePlot-3B3BXI6I.js +0 -152
  539. package/dist/importPlot-JDVH7Q2Z.js +0 -8
  540. package/dist/isoformExpression-UFHY5LB2.js +0 -31
  541. package/dist/isoformExpression.unit.spec-U6GDCNQR.js +0 -233
  542. package/dist/junction-W2STW5WW.js +0 -32
  543. package/dist/junction.unit.spec-R4DIBFLB.js +0 -178
  544. package/dist/junction.unit.spec-R4DIBFLB.js.map +0 -7
  545. package/dist/launch.adhoc-KN7HFHJH.js +0 -33
  546. package/dist/leftlabel.sample-CK2EK7J6.js +0 -254
  547. package/dist/leftlabel.sample-CK2EK7J6.js.map +0 -7
  548. package/dist/lollipop-EKIGAAK6.js +0 -162
  549. package/dist/maf-MK2MM7J4.js +0 -451
  550. package/dist/maftimeline-7RTMXWFA.js +0 -583
  551. package/dist/matrix-UM2EZODJ.js +0 -50
  552. package/dist/matrix-YBL4FZYJ.js +0 -55
  553. package/dist/matrix.cells-45ZFADK5.js +0 -25
  554. package/dist/matrix.config-QTBIRXKU.js +0 -33
  555. package/dist/matrix.data-WAMOLSKW.js +0 -22
  556. package/dist/matrix.groups-RXFXZABD.js +0 -25
  557. package/dist/matrix.integration.spec-JZDZRVOK.js +0 -3156
  558. package/dist/matrix.interactivity-P4VYGTB2.js +0 -33
  559. package/dist/matrix.layout-WWPRXXHX.js +0 -35
  560. package/dist/matrix.legend-4MCMVVKO.js +0 -19
  561. package/dist/matrix.renderers-JQTUODDS.js +0 -30
  562. package/dist/matrix.serieses-3IDRKSGO.js +0 -18
  563. package/dist/matrix.sort-EAWOB56R.js +0 -25
  564. package/dist/matrix.sort.unit.spec-FOWLULHA.js +0 -464
  565. package/dist/matrix.sorterUi.unit.spec-U5CQDTMX.js +0 -334
  566. package/dist/matrix.unit.spec-VTLD4EOZ.js +0 -146
  567. package/dist/mavb-JIIXJHBK.js +0 -726
  568. package/dist/mds.samplescatterplot-PTWA2V6E.js +0 -1545
  569. package/dist/mds.survivalplot-XVZ66GP5.js +0 -472
  570. package/dist/multivalue-2H7QX7MG.js +0 -79
  571. package/dist/numericDictTermCluster-EHCDRT6J.js +0 -62
  572. package/dist/oncomatrix-RZLZUC32.js +0 -286
  573. package/dist/oncomatrix.spec-Z5UQGTW2.js +0 -439
  574. package/dist/plot.2dvaf-IRBZBJ6B.js +0 -368
  575. package/dist/plot.app-I23IAZ3Z.js +0 -32
  576. package/dist/plot.barplot-PYLRAZB7.js +0 -93
  577. package/dist/plot.boxplot-VBWU7DUG.js +0 -142
  578. package/dist/plot.brainImaging-HDJMEMTK.js +0 -51
  579. package/dist/plot.disco-5BVG3WMT.js +0 -100
  580. package/dist/plot.ssgq-S3BKXJMW.js +0 -130
  581. package/dist/plot.vaf2cov-VD7DU2XR.js +0 -249
  582. package/dist/polar2-PYLEVG7E.js +0 -228
  583. package/dist/profileForms-CI2YYD3Y.js +0 -937
  584. package/dist/profilePlot-UCC4ZVHQ.js +0 -45
  585. package/dist/proteinView-FBY6TK3S.js +0 -1346
  586. package/dist/proteinView-FBY6TK3S.js.map +0 -7
  587. package/dist/proteomeCohortCompare-2VUSLC6I.js +0 -866
  588. package/dist/pseudbulk.unit.spec-VPZWNTIA.js +0 -82
  589. package/dist/pseudobulk-RUXGZ7OY.js +0 -31
  590. package/dist/qualitative-3AVR4GRX.js +0 -34
  591. package/dist/qualitative-5QNBKDOZ.js +0 -241
  592. package/dist/radar2-AOYMS54Y.js +0 -323
  593. package/dist/radarFacility2-PP2MAXIP.js +0 -331
  594. package/dist/render-ASLVKYEX.js +0 -29
  595. package/dist/report-UVYKDMQC.js +0 -213
  596. package/dist/sampleView-6UHR7FSR.js +0 -39
  597. package/dist/samplelst-ABC2CCNN.js +0 -114
  598. package/dist/samplematrix-36UCHZLC.js +0 -2188
  599. package/dist/sc-XLSAM725.js +0 -77
  600. package/dist/scatter-ADOBAOW2.js +0 -84
  601. package/dist/scatter-ZNVLI627.js +0 -919
  602. package/dist/selectGenomeWithTklst-DPDBDYTR.js +0 -125
  603. package/dist/singleCellCellType-STVPYZD4.js +0 -29
  604. package/dist/singleCellCellType.unit.spec-ZLY37AXL.js +0 -150
  605. package/dist/singleCellGeneExpression-PCGLU35S.js +0 -29
  606. package/dist/singleCellGeneExpression.unit.spec-PSLKK362.js +0 -144
  607. package/dist/singleCellNumericValue-SR3SJEOB.js +0 -29
  608. package/dist/singleCellNumericValue.unit.spec-PXVXJ4HJ.js +0 -412
  609. package/dist/singleCellPlot-JXB7M6OH.js +0 -44
  610. package/dist/singlecell-EDSX56QO.js +0 -1562
  611. package/dist/singlecell-PH55NFRX.js +0 -77
  612. package/dist/snp-3VEYBTAQ.js +0 -29
  613. package/dist/snp.unit.spec-V7OB44US.js +0 -167
  614. package/dist/snplocus-HX67RBT5.js +0 -200
  615. package/dist/snplst-H5YXCY33.js +0 -36
  616. package/dist/spliceevent.a53ss.diagram-DBDEEHSK.js +0 -142
  617. package/dist/spliceevent.exonskip.diagram-EYEL6BY6.js +0 -274
  618. package/dist/spliceevent.noeventdiagram-64OEXK7U.js +0 -451
  619. package/dist/ssGSEA-3YWQH6KM.js +0 -29
  620. package/dist/ssGSEA.unit.spec-23V2IXP5.js +0 -79
  621. package/dist/stattable-GPSBCNYC.js +0 -112
  622. package/dist/studyCatalog-W5PATRNY.js +0 -457
  623. package/dist/summarizeCnvGeneexp-YGI23QH5.js +0 -154
  624. package/dist/summarizeGeneexpSurvival-KQ6OLWYR.js +0 -101
  625. package/dist/summarizeMutationCnv-XDHBNEPU.js +0 -155
  626. package/dist/summarizeMutationDiagnosis-VKIJRJ2Q.js +0 -31
  627. package/dist/summarizeMutationSurvival-57YKJGLE.js +0 -95
  628. package/dist/summary-4WQOVIUF.js +0 -40
  629. package/dist/summary.integration.spec-FRNWBU7F.js +0 -405
  630. package/dist/summaryInput-X7DS2YA7.js +0 -238
  631. package/dist/sunburst-3OEAQA3O.js +0 -34
  632. package/dist/sunburst-MSGTXYMM.js +0 -274
  633. package/dist/survival-5KC5CNZU.js +0 -1248
  634. package/dist/survival-QXDS6N46.js +0 -49
  635. package/dist/survival.integration.spec-PKENHLTZ.js +0 -609
  636. package/dist/svgraph-VJLB7BBN.js +0 -1377
  637. package/dist/svmr-6BDEZAS6.js +0 -3834
  638. package/dist/svmr-6BDEZAS6.js.map +0 -7
  639. package/dist/swimmer-R3DN7N36.js +0 -993
  640. package/dist/table-YF5VORU6.js +0 -192
  641. package/dist/termCollection-3KGLZFDW.js +0 -29
  642. package/dist/termCollection-KSHVOPS5.js +0 -247
  643. package/dist/termCollection.unit.spec-HTBDG5PL.js +0 -295
  644. package/dist/termCollectionFractionSelection-MK4NKWUX.js +0 -38
  645. package/dist/termCollectionFractionSelection.unit.spec-AMF32FDN.js +0 -184
  646. package/dist/tk-FDHBAKXQ.js +0 -1198
  647. package/dist/tk-FDHBAKXQ.js.map +0 -7
  648. package/dist/tk-Z54DOECH.js +0 -38
  649. package/dist/tp.ui-M4TZVT53.js +0 -1453
  650. package/dist/tvs.categorical-HY3BWCZR.js +0 -28
  651. package/dist/tvs.condition-Y36TRIX4.js +0 -160
  652. package/dist/tvs.dt-XKVJZP7Y.js +0 -34
  653. package/dist/tvs.dtcnv.categorical-OMRZR4Y7.js +0 -31
  654. package/dist/tvs.dtcnv.continuous-AGYOBI5K.js +0 -72
  655. package/dist/tvs.dtfusion-2JX5Y2IH.js +0 -31
  656. package/dist/tvs.dtitd-SDSLBBWC.js +0 -31
  657. package/dist/tvs.dtsnvindel-LI7K464K.js +0 -31
  658. package/dist/tvs.dtsv-VRCLX7QY.js +0 -31
  659. package/dist/tvs.multivalue-4OTY6J2S.js +0 -84
  660. package/dist/tvs.numeric-CDATYOR2.js +0 -32
  661. package/dist/tvs.samplelst-76JOJG2M.js +0 -95
  662. package/dist/tvs.survival-WTFJOKIZ.js +0 -110
  663. package/dist/tvs.termCollection-QQXAS7PE.js +0 -118
  664. package/dist/vocabulary-6ACAEFTL.js +0 -32
  665. package/dist/wsi.direct-OS32TQRM.js +0 -11515
  666. package/dist/wsi.direct-OS32TQRM.js.map +0 -7
  667. /package/dist/{2dmaf-CSBPMYHO.js.map → 2dmaf-B34EJADN.js.map} +0 -0
  668. /package/dist/{AggMatrixInput-2HST4LLJ.js.map → AggMatrixInput-USCXGZT2.js.map} +0 -0
  669. /package/dist/{AggregateMatrix-UPOAX44L.js.map → AggregateMatrix-VLCSBD65.js.map} +0 -0
  670. /package/dist/{AppHeader-H5QBVKUS.js.map → AppHeader-KE7QVEW5.js.map} +0 -0
  671. /package/dist/{BoxPlot-JTBQA6PL.js.map → BoxPlot-3H5QKYRD.js.map} +0 -0
  672. /package/dist/{Cuminc-3BXJVWIH.js.map → Cuminc-6LPS4LR7.js.map} +0 -0
  673. /package/dist/{DE-237VV46D.js.map → DE-TTKEQYC7.js.map} +0 -0
  674. /package/dist/{DM-TIW623IR.js.map → DM-2TUF6Q3C.js.map} +0 -0
  675. /package/dist/{DifferentialAnalysis-PHUA2GPK.js.map → DifferentialAnalysis-3LP4RAWF.js.map} +0 -0
  676. /package/dist/{Disco-WHV52SCI.js.map → Disco-UP5C7UWX.js.map} +0 -0
  677. /package/dist/{Disco.UI-UDUXNCZX.js.map → Disco.UI-V4I4LOMF.js.map} +0 -0
  678. /package/dist/{DmrPlot-FZCD6FTX.js.map → DmrPlot-TZR2NGIH.js.map} +0 -0
  679. /package/dist/{GSEA-3CNHMK6M.js.map → GSEA-YGKBRJJO.js.map} +0 -0
  680. /package/dist/{GeneExpInput-ZOVP7BFY.js.map → GeneExpInput-L3J2ECVQ.js.map} +0 -0
  681. /package/dist/{Geomap-JREOIESM.js.map → Geomap-4MHU6F57.js.map} +0 -0
  682. /package/dist/{HicApp-RKAMIUXQ.js.map → HicApp-27VGP5F6.js.map} +0 -0
  683. /package/dist/{IDCViewer-KXV4FU3V.js.map → IDCViewer-37GJPPUY.js.map} +0 -0
  684. /package/dist/{NumBinaryEditor-FNVYUK2J.js.map → NumBinaryEditor-SEC2NDGG.js.map} +0 -0
  685. /package/dist/{NumBinaryEditor.unit.spec-PWR23U3J.js.map → NumBinaryEditor.unit.spec-UDYSUC4S.js.map} +0 -0
  686. /package/dist/{NumContEditor-YLBJW64K.js.map → NumContEditor-YPSYWU2A.js.map} +0 -0
  687. /package/dist/{NumContEditor.unit.spec-6JWBCPFY.js.map → NumContEditor.unit.spec-NHFBMHQ5.js.map} +0 -0
  688. /package/dist/{NumCustomBinEditor-42AFCXRN.js.map → NumCustomBinEditor-N7US5Q64.js.map} +0 -0
  689. /package/dist/{NumCustomBinEditor.unit.spec-AFBTF2CL.js.map → NumCustomBinEditor.unit.spec-2BMMUBYU.js.map} +0 -0
  690. /package/dist/{NumDiscreteEditor-FJIBZTBP.js.map → NumDiscreteEditor-BLQ5DEB7.js.map} +0 -0
  691. /package/dist/{NumDiscreteEditor.unit.spec-MC4INDCB.js.map → NumDiscreteEditor.unit.spec-JOFPUFU5.js.map} +0 -0
  692. /package/dist/{NumRegularBinEditor-2WRE72TL.js.map → NumRegularBinEditor-7BFPBUW2.js.map} +0 -0
  693. /package/dist/{NumRegularBinEditor.unit.spec-L3S6NRCM.js.map → NumRegularBinEditor.unit.spec-6GZMNRHA.js.map} +0 -0
  694. /package/dist/{NumSplineEditor-TVMVAN7I.js.map → NumSplineEditor-LO3ZR3T3.js.map} +0 -0
  695. /package/dist/{NumSplineEditor.unit.spec-GEL36GZZ.js.map → NumSplineEditor.unit.spec-MRA3DQSB.js.map} +0 -0
  696. /package/dist/{NumericDensity-BNFAVOFO.js.map → NumericDensity-NUCVJZ74.js.map} +0 -0
  697. /package/dist/{NumericDensity.unit.spec-XBYUFBTQ.js.map → NumericDensity.unit.spec-TZLKWH4U.js.map} +0 -0
  698. /package/dist/{NumericHandler-4VFFJNX6.js.map → NumericHandler-NH533VBN.js.map} +0 -0
  699. /package/dist/{NumericHandler.unit.spec-76T2IVRS.js.map → NumericHandler.unit.spec-V7MNEHML.js.map} +0 -0
  700. /package/dist/{ProteomeInput-M5UIO73Q.js.map → ProteomeInput-FEXWZOA2.js.map} +0 -0
  701. /package/dist/{Regression-5LB5TLA6.js.map → Regression-NJAPUGT7.js.map} +0 -0
  702. /package/dist/{RunChart2-HIFXOEKZ.js.map → RunChart2-QIJ6NUWY.js.map} +0 -0
  703. /package/dist/{SC-SMMW5MJG.js.map → SC-5NWBVOEE.js.map} +0 -0
  704. /package/dist/{Violin-COAFYZOV.js.map → Violin-TMACI43Q.js.map} +0 -0
  705. /package/dist/{aboutSunburst-3FYJGR6B.js.map → aboutSunburst-53YAWTV5.js.map} +0 -0
  706. /package/dist/{adSandbox-4VHYWBQC.js.map → adSandbox-7VHXEI7W.js.map} +0 -0
  707. /package/dist/{animatedBubbleChart-QCCIC5IT.js.map → animatedBubbleChart-CTFGJIRR.js.map} +0 -0
  708. /package/dist/{app-IF7YPCGZ.js.map → app-AQAQAPUN.js.map} +0 -0
  709. /package/dist/{app-JZ43TSJP.js.map → app-SZDIV5U4.js.map} +0 -0
  710. /package/dist/{bam-2VPZGSW3.js.map → bam-3U5R2KNC.js.map} +0 -0
  711. /package/dist/{barchart-VYTWYYGG.js.map → barchart-ZL5VSR7P.js.map} +0 -0
  712. /package/dist/{barchart2-XC7J4VEO.js.map → barchart2-YELP2HI7.js.map} +0 -0
  713. /package/dist/{block.init-BVP3YZHQ.js.map → block.init-IBITFICI.js.map} +0 -0
  714. /package/dist/{block.mds.expressionrank-RKDDKY4J.js.map → block.mds.expressionrank-4L76ILD4.js.map} +0 -0
  715. /package/dist/{block.mds.geneboxplot-3FZ3EZZ6.js.map → block.mds.geneboxplot-XA7DFHPV.js.map} +0 -0
  716. /package/dist/{block.mds.junction-MCOG37RA.js.map → block.mds.junction-GTZD3HEN.js.map} +0 -0
  717. /package/dist/{block.mds.svcnv-IEOR5IQZ.js.map → block.mds.svcnv-HTXQ3LGR.js.map} +0 -0
  718. /package/dist/{block.svg-3XHRHYCV.js.map → block.svg-BM6OMVRF.js.map} +0 -0
  719. /package/dist/{block.tk.aicheck-TMDUGNZX.js.map → block.tk.aicheck-CV53ULEP.js.map} +0 -0
  720. /package/dist/{block.tk.bam-73KW4QEJ.js.map → block.tk.bam-KJYFNJCX.js.map} +0 -0
  721. /package/dist/{block.tk.bigwig.ui-E5W6R7DQ.js.map → block.tk.bigwig.ui-A352D6PT.js.map} +0 -0
  722. /package/dist/{block.tk.hicstraw-BNNE6ZMW.js.map → block.tk.hicstraw-QAFTQESL.js.map} +0 -0
  723. /package/dist/{block.tk.junction-DMPRZRNY.js.map → block.tk.junction-XURB4RWZ.js.map} +0 -0
  724. /package/dist/{block.tk.junction.textmatrixui-XS2E7MQL.js.map → block.tk.junction.textmatrixui-RNRWWNGY.js.map} +0 -0
  725. /package/dist/{block.tk.ld-QD3XDLO4.js.map → block.tk.ld-GWJMVPX3.js.map} +0 -0
  726. /package/dist/{block.tk.menu-S6XI732E.js.map → block.tk.menu-BJZYFMQX.js.map} +0 -0
  727. /package/dist/{block.tk.pgv-KH4TMR3A.js.map → block.tk.pgv-7XNJTHEW.js.map} +0 -0
  728. /package/dist/{brainImaging-NK4JENN3.js.map → brainImaging-37EDZLGN.js.map} +0 -0
  729. /package/dist/{brainRegions-YUEMTKYH.js.map → brainRegions-FEW52QUB.js.map} +0 -0
  730. /package/dist/{chunk-GZL6YFZJ.js.map → chunk-2B3CYHUF.js.map} +0 -0
  731. /package/dist/{chunk-KUOXZIH4.js.map → chunk-2IAELUCN.js.map} +0 -0
  732. /package/dist/{chunk-NGBI4FST.js.map → chunk-2W6U53AG.js.map} +0 -0
  733. /package/dist/{chunk-CGSBIFFO.js.map → chunk-46GCGTHJ.js.map} +0 -0
  734. /package/dist/{chunk-FALP6GXG.js.map → chunk-4ZX5KHD7.js.map} +0 -0
  735. /package/dist/{chunk-HKR5R5YR.js.map → chunk-544DSOC3.js.map} +0 -0
  736. /package/dist/{chunk-LYDN734A.js.map → chunk-6CV3YVJD.js.map} +0 -0
  737. /package/dist/{chunk-P7QDNXSH.js.map → chunk-6UHSGC6G.js.map} +0 -0
  738. /package/dist/{chunk-BWVJAFEQ.js.map → chunk-6ZZGFZV2.js.map} +0 -0
  739. /package/dist/{chunk-L7FMBWWK.js.map → chunk-72FUMSAN.js.map} +0 -0
  740. /package/dist/{chunk-USGUVW5Q.js.map → chunk-7DC4PD5R.js.map} +0 -0
  741. /package/dist/{chunk-ADJBQCFM.js.map → chunk-7ISYXUJ7.js.map} +0 -0
  742. /package/dist/{chunk-LMONIWPI.js.map → chunk-7NVFEGCE.js.map} +0 -0
  743. /package/dist/{chunk-JBUTLI3V.js.map → chunk-7PQ6MLKG.js.map} +0 -0
  744. /package/dist/{chunk-IIN4CG67.js.map → chunk-BGPRKPKH.js.map} +0 -0
  745. /package/dist/{chunk-UWVDD4C2.js.map → chunk-BILGOVOR.js.map} +0 -0
  746. /package/dist/{chunk-Z6M77JDG.js.map → chunk-BKJLRLQQ.js.map} +0 -0
  747. /package/dist/{chunk-ISWFHYEZ.js.map → chunk-C4BKP67I.js.map} +0 -0
  748. /package/dist/{chunk-XKWLP433.js.map → chunk-CQNTAIM3.js.map} +0 -0
  749. /package/dist/{chunk-ZKU6RST3.js.map → chunk-CW3IVTRX.js.map} +0 -0
  750. /package/dist/{chunk-Z7RFFJXU.js.map → chunk-D7KZWYP5.js.map} +0 -0
  751. /package/dist/{chunk-P5FHYGJK.js.map → chunk-DNXOZATD.js.map} +0 -0
  752. /package/dist/{chunk-3RPX4ZVV.js.map → chunk-DXF3YDRG.js.map} +0 -0
  753. /package/dist/{chunk-G6SP5IQT.js.map → chunk-ECBVUPDE.js.map} +0 -0
  754. /package/dist/{chunk-Q7GK35TB.js.map → chunk-ES22B563.js.map} +0 -0
  755. /package/dist/{chunk-UA2ADBTO.js.map → chunk-FA2B6PKK.js.map} +0 -0
  756. /package/dist/{chunk-OYXRYWGU.js.map → chunk-FMHSDIVG.js.map} +0 -0
  757. /package/dist/{chunk-RI3GAHQE.js.map → chunk-G5UFOMON.js.map} +0 -0
  758. /package/dist/{chunk-W2SBSEKT.js.map → chunk-GKA6USKV.js.map} +0 -0
  759. /package/dist/{chunk-KNFJN6CM.js.map → chunk-HGIPR72Y.js.map} +0 -0
  760. /package/dist/{chunk-XAHZYGKW.js.map → chunk-IBUDYN5E.js.map} +0 -0
  761. /package/dist/{chunk-ZJLJHQWM.js.map → chunk-J37WYVIZ.js.map} +0 -0
  762. /package/dist/{chunk-FV2GLMSI.js.map → chunk-JG5CF5Q3.js.map} +0 -0
  763. /package/dist/{chunk-FRPYXYYQ.js.map → chunk-JSQH233D.js.map} +0 -0
  764. /package/dist/{chunk-ZLWEUYPT.js.map → chunk-JWWLSDVM.js.map} +0 -0
  765. /package/dist/{chunk-KBZAB2H2.js.map → chunk-KTJUDDVQ.js.map} +0 -0
  766. /package/dist/{chunk-JCNZJKLK.js.map → chunk-MY5MF4RI.js.map} +0 -0
  767. /package/dist/{chunk-JEVDRC64.js.map → chunk-P4ZGUPGA.js.map} +0 -0
  768. /package/dist/{chunk-QXRM5NMW.js.map → chunk-PQDYA3ZQ.js.map} +0 -0
  769. /package/dist/{chunk-EARMOT6Q.js.map → chunk-PVJ6IIFA.js.map} +0 -0
  770. /package/dist/{chunk-KZ54E2FU.js.map → chunk-QKVKQD6S.js.map} +0 -0
  771. /package/dist/{chunk-THHYPA5K.js.map → chunk-QNACCFOA.js.map} +0 -0
  772. /package/dist/{chunk-4WFXCUT4.js.map → chunk-R6O3FLKW.js.map} +0 -0
  773. /package/dist/{chunk-KDKJLITX.js.map → chunk-RFQQRF6Q.js.map} +0 -0
  774. /package/dist/{chunk-37ZEGLVY.js.map → chunk-RG27DDKN.js.map} +0 -0
  775. /package/dist/{chunk-ECCXTB5S.js.map → chunk-SB5DR4NL.js.map} +0 -0
  776. /package/dist/{chunk-YWB2QHV2.js.map → chunk-SF42FFDZ.js.map} +0 -0
  777. /package/dist/{chunk-U2OB3S3M.js.map → chunk-SORR4JHU.js.map} +0 -0
  778. /package/dist/{chunk-CDCNBN6G.js.map → chunk-SZEBQMZW.js.map} +0 -0
  779. /package/dist/{chunk-4LK5YFHF.js.map → chunk-THDOHHDN.js.map} +0 -0
  780. /package/dist/{chunk-5LY2ASQX.js.map → chunk-TXDCZOPG.js.map} +0 -0
  781. /package/dist/{chunk-EKIWZUEO.js.map → chunk-U6GSEOBY.js.map} +0 -0
  782. /package/dist/{chunk-ZG7EBTHK.js.map → chunk-UBTNM5RO.js.map} +0 -0
  783. /package/dist/{chunk-MRZUZDRA.js.map → chunk-UHZDDPUU.js.map} +0 -0
  784. /package/dist/{chunk-AAQDXVQT.js.map → chunk-UVES3USV.js.map} +0 -0
  785. /package/dist/{chunk-LTY7WOAT.js.map → chunk-UYA5LCAR.js.map} +0 -0
  786. /package/dist/{chunk-TDBS3UFZ.js.map → chunk-VHEXNBCO.js.map} +0 -0
  787. /package/dist/{chunk-ECTOEM7X.js.map → chunk-VJJJFEOU.js.map} +0 -0
  788. /package/dist/{chunk-4WFG5Y3A.js.map → chunk-VPRP24DY.js.map} +0 -0
  789. /package/dist/{chunk-6V7ITU5F.js.map → chunk-VVWZ4BOI.js.map} +0 -0
  790. /package/dist/{chunk-OKM4ACTA.js.map → chunk-WENNRY5E.js.map} +0 -0
  791. /package/dist/{chunk-FRD6LQF7.js.map → chunk-WTLUZOBK.js.map} +0 -0
  792. /package/dist/{chunk-HULTLO4D.js.map → chunk-ZLEGHQOO.js.map} +0 -0
  793. /package/dist/{chunk-H353EVLK.js.map → chunk-ZX7527EE.js.map} +0 -0
  794. /package/dist/{cohort-X327AG3O.js.map → cohort-NKRTCX5Z.js.map} +0 -0
  795. /package/dist/{cohortSunburst-GNWIVDNA.js.map → cohortSunburst-DFJW6WXU.js.map} +0 -0
  796. /package/dist/{condition-3M4L2HIM.js.map → condition-PYFOEVX5.js.map} +0 -0
  797. /package/dist/{controls-OKNHZJOU.js.map → controls-RVNIN66W.js.map} +0 -0
  798. /package/dist/{controls.config-FUKM5LEP.js.map → controls.config-XVEYYBI4.js.map} +0 -0
  799. /package/dist/{correlation-PC4MXCFM.js.map → correlation-MNL4DGSW.js.map} +0 -0
  800. /package/dist/{customdata.inputui-HCRTX56R.js.map → customdata.inputui-WFIIJATQ.js.map} +0 -0
  801. /package/dist/{dataDownload-HJO7UW7S.js.map → dataDownload-CMSP5FA4.js.map} +0 -0
  802. /package/dist/{databrowser.ui-EY3H6B4S.js.map → databrowser.ui-FYZPXXEJ.js.map} +0 -0
  803. /package/dist/{dictionary-L6CTMFY7.js.map → dictionary-76BXY6WU.js.map} +0 -0
  804. /package/dist/{dnaMethylation-FEB5GGXK.js.map → dnaMethylation-WTIJVNIU.js.map} +0 -0
  805. /package/dist/{dnaMethylation.integration.spec-4DC6TJNZ.js.map → dnaMethylation.integration.spec-YXQEFLC5.js.map} +0 -0
  806. /package/dist/{dnaMethylation.unit.spec-REOHQOBC.js.map → dnaMethylation.unit.spec-22FLJWVB.js.map} +0 -0
  807. /package/dist/{dofetch-YFGOKCKV.js.map → dofetch-XID2XEJT.js.map} +0 -0
  808. /package/dist/{e2pca-QSAVTCPL.js.map → e2pca-DD6DA7X3.js.map} +0 -0
  809. /package/dist/{ep-LAFLKVSW.js.map → ep-S4PI4AUJ.js.map} +0 -0
  810. /package/dist/{expclust.gdc.spec-OM4J6WBL.js.map → expclust.gdc.spec-BDV4RJO6.js.map} +0 -0
  811. /package/dist/{facet-WHTV2VIX.js.map → facet-EOXEW2LN.js.map} +0 -0
  812. /package/dist/{gb-DLXWWBB6.js.map → gb-AKE7RDPB.js.map} +0 -0
  813. /package/dist/{geneExpClustering-KB2MB2VM.js.map → geneExpClustering-73ED7HIN.js.map} +0 -0
  814. /package/dist/{geneExpression-3RSRGYGQ.js.map → geneExpression-AEJILDKJ.js.map} +0 -0
  815. /package/dist/{geneExpression-3D7PDZ2I.js.map → geneExpression-NXDXXKEA.js.map} +0 -0
  816. /package/dist/{geneExpression.unit.spec-EINAWLPR.js.map → geneExpression.unit.spec-VUJWR4TA.js.map} +0 -0
  817. /package/dist/{geneORA-J4KVSZT3.js.map → geneORA-7KFQ4PW2.js.map} +0 -0
  818. /package/dist/{geneRanking-HKLJ7CN6.js.map → geneRanking-RKJU4PM2.js.map} +0 -0
  819. /package/dist/{geneVariant-3BRGRFPT.js.map → geneVariant-2AGC3ECG.js.map} +0 -0
  820. /package/dist/{geneVariant.integration.spec-3IBX4NNE.js.map → geneVariant.integration.spec-UJXGQEZG.js.map} +0 -0
  821. /package/dist/{genefusion.ui-OESQL7TW.js.map → genefusion.ui-KEBOA3TK.js.map} +0 -0
  822. /package/dist/{geneset-3BMV3KP4.js.map → geneset-BU6V3CB5.js.map} +0 -0
  823. /package/dist/{genomeBrowser.spec-I3WKAITC.js.map → genomeBrowser.spec-BGQHJZKH.js.map} +0 -0
  824. /package/dist/{grin2-4BBCH3H5.js.map → grin2-OUZN5LOU.js.map} +0 -0
  825. /package/dist/{grin2-5L2U32LY.js.map → grin2-WRGQ7BDG.js.map} +0 -0
  826. /package/dist/{hierCluster-KM56NTN6.js.map → hierCluster-3ERW47JJ.js.map} +0 -0
  827. /package/dist/{hierCluster-XCJF5IQ6.js.map → hierCluster-JAFKBC6C.js.map} +0 -0
  828. /package/dist/{hierCluster.config-E2EYOXX6.js.map → hierCluster.config-QIJNY5OD.js.map} +0 -0
  829. /package/dist/{hierCluster.integration.spec-IIEJ2YEI.js.map → hierCluster.integration.spec-XA4K3UU6.js.map} +0 -0
  830. /package/dist/{hierCluster.interactivity-AJFEJTGX.js.map → hierCluster.interactivity-RDFPQOOP.js.map} +0 -0
  831. /package/dist/{hierCluster.renderers-XKI344FM.js.map → hierCluster.renderers-SU5IYI33.js.map} +0 -0
  832. /package/dist/{imagePlot-3B3BXI6I.js.map → imagePlot-J4PHG7V2.js.map} +0 -0
  833. /package/dist/{importPlot-JDVH7Q2Z.js.map → importPlot-U67MZZXY.js.map} +0 -0
  834. /package/dist/{isoformExpression-UFHY5LB2.js.map → isoformExpression-K5BCDJLL.js.map} +0 -0
  835. /package/dist/{isoformExpression.unit.spec-U6GDCNQR.js.map → isoformExpression.unit.spec-35FHEO27.js.map} +0 -0
  836. /package/dist/{junction-W2STW5WW.js.map → junction-6GGWFF2J.js.map} +0 -0
  837. /package/dist/{launch.adhoc-KN7HFHJH.js.map → launch.adhoc-ONCSL65L.js.map} +0 -0
  838. /package/dist/{lollipop-EKIGAAK6.js.map → lollipop-BWP4BG7Q.js.map} +0 -0
  839. /package/dist/{maf-MK2MM7J4.js.map → maf-GV6JHWYK.js.map} +0 -0
  840. /package/dist/{maftimeline-7RTMXWFA.js.map → maftimeline-HE7XLJWG.js.map} +0 -0
  841. /package/dist/{matrix-UM2EZODJ.js.map → matrix-IAM6SA7K.js.map} +0 -0
  842. /package/dist/{matrix-YBL4FZYJ.js.map → matrix-QF5MBV5Y.js.map} +0 -0
  843. /package/dist/{matrix.cells-45ZFADK5.js.map → matrix.cells-A5E63KDN.js.map} +0 -0
  844. /package/dist/{matrix.config-QTBIRXKU.js.map → matrix.config-VLRMO7J2.js.map} +0 -0
  845. /package/dist/{matrix.data-WAMOLSKW.js.map → matrix.data-R4FW2PQH.js.map} +0 -0
  846. /package/dist/{matrix.groups-RXFXZABD.js.map → matrix.groups-3UH2KOIY.js.map} +0 -0
  847. /package/dist/{matrix.integration.spec-JZDZRVOK.js.map → matrix.integration.spec-57YYARQU.js.map} +0 -0
  848. /package/dist/{matrix.interactivity-P4VYGTB2.js.map → matrix.interactivity-KNRJSSTQ.js.map} +0 -0
  849. /package/dist/{matrix.layout-WWPRXXHX.js.map → matrix.layout-OMNDDITA.js.map} +0 -0
  850. /package/dist/{matrix.legend-4MCMVVKO.js.map → matrix.legend-SE7SQTNN.js.map} +0 -0
  851. /package/dist/{matrix.renderers-JQTUODDS.js.map → matrix.renderers-6MMW7XMU.js.map} +0 -0
  852. /package/dist/{matrix.serieses-3IDRKSGO.js.map → matrix.serieses-BEZCQDLJ.js.map} +0 -0
  853. /package/dist/{matrix.sort-EAWOB56R.js.map → matrix.sort-KRNS4VPF.js.map} +0 -0
  854. /package/dist/{matrix.sort.unit.spec-FOWLULHA.js.map → matrix.sort.unit.spec-UXTQPKVV.js.map} +0 -0
  855. /package/dist/{matrix.sorterUi.unit.spec-U5CQDTMX.js.map → matrix.sorterUi.unit.spec-LJJ7GCEB.js.map} +0 -0
  856. /package/dist/{matrix.unit.spec-VTLD4EOZ.js.map → matrix.unit.spec-2OSFPN5T.js.map} +0 -0
  857. /package/dist/{mavb-JIIXJHBK.js.map → mavb-CZAZO6AO.js.map} +0 -0
  858. /package/dist/{mds.samplescatterplot-PTWA2V6E.js.map → mds.samplescatterplot-ENSEO2VX.js.map} +0 -0
  859. /package/dist/{mds.survivalplot-XVZ66GP5.js.map → mds.survivalplot-QSKD6FSX.js.map} +0 -0
  860. /package/dist/{multivalue-2H7QX7MG.js.map → multivalue-FZTFADA2.js.map} +0 -0
  861. /package/dist/{numericDictTermCluster-EHCDRT6J.js.map → numericDictTermCluster-IFIEM3E4.js.map} +0 -0
  862. /package/dist/{oncomatrix-RZLZUC32.js.map → oncomatrix-GZKCAMSR.js.map} +0 -0
  863. /package/dist/{oncomatrix.spec-Z5UQGTW2.js.map → oncomatrix.spec-FTLMVGTH.js.map} +0 -0
  864. /package/dist/{plot.2dvaf-IRBZBJ6B.js.map → plot.2dvaf-PWO4XOFU.js.map} +0 -0
  865. /package/dist/{plot.app-I23IAZ3Z.js.map → plot.app-JYBZEBHK.js.map} +0 -0
  866. /package/dist/{plot.barplot-PYLRAZB7.js.map → plot.barplot-PA2PDVOB.js.map} +0 -0
  867. /package/dist/{plot.boxplot-VBWU7DUG.js.map → plot.boxplot-IHIEWQWG.js.map} +0 -0
  868. /package/dist/{plot.brainImaging-HDJMEMTK.js.map → plot.brainImaging-WQ2WWEW3.js.map} +0 -0
  869. /package/dist/{plot.disco-5BVG3WMT.js.map → plot.disco-QIURLAHA.js.map} +0 -0
  870. /package/dist/{plot.ssgq-S3BKXJMW.js.map → plot.ssgq-T27XDC4K.js.map} +0 -0
  871. /package/dist/{plot.vaf2cov-VD7DU2XR.js.map → plot.vaf2cov-Y2DJRQED.js.map} +0 -0
  872. /package/dist/{polar2-PYLEVG7E.js.map → polar2-3MFBRZ4G.js.map} +0 -0
  873. /package/dist/{profileForms-CI2YYD3Y.js.map → profileForms-J3O7XDHY.js.map} +0 -0
  874. /package/dist/{profilePlot-UCC4ZVHQ.js.map → profilePlot-C45ERAOZ.js.map} +0 -0
  875. /package/dist/{proteomeCohortCompare-2VUSLC6I.js.map → proteomeCohortCompare-2IS7GNJZ.js.map} +0 -0
  876. /package/dist/{pseudbulk.unit.spec-VPZWNTIA.js.map → pseudbulk.unit.spec-SY3ATAPK.js.map} +0 -0
  877. /package/dist/{pseudobulk-RUXGZ7OY.js.map → pseudobulk-N6WNHKAC.js.map} +0 -0
  878. /package/dist/{qualitative-3AVR4GRX.js.map → qualitative-SKUTWJLA.js.map} +0 -0
  879. /package/dist/{qualitative-5QNBKDOZ.js.map → qualitative-XWN5V3EE.js.map} +0 -0
  880. /package/dist/{radar2-AOYMS54Y.js.map → radar2-AHZME5CF.js.map} +0 -0
  881. /package/dist/{radarFacility2-PP2MAXIP.js.map → radarFacility2-CVEVC4U5.js.map} +0 -0
  882. /package/dist/{render-ASLVKYEX.js.map → render-S47OJIIP.js.map} +0 -0
  883. /package/dist/{report-UVYKDMQC.js.map → report-IPX3PKSW.js.map} +0 -0
  884. /package/dist/{sampleView-6UHR7FSR.js.map → sampleView-OZQUKPVV.js.map} +0 -0
  885. /package/dist/{samplelst-ABC2CCNN.js.map → samplelst-7XXJTJ4J.js.map} +0 -0
  886. /package/dist/{samplematrix-36UCHZLC.js.map → samplematrix-JN35HJBG.js.map} +0 -0
  887. /package/dist/{sc-XLSAM725.js.map → sc-6ZHDNPYP.js.map} +0 -0
  888. /package/dist/{scatter-ADOBAOW2.js.map → scatter-4MP6TG67.js.map} +0 -0
  889. /package/dist/{scatter-ZNVLI627.js.map → scatter-TRMY47CC.js.map} +0 -0
  890. /package/dist/{selectGenomeWithTklst-DPDBDYTR.js.map → selectGenomeWithTklst-UDNTL544.js.map} +0 -0
  891. /package/dist/{singleCellCellType-STVPYZD4.js.map → singleCellCellType-UXABRPQQ.js.map} +0 -0
  892. /package/dist/{singleCellCellType.unit.spec-ZLY37AXL.js.map → singleCellCellType.unit.spec-N22EQMZW.js.map} +0 -0
  893. /package/dist/{singleCellGeneExpression-PCGLU35S.js.map → singleCellGeneExpression-OBPVP6IU.js.map} +0 -0
  894. /package/dist/{singleCellGeneExpression.unit.spec-PSLKK362.js.map → singleCellGeneExpression.unit.spec-NVCFU5B4.js.map} +0 -0
  895. /package/dist/{singleCellNumericValue-SR3SJEOB.js.map → singleCellNumericValue-Z2X3LLRB.js.map} +0 -0
  896. /package/dist/{singleCellNumericValue.unit.spec-PXVXJ4HJ.js.map → singleCellNumericValue.unit.spec-Q7DCQHEE.js.map} +0 -0
  897. /package/dist/{singleCellPlot-JXB7M6OH.js.map → singleCellPlot-S5N6ZEEA.js.map} +0 -0
  898. /package/dist/{singlecell-EDSX56QO.js.map → singlecell-OK2P4AS2.js.map} +0 -0
  899. /package/dist/{singlecell-PH55NFRX.js.map → singlecell-RI6HA3NI.js.map} +0 -0
  900. /package/dist/{snp-3VEYBTAQ.js.map → snp-XRM2UAEJ.js.map} +0 -0
  901. /package/dist/{snp.unit.spec-V7OB44US.js.map → snp.unit.spec-CDTYGH4K.js.map} +0 -0
  902. /package/dist/{snplocus-HX67RBT5.js.map → snplocus-CAUGDRZE.js.map} +0 -0
  903. /package/dist/{snplst-H5YXCY33.js.map → snplst-DP533FL2.js.map} +0 -0
  904. /package/dist/{spliceevent.a53ss.diagram-DBDEEHSK.js.map → spliceevent.a53ss.diagram-XWEN4UMO.js.map} +0 -0
  905. /package/dist/{spliceevent.exonskip.diagram-EYEL6BY6.js.map → spliceevent.exonskip.diagram-HBXQOUT4.js.map} +0 -0
  906. /package/dist/{spliceevent.noeventdiagram-64OEXK7U.js.map → spliceevent.noeventdiagram-ORQJ62ON.js.map} +0 -0
  907. /package/dist/{ssGSEA-3YWQH6KM.js.map → ssGSEA-PLDZ2556.js.map} +0 -0
  908. /package/dist/{ssGSEA.unit.spec-23V2IXP5.js.map → ssGSEA.unit.spec-ORFJFZJY.js.map} +0 -0
  909. /package/dist/{stattable-GPSBCNYC.js.map → stattable-GVRVRO2Y.js.map} +0 -0
  910. /package/dist/{studyCatalog-W5PATRNY.js.map → studyCatalog-K46WJHC6.js.map} +0 -0
  911. /package/dist/{summarizeCnvGeneexp-YGI23QH5.js.map → summarizeCnvGeneexp-7WSJTWKH.js.map} +0 -0
  912. /package/dist/{summarizeGeneexpSurvival-KQ6OLWYR.js.map → summarizeGeneexpSurvival-H3TW7I4I.js.map} +0 -0
  913. /package/dist/{summarizeMutationCnv-XDHBNEPU.js.map → summarizeMutationCnv-JOYXEMFP.js.map} +0 -0
  914. /package/dist/{summarizeMutationDiagnosis-VKIJRJ2Q.js.map → summarizeMutationDiagnosis-GBIGXFY5.js.map} +0 -0
  915. /package/dist/{summarizeMutationSurvival-57YKJGLE.js.map → summarizeMutationSurvival-3RULG3KW.js.map} +0 -0
  916. /package/dist/{summary-4WQOVIUF.js.map → summary-VKLFTPC2.js.map} +0 -0
  917. /package/dist/{summary.integration.spec-FRNWBU7F.js.map → summary.integration.spec-EK3MPFVD.js.map} +0 -0
  918. /package/dist/{summaryInput-X7DS2YA7.js.map → summaryInput-POI5KQSP.js.map} +0 -0
  919. /package/dist/{sunburst-MSGTXYMM.js.map → sunburst-BIVYHF5R.js.map} +0 -0
  920. /package/dist/{sunburst-3OEAQA3O.js.map → sunburst-SYHQOCGQ.js.map} +0 -0
  921. /package/dist/{survival-5KC5CNZU.js.map → survival-CG2GQ4YY.js.map} +0 -0
  922. /package/dist/{survival-QXDS6N46.js.map → survival-NEO3E2HS.js.map} +0 -0
  923. /package/dist/{survival.integration.spec-PKENHLTZ.js.map → survival.integration.spec-PPK5KO4V.js.map} +0 -0
  924. /package/dist/{svgraph-VJLB7BBN.js.map → svgraph-Q2U2HEMF.js.map} +0 -0
  925. /package/dist/{swimmer-R3DN7N36.js.map → swimmer-GA4C6YH7.js.map} +0 -0
  926. /package/dist/{table-YF5VORU6.js.map → table-DJJIES6L.js.map} +0 -0
  927. /package/dist/{termCollection-KSHVOPS5.js.map → termCollection-CHVUM5C6.js.map} +0 -0
  928. /package/dist/{termCollection-3KGLZFDW.js.map → termCollection-R3LTBPJ4.js.map} +0 -0
  929. /package/dist/{termCollection.unit.spec-HTBDG5PL.js.map → termCollection.unit.spec-B7KAAOFT.js.map} +0 -0
  930. /package/dist/{termCollectionFractionSelection-MK4NKWUX.js.map → termCollectionFractionSelection-A72QM36J.js.map} +0 -0
  931. /package/dist/{termCollectionFractionSelection.unit.spec-AMF32FDN.js.map → termCollectionFractionSelection.unit.spec-JR77QEIG.js.map} +0 -0
  932. /package/dist/{tk-Z54DOECH.js.map → tk-GRGKFATN.js.map} +0 -0
  933. /package/dist/{tp.ui-M4TZVT53.js.map → tp.ui-NATRJ5EN.js.map} +0 -0
  934. /package/dist/{tvs.categorical-HY3BWCZR.js.map → tvs.categorical-U2ZYLPSW.js.map} +0 -0
  935. /package/dist/{tvs.condition-Y36TRIX4.js.map → tvs.condition-6EBZALR4.js.map} +0 -0
  936. /package/dist/{tvs.dt-XKVJZP7Y.js.map → tvs.dt-H626ESMQ.js.map} +0 -0
  937. /package/dist/{tvs.dtcnv.categorical-OMRZR4Y7.js.map → tvs.dtcnv.categorical-6S7INDYC.js.map} +0 -0
  938. /package/dist/{tvs.dtcnv.continuous-AGYOBI5K.js.map → tvs.dtcnv.continuous-MLYNEMHI.js.map} +0 -0
  939. /package/dist/{tvs.dtfusion-2JX5Y2IH.js.map → tvs.dtfusion-2OLY6X7G.js.map} +0 -0
  940. /package/dist/{tvs.dtitd-SDSLBBWC.js.map → tvs.dtitd-Z6MEL5SH.js.map} +0 -0
  941. /package/dist/{tvs.dtsnvindel-LI7K464K.js.map → tvs.dtsnvindel-HPBQSCYV.js.map} +0 -0
  942. /package/dist/{tvs.dtsv-VRCLX7QY.js.map → tvs.dtsv-BRRNX64J.js.map} +0 -0
  943. /package/dist/{tvs.multivalue-4OTY6J2S.js.map → tvs.multivalue-H2G7WKAL.js.map} +0 -0
  944. /package/dist/{tvs.numeric-CDATYOR2.js.map → tvs.numeric-OKYGMQSK.js.map} +0 -0
  945. /package/dist/{tvs.samplelst-76JOJG2M.js.map → tvs.samplelst-46FGACU7.js.map} +0 -0
  946. /package/dist/{tvs.survival-WTFJOKIZ.js.map → tvs.survival-QL4KC3SQ.js.map} +0 -0
  947. /package/dist/{tvs.termCollection-QQXAS7PE.js.map → tvs.termCollection-22DFW3PF.js.map} +0 -0
  948. /package/dist/{vocabulary-6ACAEFTL.js.map → vocabulary-LJEERZJ6.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/w2/model/Model.ts", "../plots/w2/viewModel/ViewModel.ts", "../plots/w2/view/View.ts", "../plots/w2/interactions/WsiInteractions.ts", "../plots/w2/Wsi.ts"],
4
+ "sourcesContent": ["import { dofetch3 } from '#common/dofetch' // fetch wrapper for the termdb route\nimport type { WsiBySampleResponse } from '#types' // the route's response shape\n\n/** Server data access for the w2 plot. Both calls hit termdb/wsiBySample,\n which lists straight from the ds.queries.w2 roots (folder/wsiFolder) on disk. */\nexport class Model {\n\tconstructor(readonly genome: string, readonly dslabel: string) {} // both requests address the dataset\n\n\t/** Every sample in the dataset that has at least one PLAIN slide on disk\n\t (a wsiFolder subfolder with a slide), with plain-slide counts. Spatial-only\n\t samples are not listed \u2014 spatial images are viewed through the sc app,\n\t which fetches them per sample via getImages(). */\n\tasync getData(): Promise<WsiBySampleResponse> {\n\t\treturn await dofetch3('termdb/wsiBySample', {\n\t\t\tbody: { genome: this.genome, dslabel: this.dslabel } // no sample_id = list samples\n\t\t})\n\t}\n\n\t/** One sample's images (WsiImage | SpatialImage). imageType restricts the\n\t enumeration to that root ('wsi' = wsiFolder, 'spatial' = folder) so the\n\t other tree is never read; omitted = both kinds. */\n\tasync getImages(sample_id: string, imageType?: 'spatial' | 'wsi'): Promise<WsiBySampleResponse> {\n\t\treturn await dofetch3('termdb/wsiBySample', {\n\t\t\tbody: { genome: this.genome, dslabel: this.dslabel, sample_id, imageType } // sample_id = list its images\n\t\t})\n\t}\n}\n", "import type { WsiSampleSummary } from '#types' // per-sample listing from wsiBySample\nimport type { TableColumn, TableRow } from '#dom' // renderTable's row/column shapes\nimport type Settings from '../Settings.ts' // plot settings (selected sample index)\n\n/** what View.render() consumes */\nexport type ViewData = {\n\t/** sample table skeleton for renderTable() */\n\tcolumns: TableColumn[]\n\t/** one row per sample with images */\n\trows: TableRow[]\n\t/** the sample whose image is shown in the viewer; undefined when none selected */\n\tselectedSample?: WsiSampleSummary\n}\n\n/** Shapes the server data for rendering: one table row per sample that has\n whole-slide images on disk, plus the currently selected sample. */\nexport class ViewModel {\n\tviewData: ViewData // built once in the constructor, read by View\n\n\tconstructor(samples: WsiSampleSummary[], settings: Settings) {\n\t\t// table skeleton + current selection, derived from server data and settings\n\t\tthis.viewData = {\n\t\t\tcolumns: [{ label: 'Sample' }, { label: 'Images' }], // two-column table\n\t\t\trows: samples.map(s => [{ value: s.sampleId }, { value: String(s.count) }]), // one row per sample\n\t\t\tselectedSample: samples[settings.selectedSampleIndex] // undefined when index is -1\n\t\t}\n\t}\n}\n", "import { renderTable, Tabs } from '#dom' // sample table + per-image tab strip\nimport { dofetch3 } from '#common/dofetch' // fetch wrapper for the meta request\nimport 'ol/ol.css' // OpenLayers base styles (zoom buttons etc.)\nimport OlMap from 'ol/Map.js' // the pan/zoom map widget\nimport OlView from 'ol/View.js' // its camera (resolutions + extent)\nimport TileLayer from 'ol/layer/Tile.js' // layer that mosaics the fetched tiles\nimport Zoomify from 'ol/source/Zoomify.js' // tile source matching wsi_tile.py's tier math\nimport type { SpatialImage, WsiImage } from '#types' // the two image kinds wsiBySample returns\nimport type Settings from '../Settings.ts' // burger-menu + selection settings\nimport type { ViewData } from '../viewModel/ViewModel.ts' // shaped sample table data\nimport type { WsiInteractions } from '../interactions/WsiInteractions.ts' // state-edit dispatchers\nimport { addScaleBar } from '../scaleBar' // bottom-right \u00B5m scale bar, every image (spatial or plain)\n\n/** Renders the sample table and, when a sample is selected, tabs for its\n images (one per image folder on disk, shown when there are several) and an\n OpenLayers pan/zoom viewer for the selected image via the openslide-backed\n wsitiles route (no tile server sidecar, no auth). */\nexport class View {\n\tconstructor(\n\t\t/** the plot's table/viewer/error divs (created by Wsi's constructor) */\n\t\treadonly dom: { table: any; viewer: any; error: any },\n\t\t/** shaped sample table rows + current selection */\n\t\treadonly viewData: ViewData,\n\t\t/** the selected sample's images from termdb/wsiBySample */\n\t\treadonly images: (WsiImage | SpatialImage)[],\n\t\t/** burger-menu + selection settings */\n\t\treadonly settings: Settings,\n\t\t/** dispatchers for sample/image selection */\n\t\treadonly interactions: WsiInteractions,\n\t\t/** addresses the dataset in wsitiles queries */\n\t\treadonly vocab: { genome: string; dslabel: string }\n\t) {}\n\n\tasync render() {\n\t\tthis.renderSampleTable() // the pick-a-sample table\n\t\tawait this.renderViewer() // tabs + map for the selected sample/image\n\t}\n\n\tprivate renderSampleTable() {\n\t\tthis.dom.table.selectAll('*').remove() // full re-render on every state change\n\t\trenderTable({\n\t\t\tdiv: this.dom.table, // mount point\n\t\t\tcolumns: this.viewData.columns, // Sample | Images\n\t\t\trows: this.viewData.rows, // one row per sample with images\n\t\t\tsingleMode: true, // radio buttons: one sample viewed at a time\n\t\t\tselectedRows: this.settings.selectedSampleIndex != -1 ? [this.settings.selectedSampleIndex] : [],\n\t\t\tnoButtonCallback: index => this.interactions.selectSample(index), // row click = select sample\n\t\t\tresize: true, // user-resizable table\n\t\t\tstriped: true, // alternating row shading\n\t\t\tmaxHeight: '30vh', // table scrolls; the viewer keeps the space below\n\t\t\theader: { style: { 'text-transform': 'capitalize' } } // 'sample' -> 'Sample'\n\t\t})\n\t}\n\n\tprivate async renderViewer() {\n\t\tconst holder = this.dom.viewer\n\t\tholder.selectAll('*').remove() // discard the previous map/tabs\n\n\t\tconst sample = this.viewData.selectedSample // row picked in the table\n\t\tconst selected = this.settings.selectedImageIndex // tab picked by the user\n\t\tconst image = this.images[selected] ?? this.images[0] // fall back to the first image\n\t\tif (!sample || !image) return // nothing to show\n\n\t\t// a tab per image (labelled by its folder name on disk), mirroring the\n\t\t// singleCell chart's per-sample tabs; always shown so the user sees how\n\t\t// many images the sample has, and picking one re-renders the viewer\n\t\t// fileName is <imageName>/<file> in both roots\n\t\tconst imageName = (f: string) => f.split('/').slice(-2)[0] || f // the image's folder name\n\t\tnew Tabs({\n\t\t\tholder: holder.append('div'), // tab strip sits above the map\n\t\t\ttabsPosition: 'horizontal',\n\t\t\ttabs: this.images.map((img, i) => ({\n\t\t\t\tlabel: imageName(img.fileName), // e.g. 'image1'\n\t\t\t\tactive: i == (this.images[selected] ? selected : 0), // highlight the shown image\n\t\t\t\tcallback: () => this.interactions.selectImage(i) // dispatch -> re-render with image i\n\t\t\t}))\n\t\t}).main() // render the tabs now\n\n\t\t// query params match the wsitiles route (server/src/routes/wsitiles.ts);\n\t\t// the server resolves the file inside the sample's subfolder of the w2\n\t\t// root matching imageType (folder for spatial, wsiFolder for wsi), so\n\t\t// same-named paths in both roots can't select the wrong slide\n\t\tconst params = `wsimage=${encodeURIComponent(image.fileName)}&dslabel=${this.vocab.dslabel}&genome=${\n\t\t\tthis.vocab.genome\n\t\t}&sample_id=${encodeURIComponent(sample.sampleId)}&imageType=${image.type}`\n\n\t\tif (image.type == 'spatial') {\n\t\t\t// spatial (Xenium) image: reuse the direct viewer, which draws the\n\t\t\t// boundary/expression overlays, addressing the slide via the dataset.\n\t\t\t// Burger-menu settings override the dataset's values (null = not edited yet)\n\t\t\tconst s = this.settings\n\t\t\t// genes always load so the hover tooltip reports their counts; the\n\t\t\t// 'Gene expression' checkbox only controls the fill overlay\n\t\t\tconst genes = s.geneExpression ?? image.geneExpression\n\t\t\tconst direct = await import('../wsi.direct') // lazy-load the overlay viewer\n\t\t\tawait direct.init(\n\t\t\t\t{\n\t\t\t\t\tslideQuery: params, // addresses the slide through the dataset (no direct-path gate)\n\t\t\t\t\t// lets the neighborhood-enrichment panel offer a similar-region\n\t\t\t\t\t// search against the dataset's other spatial samples\n\t\t\t\t\tgenome: this.vocab.genome,\n\t\t\t\t\tdslabel: this.vocab.dslabel,\n\t\t\t\t\tsampleId: sample.sampleId,\n\t\t\t\t\tlabel: image.fileName, // display name in the info line\n\t\t\t\t\tspatialData: image.spatialData, // the consolidated h5ad, source of every overlay\n\t\t\t\t\thideCellStrokes: !s.showCellBoundaries, // polygons without their green outlines\n\t\t\t\t\thideNucleusStrokes: !s.showNucleusBoundaries, // skip the nucleus overlay entirely\n\t\t\t\t\tshowCellTypes: s.showCellTypes, // fill cells by their cell_type annotation\n\t\t\t\t\tcellTypeFilter: s.cellTypeFilter ?? undefined, // 'Types shown' dropdowns; []/null = all\n\t\t\t\t\tgeneExpression: s.spatialMode == 'gene_groups' ? undefined : genes, // one overlay per gene\n\t\t\t\t\tgeneGroups: s.spatialMode == 'gene_groups' ? genes : undefined, // or one summed overlay\n\t\t\t\t\thideExpressionFills: !s.showGeneExpression, // checkbox off = hover counts only, no fills\n\t\t\t\t\tannotationLevel: s.annotationLevel ?? image.annotationLevel, // burger overrides dataset\n\t\t\t\t\tcellCountLimit: s.cellCountLimit ?? undefined, // null = wsi.direct.ts's own default\n\t\t\t\t\twidth: '100%', // fill the sandbox\n\t\t\t\t\theight: this.settings.viewerHeight // e.g. 70vh\n\t\t\t\t},\n\t\t\t\tholder\n\t\t\t)\n\t\t\treturn\n\t\t}\n\n\t\t// slide dimensions are needed before tiles can be requested\n\t\tconst meta = await dofetch3(`wsitiles/meta?${params}`)\n\t\tif (!meta || meta.error || meta.status === 'error') {\n\t\t\t// surface the failure in the plot's error div; no viewer without geometry\n\t\t\tthis.dom.error.text(`Error loading ${image.fileName}: ${meta?.error || 'failed to load slide metadata'}`)\n\t\t\treturn\n\t\t}\n\n\t\tconst [w, h] = meta.slide_dimensions // level-0 slide size in px\n\t\t// server origin for tile URLs ('' when same-origin); trailing slashes trimmed\n\t\tlet host = sessionStorage.getItem('hostURL') || (window as any).testHost || ''\n\t\twhile (host.endsWith('/')) host = host.slice(0, -1)\n\n\t\tconst source = new Zoomify({\n\t\t\t// {z}/{x}/{y} hit wsitiles/tile; the unused {TileGroup} token only satisfies\n\t\t\t// OpenLayers' requirement that a {TileGroup}/{tileIndex} placeholder be present.\n\t\t\t// v=<slide mtime>: tiles are served immutable, so a regenerated slide must\n\t\t\t// change the URL to bust the browser cache\n\t\t\turl: `${host}/wsitiles/tile/{z}/{x}/{y}?${params}&v=${meta.version || 0}&_={TileGroup}`,\n\t\t\tsize: [w, h], // OL derives the tier count from this, same math as wsi_tile.py\n\t\t\tcrossOrigin: 'anonymous', // tiles come from the API origin, not the page's\n\t\t\tzDirection: -1 // pick the sharper tier when between two zoom levels\n\t\t})\n\t\tconst grid = source.getTileGrid()! // the z/x/y grid OL computed from [w, h]\n\t\tconst extent = grid.getExtent() // slide bounds in map coordinates\n\n\t\tconst mapDiv = holder.append('div').style('width', '100%').style('height', this.settings.viewerHeight)\n\t\tconst map = new OlMap({\n\t\t\ttarget: mapDiv.node(), // mount the map into the plot's viewer div\n\t\t\tlayers: [new TileLayer({ source })], // OL fetches+mosaics tiles as the user pans/zooms\n\t\t\tview: new OlView({ resolutions: grid.getResolutions(), extent }) // camera locked to the pyramid\n\t\t})\n\t\tmap.getView().fit(extent) // start fully zoomed out, whole slide visible\n\t\taddScaleBar(map, Array.isArray(meta.mpp) && meta.mpp.length === 2 ? meta.mpp[0] : undefined)\n\t}\n}\n", "/** User interactions for the wsi plot; each one dispatches a plot_edit so the\n change flows through app state and main() re-renders. */\nexport class WsiInteractions {\n\tconstructor(readonly app: any, readonly id: string) {} // rx app + this plot's id, for dispatching\n\n\t/** a sample row was picked in the table; image selection resets to its first image */\n\tselectSample(index: number) {\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: { settings: { wsi: { selectedSampleIndex: index, selectedImageIndex: 0 } } }\n\t\t})\n\t}\n\n\t/** an image tab was picked for the selected sample */\n\tselectImage(index: number) {\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: { settings: { wsi: { selectedImageIndex: index } } }\n\t\t})\n\t}\n}\n", "import { getCompInit, copyMerge, type RxComponent, type ComponentApi } from '#rx' // rx plumbing\nimport { PlotBase } from '../PlotBase' // shared mass-plot base class\nimport type { BasePlotConfig, MassState } from '#mass/types/mass' // app state shapes\nimport type { SpatialImage } from '#types' // spatial image entry from wsiBySample\nimport { dofetch2, dofetch3 } from '#common/dofetch' // gene-name/cell-type discovery requests\nimport { controlsInit } from '../controls' // burger-menu builder\nimport type Settings from './Settings.ts' // this plot's settings shape\nimport { Model } from './model/Model' // server data access\nimport { ViewModel } from './viewModel/ViewModel' // shapes data for rendering\nimport { View } from './view/View' // renders table + viewer\nimport { WsiInteractions } from './interactions/WsiInteractions' // state-edit dispatchers\n\n/** Mass plot listing every sample in the dataset that has plain whole-slide\n images, with a pan/zoom viewer for the selected sample's slide. Spatial\n images are excluded here \u2014 they are viewed through the single-cell app's\n Spatial button, which spawns this same plot in fixed-sample mode\n (config.sample.sID). Architecture mirrors plots/corrVolcano:\n Model (server data) -> ViewModel (view data) -> View (render), with\n interactions dispatching state edits. */\ntype WsiDom = {\n\tdiv: any // the plot's outer container\n\tcontrols: any // burger menu holder (spatial only)\n\terror: any // inline error banner\n\ttable: any // pick-a-sample table\n\tviewer: any // tabs + map\n\theader?: any // sandbox header, renamed per image kind\n}\n\nclass Wsi extends PlotBase implements RxComponent {\n\tstatic type = 'wsi' // rx chart type name\n\n\ttype: string // instance copy of the chart type\n\tdom: WsiDom // the divs built in the constructor\n\tinteractions?: WsiInteractions // created in init()\n\t/** showCellTypes of the previous render, to tell which exclusive fill\n\t checkbox was just toggled when both end up checked */\n\tprivate prevShowCellTypes = false\n\n\tconstructor(opts: any, api: ComponentApi) {\n\t\tsuper(opts, api) // PlotBase wires app/id/opts\n\t\tthis.type = Wsi.type // rx uses this to route state updates\n\t\tconst holder = opts.holder.classed('sjpp-wsi-main', true) // sandbox mount point\n\t\tconst div = holder.append('div').style('padding', '5px') // the plot's own container\n\t\tthis.dom = {\n\t\t\tdiv,\n\t\t\t// burger menu for spatial viewer settings; hidden until a spatial image is shown\n\t\t\tcontrols: div.append('div').attr('id', 'sjpp-wsi-controls').style('display', 'none'),\n\t\t\terror: div.append('div').attr('id', 'sjpp-wsi-error').style('opacity', 0.75), // inline errors\n\t\t\ttable: div.append('div').attr('id', 'sjpp-wsi-table'), // sample table mount\n\t\t\tviewer: div.append('div').attr('id', 'sjpp-wsi-viewer') // tabs + map mount\n\t\t}\n\t\tif (opts.header)\n\t\t\t// sandbox title; main() renames it to SPATIAL VIEWER for spatial images\n\t\t\tthis.dom.header = opts.header.text('WHOLE SLIDE IMAGES').style('font-size', '0.7em').style('opacity', 0.6)\n\t}\n\n\t/** the app-state slice this plot reacts to */\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: BasePlotConfig) => p.id === this.id) // this plot's config\n\t\tif (!config) {\n\t\t\t// the plot was registered wrong; fail loudly\n\t\t\tthrow `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t}\n\t\treturn {\n\t\t\tvocab: appState.vocab, // genome + dslabel for server requests\n\t\t\tconfig // the plot's own settings\n\t\t}\n\t}\n\n\t/** rx lifecycle: one-time setup before the first main() */\n\tasync init() {\n\t\tthis.interactions = new WsiInteractions(this.app, this.id) // dispatchers used by the view\n\t}\n\n\t/** rx lifecycle: re-renders the whole plot on every relevant state change */\n\tasync main() {\n\t\tconst config = structuredClone(this.state.config) // this plot's slice of app state\n\t\tif (config.childType != this.type && config.chartType != this.type) return // not for this plot\n\t\tif (!this.interactions) throw 'Interactions not initialized [wsi main()]'\n\n\t\tconst settings: Settings = config.settings.wsi // selection + overlay settings\n\n\t\t// the cell-type and gene-expression FILLS are mutually exclusive\n\t\t// (unreadable on top of each other): when both boxes end up checked, the\n\t\t// one just toggled wins and the other is unchecked. Unchecked 'Gene\n\t\t// expression' only hides the fills \u2014 hover counts stay (View.ts).\n\t\tif (settings.showCellTypes && settings.showGeneExpression) {\n\t\t\t// whichever was already on before this edit is the one to turn off\n\t\t\tconst off = this.prevShowCellTypes ? 'showCellTypes' : 'showGeneExpression'\n\t\t\tthis.app.dispatch({ type: 'plot_edit', id: this.id, config: { settings: { wsi: { [off]: false } } } })\n\t\t\treturn\n\t\t}\n\t\tthis.prevShowCellTypes = settings.showCellTypes\n\n\t\tthis.dom.error.text('') // clear any previous error banner\n\n\t\t// fixed sample: one already-chosen sample, no sample picker. Which image\n\t\t// kind it shows is the spawner's choice: the sc app's Spatial button\n\t\t// spawns the default 'spatial'; the omnisearch \"Whole Slide Images\"\n\t\t// action passes config.imageType 'wsi' for the sample's plain slides\n\t\tconst fixedSample = config.sample?.sID\n\t\tconst fixedKind: 'spatial' | 'wsi' = config.imageType == 'wsi' ? 'wsi' : 'spatial'\n\t\tconst model = new Model(this.state.vocab.genome, this.state.vocab.dslabel)\n\t\tlet samples\n\t\tif (fixedSample) {\n\t\t\tthis.dom.table.style('display', 'none') // the sample is already chosen\n\t\t\tsettings.selectedSampleIndex = 0 // fixed mode always selects its sole pinned sample\n\t\t\tsamples = [{ sampleId: fixedSample, count: 1 }] // count unused (table hidden)\n\t\t} else {\n\t\t\t// which samples have whole-slide images on disk?\n\t\t\tconst data = await model.getData() // termdb/wsiBySample sample listing\n\t\t\tif (!data || data.error || !data.samples?.length) {\n\t\t\t\tthis.dom.table.selectAll('*').remove() // nothing to show; clear the ui\n\t\t\t\tthis.dom.viewer.selectAll('*').remove() // and any stale viewer\n\t\t\t\tthis.dom.error.style('padding', '20px').text(data?.error || 'No samples with whole-slide images.') // say why\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsamples = data.samples\n\t\t}\n\n\t\t// shape for rendering\n\t\tconst viewModel = new ViewModel(samples, settings)\n\n\t\t// the selected sample's images from termdb/wsiBySample; on launch the\n\t\t// first sample is selected by default so its first image displays\n\t\tconst selectedSample = viewModel.viewData.selectedSample\n\t\t// spatial images are viewed only through the sc app's Spatial button\n\t\t// (fixed-sample mode); the standalone plot shows plain slides only.\n\t\t// The route enumerates just the requested root, so neither mode's\n\t\t// cost or failures depend on the other tree\n\t\tconst imageData = selectedSample\n\t\t\t? await model.getImages(selectedSample.sampleId, fixedSample ? fixedKind : 'wsi')\n\t\t\t: undefined\n\t\tif (imageData?.error) throw new Error(imageData.error)\n\t\tconst images = imageData?.images ?? []\n\t\tif (fixedSample && !images.length) {\n\t\t\tthis.dom.viewer.selectAll('*').remove()\n\t\t\tthis.dom.error\n\t\t\t\t.style('padding', '20px')\n\t\t\t\t.text(`No ${fixedKind == 'spatial' ? 'spatial image' : 'whole-slide image'} for sample ${fixedSample}.`)\n\t\t\treturn\n\t\t}\n\n\t\t// spatial image: rename the sandbox header and show the burger menu\n\t\tconst image = images[settings.selectedImageIndex] ?? images[0] // the image being viewed\n\t\tconst isSpatial = image?.type == 'spatial' // drives header text + burger visibility\n\t\tthis.dom.header?.text(isSpatial ? 'SPATIAL VIEWER' : 'WHOLE SLIDE IMAGES')\n\t\tif (isSpatial) {\n\t\t\tconst spImage = image as SpatialImage // narrowed: spatial images carry companion paths\n\t\t\t// gene names discovered from the expression h5 itself, so the burger\n\t\t\t// menu offers/validates genes that actually exist in the data\n\t\t\tconst genes = await this.fetchGeneNames(spImage, selectedSample!.sampleId)\n\t\t\t// cell types discovered by the meta request, for the type-filter dropdowns\n\t\t\tconst cellTypes = await this.fetchCellTypes(spImage, selectedSample!.sampleId)\n\t\t\t// switching images can leave cellTypeFilter naming types the new\n\t\t\t// image lacks: the dropdowns would show 'All types' while the viewer\n\t\t\t// filters every cell out. Persist the cleaned selection instead\n\t\t\t// (only when discovery succeeded \u2014 [] may just mean the request failed)\n\t\t\tif (settings.cellTypeFilter?.length && cellTypes.length) {\n\t\t\t\tconst cleaned = settings.cellTypeFilter.filter(t => cellTypes.includes(t)) // types this image has\n\t\t\t\tif (cleaned.length != settings.cellTypeFilter.length) {\n\t\t\t\t\tthis.app.dispatch({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: { settings: { wsi: { cellTypeFilter: cleaned } } }\n\t\t\t\t\t})\n\t\t\t\t\treturn // re-renders with the reconciled filter\n\t\t\t\t}\n\t\t\t}\n\t\t\t// seed the burger menu's gene/level fields once (null = never edited)\n\t\t\t// so the shown values match the overlay and can be edited or cleared;\n\t\t\t// re-renders once with the seeded state\n\t\t\tif (settings.geneExpression == null) {\n\t\t\t\t// the dataset's configured default is only an override: keep the\n\t\t\t\t// genes of it that exist in the file, else fall back to the file's\n\t\t\t\t// first gene, so the default is never a gene the data lacks\n\t\t\t\tconst configured = (spImage.geneExpression || '') // dataset's comma-separated default genes\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map(s => s.trim())\n\t\t\t\t\t.filter(g => genes.includes(g)) // keep only genes the h5 actually has\n\t\t\t\tthis.app.dispatch({\n\t\t\t\t\t// one-time seeding edit; triggers a re-render with the seeded values\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\twsi: {\n\t\t\t\t\t\t\t\tgeneExpression: configured.join(',') || genes[0] || '',\n\t\t\t\t\t\t\t\tannotationLevel: settings.annotationLevel ?? spImage.annotationLevel,\n\t\t\t\t\t\t\t\t// dataset default (w2.cellTypes); the burger checkbox overrides\n\t\t\t\t\t\t\t\t// after. Fills are mutually exclusive, so cell types on means\n\t\t\t\t\t\t\t\t// expression fills off (hover counts stay either way)\n\t\t\t\t\t\t\t\tshowCellTypes: spImage.cellTypes ?? settings.showCellTypes,\n\t\t\t\t\t\t\t\tshowGeneExpression: spImage.cellTypes ? false : settings.showGeneExpression\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\treturn\n\t\t\t}\n\t\t\tif (!this.components.controls) await this.setControls() // build the burger menu once\n\t\t\tthis.addGeneDatalist() // autocomplete on the Genes field from the discovered names\n\t\t}\n\t\tthis.dom.controls.style('display', isSpatial ? 'inline-block' : 'none') // burger only for spatial\n\n\t\tawait new View(this.dom, viewModel.viewData, images, settings, this.interactions, this.state.vocab).render() // draw\n\t}\n\n\t/** gene names available in the current image's expression h5, cached per file */\n\tprivate geneNames: string[] = []\n\tprivate geneNamesFile?: string // the h5 the cache was built from\n\n\t/** Discover the genes present in the image's cell_feature_matrix h5 via\n\t wsitiles/genenames (same slide-scoped access checks as genecounts).\n\t Returns [] when the image has no expression file or the request fails. */\n\tprivate async fetchGeneNames(image: SpatialImage, sampleId: string): Promise<string[]> {\n\t\tconst src = image.spatialData // the consolidated h5ad holds the expression matrix\n\t\tif (!src) return [] // no expression source, nothing to discover\n\t\tif (this.geneNamesFile == src) return this.geneNames // cached\n\t\tconst v = this.state.vocab // genome + dslabel for the request\n\t\tconst params = // standard wsitiles slide addressing + the expression file\n\t\t\t`wsimage=${encodeURIComponent(image.fileName)}&dslabel=${v.dslabel}&genome=${v.genome}` +\n\t\t\t`&sample_id=${encodeURIComponent(sampleId)}&imageType=spatial&file=${encodeURIComponent(src)}`\n\t\tconst r = await dofetch3(`wsitiles/genenames?${params}`).catch(() => null)\n\t\tthis.geneNames = Array.isArray(r?.genes) ? r.genes : [] // failure = no discovery, config still works\n\t\tthis.geneNamesFile = src // remember which file the cache is for\n\t\treturn this.geneNames\n\t}\n\n\t/** cell types available in the current image's annotations CSV, cached per file */\n\tprivate cellTypeNames: string[] = []\n\tprivate cellTypesFile?: string // the CSV the cache was built from\n\n\t/** Discover the distinct cell_type values of the image's per-cell\n\t annotations CSV via the meta request (?cellAnnotations= makes\n\t wsitiles/meta scan it). Returns [] when the image has no annotations\n\t file or the request fails. */\n\tprivate async fetchCellTypes(image: SpatialImage, sampleId: string): Promise<string[]> {\n\t\tconst src = image.spatialData // the consolidated h5ad holds the annotations\n\t\tif (!src) {\n\t\t\t// this image has no annotations: clear the cache so stale types\n\t\t\t// from a previously shown image don't populate the dropdowns\n\t\t\tthis.cellTypeNames = []\n\t\t\tthis.cellTypesFile = undefined\n\t\t\treturn this.cellTypeNames\n\t\t}\n\t\tif (this.cellTypesFile == src) return this.cellTypeNames // cached\n\t\tconst v = this.state.vocab // genome + dslabel for the request\n\t\tconst base = // standard wsitiles slide addressing, shared by both requests below\n\t\t\t`wsimage=${encodeURIComponent(image.fileName)}&dslabel=${v.dslabel}&genome=${v.genome}` +\n\t\t\t`&sample_id=${encodeURIComponent(sampleId)}&imageType=spatial`\n\t\tconst r = await dofetch3(`wsitiles/meta?${base}&cellAnnotations=${encodeURIComponent(src)}`).catch(() => null)\n\t\tlet names: string[] | undefined = Array.isArray(r?.cellTypes) ? r.cellTypes : undefined // [] is a valid answer\n\t\t// meta.cellTypes is optional: the h5ad scan can fail even when the file\n\t\t// has types. Only when it is missing/invalid, recover the vocabulary from\n\t\t// the annotations route, the same fallback the viewer uses (wsi.direct.ts).\n\t\t// dofetch2 (uncached): dofetch3 would cache a transient JSON error and\n\t\t// every later render would replay it.\n\t\tif (!names) {\n\t\t\tconst a = await dofetch2(\n\t\t\t\t`wsitiles/annotations?${base}&file=${encodeURIComponent(src)}&types=1&v=${r?.spatialVersion || 0}`\n\t\t\t).catch(() => null)\n\t\t\tif (Array.isArray(a?.cellTypes)) names = a.cellTypes\n\t\t}\n\t\tif (!names) {\n\t\t\tthis.cellTypeNames = []\n\t\t\tthis.cellTypesFile = undefined\n\t\t\treturn [] // both failed: no dropdowns this time, but don't memoize so a later render retries\n\t\t}\n\t\tthis.cellTypeNames = names\n\t\tthis.cellTypesFile = src // remember which file the cache is for\n\t\treturn this.cellTypeNames\n\t}\n\n\t/** Attach the discovered gene names to the Genes text input as a native\n\t datalist, so typing autocompletes to genes that exist in the data.\n\t (Autocomplete applies to the whole field, i.e. the first gene of a\n\t comma-separated list \u2014 later genes are typed without suggestions.) */\n\tprivate addGeneDatalist() {\n\t\tif (!this.geneNames.length) return // nothing discovered, no suggestions\n\t\tconst input = this.dom.controls.select('input[type=text]').node() as HTMLInputElement | null // the Genes field\n\t\tif (!input) return // controls not rendered (shouldn't happen)\n\t\tconst id = `sjpp-wsi-genes-${this.id}` // per-plot-instance datalist id\n\t\tdocument.getElementById(id)?.remove() // rebuild when the image (and its genes) changed\n\t\tconst dl = document.createElement('datalist') // native autocomplete source\n\t\tdl.id = id // the id the input's list attribute points to\n\t\tfor (const g of this.geneNames) {\n\t\t\tconst opt = document.createElement('option') // one suggestion per gene\n\t\t\topt.value = g // the text autocomplete inserts\n\t\t\tdl.appendChild(opt)\n\t\t}\n\t\tinput.after(dl) // datalist must be in the DOM to work\n\t\tinput.setAttribute('list', id) // link the input to its suggestions\n\t}\n\n\t/** Burger menu with the spatial overlay settings; fields are pre-seeded\n\t with defaults discovered from the data by main() before this runs. */\n\tprivate async setControls() {\n\t\tthis.components.controls = await controlsInit({\n\t\t\tapp: this.app, // rx app the inputs dispatch through\n\t\t\tid: this.id, // this plot's id in app state\n\t\t\tholder: this.dom.controls, // the burger-menu div\n\t\t\tinputs: [\n\t\t\t\t{\n\t\t\t\t\t// checkbox: toggle the blue nucleus outlines\n\t\t\t\t\tlabel: 'Nucleus boundaries',\n\t\t\t\t\ttitle: 'Show or hide the nucleus segmentation overlay',\n\t\t\t\t\ttype: 'checkbox',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'showNucleusBoundaries',\n\t\t\t\t\tboxLabel: 'show'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// checkbox: toggle the green cell outlines\n\t\t\t\t\tlabel: 'Cell boundaries',\n\t\t\t\t\ttitle: 'Show or hide the cell segmentation overlay',\n\t\t\t\t\ttype: 'checkbox',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'showCellBoundaries',\n\t\t\t\t\tboxLabel: 'show'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// checkbox: toggle the categorical cell-type fills (mutually\n\t\t\t\t\t// exclusive with the gene expression fills, enforced in main())\n\t\t\t\t\tlabel: 'Cell types',\n\t\t\t\t\ttitle: 'Fill cells by their cell_type from the annotations CSV (when present)',\n\t\t\t\t\ttype: 'checkbox',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'showCellTypes',\n\t\t\t\t\tboxLabel: 'show'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// chained dropdowns: one per selected type, plus an add-dropdown of\n\t\t\t\t\t// the remaining types that appears once the previous is picked.\n\t\t\t\t\t// No selection = all types. Hidden when the overlay is off or the\n\t\t\t\t\t// image's CSV has no cell_type column.\n\t\t\t\t\tlabel: 'Types shown',\n\t\t\t\t\ttitle: 'Fill only the selected cell types; no selection = all types',\n\t\t\t\t\ttype: 'custom',\n\t\t\t\t\tsettingsKey: 'cellTypeFilter',\n\t\t\t\t\tinit: (self: any) => ({\n\t\t\t\t\t\tmain: (plot: any) => {\n\t\t\t\t\t\t\tconst td = self.dom.inputTd // the row's input cell\n\t\t\t\t\t\t\ttd.selectAll('*').remove() // rebuild the dropdowns on every state change\n\t\t\t\t\t\t\tconst types = this.cellTypeNames // discovered by fetchCellTypes for the shown image\n\t\t\t\t\t\t\tconst s: Settings = plot.settings.wsi // current settings from state\n\t\t\t\t\t\t\tif (!s.showCellTypes || !types.length) {\n\t\t\t\t\t\t\t\tself.dom.row.style('display', 'none') // overlay off / no annotation column\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tself.dom.row.style('display', 'table-row') // show the row\n\t\t\t\t\t\t\t// defensive only: main() reconciles cellTypeFilter to this\n\t\t\t\t\t\t\t// image's types before rendering, so this filter is a no-op\n\t\t\t\t\t\t\t// unless a render sneaks in mid-reconciliation\n\t\t\t\t\t\t\tconst selected = (s.cellTypeFilter || []).filter(t => types.includes(t))\n\t\t\t\t\t\t\tconst dispatch = (list: string[]) =>\n\t\t\t\t\t\t\t\t// write the new selection back to state; re-render redraws the\n\t\t\t\t\t\t\t\t// dropdowns. Stored as a LIST: type names are free text and may\n\t\t\t\t\t\t\t\t// contain commas, so a joined string would corrupt them\n\t\t\t\t\t\t\t\tthis.app.dispatch({\n\t\t\t\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\t\t\t\tconfig: { settings: { wsi: { cellTypeFilter: list } } }\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tconst addSelect = () =>\n\t\t\t\t\t\t\t\ttd\n\t\t\t\t\t\t\t\t\t.append('select')\n\t\t\t\t\t\t\t\t\t.attr('aria-label', 'Cell type filter')\n\t\t\t\t\t\t\t\t\t.style('display', 'block')\n\t\t\t\t\t\t\t\t\t.style('margin', '2px 0')\n\t\t\t\t\t\t\t\t\t.style('max-width', '180px')\n\t\t\t\t\t\t\t// one dropdown per chosen type: change replaces it, blank removes it\n\t\t\t\t\t\t\tfor (const [i, t] of selected.entries()) {\n\t\t\t\t\t\t\t\tconst sel = addSelect().on('change', function (this: HTMLSelectElement) {\n\t\t\t\t\t\t\t\t\tconst next = selected.slice() // edit a copy of the selection\n\t\t\t\t\t\t\t\t\tif (this.value) next[i] = this.value // picked a type = replace this slot\n\t\t\t\t\t\t\t\t\telse next.splice(i, 1) // picked the blank option = remove this slot\n\t\t\t\t\t\t\t\t\tdispatch(next)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tsel.append('option').attr('value', '').text('\u00D7 remove') // the blank remove option\n\t\t\t\t\t\t\t\t// offer this slot's own type plus every type no other slot holds\n\t\t\t\t\t\t\t\tfor (const ty of types)\n\t\t\t\t\t\t\t\t\tif (ty == t || !selected.includes(ty))\n\t\t\t\t\t\t\t\t\t\tsel\n\t\t\t\t\t\t\t\t\t\t\t.append('option')\n\t\t\t\t\t\t\t\t\t\t\t.attr('value', ty)\n\t\t\t\t\t\t\t\t\t\t\t.property('selected', ty == t) // current choice pre-selected\n\t\t\t\t\t\t\t\t\t\t\t.text(ty)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// the next dropdown, offering the not-yet-selected types\n\t\t\t\t\t\t\tconst remaining = types.filter(ty => !selected.includes(ty))\n\t\t\t\t\t\t\tif (remaining.length) {\n\t\t\t\t\t\t\t\tconst add = addSelect().on('change', function (this: HTMLSelectElement) {\n\t\t\t\t\t\t\t\t\tif (this.value) dispatch([...selected, this.value]) // append the picked type\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tadd\n\t\t\t\t\t\t\t\t\t.append('option')\n\t\t\t\t\t\t\t\t\t.attr('value', '') // placeholder, selecting it changes nothing\n\t\t\t\t\t\t\t\t\t.text(selected.length ? 'Add type\u2026' : 'All types')\n\t\t\t\t\t\t\t\tfor (const ty of remaining) add.append('option').attr('value', ty).text(ty) // the candidates\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\t{\n\t\t\t\t\t// checkbox: toggle the expression FILLS only \u2014 hover counts stay\n\t\t\t\t\t// either way (View.ts always loads the genes)\n\t\t\t\t\tlabel: 'Gene expression',\n\t\t\t\t\ttitle: 'Show or hide the gene expression overlay',\n\t\t\t\t\ttype: 'checkbox',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'showGeneExpression',\n\t\t\t\t\tboxLabel: 'show'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// text field: which genes to load, with datalist autocomplete\n\t\t\t\t\tlabel: 'Genes',\n\t\t\t\t\ttitle: 'Comma-separated gene names to overlay',\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'geneExpression',\n\t\t\t\t\tplaceholder: 'gene1,gene2,\u2026'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// radio: per-gene overlays vs one summed gene-group overlay\n\t\t\t\t\tlabel: 'Overlay mode',\n\t\t\t\t\ttitle: 'Color each gene separately (gene_expression), or sum all genes into one overlay (gene_groups)',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'spatialMode',\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{ label: 'Per gene', value: 'gene_expression' },\n\t\t\t\t\t\t{ label: 'Gene group', value: 'gene_groups' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t// number: how many zoomed-in levels show the boundary strokes\n\t\t\t\t\tlabel: 'Annotation level',\n\t\t\t\t\ttitle: 'Show boundaries only within the n most zoomed-in levels; 0 = always show',\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tchartType: 'wsi',\n\t\t\t\t\tsettingsKey: 'annotationLevel',\n\t\t\t\t\tmin: 0,\n\t\t\t\t\tstep: 1\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t}\n}\n\nexport const wsiInit = getCompInit(Wsi) // the rx component factory\nexport const componentInit = wsiInit // alias the plot loader expects\n\n/** the plot's default settings, with optional per-dataset overrides */\nexport function getDefaultWsiSettings(overrides = {}): Settings {\n\tconst defaults: Settings = {\n\t\tselectedSampleIndex: 0, // first sample selected on launch\n\t\tselectedImageIndex: 0, // the sample's first image displayed by default\n\t\tviewerHeight: '70vh', // map height in the sandbox\n\t\t// spatial overlay settings; null = fall back to the dataset's values\n\t\tshowCellBoundaries: true, // green cell outlines on\n\t\tshowNucleusBoundaries: true, // blue nucleus outlines on\n\t\tshowGeneExpression: true, // expression fills on (seeding may flip this off)\n\t\tshowCellTypes: false, // opt-in: fills all annotated cells, visually heavy\n\t\tcellTypeFilter: null, // null/[] = fill every annotated type\n\n\t\tgeneExpression: null, // null = seed from the data on first spatial render\n\t\tannotationLevel: null, // null = dataset default\n\t\tcellCountLimit: null, // null = wsi.direct.ts's own default\n\t\tspatialMode: 'gene_expression' // per-gene overlays by default\n\t}\n\treturn Object.assign(defaults, overrides) // dataset overrides win\n}\n\n/** initial plot config when the chart is launched */\nexport async function getPlotConfig(opts: any, _app: any) {\n\tconst config = {\n\t\tchartType: 'wsi', // routes state updates to this component\n\t\tsettings: {\n\t\t\twsi: getDefaultWsiSettings(opts.overrides) // defaults + dataset overrides\n\t\t},\n\t\thidePlotFilter: true // the mass filter UI doesn't apply to slides\n\t}\n\treturn copyMerge(config, opts) // launch-time opts win over defaults\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,93 @@
1
+ import {
2
+ SunburstChart,
3
+ getPlotConfig
4
+ } from "./chunk-KGK4JJ4L.js";
5
+ import {
6
+ LINK,
7
+ TEXT_DARK
8
+ } from "./chunk-JI632MAR.js";
9
+ import "./chunk-YBXQBSFY.js";
10
+ import "./chunk-HJ6L54YS.js";
11
+ import "./chunk-QKVKQD6S.js";
12
+ import "./chunk-CNFTQSNE.js";
13
+ import "./chunk-DOC3HBOV.js";
14
+ import "./chunk-TVJOSRCH.js";
15
+ import "./chunk-3CIL7KH7.js";
16
+ import "./chunk-T4XPCSLP.js";
17
+ import "./chunk-VVWZ4BOI.js";
18
+ import "./chunk-W5J3LTYS.js";
19
+ import "./chunk-2IAELUCN.js";
20
+ import "./chunk-CFYWQJ7F.js";
21
+ import "./chunk-2N345NXD.js";
22
+ import "./chunk-HBNB5TRH.js";
23
+ import "./chunk-PF4DSFDR.js";
24
+ import "./chunk-4OLM3KSB.js";
25
+ import "./chunk-PWYMHUXY.js";
26
+ import "./chunk-TLT4YIG3.js";
27
+ import "./chunk-5R63Q5KH.js";
28
+ import "./chunk-I6Y4O3RR.js";
29
+ import "./chunk-Q5RDQNIT.js";
30
+ import "./chunk-HS5PO5ZQ.js";
31
+
32
+ // plots/sunburst/aboutSunburst.ts
33
+ var AboutSunburst = class {
34
+ constructor(holder, app, onOpen) {
35
+ this.app = app;
36
+ this.onOpen = onOpen;
37
+ const div = holder.append("div").attr("data-testid", "sjpp-about-sunburst").style("white-space", "normal");
38
+ this.chart = new SunburstChart({
39
+ holder: div,
40
+ app,
41
+ // the Rings box and the stats close to the chart, 12px from it on both sides
42
+ gap: 6,
43
+ // a plot of the selection is shown in the plots tab, as the About tab's launch items are
44
+ beforeLaunch: () => app.dispatch({ type: "tab_set", activeTab: 1 })
45
+ });
46
+ }
47
+ /** draw the counts of the app state's filter, unless they are shown already */
48
+ async update(appState) {
49
+ const termfilter = appState.termfilter;
50
+ const sig = JSON.stringify(termfilter);
51
+ if (sig == this.filterShown) return;
52
+ this.filterShown = sig;
53
+ this.ringsLoaded ??= getPlotConfig({}, this.app).then((config) => {
54
+ this.twLst = config.twLst;
55
+ this.renderRings();
56
+ return config.twLst;
57
+ });
58
+ let twLst;
59
+ try {
60
+ twLst = await this.ringsLoaded;
61
+ } catch (e) {
62
+ this.ringsLoaded = void 0;
63
+ this.filterShown = void 0;
64
+ this.chart.dom.errdiv.style("display", "").text(e?.message || String(e));
65
+ return;
66
+ }
67
+ const drawn = await this.chart.update({
68
+ genome: appState.vocab.genome,
69
+ dslabel: appState.vocab.dslabel,
70
+ twLst,
71
+ termfilter,
72
+ colors: appState.termdbConfig?.sunburst?.colors
73
+ });
74
+ if (drawn === false && this.filterShown == sig) this.filterShown = void 0;
75
+ }
76
+ /** one line per ring with its term name, then the link to the full chart */
77
+ renderRings() {
78
+ for (const [i, tw] of this.twLst.entries()) {
79
+ this.chart.ringLine(i).append("div").style("font-size", ".9em").style("color", TEXT_DARK).style("overflow", "hidden").style("white-space", "nowrap").style("text-overflow", "ellipsis").attr("title", tw.term.name).text(tw.term.name);
80
+ }
81
+ this.chart.dom.rings.body.append("div").attr("data-testid", "sjpp-about-sunburst-open").attr("role", "button").style("margin-top", "10px").style("font-size", ".85em").style("color", LINK).style("cursor", "pointer").text("Edit rings in the full chart \u203A").attr("tabindex", 0).on("click", this.onOpen).on("keydown", (event) => {
82
+ if (event.key == "Enter" || event.key == " ") {
83
+ event.preventDefault();
84
+ this.onOpen();
85
+ }
86
+ });
87
+ this.chart.markShownRings();
88
+ }
89
+ };
90
+ export {
91
+ AboutSunburst
92
+ };
93
+ //# sourceMappingURL=aboutSunburst-53YAWTV5.js.map
@@ -0,0 +1,29 @@
1
+ import {
2
+ openSandbox
3
+ } from "./chunk-SF42FFDZ.js";
4
+ import "./chunk-YBXQBSFY.js";
5
+ import "./chunk-HJ6L54YS.js";
6
+ import "./chunk-QKVKQD6S.js";
7
+ import "./chunk-CNFTQSNE.js";
8
+ import "./chunk-DOC3HBOV.js";
9
+ import "./chunk-TVJOSRCH.js";
10
+ import "./chunk-3CIL7KH7.js";
11
+ import "./chunk-T4XPCSLP.js";
12
+ import "./chunk-VVWZ4BOI.js";
13
+ import "./chunk-W5J3LTYS.js";
14
+ import "./chunk-2IAELUCN.js";
15
+ import "./chunk-CFYWQJ7F.js";
16
+ import "./chunk-2N345NXD.js";
17
+ import "./chunk-HBNB5TRH.js";
18
+ import "./chunk-PF4DSFDR.js";
19
+ import "./chunk-4OLM3KSB.js";
20
+ import "./chunk-PWYMHUXY.js";
21
+ import "./chunk-TLT4YIG3.js";
22
+ import "./chunk-5R63Q5KH.js";
23
+ import "./chunk-I6Y4O3RR.js";
24
+ import "./chunk-Q5RDQNIT.js";
25
+ import "./chunk-HS5PO5ZQ.js";
26
+ export {
27
+ openSandbox
28
+ };
29
+ //# sourceMappingURL=adSandbox-7VHXEI7W.js.map