@sjcrh/proteinpaint-client 2.208.0 → 2.210.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 (940) hide show
  1. package/dist/2dmaf-43QBND66.js +1367 -0
  2. package/dist/AggMatrixInput-X7NGFUHH.js +406 -0
  3. package/dist/AggregateMatrix-M4HRI4PX.js +41 -0
  4. package/dist/AppHeader-QBRQN6PM.js +830 -0
  5. package/dist/BoxPlot-V6SPSEQ2.js +1211 -0
  6. package/dist/CorrelationVolcano-UFPCYC77.js +617 -0
  7. package/dist/Cuminc-KXGXGLKZ.js +1219 -0
  8. package/dist/DE-K2YXHOOW.js +89 -0
  9. package/dist/DEinput-O6LBFAAH.js +501 -0
  10. package/dist/DEinput-O6LBFAAH.js.map +7 -0
  11. package/dist/DM-C7VN3RWB.js +90 -0
  12. package/dist/DifferentialAnalysis-A2BU4WB3.js +239 -0
  13. package/dist/DifferentialAnalysis-A2BU4WB3.js.map +7 -0
  14. package/dist/Disco-HECQVKXG.js +3389 -0
  15. package/dist/Disco.UI-XF2GEKRW.js +243 -0
  16. package/dist/DmrPlot-TVXVXOHL.js +362 -0
  17. package/dist/DmrPlot-TVXVXOHL.js.map +7 -0
  18. package/dist/GB-66ZGJ5ST.js +1428 -0
  19. package/dist/GB-66ZGJ5ST.js.map +7 -0
  20. package/dist/GSEA-Z4YPI4HY.js +875 -0
  21. package/dist/GSEA-Z4YPI4HY.js.map +7 -0
  22. package/dist/GeneExpInput-VBIZZV27.js +42 -0
  23. package/dist/Geomap-UIIOLRFA.js +84 -0
  24. package/dist/HicApp-73ESVNBA.js +2245 -0
  25. package/dist/IDCViewer-RBYN5A4P.js +10812 -0
  26. package/dist/NumBinaryEditor-DJLSNSLE.js +279 -0
  27. package/dist/NumBinaryEditor.unit.spec-LCJHL3XM.js +312 -0
  28. package/dist/NumContEditor-SVLDJ2ML.js +105 -0
  29. package/dist/NumContEditor.unit.spec-JDMSK4HY.js +164 -0
  30. package/dist/NumCustomBinEditor-BI63AH3R.js +33 -0
  31. package/dist/NumCustomBinEditor.unit.spec-5433G7Y2.js +397 -0
  32. package/dist/NumDiscreteEditor-LEZTGXAV.js +170 -0
  33. package/dist/NumDiscreteEditor.unit.spec-5OEORHJ4.js +233 -0
  34. package/dist/NumRegularBinEditor-EXWHIWPM.js +33 -0
  35. package/dist/NumRegularBinEditor.unit.spec-QY25Z2TT.js +278 -0
  36. package/dist/NumSplineEditor-XPPMYYAD.js +210 -0
  37. package/dist/NumSplineEditor.unit.spec-GOGBKWMN.js +224 -0
  38. package/dist/NumericDensity-RKY2IQ72.js +33 -0
  39. package/dist/NumericDensity.unit.spec-5ZM6ICXM.js +418 -0
  40. package/dist/NumericHandler-FXF3M5M3.js +34 -0
  41. package/dist/NumericHandler.unit.spec-M2OQTBJX.js +214 -0
  42. package/dist/ProteomeInput-TMZ3THRL.js +388 -0
  43. package/dist/Regression-GQGAATHG.js +1416 -0
  44. package/dist/Regression-GQGAATHG.js.map +7 -0
  45. package/dist/RunChart2-7GNDWRKC.js +749 -0
  46. package/dist/SC-R2I2EMHA.js +1183 -0
  47. package/dist/SC-R2I2EMHA.js.map +7 -0
  48. package/dist/Violin-GKKEB55L.js +1081 -0
  49. package/dist/Violin-GKKEB55L.js.map +7 -0
  50. package/dist/Volcano-HRG5EFWH.js +2443 -0
  51. package/dist/Volcano-HRG5EFWH.js.map +7 -0
  52. package/dist/Wsi-OHRCGYYD.js +629 -0
  53. package/dist/adSandbox-H56B25WR.js +33 -0
  54. package/dist/animatedBubbleChart-7SXFHU4J.js +547 -0
  55. package/dist/app-22JCSULA.js +42 -0
  56. package/dist/app-RGZJB6LN.js +32 -0
  57. package/dist/app.js +14 -14
  58. package/dist/bam-HA65TRGX.js +876 -0
  59. package/dist/barchart-6XO75OMA.js +42 -0
  60. package/dist/barchart2-6E5BIRHD.js +309 -0
  61. package/dist/block-43KNTXZ5.js +6250 -0
  62. package/dist/block-43KNTXZ5.js.map +7 -0
  63. package/dist/block.init-TPU5QIPA.js +33 -0
  64. package/dist/block.mds.expressionrank-QZDRFXCH.js +354 -0
  65. package/dist/block.mds.geneboxplot-64QVBK5Q.js +823 -0
  66. package/dist/block.mds.junction-I4J6VXNT.js +1539 -0
  67. package/dist/block.mds.svcnv-GDQMSQFF.js +6796 -0
  68. package/dist/block.svg-2MZFT5QP.js +159 -0
  69. package/dist/block.tk.aicheck-2MKHF6LX.js +278 -0
  70. package/dist/block.tk.ase-CLYGKFTS.js +360 -0
  71. package/dist/block.tk.bam-XTR4QA5Z.js +1901 -0
  72. package/dist/block.tk.bedgraphdot-A2P2CXRU.js +379 -0
  73. package/dist/block.tk.bigwig.ui-YZH6JXEO.js +206 -0
  74. package/dist/block.tk.hicstraw-QBK5VWGU.js +818 -0
  75. package/dist/block.tk.junction-5DEVBA7G.js +2358 -0
  76. package/dist/block.tk.junction.textmatrixui-7TTQMO6W.js +194 -0
  77. package/dist/block.tk.ld-PRIVUPKL.js +94 -0
  78. package/dist/block.tk.menu-JGBRFSS3.js +1024 -0
  79. package/dist/block.tk.pgv-KQJCJMVD.js +938 -0
  80. package/dist/brainImaging-4SLVJ2HV.js +555 -0
  81. package/dist/brainRegions-BDIVM2SG.js +217 -0
  82. package/dist/bubbleHeatmap-ORKFJNEQ.js +378 -0
  83. package/dist/cellTypeBubbleHeatmap-VOHLI4P7.js +278 -0
  84. package/dist/chunk-26N3B2JO.js +194 -0
  85. package/dist/chunk-2HNJF5ZI.js +240 -0
  86. package/dist/chunk-2LNGHIOC.js +281 -0
  87. package/dist/chunk-3FEP6B5T.js +119 -0
  88. package/dist/chunk-3SCQGODD.js +274 -0
  89. package/dist/chunk-47STLK7K.js +518 -0
  90. package/dist/chunk-4G73CMUL.js +38 -0
  91. package/dist/chunk-4XYQG3XU.js +276 -0
  92. package/dist/chunk-53XNEXR6.js +34 -0
  93. package/dist/chunk-55FABQU2.js +24955 -0
  94. package/dist/chunk-55FABQU2.js.map +7 -0
  95. package/dist/chunk-5UB5H7A3.js +123 -0
  96. package/dist/chunk-6FYQYTV6.js +141 -0
  97. package/dist/chunk-6RP6CR4Q.js +182 -0
  98. package/dist/chunk-A5D37SIL.js +103 -0
  99. package/dist/chunk-ADRFQ5AL.js +102 -0
  100. package/dist/chunk-AUZ63NKJ.js +70 -0
  101. package/dist/chunk-B563DUNQ.js +217 -0
  102. package/dist/chunk-B563DUNQ.js.map +7 -0
  103. package/dist/chunk-BK6UDL7F.js +339 -0
  104. package/dist/chunk-CFZ2ZW3E.js +382 -0
  105. package/dist/chunk-CKOU3P27.js +26 -0
  106. package/dist/chunk-CT4IG5IR.js +339 -0
  107. package/dist/chunk-D6UBH77N.js +1731 -0
  108. package/dist/chunk-DS4GLMJL.js +170 -0
  109. package/dist/chunk-DSBRHWZ7.js +2853 -0
  110. package/dist/chunk-DX35MKPR.js +272 -0
  111. package/dist/chunk-EDZJ3VNZ.js +54 -0
  112. package/dist/chunk-F47A4CVK.js +1339 -0
  113. package/dist/chunk-FSLOUTTK.js +37 -0
  114. package/dist/chunk-FSLOUTTK.js.map +7 -0
  115. package/dist/chunk-G4H34RNK.js +446 -0
  116. package/dist/chunk-G7RUMSHL.js +263 -0
  117. package/dist/chunk-GXFS25SK.js +480 -0
  118. package/dist/chunk-I25LKYC4.js +379 -0
  119. package/dist/chunk-I25LKYC4.js.map +7 -0
  120. package/dist/chunk-IAB2PRIH.js +396 -0
  121. package/dist/chunk-IAB2PRIH.js.map +7 -0
  122. package/dist/chunk-IBT6WRY6.js +692 -0
  123. package/dist/chunk-IJ7AIDEO.js +302 -0
  124. package/dist/chunk-JBFVJHZN.js +1233 -0
  125. package/dist/chunk-JDVBUIEU.js +56 -0
  126. package/dist/chunk-JTANDSTD.js +54 -0
  127. package/dist/chunk-K7RW5TPU.js +4375 -0
  128. package/dist/chunk-KIAMLQ7S.js +424 -0
  129. package/dist/chunk-KIAMLQ7S.js.map +7 -0
  130. package/dist/chunk-LBCIXRI2.js +49 -0
  131. package/dist/chunk-MNXL2UV5.js +98 -0
  132. package/dist/chunk-NDOKW2HJ.js +31 -0
  133. package/dist/chunk-NI5CVN43.js +203 -0
  134. package/dist/chunk-NOBXDQDU.js +397 -0
  135. package/dist/chunk-NQNVLZOA.js +6360 -0
  136. package/dist/chunk-NULFGPE3.js +158 -0
  137. package/dist/chunk-OUIXGM3K.js +299 -0
  138. package/dist/chunk-P4LGA36F.js +14 -0
  139. package/dist/chunk-PU5FQWAY.js +55 -0
  140. package/dist/chunk-PZ2OSHBF.js +56 -0
  141. package/dist/chunk-QBNDPW7O.js +5071 -0
  142. package/dist/chunk-QD75Q5LM.js +59 -0
  143. package/dist/chunk-R5PKBL7V.js +80 -0
  144. package/dist/chunk-R5PKBL7V.js.map +7 -0
  145. package/dist/chunk-RFSOP75Z.js +1988 -0
  146. package/dist/chunk-RFSOP75Z.js.map +7 -0
  147. package/dist/chunk-RI65SIN3.js +626 -0
  148. package/dist/chunk-RPGLLO4T.js +2676 -0
  149. package/dist/chunk-RXNZK7MF.js +134 -0
  150. package/dist/chunk-S2ICJ3RZ.js +550 -0
  151. package/dist/chunk-SB36AUG7.js +1614 -0
  152. package/dist/chunk-SB36AUG7.js.map +7 -0
  153. package/dist/chunk-SFHG6H2D.js +129 -0
  154. package/dist/chunk-TQ2DVEQO.js +783 -0
  155. package/dist/chunk-U6BJ4ZNU.js +176 -0
  156. package/dist/chunk-UXD6G6G4.js +178 -0
  157. package/dist/chunk-VA57CUC7.js +2146 -0
  158. package/dist/chunk-VA57CUC7.js.map +7 -0
  159. package/dist/chunk-VH5W6ODW.js +294 -0
  160. package/dist/chunk-VROF55EH.js +255 -0
  161. package/dist/chunk-VROF55EH.js.map +7 -0
  162. package/dist/chunk-VWA7BYSV.js +217 -0
  163. package/dist/chunk-X37BRSGS.js +102 -0
  164. package/dist/chunk-XQYDXA47.js +562 -0
  165. package/dist/chunk-XXPUZVS4.js +237 -0
  166. package/dist/chunk-XXPUZVS4.js.map +7 -0
  167. package/dist/chunk-Y7V5AIUH.js +468 -0
  168. package/dist/chunk-YBNIOGUE.js +243 -0
  169. package/dist/chunk-YEYMNF7V.js +2327 -0
  170. package/dist/chunk-YJ74QATP.js +1278 -0
  171. package/dist/chunk-ZG2HCGAO.js +2784 -0
  172. package/dist/chunk-ZZN7ZD7J.js +54 -0
  173. package/dist/cohort-6OCRQQ2S.js +70 -0
  174. package/dist/condition-SZVXH3VU.js +327 -0
  175. package/dist/controls-MO6ZND76.js +34 -0
  176. package/dist/controls.config-P4MSTGL4.js +34 -0
  177. package/dist/correlation-NMI3CM3T.js +95 -0
  178. package/dist/customdata.inputui-VCHSCA65.js +284 -0
  179. package/dist/dataDownload-VQHOTQ5D.js +329 -0
  180. package/dist/databrowser.ui-ZFOCAG32.js +425 -0
  181. package/dist/dictionary-S5YCFUWH.js +113 -0
  182. package/dist/dnaMethylation-MQZLZRGT.js +33 -0
  183. package/dist/dnaMethylation.integration.spec-H546EBUO.js +198 -0
  184. package/dist/dofetch-QZIYSC7H.js +48 -0
  185. package/dist/e2pca-XOXOS3PN.js +344 -0
  186. package/dist/ep-U6KRL7FR.js +1249 -0
  187. package/dist/expclust.gdc.spec-HCK65C63.js +302 -0
  188. package/dist/facet-DCC25KJO.js +519 -0
  189. package/dist/gb-TIFWFD4Y.js +81 -0
  190. package/dist/geneExpClustering-6DQEOTOY.js +244 -0
  191. package/dist/geneExpression-EASRAN6B.js +310 -0
  192. package/dist/geneExpression-G4YMDCBH.js +33 -0
  193. package/dist/geneExpression.unit.spec-XVEJYMPX.js +128 -0
  194. package/dist/geneExpression.unit.spec-XVEJYMPX.js.map +7 -0
  195. package/dist/geneORA-6UBS5GSC.js +273 -0
  196. package/dist/geneRanking-UXXYWHNB.js +548 -0
  197. package/dist/geneVariant-SZRJOXVC.js +289 -0
  198. package/dist/geneVariant-SZRJOXVC.js.map +7 -0
  199. package/dist/geneVariant-TKFKARZK.js +36 -0
  200. package/dist/geneVariant.integration.spec-PXMAYJN3.js +503 -0
  201. package/dist/geneVariant.integration.spec-PXMAYJN3.js.map +7 -0
  202. package/dist/genefusion.ui-TJLYXSVL.js +303 -0
  203. package/dist/geneset-YTBDLEIH.js +203 -0
  204. package/dist/genomeBrowser.spec-ZO4LFIXE.js +276 -0
  205. package/dist/grin2-FC4VYU54.js +949 -0
  206. package/dist/grin2-FC4VYU54.js.map +7 -0
  207. package/dist/grin2-LIFKBMVK.js +70 -0
  208. package/dist/hierCluster-56EGAPOR.js +59 -0
  209. package/dist/hierCluster-DR5NWCXA.js +55 -0
  210. package/dist/hierCluster.config-NACE3FH2.js +36 -0
  211. package/dist/hierCluster.integration.spec-PEEXPAS6.js +483 -0
  212. package/dist/hierCluster.interactivity-OCBGLUJM.js +49 -0
  213. package/dist/hierCluster.renderers-JNQUSAP4.js +19 -0
  214. package/dist/imagePlot-GR4JNUGG.js +156 -0
  215. package/dist/importPlot-4R4BSPVD.js +8 -0
  216. package/dist/isoformExpression-ST5ZW2NE.js +35 -0
  217. package/dist/isoformExpression.unit.spec-PPFC5Z7N.js +237 -0
  218. package/dist/junction-7AKZHOHV.js +36 -0
  219. package/dist/junction.customTerm-TMV43R7Z.js +16 -0
  220. package/dist/junction.unit.spec-SZUJXRQ2.js +182 -0
  221. package/dist/launch.adhoc-RWJQUOJ6.js +37 -0
  222. package/dist/leftlabel.sample-WRHLVQAQ.js +258 -0
  223. package/dist/lollipop-ZZWXTM23.js +166 -0
  224. package/dist/maf-N4XPZTQU.js +455 -0
  225. package/dist/maftimeline-2FBS6RWS.js +587 -0
  226. package/dist/matrix-5KEQPB5H.js +59 -0
  227. package/dist/matrix-RJUNXB5N.js +54 -0
  228. package/dist/matrix.cells-WXTPOJYB.js +26 -0
  229. package/dist/matrix.config-ZZFLLD6Z.js +37 -0
  230. package/dist/matrix.data-3PQ73GVJ.js +23 -0
  231. package/dist/matrix.groups-U6CKS6WW.js +26 -0
  232. package/dist/matrix.integration.spec-T53PMVHC.js +3160 -0
  233. package/dist/matrix.integration.spec-T53PMVHC.js.map +7 -0
  234. package/dist/matrix.interactivity-3LDZV3F7.js +37 -0
  235. package/dist/matrix.layout-MINLYQCA.js +39 -0
  236. package/dist/matrix.legend-6GSDFZHS.js +20 -0
  237. package/dist/matrix.renderers-5BKOXDE3.js +34 -0
  238. package/dist/matrix.serieses-6FCFIFAQ.js +19 -0
  239. package/dist/matrix.sort-EHVVYDZ3.js +26 -0
  240. package/dist/matrix.sort.unit.spec-BCWE4AFX.js +468 -0
  241. package/dist/matrix.sorterUi-WL5I6S3K.js +16 -0
  242. package/dist/matrix.sorterUi.unit.spec-XJR5KXRL.js +338 -0
  243. package/dist/matrix.unit.spec-TUCKPE26.js +150 -0
  244. package/dist/mavb-GWSNRBLM.js +727 -0
  245. package/dist/mds.fimo-OMAQRSMW.js +513 -0
  246. package/dist/mds.samplescatterplot-4UW3CC45.js +1545 -0
  247. package/dist/mds.survivalplot-2CJYJBD2.js +477 -0
  248. package/dist/multivalue-G44MHEYI.js +83 -0
  249. package/dist/numericDictTermCluster-5BDRGVQG.js +63 -0
  250. package/dist/oncomatrix-ZTVO23ZH.js +290 -0
  251. package/dist/oncomatrix.spec-2QVK2A3Q.js +443 -0
  252. package/dist/plot.2dvaf-CL5YUXKH.js +372 -0
  253. package/dist/plot.app-4ANKPSNP.js +36 -0
  254. package/dist/plot.barplot-BMGDNZRA.js +97 -0
  255. package/dist/plot.boxplot-GMLQCDP6.js +146 -0
  256. package/dist/plot.brainImaging-RZXX3NUZ.js +51 -0
  257. package/dist/plot.disco-3MD4J4C7.js +99 -0
  258. package/dist/plot.ssgq-ZC4UYKOT.js +134 -0
  259. package/dist/plot.vaf2cov-4DHFMYQV.js +253 -0
  260. package/dist/polar2-TMB5EITR.js +232 -0
  261. package/dist/profileForms-GD7BIOOD.js +941 -0
  262. package/dist/profilePlot-CZLK5E74.js +49 -0
  263. package/dist/proteinView-FEEEXLKT.js +1357 -0
  264. package/dist/proteomeCohortCompare-NVLJ2FXX.js +912 -0
  265. package/dist/pseudbulk.unit.spec-GHQZPNAH.js +86 -0
  266. package/dist/pseudobulk-G5UQIRKL.js +35 -0
  267. package/dist/qualitative-EAUUCKU5.js +38 -0
  268. package/dist/radar2-CJQ2L6KE.js +327 -0
  269. package/dist/radarFacility2-BLVRZE4V.js +335 -0
  270. package/dist/rememberedGvQ.unit.spec-DYRO2LO5.js +211 -0
  271. package/dist/render-KKAQPH6Y.js +33 -0
  272. package/dist/report-OSOJHTSD.js +217 -0
  273. package/dist/sampleView-WB74RLD7.js +43 -0
  274. package/dist/samplelst-ZKXV5WOD.js +106 -0
  275. package/dist/samplematrix-WJFYMWLT.js +2193 -0
  276. package/dist/sc-RBRBUCLR.js +81 -0
  277. package/dist/scatter-5K3QTIDK.js +88 -0
  278. package/dist/scatter-SM7GQENM.js +925 -0
  279. package/dist/selectGenomeWithTklst-ZZUJ7AQ7.js +129 -0
  280. package/dist/singleCellCellType-LCF2JNZ2.js +33 -0
  281. package/dist/singleCellCellType.unit.spec-T6DYH4BC.js +154 -0
  282. package/dist/singleCellGeneExpression-2XUYTH4C.js +33 -0
  283. package/dist/singleCellGeneExpression.unit.spec-SMRCLOF4.js +148 -0
  284. package/dist/singleCellNumericValue-57I33FZT.js +33 -0
  285. package/dist/singleCellNumericValue.unit.spec-4YNB4OEV.js +416 -0
  286. package/dist/singleCellPlot-L6TKQHGD.js +48 -0
  287. package/dist/singlecell-LZKR3UDV.js +81 -0
  288. package/dist/singlecell-UKN2VCXQ.js +1566 -0
  289. package/dist/snp-3LJITU5B.js +33 -0
  290. package/dist/snp.unit.spec-ZQNU6XRM.js +171 -0
  291. package/dist/snplocus-OME7UQBW.js +203 -0
  292. package/dist/spliceevent.a53ss.diagram-C32IEFMU.js +146 -0
  293. package/dist/spliceevent.exonskip.diagram-CZ7MVRLK.js +278 -0
  294. package/dist/spliceevent.noeventdiagram-ZO6R3776.js +455 -0
  295. package/dist/ssGSEA-BGPQ2PFY.js +33 -0
  296. package/dist/ssGSEA.unit.spec-U7TBUSSK.js +83 -0
  297. package/dist/stattable-FISGQCED.js +117 -0
  298. package/dist/studyCatalog-UHFUT2CJ.js +414 -0
  299. package/dist/summarizeCnvGeneexp-OVZO6KIB.js +158 -0
  300. package/dist/summarizeGeneexpSurvival-KVQ4JGWK.js +105 -0
  301. package/dist/summarizeMutationCnv-RAKGHNLE.js +159 -0
  302. package/dist/summarizeMutationDiagnosis-LGCINAGG.js +35 -0
  303. package/dist/summarizeMutationSurvival-J7H7L4FX.js +99 -0
  304. package/dist/summary-2632JZXH.js +44 -0
  305. package/dist/summary.integration.spec-5WBS2ZRP.js +409 -0
  306. package/dist/summaryInput-BH6C3ATV.js +242 -0
  307. package/dist/sunburst-AMRR2IHM.js +278 -0
  308. package/dist/survival-2RNJQVFS.js +1248 -0
  309. package/dist/survival-WYCH4QOQ.js +53 -0
  310. package/dist/survival.integration.spec-7IFPY4I4.js +613 -0
  311. package/dist/svgraph-YQWS52ZJ.js +1382 -0
  312. package/dist/svmr-NRN6LGKK.js +3837 -0
  313. package/dist/table-3QOMV2NN.js +197 -0
  314. package/dist/termCollection-2ZJ7TJGO.js +33 -0
  315. package/dist/termCollection-3MCVR7BA.js +252 -0
  316. package/dist/termCollection.unit.spec-QYOEA3X6.js +299 -0
  317. package/dist/termCollectionFractionSelection-5AH6EF4L.js +42 -0
  318. package/dist/termCollectionFractionSelection.unit.spec-WPGW4WJN.js +188 -0
  319. package/dist/tk-DQ7D5UEO.js +41 -0
  320. package/dist/tk-ONKYBG6R.js +1121 -0
  321. package/dist/tp.ui-C7BTMHEI.js +1454 -0
  322. package/dist/tvs.dt-PLRMK7OT.js +34 -0
  323. package/dist/tvs.dtcnv.categorical-IZUY2AQO.js +35 -0
  324. package/dist/tvs.dtcnv.continuous-ENV3RHHA.js +67 -0
  325. package/dist/tvs.dtfusion-2DVCV6AM.js +35 -0
  326. package/dist/tvs.dtitd-XNDIRQYU.js +35 -0
  327. package/dist/tvs.dtsnvindel-4D3G7XSF.js +35 -0
  328. package/dist/tvs.dtsv-QYMIMC4Z.js +35 -0
  329. package/dist/tvs.numeric-M5LH3PRH.js +20 -0
  330. package/dist/tvs.samplelst-2KEU2ZWB.js +98 -0
  331. package/dist/tvs.termCollection-FEY746V5.js +124 -0
  332. package/dist/vocabulary-BR4NJDPS.js +36 -0
  333. package/dist/wsi.direct-JWDUNHIO.js +8343 -0
  334. package/package.json +3 -3
  335. package/dist/2dmaf-PN5YS362.js +0 -1367
  336. package/dist/AggMatrixInput-NJHU4FU2.js +0 -406
  337. package/dist/AggregateMatrix-IBWOJWOC.js +0 -41
  338. package/dist/AppHeader-XV6S7GG5.js +0 -830
  339. package/dist/BoxPlot-ZIVA55SK.js +0 -1211
  340. package/dist/CorrelationVolcano-33I4FC44.js +0 -617
  341. package/dist/Cuminc-WKY35UGV.js +0 -1219
  342. package/dist/DE-E256DHID.js +0 -89
  343. package/dist/DEinput-YU3W72K7.js +0 -499
  344. package/dist/DEinput-YU3W72K7.js.map +0 -7
  345. package/dist/DM-W7PXTIKY.js +0 -90
  346. package/dist/DifferentialAnalysis-SHMQHWJL.js +0 -236
  347. package/dist/DifferentialAnalysis-SHMQHWJL.js.map +0 -7
  348. package/dist/Disco-OZY5GW2Z.js +0 -3389
  349. package/dist/Disco.UI-NRALEYXK.js +0 -243
  350. package/dist/DmrPlot-QKUX5XUW.js +0 -637
  351. package/dist/DmrPlot-QKUX5XUW.js.map +0 -7
  352. package/dist/GB-ZYH7PGHT.js +0 -1391
  353. package/dist/GB-ZYH7PGHT.js.map +0 -7
  354. package/dist/GSEA-VQTD4MLY.js +0 -851
  355. package/dist/GSEA-VQTD4MLY.js.map +0 -7
  356. package/dist/GeneExpInput-XEFUTLFU.js +0 -42
  357. package/dist/Geomap-GEK7UEDU.js +0 -84
  358. package/dist/HicApp-ZY7UHV5H.js +0 -2245
  359. package/dist/IDCViewer-YNKG4V46.js +0 -10812
  360. package/dist/NumBinaryEditor-NEL727DX.js +0 -279
  361. package/dist/NumBinaryEditor.unit.spec-GCGZMJYF.js +0 -312
  362. package/dist/NumContEditor-IM6RRDGU.js +0 -105
  363. package/dist/NumContEditor.unit.spec-B5AJXANS.js +0 -164
  364. package/dist/NumCustomBinEditor-EZT5DRKP.js +0 -33
  365. package/dist/NumCustomBinEditor.unit.spec-KLUDS6TH.js +0 -397
  366. package/dist/NumDiscreteEditor-2M6Q5AAZ.js +0 -170
  367. package/dist/NumDiscreteEditor.unit.spec-2JYZYJUX.js +0 -233
  368. package/dist/NumRegularBinEditor-AQDHA2PU.js +0 -33
  369. package/dist/NumRegularBinEditor.unit.spec-62BYFNYG.js +0 -278
  370. package/dist/NumSplineEditor-6Y5TZSTO.js +0 -210
  371. package/dist/NumSplineEditor.unit.spec-S65AV5EK.js +0 -224
  372. package/dist/NumericDensity-5ES4SDWZ.js +0 -33
  373. package/dist/NumericDensity.unit.spec-J6KZSE2P.js +0 -418
  374. package/dist/NumericHandler-ZTLDPP2F.js +0 -34
  375. package/dist/NumericHandler.unit.spec-BZFBVHGU.js +0 -214
  376. package/dist/ProteomeInput-IKEXPCGV.js +0 -388
  377. package/dist/Regression-6F6YP3AX.js +0 -1416
  378. package/dist/Regression-6F6YP3AX.js.map +0 -7
  379. package/dist/RunChart2-CVRPXQH5.js +0 -749
  380. package/dist/SC-FPXVXBXF.js +0 -1175
  381. package/dist/SC-FPXVXBXF.js.map +0 -7
  382. package/dist/Violin-BAS6DQHL.js +0 -1081
  383. package/dist/Violin-BAS6DQHL.js.map +0 -7
  384. package/dist/Volcano-FCCWUMX7.js +0 -1649
  385. package/dist/Volcano-FCCWUMX7.js.map +0 -7
  386. package/dist/Wsi-3YTFABWG.js +0 -629
  387. package/dist/adSandbox-QYIG6637.js +0 -33
  388. package/dist/animatedBubbleChart-X53PR73H.js +0 -547
  389. package/dist/app-HJLTRZPI.js +0 -32
  390. package/dist/app-MGY6A4DM.js +0 -42
  391. package/dist/bam-VRQHRCP5.js +0 -876
  392. package/dist/barchart-TWMOUZFL.js +0 -42
  393. package/dist/barchart2-CV7RMMRG.js +0 -309
  394. package/dist/block-L53P4UGQ.js +0 -6249
  395. package/dist/block-L53P4UGQ.js.map +0 -7
  396. package/dist/block.init-XYOJTXKP.js +0 -33
  397. package/dist/block.mds.expressionrank-77FSBDHA.js +0 -354
  398. package/dist/block.mds.geneboxplot-4TSYV4WS.js +0 -823
  399. package/dist/block.mds.junction-P4MYDET6.js +0 -1539
  400. package/dist/block.mds.svcnv-CYOFAS2T.js +0 -6796
  401. package/dist/block.svg-IT3ELCF4.js +0 -159
  402. package/dist/block.tk.aicheck-GULHJLV5.js +0 -278
  403. package/dist/block.tk.ase-RW5YL6HN.js +0 -360
  404. package/dist/block.tk.bam-MPGQW6KB.js +0 -1901
  405. package/dist/block.tk.bedgraphdot-EYRY374P.js +0 -379
  406. package/dist/block.tk.bigwig.ui-BKSXCDNM.js +0 -206
  407. package/dist/block.tk.hicstraw-76PV6NM3.js +0 -818
  408. package/dist/block.tk.junction-Z52QHQJQ.js +0 -2358
  409. package/dist/block.tk.junction.textmatrixui-K32OOTZC.js +0 -194
  410. package/dist/block.tk.ld-DDGLRHPO.js +0 -94
  411. package/dist/block.tk.menu-MO6TESKI.js +0 -1024
  412. package/dist/block.tk.pgv-AKLKKSEP.js +0 -938
  413. package/dist/brainImaging-KSTJQJAB.js +0 -555
  414. package/dist/brainRegions-WCRMMSK4.js +0 -217
  415. package/dist/bubbleHeatmap-4YOQ3BAB.js +0 -378
  416. package/dist/cellTypeBubbleHeatmap-O6YZ2RW4.js +0 -278
  417. package/dist/chunk-3GUVLDUS.js +0 -299
  418. package/dist/chunk-3PQDD5HM.js +0 -446
  419. package/dist/chunk-3WYUHDDP.js +0 -1986
  420. package/dist/chunk-3WYUHDDP.js.map +0 -7
  421. package/dist/chunk-4C7MA5Q3.js +0 -158
  422. package/dist/chunk-4EZLVENZ.js +0 -1612
  423. package/dist/chunk-4EZLVENZ.js.map +0 -7
  424. package/dist/chunk-4PB5ZEOB.js +0 -102
  425. package/dist/chunk-5IMFPVGT.js +0 -119
  426. package/dist/chunk-6DPELKO5.js +0 -518
  427. package/dist/chunk-6HGTVMZM.js +0 -54
  428. package/dist/chunk-72P6O537.js +0 -1731
  429. package/dist/chunk-74C6G6JD.js +0 -397
  430. package/dist/chunk-A7TXS6JR.js +0 -276
  431. package/dist/chunk-AAJXHERO.js +0 -123
  432. package/dist/chunk-AVS4IXEA.js +0 -692
  433. package/dist/chunk-BFXZBZEV.js +0 -176
  434. package/dist/chunk-BGVGN73F.js +0 -480
  435. package/dist/chunk-BL7EYUZC.js +0 -6360
  436. package/dist/chunk-BPGZUNLL.js +0 -274
  437. package/dist/chunk-CPIPN5F6.js +0 -141
  438. package/dist/chunk-D5MSWPAZ.js +0 -217
  439. package/dist/chunk-DFT2PAIU.js +0 -243
  440. package/dist/chunk-DMWOK4DS.js +0 -178
  441. package/dist/chunk-E7NVJ44Z.js +0 -263
  442. package/dist/chunk-EMMGUSJB.js +0 -54
  443. package/dist/chunk-G3CCQOLH.js +0 -240
  444. package/dist/chunk-GGQVDHYF.js +0 -379
  445. package/dist/chunk-GGQVDHYF.js.map +0 -7
  446. package/dist/chunk-GMRIEUBW.js +0 -408
  447. package/dist/chunk-GMRIEUBW.js.map +0 -7
  448. package/dist/chunk-GPZYAJQH.js +0 -2676
  449. package/dist/chunk-GS6ZMPKP.js +0 -272
  450. package/dist/chunk-GUXKLMLM.js +0 -102
  451. package/dist/chunk-HELEV3LT.js +0 -2853
  452. package/dist/chunk-HKKTNIMX.js +0 -339
  453. package/dist/chunk-HKSRIEWJ.js +0 -26
  454. package/dist/chunk-IELQ3HMN.js +0 -70
  455. package/dist/chunk-IISNWG4X.js +0 -103
  456. package/dist/chunk-J7KB2MH3.js +0 -34
  457. package/dist/chunk-JEJV7V7M.js +0 -2327
  458. package/dist/chunk-JIZ3B32T.js +0 -626
  459. package/dist/chunk-KAY2ODXX.js +0 -38
  460. package/dist/chunk-KJM6PLXM.js +0 -5071
  461. package/dist/chunk-KTKZSYIH.js +0 -24
  462. package/dist/chunk-KTKZSYIH.js.map +0 -7
  463. package/dist/chunk-KZHF3MQX.js +0 -1278
  464. package/dist/chunk-MC674TS2.js +0 -194
  465. package/dist/chunk-MLKQZ3RL.js +0 -1339
  466. package/dist/chunk-MSSPT5YM.js +0 -550
  467. package/dist/chunk-N6IWVSFP.js +0 -4375
  468. package/dist/chunk-NBGVEZNX.js +0 -56
  469. package/dist/chunk-OBBR4UYN.js +0 -54
  470. package/dist/chunk-PQA3C2NY.js +0 -294
  471. package/dist/chunk-QJ2VBXFB.js +0 -134
  472. package/dist/chunk-QJ3HYZH3.js +0 -24772
  473. package/dist/chunk-QJ3HYZH3.js.map +0 -7
  474. package/dist/chunk-QP7EJXSU.js +0 -55
  475. package/dist/chunk-QUHXX7JE.js +0 -56
  476. package/dist/chunk-REPQKF5L.js +0 -182
  477. package/dist/chunk-SHXJW27D.js +0 -2784
  478. package/dist/chunk-SUNDNTVY.js +0 -302
  479. package/dist/chunk-SYPSS3JQ.js +0 -387
  480. package/dist/chunk-SYPSS3JQ.js.map +0 -7
  481. package/dist/chunk-TSI4W6XO.js +0 -98
  482. package/dist/chunk-TXIQ5PHR.js +0 -468
  483. package/dist/chunk-U45R6QNT.js +0 -562
  484. package/dist/chunk-UMZJQWWK.js +0 -1233
  485. package/dist/chunk-VMRO6DMC.js +0 -2140
  486. package/dist/chunk-VMRO6DMC.js.map +0 -7
  487. package/dist/chunk-VO7Q4WMM.js +0 -55
  488. package/dist/chunk-VO7Q4WMM.js.map +0 -7
  489. package/dist/chunk-VWGRKOVJ.js +0 -170
  490. package/dist/chunk-WCTKHF5T.js +0 -197
  491. package/dist/chunk-WCTKHF5T.js.map +0 -7
  492. package/dist/chunk-WOMERKMR.js +0 -31
  493. package/dist/chunk-WXX2YD4Q.js +0 -59
  494. package/dist/chunk-X44AR557.js +0 -382
  495. package/dist/chunk-XEU5HXOY.js +0 -783
  496. package/dist/chunk-XGYQZHNX.js +0 -281
  497. package/dist/chunk-XOND7UIK.js +0 -49
  498. package/dist/chunk-XRMUUWLS.js +0 -339
  499. package/dist/chunk-XTOGCXPD.js +0 -129
  500. package/dist/chunk-Y5BBFDC3.js +0 -14
  501. package/dist/chunk-Z2FSHODI.js +0 -203
  502. package/dist/cohort-JWIQOO7U.js +0 -70
  503. package/dist/condition-ZUAQYF5C.js +0 -327
  504. package/dist/controls-ZPQ6SXD2.js +0 -34
  505. package/dist/controls.config-NELL5HY5.js +0 -34
  506. package/dist/correlation-2X76UI3K.js +0 -95
  507. package/dist/customdata.inputui-V6QIGFRP.js +0 -284
  508. package/dist/dataDownload-NSDY4MSL.js +0 -329
  509. package/dist/databrowser.ui-DDLFQB6K.js +0 -425
  510. package/dist/dictionary-WSDD6TFI.js +0 -113
  511. package/dist/dnaMethylation-3IM4OACZ.js +0 -33
  512. package/dist/dnaMethylation.integration.spec-5CSJA67S.js +0 -198
  513. package/dist/dofetch-GZ7POIBV.js +0 -48
  514. package/dist/e2pca-AX7U2DOI.js +0 -344
  515. package/dist/ep-UKACHFJU.js +0 -1249
  516. package/dist/expclust.gdc.spec-46HDKH2Q.js +0 -302
  517. package/dist/facet-3EONZDDE.js +0 -519
  518. package/dist/gb-W7GX5NWS.js +0 -81
  519. package/dist/geneExpClustering-PJA6Y5GW.js +0 -244
  520. package/dist/geneExpression-EMLVPVNK.js +0 -310
  521. package/dist/geneExpression-JMGYBT53.js +0 -33
  522. package/dist/geneExpression.unit.spec-DDZVZJVC.js +0 -128
  523. package/dist/geneExpression.unit.spec-DDZVZJVC.js.map +0 -7
  524. package/dist/geneORA-CIAFQQWB.js +0 -273
  525. package/dist/geneRanking-JRAU6FMJ.js +0 -548
  526. package/dist/geneVariant-3DZTWQFG.js +0 -36
  527. package/dist/geneVariant-YWURIZ72.js +0 -286
  528. package/dist/geneVariant-YWURIZ72.js.map +0 -7
  529. package/dist/geneVariant.integration.spec-V3KECZMM.js +0 -489
  530. package/dist/geneVariant.integration.spec-V3KECZMM.js.map +0 -7
  531. package/dist/genefusion.ui-AO3TUDTL.js +0 -303
  532. package/dist/geneset-RCIP2GZH.js +0 -203
  533. package/dist/genomeBrowser.spec-7PZCNBL3.js +0 -276
  534. package/dist/grin2-EUBCNH4Q.js +0 -70
  535. package/dist/grin2-YYBB5XJK.js +0 -1137
  536. package/dist/grin2-YYBB5XJK.js.map +0 -7
  537. package/dist/hierCluster-AV5NO2GW.js +0 -59
  538. package/dist/hierCluster-W2MVN34V.js +0 -55
  539. package/dist/hierCluster.config-4MBWG6RZ.js +0 -36
  540. package/dist/hierCluster.integration.spec-JUIBIUKH.js +0 -483
  541. package/dist/hierCluster.interactivity-6PJE64PF.js +0 -49
  542. package/dist/hierCluster.renderers-RWDQ5SHY.js +0 -19
  543. package/dist/imagePlot-XLDQNUJA.js +0 -156
  544. package/dist/importPlot-7FISAQKR.js +0 -8
  545. package/dist/isoformExpression-WOQAOVZS.js +0 -35
  546. package/dist/isoformExpression.unit.spec-BMEGJNCO.js +0 -237
  547. package/dist/junction-6NO36IPU.js +0 -36
  548. package/dist/junction.customTerm-N6JAOWZO.js +0 -16
  549. package/dist/junction.unit.spec-UKGSQHO4.js +0 -182
  550. package/dist/launch.adhoc-42PUNEA6.js +0 -37
  551. package/dist/leftlabel.sample-EXAUDPSB.js +0 -258
  552. package/dist/lollipop-4ASTA5HO.js +0 -166
  553. package/dist/maf-HPXANL3M.js +0 -455
  554. package/dist/maftimeline-2SXFX3HF.js +0 -587
  555. package/dist/matrix-DX4W5XMX.js +0 -59
  556. package/dist/matrix-S34ITAPJ.js +0 -54
  557. package/dist/matrix.cells-BLULUGSZ.js +0 -26
  558. package/dist/matrix.config-Z3LWYH74.js +0 -37
  559. package/dist/matrix.data-73HY7Y2V.js +0 -23
  560. package/dist/matrix.groups-NOUMYNFY.js +0 -26
  561. package/dist/matrix.integration.spec-VTXYJ46U.js +0 -3160
  562. package/dist/matrix.integration.spec-VTXYJ46U.js.map +0 -7
  563. package/dist/matrix.interactivity-YHDIO5A2.js +0 -37
  564. package/dist/matrix.layout-25HYKUF2.js +0 -39
  565. package/dist/matrix.legend-IMK7DH4V.js +0 -20
  566. package/dist/matrix.renderers-3RZRN6HO.js +0 -34
  567. package/dist/matrix.serieses-ZTVHQ7QA.js +0 -19
  568. package/dist/matrix.sort-EDXHT6NZ.js +0 -26
  569. package/dist/matrix.sort.unit.spec-LSNY7PHU.js +0 -468
  570. package/dist/matrix.sorterUi-3DRNHG5Z.js +0 -16
  571. package/dist/matrix.sorterUi.unit.spec-GNIIWGRJ.js +0 -338
  572. package/dist/matrix.unit.spec-7A6ZFRXI.js +0 -150
  573. package/dist/mavb-M5AXPLYX.js +0 -727
  574. package/dist/mds.fimo-QE5OFA22.js +0 -513
  575. package/dist/mds.samplescatterplot-664EOHX2.js +0 -1545
  576. package/dist/mds.survivalplot-H4TJD44D.js +0 -477
  577. package/dist/multivalue-JD3CNQJR.js +0 -83
  578. package/dist/numericDictTermCluster-XPKEYXD7.js +0 -63
  579. package/dist/oncomatrix-TX5PZQ76.js +0 -290
  580. package/dist/oncomatrix.spec-6X2WAHL7.js +0 -443
  581. package/dist/plot.2dvaf-5OHUFTMK.js +0 -372
  582. package/dist/plot.app-XIVVJHWG.js +0 -36
  583. package/dist/plot.barplot-PSODLAXD.js +0 -97
  584. package/dist/plot.boxplot-W3ASYFOG.js +0 -146
  585. package/dist/plot.brainImaging-JGDLKLR7.js +0 -51
  586. package/dist/plot.disco-TPMXTTZK.js +0 -99
  587. package/dist/plot.ssgq-KIZIOZIF.js +0 -134
  588. package/dist/plot.vaf2cov-MSMW72IY.js +0 -253
  589. package/dist/polar2-LA4MSRRN.js +0 -232
  590. package/dist/profileForms-BJRNB2ZF.js +0 -941
  591. package/dist/profilePlot-DDO53C4T.js +0 -49
  592. package/dist/proteinView-NFUR42XQ.js +0 -1357
  593. package/dist/proteomeCohortCompare-OZVF3X66.js +0 -912
  594. package/dist/pseudbulk.unit.spec-RY72JF7A.js +0 -86
  595. package/dist/pseudobulk-UVT5G2VL.js +0 -35
  596. package/dist/qualitative-X3VXNC7X.js +0 -38
  597. package/dist/radar2-RTVUJ3AN.js +0 -327
  598. package/dist/radarFacility2-ZGLZ5AKM.js +0 -335
  599. package/dist/rememberedGvQ.unit.spec-RLLLWU5M.js +0 -211
  600. package/dist/render-LR5BOYW6.js +0 -33
  601. package/dist/report-37W5OXUM.js +0 -217
  602. package/dist/sampleView-BDC2WPH7.js +0 -43
  603. package/dist/samplelst-V2EIVZC5.js +0 -106
  604. package/dist/samplematrix-XOSKILUL.js +0 -2193
  605. package/dist/sc-ZVZPWQY7.js +0 -81
  606. package/dist/scatter-2ZE5MCYH.js +0 -88
  607. package/dist/scatter-ZOWFPGIS.js +0 -925
  608. package/dist/selectGenomeWithTklst-EF7WYEAJ.js +0 -129
  609. package/dist/singleCellCellType-TKCGC3G3.js +0 -33
  610. package/dist/singleCellCellType.unit.spec-JZ6UHC5F.js +0 -154
  611. package/dist/singleCellGeneExpression-I2INGXGI.js +0 -33
  612. package/dist/singleCellGeneExpression.unit.spec-KL77FSHZ.js +0 -148
  613. package/dist/singleCellNumericValue-2X5NCEHL.js +0 -33
  614. package/dist/singleCellNumericValue.unit.spec-OUDBX5MY.js +0 -416
  615. package/dist/singleCellPlot-Q6INE54V.js +0 -48
  616. package/dist/singlecell-5N2P5ZAT.js +0 -81
  617. package/dist/singlecell-NPSWMNI3.js +0 -1566
  618. package/dist/snp-2WPJYPDE.js +0 -33
  619. package/dist/snp.unit.spec-PPWIIOX6.js +0 -171
  620. package/dist/snplocus-T3HZFZWA.js +0 -203
  621. package/dist/spliceevent.a53ss.diagram-APCF4LV5.js +0 -146
  622. package/dist/spliceevent.exonskip.diagram-TT5JGBSC.js +0 -278
  623. package/dist/spliceevent.noeventdiagram-CPXQSX3Z.js +0 -455
  624. package/dist/ssGSEA-FSX6P7HA.js +0 -33
  625. package/dist/ssGSEA.unit.spec-TXYT665R.js +0 -83
  626. package/dist/stattable-BD64SFYV.js +0 -117
  627. package/dist/studyCatalog-6BOWO4PO.js +0 -414
  628. package/dist/summarizeCnvGeneexp-AMLYJIPU.js +0 -158
  629. package/dist/summarizeGeneexpSurvival-IDM7T333.js +0 -105
  630. package/dist/summarizeMutationCnv-R6SYSJQC.js +0 -159
  631. package/dist/summarizeMutationDiagnosis-XZJ4JLW2.js +0 -35
  632. package/dist/summarizeMutationSurvival-ABJ5RL4L.js +0 -99
  633. package/dist/summary-NVYCTE6P.js +0 -44
  634. package/dist/summary.integration.spec-SSLTLVNW.js +0 -409
  635. package/dist/summaryInput-SJOZETRP.js +0 -242
  636. package/dist/sunburst-RU5ZPJKW.js +0 -278
  637. package/dist/survival-BHJQMXKI.js +0 -53
  638. package/dist/survival-DVG6Y2FV.js +0 -1248
  639. package/dist/survival.integration.spec-OJUPTY5N.js +0 -613
  640. package/dist/svgraph-ETFA4GRX.js +0 -1382
  641. package/dist/svmr-AI3RU4JK.js +0 -3837
  642. package/dist/table-YCTSMLQL.js +0 -197
  643. package/dist/termCollection-GMKEZR6D.js +0 -252
  644. package/dist/termCollection-VEVKKJZD.js +0 -33
  645. package/dist/termCollection.unit.spec-EU6YCEPX.js +0 -299
  646. package/dist/termCollectionFractionSelection-UBS74X36.js +0 -42
  647. package/dist/termCollectionFractionSelection.unit.spec-Y5OJFGDD.js +0 -188
  648. package/dist/tk-HMF4HCNV.js +0 -1121
  649. package/dist/tk-W6Z4FJMW.js +0 -41
  650. package/dist/tp.ui-NECRDJCS.js +0 -1454
  651. package/dist/tvs.dt-2JEH3F35.js +0 -34
  652. package/dist/tvs.dtcnv.categorical-YBXKEBR2.js +0 -35
  653. package/dist/tvs.dtcnv.continuous-AD3SJ6BY.js +0 -67
  654. package/dist/tvs.dtfusion-ODI3CLQS.js +0 -35
  655. package/dist/tvs.dtitd-V3LYLPJY.js +0 -35
  656. package/dist/tvs.dtsnvindel-R3V5LTNL.js +0 -35
  657. package/dist/tvs.dtsv-ZQLKEDLJ.js +0 -35
  658. package/dist/tvs.numeric-22AHXO5K.js +0 -20
  659. package/dist/tvs.samplelst-G25A7HM6.js +0 -98
  660. package/dist/tvs.termCollection-WLVCWDEJ.js +0 -124
  661. package/dist/vocabulary-6K537FJM.js +0 -36
  662. package/dist/wsi.direct-SNPPQPVO.js +0 -8343
  663. /package/dist/{2dmaf-PN5YS362.js.map → 2dmaf-43QBND66.js.map} +0 -0
  664. /package/dist/{AggMatrixInput-NJHU4FU2.js.map → AggMatrixInput-X7NGFUHH.js.map} +0 -0
  665. /package/dist/{AggregateMatrix-IBWOJWOC.js.map → AggregateMatrix-M4HRI4PX.js.map} +0 -0
  666. /package/dist/{AppHeader-XV6S7GG5.js.map → AppHeader-QBRQN6PM.js.map} +0 -0
  667. /package/dist/{BoxPlot-ZIVA55SK.js.map → BoxPlot-V6SPSEQ2.js.map} +0 -0
  668. /package/dist/{CorrelationVolcano-33I4FC44.js.map → CorrelationVolcano-UFPCYC77.js.map} +0 -0
  669. /package/dist/{Cuminc-WKY35UGV.js.map → Cuminc-KXGXGLKZ.js.map} +0 -0
  670. /package/dist/{DE-E256DHID.js.map → DE-K2YXHOOW.js.map} +0 -0
  671. /package/dist/{DM-W7PXTIKY.js.map → DM-C7VN3RWB.js.map} +0 -0
  672. /package/dist/{Disco-OZY5GW2Z.js.map → Disco-HECQVKXG.js.map} +0 -0
  673. /package/dist/{Disco.UI-NRALEYXK.js.map → Disco.UI-XF2GEKRW.js.map} +0 -0
  674. /package/dist/{GeneExpInput-XEFUTLFU.js.map → GeneExpInput-VBIZZV27.js.map} +0 -0
  675. /package/dist/{Geomap-GEK7UEDU.js.map → Geomap-UIIOLRFA.js.map} +0 -0
  676. /package/dist/{HicApp-ZY7UHV5H.js.map → HicApp-73ESVNBA.js.map} +0 -0
  677. /package/dist/{IDCViewer-YNKG4V46.js.map → IDCViewer-RBYN5A4P.js.map} +0 -0
  678. /package/dist/{NumBinaryEditor-NEL727DX.js.map → NumBinaryEditor-DJLSNSLE.js.map} +0 -0
  679. /package/dist/{NumBinaryEditor.unit.spec-GCGZMJYF.js.map → NumBinaryEditor.unit.spec-LCJHL3XM.js.map} +0 -0
  680. /package/dist/{NumContEditor-IM6RRDGU.js.map → NumContEditor-SVLDJ2ML.js.map} +0 -0
  681. /package/dist/{NumContEditor.unit.spec-B5AJXANS.js.map → NumContEditor.unit.spec-JDMSK4HY.js.map} +0 -0
  682. /package/dist/{NumCustomBinEditor-EZT5DRKP.js.map → NumCustomBinEditor-BI63AH3R.js.map} +0 -0
  683. /package/dist/{NumCustomBinEditor.unit.spec-KLUDS6TH.js.map → NumCustomBinEditor.unit.spec-5433G7Y2.js.map} +0 -0
  684. /package/dist/{NumDiscreteEditor-2M6Q5AAZ.js.map → NumDiscreteEditor-LEZTGXAV.js.map} +0 -0
  685. /package/dist/{NumDiscreteEditor.unit.spec-2JYZYJUX.js.map → NumDiscreteEditor.unit.spec-5OEORHJ4.js.map} +0 -0
  686. /package/dist/{NumRegularBinEditor-AQDHA2PU.js.map → NumRegularBinEditor-EXWHIWPM.js.map} +0 -0
  687. /package/dist/{NumRegularBinEditor.unit.spec-62BYFNYG.js.map → NumRegularBinEditor.unit.spec-QY25Z2TT.js.map} +0 -0
  688. /package/dist/{NumSplineEditor-6Y5TZSTO.js.map → NumSplineEditor-XPPMYYAD.js.map} +0 -0
  689. /package/dist/{NumSplineEditor.unit.spec-S65AV5EK.js.map → NumSplineEditor.unit.spec-GOGBKWMN.js.map} +0 -0
  690. /package/dist/{NumericDensity-5ES4SDWZ.js.map → NumericDensity-RKY2IQ72.js.map} +0 -0
  691. /package/dist/{NumericDensity.unit.spec-J6KZSE2P.js.map → NumericDensity.unit.spec-5ZM6ICXM.js.map} +0 -0
  692. /package/dist/{NumericHandler-ZTLDPP2F.js.map → NumericHandler-FXF3M5M3.js.map} +0 -0
  693. /package/dist/{NumericHandler.unit.spec-BZFBVHGU.js.map → NumericHandler.unit.spec-M2OQTBJX.js.map} +0 -0
  694. /package/dist/{ProteomeInput-IKEXPCGV.js.map → ProteomeInput-TMZ3THRL.js.map} +0 -0
  695. /package/dist/{RunChart2-CVRPXQH5.js.map → RunChart2-7GNDWRKC.js.map} +0 -0
  696. /package/dist/{Wsi-3YTFABWG.js.map → Wsi-OHRCGYYD.js.map} +0 -0
  697. /package/dist/{adSandbox-QYIG6637.js.map → adSandbox-H56B25WR.js.map} +0 -0
  698. /package/dist/{animatedBubbleChart-X53PR73H.js.map → animatedBubbleChart-7SXFHU4J.js.map} +0 -0
  699. /package/dist/{app-HJLTRZPI.js.map → app-22JCSULA.js.map} +0 -0
  700. /package/dist/{app-MGY6A4DM.js.map → app-RGZJB6LN.js.map} +0 -0
  701. /package/dist/{bam-VRQHRCP5.js.map → bam-HA65TRGX.js.map} +0 -0
  702. /package/dist/{barchart-TWMOUZFL.js.map → barchart-6XO75OMA.js.map} +0 -0
  703. /package/dist/{barchart2-CV7RMMRG.js.map → barchart2-6E5BIRHD.js.map} +0 -0
  704. /package/dist/{block.init-XYOJTXKP.js.map → block.init-TPU5QIPA.js.map} +0 -0
  705. /package/dist/{block.mds.expressionrank-77FSBDHA.js.map → block.mds.expressionrank-QZDRFXCH.js.map} +0 -0
  706. /package/dist/{block.mds.geneboxplot-4TSYV4WS.js.map → block.mds.geneboxplot-64QVBK5Q.js.map} +0 -0
  707. /package/dist/{block.mds.junction-P4MYDET6.js.map → block.mds.junction-I4J6VXNT.js.map} +0 -0
  708. /package/dist/{block.mds.svcnv-CYOFAS2T.js.map → block.mds.svcnv-GDQMSQFF.js.map} +0 -0
  709. /package/dist/{block.svg-IT3ELCF4.js.map → block.svg-2MZFT5QP.js.map} +0 -0
  710. /package/dist/{block.tk.aicheck-GULHJLV5.js.map → block.tk.aicheck-2MKHF6LX.js.map} +0 -0
  711. /package/dist/{block.tk.ase-RW5YL6HN.js.map → block.tk.ase-CLYGKFTS.js.map} +0 -0
  712. /package/dist/{block.tk.bam-MPGQW6KB.js.map → block.tk.bam-XTR4QA5Z.js.map} +0 -0
  713. /package/dist/{block.tk.bedgraphdot-EYRY374P.js.map → block.tk.bedgraphdot-A2P2CXRU.js.map} +0 -0
  714. /package/dist/{block.tk.bigwig.ui-BKSXCDNM.js.map → block.tk.bigwig.ui-YZH6JXEO.js.map} +0 -0
  715. /package/dist/{block.tk.hicstraw-76PV6NM3.js.map → block.tk.hicstraw-QBK5VWGU.js.map} +0 -0
  716. /package/dist/{block.tk.junction-Z52QHQJQ.js.map → block.tk.junction-5DEVBA7G.js.map} +0 -0
  717. /package/dist/{block.tk.junction.textmatrixui-K32OOTZC.js.map → block.tk.junction.textmatrixui-7TTQMO6W.js.map} +0 -0
  718. /package/dist/{block.tk.ld-DDGLRHPO.js.map → block.tk.ld-PRIVUPKL.js.map} +0 -0
  719. /package/dist/{block.tk.menu-MO6TESKI.js.map → block.tk.menu-JGBRFSS3.js.map} +0 -0
  720. /package/dist/{block.tk.pgv-AKLKKSEP.js.map → block.tk.pgv-KQJCJMVD.js.map} +0 -0
  721. /package/dist/{brainImaging-KSTJQJAB.js.map → brainImaging-4SLVJ2HV.js.map} +0 -0
  722. /package/dist/{brainRegions-WCRMMSK4.js.map → brainRegions-BDIVM2SG.js.map} +0 -0
  723. /package/dist/{bubbleHeatmap-4YOQ3BAB.js.map → bubbleHeatmap-ORKFJNEQ.js.map} +0 -0
  724. /package/dist/{cellTypeBubbleHeatmap-O6YZ2RW4.js.map → cellTypeBubbleHeatmap-VOHLI4P7.js.map} +0 -0
  725. /package/dist/{chunk-MC674TS2.js.map → chunk-26N3B2JO.js.map} +0 -0
  726. /package/dist/{chunk-G3CCQOLH.js.map → chunk-2HNJF5ZI.js.map} +0 -0
  727. /package/dist/{chunk-XGYQZHNX.js.map → chunk-2LNGHIOC.js.map} +0 -0
  728. /package/dist/{chunk-5IMFPVGT.js.map → chunk-3FEP6B5T.js.map} +0 -0
  729. /package/dist/{chunk-BPGZUNLL.js.map → chunk-3SCQGODD.js.map} +0 -0
  730. /package/dist/{chunk-6DPELKO5.js.map → chunk-47STLK7K.js.map} +0 -0
  731. /package/dist/{chunk-KAY2ODXX.js.map → chunk-4G73CMUL.js.map} +0 -0
  732. /package/dist/{chunk-A7TXS6JR.js.map → chunk-4XYQG3XU.js.map} +0 -0
  733. /package/dist/{chunk-J7KB2MH3.js.map → chunk-53XNEXR6.js.map} +0 -0
  734. /package/dist/{chunk-AAJXHERO.js.map → chunk-5UB5H7A3.js.map} +0 -0
  735. /package/dist/{chunk-CPIPN5F6.js.map → chunk-6FYQYTV6.js.map} +0 -0
  736. /package/dist/{chunk-REPQKF5L.js.map → chunk-6RP6CR4Q.js.map} +0 -0
  737. /package/dist/{chunk-IISNWG4X.js.map → chunk-A5D37SIL.js.map} +0 -0
  738. /package/dist/{chunk-4PB5ZEOB.js.map → chunk-ADRFQ5AL.js.map} +0 -0
  739. /package/dist/{chunk-IELQ3HMN.js.map → chunk-AUZ63NKJ.js.map} +0 -0
  740. /package/dist/{chunk-HKKTNIMX.js.map → chunk-BK6UDL7F.js.map} +0 -0
  741. /package/dist/{chunk-X44AR557.js.map → chunk-CFZ2ZW3E.js.map} +0 -0
  742. /package/dist/{chunk-HKSRIEWJ.js.map → chunk-CKOU3P27.js.map} +0 -0
  743. /package/dist/{chunk-XRMUUWLS.js.map → chunk-CT4IG5IR.js.map} +0 -0
  744. /package/dist/{chunk-72P6O537.js.map → chunk-D6UBH77N.js.map} +0 -0
  745. /package/dist/{chunk-VWGRKOVJ.js.map → chunk-DS4GLMJL.js.map} +0 -0
  746. /package/dist/{chunk-HELEV3LT.js.map → chunk-DSBRHWZ7.js.map} +0 -0
  747. /package/dist/{chunk-GS6ZMPKP.js.map → chunk-DX35MKPR.js.map} +0 -0
  748. /package/dist/{chunk-6HGTVMZM.js.map → chunk-EDZJ3VNZ.js.map} +0 -0
  749. /package/dist/{chunk-MLKQZ3RL.js.map → chunk-F47A4CVK.js.map} +0 -0
  750. /package/dist/{chunk-3PQDD5HM.js.map → chunk-G4H34RNK.js.map} +0 -0
  751. /package/dist/{chunk-E7NVJ44Z.js.map → chunk-G7RUMSHL.js.map} +0 -0
  752. /package/dist/{chunk-BGVGN73F.js.map → chunk-GXFS25SK.js.map} +0 -0
  753. /package/dist/{chunk-AVS4IXEA.js.map → chunk-IBT6WRY6.js.map} +0 -0
  754. /package/dist/{chunk-SUNDNTVY.js.map → chunk-IJ7AIDEO.js.map} +0 -0
  755. /package/dist/{chunk-UMZJQWWK.js.map → chunk-JBFVJHZN.js.map} +0 -0
  756. /package/dist/{chunk-NBGVEZNX.js.map → chunk-JDVBUIEU.js.map} +0 -0
  757. /package/dist/{chunk-OBBR4UYN.js.map → chunk-JTANDSTD.js.map} +0 -0
  758. /package/dist/{chunk-N6IWVSFP.js.map → chunk-K7RW5TPU.js.map} +0 -0
  759. /package/dist/{chunk-XOND7UIK.js.map → chunk-LBCIXRI2.js.map} +0 -0
  760. /package/dist/{chunk-TSI4W6XO.js.map → chunk-MNXL2UV5.js.map} +0 -0
  761. /package/dist/{chunk-WOMERKMR.js.map → chunk-NDOKW2HJ.js.map} +0 -0
  762. /package/dist/{chunk-Z2FSHODI.js.map → chunk-NI5CVN43.js.map} +0 -0
  763. /package/dist/{chunk-74C6G6JD.js.map → chunk-NOBXDQDU.js.map} +0 -0
  764. /package/dist/{chunk-BL7EYUZC.js.map → chunk-NQNVLZOA.js.map} +0 -0
  765. /package/dist/{chunk-4C7MA5Q3.js.map → chunk-NULFGPE3.js.map} +0 -0
  766. /package/dist/{chunk-3GUVLDUS.js.map → chunk-OUIXGM3K.js.map} +0 -0
  767. /package/dist/{chunk-Y5BBFDC3.js.map → chunk-P4LGA36F.js.map} +0 -0
  768. /package/dist/{chunk-QP7EJXSU.js.map → chunk-PU5FQWAY.js.map} +0 -0
  769. /package/dist/{chunk-QUHXX7JE.js.map → chunk-PZ2OSHBF.js.map} +0 -0
  770. /package/dist/{chunk-KJM6PLXM.js.map → chunk-QBNDPW7O.js.map} +0 -0
  771. /package/dist/{chunk-WXX2YD4Q.js.map → chunk-QD75Q5LM.js.map} +0 -0
  772. /package/dist/{chunk-JIZ3B32T.js.map → chunk-RI65SIN3.js.map} +0 -0
  773. /package/dist/{chunk-GPZYAJQH.js.map → chunk-RPGLLO4T.js.map} +0 -0
  774. /package/dist/{chunk-QJ2VBXFB.js.map → chunk-RXNZK7MF.js.map} +0 -0
  775. /package/dist/{chunk-MSSPT5YM.js.map → chunk-S2ICJ3RZ.js.map} +0 -0
  776. /package/dist/{chunk-XTOGCXPD.js.map → chunk-SFHG6H2D.js.map} +0 -0
  777. /package/dist/{chunk-XEU5HXOY.js.map → chunk-TQ2DVEQO.js.map} +0 -0
  778. /package/dist/{chunk-BFXZBZEV.js.map → chunk-U6BJ4ZNU.js.map} +0 -0
  779. /package/dist/{chunk-DMWOK4DS.js.map → chunk-UXD6G6G4.js.map} +0 -0
  780. /package/dist/{chunk-PQA3C2NY.js.map → chunk-VH5W6ODW.js.map} +0 -0
  781. /package/dist/{chunk-D5MSWPAZ.js.map → chunk-VWA7BYSV.js.map} +0 -0
  782. /package/dist/{chunk-GUXKLMLM.js.map → chunk-X37BRSGS.js.map} +0 -0
  783. /package/dist/{chunk-U45R6QNT.js.map → chunk-XQYDXA47.js.map} +0 -0
  784. /package/dist/{chunk-TXIQ5PHR.js.map → chunk-Y7V5AIUH.js.map} +0 -0
  785. /package/dist/{chunk-DFT2PAIU.js.map → chunk-YBNIOGUE.js.map} +0 -0
  786. /package/dist/{chunk-JEJV7V7M.js.map → chunk-YEYMNF7V.js.map} +0 -0
  787. /package/dist/{chunk-KZHF3MQX.js.map → chunk-YJ74QATP.js.map} +0 -0
  788. /package/dist/{chunk-SHXJW27D.js.map → chunk-ZG2HCGAO.js.map} +0 -0
  789. /package/dist/{chunk-EMMGUSJB.js.map → chunk-ZZN7ZD7J.js.map} +0 -0
  790. /package/dist/{cohort-JWIQOO7U.js.map → cohort-6OCRQQ2S.js.map} +0 -0
  791. /package/dist/{condition-ZUAQYF5C.js.map → condition-SZVXH3VU.js.map} +0 -0
  792. /package/dist/{controls-ZPQ6SXD2.js.map → controls-MO6ZND76.js.map} +0 -0
  793. /package/dist/{controls.config-NELL5HY5.js.map → controls.config-P4MSTGL4.js.map} +0 -0
  794. /package/dist/{correlation-2X76UI3K.js.map → correlation-NMI3CM3T.js.map} +0 -0
  795. /package/dist/{customdata.inputui-V6QIGFRP.js.map → customdata.inputui-VCHSCA65.js.map} +0 -0
  796. /package/dist/{dataDownload-NSDY4MSL.js.map → dataDownload-VQHOTQ5D.js.map} +0 -0
  797. /package/dist/{databrowser.ui-DDLFQB6K.js.map → databrowser.ui-ZFOCAG32.js.map} +0 -0
  798. /package/dist/{dictionary-WSDD6TFI.js.map → dictionary-S5YCFUWH.js.map} +0 -0
  799. /package/dist/{dnaMethylation-3IM4OACZ.js.map → dnaMethylation-MQZLZRGT.js.map} +0 -0
  800. /package/dist/{dnaMethylation.integration.spec-5CSJA67S.js.map → dnaMethylation.integration.spec-H546EBUO.js.map} +0 -0
  801. /package/dist/{dofetch-GZ7POIBV.js.map → dofetch-QZIYSC7H.js.map} +0 -0
  802. /package/dist/{e2pca-AX7U2DOI.js.map → e2pca-XOXOS3PN.js.map} +0 -0
  803. /package/dist/{ep-UKACHFJU.js.map → ep-U6KRL7FR.js.map} +0 -0
  804. /package/dist/{expclust.gdc.spec-46HDKH2Q.js.map → expclust.gdc.spec-HCK65C63.js.map} +0 -0
  805. /package/dist/{facet-3EONZDDE.js.map → facet-DCC25KJO.js.map} +0 -0
  806. /package/dist/{gb-W7GX5NWS.js.map → gb-TIFWFD4Y.js.map} +0 -0
  807. /package/dist/{geneExpClustering-PJA6Y5GW.js.map → geneExpClustering-6DQEOTOY.js.map} +0 -0
  808. /package/dist/{geneExpression-EMLVPVNK.js.map → geneExpression-EASRAN6B.js.map} +0 -0
  809. /package/dist/{geneExpression-JMGYBT53.js.map → geneExpression-G4YMDCBH.js.map} +0 -0
  810. /package/dist/{geneORA-CIAFQQWB.js.map → geneORA-6UBS5GSC.js.map} +0 -0
  811. /package/dist/{geneRanking-JRAU6FMJ.js.map → geneRanking-UXXYWHNB.js.map} +0 -0
  812. /package/dist/{geneVariant-3DZTWQFG.js.map → geneVariant-TKFKARZK.js.map} +0 -0
  813. /package/dist/{genefusion.ui-AO3TUDTL.js.map → genefusion.ui-TJLYXSVL.js.map} +0 -0
  814. /package/dist/{geneset-RCIP2GZH.js.map → geneset-YTBDLEIH.js.map} +0 -0
  815. /package/dist/{genomeBrowser.spec-7PZCNBL3.js.map → genomeBrowser.spec-ZO4LFIXE.js.map} +0 -0
  816. /package/dist/{grin2-EUBCNH4Q.js.map → grin2-LIFKBMVK.js.map} +0 -0
  817. /package/dist/{hierCluster-AV5NO2GW.js.map → hierCluster-56EGAPOR.js.map} +0 -0
  818. /package/dist/{hierCluster-W2MVN34V.js.map → hierCluster-DR5NWCXA.js.map} +0 -0
  819. /package/dist/{hierCluster.config-4MBWG6RZ.js.map → hierCluster.config-NACE3FH2.js.map} +0 -0
  820. /package/dist/{hierCluster.integration.spec-JUIBIUKH.js.map → hierCluster.integration.spec-PEEXPAS6.js.map} +0 -0
  821. /package/dist/{hierCluster.interactivity-6PJE64PF.js.map → hierCluster.interactivity-OCBGLUJM.js.map} +0 -0
  822. /package/dist/{hierCluster.renderers-RWDQ5SHY.js.map → hierCluster.renderers-JNQUSAP4.js.map} +0 -0
  823. /package/dist/{imagePlot-XLDQNUJA.js.map → imagePlot-GR4JNUGG.js.map} +0 -0
  824. /package/dist/{importPlot-7FISAQKR.js.map → importPlot-4R4BSPVD.js.map} +0 -0
  825. /package/dist/{isoformExpression-WOQAOVZS.js.map → isoformExpression-ST5ZW2NE.js.map} +0 -0
  826. /package/dist/{isoformExpression.unit.spec-BMEGJNCO.js.map → isoformExpression.unit.spec-PPFC5Z7N.js.map} +0 -0
  827. /package/dist/{junction-6NO36IPU.js.map → junction-7AKZHOHV.js.map} +0 -0
  828. /package/dist/{junction.customTerm-N6JAOWZO.js.map → junction.customTerm-TMV43R7Z.js.map} +0 -0
  829. /package/dist/{junction.unit.spec-UKGSQHO4.js.map → junction.unit.spec-SZUJXRQ2.js.map} +0 -0
  830. /package/dist/{launch.adhoc-42PUNEA6.js.map → launch.adhoc-RWJQUOJ6.js.map} +0 -0
  831. /package/dist/{leftlabel.sample-EXAUDPSB.js.map → leftlabel.sample-WRHLVQAQ.js.map} +0 -0
  832. /package/dist/{lollipop-4ASTA5HO.js.map → lollipop-ZZWXTM23.js.map} +0 -0
  833. /package/dist/{maf-HPXANL3M.js.map → maf-N4XPZTQU.js.map} +0 -0
  834. /package/dist/{maftimeline-2SXFX3HF.js.map → maftimeline-2FBS6RWS.js.map} +0 -0
  835. /package/dist/{matrix-DX4W5XMX.js.map → matrix-5KEQPB5H.js.map} +0 -0
  836. /package/dist/{matrix-S34ITAPJ.js.map → matrix-RJUNXB5N.js.map} +0 -0
  837. /package/dist/{matrix.cells-BLULUGSZ.js.map → matrix.cells-WXTPOJYB.js.map} +0 -0
  838. /package/dist/{matrix.config-Z3LWYH74.js.map → matrix.config-ZZFLLD6Z.js.map} +0 -0
  839. /package/dist/{matrix.data-73HY7Y2V.js.map → matrix.data-3PQ73GVJ.js.map} +0 -0
  840. /package/dist/{matrix.groups-NOUMYNFY.js.map → matrix.groups-U6CKS6WW.js.map} +0 -0
  841. /package/dist/{matrix.interactivity-YHDIO5A2.js.map → matrix.interactivity-3LDZV3F7.js.map} +0 -0
  842. /package/dist/{matrix.layout-25HYKUF2.js.map → matrix.layout-MINLYQCA.js.map} +0 -0
  843. /package/dist/{matrix.legend-IMK7DH4V.js.map → matrix.legend-6GSDFZHS.js.map} +0 -0
  844. /package/dist/{matrix.renderers-3RZRN6HO.js.map → matrix.renderers-5BKOXDE3.js.map} +0 -0
  845. /package/dist/{matrix.serieses-ZTVHQ7QA.js.map → matrix.serieses-6FCFIFAQ.js.map} +0 -0
  846. /package/dist/{matrix.sort-EDXHT6NZ.js.map → matrix.sort-EHVVYDZ3.js.map} +0 -0
  847. /package/dist/{matrix.sort.unit.spec-LSNY7PHU.js.map → matrix.sort.unit.spec-BCWE4AFX.js.map} +0 -0
  848. /package/dist/{matrix.sorterUi-3DRNHG5Z.js.map → matrix.sorterUi-WL5I6S3K.js.map} +0 -0
  849. /package/dist/{matrix.sorterUi.unit.spec-GNIIWGRJ.js.map → matrix.sorterUi.unit.spec-XJR5KXRL.js.map} +0 -0
  850. /package/dist/{matrix.unit.spec-7A6ZFRXI.js.map → matrix.unit.spec-TUCKPE26.js.map} +0 -0
  851. /package/dist/{mavb-M5AXPLYX.js.map → mavb-GWSNRBLM.js.map} +0 -0
  852. /package/dist/{mds.fimo-QE5OFA22.js.map → mds.fimo-OMAQRSMW.js.map} +0 -0
  853. /package/dist/{mds.samplescatterplot-664EOHX2.js.map → mds.samplescatterplot-4UW3CC45.js.map} +0 -0
  854. /package/dist/{mds.survivalplot-H4TJD44D.js.map → mds.survivalplot-2CJYJBD2.js.map} +0 -0
  855. /package/dist/{multivalue-JD3CNQJR.js.map → multivalue-G44MHEYI.js.map} +0 -0
  856. /package/dist/{numericDictTermCluster-XPKEYXD7.js.map → numericDictTermCluster-5BDRGVQG.js.map} +0 -0
  857. /package/dist/{oncomatrix-TX5PZQ76.js.map → oncomatrix-ZTVO23ZH.js.map} +0 -0
  858. /package/dist/{oncomatrix.spec-6X2WAHL7.js.map → oncomatrix.spec-2QVK2A3Q.js.map} +0 -0
  859. /package/dist/{plot.2dvaf-5OHUFTMK.js.map → plot.2dvaf-CL5YUXKH.js.map} +0 -0
  860. /package/dist/{plot.app-XIVVJHWG.js.map → plot.app-4ANKPSNP.js.map} +0 -0
  861. /package/dist/{plot.barplot-PSODLAXD.js.map → plot.barplot-BMGDNZRA.js.map} +0 -0
  862. /package/dist/{plot.boxplot-W3ASYFOG.js.map → plot.boxplot-GMLQCDP6.js.map} +0 -0
  863. /package/dist/{plot.brainImaging-JGDLKLR7.js.map → plot.brainImaging-RZXX3NUZ.js.map} +0 -0
  864. /package/dist/{plot.disco-TPMXTTZK.js.map → plot.disco-3MD4J4C7.js.map} +0 -0
  865. /package/dist/{plot.ssgq-KIZIOZIF.js.map → plot.ssgq-ZC4UYKOT.js.map} +0 -0
  866. /package/dist/{plot.vaf2cov-MSMW72IY.js.map → plot.vaf2cov-4DHFMYQV.js.map} +0 -0
  867. /package/dist/{polar2-LA4MSRRN.js.map → polar2-TMB5EITR.js.map} +0 -0
  868. /package/dist/{profileForms-BJRNB2ZF.js.map → profileForms-GD7BIOOD.js.map} +0 -0
  869. /package/dist/{profilePlot-DDO53C4T.js.map → profilePlot-CZLK5E74.js.map} +0 -0
  870. /package/dist/{proteinView-NFUR42XQ.js.map → proteinView-FEEEXLKT.js.map} +0 -0
  871. /package/dist/{proteomeCohortCompare-OZVF3X66.js.map → proteomeCohortCompare-NVLJ2FXX.js.map} +0 -0
  872. /package/dist/{pseudbulk.unit.spec-RY72JF7A.js.map → pseudbulk.unit.spec-GHQZPNAH.js.map} +0 -0
  873. /package/dist/{pseudobulk-UVT5G2VL.js.map → pseudobulk-G5UQIRKL.js.map} +0 -0
  874. /package/dist/{qualitative-X3VXNC7X.js.map → qualitative-EAUUCKU5.js.map} +0 -0
  875. /package/dist/{radar2-RTVUJ3AN.js.map → radar2-CJQ2L6KE.js.map} +0 -0
  876. /package/dist/{radarFacility2-ZGLZ5AKM.js.map → radarFacility2-BLVRZE4V.js.map} +0 -0
  877. /package/dist/{rememberedGvQ.unit.spec-RLLLWU5M.js.map → rememberedGvQ.unit.spec-DYRO2LO5.js.map} +0 -0
  878. /package/dist/{render-LR5BOYW6.js.map → render-KKAQPH6Y.js.map} +0 -0
  879. /package/dist/{report-37W5OXUM.js.map → report-OSOJHTSD.js.map} +0 -0
  880. /package/dist/{sampleView-BDC2WPH7.js.map → sampleView-WB74RLD7.js.map} +0 -0
  881. /package/dist/{samplelst-V2EIVZC5.js.map → samplelst-ZKXV5WOD.js.map} +0 -0
  882. /package/dist/{samplematrix-XOSKILUL.js.map → samplematrix-WJFYMWLT.js.map} +0 -0
  883. /package/dist/{sc-ZVZPWQY7.js.map → sc-RBRBUCLR.js.map} +0 -0
  884. /package/dist/{scatter-2ZE5MCYH.js.map → scatter-5K3QTIDK.js.map} +0 -0
  885. /package/dist/{scatter-ZOWFPGIS.js.map → scatter-SM7GQENM.js.map} +0 -0
  886. /package/dist/{selectGenomeWithTklst-EF7WYEAJ.js.map → selectGenomeWithTklst-ZZUJ7AQ7.js.map} +0 -0
  887. /package/dist/{singleCellCellType-TKCGC3G3.js.map → singleCellCellType-LCF2JNZ2.js.map} +0 -0
  888. /package/dist/{singleCellCellType.unit.spec-JZ6UHC5F.js.map → singleCellCellType.unit.spec-T6DYH4BC.js.map} +0 -0
  889. /package/dist/{singleCellGeneExpression-I2INGXGI.js.map → singleCellGeneExpression-2XUYTH4C.js.map} +0 -0
  890. /package/dist/{singleCellGeneExpression.unit.spec-KL77FSHZ.js.map → singleCellGeneExpression.unit.spec-SMRCLOF4.js.map} +0 -0
  891. /package/dist/{singleCellNumericValue-2X5NCEHL.js.map → singleCellNumericValue-57I33FZT.js.map} +0 -0
  892. /package/dist/{singleCellNumericValue.unit.spec-OUDBX5MY.js.map → singleCellNumericValue.unit.spec-4YNB4OEV.js.map} +0 -0
  893. /package/dist/{singleCellPlot-Q6INE54V.js.map → singleCellPlot-L6TKQHGD.js.map} +0 -0
  894. /package/dist/{singlecell-5N2P5ZAT.js.map → singlecell-LZKR3UDV.js.map} +0 -0
  895. /package/dist/{singlecell-NPSWMNI3.js.map → singlecell-UKN2VCXQ.js.map} +0 -0
  896. /package/dist/{snp-2WPJYPDE.js.map → snp-3LJITU5B.js.map} +0 -0
  897. /package/dist/{snp.unit.spec-PPWIIOX6.js.map → snp.unit.spec-ZQNU6XRM.js.map} +0 -0
  898. /package/dist/{snplocus-T3HZFZWA.js.map → snplocus-OME7UQBW.js.map} +0 -0
  899. /package/dist/{spliceevent.a53ss.diagram-APCF4LV5.js.map → spliceevent.a53ss.diagram-C32IEFMU.js.map} +0 -0
  900. /package/dist/{spliceevent.exonskip.diagram-TT5JGBSC.js.map → spliceevent.exonskip.diagram-CZ7MVRLK.js.map} +0 -0
  901. /package/dist/{spliceevent.noeventdiagram-CPXQSX3Z.js.map → spliceevent.noeventdiagram-ZO6R3776.js.map} +0 -0
  902. /package/dist/{ssGSEA-FSX6P7HA.js.map → ssGSEA-BGPQ2PFY.js.map} +0 -0
  903. /package/dist/{ssGSEA.unit.spec-TXYT665R.js.map → ssGSEA.unit.spec-U7TBUSSK.js.map} +0 -0
  904. /package/dist/{stattable-BD64SFYV.js.map → stattable-FISGQCED.js.map} +0 -0
  905. /package/dist/{studyCatalog-6BOWO4PO.js.map → studyCatalog-UHFUT2CJ.js.map} +0 -0
  906. /package/dist/{summarizeCnvGeneexp-AMLYJIPU.js.map → summarizeCnvGeneexp-OVZO6KIB.js.map} +0 -0
  907. /package/dist/{summarizeGeneexpSurvival-IDM7T333.js.map → summarizeGeneexpSurvival-KVQ4JGWK.js.map} +0 -0
  908. /package/dist/{summarizeMutationCnv-R6SYSJQC.js.map → summarizeMutationCnv-RAKGHNLE.js.map} +0 -0
  909. /package/dist/{summarizeMutationDiagnosis-XZJ4JLW2.js.map → summarizeMutationDiagnosis-LGCINAGG.js.map} +0 -0
  910. /package/dist/{summarizeMutationSurvival-ABJ5RL4L.js.map → summarizeMutationSurvival-J7H7L4FX.js.map} +0 -0
  911. /package/dist/{summary-NVYCTE6P.js.map → summary-2632JZXH.js.map} +0 -0
  912. /package/dist/{summary.integration.spec-SSLTLVNW.js.map → summary.integration.spec-5WBS2ZRP.js.map} +0 -0
  913. /package/dist/{summaryInput-SJOZETRP.js.map → summaryInput-BH6C3ATV.js.map} +0 -0
  914. /package/dist/{sunburst-RU5ZPJKW.js.map → sunburst-AMRR2IHM.js.map} +0 -0
  915. /package/dist/{survival-DVG6Y2FV.js.map → survival-2RNJQVFS.js.map} +0 -0
  916. /package/dist/{survival-BHJQMXKI.js.map → survival-WYCH4QOQ.js.map} +0 -0
  917. /package/dist/{survival.integration.spec-OJUPTY5N.js.map → survival.integration.spec-7IFPY4I4.js.map} +0 -0
  918. /package/dist/{svgraph-ETFA4GRX.js.map → svgraph-YQWS52ZJ.js.map} +0 -0
  919. /package/dist/{svmr-AI3RU4JK.js.map → svmr-NRN6LGKK.js.map} +0 -0
  920. /package/dist/{table-YCTSMLQL.js.map → table-3QOMV2NN.js.map} +0 -0
  921. /package/dist/{termCollection-VEVKKJZD.js.map → termCollection-2ZJ7TJGO.js.map} +0 -0
  922. /package/dist/{termCollection-GMKEZR6D.js.map → termCollection-3MCVR7BA.js.map} +0 -0
  923. /package/dist/{termCollection.unit.spec-EU6YCEPX.js.map → termCollection.unit.spec-QYOEA3X6.js.map} +0 -0
  924. /package/dist/{termCollectionFractionSelection-UBS74X36.js.map → termCollectionFractionSelection-5AH6EF4L.js.map} +0 -0
  925. /package/dist/{termCollectionFractionSelection.unit.spec-Y5OJFGDD.js.map → termCollectionFractionSelection.unit.spec-WPGW4WJN.js.map} +0 -0
  926. /package/dist/{tk-W6Z4FJMW.js.map → tk-DQ7D5UEO.js.map} +0 -0
  927. /package/dist/{tk-HMF4HCNV.js.map → tk-ONKYBG6R.js.map} +0 -0
  928. /package/dist/{tp.ui-NECRDJCS.js.map → tp.ui-C7BTMHEI.js.map} +0 -0
  929. /package/dist/{tvs.dt-2JEH3F35.js.map → tvs.dt-PLRMK7OT.js.map} +0 -0
  930. /package/dist/{tvs.dtcnv.categorical-YBXKEBR2.js.map → tvs.dtcnv.categorical-IZUY2AQO.js.map} +0 -0
  931. /package/dist/{tvs.dtcnv.continuous-AD3SJ6BY.js.map → tvs.dtcnv.continuous-ENV3RHHA.js.map} +0 -0
  932. /package/dist/{tvs.dtfusion-ODI3CLQS.js.map → tvs.dtfusion-2DVCV6AM.js.map} +0 -0
  933. /package/dist/{tvs.dtitd-V3LYLPJY.js.map → tvs.dtitd-XNDIRQYU.js.map} +0 -0
  934. /package/dist/{tvs.dtsnvindel-R3V5LTNL.js.map → tvs.dtsnvindel-4D3G7XSF.js.map} +0 -0
  935. /package/dist/{tvs.dtsv-ZQLKEDLJ.js.map → tvs.dtsv-QYMIMC4Z.js.map} +0 -0
  936. /package/dist/{tvs.numeric-22AHXO5K.js.map → tvs.numeric-M5LH3PRH.js.map} +0 -0
  937. /package/dist/{tvs.samplelst-G25A7HM6.js.map → tvs.samplelst-2KEU2ZWB.js.map} +0 -0
  938. /package/dist/{tvs.termCollection-WLVCWDEJ.js.map → tvs.termCollection-FEY746V5.js.map} +0 -0
  939. /package/dist/{vocabulary-6K537FJM.js.map → vocabulary-BR4NJDPS.js.map} +0 -0
  940. /package/dist/{wsi.direct-SNPPQPVO.js.map → wsi.direct-JWDUNHIO.js.map} +0 -0
