@sjcrh/proteinpaint-client 2.203.0 → 2.203.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (884) hide show
  1. package/dist/2dmaf-6CEBP4SA.js +1366 -0
  2. package/dist/AIProjectAdmin-2CKKFC3A.js +951 -0
  3. package/dist/AggregateMatrix-5TBUMFE5.js +665 -0
  4. package/dist/AppHeader-5YBPWF44.js +829 -0
  5. package/dist/BoxPlot-UOJS5SJV.js +1210 -0
  6. package/dist/CorrelationVolcano-KX6JPZMT.js +613 -0
  7. package/dist/Cuminc-TLOOLZWR.js +1208 -0
  8. package/dist/DE-HUQLQ2Z3.js +87 -0
  9. package/dist/DEinput-WWUISAF2.js +404 -0
  10. package/dist/DifferentialAnalysis-6DTAGCEY.js +237 -0
  11. package/dist/Disco-P6ZLPYLF.js +3388 -0
  12. package/dist/Disco.UI-WGTMAFK2.js +242 -0
  13. package/dist/DmrPlot-3FRU5KUK.js +636 -0
  14. package/dist/GB-NWOBARL3.js +1390 -0
  15. package/dist/GSEA-DEEUAAMI.js +850 -0
  16. package/dist/GeneExpInput-6QWGEAFV.js +361 -0
  17. package/dist/Geomap-6HT2B7RH.js +83 -0
  18. package/dist/HicApp-PCNOUULF.js +2244 -0
  19. package/dist/IDCViewer-H3QPXVM3.js +10811 -0
  20. package/dist/NumBinaryEditor-IU6OLMKN.js +278 -0
  21. package/dist/NumBinaryEditor.unit.spec-YUPUILIV.js +311 -0
  22. package/dist/NumContEditor-KFDA76QN.js +104 -0
  23. package/dist/NumContEditor.unit.spec-QBOT5QHU.js +163 -0
  24. package/dist/NumCustomBinEditor-EOSTEXLB.js +32 -0
  25. package/dist/NumCustomBinEditor.unit.spec-B46XWFYH.js +396 -0
  26. package/dist/NumDiscreteEditor-Y4EAADXC.js +169 -0
  27. package/dist/NumDiscreteEditor.unit.spec-SJGHLWSM.js +232 -0
  28. package/dist/NumRegularBinEditor-3BNG7DIN.js +32 -0
  29. package/dist/NumRegularBinEditor.unit.spec-KM45QXXG.js +277 -0
  30. package/dist/NumSplineEditor-K4KPDC4S.js +209 -0
  31. package/dist/NumSplineEditor.unit.spec-TKQP5XTS.js +223 -0
  32. package/dist/NumericDensity-Z6JFVN3D.js +32 -0
  33. package/dist/NumericDensity.unit.spec-YEYBVLEP.js +417 -0
  34. package/dist/NumericHandler-ITT6HMPN.js +33 -0
  35. package/dist/NumericHandler.unit.spec-QVONMXY4.js +213 -0
  36. package/dist/ProteomeInput-PRS3DEMZ.js +387 -0
  37. package/dist/Regression-LJJJBBT6.js +1413 -0
  38. package/dist/Regression-LJJJBBT6.js.map +7 -0
  39. package/dist/RunChart2-AMM2JFF5.js +749 -0
  40. package/dist/SC-F7IE66VZ.js +1106 -0
  41. package/dist/Violin-RJ6OJZ4F.js +1073 -0
  42. package/dist/Volcano-BJA5HN5Y.js +1414 -0
  43. package/dist/WSIViewer-RJZGRUIR.js +26194 -0
  44. package/dist/Wsi-DXP6KOQA.js +232 -0
  45. package/dist/WsiSamplesPlot-2IAWV2B6.js +159 -0
  46. package/dist/adSandbox-RGWOIV3W.js +32 -0
  47. package/dist/animatedBubbleChart-J4Q2NAEW.js +546 -0
  48. package/dist/app-3QXNR4VG.js +31 -0
  49. package/dist/app-B4B7YNP3.js +41 -0
  50. package/dist/app.js +12 -12
  51. package/dist/bam-LRUMN45P.js +875 -0
  52. package/dist/barchart-L2G6GEHK.js +41 -0
  53. package/dist/barchart2-DWNVAZAJ.js +308 -0
  54. package/dist/block-TVEVAXNP.js +6248 -0
  55. package/dist/block.init-YOHAKPRI.js +32 -0
  56. package/dist/block.mds.expressionrank-PU6JH4W5.js +353 -0
  57. package/dist/block.mds.geneboxplot-WYYFDNE3.js +822 -0
  58. package/dist/block.mds.junction-4WCTL7Y4.js +1538 -0
  59. package/dist/block.mds.svcnv-MR3VCYUW.js +6795 -0
  60. package/dist/block.svg-LR3Y4ZO7.js +158 -0
  61. package/dist/block.tk.aicheck-A5AWKJZI.js +277 -0
  62. package/dist/block.tk.ase-AQBBAQEH.js +359 -0
  63. package/dist/block.tk.bam-QBTA2O3V.js +1900 -0
  64. package/dist/block.tk.bedgraphdot-4ALZG2MY.js +378 -0
  65. package/dist/block.tk.bigwig.ui-32W6XW37.js +205 -0
  66. package/dist/block.tk.hicstraw-PKBHBAG2.js +817 -0
  67. package/dist/block.tk.junction-AO5CXUCU.js +2357 -0
  68. package/dist/block.tk.junction.textmatrixui-RORVUIPI.js +193 -0
  69. package/dist/block.tk.ld-TNBSR4FT.js +93 -0
  70. package/dist/block.tk.menu-QDJO54J5.js +1023 -0
  71. package/dist/block.tk.pgv-6222WWYR.js +937 -0
  72. package/dist/brainImaging-2TPE7MXB.js +426 -0
  73. package/dist/brainImaging-2TPE7MXB.js.map +7 -0
  74. package/dist/brainRegions-KTFH6DE2.js +215 -0
  75. package/dist/bubbleHeatmap-LNXZLFY6.js +377 -0
  76. package/dist/cellTypeBubbleHeatmap-SRHUNX3S.js +277 -0
  77. package/dist/chunk-3TXVDBGN.js +626 -0
  78. package/dist/chunk-4HLHKBHP.js +274 -0
  79. package/dist/chunk-5GG7Q2ZG.js +397 -0
  80. package/dist/chunk-5HVAVJKW.js +518 -0
  81. package/dist/chunk-5HVAVJKW.js.map +7 -0
  82. package/dist/chunk-5PMFCQKC.js +98 -0
  83. package/dist/chunk-67URJYN7.js +84 -0
  84. package/dist/chunk-67URJYN7.js.map +7 -0
  85. package/dist/chunk-6AKSOLBX.js +5071 -0
  86. package/dist/chunk-6AKSOLBX.js.map +7 -0
  87. package/dist/chunk-6X7PP7A4.js +2126 -0
  88. package/dist/chunk-A3EDLRUN.js +54 -0
  89. package/dist/chunk-ACXFPMJP.js +14 -0
  90. package/dist/chunk-ASRW3UJ5.js +102 -0
  91. package/dist/chunk-BBILSUDX.js +176 -0
  92. package/dist/chunk-BOWI37X2.js +100 -0
  93. package/dist/chunk-BVA26EFK.js +368 -0
  94. package/dist/chunk-D5J57ENI.js +797 -0
  95. package/dist/chunk-D5PX2UDG.js +23878 -0
  96. package/dist/chunk-D5PX2UDG.js.map +7 -0
  97. package/dist/chunk-DAGONMWK.js +261 -0
  98. package/dist/chunk-DAGONMWK.js.map +7 -0
  99. package/dist/chunk-DXLO4OAB.js +357 -0
  100. package/dist/chunk-DXLO4OAB.js.map +7 -0
  101. package/dist/chunk-E5BFGDLA.js +292 -0
  102. package/dist/chunk-ECISCOPF.js +134 -0
  103. package/dist/chunk-ECLUUJVE.js +158 -0
  104. package/dist/chunk-EGDQ5I54.js +272 -0
  105. package/dist/chunk-ELNVTA7O.js +56 -0
  106. package/dist/chunk-EO6M3LY3.js +339 -0
  107. package/dist/chunk-EO6M3LY3.js.map +7 -0
  108. package/dist/chunk-F4PMOAQK.js +494 -0
  109. package/dist/chunk-FISQTHD4.js +2327 -0
  110. package/dist/chunk-FXT2XM4E.js +1337 -0
  111. package/dist/chunk-FXT2XM4E.js.map +7 -0
  112. package/dist/chunk-HIWTGMTE.js +1721 -0
  113. package/dist/chunk-HIWTGMTE.js.map +7 -0
  114. package/dist/chunk-HL6GJIOH.js +1254 -0
  115. package/dist/chunk-IGZAOCTU.js +55 -0
  116. package/dist/chunk-JMDJI7KM.js +6360 -0
  117. package/dist/chunk-JQVA264Z.js +49 -0
  118. package/dist/chunk-JRF7SRLB.js +2784 -0
  119. package/dist/chunk-KLWSW6CC.js +203 -0
  120. package/dist/chunk-KNNSOOTG.js +194 -0
  121. package/dist/chunk-KTPXQH2N.js +170 -0
  122. package/dist/chunk-LGKXSWY4.js +276 -0
  123. package/dist/chunk-LP2GIXVK.js +4274 -0
  124. package/dist/chunk-M2ZZL5EV.js +2669 -0
  125. package/dist/chunk-M2ZZL5EV.js.map +7 -0
  126. package/dist/chunk-MBHERRJR.js +302 -0
  127. package/dist/chunk-MLYQDJUQ.js +480 -0
  128. package/dist/chunk-NBGDLLMX.js +446 -0
  129. package/dist/chunk-OPMMU6DQ.js +183 -0
  130. package/dist/chunk-OPMMU6DQ.js.map +7 -0
  131. package/dist/chunk-P3JEXVBT.js +50 -0
  132. package/dist/chunk-PZPPJY4K.js +34 -0
  133. package/dist/chunk-Q6JF4ZLT.js +141 -0
  134. package/dist/chunk-QF5IH7PC.js +263 -0
  135. package/dist/chunk-QJ6SO7CF.js +465 -0
  136. package/dist/chunk-QQUOVIOM.js +2899 -0
  137. package/dist/chunk-R3OBOAOF.js +240 -0
  138. package/dist/chunk-SNCZRDS5.js +557 -0
  139. package/dist/chunk-SNCZRDS5.js.map +7 -0
  140. package/dist/chunk-SPDNUC76.js +70 -0
  141. package/dist/chunk-T3663ZQL.js +37 -0
  142. package/dist/chunk-TSK4ZTFK.js +340 -0
  143. package/dist/chunk-USW6WRDZ.js +217 -0
  144. package/dist/chunk-WBMYHNKH.js +299 -0
  145. package/dist/chunk-X46LAU4Q.js +187 -0
  146. package/dist/chunk-XE6E526E.js +129 -0
  147. package/dist/chunk-XWCWBHLB.js +123 -0
  148. package/dist/chunk-YCECQV3T.js +160 -0
  149. package/dist/chunk-YROOKO3Q.js +1954 -0
  150. package/dist/chunk-YROOKO3Q.js.map +7 -0
  151. package/dist/chunk-Z4NADGZX.js +243 -0
  152. package/dist/chunk-Z53KOPRJ.js +102 -0
  153. package/dist/cohort-U7M6Q2UX.js +69 -0
  154. package/dist/condition-EGAV2PMJ.js +326 -0
  155. package/dist/controls-PTMYWUZV.js +33 -0
  156. package/dist/controls.config-DOA6PTP2.js +33 -0
  157. package/dist/correlation-Y3EL6GB7.js +94 -0
  158. package/dist/customdata.inputui-4NDDG6FL.js +283 -0
  159. package/dist/dataDownload-EQGUAOK2.js +328 -0
  160. package/dist/databrowser.ui-ABGOJUWQ.js +424 -0
  161. package/dist/dictionary-YOLLEDE5.js +112 -0
  162. package/dist/dnaMethylation-JZT63UHO.js +32 -0
  163. package/dist/dnaMethylation.integration.spec-EATCABJW.js +197 -0
  164. package/dist/dofetch-YNBIUFV5.js +48 -0
  165. package/dist/e2pca-RD6COCRL.js +343 -0
  166. package/dist/ep-BAI7WUET.js +1248 -0
  167. package/dist/expclust.gdc.spec-LKV2CQA5.js +301 -0
  168. package/dist/facet-X3SXQIAC.js +518 -0
  169. package/dist/gb-K324K7XB.js +80 -0
  170. package/dist/geneExpClustering-BJD5U3KG.js +243 -0
  171. package/dist/geneExpression-2TK3XLZ5.js +310 -0
  172. package/dist/geneExpression-F6NRTHZ4.js +32 -0
  173. package/dist/geneExpression.unit.spec-IFZN3J6A.js +96 -0
  174. package/dist/geneORA-DUEP735U.js +272 -0
  175. package/dist/geneRanking-LURDNT7L.js +547 -0
  176. package/dist/geneVariant-EAVCWQAZ.js +35 -0
  177. package/dist/geneVariant-IZTFYAG6.js +284 -0
  178. package/dist/geneVariant-IZTFYAG6.js.map +7 -0
  179. package/dist/geneVariant.integration.spec-LHL4ERFO.js +192 -0
  180. package/dist/genefusion.ui-4T5R7DT7.js +302 -0
  181. package/dist/geneset-3PWXPBG2.js +202 -0
  182. package/dist/genomeBrowser.spec-5SEN7R2P.js +275 -0
  183. package/dist/grin2-EXBG7TMS.js +1136 -0
  184. package/dist/grin2-XIXVFVWO.js +69 -0
  185. package/dist/hierCluster-5XQIWXAY.js +57 -0
  186. package/dist/hierCluster-I4TAQWPF.js +53 -0
  187. package/dist/hierCluster.config-T7HVAWES.js +34 -0
  188. package/dist/hierCluster.integration.spec-XWX43K4D.js +482 -0
  189. package/dist/hierCluster.interactivity-MYIDHFSL.js +48 -0
  190. package/dist/hierCluster.renderers-YRXA5ZUK.js +19 -0
  191. package/dist/imagePlot-4JQB6JUG.js +155 -0
  192. package/dist/importPlot-D3MXCCLN.js +8 -0
  193. package/dist/isoformExpression-WNGGUVIZ.js +34 -0
  194. package/dist/isoformExpression.unit.spec-NVJ5TIKM.js +236 -0
  195. package/dist/junction-O7N57JE3.js +35 -0
  196. package/dist/junction.unit.spec-Z63DRTRR.js +181 -0
  197. package/dist/launch.adhoc-MBDRXD3B.js +36 -0
  198. package/dist/leftlabel.sample-IG6FOQ26.js +257 -0
  199. package/dist/lollipop-ZUYBLPGN.js +165 -0
  200. package/dist/maf-QOS5LURG.js +454 -0
  201. package/dist/maftimeline-FEHP2J55.js +586 -0
  202. package/dist/matrix-BG4J4RXA.js +57 -0
  203. package/dist/matrix-PX4LWTGN.js +52 -0
  204. package/dist/matrix.cells-PTIDQVCI.js +26 -0
  205. package/dist/matrix.config-NHW7BLIE.js +35 -0
  206. package/dist/matrix.data-FMIQRXOA.js +23 -0
  207. package/dist/matrix.dom-4S2UYJOU.js +11 -0
  208. package/dist/matrix.groups-QMID5XAO.js +25 -0
  209. package/dist/matrix.integration.spec-H6T7KP5R.js +3066 -0
  210. package/dist/matrix.interactivity-WQUO25HB.js +36 -0
  211. package/dist/matrix.layout-CTPVZZ34.js +38 -0
  212. package/dist/matrix.legend-K6EYUN6L.js +20 -0
  213. package/dist/matrix.renderers-5DIAUY6R.js +32 -0
  214. package/dist/matrix.serieses-LRMN2J52.js +19 -0
  215. package/dist/matrix.sort-RGAGEA6Z.js +25 -0
  216. package/dist/matrix.sort.unit.spec-RGICZZJL.js +466 -0
  217. package/dist/matrix.sorterUi.unit.spec-45QPEGWE.js +336 -0
  218. package/dist/matrix.unit.spec-TMRZM5DU.js +148 -0
  219. package/dist/matrix.unit.spec-TMRZM5DU.js.map +7 -0
  220. package/dist/mavb-VEIVB62L.js +726 -0
  221. package/dist/mds.fimo-BG4LTWFB.js +512 -0
  222. package/dist/mds.samplescatterplot-PWADJZ2J.js +1544 -0
  223. package/dist/mds.survivalplot-BX4HZ23K.js +476 -0
  224. package/dist/multivalue-OZALSBFW.js +82 -0
  225. package/dist/numericDictTermCluster-7PGJ7KV4.js +63 -0
  226. package/dist/oncomatrix-Q2EQZPLS.js +289 -0
  227. package/dist/oncomatrix.spec-YEQOQRPW.js +442 -0
  228. package/dist/plot.2dvaf-NJSB3HNH.js +371 -0
  229. package/dist/plot.app-AEUR6XGI.js +35 -0
  230. package/dist/plot.barplot-OXN2P5KL.js +96 -0
  231. package/dist/plot.boxplot-2KHEVVFE.js +145 -0
  232. package/dist/plot.brainImaging-JWDX4BZG.js +51 -0
  233. package/dist/plot.disco-LUFC5GGC.js +99 -0
  234. package/dist/plot.ssgq-FMM3IRNA.js +133 -0
  235. package/dist/plot.vaf2cov-K5TAQUC5.js +252 -0
  236. package/dist/plot.wsi-CNQCNZ4Z.js +36 -0
  237. package/dist/polar2-AB6SVYRS.js +231 -0
  238. package/dist/profileForms-AIEHZ4GC.js +933 -0
  239. package/dist/profilePlot-PZDFGXKZ.js +48 -0
  240. package/dist/proteinView-7GWHQYXC.js +1561 -0
  241. package/dist/proteomeCohortCompare-BTN4HHFL.js +779 -0
  242. package/dist/proteomeCohortCompare-BTN4HHFL.js.map +7 -0
  243. package/dist/pseudbulk.unit.spec-NFT4VNTI.js +85 -0
  244. package/dist/pseudobulk-WDGWTXW4.js +34 -0
  245. package/dist/qualitative-PZYJENE7.js +37 -0
  246. package/dist/radar2-QHRGH3YS.js +326 -0
  247. package/dist/radarFacility2-2JD26FL6.js +334 -0
  248. package/dist/render-YA4Z56LT.js +32 -0
  249. package/dist/report-2NUKFJTF.js +216 -0
  250. package/dist/sampleView-2XVPJTVR.js +42 -0
  251. package/dist/samplelst-DMILFDT5.js +105 -0
  252. package/dist/samplematrix-LYA5XTUM.js +2192 -0
  253. package/dist/sc-CM2C34MN.js +80 -0
  254. package/dist/scatter-C3CH3HTF.js +879 -0
  255. package/dist/scatter-GO6LV6NY.js +87 -0
  256. package/dist/selectGenomeWithTklst-5C7UBTGZ.js +128 -0
  257. package/dist/singleCellCellType-EZYESBVZ.js +32 -0
  258. package/dist/singleCellCellType.unit.spec-DB6FM4XR.js +153 -0
  259. package/dist/singleCellGeneExpression-DZLEFPW4.js +32 -0
  260. package/dist/singleCellGeneExpression.unit.spec-ZTBK3V43.js +147 -0
  261. package/dist/singleCellPlot-VF4TZ4FT.js +48 -0
  262. package/dist/singlecell-2MHROPBN.js +1565 -0
  263. package/dist/singlecell-GPAFNOUZ.js +80 -0
  264. package/dist/snp-K4EAEVW4.js +32 -0
  265. package/dist/snp.unit.spec-BUVQLVOY.js +170 -0
  266. package/dist/snplocus-GEVISN6Z.js +202 -0
  267. package/dist/spliceevent.a53ss.diagram-5UPWNAZF.js +145 -0
  268. package/dist/spliceevent.exonskip.diagram-7TKAQURC.js +277 -0
  269. package/dist/spliceevent.noeventdiagram-CDXZLR3Z.js +454 -0
  270. package/dist/ssGSEA-NMCJUQXT.js +32 -0
  271. package/dist/ssGSEA.unit.spec-3FQALTPQ.js +82 -0
  272. package/dist/stattable-2RXQPWKK.js +116 -0
  273. package/dist/studyCatalog-WWFCTTX7.js +377 -0
  274. package/dist/studyCatalog-WWFCTTX7.js.map +7 -0
  275. package/dist/summarizeCnvGeneexp-4BQS5AFM.js +157 -0
  276. package/dist/summarizeGeneexpSurvival-HTBZQFB5.js +104 -0
  277. package/dist/summarizeMutationCnv-XUWZGPCM.js +158 -0
  278. package/dist/summarizeMutationDiagnosis-QUJX42TO.js +34 -0
  279. package/dist/summarizeMutationSurvival-3R47TTR6.js +93 -0
  280. package/dist/summary-6UUB63QR.js +41 -0
  281. package/dist/summary.integration.spec-JJDE6SRV.js +408 -0
  282. package/dist/summaryInput-JG4AW6FW.js +225 -0
  283. package/dist/sunburst-YKB42RZX.js +277 -0
  284. package/dist/survival-3IFFTDQA.js +52 -0
  285. package/dist/survival-HOFNJENX.js +1236 -0
  286. package/dist/survival.integration.spec-7YZYKEUW.js +612 -0
  287. package/dist/survival.integration.spec-7YZYKEUW.js.map +7 -0
  288. package/dist/svgraph-WFEY4ZIZ.js +1381 -0
  289. package/dist/svmr-44EIX7YD.js +3836 -0
  290. package/dist/table-6MKVJUNC.js +196 -0
  291. package/dist/termCollection-6JBVQL6Y.js +251 -0
  292. package/dist/termCollection-TTELZVC5.js +32 -0
  293. package/dist/termCollection.unit.spec-6Z7X646L.js +298 -0
  294. package/dist/termCollectionFractionSelection-5DVIJBM5.js +41 -0
  295. package/dist/termCollectionFractionSelection.unit.spec-3HIM5BIF.js +187 -0
  296. package/dist/tk-HSYWJCGQ.js +40 -0
  297. package/dist/tk-PNOVG2XS.js +1120 -0
  298. package/dist/tp.ui-COBBSUPB.js +1453 -0
  299. package/dist/tvs.dt-35AKURFI.js +33 -0
  300. package/dist/tvs.dtcnv.categorical-3EHXYROL.js +34 -0
  301. package/dist/tvs.dtcnv.continuous-AXQ2GU6S.js +66 -0
  302. package/dist/tvs.dtfusion-PLJIMPNX.js +34 -0
  303. package/dist/tvs.dtitd-JS6RFBV5.js +34 -0
  304. package/dist/tvs.dtsnvindel-MDEM5MPT.js +34 -0
  305. package/dist/tvs.dtsv-OU756YLO.js +34 -0
  306. package/dist/tvs.samplelst-5NDICES4.js +98 -0
  307. package/dist/tvs.termCollection-5URPDPH6.js +123 -0
  308. package/dist/vocabulary-CHCVMPK5.js +35 -0
  309. package/dist/wsi.direct-JSKV4H4X.js +75 -0
  310. package/package.json +4 -4
  311. package/dist/2dmaf-I4HBWRNQ.js +0 -1366
  312. package/dist/AIProjectAdmin-SZYSG7HR.js +0 -951
  313. package/dist/AggregateMatrix-U7HHALFR.js +0 -665
  314. package/dist/AppHeader-O4RBZQZF.js +0 -829
  315. package/dist/BoxPlot-NOXWAGX6.js +0 -1210
  316. package/dist/CorrelationVolcano-IJ5UT6N5.js +0 -613
  317. package/dist/Cuminc-NGUDAOAD.js +0 -1208
  318. package/dist/DE-MIAHOI5J.js +0 -87
  319. package/dist/DEinput-FYBSL2ER.js +0 -404
  320. package/dist/DifferentialAnalysis-I6S5YQXY.js +0 -237
  321. package/dist/Disco-VLUBOZDC.js +0 -3388
  322. package/dist/Disco.UI-QQYWQEW7.js +0 -242
  323. package/dist/DmrPlot-DFOBEN7A.js +0 -636
  324. package/dist/GB-5FSXJMEZ.js +0 -1390
  325. package/dist/GSEA-JISHQOVY.js +0 -850
  326. package/dist/GeneExpInput-5YEX22VD.js +0 -361
  327. package/dist/Geomap-YVF6YBK5.js +0 -83
  328. package/dist/HicApp-ZCMOOKTY.js +0 -2244
  329. package/dist/IDCViewer-5ZNTAEUG.js +0 -10811
  330. package/dist/NumBinaryEditor-BEF5YCKI.js +0 -278
  331. package/dist/NumBinaryEditor.unit.spec-GCYZGHB2.js +0 -311
  332. package/dist/NumContEditor-TUXPB6YJ.js +0 -104
  333. package/dist/NumContEditor.unit.spec-5CMHHWIP.js +0 -163
  334. package/dist/NumCustomBinEditor-HS7RSGFV.js +0 -32
  335. package/dist/NumCustomBinEditor.unit.spec-MM3JJXT4.js +0 -396
  336. package/dist/NumDiscreteEditor-ZL7PP6ZT.js +0 -169
  337. package/dist/NumDiscreteEditor.unit.spec-OEWX2KJC.js +0 -232
  338. package/dist/NumRegularBinEditor-YBXK7YV6.js +0 -32
  339. package/dist/NumRegularBinEditor.unit.spec-FVHN4J5L.js +0 -277
  340. package/dist/NumSplineEditor-VN4XBTTI.js +0 -209
  341. package/dist/NumSplineEditor.unit.spec-AI642DWP.js +0 -223
  342. package/dist/NumericDensity-2KTY7DGH.js +0 -32
  343. package/dist/NumericDensity.unit.spec-6EA72A24.js +0 -417
  344. package/dist/NumericHandler-62EN6AD3.js +0 -33
  345. package/dist/NumericHandler.unit.spec-FXOJ2L2L.js +0 -213
  346. package/dist/ProteomeInput-MBBDXO2Z.js +0 -387
  347. package/dist/Regression-OQETMZPL.js +0 -1408
  348. package/dist/Regression-OQETMZPL.js.map +0 -7
  349. package/dist/RunChart2-RHZFHH4M.js +0 -749
  350. package/dist/SC-FAQXOHO4.js +0 -1106
  351. package/dist/Violin-2A3ICNBP.js +0 -1073
  352. package/dist/Volcano-X5KGHLHZ.js +0 -1414
  353. package/dist/WSIViewer-F2SD6LLP.js +0 -26194
  354. package/dist/Wsi-KAFAC3Q5.js +0 -232
  355. package/dist/WsiSamplesPlot-VKPMLDZI.js +0 -159
  356. package/dist/adSandbox-QKG5EA23.js +0 -32
  357. package/dist/animatedBubbleChart-ES62XWMN.js +0 -546
  358. package/dist/app-2HLLOBTD.js +0 -41
  359. package/dist/app-GJL6K6V4.js +0 -31
  360. package/dist/bam-DCPAAVPX.js +0 -875
  361. package/dist/barchart-DCVGCEZO.js +0 -41
  362. package/dist/barchart2-5X57VSIN.js +0 -308
  363. package/dist/block-XYSUTBXJ.js +0 -6248
  364. package/dist/block.init-5B27QKPU.js +0 -32
  365. package/dist/block.mds.expressionrank-Z7BGGPZ7.js +0 -353
  366. package/dist/block.mds.geneboxplot-4U4UZH2J.js +0 -822
  367. package/dist/block.mds.junction-ZPCUEQZJ.js +0 -1538
  368. package/dist/block.mds.svcnv-OGGPBOL2.js +0 -6795
  369. package/dist/block.svg-BWGAMNDS.js +0 -158
  370. package/dist/block.tk.aicheck-XHHW7WST.js +0 -277
  371. package/dist/block.tk.ase-BZ2IL3CQ.js +0 -359
  372. package/dist/block.tk.bam-WRHOOWXN.js +0 -1900
  373. package/dist/block.tk.bedgraphdot-B536STRA.js +0 -378
  374. package/dist/block.tk.bigwig.ui-K5X3BSQC.js +0 -205
  375. package/dist/block.tk.hicstraw-OYOKZ45W.js +0 -817
  376. package/dist/block.tk.junction-S5JMMMR6.js +0 -2357
  377. package/dist/block.tk.junction.textmatrixui-OLZY5BYR.js +0 -193
  378. package/dist/block.tk.ld-KINDO5UU.js +0 -93
  379. package/dist/block.tk.menu-3FNBVZ7J.js +0 -1023
  380. package/dist/block.tk.pgv-UHDY3T4G.js +0 -937
  381. package/dist/brainImaging-KWFRX3XB.js +0 -422
  382. package/dist/brainImaging-KWFRX3XB.js.map +0 -7
  383. package/dist/brainRegions-YI7K4OVE.js +0 -215
  384. package/dist/bubbleHeatmap-EQ44CSG5.js +0 -377
  385. package/dist/cellTypeBubbleHeatmap-O3KL2YBF.js +0 -277
  386. package/dist/chunk-254KEDDH.js +0 -129
  387. package/dist/chunk-25RPYQRT.js +0 -203
  388. package/dist/chunk-2OEMKKLP.js +0 -272
  389. package/dist/chunk-34AV6DED.js +0 -299
  390. package/dist/chunk-3UOSDVFJ.js +0 -1710
  391. package/dist/chunk-3UOSDVFJ.js.map +0 -7
  392. package/dist/chunk-4GN3CSDT.js +0 -98
  393. package/dist/chunk-4KUGV44F.js +0 -397
  394. package/dist/chunk-4WF3XDQP.js +0 -220
  395. package/dist/chunk-4WF3XDQP.js.map +0 -7
  396. package/dist/chunk-55PGOBTR.js +0 -123
  397. package/dist/chunk-5RHE36DQ.js +0 -37
  398. package/dist/chunk-6456HESK.js +0 -160
  399. package/dist/chunk-6THPWBBU.js +0 -102
  400. package/dist/chunk-6ZLCBVJA.js +0 -54
  401. package/dist/chunk-7AYGTMED.js +0 -182
  402. package/dist/chunk-7AYGTMED.js.map +0 -7
  403. package/dist/chunk-7ROMS7YT.js +0 -626
  404. package/dist/chunk-7UFK4GVI.js +0 -263
  405. package/dist/chunk-7UFK4GVI.js.map +0 -7
  406. package/dist/chunk-ALXSSRGI.js +0 -263
  407. package/dist/chunk-AT7HWXMW.js +0 -302
  408. package/dist/chunk-AVR4LFOO.js +0 -194
  409. package/dist/chunk-BY5B5BM5.js +0 -170
  410. package/dist/chunk-BZ36NJHA.js +0 -797
  411. package/dist/chunk-BZKHE26Z.js +0 -340
  412. package/dist/chunk-CBRZIMNF.js +0 -217
  413. package/dist/chunk-CTO247UZ.js +0 -5069
  414. package/dist/chunk-CTO247UZ.js.map +0 -7
  415. package/dist/chunk-D27C6HZW.js +0 -50
  416. package/dist/chunk-D73PJ4WC.js +0 -512
  417. package/dist/chunk-D73PJ4WC.js.map +0 -7
  418. package/dist/chunk-DLXMO6EK.js +0 -494
  419. package/dist/chunk-EK7CQC3P.js +0 -100
  420. package/dist/chunk-FCMHDCMO.js +0 -56
  421. package/dist/chunk-GJFG2MML.js +0 -1254
  422. package/dist/chunk-GQQ4R6BI.js +0 -24060
  423. package/dist/chunk-GQQ4R6BI.js.map +0 -7
  424. package/dist/chunk-HENLCRVM.js +0 -2126
  425. package/dist/chunk-I56CSICA.js +0 -292
  426. package/dist/chunk-I5KBI5PC.js +0 -274
  427. package/dist/chunk-IHDVUZFC.js +0 -1947
  428. package/dist/chunk-IHDVUZFC.js.map +0 -7
  429. package/dist/chunk-IUA3PSTK.js +0 -6360
  430. package/dist/chunk-J3TIXBCS.js +0 -276
  431. package/dist/chunk-JJHMFHRC.js +0 -257
  432. package/dist/chunk-JJHMFHRC.js.map +0 -7
  433. package/dist/chunk-JPQSDB2H.js +0 -102
  434. package/dist/chunk-LIMDUEVX.js +0 -1336
  435. package/dist/chunk-LIMDUEVX.js.map +0 -7
  436. package/dist/chunk-MECQLU4J.js +0 -243
  437. package/dist/chunk-MEJMWIBD.js +0 -187
  438. package/dist/chunk-MT5MHYL3.js +0 -480
  439. package/dist/chunk-NVH5I6EP.js +0 -176
  440. package/dist/chunk-OGQMELRU.js +0 -14
  441. package/dist/chunk-PBRW6QLS.js +0 -4274
  442. package/dist/chunk-PPJMCBVT.js +0 -82
  443. package/dist/chunk-PPJMCBVT.js.map +0 -7
  444. package/dist/chunk-RRI3RX4A.js +0 -2669
  445. package/dist/chunk-RRI3RX4A.js.map +0 -7
  446. package/dist/chunk-S2D6GH6D.js +0 -465
  447. package/dist/chunk-SACNULB3.js +0 -368
  448. package/dist/chunk-SEJGXC2L.js +0 -141
  449. package/dist/chunk-TMZZ4Z7L.js +0 -34
  450. package/dist/chunk-TRWFL52W.js +0 -446
  451. package/dist/chunk-VP2FPPLA.js +0 -70
  452. package/dist/chunk-VTYMSJGY.js +0 -49
  453. package/dist/chunk-WEF6INPI.js +0 -2784
  454. package/dist/chunk-WO4CL5JL.js +0 -240
  455. package/dist/chunk-WVVH56ZU.js +0 -2327
  456. package/dist/chunk-WZTZJNSG.js +0 -2899
  457. package/dist/chunk-XPSUKXMF.js +0 -556
  458. package/dist/chunk-XPSUKXMF.js.map +0 -7
  459. package/dist/chunk-XXITHNR2.js +0 -134
  460. package/dist/chunk-YCLNEB4L.js +0 -158
  461. package/dist/chunk-ZPFN3CYR.js +0 -55
  462. package/dist/cohort-JCMVMOBQ.js +0 -69
  463. package/dist/condition-SHRWEMG7.js +0 -326
  464. package/dist/controls-EKIHLQS6.js +0 -33
  465. package/dist/controls.config-WSVX6UC6.js +0 -33
  466. package/dist/correlation-ALFFZLKD.js +0 -94
  467. package/dist/customdata.inputui-L2UAIU6I.js +0 -283
  468. package/dist/dataDownload-73N5364T.js +0 -328
  469. package/dist/databrowser.ui-NTOGXDYE.js +0 -424
  470. package/dist/dictionary-CUAU2X6Q.js +0 -112
  471. package/dist/dnaMethylation-AGWAGXVD.js +0 -32
  472. package/dist/dnaMethylation.integration.spec-K22XXOU4.js +0 -197
  473. package/dist/dofetch-BVJ77SP7.js +0 -48
  474. package/dist/e2pca-4HIJWLSC.js +0 -343
  475. package/dist/ep-U4RGH62P.js +0 -1248
  476. package/dist/expclust.gdc.spec-JJGGQDQK.js +0 -301
  477. package/dist/facet-NNUPVXCG.js +0 -518
  478. package/dist/gb-2MYXJEMY.js +0 -80
  479. package/dist/geneExpClustering-6ORRRH43.js +0 -243
  480. package/dist/geneExpression-4JVWKJWP.js +0 -310
  481. package/dist/geneExpression-MARWAIHW.js +0 -32
  482. package/dist/geneExpression.unit.spec-3CQTUSDK.js +0 -96
  483. package/dist/geneORA-M2L2YEX3.js +0 -272
  484. package/dist/geneRanking-S2B3LSTU.js +0 -547
  485. package/dist/geneVariant-D2ANGINP.js +0 -35
  486. package/dist/geneVariant-T4NG72OL.js +0 -33
  487. package/dist/geneVariant.integration.spec-62NJS7GD.js +0 -192
  488. package/dist/genefusion.ui-4ZZNKANU.js +0 -302
  489. package/dist/geneset-QCLFANPD.js +0 -202
  490. package/dist/genomeBrowser.spec-BV5M6JFN.js +0 -275
  491. package/dist/grin2-J4VDS2JT.js +0 -1136
  492. package/dist/grin2-K5G3N5XP.js +0 -69
  493. package/dist/hierCluster-FMK524WF.js +0 -57
  494. package/dist/hierCluster-XF7ZWVKD.js +0 -53
  495. package/dist/hierCluster.config-LYAQCO3L.js +0 -34
  496. package/dist/hierCluster.integration.spec-NSLTJBL4.js +0 -482
  497. package/dist/hierCluster.interactivity-VKAOR2DR.js +0 -48
  498. package/dist/hierCluster.renderers-6C5F7LRL.js +0 -19
  499. package/dist/imagePlot-IPTIFVLT.js +0 -155
  500. package/dist/importPlot-V3P6DCUR.js +0 -8
  501. package/dist/isoformExpression-6IIPJI4M.js +0 -34
  502. package/dist/isoformExpression.unit.spec-IYZWSLO5.js +0 -236
  503. package/dist/junction-E6FB2OP4.js +0 -35
  504. package/dist/junction.unit.spec-M4EN7KPG.js +0 -181
  505. package/dist/launch.adhoc-SU5L2YXN.js +0 -36
  506. package/dist/leftlabel.sample-5WTK5NBD.js +0 -257
  507. package/dist/lollipop-L64ZTEEX.js +0 -165
  508. package/dist/maf-QLNFANWO.js +0 -454
  509. package/dist/maftimeline-U7FMTMTV.js +0 -586
  510. package/dist/matrix-GFVK3PEB.js +0 -57
  511. package/dist/matrix-HFJQGPJJ.js +0 -52
  512. package/dist/matrix.cells-5JKTBI3X.js +0 -26
  513. package/dist/matrix.config-QPTQ22RR.js +0 -35
  514. package/dist/matrix.data-MXIUMSRR.js +0 -23
  515. package/dist/matrix.dom-ENBFB4CW.js +0 -11
  516. package/dist/matrix.groups-6DYTBVGR.js +0 -25
  517. package/dist/matrix.integration.spec-X4HM67TN.js +0 -3066
  518. package/dist/matrix.interactivity-QTB56LXE.js +0 -36
  519. package/dist/matrix.layout-VQAORIIH.js +0 -38
  520. package/dist/matrix.legend-SDJXYNHE.js +0 -20
  521. package/dist/matrix.renderers-6PMYIP2S.js +0 -32
  522. package/dist/matrix.serieses-WWY7474U.js +0 -19
  523. package/dist/matrix.sort-V46C2MAZ.js +0 -25
  524. package/dist/matrix.sort.unit.spec-3RM7V6CS.js +0 -466
  525. package/dist/matrix.sorterUi.unit.spec-YOV6FBRT.js +0 -336
  526. package/dist/mavb-PJA76T7F.js +0 -726
  527. package/dist/mds.fimo-GW7XPJGQ.js +0 -512
  528. package/dist/mds.samplescatterplot-ZAIEWPO4.js +0 -1544
  529. package/dist/mds.survivalplot-ETLLFDWR.js +0 -476
  530. package/dist/multivalue-AZPAQJQD.js +0 -82
  531. package/dist/numericDictTermCluster-KOJODGZT.js +0 -63
  532. package/dist/oncomatrix-2TRXETOJ.js +0 -289
  533. package/dist/oncomatrix.spec-DOVKLS24.js +0 -442
  534. package/dist/plot.2dvaf-RQN6QADW.js +0 -371
  535. package/dist/plot.app-MOIVGIS6.js +0 -35
  536. package/dist/plot.barplot-46QRWJOX.js +0 -96
  537. package/dist/plot.boxplot-54J4UWQX.js +0 -145
  538. package/dist/plot.brainImaging-Y32KQFLS.js +0 -51
  539. package/dist/plot.disco-4R5J7Z5S.js +0 -99
  540. package/dist/plot.ssgq-6LCKYRYD.js +0 -133
  541. package/dist/plot.vaf2cov-UCBH4NSC.js +0 -252
  542. package/dist/plot.wsi-DAC7NUQE.js +0 -36
  543. package/dist/polar2-JKV74QV5.js +0 -231
  544. package/dist/profileForms-VDYCFH4M.js +0 -933
  545. package/dist/profilePlot-PR3LVRYU.js +0 -48
  546. package/dist/proteinView-A3EM6OR5.js +0 -1561
  547. package/dist/proteomeCohortCompare-QGFEJTDQ.js +0 -793
  548. package/dist/proteomeCohortCompare-QGFEJTDQ.js.map +0 -7
  549. package/dist/pseudbulk.unit.spec-CUMTLAH7.js +0 -85
  550. package/dist/pseudobulk-5E5MSMU3.js +0 -34
  551. package/dist/qualitative-WPXUBISK.js +0 -37
  552. package/dist/radar2-A5OYMORS.js +0 -326
  553. package/dist/radarFacility2-4TPJB6M4.js +0 -334
  554. package/dist/render-XQBWWS33.js +0 -32
  555. package/dist/report-NCJOTYIC.js +0 -216
  556. package/dist/sampleView-2PUSMG4W.js +0 -42
  557. package/dist/samplelst-FV7BAUN5.js +0 -105
  558. package/dist/samplematrix-DFD3PNI4.js +0 -2192
  559. package/dist/sc-GIMTDVLG.js +0 -80
  560. package/dist/scatter-4GJ5HKUY.js +0 -879
  561. package/dist/scatter-P3ISZB3R.js +0 -87
  562. package/dist/selectGenomeWithTklst-ZZ4CEHDU.js +0 -128
  563. package/dist/singleCellCellType-CEERCVTR.js +0 -32
  564. package/dist/singleCellCellType.unit.spec-JNEIICK5.js +0 -153
  565. package/dist/singleCellGeneExpression-G5B7DDES.js +0 -32
  566. package/dist/singleCellGeneExpression.unit.spec-CGRZGY66.js +0 -147
  567. package/dist/singleCellPlot-US5KTHS4.js +0 -48
  568. package/dist/singlecell-IPTSIKNA.js +0 -1565
  569. package/dist/singlecell-VB4KLPJF.js +0 -80
  570. package/dist/snp-6V2SCCRN.js +0 -32
  571. package/dist/snp.unit.spec-Q537NGVG.js +0 -170
  572. package/dist/snplocus-BV6WJTVP.js +0 -202
  573. package/dist/spliceevent.a53ss.diagram-3BUQVK4Q.js +0 -145
  574. package/dist/spliceevent.exonskip.diagram-CQZ2DFQ5.js +0 -277
  575. package/dist/spliceevent.noeventdiagram-QAEPR6LD.js +0 -454
  576. package/dist/ssGSEA-XNI5S7AC.js +0 -32
  577. package/dist/ssGSEA.unit.spec-A337IMC7.js +0 -82
  578. package/dist/stattable-J4ZQKJFM.js +0 -116
  579. package/dist/studyCatalog-BJTJJGBC.js +0 -352
  580. package/dist/studyCatalog-BJTJJGBC.js.map +0 -7
  581. package/dist/summarizeCnvGeneexp-76UJXLA4.js +0 -157
  582. package/dist/summarizeGeneexpSurvival-ZUEHXA2R.js +0 -104
  583. package/dist/summarizeMutationCnv-EBCBVMG6.js +0 -158
  584. package/dist/summarizeMutationDiagnosis-VLFI2ZIZ.js +0 -34
  585. package/dist/summarizeMutationSurvival-QRFMJLLO.js +0 -93
  586. package/dist/summary-U3YKEMZC.js +0 -41
  587. package/dist/summary.integration.spec-52WP6SNY.js +0 -408
  588. package/dist/summaryInput-WUJNHCGH.js +0 -225
  589. package/dist/sunburst-IJ3ZG2BC.js +0 -277
  590. package/dist/survival-F2B5JKOO.js +0 -1236
  591. package/dist/survival-SQRYWGWZ.js +0 -52
  592. package/dist/survival.integration.spec-YGRZJ2OL.js +0 -967
  593. package/dist/survival.integration.spec-YGRZJ2OL.js.map +0 -7
  594. package/dist/svgraph-HVCMF6KI.js +0 -1381
  595. package/dist/svmr-PROHTMTP.js +0 -3836
  596. package/dist/table-3E64OJNV.js +0 -196
  597. package/dist/termCollection-MUH7P6B5.js +0 -32
  598. package/dist/termCollection-WKT6ESMI.js +0 -251
  599. package/dist/termCollection.unit.spec-XMOCMVER.js +0 -298
  600. package/dist/termCollectionFractionSelection-P5G6WIJJ.js +0 -41
  601. package/dist/termCollectionFractionSelection.unit.spec-MG7E3EIZ.js +0 -187
  602. package/dist/tk-HWUPUGOS.js +0 -1120
  603. package/dist/tk-SBM2GN3S.js +0 -40
  604. package/dist/tp.ui-RRB5MJRD.js +0 -1453
  605. package/dist/tvs.dt-I2ECKHQ2.js +0 -33
  606. package/dist/tvs.dtcnv.categorical-7RJPQKMX.js +0 -34
  607. package/dist/tvs.dtcnv.continuous-FW4ZXIYY.js +0 -66
  608. package/dist/tvs.dtfusion-3GDWW3ML.js +0 -34
  609. package/dist/tvs.dtitd-FER4H4UO.js +0 -34
  610. package/dist/tvs.dtsnvindel-ISEOJ5UA.js +0 -34
  611. package/dist/tvs.dtsv-JDML7EWE.js +0 -34
  612. package/dist/tvs.samplelst-MJTM6GSV.js +0 -98
  613. package/dist/tvs.termCollection-GMOXBJWF.js +0 -123
  614. package/dist/vocabulary-5EJMLXI2.js +0 -35
  615. package/dist/vocabulary-5EJMLXI2.js.map +0 -7
  616. package/dist/wsi.direct-IVPACPNT.js +0 -75
  617. /package/dist/{2dmaf-I4HBWRNQ.js.map → 2dmaf-6CEBP4SA.js.map} +0 -0
  618. /package/dist/{AIProjectAdmin-SZYSG7HR.js.map → AIProjectAdmin-2CKKFC3A.js.map} +0 -0
  619. /package/dist/{AggregateMatrix-U7HHALFR.js.map → AggregateMatrix-5TBUMFE5.js.map} +0 -0
  620. /package/dist/{AppHeader-O4RBZQZF.js.map → AppHeader-5YBPWF44.js.map} +0 -0
  621. /package/dist/{BoxPlot-NOXWAGX6.js.map → BoxPlot-UOJS5SJV.js.map} +0 -0
  622. /package/dist/{CorrelationVolcano-IJ5UT6N5.js.map → CorrelationVolcano-KX6JPZMT.js.map} +0 -0
  623. /package/dist/{Cuminc-NGUDAOAD.js.map → Cuminc-TLOOLZWR.js.map} +0 -0
  624. /package/dist/{DE-MIAHOI5J.js.map → DE-HUQLQ2Z3.js.map} +0 -0
  625. /package/dist/{DEinput-FYBSL2ER.js.map → DEinput-WWUISAF2.js.map} +0 -0
  626. /package/dist/{DifferentialAnalysis-I6S5YQXY.js.map → DifferentialAnalysis-6DTAGCEY.js.map} +0 -0
  627. /package/dist/{Disco-VLUBOZDC.js.map → Disco-P6ZLPYLF.js.map} +0 -0
  628. /package/dist/{Disco.UI-QQYWQEW7.js.map → Disco.UI-WGTMAFK2.js.map} +0 -0
  629. /package/dist/{DmrPlot-DFOBEN7A.js.map → DmrPlot-3FRU5KUK.js.map} +0 -0
  630. /package/dist/{GB-5FSXJMEZ.js.map → GB-NWOBARL3.js.map} +0 -0
  631. /package/dist/{GSEA-JISHQOVY.js.map → GSEA-DEEUAAMI.js.map} +0 -0
  632. /package/dist/{GeneExpInput-5YEX22VD.js.map → GeneExpInput-6QWGEAFV.js.map} +0 -0
  633. /package/dist/{Geomap-YVF6YBK5.js.map → Geomap-6HT2B7RH.js.map} +0 -0
  634. /package/dist/{HicApp-ZCMOOKTY.js.map → HicApp-PCNOUULF.js.map} +0 -0
  635. /package/dist/{IDCViewer-5ZNTAEUG.js.map → IDCViewer-H3QPXVM3.js.map} +0 -0
  636. /package/dist/{NumBinaryEditor-BEF5YCKI.js.map → NumBinaryEditor-IU6OLMKN.js.map} +0 -0
  637. /package/dist/{NumBinaryEditor.unit.spec-GCYZGHB2.js.map → NumBinaryEditor.unit.spec-YUPUILIV.js.map} +0 -0
  638. /package/dist/{NumContEditor-TUXPB6YJ.js.map → NumContEditor-KFDA76QN.js.map} +0 -0
  639. /package/dist/{NumContEditor.unit.spec-5CMHHWIP.js.map → NumContEditor.unit.spec-QBOT5QHU.js.map} +0 -0
  640. /package/dist/{NumCustomBinEditor-HS7RSGFV.js.map → NumCustomBinEditor-EOSTEXLB.js.map} +0 -0
  641. /package/dist/{NumCustomBinEditor.unit.spec-MM3JJXT4.js.map → NumCustomBinEditor.unit.spec-B46XWFYH.js.map} +0 -0
  642. /package/dist/{NumDiscreteEditor-ZL7PP6ZT.js.map → NumDiscreteEditor-Y4EAADXC.js.map} +0 -0
  643. /package/dist/{NumDiscreteEditor.unit.spec-OEWX2KJC.js.map → NumDiscreteEditor.unit.spec-SJGHLWSM.js.map} +0 -0
  644. /package/dist/{NumRegularBinEditor-YBXK7YV6.js.map → NumRegularBinEditor-3BNG7DIN.js.map} +0 -0
  645. /package/dist/{NumRegularBinEditor.unit.spec-FVHN4J5L.js.map → NumRegularBinEditor.unit.spec-KM45QXXG.js.map} +0 -0
  646. /package/dist/{NumSplineEditor-VN4XBTTI.js.map → NumSplineEditor-K4KPDC4S.js.map} +0 -0
  647. /package/dist/{NumSplineEditor.unit.spec-AI642DWP.js.map → NumSplineEditor.unit.spec-TKQP5XTS.js.map} +0 -0
  648. /package/dist/{NumericDensity-2KTY7DGH.js.map → NumericDensity-Z6JFVN3D.js.map} +0 -0
  649. /package/dist/{NumericDensity.unit.spec-6EA72A24.js.map → NumericDensity.unit.spec-YEYBVLEP.js.map} +0 -0
  650. /package/dist/{NumericHandler-62EN6AD3.js.map → NumericHandler-ITT6HMPN.js.map} +0 -0
  651. /package/dist/{NumericHandler.unit.spec-FXOJ2L2L.js.map → NumericHandler.unit.spec-QVONMXY4.js.map} +0 -0
  652. /package/dist/{ProteomeInput-MBBDXO2Z.js.map → ProteomeInput-PRS3DEMZ.js.map} +0 -0
  653. /package/dist/{RunChart2-RHZFHH4M.js.map → RunChart2-AMM2JFF5.js.map} +0 -0
  654. /package/dist/{SC-FAQXOHO4.js.map → SC-F7IE66VZ.js.map} +0 -0
  655. /package/dist/{Violin-2A3ICNBP.js.map → Violin-RJ6OJZ4F.js.map} +0 -0
  656. /package/dist/{Volcano-X5KGHLHZ.js.map → Volcano-BJA5HN5Y.js.map} +0 -0
  657. /package/dist/{WSIViewer-F2SD6LLP.js.map → WSIViewer-RJZGRUIR.js.map} +0 -0
  658. /package/dist/{Wsi-KAFAC3Q5.js.map → Wsi-DXP6KOQA.js.map} +0 -0
  659. /package/dist/{WsiSamplesPlot-VKPMLDZI.js.map → WsiSamplesPlot-2IAWV2B6.js.map} +0 -0
  660. /package/dist/{adSandbox-QKG5EA23.js.map → adSandbox-RGWOIV3W.js.map} +0 -0
  661. /package/dist/{animatedBubbleChart-ES62XWMN.js.map → animatedBubbleChart-J4Q2NAEW.js.map} +0 -0
  662. /package/dist/{app-2HLLOBTD.js.map → app-3QXNR4VG.js.map} +0 -0
  663. /package/dist/{app-GJL6K6V4.js.map → app-B4B7YNP3.js.map} +0 -0
  664. /package/dist/{bam-DCPAAVPX.js.map → bam-LRUMN45P.js.map} +0 -0
  665. /package/dist/{barchart-DCVGCEZO.js.map → barchart-L2G6GEHK.js.map} +0 -0
  666. /package/dist/{barchart2-5X57VSIN.js.map → barchart2-DWNVAZAJ.js.map} +0 -0
  667. /package/dist/{block-XYSUTBXJ.js.map → block-TVEVAXNP.js.map} +0 -0
  668. /package/dist/{block.init-5B27QKPU.js.map → block.init-YOHAKPRI.js.map} +0 -0
  669. /package/dist/{block.mds.expressionrank-Z7BGGPZ7.js.map → block.mds.expressionrank-PU6JH4W5.js.map} +0 -0
  670. /package/dist/{block.mds.geneboxplot-4U4UZH2J.js.map → block.mds.geneboxplot-WYYFDNE3.js.map} +0 -0
  671. /package/dist/{block.mds.junction-ZPCUEQZJ.js.map → block.mds.junction-4WCTL7Y4.js.map} +0 -0
  672. /package/dist/{block.mds.svcnv-OGGPBOL2.js.map → block.mds.svcnv-MR3VCYUW.js.map} +0 -0
  673. /package/dist/{block.svg-BWGAMNDS.js.map → block.svg-LR3Y4ZO7.js.map} +0 -0
  674. /package/dist/{block.tk.aicheck-XHHW7WST.js.map → block.tk.aicheck-A5AWKJZI.js.map} +0 -0
  675. /package/dist/{block.tk.ase-BZ2IL3CQ.js.map → block.tk.ase-AQBBAQEH.js.map} +0 -0
  676. /package/dist/{block.tk.bam-WRHOOWXN.js.map → block.tk.bam-QBTA2O3V.js.map} +0 -0
  677. /package/dist/{block.tk.bedgraphdot-B536STRA.js.map → block.tk.bedgraphdot-4ALZG2MY.js.map} +0 -0
  678. /package/dist/{block.tk.bigwig.ui-K5X3BSQC.js.map → block.tk.bigwig.ui-32W6XW37.js.map} +0 -0
  679. /package/dist/{block.tk.hicstraw-OYOKZ45W.js.map → block.tk.hicstraw-PKBHBAG2.js.map} +0 -0
  680. /package/dist/{block.tk.junction-S5JMMMR6.js.map → block.tk.junction-AO5CXUCU.js.map} +0 -0
  681. /package/dist/{block.tk.junction.textmatrixui-OLZY5BYR.js.map → block.tk.junction.textmatrixui-RORVUIPI.js.map} +0 -0
  682. /package/dist/{block.tk.ld-KINDO5UU.js.map → block.tk.ld-TNBSR4FT.js.map} +0 -0
  683. /package/dist/{block.tk.menu-3FNBVZ7J.js.map → block.tk.menu-QDJO54J5.js.map} +0 -0
  684. /package/dist/{block.tk.pgv-UHDY3T4G.js.map → block.tk.pgv-6222WWYR.js.map} +0 -0
  685. /package/dist/{brainRegions-YI7K4OVE.js.map → brainRegions-KTFH6DE2.js.map} +0 -0
  686. /package/dist/{bubbleHeatmap-EQ44CSG5.js.map → bubbleHeatmap-LNXZLFY6.js.map} +0 -0
  687. /package/dist/{cellTypeBubbleHeatmap-O3KL2YBF.js.map → cellTypeBubbleHeatmap-SRHUNX3S.js.map} +0 -0
  688. /package/dist/{chunk-7ROMS7YT.js.map → chunk-3TXVDBGN.js.map} +0 -0
  689. /package/dist/{chunk-I5KBI5PC.js.map → chunk-4HLHKBHP.js.map} +0 -0
  690. /package/dist/{chunk-4KUGV44F.js.map → chunk-5GG7Q2ZG.js.map} +0 -0
  691. /package/dist/{chunk-4GN3CSDT.js.map → chunk-5PMFCQKC.js.map} +0 -0
  692. /package/dist/{chunk-HENLCRVM.js.map → chunk-6X7PP7A4.js.map} +0 -0
  693. /package/dist/{chunk-6ZLCBVJA.js.map → chunk-A3EDLRUN.js.map} +0 -0
  694. /package/dist/{chunk-OGQMELRU.js.map → chunk-ACXFPMJP.js.map} +0 -0
  695. /package/dist/{chunk-JPQSDB2H.js.map → chunk-ASRW3UJ5.js.map} +0 -0
  696. /package/dist/{chunk-NVH5I6EP.js.map → chunk-BBILSUDX.js.map} +0 -0
  697. /package/dist/{chunk-EK7CQC3P.js.map → chunk-BOWI37X2.js.map} +0 -0
  698. /package/dist/{chunk-SACNULB3.js.map → chunk-BVA26EFK.js.map} +0 -0
  699. /package/dist/{chunk-BZ36NJHA.js.map → chunk-D5J57ENI.js.map} +0 -0
  700. /package/dist/{chunk-I56CSICA.js.map → chunk-E5BFGDLA.js.map} +0 -0
  701. /package/dist/{chunk-XXITHNR2.js.map → chunk-ECISCOPF.js.map} +0 -0
  702. /package/dist/{chunk-YCLNEB4L.js.map → chunk-ECLUUJVE.js.map} +0 -0
  703. /package/dist/{chunk-2OEMKKLP.js.map → chunk-EGDQ5I54.js.map} +0 -0
  704. /package/dist/{chunk-FCMHDCMO.js.map → chunk-ELNVTA7O.js.map} +0 -0
  705. /package/dist/{chunk-DLXMO6EK.js.map → chunk-F4PMOAQK.js.map} +0 -0
  706. /package/dist/{chunk-WVVH56ZU.js.map → chunk-FISQTHD4.js.map} +0 -0
  707. /package/dist/{chunk-GJFG2MML.js.map → chunk-HL6GJIOH.js.map} +0 -0
  708. /package/dist/{chunk-ZPFN3CYR.js.map → chunk-IGZAOCTU.js.map} +0 -0
  709. /package/dist/{chunk-IUA3PSTK.js.map → chunk-JMDJI7KM.js.map} +0 -0
  710. /package/dist/{chunk-VTYMSJGY.js.map → chunk-JQVA264Z.js.map} +0 -0
  711. /package/dist/{chunk-WEF6INPI.js.map → chunk-JRF7SRLB.js.map} +0 -0
  712. /package/dist/{chunk-25RPYQRT.js.map → chunk-KLWSW6CC.js.map} +0 -0
  713. /package/dist/{chunk-AVR4LFOO.js.map → chunk-KNNSOOTG.js.map} +0 -0
  714. /package/dist/{chunk-BY5B5BM5.js.map → chunk-KTPXQH2N.js.map} +0 -0
  715. /package/dist/{chunk-J3TIXBCS.js.map → chunk-LGKXSWY4.js.map} +0 -0
  716. /package/dist/{chunk-PBRW6QLS.js.map → chunk-LP2GIXVK.js.map} +0 -0
  717. /package/dist/{chunk-AT7HWXMW.js.map → chunk-MBHERRJR.js.map} +0 -0
  718. /package/dist/{chunk-MT5MHYL3.js.map → chunk-MLYQDJUQ.js.map} +0 -0
  719. /package/dist/{chunk-TRWFL52W.js.map → chunk-NBGDLLMX.js.map} +0 -0
  720. /package/dist/{chunk-D27C6HZW.js.map → chunk-P3JEXVBT.js.map} +0 -0
  721. /package/dist/{chunk-TMZZ4Z7L.js.map → chunk-PZPPJY4K.js.map} +0 -0
  722. /package/dist/{chunk-SEJGXC2L.js.map → chunk-Q6JF4ZLT.js.map} +0 -0
  723. /package/dist/{chunk-ALXSSRGI.js.map → chunk-QF5IH7PC.js.map} +0 -0
  724. /package/dist/{chunk-S2D6GH6D.js.map → chunk-QJ6SO7CF.js.map} +0 -0
  725. /package/dist/{chunk-WZTZJNSG.js.map → chunk-QQUOVIOM.js.map} +0 -0
  726. /package/dist/{chunk-WO4CL5JL.js.map → chunk-R3OBOAOF.js.map} +0 -0
  727. /package/dist/{chunk-VP2FPPLA.js.map → chunk-SPDNUC76.js.map} +0 -0
  728. /package/dist/{chunk-5RHE36DQ.js.map → chunk-T3663ZQL.js.map} +0 -0
  729. /package/dist/{chunk-BZKHE26Z.js.map → chunk-TSK4ZTFK.js.map} +0 -0
  730. /package/dist/{chunk-CBRZIMNF.js.map → chunk-USW6WRDZ.js.map} +0 -0
  731. /package/dist/{chunk-34AV6DED.js.map → chunk-WBMYHNKH.js.map} +0 -0
  732. /package/dist/{chunk-MEJMWIBD.js.map → chunk-X46LAU4Q.js.map} +0 -0
  733. /package/dist/{chunk-254KEDDH.js.map → chunk-XE6E526E.js.map} +0 -0
  734. /package/dist/{chunk-55PGOBTR.js.map → chunk-XWCWBHLB.js.map} +0 -0
  735. /package/dist/{chunk-6456HESK.js.map → chunk-YCECQV3T.js.map} +0 -0
  736. /package/dist/{chunk-MECQLU4J.js.map → chunk-Z4NADGZX.js.map} +0 -0
  737. /package/dist/{chunk-6THPWBBU.js.map → chunk-Z53KOPRJ.js.map} +0 -0
  738. /package/dist/{cohort-JCMVMOBQ.js.map → cohort-U7M6Q2UX.js.map} +0 -0
  739. /package/dist/{condition-SHRWEMG7.js.map → condition-EGAV2PMJ.js.map} +0 -0
  740. /package/dist/{controls-EKIHLQS6.js.map → controls-PTMYWUZV.js.map} +0 -0
  741. /package/dist/{controls.config-WSVX6UC6.js.map → controls.config-DOA6PTP2.js.map} +0 -0
  742. /package/dist/{correlation-ALFFZLKD.js.map → correlation-Y3EL6GB7.js.map} +0 -0
  743. /package/dist/{customdata.inputui-L2UAIU6I.js.map → customdata.inputui-4NDDG6FL.js.map} +0 -0
  744. /package/dist/{dataDownload-73N5364T.js.map → dataDownload-EQGUAOK2.js.map} +0 -0
  745. /package/dist/{databrowser.ui-NTOGXDYE.js.map → databrowser.ui-ABGOJUWQ.js.map} +0 -0
  746. /package/dist/{dictionary-CUAU2X6Q.js.map → dictionary-YOLLEDE5.js.map} +0 -0
  747. /package/dist/{dnaMethylation-AGWAGXVD.js.map → dnaMethylation-JZT63UHO.js.map} +0 -0
  748. /package/dist/{dnaMethylation.integration.spec-K22XXOU4.js.map → dnaMethylation.integration.spec-EATCABJW.js.map} +0 -0
  749. /package/dist/{dofetch-BVJ77SP7.js.map → dofetch-YNBIUFV5.js.map} +0 -0
  750. /package/dist/{e2pca-4HIJWLSC.js.map → e2pca-RD6COCRL.js.map} +0 -0
  751. /package/dist/{ep-U4RGH62P.js.map → ep-BAI7WUET.js.map} +0 -0
  752. /package/dist/{expclust.gdc.spec-JJGGQDQK.js.map → expclust.gdc.spec-LKV2CQA5.js.map} +0 -0
  753. /package/dist/{facet-NNUPVXCG.js.map → facet-X3SXQIAC.js.map} +0 -0
  754. /package/dist/{gb-2MYXJEMY.js.map → gb-K324K7XB.js.map} +0 -0
  755. /package/dist/{geneExpClustering-6ORRRH43.js.map → geneExpClustering-BJD5U3KG.js.map} +0 -0
  756. /package/dist/{geneExpression-4JVWKJWP.js.map → geneExpression-2TK3XLZ5.js.map} +0 -0
  757. /package/dist/{geneExpression-MARWAIHW.js.map → geneExpression-F6NRTHZ4.js.map} +0 -0
  758. /package/dist/{geneExpression.unit.spec-3CQTUSDK.js.map → geneExpression.unit.spec-IFZN3J6A.js.map} +0 -0
  759. /package/dist/{geneORA-M2L2YEX3.js.map → geneORA-DUEP735U.js.map} +0 -0
  760. /package/dist/{geneRanking-S2B3LSTU.js.map → geneRanking-LURDNT7L.js.map} +0 -0
  761. /package/dist/{geneVariant-D2ANGINP.js.map → geneVariant-EAVCWQAZ.js.map} +0 -0
  762. /package/dist/{geneVariant.integration.spec-62NJS7GD.js.map → geneVariant.integration.spec-LHL4ERFO.js.map} +0 -0
  763. /package/dist/{genefusion.ui-4ZZNKANU.js.map → genefusion.ui-4T5R7DT7.js.map} +0 -0
  764. /package/dist/{geneset-QCLFANPD.js.map → geneset-3PWXPBG2.js.map} +0 -0
  765. /package/dist/{genomeBrowser.spec-BV5M6JFN.js.map → genomeBrowser.spec-5SEN7R2P.js.map} +0 -0
  766. /package/dist/{grin2-J4VDS2JT.js.map → grin2-EXBG7TMS.js.map} +0 -0
  767. /package/dist/{grin2-K5G3N5XP.js.map → grin2-XIXVFVWO.js.map} +0 -0
  768. /package/dist/{geneVariant-T4NG72OL.js.map → hierCluster-5XQIWXAY.js.map} +0 -0
  769. /package/dist/{hierCluster-FMK524WF.js.map → hierCluster-I4TAQWPF.js.map} +0 -0
  770. /package/dist/{hierCluster-XF7ZWVKD.js.map → hierCluster.config-T7HVAWES.js.map} +0 -0
  771. /package/dist/{hierCluster.integration.spec-NSLTJBL4.js.map → hierCluster.integration.spec-XWX43K4D.js.map} +0 -0
  772. /package/dist/{hierCluster.config-LYAQCO3L.js.map → hierCluster.interactivity-MYIDHFSL.js.map} +0 -0
  773. /package/dist/{hierCluster.interactivity-VKAOR2DR.js.map → hierCluster.renderers-YRXA5ZUK.js.map} +0 -0
  774. /package/dist/{imagePlot-IPTIFVLT.js.map → imagePlot-4JQB6JUG.js.map} +0 -0
  775. /package/dist/{hierCluster.renderers-6C5F7LRL.js.map → importPlot-D3MXCCLN.js.map} +0 -0
  776. /package/dist/{importPlot-V3P6DCUR.js.map → isoformExpression-WNGGUVIZ.js.map} +0 -0
  777. /package/dist/{isoformExpression.unit.spec-IYZWSLO5.js.map → isoformExpression.unit.spec-NVJ5TIKM.js.map} +0 -0
  778. /package/dist/{isoformExpression-6IIPJI4M.js.map → junction-O7N57JE3.js.map} +0 -0
  779. /package/dist/{junction.unit.spec-M4EN7KPG.js.map → junction.unit.spec-Z63DRTRR.js.map} +0 -0
  780. /package/dist/{junction-E6FB2OP4.js.map → launch.adhoc-MBDRXD3B.js.map} +0 -0
  781. /package/dist/{leftlabel.sample-5WTK5NBD.js.map → leftlabel.sample-IG6FOQ26.js.map} +0 -0
  782. /package/dist/{lollipop-L64ZTEEX.js.map → lollipop-ZUYBLPGN.js.map} +0 -0
  783. /package/dist/{maf-QLNFANWO.js.map → maf-QOS5LURG.js.map} +0 -0
  784. /package/dist/{maftimeline-U7FMTMTV.js.map → maftimeline-FEHP2J55.js.map} +0 -0
  785. /package/dist/{launch.adhoc-SU5L2YXN.js.map → matrix-BG4J4RXA.js.map} +0 -0
  786. /package/dist/{matrix-GFVK3PEB.js.map → matrix-PX4LWTGN.js.map} +0 -0
  787. /package/dist/{matrix-HFJQGPJJ.js.map → matrix.cells-PTIDQVCI.js.map} +0 -0
  788. /package/dist/{matrix.cells-5JKTBI3X.js.map → matrix.config-NHW7BLIE.js.map} +0 -0
  789. /package/dist/{matrix.config-QPTQ22RR.js.map → matrix.data-FMIQRXOA.js.map} +0 -0
  790. /package/dist/{matrix.data-MXIUMSRR.js.map → matrix.dom-4S2UYJOU.js.map} +0 -0
  791. /package/dist/{matrix.dom-ENBFB4CW.js.map → matrix.groups-QMID5XAO.js.map} +0 -0
  792. /package/dist/{matrix.integration.spec-X4HM67TN.js.map → matrix.integration.spec-H6T7KP5R.js.map} +0 -0
  793. /package/dist/{matrix.groups-6DYTBVGR.js.map → matrix.interactivity-WQUO25HB.js.map} +0 -0
  794. /package/dist/{matrix.interactivity-QTB56LXE.js.map → matrix.layout-CTPVZZ34.js.map} +0 -0
  795. /package/dist/{matrix.layout-VQAORIIH.js.map → matrix.legend-K6EYUN6L.js.map} +0 -0
  796. /package/dist/{matrix.legend-SDJXYNHE.js.map → matrix.renderers-5DIAUY6R.js.map} +0 -0
  797. /package/dist/{matrix.renderers-6PMYIP2S.js.map → matrix.serieses-LRMN2J52.js.map} +0 -0
  798. /package/dist/{matrix.serieses-WWY7474U.js.map → matrix.sort-RGAGEA6Z.js.map} +0 -0
  799. /package/dist/{matrix.sort.unit.spec-3RM7V6CS.js.map → matrix.sort.unit.spec-RGICZZJL.js.map} +0 -0
  800. /package/dist/{matrix.sorterUi.unit.spec-YOV6FBRT.js.map → matrix.sorterUi.unit.spec-45QPEGWE.js.map} +0 -0
  801. /package/dist/{mavb-PJA76T7F.js.map → mavb-VEIVB62L.js.map} +0 -0
  802. /package/dist/{mds.fimo-GW7XPJGQ.js.map → mds.fimo-BG4LTWFB.js.map} +0 -0
  803. /package/dist/{mds.samplescatterplot-ZAIEWPO4.js.map → mds.samplescatterplot-PWADJZ2J.js.map} +0 -0
  804. /package/dist/{mds.survivalplot-ETLLFDWR.js.map → mds.survivalplot-BX4HZ23K.js.map} +0 -0
  805. /package/dist/{multivalue-AZPAQJQD.js.map → multivalue-OZALSBFW.js.map} +0 -0
  806. /package/dist/{numericDictTermCluster-KOJODGZT.js.map → numericDictTermCluster-7PGJ7KV4.js.map} +0 -0
  807. /package/dist/{oncomatrix-2TRXETOJ.js.map → oncomatrix-Q2EQZPLS.js.map} +0 -0
  808. /package/dist/{oncomatrix.spec-DOVKLS24.js.map → oncomatrix.spec-YEQOQRPW.js.map} +0 -0
  809. /package/dist/{plot.2dvaf-RQN6QADW.js.map → plot.2dvaf-NJSB3HNH.js.map} +0 -0
  810. /package/dist/{matrix.sort-V46C2MAZ.js.map → plot.app-AEUR6XGI.js.map} +0 -0
  811. /package/dist/{plot.barplot-46QRWJOX.js.map → plot.barplot-OXN2P5KL.js.map} +0 -0
  812. /package/dist/{plot.boxplot-54J4UWQX.js.map → plot.boxplot-2KHEVVFE.js.map} +0 -0
  813. /package/dist/{plot.brainImaging-Y32KQFLS.js.map → plot.brainImaging-JWDX4BZG.js.map} +0 -0
  814. /package/dist/{plot.disco-4R5J7Z5S.js.map → plot.disco-LUFC5GGC.js.map} +0 -0
  815. /package/dist/{plot.ssgq-6LCKYRYD.js.map → plot.ssgq-FMM3IRNA.js.map} +0 -0
  816. /package/dist/{plot.vaf2cov-UCBH4NSC.js.map → plot.vaf2cov-K5TAQUC5.js.map} +0 -0
  817. /package/dist/{plot.wsi-DAC7NUQE.js.map → plot.wsi-CNQCNZ4Z.js.map} +0 -0
  818. /package/dist/{polar2-JKV74QV5.js.map → polar2-AB6SVYRS.js.map} +0 -0
  819. /package/dist/{profileForms-VDYCFH4M.js.map → profileForms-AIEHZ4GC.js.map} +0 -0
  820. /package/dist/{plot.app-MOIVGIS6.js.map → profilePlot-PZDFGXKZ.js.map} +0 -0
  821. /package/dist/{proteinView-A3EM6OR5.js.map → proteinView-7GWHQYXC.js.map} +0 -0
  822. /package/dist/{pseudbulk.unit.spec-CUMTLAH7.js.map → pseudbulk.unit.spec-NFT4VNTI.js.map} +0 -0
  823. /package/dist/{profilePlot-PR3LVRYU.js.map → pseudobulk-WDGWTXW4.js.map} +0 -0
  824. /package/dist/{pseudobulk-5E5MSMU3.js.map → qualitative-PZYJENE7.js.map} +0 -0
  825. /package/dist/{radar2-A5OYMORS.js.map → radar2-QHRGH3YS.js.map} +0 -0
  826. /package/dist/{radarFacility2-4TPJB6M4.js.map → radarFacility2-2JD26FL6.js.map} +0 -0
  827. /package/dist/{qualitative-WPXUBISK.js.map → render-YA4Z56LT.js.map} +0 -0
  828. /package/dist/{report-NCJOTYIC.js.map → report-2NUKFJTF.js.map} +0 -0
  829. /package/dist/{render-XQBWWS33.js.map → sampleView-2XVPJTVR.js.map} +0 -0
  830. /package/dist/{samplelst-FV7BAUN5.js.map → samplelst-DMILFDT5.js.map} +0 -0
  831. /package/dist/{samplematrix-DFD3PNI4.js.map → samplematrix-LYA5XTUM.js.map} +0 -0
  832. /package/dist/{sc-GIMTDVLG.js.map → sc-CM2C34MN.js.map} +0 -0
  833. /package/dist/{scatter-4GJ5HKUY.js.map → scatter-C3CH3HTF.js.map} +0 -0
  834. /package/dist/{scatter-P3ISZB3R.js.map → scatter-GO6LV6NY.js.map} +0 -0
  835. /package/dist/{selectGenomeWithTklst-ZZ4CEHDU.js.map → selectGenomeWithTklst-5C7UBTGZ.js.map} +0 -0
  836. /package/dist/{sampleView-2PUSMG4W.js.map → singleCellCellType-EZYESBVZ.js.map} +0 -0
  837. /package/dist/{singleCellCellType.unit.spec-JNEIICK5.js.map → singleCellCellType.unit.spec-DB6FM4XR.js.map} +0 -0
  838. /package/dist/{singleCellCellType-CEERCVTR.js.map → singleCellGeneExpression-DZLEFPW4.js.map} +0 -0
  839. /package/dist/{singleCellGeneExpression.unit.spec-CGRZGY66.js.map → singleCellGeneExpression.unit.spec-ZTBK3V43.js.map} +0 -0
  840. /package/dist/{singleCellGeneExpression-G5B7DDES.js.map → singleCellPlot-VF4TZ4FT.js.map} +0 -0
  841. /package/dist/{singlecell-IPTSIKNA.js.map → singlecell-2MHROPBN.js.map} +0 -0
  842. /package/dist/{singlecell-VB4KLPJF.js.map → singlecell-GPAFNOUZ.js.map} +0 -0
  843. /package/dist/{singleCellPlot-US5KTHS4.js.map → snp-K4EAEVW4.js.map} +0 -0
  844. /package/dist/{snp.unit.spec-Q537NGVG.js.map → snp.unit.spec-BUVQLVOY.js.map} +0 -0
  845. /package/dist/{snplocus-BV6WJTVP.js.map → snplocus-GEVISN6Z.js.map} +0 -0
  846. /package/dist/{spliceevent.a53ss.diagram-3BUQVK4Q.js.map → spliceevent.a53ss.diagram-5UPWNAZF.js.map} +0 -0
  847. /package/dist/{spliceevent.exonskip.diagram-CQZ2DFQ5.js.map → spliceevent.exonskip.diagram-7TKAQURC.js.map} +0 -0
  848. /package/dist/{spliceevent.noeventdiagram-QAEPR6LD.js.map → spliceevent.noeventdiagram-CDXZLR3Z.js.map} +0 -0
  849. /package/dist/{snp-6V2SCCRN.js.map → ssGSEA-NMCJUQXT.js.map} +0 -0
  850. /package/dist/{ssGSEA.unit.spec-A337IMC7.js.map → ssGSEA.unit.spec-3FQALTPQ.js.map} +0 -0
  851. /package/dist/{stattable-J4ZQKJFM.js.map → stattable-2RXQPWKK.js.map} +0 -0
  852. /package/dist/{summarizeCnvGeneexp-76UJXLA4.js.map → summarizeCnvGeneexp-4BQS5AFM.js.map} +0 -0
  853. /package/dist/{summarizeGeneexpSurvival-ZUEHXA2R.js.map → summarizeGeneexpSurvival-HTBZQFB5.js.map} +0 -0
  854. /package/dist/{summarizeMutationCnv-EBCBVMG6.js.map → summarizeMutationCnv-XUWZGPCM.js.map} +0 -0
  855. /package/dist/{ssGSEA-XNI5S7AC.js.map → summarizeMutationDiagnosis-QUJX42TO.js.map} +0 -0
  856. /package/dist/{summarizeMutationSurvival-QRFMJLLO.js.map → summarizeMutationSurvival-3R47TTR6.js.map} +0 -0
  857. /package/dist/{summarizeMutationDiagnosis-VLFI2ZIZ.js.map → summary-6UUB63QR.js.map} +0 -0
  858. /package/dist/{summary.integration.spec-52WP6SNY.js.map → summary.integration.spec-JJDE6SRV.js.map} +0 -0
  859. /package/dist/{summaryInput-WUJNHCGH.js.map → summaryInput-JG4AW6FW.js.map} +0 -0
  860. /package/dist/{sunburst-IJ3ZG2BC.js.map → sunburst-YKB42RZX.js.map} +0 -0
  861. /package/dist/{survival-SQRYWGWZ.js.map → survival-3IFFTDQA.js.map} +0 -0
  862. /package/dist/{survival-F2B5JKOO.js.map → survival-HOFNJENX.js.map} +0 -0
  863. /package/dist/{svgraph-HVCMF6KI.js.map → svgraph-WFEY4ZIZ.js.map} +0 -0
  864. /package/dist/{svmr-PROHTMTP.js.map → svmr-44EIX7YD.js.map} +0 -0
  865. /package/dist/{table-3E64OJNV.js.map → table-6MKVJUNC.js.map} +0 -0
  866. /package/dist/{termCollection-WKT6ESMI.js.map → termCollection-6JBVQL6Y.js.map} +0 -0
  867. /package/dist/{summary-U3YKEMZC.js.map → termCollection-TTELZVC5.js.map} +0 -0
  868. /package/dist/{termCollection.unit.spec-XMOCMVER.js.map → termCollection.unit.spec-6Z7X646L.js.map} +0 -0
  869. /package/dist/{termCollection-MUH7P6B5.js.map → termCollectionFractionSelection-5DVIJBM5.js.map} +0 -0
  870. /package/dist/{termCollectionFractionSelection.unit.spec-MG7E3EIZ.js.map → termCollectionFractionSelection.unit.spec-3HIM5BIF.js.map} +0 -0
  871. /package/dist/{termCollectionFractionSelection-P5G6WIJJ.js.map → tk-HSYWJCGQ.js.map} +0 -0
  872. /package/dist/{tk-HWUPUGOS.js.map → tk-PNOVG2XS.js.map} +0 -0
  873. /package/dist/{tp.ui-RRB5MJRD.js.map → tp.ui-COBBSUPB.js.map} +0 -0
  874. /package/dist/{tk-SBM2GN3S.js.map → tvs.dt-35AKURFI.js.map} +0 -0
  875. /package/dist/{tvs.dtcnv.categorical-7RJPQKMX.js.map → tvs.dtcnv.categorical-3EHXYROL.js.map} +0 -0
  876. /package/dist/{tvs.dtcnv.continuous-FW4ZXIYY.js.map → tvs.dtcnv.continuous-AXQ2GU6S.js.map} +0 -0
  877. /package/dist/{tvs.dtfusion-3GDWW3ML.js.map → tvs.dtfusion-PLJIMPNX.js.map} +0 -0
  878. /package/dist/{tvs.dtitd-FER4H4UO.js.map → tvs.dtitd-JS6RFBV5.js.map} +0 -0
  879. /package/dist/{tvs.dtsnvindel-ISEOJ5UA.js.map → tvs.dtsnvindel-MDEM5MPT.js.map} +0 -0
  880. /package/dist/{tvs.dtsv-JDML7EWE.js.map → tvs.dtsv-OU756YLO.js.map} +0 -0
  881. /package/dist/{tvs.samplelst-MJTM6GSV.js.map → tvs.samplelst-5NDICES4.js.map} +0 -0
  882. /package/dist/{tvs.termCollection-GMOXBJWF.js.map → tvs.termCollection-5URPDPH6.js.map} +0 -0
  883. /package/dist/{tvs.dt-I2ECKHQ2.js.map → vocabulary-CHCVMPK5.js.map} +0 -0
  884. /package/dist/{wsi.direct-IVPACPNT.js.map → wsi.direct-JSKV4H4X.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../shared/utils/src/termCollection.ts", "../../shared/utils/src/filter.ts", "../../shared/utils/src/geneVariantFilter.ts"],
4
+ "sourcesContent": ["import type { TermCollectionQFraction } from '#types'\n\ntype CollectionMemberLike = {\n\tid?: string\n\tname?: string\n\ttype?: string\n}\n\nexport type CollectionTermLike = {\n\ttermlst: CollectionMemberLike[]\n\t/** numerator/denominator member ids of a filter tvs, mirroring q.numerators[]/q.denominators[]\n\tof a fraction tw. only used by validateTermCollectionTvs() */\n\tnumerators?: string[]\n\tdenominators?: string[]\n}\n\n/** Validate the term obj of a termCollection, shared by the fraction tw and the filter tvs.\nReturns the set of member term ids, for validating id arrays e.g. numerators. */\nexport function validateTermCollectionTerm(term: CollectionTermLike): Set<string> {\n\tif (!Array.isArray(term?.termlst) || !term.termlst.length)\n\t\tthrow new Error('termCollection requires nonempty term.termlst[]')\n\tconst memberIds: Set<string> = new Set()\n\tconst types: Set<string> = new Set() // term types of member terms\n\tfor (const t of term.termlst) {\n\t\tif (typeof t.id != 'string' || !t.id) throw new Error('member term id not non-empty string') // id required for validating id arrays e.g. numerators\n\t\tif (typeof t.type != 'string' || !t.type) throw new Error('member term type not non-empty string')\n\t\tif (memberIds.has(t.id)) throw new Error(`duplicate member term id '${t.id}'`)\n\t\tmemberIds.add(t.id)\n\n\t\t// allow integer/float to be mixed in one collection\n\t\ttypes.add(t.type == 'integer' || t.type == 'float' ? 'numDict' : t.type)\n\t}\n\tif (types.size > 1) throw new Error('termCollection.termlst[] not allowed to mix multiple term types')\n\treturn memberIds\n}\n\n/** Validate the numerator/denominator member selection of a fraction, shared by the q{} of a\nfraction tw and the term of a filter tvs. Both lists are member term ids of the collection.\nmemberIds is returned by validateTermCollectionTerm() */\nexport function validateFractionMembers(numerators: string[], denominators: string[], memberIds: Set<string>): void {\n\tif (!Array.isArray(denominators) || !denominators.length) throw new Error('fraction requires nonempty denominators[]')\n\tif (!Array.isArray(numerators) || !numerators.length) throw new Error('fraction requires nonempty numerators[]')\n\tif (new Set(denominators).size !== denominators.length) throw new Error('fraction denominators[] contains duplicates')\n\tif (new Set(numerators).size !== numerators.length) throw new Error('fraction numerators[] contains duplicates')\n\tfor (const id of denominators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction denominator id not non-empty string')\n\t\tif (!memberIds.has(id)) throw new Error(`fraction denominator '${id}' is not a collection member`)\n\t}\n\tfor (const id of numerators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction numerator id not non-empty string')\n\t\t// no need to test against memberIds: denominators[] is already a subset of it\n\t\tif (!denominators.includes(id)) throw new Error(`fraction numerator '${id}' is not included in denominators[]`)\n\t}\n}\n\n/** tw.type of a termCollection that resolves to one numeric value per sample, the fraction\nof the numerator members over the denominator ones */\nexport const FRACTION_TW_TYPE = 'TermCollectionTWFraction'\n\n/** True when a tw is a fraction termCollection */\nexport function isFractionTw(tw: any): boolean {\n\treturn tw?.type === FRACTION_TW_TYPE && tw?.term?.type === 'termCollection'\n}\n\n/** Build the tvs.term for filtering on a fraction termCollection, e.g. from a clicked bar\nor a brushed violin. The member selection of a tw lives in q{}, but a tvs is standalone:\nthe server filter and the filter ui both read numerators[]/denominators[] from tvs.term.\nReturns a copy, so that editing the filter later does not mutate the plot term.\n@param tw a filled fraction termCollection tw\n@throws Error if the tw or its member selection is invalid */\nexport function getFractionTvsTerm(tw: any): CollectionTermLike {\n\tif (!isFractionTw(tw)) throw new Error('not a fraction termCollection tw')\n\tconst term = structuredClone(tw.term)\n\t// a min copy tw may carry termIds[] instead of the full termlst[]\n\tconst memberIds = term.termlst?.length ? validateTermCollectionTerm(term) : new Set<string>(term.termIds || [])\n\tconst denominators = tw.q?.denominators?.length ? [...tw.q.denominators] : [...memberIds]\n\tconst numerators = tw.q?.numerators?.length ? [...tw.q.numerators] : [...denominators]\n\tvalidateFractionMembers(numerators, denominators, memberIds)\n\tterm.numerators = numerators\n\tterm.denominators = denominators\n\treturn term\n}\n\n/** Validate the member selection and binning discriminator for a fraction term collection. */\nexport function validateTermCollectionFraction(q: TermCollectionQFraction, term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tvalidateFractionMembers(q?.numerators, q?.denominators, memberIds)\n\tif (q.mode === 'discrete' && q.type !== 'regular-bin' && q.type !== 'custom-bin')\n\t\tthrow new Error('discrete fraction termCollection requires regular-bin or custom-bin q.type')\n}\n", "import type { Filter, Tvs } from '#types'\nimport { validateTermCollectionTerm, validateFractionMembers, type CollectionTermLike } from './termCollection.js'\n\n/**\n * Sample annotation structure\n */\nexport interface SampleAnnotation {\n\tsample: string | number\n\ts?: Record<string, any>\n\tdata?: Record<string, any>\n}\n\n/**\n * Dataset with annotation functionality\n */\nexport interface Dataset {\n\tsetAnnoByTermId?: (termId: string) => void\n}\n\n/**\n * Filters an array of sample annotations and returns a Set of matching sample names\n * @param sampleAnno Array of sample annotations\n * @param filter Nested filter structure as used in the termdbapp\n * @returns Set of sample names that match the filter\n */\nexport function getFilteredSamples(sampleAnno: SampleAnnotation[], filter: Filter): Set<string | number> {\n\tsetDatasetAnnotations(filter)\n\n\tconst samples = new Set<string | number>()\n\tfor (const anno of sampleAnno) {\n\t\tif (samples.has(anno.sample)) continue\n\t\tconst data = anno.s || anno.data\n\t\tif (data && sample_match_termvaluesetting(data, filter)) {\n\t\t\tsamples.add(anno.sample)\n\t\t}\n\t}\n\treturn samples\n}\n\n/**\n * Given a value from a sample's annotation of a term, return true if a value matches the filter\n * @param row Sample annotation data\n * @param filter Filter structure or single tvs item\n * @param _term Optional term to filter by\n * @param sample Optional sample data\n * @returns True if the sample matches the filter\n */\nexport function sample_match_termvaluesetting(\n\trow: any,\n\tfilter: Filter,\n\t_term: any = null,\n\tsample: any = null\n): boolean {\n\tconst lst = filter.type == 'tvslst' ? filter.lst : [filter]\n\tlet numberofmatchedterms = 0\n\n\t/* for AND, require all terms to match */\n\tfor (const item of lst) {\n\t\tif ('type' in item && item.type == 'tvslst') {\n\t\t\tif (sample_match_termvaluesetting(row, item, _term, sample)) {\n\t\t\t\tnumberofmatchedterms++\n\t\t\t}\n\t\t} else {\n\t\t\tconst itemCopy = JSON.parse(JSON.stringify(item))\n\t\t\tconst t = itemCopy.tvs\n\n\t\t\tif (_term && t.term) {\n\t\t\t\tif (!(_term.name == t.term.name && _term.type == t.term.type)) {\n\t\t\t\t\t// for an filter from \"this.config.legendValueFilter\", if the filter is not for the tw\n\t\t\t\t\t// (not the same type and name), ignore the filter.\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet samplevalue\n\t\t\tif (_term && !t.term) {\n\t\t\t\tif (t.term$type && t.term$type !== _term.type) {\n\t\t\t\t\t//when the filter is not for the term being tested, ignore the filter\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tt.term = _term\n\t\t\t\tsamplevalue = typeof row === 'object' && t.term.id in row ? row[t.term.id] : row\n\t\t\t} else if (sample && t.term.$id) {\n\t\t\t\tsamplevalue = sample[t.term.$id].value\n\t\t\t} else {\n\t\t\t\tsamplevalue = t.term.id in row ? row[t.term.id] : row\n\t\t\t}\n\t\t\tsetDatasetAnnotations(itemCopy)\n\t\t\tlet thistermmatch\n\n\t\t\tif (t.term.type == 'categorical') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tthistermmatch = t.valueset.has(samplevalue)\n\t\t\t} else if (t.term.type == 'integer' || t.term.type == 'float') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tfor (const range of t.ranges) {\n\t\t\t\t\tif ('value' in range) {\n\t\t\t\t\t\tthistermmatch = samplevalue === range.value\n\t\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t\t} else if (samplevalue == range.name) {\n\t\t\t\t\t\tthistermmatch = true\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// actual range\n\t\t\t\t\t\tif (t.term.values) {\n\t\t\t\t\t\t\tconst v = t.term.values[samplevalue.toString()]\n\t\t\t\t\t\t\tif (v && v.uncomputable) {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet left, right\n\t\t\t\t\t\tif (range.startunbounded) {\n\t\t\t\t\t\t\tleft = true\n\t\t\t\t\t\t} else if ('start' in range) {\n\t\t\t\t\t\t\tif (range.startinclusive) {\n\t\t\t\t\t\t\t\tleft = samplevalue >= range.start\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tleft = samplevalue > range.start\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (range.stopunbounded) {\n\t\t\t\t\t\t\tright = true\n\t\t\t\t\t\t} else if ('stop' in range) {\n\t\t\t\t\t\t\tif (range.stopinclusive) {\n\t\t\t\t\t\t\t\tright = samplevalue <= range.stop\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tright = samplevalue < range.stop\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthistermmatch = left && right\n\t\t\t\t\t}\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'condition') {\n\t\t\t\tconst key = getPrecomputedKey(t)\n\t\t\t\tconst anno = samplevalue && samplevalue[key]\n\t\t\t\tif (anno) {\n\t\t\t\t\tthistermmatch = Array.isArray(anno)\n\t\t\t\t\t\t? t.values.find((d: any) => anno.includes(d.key))\n\t\t\t\t\t\t: t.values.find((d: any) => d.key == anno)\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'geneVariant') {\n\t\t\t\t/*\n\t\t\t\tsamplevalue.values here can be an array or only one of the entries \n\t\t\t\t[\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'germline' },\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'somatic' },\n\t\t\t\t\t{ dt: 2, class: 'Blank', _SAMPLEID_: 21 },\n\t\t\t\t\t{ dt: 4, class: 'WT', _SAMPLEID_: 21 }\n\t\t\t\t]\n\t\t\t\t*/\n\t\t\t\t/* tvs.values is an array that stores classes (for each available dt) that have/haven't been crossed out by the user at this round of edit-and-apply, e.g.\n [\n {dt: 1, mclassLst: ['WT'], mclassExcludeLst: ['Blank'], origin: 'germline'}\n {dt: 1, mclassLst: ['Blank', 'WT', 'M'], mclassExcludeLst:[], origin:'somatic'},\n {dt: 2, mclassLst: ['Blank', 'WT'], mclassExcludeLst:[]}\n {dt: 4, mclassLst: ['WT', 'CNV_loss'], mclassExcludeLst:[]}\n ]\n */\n\t\t\t\tconst svalues = samplevalue.values || [samplevalue]\n\t\t\t\tfor (const sv of svalues) {\n\t\t\t\t\tthistermmatch =\n\t\t\t\t\t\tt.values.find(\n\t\t\t\t\t\t\t(v: any) =>\n\t\t\t\t\t\t\t\tv.dt == sv.dt &&\n\t\t\t\t\t\t\t\t(!v.origin || sv.origin == v.origin) &&\n\t\t\t\t\t\t\t\t(!v.mclasslst || v.mclasslst.includes(sv.class))\n\t\t\t\t\t\t) && true\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow 'unknown term type [sample_match_termvaluesetting() shared/utils/src/filter.ts]'\n\t\t\t}\n\n\t\t\tif (t.isnot) {\n\t\t\t\tthistermmatch = !thistermmatch\n\t\t\t}\n\t\t\tif (thistermmatch) numberofmatchedterms++\n\t\t}\n\n\t\t// if one tvslst is matched with an \"or\" (Set UNION), then sample is okay\n\t\tif (filter.join == 'or') {\n\t\t\tif (numberofmatchedterms && filter.in) return true\n\t\t\tif (!numberofmatchedterms && !filter.in) return true\n\t\t}\n\t}\n\t// for join=\"and\" (Set intersection)\n\tif (!('in' in filter)) (filter as any).in = true // casting to any avoids tsc err despite it's typed!\n\treturn filter.in == (numberofmatchedterms == lst.length)\n}\n\n/**\n * Recursively processes filter items and sets dataset annotations\n * @param item Filter item to process\n * @param ds Optional dataset with annotation functionality\n */\nexport function setDatasetAnnotations(item: Filter | { type: 'tvs'; tvs: Tvs }, ds: Dataset | null = null): void {\n\tif (item.type == 'tvslst') {\n\t\tfor (const subitem of item.lst) {\n\t\t\tsetDatasetAnnotations(subitem, ds)\n\t\t}\n\t} else {\n\t\tif (ds && typeof ds.setAnnoByTermId == 'function') {\n\t\t\tds.setAnnoByTermId(item.tvs.term.id)\n\t\t}\n\t\tif (item.tvs.term.type == 'categorical') {\n\t\t\tconst tvsAny = item.tvs as any\n\t\t\ttvsAny.valueset = new Set(tvsAny.values.map((i: any) => i.key))\n\t\t}\n\t}\n}\n\n/**\n * Gets the precomputed key for a condition term based on bar_by and value_by settings\n */\nfunction getPrecomputedKey(q: any): string {\n\tconst precomputedKey =\n\t\tq.bar_by_children && q.value_by_max_grade\n\t\t\t? 'childrenAtMaxGrade'\n\t\t\t: q.bar_by_children && q.value_by_most_recent\n\t\t\t? 'childrenAtMostRecent'\n\t\t\t: q.bar_by_children && q.value_by_computable_grade\n\t\t\t? 'children'\n\t\t\t: q.bar_by_grade && q.value_by_max_grade\n\t\t\t? 'maxGrade'\n\t\t\t: q.bar_by_grade && q.value_by_most_recent\n\t\t\t? 'mostRecentGrades'\n\t\t\t: q.bar_by_grade && q.value_by_computable_grade\n\t\t\t? 'computableGrades'\n\t\t\t: ''\n\tif (!precomputedKey) throw `unknown condition term bar_by_* and/or value_by_*`\n\treturn precomputedKey\n}\n\n/**\n * Joins a list of filters into the first filter with \"and\", returns joined filter\n * Used by caller app to join hidden filters into a visible filter\n * @param lst List of filters to join\n * @returns The joined filter\n */\nexport function filterJoin(lst: Filter[]): Filter | undefined {\n\tif (!lst || lst.length == 0) return\n\tlet f = JSON.parse(JSON.stringify(lst[0]))\n\tif (lst.length == 1) return f\n\t// more than 1 item, will join\n\tif (f.lst.length < 2) {\n\t\tif (f.join !== '') throw 'filter.join must be an empty string \"\" when filter.lst.length < 2'\n\t\tf.join = 'and'\n\t} else if (f.join == 'or') {\n\t\t// f is \"or\", wrap it with another root layer of \"and\"\n\t\tf = {\n\t\t\ttype: 'tvslst',\n\t\t\tjoin: 'and',\n\t\t\tin: true,\n\t\t\tlst: [f]\n\t\t}\n\t} else if (f.join != 'and') {\n\t\tthrow 'filter.join must be either \"and\" or \"or\" when .lst length > 1'\n\t}\n\t// now, f.join should be \"and\"\n\t// if the argument lst[0].join == \"and\",\n\t// then the f.in boolean value is reused\n\tfor (let i = 1; i < lst.length; i++) {\n\t\tconst f2 = JSON.parse(JSON.stringify(lst[i]))\n\t\tif (f2.join == 'or') f.lst.push(f2)\n\t\telse f.lst.push(...f2.lst)\n\t}\n\t// if f ends up single-tvs item (from joining single tvs to empty filter), need to set join to '' per filter spec\n\tif (f.lst.length == 1 && f.lst[0].type == 'tvs') {\n\t\tf.join = ''\n\t}\n\treturn f\n}\n\n/**\n * Creates a wrapped tvslst (term value settings list) filter object\n * @param lst List of filter items\n * @param join Join operation (and/or)\n * @param $id Optional filter ID\n * @returns Wrapped filter object\n */\nexport function getWrappedTvslst(lst: Filter['lst'] = [], join: string = '', $id: string | null = null): Filter {\n\tconst filter: Filter = {\n\t\ttype: 'tvslst',\n\t\tin: true,\n\t\tjoin,\n\t\tlst\n\t}\n\tif ($id !== null) filter.$id = $id\n\treturn filter\n}\n\nexport function getTvsDenominators(term: any): string[] {\n\t/* Denominator term ids of a termCollection tvs, which reduces the collection to a\n\tpercentage. term.denominators[] is explicit, matching q.denominators[] of a fraction\n\ttermCollection tw. Filters saved before term.denominators[] existed implied the\n\tdenominator from term.termlst[], which was pruned to the selected members. */\n\tif (Array.isArray(term?.denominators) && term.denominators.length) return term.denominators\n\treturn (term?.termlst || []).map(t => t.id)\n}\n\n/**\n * Validates the term obj of a termCollection tvs, and its fraction member selection\n * @param term tvs.term of a termCollection. term.numerators[] is optional: a tvs may brush\n * on a single member instead of the numerator/denominator fraction. When present, it is\n * validated against the denominators from getTvsDenominators()\n * @throws Error if validation fails\n */\nexport function validateTermCollectionTvs(term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tif (!term.numerators) return // not filtering on a fraction, nothing more to validate\n\tvalidateFractionMembers(term.numerators, getTvsDenominators(term), memberIds)\n}\n", "import { mclass } from './common.js'\nimport { matchesGvQueryEntry } from './terms.js'\n\n/*\ntw.q.variantFilter of a geneVariant termwrapper, i.e. the per-row variant filter\nthat lets two rows of the same gene, e.g. KRAS G12D and KRAS G12V, each show only\nits own variants. Only meaningful for q.type='values'; a groupset assigns samples\nto named groups instead and does its own filtering server-side.\n\n!!! NOTE !!!\nThe tvs filters on the server decide whether a *sample* passes. This one decides\nwhether a single *variant of a sample* is shown by the row it is filtered on, so\nit is applied per value of an annotation and not per sample. Anything that can\nonly be answered by looking at a sample as a whole, e.g. how many mutations it\nhas, is rejected by validateVariantFilter() rather than silently ignored.\n\nThe filter reuses the tvs shape that the variant config UI already emits for a\ngroupset group, so that the same UI can be wired to it: leaf items are tvs on the\nchild dt terms of the geneVariant term, whose tvs.values[] entries are\n{ key: <mutation class>, mname?: <amino acid change>, gene? }.\n*/\n\n/** a mutation class that is a per-dt testing status rather than a variant:\n * WT = tested, no mutation of this dt; Blank = not tested for this dt */\nconst statusClasses = new Set(['WT', 'Blank'])\n\n/** a leaf of a variant filter is a tvs on a child dt term of the geneVariant term */\ntype VariantTvs = {\n\tterm: { dt: number; origin?: string; [k: string]: any }\n\tvalues: { key: string; mname?: string; gene?: string; [k: string]: any }[]\n\tisnot?: boolean\n\t[k: string]: any\n}\n\nexport type VariantFilter = {\n\ttype: 'tvslst'\n\tin?: boolean\n\tjoin?: string\n\tlst: ({ type: 'tvs'; tvs: VariantTvs } | VariantFilter)[]\n}\n\n/** a variant of a sample, as returned for a geneVariant term */\ntype VariantValue = {\n\tdt: number\n\tclass: string\n\tmname?: string\n\tgene?: string\n\torigin?: string\n\t[k: string]: any\n}\n\nfunction unsupported(what: string) {\n\treturn (\n\t\t`tw.q.variantFilter does not support ${what}, which qualifies a sample rather than an individual variant. ` +\n\t\t`Use a groupset (q.type='custom-groupset') for a sample-level filter.`\n\t)\n}\n\n/*\nValidate a variant filter, throwing on anything that cannot be honored one\nvariant at a time. Called when filling a tw, so that a bad filter fails at plot\ncreation with a usable message instead of quietly showing the wrong variants.\n\nfilter: tw.q.variantFilter\nterm: the geneVariant tw.term, to check the filtered dts against its child dt\n terms. optional, as term.childTerms[] may not be filled in yet\n*/\nexport function validateVariantFilter(filter: any, term?: any): void {\n\tif (!filter) return\n\tif (filter.type != 'tvslst') throw `tw.q.variantFilter.type must be 'tvslst'`\n\tif (!Array.isArray(filter.lst) || !filter.lst.length) throw 'tw.q.variantFilter.lst[] is empty'\n\tif (filter.lst.length > 1 && filter.join != 'and' && filter.join != 'or')\n\t\tthrow `tw.q.variantFilter.join must be 'and' or 'or' when lst[] has more than one item`\n\tconst dts = term?.childTerms?.length ? new Set(term.childTerms.map((t: any) => t.dt)) : null\n\tfor (const item of filter.lst) {\n\t\tif (item.type == 'tvslst') {\n\t\t\tvalidateVariantFilter(item, term)\n\t\t\tcontinue\n\t\t}\n\t\tif (item.type != 'tvs') throw `unexpected tw.q.variantFilter item.type='${item.type}'`\n\t\tconst tvs = item.tvs\n\t\tif (!tvs) throw 'missing tvs of a tw.q.variantFilter item'\n\t\tif (!Number.isInteger(tvs.term?.dt)) throw 'tw.q.variantFilter tvs.term must be a dt term, with an integer .dt'\n\t\tif (dts && !dts.has(tvs.term.dt))\n\t\t\tthrow `tw.q.variantFilter tvs.term.dt=${tvs.term.dt} is not a dt of term '${term.name}'`\n\t\tif (!Array.isArray(tvs.values) || !tvs.values.length) throw 'tw.q.variantFilter tvs.values[] is empty'\n\t\tfor (const v of tvs.values) {\n\t\t\tif (!v.key) throw 'a tw.q.variantFilter tvs.values[] entry is missing .key'\n\t\t\tif (statusClasses.has(v.key))\n\t\t\t\tthrow `tw.q.variantFilter cannot select the '${v.key}' class, which is a testing status and not a variant`\n\t\t\tif (v.partnerBreakpointRange) throw unsupported('partnerBreakpointRange')\n\t\t}\n\t\t// these tvs props qualify a sample by counting or comparing across its\n\t\t// mutations, or by data that a matrix annotation does not carry\n\t\tif (tvs.genotype && tvs.genotype != 'variant') throw unsupported(`genotype='${tvs.genotype}'`)\n\t\tif (tvs.mcount && tvs.mcount != 'any') throw unsupported(`mcount='${tvs.mcount}'`)\n\t\tif (tvs.mafFilter) throw unsupported('mafFilter')\n\t\tif (tvs.continuousCnv) throw unsupported('continuousCnv')\n\t\tif (tvs.selfBreakpointRange) throw unsupported('selfBreakpointRange')\n\t}\n}\n\n/** the dts, and origins when a leaf is origin-specific, that a filter covers.\n * a row shows only what its filter names, so a value of an uncovered dt is not\n * rendered by that row at all */\nfunction getFilterScope(filter: any, scope = new Set<string>()): Set<string> {\n\tfor (const item of filter.lst) {\n\t\tif (item.type == 'tvslst') getFilterScope(item, scope)\n\t\telse scope.add(`${item.tvs.term.dt}:${item.tvs.term.origin || '*'}`)\n\t}\n\treturn scope\n}\n\nfunction isInScope(v: VariantValue, scope: Set<string>): boolean {\n\treturn scope.has(`${v.dt}:*`) || scope.has(`${v.dt}:${v.origin || ''}`)\n}\n\nfunction matchTvs(v: VariantValue, tvs: VariantTvs): boolean {\n\tlet match = false\n\tif (v.dt == tvs.term.dt && (!tvs.term.origin || v.origin == tvs.term.origin)) {\n\t\t/* an entry without .mname matches any variant of its class; with .mname\n\t\t(e.g. \"G12D\") it matches only that amino acid change, further restricted to the\n\t\tgene or region it names, see matchesGvQueryEntry(). mirrors filterByItem() in\n\t\tserver/src/mds3.init.js, so that the same tvs means the same thing on both\n\t\tsides */\n\t\tmatch = tvs.values.some(e => e.key == v.class && (!e.mname || (e.mname == v.mname && matchesGvQueryEntry(e, v))))\n\t}\n\treturn tvs.isnot ? !match : match\n}\n\nfunction matchFilter(v: VariantValue, filter: any): boolean {\n\tconst lst = filter.type == 'tvslst' ? filter.lst : [filter]\n\tlet numMatched = 0\n\tfor (const item of lst) {\n\t\tconst matched = item.type == 'tvslst' ? matchFilter(v, item) : matchTvs(v, item.tvs)\n\t\tif (matched) numMatched++\n\t\tif (filter.join == 'or' && numMatched) break\n\t}\n\tconst pass = filter.join == 'or' ? numMatched > 0 : numMatched == lst.length\n\treturn filter.in === false ? !pass : pass\n}\n\n/*\nReturn the values of a geneVariant annotation that the filtered row shows.\nDoes not mutate the input array or its entries.\n\nvalues: anno.values[] of one sample for one geneVariant term\nfilter: tw.q.variantFilter, already validated\n\n- a value of a dt that the filter does not name is dropped: a row shows only the\n dts that its filter covers, so that e.g. a KRAS G12D row does not also render\n that sample's KRAS CNV\n- a WT or Blank value is a per-dt testing status and not a variant, so it is kept\n as-is for every covered dt\n- when a covered dt had variants but none of them matched, the sample was tested\n and simply does not carry what the row asks for, so it is annotated as wildtype\n for that dt. Without this a KRAS G12V sample would render as an empty, i.e.\n untested, cell in a KRAS G12D row\n*/\nexport function filterVariantValues(values: VariantValue[], filter: any): VariantValue[] {\n\tif (!filter || !values) return values\n\tconst scope = getFilterScope(filter)\n\tconst kept: VariantValue[] = []\n\t/** covered dt+origin that already reads as tested, either by a WT/Blank status\n\t * or by a matching variant */\n\tconst annotated = new Set<string>()\n\t/** covered dt+origin whose variants were all dropped, k: dt+origin,\n\t * v: one of the dropped values, to copy the shared props from */\n\tconst dropped = new Map<string, VariantValue>()\n\tfor (const v of values) {\n\t\tif (!isInScope(v, scope)) continue\n\t\tconst key = `${v.dt}:${v.origin || ''}`\n\t\tif (statusClasses.has(v.class) || matchFilter(v, filter)) {\n\t\t\tkept.push(v)\n\t\t\tannotated.add(key)\n\t\t} else if (!dropped.has(key)) {\n\t\t\tdropped.set(key, v)\n\t\t}\n\t}\n\tfor (const [key, v] of dropped) {\n\t\tif (annotated.has(key)) continue\n\t\tconst wt: VariantValue = { dt: v.dt, class: 'WT', label: mclass.WT.label }\n\t\tif (v.gene) wt.gene = v.gene\n\t\tif (v.origin) wt.origin = v.origin\n\t\tkept.push(wt)\n\t}\n\treturn kept\n}\n\n/*\nA short label for what a filter selects, to distinguish rows of the same gene.\nEach entry is named by its amino acid change when it has one, e.g. \"G12D\", and by\nits mutation class label otherwise, e.g. \"FRAMESHIFT\". Naming a specific variant\nby its class would overstate the row, since the class also covers variants that\nthe filter does not select. Only the selected, i.e. not negated, entries are\nnamed; returns an empty string when there is nothing nameable, in which case the\ncaller should keep the plain term name.\n\nmclassOverride: dataset/chart-level mclass overrides, see the comment in\n client/plots/matrix/matrix.js\n*/\nexport function variantFilterLabel(filter: any, mclassOverride?: { [k: string]: any }, maxItems = 3): string {\n\tif (!filter) return ''\n\tconst entries: { key: string; mname?: string }[] = []\n\tcollect(filter, false)\n\t/* negated tracks the effective sense of the enclosing lists: a tvslst with\n\tin=false renders the complement of what it lists, and nesting flips it again,\n\tas matchFilter() applies it. a leaf is only nameable when the lists and its own\n\tisnot agree, otherwise a row rendering everything *except* G12D would be\n\tlabeled \"KRAS G12D\" */\n\tfunction collect(f: any, negated: boolean) {\n\t\tconst flipped = f.in === false ? !negated : negated\n\t\tfor (const item of f.lst) {\n\t\t\tif (item.type == 'tvslst') collect(item, flipped)\n\t\t\telse if (flipped === !!item.tvs.isnot) entries.push(...item.tvs.values)\n\t\t}\n\t}\n\tif (!entries.length) return ''\n\tconst classes = mclass as { [k: string]: any }\n\tconst names = [\n\t\t...new Set(entries.map(e => e.mname || mclassOverride?.[e.key]?.label || classes[e.key]?.label || e.key))\n\t]\n\treturn names.length > maxItems ? `${names.slice(0, maxItems).join('/')}\u2026` : names.join('/')\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,494 @@
1
+ import {
2
+ rehydrateFilter
3
+ } from "./chunk-SKMFMGCD.js";
4
+ import {
5
+ findParent,
6
+ getFilter,
7
+ getFilterItemByTag,
8
+ getSamplelstTW
9
+ } from "./chunk-D5PX2UDG.js";
10
+ import {
11
+ importPlot
12
+ } from "./chunk-OPMMU6DQ.js";
13
+ import {
14
+ StoreApi,
15
+ StoreBase
16
+ } from "./chunk-H6INPPUC.js";
17
+ import {
18
+ CustomError
19
+ } from "./chunk-W5J3LTYS.js";
20
+
21
+ // mass/store.ts
22
+ var idPrefix = "_MASS_AUTOID_" + Math.random().toString().slice(-6);
23
+ var id = 0;
24
+ var usedPlotIds = /* @__PURE__ */ new Set();
25
+ function getId() {
26
+ return idPrefix + "_" + id++;
27
+ }
28
+ var navHeaderModes = /* @__PURE__ */ new Set([
29
+ "with_tabs",
30
+ // default, shows tabs cohort/charts/filter etc
31
+ "hidden",
32
+ // no header
33
+ "search_only",
34
+ // ?
35
+ "hide_search",
36
+ // ?
37
+ "with_cohortHtmlSelect",
38
+ // only show cohort toggle as <select>
39
+ "only_buttons"
40
+ ]);
41
+ var defaultState = {
42
+ nav: {
43
+ header_mode: "with_tabs",
44
+ activeTab: 0
45
+ // -1 for no active tab and all closed
46
+ },
47
+ // will be ignored if there is no dataset termdb.selectCohort
48
+ // or value will be set to match a filter node that has been tagged
49
+ // as 'cohortfilter' in state.termfilter.filter
50
+ activeCohort: 0,
51
+ search: { isVisible: true },
52
+ plots: [],
53
+ termfilter: {
54
+ filter: {
55
+ type: "tvslst",
56
+ in: true,
57
+ join: "",
58
+ lst: []
59
+ }
60
+ },
61
+ reuse: {
62
+ customTermQ: {
63
+ byId: {},
64
+ // non-dictionary terms do not have a term.id,
65
+ // save by term.type + name?
66
+ byName: {}
67
+ }
68
+ },
69
+ groups: [],
70
+ // element: {name=str, filter={}}, to show in Groups tab
71
+ customTerms: [],
72
+ // element: {name=str, term={}}, able to attach more attr to object if needed
73
+ autoSave: true
74
+ };
75
+ var MassStore = class extends StoreBase {
76
+ constructor(opts, api) {
77
+ super(opts);
78
+ // expected class-specific props
79
+ this.defaultState = defaultState;
80
+ this.plotAdjusters = /* @__PURE__ */ new WeakMap();
81
+ this.app = opts.app;
82
+ this.api = api;
83
+ this.type = "store";
84
+ let savedState = {};
85
+ try {
86
+ const key = window.navigator.webdriver && window["SJPP_E2E_STORAGE_STATES_KEY"];
87
+ const savedStateStr = key && window.localStorage.getItem("SJPP_E2E_STORAGE_STATES") || "{}";
88
+ savedState = JSON.parse(savedStateStr)[key]?.state || {};
89
+ } catch (_) {
90
+ savedState = {};
91
+ }
92
+ this.state = this.copyMerge(this.toJson(defaultState), opts.state, savedState);
93
+ this.prevGeneratedId = 0;
94
+ }
95
+ static {
96
+ this.type = "store";
97
+ }
98
+ validateOpts(opts) {
99
+ const s = opts.state;
100
+ if (s.vocab.dslabel) {
101
+ if (!s.vocab.genome) throw ".state[.vocab].genome missing";
102
+ } else {
103
+ if (!Array.isArray(s.vocab.terms)) throw "vocab.terms must be an array of objects";
104
+ }
105
+ return opts;
106
+ }
107
+ validateState() {
108
+ if (!navHeaderModes.has(this.state.nav.header_mode)) throw "invalid state.nav.header_mode";
109
+ }
110
+ async init() {
111
+ try {
112
+ this.state.termdbConfig = await this.app.vocabApi.getTermdbConfig();
113
+ await this.setTermfilter();
114
+ await this.rehydrateGroups();
115
+ await this.app.vocabApi.main({
116
+ termfilter: JSON.parse(JSON.stringify(this.state.termfilter)),
117
+ termdbConfig: this.state.termdbConfig
118
+ });
119
+ const invalidPlots = [];
120
+ for (const [i, savedPlot] of this.state.plots.entries()) {
121
+ let plot;
122
+ try {
123
+ const _ = await importPlot(savedPlot.chartType);
124
+ plot = await _.getPlotConfig(savedPlot, this.app, this.state.activeCohort);
125
+ } catch (e) {
126
+ this.app.printError(e);
127
+ console.error(`getPlotConfig() failed: ${e}`);
128
+ }
129
+ if (!plot) {
130
+ invalidPlots.push(i);
131
+ continue;
132
+ }
133
+ this.state.plots[i] = plot;
134
+ if (!("id" in plot)) plot.id = `_AUTOID_${id++}_${i}`;
135
+ if (plot.mayAdjustConfig) {
136
+ plot.mayAdjustConfig(plot);
137
+ this.plotAdjusters.set(plot, plot.mayAdjustConfig);
138
+ delete plot.mayAdjustConfig;
139
+ }
140
+ }
141
+ if (invalidPlots.length) {
142
+ for (const i of invalidPlots) {
143
+ this.state.plots.splice(i, 1);
144
+ }
145
+ }
146
+ } catch (e) {
147
+ console.log("store.init() error", e);
148
+ throw e;
149
+ }
150
+ }
151
+ setId(item) {
152
+ item.$id = this.prevGeneratedId++;
153
+ if (item.$lst) {
154
+ for (const subitem of item.$lst) {
155
+ this.setId(subitem);
156
+ }
157
+ }
158
+ }
159
+ async setTermfilter() {
160
+ let filterUiRoot = getFilterItemByTag(this.state.termfilter.filter, "filterUiRoot");
161
+ if (!filterUiRoot) {
162
+ this.state.termfilter.filter.tag = "filterUiRoot";
163
+ filterUiRoot = this.state.termfilter.filter;
164
+ }
165
+ await Promise.all(rehydrateFilter(this.state.termfilter.filter, this.app.vocabApi));
166
+ if (!this.state.termdbConfig.selectCohort) {
167
+ this.state.activeCohort = -1;
168
+ if (this.state.activeTab === 0) this.state.activeTab = 1;
169
+ if (this.state.nav.header_mode === "with_cohortHtmlSelect") {
170
+ console.warn(`no termdbConfig.selectCohort to use for nav.header_mode = 'with_cohortHtmlSelect'`);
171
+ this.state.nav.header_mode = "search_only";
172
+ }
173
+ } else {
174
+ let cohortFilter = getFilterItemByTag(this.state.termfilter.filter, "cohortFilter");
175
+ if (!cohortFilter) {
176
+ cohortFilter = {
177
+ tag: "cohortFilter",
178
+ type: "tvs",
179
+ tvs: {
180
+ term: JSON.parse(JSON.stringify(this.state.termdbConfig.selectCohort.term)),
181
+ values: this.state.activeCohort == -1 ? [] : this.state.termdbConfig.selectCohort.values[this.state.activeCohort].keys.map((key) => {
182
+ return { key, label: key };
183
+ })
184
+ }
185
+ };
186
+ this.state.termfilter.filter = {
187
+ type: "tvslst",
188
+ in: true,
189
+ join: "and",
190
+ lst: [cohortFilter, filterUiRoot]
191
+ };
192
+ } else {
193
+ const sorter = (a, b) => a < b ? -1 : 1;
194
+ cohortFilter.tvs.values.sort((a, b) => a.key < b.key ? -1 : 1);
195
+ const keysStr = JSON.stringify(cohortFilter.tvs.values.map((v) => v.key).sort(sorter));
196
+ const i = this.state.termdbConfig.selectCohort.values.findIndex(
197
+ (v) => keysStr == JSON.stringify(v.keys.sort(sorter))
198
+ );
199
+ if (this.state.activeCohort !== -1 && this.state.activeCohort !== 0 && i !== this.state.activeCohort) {
200
+ console.log("Warning: cohortFilter will override the state.activeCohort due to mismatch");
201
+ }
202
+ this.state.activeCohort = i;
203
+ }
204
+ }
205
+ }
206
+ async rehydrateGroups() {
207
+ const lst = [];
208
+ for (const g of this.state.groups) {
209
+ lst.push(...rehydrateFilter(g.filter, this.app.vocabApi));
210
+ }
211
+ await Promise.all(lst);
212
+ }
213
+ };
214
+ MassStore.prototype.actions = {
215
+ // Type '{ app_refresh(this: MassStore, action?: {}): Promise<void>; tab_set(action: any): void; cohort_set(action: any): void; plot_prep(action: any): Promise<void>; ... 13 more ...; delete_group({ name }: { ...; }): void; }' is not assignable to type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.
216
+ // Object literal may only specify known properties, and 'app_refresh' does not exist in type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.
217
+ async app_refresh(action) {
218
+ this.state = this.copyMerge(this.toJson(this.state), action.state || {});
219
+ const subactionPlotIds = /* @__PURE__ */ new Set();
220
+ const promises = [];
221
+ if (action.subactions) {
222
+ for (const a of action.subactions) {
223
+ promises.push(this.actions[a.type].call(this, a));
224
+ if (a.type.startsWith("plot_")) subactionPlotIds.add(a.id);
225
+ }
226
+ }
227
+ await Promise.all(promises);
228
+ for (const plot of this.state.plots) {
229
+ const mayAdjustConfig = this.plotAdjusters.get(plot);
230
+ if (mayAdjustConfig && !subactionPlotIds.has(plot.id)) {
231
+ mayAdjustConfig(plot, action.config);
232
+ }
233
+ }
234
+ },
235
+ tab_set(action) {
236
+ this.state.nav.activeTab = action.activeTab;
237
+ },
238
+ cohort_set(action) {
239
+ this.state.activeCohort = action.activeCohort;
240
+ const cohort = this.state.termdbConfig.selectCohort.values[action.activeCohort];
241
+ const cohortFilter = getFilterItemByTag(this.state.termfilter.filter, "cohortFilter");
242
+ if (!cohortFilter) throw `No item tagged with 'cohortFilter'`;
243
+ cohortFilter.tvs.values = cohort.keys.map((key) => {
244
+ return { key, label: key };
245
+ });
246
+ },
247
+ // dispatch "plot_prep" action to produce a 'initiating' UI of this plot, for user to fill in additional details to launch the plot
248
+ // example: table, scatterplot which requires user to select two terms
249
+ async plot_prep(action) {
250
+ if (usedPlotIds.has(action.id)) delete action.id;
251
+ const plot = {
252
+ // rx.getComponents() relies on parsing dot-separated key names that breaks if a key has a dot,
253
+ // the plot.id value should be assumed to be auto-generated and to not have any non-rx usage expectations
254
+ id: "id" in action && !action.id.includes(".") ? action.id : getId()
255
+ };
256
+ usedPlotIds.add(plot.id);
257
+ if (!action.config) throw ".config{} missing for plot_prep";
258
+ if (action.config.chartType && Object.keys(action.config).length == 1) {
259
+ const _ = await importPlot(action.config.chartType);
260
+ const config = await _.getPlotConfig(action.config, this.app, this.state.activeCohort);
261
+ action.config = Object.assign(config, action.config);
262
+ }
263
+ Object.assign(plot, action.config);
264
+ this.state.plots.push(plot);
265
+ },
266
+ async plot_create(action) {
267
+ if (usedPlotIds.has(action.id)) delete action.id;
268
+ const _ = await importPlot(action.config.chartType);
269
+ const plot = await _.getPlotConfig(action.config, this.app, this.state.activeCohort);
270
+ if (!("id" in action) || action.id.includes(".")) action.id = getId();
271
+ plot.id = action.id;
272
+ usedPlotIds.add(plot.id);
273
+ if (plot.mayAdjustConfig) {
274
+ plot.mayAdjustConfig(plot);
275
+ this.plotAdjusters.set(plot, plot.mayAdjustConfig);
276
+ delete plot.mayAdjustConfig;
277
+ }
278
+ this.state.plots.push(plot);
279
+ if (plot.sections) {
280
+ for (const section of plot.sections) {
281
+ for (const p of section.plots) {
282
+ p.parentId = plot.id;
283
+ if (!p.id) p.id = getId();
284
+ const _2 = await importPlot(p.chartType);
285
+ const config = await _2.getPlotConfig(p, this.app, this.state.activeCohort);
286
+ this.state.plots.push(config);
287
+ }
288
+ }
289
+ }
290
+ },
291
+ plot_edit(action) {
292
+ const plot = this.state.plots.find((p) => p.id === action.id);
293
+ if (!plot) {
294
+ throw new CustomError(`missing plot config for id='${action.id}' in store.plot_edit()`, {
295
+ name: "MISSING_PLOT_CONFIG",
296
+ level: "warn"
297
+ });
298
+ }
299
+ this.copyMerge(plot, action.config, action.opts ? action.opts : {});
300
+ const mayAdjustConfig = this.plotAdjusters.get(plot);
301
+ if (mayAdjustConfig) mayAdjustConfig(plot, action.config);
302
+ if (action.config && "cutoff" in action.config) {
303
+ plot.cutoff = action.config.cutoff;
304
+ } else {
305
+ delete plot.cutoff;
306
+ }
307
+ if (!action.parentId && plot.parentId) action.parentId = plot.parentId;
308
+ },
309
+ plot_delete(action) {
310
+ const i = this.state.plots.findIndex((p) => p.id === action.id);
311
+ if (i !== -1) {
312
+ this.state.plots.splice(i, 1);
313
+ const plot = this.state.plots[i];
314
+ if (!action.parentId && plot?.parentId) action.parentId = plot.parentId;
315
+ }
316
+ },
317
+ plot_nestedEdits(action) {
318
+ const plot = this.state.plots.find((p) => p.id === action.id);
319
+ if (!plot) {
320
+ throw new CustomError(`missing plot config for id='${action.id}' in store.plot_edit_nested`, {
321
+ name: "MISSING_PLOT_CONFIG",
322
+ level: "warn"
323
+ });
324
+ }
325
+ for (const edit of action.edits) {
326
+ const lastKey = edit.nestedKeys.pop();
327
+ const obj = edit.nestedKeys.reduce((obj2, key) => obj2[key], plot);
328
+ obj[lastKey] = edit.value;
329
+ }
330
+ if (!action.parentId && plot.parentId) action.parentId = plot.parentId;
331
+ },
332
+ // TODO: delete this action? does not seem to be used
333
+ async plot_splice(action) {
334
+ for (const a of action.subactions) {
335
+ await this.actions[a.type].call(this, a);
336
+ }
337
+ },
338
+ filter_replace(action) {
339
+ if ("filter0" in action) {
340
+ this.state.termfilter.filter0 = action.filter0;
341
+ return;
342
+ }
343
+ const replacementFilter = action.filter ? action.filter : { type: "tvslst", join: "", in: 1, lst: [] };
344
+ if (!action.filter.tag) {
345
+ this.state.termfilter.filter = replacementFilter;
346
+ } else {
347
+ const filter = getFilterItemByTag(this.state.termfilter.filter, action.filter.tag);
348
+ if (!filter) throw `cannot replace missing filter with tag '${action.filter.tag}'`;
349
+ const parent = findParent(this.state.termfilter.filter, filter.$id);
350
+ if (parent == filter) {
351
+ this.state.termfilter.filter = replacementFilter;
352
+ } else {
353
+ const i = parent.lst.indexOf(filter);
354
+ parent.lst[i] = replacementFilter;
355
+ }
356
+ }
357
+ if (this.app.opts.app?.onFilterChange) this.app.opts.app.onFilterChange(this.state.plots);
358
+ },
359
+ cache_termq({ termId, q }) {
360
+ if (!termId) throw `missing termId for caching custom term.q`;
361
+ if (!q?.reuseId) throw `missing or empty tw.q.reuseId as cache identifier for term='${termId}'`;
362
+ const cache = this.state.reuse.customTermQ.byId;
363
+ if (!cache[termId]) cache[termId] = {};
364
+ cache[termId][q.reuseId] = q;
365
+ for (const plot of this.state.plots) {
366
+ if (!(plot.chartType in getTwsByChartType)) continue;
367
+ const twlst = getTwsByChartType[plot.chartType](plot);
368
+ for (const tw of twlst) {
369
+ if (tw?.q?.reuseId === q.reuseId) tw.q = q;
370
+ }
371
+ }
372
+ },
373
+ uncache_termq({ term, q }) {
374
+ if (!term.id) throw `missing term.id for uncaching custom term.q`;
375
+ if (!q.reuseId) throw `missing qname as uncache identifier for term.id='${term.id}'`;
376
+ const cache = this.state.reuse.customTermQ.byId[term.id];
377
+ if (!cache) throw `missing term.q cache for term.id='${term.id}`;
378
+ if (!(q.reuseId in cache)) console.warn(`q.reuseId='${q.cacheid}' not cached for term.id='${term.id}'`);
379
+ else {
380
+ delete cache[q.reuseId];
381
+ for (const plot of this.state.plots) {
382
+ if (!(plot.chartType in getTwsByChartType)) continue;
383
+ const twlst = getTwsByChartType[plot.chartType](plot);
384
+ for (const tw of twlst) {
385
+ if (tw.q.reuseId === q.reuseId) {
386
+ delete tw.q.reuseId;
387
+ delete tw.q.name;
388
+ }
389
+ }
390
+ }
391
+ }
392
+ },
393
+ add_customTerm(action) {
394
+ const i = action.obj.id ? this.state.customTerms.findIndex((term) => term.id === action.obj.id) : -1;
395
+ if (i === -1) this.state.customTerms.push(action.obj);
396
+ else this.state.customTerms[i] = action.obj;
397
+ },
398
+ delete_customTerm({ id: id2, name }) {
399
+ const i = this.state.customTerms.findIndex((term) => id2 ? term.id === id2 : term.name == name);
400
+ if (i != -1) this.state.customTerms.splice(i, 1);
401
+ },
402
+ add_group(action) {
403
+ if (this.state.nav.header_mode != "hidden") {
404
+ const group = action.obj;
405
+ const name = `Group ${this.state.groups.length + 1}`;
406
+ const samplelstTW = getSamplelstTW([group]);
407
+ const appGroup = {
408
+ name,
409
+ filter: getFilter(samplelstTW),
410
+ plotId: group.plotId
411
+ };
412
+ this.state.groups.push(appGroup);
413
+ this.state.nav.activeTab = 1;
414
+ } else if ("plotId" in action.obj) {
415
+ const plot = this.state.plots.find((p) => p.id == action.obj.plotId);
416
+ if (plot.groups) {
417
+ action.obj.index = plot.groups.length;
418
+ action.obj.name = `Group ${plot.groups.length + 1}`;
419
+ plot.groups.push(action.obj);
420
+ }
421
+ }
422
+ },
423
+ rename_group(action) {
424
+ const index = action.index;
425
+ const newName = action.newName;
426
+ if (this.state.nav.header_mode != "hidden") {
427
+ this.state.groups[index].name = newName;
428
+ } else {
429
+ for (const plot of this.state.plots) {
430
+ if (plot?.groups) {
431
+ plot.groups[index].name = newName;
432
+ }
433
+ }
434
+ }
435
+ },
436
+ change_color_group(action) {
437
+ const index = action.index;
438
+ const newColor = action.newColor;
439
+ if (this.state.nav.header_mode != "hidden") {
440
+ this.state.groups[index].color = newColor;
441
+ } else {
442
+ for (const plot of this.state.plots) {
443
+ if (plot?.groups) {
444
+ plot.groups[index].color = newColor;
445
+ }
446
+ }
447
+ }
448
+ },
449
+ delete_group({ name }) {
450
+ if (this.state.nav.header_mode != "hidden") {
451
+ const i = this.state.groups.findIndex((i2) => i2.name == name);
452
+ if (i != -1) this.state.groups.splice(i, 1);
453
+ } else {
454
+ for (const plot of this.state.plots) {
455
+ if (plot?.groups) {
456
+ const j = plot.groups.findIndex((j2) => j2.name == name);
457
+ if (j != -1) plot.groups.splice(j, 1);
458
+ }
459
+ }
460
+ }
461
+ }
462
+ };
463
+ var getNestedChartSeriesDataTws = (plot) => [plot.term0, plot.term, plot.term2].filter((d) => !!d);
464
+ var getTwsByChartType = {
465
+ summary: getNestedChartSeriesDataTws,
466
+ survival: getNestedChartSeriesDataTws,
467
+ cuminc: getNestedChartSeriesDataTws,
468
+ regression: (plot) => [plot.outcome, ...plot.independent].filter((d) => !!d),
469
+ matrix: (plot) => plot.termgroups.reduce((arr, grp) => {
470
+ arr.push(...grp.lst);
471
+ return arr;
472
+ }, [])
473
+ };
474
+ var storeInit = StoreApi.getInitFxn(MassStore);
475
+
476
+ // mass/skipPrevActionAbort.ts
477
+ var globalStateKeys = ["termfilter", "activeCohort", "plots"];
478
+ var isGlobalActionType = (type) => type.startsWith("filter") || type.startsWith("cohort");
479
+ function skipPrevActionAbort(action) {
480
+ if (!action) return false;
481
+ if (isGlobalActionType(action.type)) return false;
482
+ if (action.type == "app_refresh") {
483
+ if (action.subactions?.find((a) => isGlobalActionType(a.type))) return false;
484
+ if (action.state) return !globalStateKeys.find((key) => key in action.state);
485
+ return Boolean(action.subactions);
486
+ }
487
+ return true;
488
+ }
489
+
490
+ export {
491
+ storeInit,
492
+ skipPrevActionAbort
493
+ };
494
+ //# sourceMappingURL=chunk-F4PMOAQK.js.map