@@ -0,0 +1,1183 @@
1
+ import {
2
+ PlotBase,
3
+ digestMessage,
4
+ filterRxCompInit,
5
+ formatHeaderText,
6
+ getCombinedTermFilter,
7
+ getGEunit,
8
+ getNormalRoot,
9
+ make_radios,
10
+ newSandboxDiv,
11
+ renderTable
12
+ } from "./chunk-55FABQU2.js";
13
+ import "./chunk-HJ6L54YS.js";
14
+ import "./chunk-KV4W2ACA.js";
15
+ import {
16
+ importPlot
17
+ } from "./chunk-UXD6G6G4.js";
18
+ import {
19
+ Menu
20
+ } from "./chunk-ELJX3QIQ.js";
21
+ import "./chunk-3FEP6B5T.js";
22
+ import "./chunk-EEB5VE2A.js";
23
+ import "./chunk-6RRZRISL.js";
24
+ import "./chunk-2KM4PRQM.js";
25
+ import {
26
+ dofetch3
27
+ } from "./chunk-VA57CUC7.js";
28
+ import "./chunk-BK6UDL7F.js";
29
+ import "./chunk-KIAMLQ7S.js";
30
+ import {
31
+ SINGLECELL_CELLTYPE,
32
+ SINGLECELL_GENE_EXPRESSION,
33
+ TermTypeGroups
34
+ } from "./chunk-SB36AUG7.js";
35
+ import {
36
+ copyMerge,
37
+ getCompInit,
38
+ multiInit
39
+ } from "./chunk-WINIL2KN.js";
40
+ import "./chunk-PF4DSFDR.js";
41
+ import "./chunk-7X6NF7NI.js";
42
+ import "./chunk-W5J3LTYS.js";
43
+ import "./chunk-Z2ZITHT4.js";
44
+ import "./chunk-4OLM3KSB.js";
45
+ import "./chunk-FXQXCOII.js";
46
+ import "./chunk-TLT4YIG3.js";
47
+ import "./chunk-5R63Q5KH.js";
48
+ import "./chunk-I6Y4O3RR.js";
49
+ import "./chunk-Q5RDQNIT.js";
50
+ import "./chunk-DQC5FFGV.js";
51
+ import "./chunk-HS5PO5ZQ.js";
52
+
53
+ // plots/sc/model/SCModel.ts
54
+ var SCModel = class {
55
+ constructor(sc) {
56
+ /** whether a sample has a spatial image (with the consolidated h5ad the
57
+ spatial subplot needs), keyed by sID. Successful probes are cached;
58
+ failures return false for the current render and may be retried. */
59
+ this.sampleHasSpatial = {};
60
+ this.sc = sc;
61
+ this.app = sc.app;
62
+ this.id = sc.id;
63
+ this.state = sc.app.getState();
64
+ }
65
+ /********** All Single Cell SAMPLES for rendering the sample table ******** */
66
+ async getAllSampleData(state) {
67
+ const body = {
68
+ genome: state.vocab.genome,
69
+ dslabel: state.vocab.dslabel,
70
+ filter: getNormalRoot(state.termfilter.filter),
71
+ filter0: state.termfilter.filter0
72
+ };
73
+ return await dofetch3("termdb/singlecellSamples", { body, signal: this.sc.api?.getAbortSignal() });
74
+ }
75
+ //Fetches optional name for ds defined columns
76
+ async getColumnLabels(dsScSamples) {
77
+ if (!dsScSamples || !dsScSamples.sampleColumns) return;
78
+ const colsCopy = structuredClone(dsScSamples.sampleColumns);
79
+ for (const col of colsCopy) {
80
+ let label = col.termid;
81
+ try {
82
+ label = (await this.app.vocabApi.getterm(col.termid)).name;
83
+ } catch (e) {
84
+ if (e.message) {
85
+ }
86
+ }
87
+ col.label = label;
88
+ }
89
+ return colsCopy;
90
+ }
91
+ /********** Single Cell DATA for rendering plots ********
92
+ * This is for the plot buttons. Returns an array plots with found files or
93
+ * available data. */
94
+ async getSampleData() {
95
+ const body = this.getDataRequestOpts();
96
+ if (!body) return;
97
+ return await dofetch3("termdb/singlecellData", { body, signal: this.sc.api?.getAbortSignal() });
98
+ }
99
+ /** May provide active plots to the request and return plot data when
100
+ * checkPlotAvailability is false. When checkPlotAvailability is true,
101
+ * only returns which plots are available but not the actual data. */
102
+ getDataRequestOpts(_plots = [], checkPlotAvailability = true) {
103
+ const state = this.app.getState();
104
+ const singleCellTermdbConfig = state.termdbConfig?.queries?.singleCell;
105
+ if (!singleCellTermdbConfig?.data) throw new Error("No singleCell.data defined in termdbConfig.queries");
106
+ const config = state.plots.find((p) => p.id === this.id);
107
+ if (!config.settings.sc.item) return;
108
+ const plots = _plots?.length ? _plots : singleCellTermdbConfig.data.plots.map((p) => p.name);
109
+ return {
110
+ genome: this.state.vocab.genome,
111
+ dslabel: this.state.vocab.dslabel,
112
+ // if true, only return available plot names, but not actual plot data
113
+ checkPlotAvailability,
114
+ plots,
115
+ sample: {
116
+ eID: config.settings.sc.item.eID,
117
+ sID: config.settings.sc.item.sID
118
+ }
119
+ };
120
+ }
121
+ async hasSpatialImage(sID) {
122
+ if (!(sID in this.sampleHasSpatial)) {
123
+ const supported = this.state.termdbConfig?.supportedChartTypes || {};
124
+ if (!Object.values(supported).some((types) => types?.includes?.("wsi"))) return false;
125
+ let r;
126
+ try {
127
+ r = await dofetch3("termdb/wsiBySample", {
128
+ // imageType: only the spatial root is enumerated for the probe
129
+ body: {
130
+ genome: this.state.vocab.genome,
131
+ dslabel: this.state.vocab.dslabel,
132
+ sample_id: sID,
133
+ imageType: "spatial"
134
+ },
135
+ signal: this.sc.api?.getAbortSignal()
136
+ });
137
+ } catch (e) {
138
+ if (this.app.vocabApi?.isAbortError?.(e)) throw e;
139
+ return false;
140
+ }
141
+ if (r?.error) return false;
142
+ this.sampleHasSpatial[sID] = !!(r?.images || []).some((i) => i.type == "spatial" && i.spatialData);
143
+ }
144
+ return this.sampleHasSpatial[sID];
145
+ }
146
+ /** Essentially for the GDC. Maybe applied to other ds in the future. */
147
+ async getCategories(_plots) {
148
+ const body = this.getDataRequestOpts(_plots, false);
149
+ if (!body) return;
150
+ let res;
151
+ try {
152
+ res = await dofetch3("termdb/singlecellData", { body, signal: this.sc.api?.getAbortSignal() });
153
+ } catch (e) {
154
+ if (e instanceof Error) console.error(`${e.message || e}`);
155
+ }
156
+ return this.formatCategories(res);
157
+ }
158
+ formatCategories(res) {
159
+ const plot = structuredClone(res.plots[0]);
160
+ plot.cells = [...plot.noExpCells, ...plot.expCells];
161
+ const clusters = new Set(plot.cells.map((c) => c.category));
162
+ const sortedClusters = Array.from(clusters).sort((a, b) => {
163
+ const num1 = parseInt(a.split(" ")[1]);
164
+ const num2 = parseInt(b.split(" ")[1]);
165
+ return num1 - num2;
166
+ });
167
+ return sortedClusters;
168
+ }
169
+ };
170
+
171
+ // plots/sc/viewModel/SCViewModel.ts
172
+ var SCViewModel = class {
173
+ constructor(app, sampleColumns) {
174
+ this.app = app;
175
+ this.state = this.app.getState();
176
+ this.sampleColumns = sampleColumns || [];
177
+ this.metaResultIds = /* @__PURE__ */ new Set();
178
+ }
179
+ processData(config, _items) {
180
+ const items = _items.sort((a, b) => b.isMetaResult === a.isMetaResult ? 0 : b.isMetaResult ? 1 : -1);
181
+ const [rows, columns, sampleColIdx] = this.getTabelData(config, items, this.sampleColumns);
182
+ const selectedRows = [];
183
+ const sID = config.settings.sc.item?.sID;
184
+ const i = sID ? items.findIndex((item) => item.sample === sID || item.experiments?.some((e) => e.sampleName === sID)) : -1;
185
+ if (i != -1) selectedRows.push(i);
186
+ this.tableData = {
187
+ rows,
188
+ columns,
189
+ selectedRows,
190
+ sampleColIdx
191
+ };
192
+ }
193
+ /** Shape the selected sample's plot data for the plot buttons view:
194
+ * the server's plots plus flags the view only reads (hasSpatial shows
195
+ * the Spatial button). */
196
+ formatPlotsData(sampleData, hasSpatial) {
197
+ return { ...sampleData, hasSpatial };
198
+ }
199
+ getTabelData(plotConfig, items, sampleColumns) {
200
+ const rows = [];
201
+ const hasExperiments = items.some((i) => i.experiments);
202
+ let sampleColIdx = -1;
203
+ let firstColLabel = plotConfig.settings.sc.columns.sample;
204
+ if (items[0]?.isMetaResult) firstColLabel = "";
205
+ const columns = [{ label: firstColLabel, sortable: true }];
206
+ if (hasExperiments) {
207
+ columns.push({ label: "Sample", sortable: true });
208
+ sampleColIdx = 1;
209
+ } else sampleColIdx = 0;
210
+ columns.push({ label: "Shown plots" });
211
+ for (const col of sampleColumns || []) {
212
+ columns.push({
213
+ label: col.label,
214
+ width: "14vw",
215
+ sortable: true
216
+ });
217
+ }
218
+ if (hasExperiments) columns.push({ label: "Experiment", sortable: true });
219
+ for (const item of items) {
220
+ if (item.isMetaResult) this.metaResultIds.add(item.sample);
221
+ if (hasExperiments)
222
+ for (const exp of item.experiments) {
223
+ const row = [{ value: item.sample, __experimentID: exp.experimentID }];
224
+ row.push({ value: exp.sampleName });
225
+ row.push({ value: "" });
226
+ for (const col of sampleColumns || []) {
227
+ row.push({ value: item[col.termid] });
228
+ }
229
+ const urlTemp = this.state.termdbConfig?.urlTemplates?.scrnaExperimentId;
230
+ if (urlTemp) row.push({ value: exp.experimentID, url: `${urlTemp.base}${exp.experimentID}` });
231
+ else row.push({ value: exp.experimentID });
232
+ rows.push(row);
233
+ }
234
+ else {
235
+ const row = item.isMetaResult ? [{ html: item.sample.replace(/_/g, " "), value: item.sample, elemId: "isMetaResult" }] : [{ value: item.sample }];
236
+ row.push({ value: "" });
237
+ for (const col of sampleColumns || []) {
238
+ const value = item[col.termid];
239
+ if (value == null && item.isMetaResult) row.push({ value: "All" });
240
+ else row.push({ value: item[col.termid] });
241
+ }
242
+ rows.push(row);
243
+ }
244
+ }
245
+ return [rows, columns, sampleColIdx];
246
+ }
247
+ };
248
+
249
+ // plots/sc/interactions/SCInteractions.ts
250
+ var SCInteractions = class {
251
+ constructor(sc) {
252
+ this.app = sc.app;
253
+ this.id = sc.id;
254
+ this.model = sc.model;
255
+ this.viewModel = sc.viewModel;
256
+ }
257
+ /** Add the plot to the state.plots array with .parentId. Adding
258
+ * .parentId prevents the plot from launching in a new sandbox outside SC.
259
+ * Pass the .parentId to both the plotConfig and the action.
260
+ * this.getState() in SC.ts will find all the subplots with the parentId==this.id
261
+ * SC.main() initializes the subplots as components in chartsDiv */
262
+ async createSubplot(config) {
263
+ const c = Object.assign({}, config, { parentId: this.id });
264
+ await this.app.dispatch({
265
+ type: "plot_create",
266
+ parentId: this.id,
267
+ config: c
268
+ });
269
+ }
270
+ /** Updates the selected item in the plot settings */
271
+ async updateItem(item) {
272
+ item.isMetaResult = this.viewModel.metaResultIds.has(item.sID);
273
+ await this.app.dispatch({
274
+ type: "plot_edit",
275
+ id: this.id,
276
+ config: { settings: { sc: { item } } }
277
+ });
278
+ }
279
+ async getDropDownOptions(plot) {
280
+ return this.model.getCategories(plot);
281
+ }
282
+ };
283
+
284
+ // plots/sc/view/SampleTableRenderer.ts
285
+ var SampleTableRenderer = class {
286
+ constructor(dom, interactions, tableData) {
287
+ this.activeSandboxes = /* @__PURE__ */ new Map();
288
+ /** Tracks rendered btns per sample to avoid unnecessary destroy/recreate pattern. */
289
+ this.rendered = /* @__PURE__ */ new Map();
290
+ this.dom = dom;
291
+ this.interactions = interactions;
292
+ this.tableData = tableData;
293
+ this.renderSamplesTable(tableData);
294
+ }
295
+ /** Users select one item at a time to render the plot buttons
296
+ * to init() plots in the dashboard.*/
297
+ renderSamplesTable(tableData) {
298
+ this.dom.tableDiv.selectAll("*").remove();
299
+ renderTable({
300
+ rows: tableData.rows,
301
+ columns: tableData.columns,
302
+ div: this.dom.tableDiv,
303
+ singleMode: true,
304
+ // maxWidth: tableData.columns.length > 3 ? '95vw' : 'auto',
305
+ maxHeight: "30vh",
306
+ header: {
307
+ allowSort: true,
308
+ style: { "text-transform": "capitalize" }
309
+ },
310
+ striped: true,
311
+ selectedRows: tableData.selectedRows,
312
+ afterRender: () => {
313
+ this.reapplyAllPlotButtons();
314
+ },
315
+ noButtonCallback: (index) => {
316
+ const item = this.buildItemFromRow(tableData, index);
317
+ this.interactions.updateItem(item);
318
+ this.dom.plotsBtnsDiv.style("display", "block");
319
+ }
320
+ });
321
+ }
322
+ /** Builds an item object from a table row, mapping column labels to keys.
323
+ * Converts 'sample' -> 'sID' and 'experiment' -> 'eID'.
324
+ * Extracted out from noButtonCallback for testing. */
325
+ buildItemFromRow(tableData, index) {
326
+ const item = {};
327
+ tableData.rows[index].forEach((r, idx) => {
328
+ if (!r.value) return;
329
+ let key = tableData.columns[idx].label.toLowerCase();
330
+ key = key === "sample" || key === "" ? "sID" : key === "experiment" ? "eID" : key;
331
+ item[key] = r.value;
332
+ });
333
+ if (!item.sID) throw new Error("Selected item must have sID property");
334
+ return item;
335
+ }
336
+ updateTable(tableData) {
337
+ this.tableData = tableData;
338
+ this.dom.tableDiv.selectAll("*").remove();
339
+ this.renderSamplesTable(tableData);
340
+ }
341
+ updatePlotBtns(activeSandboxes) {
342
+ this.activeSandboxes = activeSandboxes;
343
+ this.reapplyAllPlotButtons();
344
+ }
345
+ /** Called by afterRender to re-apply buttons for all samples with subplots.
346
+ * Also called in updateTable when the active sandboxes (i.e. subplots) change.*/
347
+ reapplyAllPlotButtons() {
348
+ for (const sampleId of this.rendered.keys()) {
349
+ if (!this.activeSandboxes.has(sampleId)) {
350
+ this.deleteBtns(sampleId);
351
+ }
352
+ }
353
+ for (const sampleId of this.activeSandboxes.keys()) {
354
+ this.applyButtonsForSample(sampleId);
355
+ }
356
+ }
357
+ deleteBtns(sampleId) {
358
+ const cached = this.rendered.get(sampleId);
359
+ if (cached) {
360
+ cached.cell.selectAll(".sjpp-sc-table-plot-btn").remove();
361
+ this.rendered.delete(sampleId);
362
+ }
363
+ }
364
+ /** Applies buttons for a single sample. Skips DOM work if cell and plots are unchanged. */
365
+ applyButtonsForSample(sampleId) {
366
+ const sampleIdx = this.tableData.sampleColIdx;
367
+ const row = this.tableData.rows.find((r) => r[sampleIdx].value === sampleId);
368
+ if (!row) return;
369
+ const cell = row[sampleIdx + 1].__td;
370
+ const sampleSandboxes = this.activeSandboxes.get(sampleId);
371
+ if (!sampleSandboxes || sampleSandboxes.length === 0) return;
372
+ const plotIds = sampleSandboxes.map((s) => s.plotId).join(",");
373
+ const cached = this.rendered.get(sampleId);
374
+ if (cached && cached.cell === cell && cached.plotIds === plotIds) return;
375
+ cell.selectAll(".sjpp-sc-table-plot-btn").remove();
376
+ this.rendered.set(sampleId, { cell, plotIds });
377
+ for (const { div, plotName } of sampleSandboxes) {
378
+ this.appendPlotBtn(cell, div, plotName, sampleId);
379
+ }
380
+ }
381
+ appendPlotBtn(cell, sandboxDiv, plotName, sampleId) {
382
+ const text = plotName.length > 25 ? plotName.slice(0, 12) + "..." : plotName;
383
+ const label = `Scroll to ${plotName}`;
384
+ cell.append("button").attr("class", "sjpp-sc-table-plot-btn").attr("data-testid", `sjpp-sc-table-${sampleId}-${plotName}-btn`).style("padding", "2px 5px").style("margin-left", "4px").style("font-size", "0.8em").style("border-radius", "20px").style("border", "0.5px solid black").style("cursor", "pointer").text(text).attr("aria-label", label).attr("title", label).attr("tabindex", 0).on("click", () => {
385
+ sandboxDiv.node().scrollIntoView({ behavior: "smooth", block: "start" });
386
+ });
387
+ }
388
+ };
389
+
390
+ // plots/sc/view/PlotButtons.ts
391
+ var PlotButtons = class {
392
+ /** scctTerms and the scTermdbConfig are created on server init and will not change. */
393
+ constructor(interactions, holder, termdbConfig) {
394
+ holder.style("padding", "10px");
395
+ const promptDiv = holder.append("div").style("padding", "10px 0").text("Select data from");
396
+ this.plotBtnsDom = {
397
+ holder,
398
+ promptDiv,
399
+ selectPrompt: promptDiv.append("span"),
400
+ btnsDiv: holder.append("div"),
401
+ tip: new Menu({ padding: "" })
402
+ };
403
+ this.interactions = interactions;
404
+ this.scctTerms = termdbConfig?.termType2terms?.[TermTypeGroups.SINGLECELL_CELLTYPE];
405
+ this.scnvTerms = termdbConfig?.termType2terms?.[TermTypeGroups.SINGLECELL_NUMERIC_VALUE];
406
+ this.scTermdbConfig = termdbConfig.queries.singleCell;
407
+ }
408
+ update(settings, data) {
409
+ const item = settings.sc.item;
410
+ this.plotBtnsDom.holder.style("display", !item ? "none" : "block");
411
+ if (!item) return;
412
+ if (data != null && data.plots) this.data = data;
413
+ this.availablePlots = new Set(this.data?.plots?.map((p) => p.name));
414
+ this.settings = settings;
415
+ this.item = item;
416
+ const name = item.sID;
417
+ this.plotBtnsDom.selectPrompt.text(` ${name}:`);
418
+ this.renderChartBtns();
419
+ }
420
+ renderChartBtns() {
421
+ this.plotBtnsDom.btnsDiv.selectAll("*").remove();
422
+ const disabledPlots = this.scTermdbConfig?.scApp?.disabledPlots || [];
423
+ const btns = this.getChartBtnOpts().filter((b) => !disabledPlots.includes(b.chartType)).filter((b) => b.isVisible());
424
+ this.plotBtnsDom.btnsDiv.selectAll("button").data(btns).enter().append("button").attr("type", "button").attr("data-testid", (b) => `sjpp-sc-plot-btn-${b.label.toLowerCase().replace(/\s/g, "-")}`).style("padding", "10px 15px").style("border-radius", "20px").style("border-color", "transparent").style("background-color", "#CFE2F3").style("margin", "0 10px").style("cursor", "pointer").text((b) => b.label).on("click", async (e, plot) => {
425
+ if (plot.open) {
426
+ this.plotBtnsDom.tip.clear().showunder(e.target);
427
+ plot.open(plot, this);
428
+ } else {
429
+ if (!plot.getPlotConfig)
430
+ throw new Error(`No getPlotConfig function defined for this plot button = ${plot.label}`);
431
+ const config = await plot.getPlotConfig();
432
+ await this.interactions.createSubplot(config);
433
+ }
434
+ });
435
+ }
436
+ getChartBtnOpts() {
437
+ const btns = [];
438
+ for (const plot of this.scTermdbConfig?.data?.plots || []) {
439
+ if (!this.availablePlots.has(plot.name)) continue;
440
+ btns.push({
441
+ label: plot.name,
442
+ chartType: "sampleScatter",
443
+ isVisible: () => true,
444
+ getPlotConfig: async () => {
445
+ return await this.getSingleCellConfig(plot.name);
446
+ }
447
+ });
448
+ }
449
+ btns.push(
450
+ {
451
+ label: "Summary",
452
+ chartType: "dictionary",
453
+ isVisible: () => true,
454
+ getPlotConfig: () => {
455
+ const sample = { ...this.item, plots: Array.from(this.availablePlots) };
456
+ const isMeta = sample?.isMetaResult || false;
457
+ return {
458
+ chartType: "dictionary",
459
+ sample,
460
+ spawnConfig: {
461
+ parentId: this.interactions.id,
462
+ headerText: this.makeHeaderText(sample, isMeta),
463
+ hidePlotFilter: !isMeta,
464
+ sample
465
+ },
466
+ tree: {
467
+ usecase: {
468
+ target: "dictionary",
469
+ specialCase: {
470
+ type: "singleCell",
471
+ config: { sample }
472
+ }
473
+ }
474
+ }
475
+ };
476
+ }
477
+ },
478
+ {
479
+ label: "Gene expression",
480
+ chartType: "GeneExpInput",
481
+ isVisible: () => this.scTermdbConfig?.geneExpression,
482
+ getPlotConfig: () => {
483
+ const sample = this.item;
484
+ const isMeta = sample?.isMetaResult || false;
485
+ const headerText = this.makeHeaderText(sample, isMeta);
486
+ return {
487
+ chartType: "GeneExpInput",
488
+ termType: SINGLECELL_GENE_EXPRESSION,
489
+ headerText,
490
+ termProperties: { sample },
491
+ parentId: this.interactions.id,
492
+ sample,
493
+ spawnConfig: {
494
+ parentId: this.interactions.id,
495
+ headerText,
496
+ hidePlotFilter: !isMeta,
497
+ /** Must pass this to summary config in the event a continuous
498
+ * overlay is applied, launching the scatter plot. Without it,
499
+ * the single cell model is not used. */
500
+ singleCellPlot: {
501
+ name: [...this.availablePlots][0],
502
+ sample
503
+ }
504
+ }
505
+ };
506
+ }
507
+ },
508
+ {
509
+ label: "Differential expression",
510
+ chartType: "DA",
511
+ isVisible: () => this.scTermdbConfig?.DEgenes,
512
+ open: this.termDropdownMenu,
513
+ getPlotConfig: (value) => {
514
+ const isMeta = this.item?.isMetaResult || false;
515
+ return {
516
+ chartType: "differentialAnalysis",
517
+ termType: SINGLECELL_CELLTYPE,
518
+ categoryName: `${value}`,
519
+ headerText: `${isMeta ? "" : "Sample: "}${this.item.sID}, ${this.scTermdbConfig.DEgenes.termId} ${value}`,
520
+ termId: this.scTermdbConfig.DEgenes.termId,
521
+ sample: this.item,
522
+ plotName: "Differential expression"
523
+ };
524
+ }
525
+ },
526
+ {
527
+ label: this.scTermdbConfig?.images?.label || "Image",
528
+ chartType: "imagePlot",
529
+ isVisible: () => this.scTermdbConfig?.images && this.availablePlots.has(this.scTermdbConfig.images.label || "Image"),
530
+ getPlotConfig: () => {
531
+ const isMeta = this.item?.isMetaResult || false;
532
+ return {
533
+ chartType: "imagePlot",
534
+ sample: this.item,
535
+ imgDir: this.scTermdbConfig?.images,
536
+ headerText: this.makeHeaderText(this.item, isMeta),
537
+ settings: { imagePlot: { width: "", height: 400 } }
538
+ };
539
+ }
540
+ },
541
+ {
542
+ // spatial tissue viewer for samples with a spatial image (the model's
543
+ // wsiBySample probe sets data.hasSpatial); spawns the w2 wsi plot in
544
+ // fixed-sample mode, which has its own burger menu for the overlays
545
+ label: "Spatial",
546
+ chartType: "wsi",
547
+ isVisible: () => !!this.data?.hasSpatial,
548
+ getPlotConfig: () => {
549
+ const sample = this.item;
550
+ return {
551
+ chartType: "wsi",
552
+ name: `Sample: ${sample.sID} Spatial`,
553
+ sample,
554
+ plotName: "Spatial"
555
+ };
556
+ }
557
+ }
558
+ );
559
+ return btns;
560
+ }
561
+ makeHeaderText(sample, isMeta, plot) {
562
+ const caseText = sample.case ? ` Case: ${sample.case}` : "";
563
+ const projectText = sample?.["project id"] ? ` Project: ${sample["project id"]}` : "";
564
+ return `${isMeta ? "" : "Sample: "}${sample.sID}${caseText}${projectText}${plot ? ` (${plot})` : ""}`;
565
+ }
566
+ //********** Btn Menus **********/
567
+ async termDropdownMenu(plot, self) {
568
+ const _plot = Array.from(self.availablePlots)[0];
569
+ const options = await self.interactions.getDropDownOptions([_plot]);
570
+ if (!options?.length) throw new Error("No options found for this plot. Cannot open dropdown menu.");
571
+ self.plotBtnsDom.tip.clear();
572
+ const wrapper = self.plotBtnsDom.tip.d.append("div").style("padding", "10px");
573
+ wrapper.append("div").style("display", "block").style("width", "300px").text(`View differentially expressed genes of a ${self.scTermdbConfig.DEgenes.termId} versus rest of the cells:`);
574
+ const select = wrapper.append("select").style("margin", "10px 0").style("width", "auto").style("padding", "5px").on("change", async function() {
575
+ self.plotBtnsDom.tip.hide();
576
+ const value = select.node().value;
577
+ if (value.indexOf("Select") == 0) return;
578
+ const config = plot.getPlotConfig(value);
579
+ await self.interactions.createSubplot(config);
580
+ });
581
+ const regex = new RegExp(self.scTermdbConfig.DEgenes.termId, "gi");
582
+ options.unshift(`Select a ${self.scTermdbConfig.DEgenes.termId}...`);
583
+ for (const cluster of options) {
584
+ select.append("option").attr("value", cluster.replace(regex, "").trim()).text(cluster);
585
+ }
586
+ }
587
+ //********** Plot Config Helpers **********/
588
+ async getSingleCellConfig(plotName) {
589
+ if (!this.item) throw new Error("No item selected");
590
+ const plot = this.scTermdbConfig.data.plots.find((p) => p.name == plotName);
591
+ if (!plot) throw new Error(`No plot by name ${plotName} in data.plots.`);
592
+ const sample = this.item;
593
+ const isMeta = sample?.isMetaResult || false;
594
+ const config = {
595
+ chartType: "sampleScatter",
596
+ name: this.makeHeaderText(sample, isMeta, plotName),
597
+ sample,
598
+ singleCellPlot: {
599
+ name: plotName,
600
+ sample
601
+ }
602
+ };
603
+ if (plot.colorColumns?.[0]) {
604
+ const key = plot.colorColumns[0]?.type == "numeric" ? "scnv" : "scct";
605
+ config.colorTW = await this.makeScTW(key, sample, plot);
606
+ }
607
+ return config;
608
+ }
609
+ // Quick fix. Eventually use the handler to get the proper term from the termdbConfig
610
+ async makeScTW(key, item, plot) {
611
+ if (!key) throw new Error("Key is required for makeScTW");
612
+ const colorColName = plot.colorColumns[0].name;
613
+ const savedTerm = this[`${key}Terms`]?.find((t) => t.name == colorColName && t.plot == plot.name);
614
+ if (!savedTerm) {
615
+ const ttg = key === "scct" ? TermTypeGroups.SINGLECELL_CELLTYPE : TermTypeGroups.SINGLECELL_NUMERIC_VALUE;
616
+ throw new Error(
617
+ `No term found for colorColumn=${colorColName} in .termType2terms.${ttg} for plot ${plot.name}`
618
+ );
619
+ }
620
+ const term = Object.assign(structuredClone(savedTerm), {
621
+ sample: item
622
+ });
623
+ const id = await digestMessage(`${plot.name}-${item.sID}-${item.eID}`);
624
+ return Object.assign({ $id: id }, { term });
625
+ }
626
+ };
627
+
628
+ // plots/sc/view/SectionRenderer.ts
629
+ var SectionRenderer = class {
630
+ constructor(sectionsDiv, groupBy) {
631
+ this.sections = {};
632
+ this.holder = sectionsDiv;
633
+ this.plotId2Key = /* @__PURE__ */ new Map();
634
+ this.groupBy = groupBy;
635
+ }
636
+ /** Send the sc with the updated state. May not be necessary long term. If not,
637
+ * remove and put in the constructor. */
638
+ async update(sc, subplots, groupBy) {
639
+ if (groupBy !== this.groupBy) {
640
+ this.groupBy = groupBy;
641
+ this.regroupSections(sc, subplots);
642
+ return;
643
+ }
644
+ const activeSubplots = new Set(subplots.map((s) => s.id));
645
+ for (const plotId of Array.from(this.plotId2Key.keys())) {
646
+ if (!activeSubplots.has(plotId)) this.removeSandbox(plotId);
647
+ }
648
+ for (const subplot of subplots) {
649
+ const key = this.getKey(subplot, sc);
650
+ if (!key) continue;
651
+ if (!this.sections[key]) this.initSection(key, sc);
652
+ if (!this.sections[key].sandboxes[subplot.id]) {
653
+ this.plotId2Key.set(subplot.id, key);
654
+ sc.subplotManager.setSectionKey(subplot.id, key);
655
+ await this.initSandbox(sc, subplot, key);
656
+ }
657
+ }
658
+ for (const key of Object.keys(this.sections)) {
659
+ if (Object.keys(this.sections[key].sandboxes).length === 0) {
660
+ this.removeSection(key, sc);
661
+ }
662
+ }
663
+ }
664
+ /** Reparent existing sandboxes into new section containers
665
+ * without destroying/recreating plot components. */
666
+ regroupSections(sc, subplots) {
667
+ const detached = /* @__PURE__ */ new Map();
668
+ for (const [plotId, key] of this.plotId2Key) {
669
+ const sandboxNode = this.sections[key]?.sandboxes[plotId];
670
+ if (sandboxNode) {
671
+ sandboxNode.remove();
672
+ detached.set(plotId, sandboxNode);
673
+ }
674
+ }
675
+ this.holder.selectAll("*").remove();
676
+ this.sections = {};
677
+ this.plotId2Key = /* @__PURE__ */ new Map();
678
+ for (const subplot of subplots) {
679
+ const key = this.getKey(subplot, sc);
680
+ if (!key) continue;
681
+ if (!this.sections[key]) this.initSection(key, sc);
682
+ this.plotId2Key.set(subplot.id, key);
683
+ sc.subplotManager.setSectionKey(subplot.id, key);
684
+ const existing = detached.get(subplot.id);
685
+ if (existing) {
686
+ this.sections[key].subplots.node().prepend(existing.node());
687
+ this.sections[key].sandboxes[subplot.id] = existing;
688
+ }
689
+ }
690
+ }
691
+ getKey(subplot, sc) {
692
+ if (this.groupBy === "none") return "none";
693
+ if (this.groupBy === "sample") return this.getSampleId(subplot);
694
+ return sc.subplotManager.getPlotName(subplot);
695
+ }
696
+ /** Extract sID from a subplot's config.
697
+ * Actual subplots store sample as {sID, eID} at top level or on term.term.sample. */
698
+ getSampleId(subplot) {
699
+ return subplot.sample?.sID || subplot.singleCellPlot?.sample?.sID || subplot.term?.term?.sample?.sID;
700
+ }
701
+ initSection(key, sc) {
702
+ const item = this.findSampleMetadata(key, sc);
703
+ const titleAttrText = this.groupBy == "sample" ? "this sample section" : this.groupBy == "plot" ? "this plot section" : "all plots";
704
+ const sectionWrapper = this.holder.insert("div", ":first-child").style("padding", "10px").attr("data-testid", `sjpp-sc-section-wrapper-${key}`);
705
+ sectionWrapper.append("span").attr("data-testid", `sjpp-sc-section-remove-btn-${key}`).style("margin", "0px 5px").style("cursor", "pointer").attr("title", `Remove ${titleAttrText}`).html(
706
+ `<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="#000" class="bi bi-x-lg" viewBox="0 0 12 12">
707
+ <path
708
+ stroke="#000"
709
+ transform="scale(0.75)"
710
+ d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>
711
+ </svg>`
712
+ ).on("click", () => {
713
+ this.removeSection(key, sc);
714
+ });
715
+ const titleText = this.makeSectionTitleText(key, item);
716
+ const titleWrapper = sectionWrapper.append("span").style("font-weight", 600).style("opacity", 0.7).text(titleText);
717
+ if (titleText.length) {
718
+ const arrow = titleWrapper.append("span").style("font-size", "0.8em").style("padding-left", "3px").attr("title", `Show/hide plots in ${titleAttrText}`).text("\u25BC");
719
+ titleWrapper.on("click", () => {
720
+ const isHidden = this.sections[key].subplots.style("display") === "none";
721
+ this.sections[key].subplots.style("display", isHidden ? "block" : "none");
722
+ arrow.text(isHidden ? "\u25BC" : "\u25B2");
723
+ });
724
+ }
725
+ this.sections[key] = {
726
+ sectionWrapper,
727
+ title: titleWrapper,
728
+ subplots: sectionWrapper.append("div").attr("data-testid", `sjpp-sc-subplots-${key}`),
729
+ sandboxes: {}
730
+ };
731
+ }
732
+ /** Look up sample metadata from the fetched items list.
733
+ * For experiment datasets, matches sID against experiments[].sampleName.
734
+ * For non-experiment datasets, matches sID against item.sample. */
735
+ findSampleMetadata(sampleId, sc) {
736
+ if (!sc.items) return void 0;
737
+ return sc.items.find((item) => item.sample === sampleId || item.experiments?.some((e) => e.sampleName === sampleId));
738
+ }
739
+ makeSectionTitleText(key, item) {
740
+ if (this.groupBy === "none") return "All plots";
741
+ if (this.groupBy === "plot") return key;
742
+ const caseText = item?.sample && item.sample !== key ? `Case: ${item.sample}` : "";
743
+ const isMeta = item?.isMetaResult || false;
744
+ const itemText = `${isMeta ? "" : "Sample: "}${key}`;
745
+ const projectProp = item?.case?.project?.project_id || item?.["project id"];
746
+ const projectText = projectProp ? `Project: ${projectProp}` : "";
747
+ return [itemText, caseText, projectText].filter(Boolean).join(" ");
748
+ }
749
+ async initSandbox(sc, subplot, key) {
750
+ const sandboxHolder = this.sections[key].subplots.insert("div", ":first-child").attr("data-testid", `sjpp-sc-sandbox-${subplot.id}`);
751
+ const sandboxDiv = await sc.subplotManager.initSubplotSandbox(sandboxHolder, subplot, {
752
+ sectionKey: key
753
+ });
754
+ this.sections[key].sandboxes[subplot.id] = sandboxDiv;
755
+ }
756
+ removeSection(key, sc) {
757
+ const subactions = [];
758
+ for (const plotId of Object.keys(this.sections[key].sandboxes || {})) {
759
+ this.removeSandbox(plotId, key);
760
+ subactions.push({
761
+ type: "plot_delete",
762
+ id: plotId,
763
+ parentId: sc.id
764
+ });
765
+ }
766
+ if (subactions.length > 0) {
767
+ sc.app.dispatch({
768
+ type: "app_refresh",
769
+ subactions
770
+ });
771
+ }
772
+ this.sections[key].sectionWrapper.remove();
773
+ delete this.sections[key];
774
+ }
775
+ removeSandbox(plotId, _key) {
776
+ const key = _key || this.plotId2Key.get(plotId);
777
+ if (!key) return;
778
+ const section = this.sections[key];
779
+ const sandbox = section?.sandboxes?.[plotId];
780
+ if (sandbox) sandbox.remove();
781
+ if (section?.sandboxes?.[plotId]) delete section.sandboxes[plotId];
782
+ this.plotId2Key.delete(plotId);
783
+ }
784
+ };
785
+
786
+ // plots/sc/settings/Settings.ts
787
+ var GroupByOptions = ["sample", "plot", "none"];
788
+
789
+ // plots/sc/view/SCViewRenderer.ts
790
+ var SCViewRenderer = class _SCViewRenderer {
791
+ static {
792
+ //On load, show table
793
+ //Eventually maybe an app dispatch and not a flag
794
+ this.inUse = true;
795
+ }
796
+ constructor(sc) {
797
+ this.sc = sc;
798
+ this.dom = sc.dom;
799
+ this.interactions = sc.interactions;
800
+ this.dom.controlsDiv.style("padding", "10px");
801
+ }
802
+ render(settings, state) {
803
+ this.renderSelectBtn();
804
+ this.renderGroupByOptions(settings);
805
+ this.plotBtns = new PlotButtons(this.interactions, this.dom.plotsBtnsDiv, state.termdbConfig);
806
+ this.sectionRenderer = new SectionRenderer(this.dom.sectionsDiv, settings.groupBy);
807
+ }
808
+ /** Renders the select btn at the top of the page that
809
+ * show/hides the item table and plot buttons */
810
+ renderSelectBtn() {
811
+ const btn = this.dom.controlsDiv.append("button").attr("data-testid", "sjpp-sc-item-table-select-btn").attr("title", "Show/hide sample table and plot buttons").style("border-radius", "20px").style("padding", "5px 10px").style("background-color", "transparent").text("Select sample and plots");
812
+ const arrowSpan = btn.append("span").style("font-size", "0.8em").style("padding-left", "3px").text("\u25BC");
813
+ btn.on("click", () => {
814
+ _SCViewRenderer.inUse = !_SCViewRenderer.inUse;
815
+ arrowSpan.text(_SCViewRenderer.inUse ? "\u25BC" : "\u25B2");
816
+ this.dom.tableDiv.style("display", _SCViewRenderer.inUse ? "block" : "none");
817
+ this.dom.plotsBtnsDiv.style("display", _SCViewRenderer.inUse ? "block" : "none");
818
+ });
819
+ }
820
+ renderGroupByOptions(settings) {
821
+ this.groupsWrapper = this.dom.controlsDiv.append("div").style("display", "none");
822
+ this.groupsWrapper.append("span").style("padding", "3px 0px 3px 20px").style("opacity", 0.7).text("Group by:");
823
+ const optionsDiv = this.groupsWrapper.append("span").style("display", "inline-block");
824
+ const options = GroupByOptions.map((option) => {
825
+ return {
826
+ label: `${option.charAt(0).toUpperCase() + option.slice(1)}`,
827
+ value: option,
828
+ checked: settings.groupBy === option
829
+ };
830
+ });
831
+ make_radios({
832
+ holder: optionsDiv,
833
+ styles: { display: "inline-block" },
834
+ options,
835
+ callback: async (value) => {
836
+ await this.sc.app.dispatch({
837
+ type: "plot_edit",
838
+ id: this.sc.id,
839
+ config: { settings: { sc: { ...settings, groupBy: value } } }
840
+ });
841
+ }
842
+ });
843
+ }
844
+ async update(settings, data, activeSubplots, tableData, subplotManager) {
845
+ this.sampleTableRenderer = new SampleTableRenderer(this.dom, this.interactions, tableData);
846
+ this.plotBtns.update(settings, data);
847
+ await this.sectionRenderer.update(
848
+ this.sc,
849
+ activeSubplots.map((s) => s.subplot),
850
+ settings.sc.groupBy
851
+ );
852
+ const activeSandboxes = subplotManager.getSampleSandboxes();
853
+ this.groupsWrapper.style("display", activeSandboxes.size > 1 ? "inline-block" : "none");
854
+ this.sampleTableRenderer.updatePlotBtns(activeSandboxes);
855
+ }
856
+ };
857
+
858
+ // plots/sc/settings/defaults.ts
859
+ function getDefaultSCAppSettings(overrides = {}, app) {
860
+ const defaults = {
861
+ sc: {
862
+ columns: {
863
+ sample: "Sample"
864
+ },
865
+ item: void 0,
866
+ groupBy: "sample"
867
+ },
868
+ hierCluster: {
869
+ unit: getGEunit(app.vocabApi),
870
+ yDendrogramHeight: 0,
871
+ clusterSamples: false
872
+ }
873
+ };
874
+ return Object.assign(defaults, overrides);
875
+ }
876
+
877
+ // plots/sc/subplots/DynamicSubplot.ts
878
+ var DynamicSubplot = class _DynamicSubplot {
879
+ constructor(opts) {
880
+ this.dom = {};
881
+ this.type = _DynamicSubplot.type;
882
+ this.opts = opts;
883
+ this.app = opts.app;
884
+ this.parentId = opts?.parentId;
885
+ }
886
+ static {
887
+ this.type = "dynamicSubplot";
888
+ }
889
+ async init() {
890
+ this.opts.holder.app_div.attr("data-testid", "sjpp-sc-subplot-sandbox-" + this.opts.chartType);
891
+ if (this.opts.chartType == "summary") return;
892
+ this.dom = {
893
+ holder: this.opts.holder,
894
+ viz: this.opts.holder.body.append("div").style("position", "relative"),
895
+ paneTitleDiv: this.opts.holder.header.append("div").style("position", "relative"),
896
+ filterDiv: this.opts.holder.header.append("div").style("position", "relative"),
897
+ errorDiv: this.opts.holder.body.append("div").style("position", "relative")
898
+ };
899
+ }
900
+ getState(appState) {
901
+ const config = appState.plots.find((p) => p.id === this.id);
902
+ if (!config) {
903
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
904
+ }
905
+ return {
906
+ config
907
+ };
908
+ }
909
+ async main() {
910
+ if (!this.components) await this.setComponents();
911
+ }
912
+ async setComponents() {
913
+ const _ = await importPlot(this.opts.chartType);
914
+ const chartOpts = {
915
+ app: this.app,
916
+ id: this.id,
917
+ parentId: this.parentId
918
+ };
919
+ if (this.opts.chartType == "summary") {
920
+ chartOpts.holder = this.opts.holder;
921
+ chartOpts.hidePlotFilter = this.opts.isMetaResult;
922
+ } else {
923
+ chartOpts.holder = this.dom.viz;
924
+ chartOpts.header = this.dom.paneTitleDiv;
925
+ }
926
+ const promises = {
927
+ chart: _.componentInit(chartOpts)
928
+ };
929
+ if (!this.state.config?.hidePlotFilter && this.opts.isMetaResult && this.opts.chartType != "summary") {
930
+ promises.filter = filterRxCompInit({
931
+ app: this.app,
932
+ vocabApi: this.app.vocabApi,
933
+ parentId: this.id,
934
+ holder: this.dom.filterDiv,
935
+ hideLabel: true,
936
+ emptyLabel: "+Add new filter",
937
+ callback: (filter) => {
938
+ this.app.dispatch({
939
+ id: this.id,
940
+ type: "plot_edit",
941
+ config: { filter }
942
+ });
943
+ }
944
+ });
945
+ }
946
+ this.components = await multiInit(promises);
947
+ }
948
+ destroy() {
949
+ const appDiv = this.dom?.holder?.app_div;
950
+ if (appDiv) {
951
+ appDiv.selectAll("*").remove();
952
+ appDiv.remove();
953
+ }
954
+ for (const key in this.dom) {
955
+ delete this.dom[key];
956
+ }
957
+ }
958
+ };
959
+ var dynamicSubplotInit = getCompInit(DynamicSubplot);
960
+
961
+ // plots/sc/subplots/SubplotManager.ts
962
+ var SubplotManager = class {
963
+ constructor(sc) {
964
+ this.sc = sc;
965
+ this.scCompPlots = this.sc.components.plots;
966
+ this.records = /* @__PURE__ */ new Map();
967
+ }
968
+ map(subplots) {
969
+ const subplotIds = new Set(subplots.map((s) => s.id));
970
+ for (const compPlotId of Object.keys(this.scCompPlots)) {
971
+ if (!subplotIds.has(compPlotId)) {
972
+ this.removeSubplot(compPlotId);
973
+ }
974
+ }
975
+ for (const recordId of Array.from(this.records.keys())) {
976
+ if (!subplotIds.has(recordId)) this.records.delete(recordId);
977
+ }
978
+ for (const subplot of subplots) {
979
+ this.updateSubplotRecord(subplot);
980
+ }
981
+ return this.getActiveSubplotsFlat();
982
+ }
983
+ updateSubplotRecord(subplot) {
984
+ const existing = this.records.get(subplot.id);
985
+ const sampleId = this.getSampleId(subplot);
986
+ const isMeta = sampleId && this.sc.viewModel.metaResultIds.has(sampleId) || false;
987
+ this.records.set(subplot.id, {
988
+ plotId: subplot.id,
989
+ sampleId,
990
+ plotName: this.getPlotName(subplot),
991
+ sectionKey: existing?.sectionKey,
992
+ subplot,
993
+ sandboxDiv: existing?.sandboxDiv,
994
+ isMetaResult: isMeta
995
+ });
996
+ }
997
+ removeSubplot(subplotId) {
998
+ if (this.scCompPlots[subplotId]) this.scCompPlots[subplotId].destroy();
999
+ delete this.scCompPlots[subplotId];
1000
+ this.records.delete(subplotId);
1001
+ }
1002
+ async initSubplotSandbox(sandboxHolder, subplot, initOpts = {}) {
1003
+ const sandbox = newSandboxDiv(sandboxHolder, {
1004
+ close: () => {
1005
+ this.removeSubplot(subplot.id);
1006
+ this.sc.app.dispatch({
1007
+ type: "plot_delete",
1008
+ id: subplot.id,
1009
+ parentId: this.sc.id
1010
+ });
1011
+ if (initOpts.onClose) initOpts.onClose();
1012
+ },
1013
+ plotId: subplot.id
1014
+ });
1015
+ const subplotOpts = Object.assign({}, subplot, {
1016
+ app: this.sc.app,
1017
+ parentId: this.sc.id,
1018
+ id: subplot.id,
1019
+ holder: sandbox,
1020
+ isMetaResult: this.records.get(subplot.id)?.isMetaResult || false
1021
+ });
1022
+ this.scCompPlots[subplot.id] = await dynamicSubplotInit(subplotOpts);
1023
+ this.setSandbox(subplot.id, sandbox.app_div);
1024
+ if (initOpts.sectionKey) this.setSectionKey(subplot.id, initOpts.sectionKey);
1025
+ return sandbox.app_div;
1026
+ }
1027
+ setSandbox(plotId, sandboxDiv) {
1028
+ const record = this.records.get(plotId);
1029
+ if (!record) return;
1030
+ record.sandboxDiv = sandboxDiv;
1031
+ this.records.set(plotId, record);
1032
+ }
1033
+ setSectionKey(plotId, sectionKey) {
1034
+ const record = this.records.get(plotId);
1035
+ if (!record) return;
1036
+ record.sectionKey = sectionKey;
1037
+ this.records.set(plotId, record);
1038
+ }
1039
+ getActiveSubplotsFlat() {
1040
+ return Array.from(this.records.values());
1041
+ }
1042
+ getSampleId(subplot) {
1043
+ return subplot.sample?.sID || subplot.singleCellPlot?.sample?.sID || subplot.term?.term?.sample?.sID;
1044
+ }
1045
+ getPlotName(subplot) {
1046
+ const nameOverrides = /* @__PURE__ */ new Map([
1047
+ ["GeneExpInput", "Gene expression"],
1048
+ ["imagePlot", subplot?.imgDir?.label || "Image"],
1049
+ ["dictionary", "Summary"],
1050
+ ["summary", "Summary"]
1051
+ ]);
1052
+ let plotName = subplot?.plotName || nameOverrides.get(subplot?.chartType) || subplot?.singleCellPlot?.name;
1053
+ if (!plotName) {
1054
+ if (subplot?.term?.term?.plot) plotName = subplot.term.term.plot;
1055
+ else plotName = subplot.chartType || "Plot";
1056
+ }
1057
+ return plotName;
1058
+ }
1059
+ getSampleSandboxes(activeSubplots = this.getActiveSubplotsFlat()) {
1060
+ const sandboxes = /* @__PURE__ */ new Map();
1061
+ for (const active of activeSubplots) {
1062
+ if (!active.sampleId || !active.sandboxDiv) continue;
1063
+ if (!sandboxes.has(active.sampleId)) sandboxes.set(active.sampleId, []);
1064
+ sandboxes.get(active.sampleId).push({ plotId: active.plotId, div: active.sandboxDiv, plotName: active.plotName });
1065
+ }
1066
+ return sandboxes;
1067
+ }
1068
+ };
1069
+
1070
+ // plots/sc/SC.ts
1071
+ var SCViewer = class _SCViewer extends PlotBase {
1072
+ static {
1073
+ this.type = "sc";
1074
+ }
1075
+ constructor(opts, api) {
1076
+ super(opts, api);
1077
+ this.type = _SCViewer.type;
1078
+ this.components = {
1079
+ plots: {}
1080
+ };
1081
+ const div = opts.holder.classed("sjpp-sc-main", true).append("div").style("padding", "5px").style("display", "inline-block").style("vertical-align", "top");
1082
+ this.dom = {
1083
+ div,
1084
+ loading: opts.holder.append("div").attr("class", "sjpp-sc-main-loading").attr("data-testid", "sjpp-sc-main-loading").style("position", "absolute").style("top", "0").style("left", "0").style("width", "100%").style("height", "100%").style("background-color", "rgba(255, 255, 255, 0.95)").style("text-align", "center"),
1085
+ controlsDiv: div.append("div").attr("id", "sjpp-sc-controls-btn"),
1086
+ tableDiv: div.append("div").attr("id", "sjpp-sc-item-table"),
1087
+ plotsBtnsDiv: div.append("div").attr("id", "sjpp-sc-plot-buttons").style("display", "none"),
1088
+ sectionsDiv: div.append("div").attr("id", "sjpp-sc-sections")
1089
+ };
1090
+ if (opts.header) formatHeaderText({
1091
+ header: opts.header,
1092
+ chartType: "SINGLE CELL"
1093
+ });
1094
+ }
1095
+ getState(appState) {
1096
+ const config = appState.plots.find((p) => p.id === this.id);
1097
+ if (!config) {
1098
+ throw new Error(
1099
+ `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`
1100
+ );
1101
+ }
1102
+ const termfilter = getCombinedTermFilter(appState, config.filter);
1103
+ return {
1104
+ config,
1105
+ subplots: appState.plots.filter((p) => p.parentId === this.id),
1106
+ termfilter,
1107
+ termdbConfig: appState.termdbConfig,
1108
+ vocab: appState.vocab
1109
+ };
1110
+ }
1111
+ async init(appState) {
1112
+ const state = this.getState(appState);
1113
+ const dsScSamples = state.termdbConfig.queries?.singleCell?.samples;
1114
+ this.model = new SCModel(this);
1115
+ try {
1116
+ this.itemColumns = await this.model.getColumnLabels(dsScSamples);
1117
+ } catch (e) {
1118
+ if (e instanceof Error) console.error(`${e.message || e} [SC init()]`);
1119
+ else if (e.stack) console.log(e.stack);
1120
+ throw new Error(e.message || e);
1121
+ }
1122
+ this.viewModel = new SCViewModel(this.app, this.itemColumns);
1123
+ this.interactions = new SCInteractions(this);
1124
+ this.subplotManager = new SubplotManager(this);
1125
+ this.view = new SCViewRenderer(this);
1126
+ this.view.render(state.config.settings.sc, state);
1127
+ }
1128
+ async main() {
1129
+ if (!this.model) throw new Error(`Model not initialized`);
1130
+ if (!this.viewModel) throw new Error(`ViewModel not initialized`);
1131
+ if (!this.view) throw new Error(`View not initialized`);
1132
+ if (!this.interactions) throw new Error(`Interactions not initialized`);
1133
+ const state = structuredClone(this.state);
1134
+ const config = state.config;
1135
+ super.toggleLoadingDiv();
1136
+ let data;
1137
+ try {
1138
+ const allSampleData = await this.model.getAllSampleData(state);
1139
+ if (!allSampleData || allSampleData.error) {
1140
+ super.toggleLoadingDiv("none");
1141
+ super.printError(allSampleData?.error || "No samples found for this dataset");
1142
+ return;
1143
+ }
1144
+ this.items = allSampleData.samples;
1145
+ this.viewModel.processData(config, allSampleData.samples);
1146
+ if (config.settings?.sc?.item) {
1147
+ const sampleData = await this.model.getSampleData();
1148
+ if (!sampleData || sampleData.error) {
1149
+ super.toggleLoadingDiv("none");
1150
+ super.printError(sampleData?.error || "No data found for this sample");
1151
+ return;
1152
+ }
1153
+ const hasSpatial = await this.model.hasSpatialImage(config.settings.sc.item.sID);
1154
+ data = this.viewModel.formatPlotsData(sampleData, hasSpatial);
1155
+ }
1156
+ } catch (e) {
1157
+ if (e instanceof Error) console.error(`${e.message || e} [SC main()]`);
1158
+ else if (e.stack) console.log(e.stack);
1159
+ super.toggleLoadingDiv("none");
1160
+ super.printError(e.message || e);
1161
+ return;
1162
+ }
1163
+ const activeSubplots = this.subplotManager.map(state.subplots);
1164
+ await this.view.update(config.settings, data, activeSubplots, this.viewModel.tableData, this.subplotManager);
1165
+ super.toggleLoadingDiv("none");
1166
+ }
1167
+ };
1168
+ var SCInit = getCompInit(SCViewer);
1169
+ var componentInit = SCInit;
1170
+ function getPlotConfig(opts, app) {
1171
+ const config = {
1172
+ chartType: "sc",
1173
+ settings: getDefaultSCAppSettings(opts.overrides, app)
1174
+ };
1175
+ return copyMerge(config, opts);
1176
+ }
1177
+ export {
1178
+ SCInit,
1179
+ SCViewer,
1180
+ componentInit,
1181
+ getPlotConfig
1182
+ };
1183
+ //# sourceMappingURL=SC-R2I2EMHA.js.map