@sjcrh/proteinpaint-client 2.191.2 → 2.191.3

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 (529) hide show
  1. package/dist/{2dmaf-V4WJ2LEK.js → 2dmaf-AGYGXGUT.js} +3 -3
  2. package/dist/{AIProjectAdmin-JMN5O6YU.js → AIProjectAdmin-AYPMZLCD.js} +206 -79
  3. package/dist/AIProjectAdmin-AYPMZLCD.js.map +7 -0
  4. package/dist/{AppHeader-Y4SEKCEF.js → AppHeader-6HL2GGMM.js} +10 -10
  5. package/dist/{BoxPlot-ZXQZGCR3.js → BoxPlot-KZHJGR2R.js} +3 -3
  6. package/dist/{CorrelationVolcano-R5IWD6WA.js → CorrelationVolcano-ICDRXFUR.js} +3 -3
  7. package/dist/{DE-ZV6O7B6Y.js → DE-XYOBENUC.js} +10 -10
  8. package/dist/{DEinput-FTOALZKN.js → DEinput-Q2TQ2KMY.js} +3 -3
  9. package/dist/{DifferentialAnalysis-NLCA766A.js → DifferentialAnalysis-PLQOZDV6.js} +4 -4
  10. package/dist/{Disco-Y5Z4A7GN.js → Disco-SFLOG7EW.js} +5 -5
  11. package/dist/{Disco.UI-GSWZYIUT.js → Disco.UI-VF6NGHZ3.js} +6 -6
  12. package/dist/{DmrPlot-FEFUCIGT.js → DmrPlot-ZUIQQBCR.js} +4 -4
  13. package/dist/{GB-AOXF2JJB.js → GB-ZQ3RF3TI.js} +5 -5
  14. package/dist/{GeneExpInput-CXYRKQU7.js → GeneExpInput-7QIBZOKQ.js} +4 -4
  15. package/dist/{HicApp-GLNNZ4H5.js → HicApp-RSZ2KEDE.js} +4 -4
  16. package/dist/{NumBinaryEditor-6ZAL6CCP.js → NumBinaryEditor-2W3DAPDZ.js} +3 -3
  17. package/dist/{NumBinaryEditor.unit.spec-3VTJLILH.js → NumBinaryEditor.unit.spec-M5B6TNSD.js} +4 -4
  18. package/dist/{NumContEditor-3LOAR676.js → NumContEditor-4K5FPKEN.js} +3 -3
  19. package/dist/{NumContEditor.unit.spec-WIMYCOVO.js → NumContEditor.unit.spec-6G7AP2M2.js} +4 -4
  20. package/dist/{NumCustomBinEditor-XIOAYWOD.js → NumCustomBinEditor-DHLGY3FL.js} +4 -4
  21. package/dist/{NumCustomBinEditor.unit.spec-N5OV6MKR.js → NumCustomBinEditor.unit.spec-FHQ6P4JL.js} +4 -4
  22. package/dist/{NumDiscreteEditor-AT6FKYGI.js → NumDiscreteEditor-XUCSTPY2.js} +5 -5
  23. package/dist/{NumDiscreteEditor.unit.spec-BDR5GZ46.js → NumDiscreteEditor.unit.spec-HMD6VS2S.js} +4 -4
  24. package/dist/{NumRegularBinEditor-Z4NBS4VZ.js → NumRegularBinEditor-3WT42ZBR.js} +4 -4
  25. package/dist/{NumRegularBinEditor.unit.spec-BRWYNQ55.js → NumRegularBinEditor.unit.spec-5F346HKA.js} +4 -4
  26. package/dist/{NumSplineEditor-B45BAWQ2.js → NumSplineEditor-TOAQ5FPH.js} +3 -3
  27. package/dist/{NumSplineEditor.unit.spec-5RDBCZ4N.js → NumSplineEditor.unit.spec-27JDSKBE.js} +4 -4
  28. package/dist/{NumericDensity-L7HIVV7D.js → NumericDensity-IP6XHMQF.js} +3 -3
  29. package/dist/{NumericDensity.unit.spec-PL3XDJCV.js → NumericDensity.unit.spec-KWT77AFV.js} +3 -3
  30. package/dist/{NumericHandler-KJYZOCCG.js → NumericHandler-7ZWXP7GY.js} +4 -4
  31. package/dist/{NumericHandler.unit.spec-VC7NPLJW.js → NumericHandler.unit.spec-MK2GEPAY.js} +4 -4
  32. package/dist/{ProteomeInput-A3GRPIAH.js → ProteomeInput-IIJOKE46.js} +6 -6
  33. package/dist/{RunChart2-MSNU3ZNT.js → RunChart2-PLRREVZ4.js} +3 -3
  34. package/dist/{SC-FNKG2FK5.js → SC-DC3QBYYA.js} +3 -3
  35. package/dist/{Volcano-IRJMPHXJ.js → Volcano-VD2E62U3.js} +3 -3
  36. package/dist/{WSIViewer-KITT7I67.js → WSIViewer-5RE356CT.js} +39 -6
  37. package/dist/WSIViewer-5RE356CT.js.map +7 -0
  38. package/dist/{WsiSamplesPlot-G3YZ6SIE.js → WsiSamplesPlot-QPIERW3J.js} +4 -4
  39. package/dist/{adSandbox-GIQTJ4VA.js → adSandbox-4AVU36ND.js} +4 -4
  40. package/dist/{app-MGNEMS2K.js → app-E36H76Q7.js} +10 -10
  41. package/dist/{app-UQTHPQFD.js → app-I4D3X3MD.js} +3 -3
  42. package/dist/app.js +8 -8
  43. package/dist/{bam-5PROQBRT.js → bam-IW44TWN3.js} +5 -5
  44. package/dist/{barchart-BQYJ73Z4.js → barchart-RXVVLBQY.js} +3 -3
  45. package/dist/{barchart.events-W2CIDD4B.js → barchart.events-2WWFMZYY.js} +3 -3
  46. package/dist/{barchart.integration.spec-JF2IHFQE.js → barchart.integration.spec-CYR3XRHD.js} +10 -10
  47. package/dist/{barchart2-V6W4UAFH.js → barchart2-DRRTYOAK.js} +4 -4
  48. package/dist/{block-5V2FCT7Q.js → block-WGOA676W.js} +23 -23
  49. package/dist/{block.init-43IUNDNB.js → block.init-PEK25OMQ.js} +4 -4
  50. package/dist/{block.mds.expressionrank-LI6MZPBE.js → block.mds.expressionrank-N2L46BXD.js} +5 -5
  51. package/dist/{block.mds.geneboxplot-673AIJMJ.js → block.mds.geneboxplot-RWQUY72S.js} +4 -4
  52. package/dist/{block.mds.junction-UWNVNV3X.js → block.mds.junction-PTXDDQGZ.js} +9 -9
  53. package/dist/{block.mds.svcnv-Z5VFCUUE.js → block.mds.svcnv-ZQXSEZWZ.js} +16 -16
  54. package/dist/{block.svg-MGK4GWLL.js → block.svg-OVZSRPOX.js} +3 -3
  55. package/dist/{block.tk.aicheck-OFNDGG7Q.js → block.tk.aicheck-X5QHG6LL.js} +3 -3
  56. package/dist/{block.tk.ase-IDZQY7MW.js → block.tk.ase-BPB2PABO.js} +5 -5
  57. package/dist/{block.tk.bam-K7A2Q5NI.js → block.tk.bam-E7JVNL5W.js} +3 -3
  58. package/dist/{block.tk.bedgraphdot-PPTKCCPK.js → block.tk.bedgraphdot-U76UV2L6.js} +3 -3
  59. package/dist/{block.tk.bigwig.ui-PI6EAU43.js → block.tk.bigwig.ui-HH3ETZSD.js} +3 -3
  60. package/dist/{block.tk.hicstraw-EZ2GS2K4.js → block.tk.hicstraw-O5MGNX56.js} +3 -3
  61. package/dist/{block.tk.junction-4WSLQGSQ.js → block.tk.junction-TIAW3OKP.js} +6 -6
  62. package/dist/{block.tk.junction.textmatrixui-7EJUSVMB.js → block.tk.junction.textmatrixui-NSWBQ7VJ.js} +4 -4
  63. package/dist/{block.tk.ld-KLVO7M37.js → block.tk.ld-NQ2OIWL5.js} +5 -5
  64. package/dist/{block.tk.menu-KZSL7BAR.js → block.tk.menu-JY5CEFKV.js} +3 -3
  65. package/dist/{block.tk.pgv-NYWGB4VH.js → block.tk.pgv-NFUQC4QX.js} +5 -5
  66. package/dist/{brainImaging-MTIIMJHW.js → brainImaging-3OMQ4JBW.js} +3 -3
  67. package/dist/{chunk-RZY34QRF.js → chunk-26NIOETK.js} +3 -3
  68. package/dist/{chunk-O7NFSCEW.js → chunk-3FCUJ5L3.js} +2 -2
  69. package/dist/{chunk-2NQLAH3L.js → chunk-46NCFHG3.js} +4 -4
  70. package/dist/{chunk-5SXCIKYV.js → chunk-4732T6NY.js} +2 -2
  71. package/dist/{chunk-P4QGOUDH.js → chunk-4NCLILLO.js} +2 -2
  72. package/dist/{chunk-CKA52OEA.js → chunk-4RGJAFAC.js} +2 -2
  73. package/dist/{chunk-2TCCXOAV.js → chunk-4VMWYVLU.js} +2 -2
  74. package/dist/{chunk-6GZJCSA6.js → chunk-5YQ2VPEW.js} +4 -4
  75. package/dist/{chunk-Z3SC67OA.js → chunk-6ME3635L.js} +2 -2
  76. package/dist/{chunk-YNBT4N6T.js → chunk-6ML236VW.js} +37 -37
  77. package/dist/{chunk-QNMB7LYW.js → chunk-757JGDTF.js} +53 -57
  78. package/dist/chunk-757JGDTF.js.map +7 -0
  79. package/dist/{chunk-YWZCJMHS.js → chunk-7E73OOQ4.js} +2 -2
  80. package/dist/{chunk-UCLROZRF.js → chunk-AFZX3KM2.js} +2 -2
  81. package/dist/{chunk-F6N6JBZR.js → chunk-ALZ4PTHT.js} +2 -2
  82. package/dist/{chunk-L4TUTGTA.js → chunk-APO4BA2P.js} +82 -82
  83. package/dist/{chunk-3D5GZIGG.js → chunk-BF5R4XFD.js} +33 -33
  84. package/dist/{chunk-F5QIZOPL.js → chunk-BIBPNVX7.js} +2 -2
  85. package/dist/{chunk-MYWV64P5.js → chunk-DJ5D3TFP.js} +5 -5
  86. package/dist/{chunk-4B42QV34.js → chunk-E7ZIEO4Q.js} +2 -2
  87. package/dist/{chunk-SQWEREGE.js → chunk-ECYPHINS.js} +3 -3
  88. package/dist/{chunk-EIBNV236.js → chunk-FVRQYK2V.js} +6 -6
  89. package/dist/{chunk-ZLREFIZB.js → chunk-GWXA2YLS.js} +2 -2
  90. package/dist/{chunk-52RORO74.js → chunk-HD3N3MIQ.js} +5 -5
  91. package/dist/{chunk-GMT2GNQY.js → chunk-HK5ESK7S.js} +12 -4
  92. package/dist/chunk-HK5ESK7S.js.map +7 -0
  93. package/dist/{chunk-WET4LPLO.js → chunk-HOHQUGVI.js} +2 -2
  94. package/dist/{chunk-CKDC326M.js → chunk-IVIWWCEK.js} +2 -2
  95. package/dist/{chunk-42EBECOD.js → chunk-JDKWYNT6.js} +5 -2
  96. package/dist/chunk-JDKWYNT6.js.map +7 -0
  97. package/dist/{chunk-X63AAJGT.js → chunk-JZ67QSUN.js} +2 -2
  98. package/dist/{chunk-FXMHSVBS.js → chunk-KBTMTZ2D.js} +2 -2
  99. package/dist/{chunk-3TPAIXNL.js → chunk-KRWLIZ6J.js} +4 -4
  100. package/dist/{chunk-PGBKZ76Y.js → chunk-KW5ZXPIM.js} +2 -2
  101. package/dist/{chunk-LT5XPBIX.js → chunk-LLFZ4KNO.js} +2 -2
  102. package/dist/{chunk-67HSIHPP.js → chunk-LOZWCVAY.js} +6 -6
  103. package/dist/{chunk-YVCTEEVQ.js → chunk-MBZ3D6T6.js} +2 -2
  104. package/dist/{chunk-7JEKUSEL.js → chunk-MHOVJLLC.js} +3 -3
  105. package/dist/{chunk-SDACELDR.js → chunk-N4PSYVGO.js} +2 -2
  106. package/dist/{chunk-JJOLDYSQ.js → chunk-NCQK3W6J.js} +8 -8
  107. package/dist/{chunk-2Q6PBSPS.js → chunk-OHO2FGMM.js} +7 -7
  108. package/dist/{chunk-X5X5T3AJ.js → chunk-OHXWVZEI.js} +2 -2
  109. package/dist/{chunk-IL5QT2FI.js → chunk-PB3POI37.js} +4 -4
  110. package/dist/{chunk-NKTBR5SK.js → chunk-PGEEP4AH.js} +3 -3
  111. package/dist/{chunk-KSCJWPTJ.js → chunk-PHE6J6OL.js} +2 -2
  112. package/dist/{chunk-PQZ3A27I.js → chunk-TRZ35AY6.js} +2 -2
  113. package/dist/{chunk-647P2I4Q.js → chunk-TVIKEQUO.js} +2 -2
  114. package/dist/{chunk-PQNVPSQR.js → chunk-VF23ENKB.js} +2 -2
  115. package/dist/{chunk-BMO6KSVC.js → chunk-VGMVLQDT.js} +3 -3
  116. package/dist/{chunk-J6GLTYGJ.js → chunk-VUWWQCEK.js} +7 -7
  117. package/dist/{chunk-4FKWINMK.js → chunk-X3Q6I37T.js} +98 -98
  118. package/dist/{chunk-DC4KD6FJ.js → chunk-XEMSCL7A.js} +4 -4
  119. package/dist/{chunk-NVX26LFC.js → chunk-XLDH2NGH.js} +4 -4
  120. package/dist/{chunk-VIHUKORE.js → chunk-YH4CIFN3.js} +2 -2
  121. package/dist/{chunk-CYHUNQMS.js → chunk-YKCJPNBV.js} +9 -9
  122. package/dist/{chunk-ZX2ISBEF.js → chunk-Z3726F4F.js} +3 -3
  123. package/dist/{chunk-XRAFQKOF.js → chunk-ZSP7AKBN.js} +5 -5
  124. package/dist/{condition-P2XD32QM.js → condition-GNUPDC6J.js} +3 -3
  125. package/dist/{controls-FZUTJPKV.js → controls-W5CAUCUU.js} +3 -3
  126. package/dist/{controls.config-TEFY3NTE.js → controls.config-JQGWNZCZ.js} +3 -3
  127. package/dist/{correlation-HS2WJFXN.js → correlation-URI2YADE.js} +10 -10
  128. package/dist/{cuminc-42GBJHD3.js → cuminc-CMJRK7TH.js} +3 -3
  129. package/dist/{cuminc.integration.spec-BAY4JHVL.js → cuminc.integration.spec-BMEGXFL7.js} +10 -10
  130. package/dist/{customdata.inputui-IPM5K56K.js → customdata.inputui-YGBEBVS2.js} +3 -3
  131. package/dist/{dataDownload-D7VCYBDT.js → dataDownload-OTUQZMQ5.js} +3 -3
  132. package/dist/{dataDownload.integration.spec-SEBY2BIX.js → dataDownload.integration.spec-TF25ODEK.js} +10 -10
  133. package/dist/{databrowser.ui-5OC5MPZB.js → databrowser.ui-4BNTK45C.js} +10 -10
  134. package/dist/{dictionary-VVRWVLJX.js → dictionary-MBQY7WLO.js} +3 -3
  135. package/dist/{geneExpression-SKIU3NEP.js → dnaMethylation-TQ4Q22UM.js} +4 -4
  136. package/dist/{dnaMethylation.integration.spec-U2LLSDGE.js → dnaMethylation.integration.spec-7IK6AQK3.js} +4 -4
  137. package/dist/{e2pca-AR6EKEJA.js → e2pca-NZFBO7ZK.js} +3 -3
  138. package/dist/{ep-JS5UUJQX.js → ep-KBE3SNHO.js} +3 -3
  139. package/dist/{expclust.gdc.spec-73MGQ7RN.js → expclust.gdc.spec-JWNFEMC6.js} +10 -10
  140. package/dist/{facet-AR3QKHCY.js → facet-YSULPZW4.js} +3 -3
  141. package/dist/{forms2-UXEI7MUP.js → forms2-AEMEQPHL.js} +5 -5
  142. package/dist/{gb-RHDVYU2V.js → gb-JZIBBHO3.js} +10 -10
  143. package/dist/{geneExpClustering-L6KLCMPH.js → geneExpClustering-NYB4KT5A.js} +5 -5
  144. package/dist/{dnaMethylation-72IS3FRI.js → geneExpression-MLCFQIN7.js} +4 -4
  145. package/dist/{geneExpression.unit.spec-CWR6KDVK.js → geneExpression.unit.spec-JUUSSSX6.js} +4 -4
  146. package/dist/{geneORA-C3TALK5P.js → geneORA-WHLE3ZGH.js} +3 -3
  147. package/dist/{geneRanking-LLYLDPLV.js → geneRanking-3SKA2UCY.js} +3 -3
  148. package/dist/{geneVariant-PUSKBHPY.js → geneVariant-EV6HDSXA.js} +3 -3
  149. package/dist/{geneVariant-YFMU6PHM.js → geneVariant-Z77ISGU7.js} +3 -3
  150. package/dist/{geneVariant.integration.spec-EJ5V46OQ.js → geneVariant.integration.spec-SEZM6S35.js} +3 -3
  151. package/dist/{genefusion.ui-XUHSKQKW.js → genefusion.ui-3XZHAONN.js} +3 -3
  152. package/dist/{geneset-DEL5LXFZ.js → geneset-JHCB2JO3.js} +3 -3
  153. package/dist/{genomeBrowser.spec-W5TVHOUJ.js → genomeBrowser.spec-D3WNZ2N5.js} +10 -10
  154. package/dist/{grin2-FXAEGECD.js → grin2-32ZKO7NS.js} +3 -3
  155. package/dist/{grin2-U2FKULLC.js → grin2-4R3JJOLC.js} +3 -3
  156. package/dist/{gsea-CNL6SHH5.js → gsea-S7324GB6.js} +4 -4
  157. package/dist/{hierCluster-7V65PMIW.js → hierCluster-GX5PI6YL.js} +10 -10
  158. package/dist/{hierCluster-C44GHM4B.js → hierCluster-KQYYIGN5.js} +11 -11
  159. package/dist/{hierCluster.config-RU5JDPWM.js → hierCluster.config-IIURSVY2.js} +5 -5
  160. package/dist/{hierCluster.integration.spec-6YH5KE4H.js → hierCluster.integration.spec-FWBF4YBD.js} +12 -12
  161. package/dist/{hierCluster.interactivity-PK2L7BSW.js → hierCluster.interactivity-KPXSTWRR.js} +4 -4
  162. package/dist/{imagePlot-5SEDMPBP.js → imagePlot-7A2CIC66.js} +4 -4
  163. package/dist/importPlot-6YQK3SNT.js +8 -0
  164. package/dist/{isoformExpression-PPMISWKT.js → isoformExpression-AROVOFMP.js} +4 -4
  165. package/dist/{isoformExpression.unit.spec-ENHCCQRZ.js → isoformExpression.unit.spec-VSVVZ5XS.js} +4 -4
  166. package/dist/{launch.adhoc-XAG6H42J.js → launch.adhoc-IGP7JD3M.js} +6 -6
  167. package/dist/{leftlabel.sample-BSPCI6GR.js → leftlabel.sample-DXTZOSQU.js} +6 -6
  168. package/dist/{lollipop-IZJ7E3YO.js → lollipop-XWUXPA2R.js} +5 -5
  169. package/dist/{maf-54XWBQ73.js → maf-JWOTNV3J.js} +3 -3
  170. package/dist/{maftimeline-3AJKAFS6.js → maftimeline-E2UWXJXB.js} +3 -3
  171. package/dist/{matrix-AJPMHUXG.js → matrix-22WXRDYA.js} +8 -8
  172. package/dist/{matrix-ZMXNOESU.js → matrix-DJHK3OWP.js} +8 -8
  173. package/dist/{matrix.config-4WLSFMTY.js → matrix.config-MXJ4IDSU.js} +4 -4
  174. package/dist/{matrix.integration.spec-ENRPVB7R.js → matrix.integration.spec-XYRW7NR3.js} +10 -10
  175. package/dist/{matrix.interactivity-IMWERCZF.js → matrix.interactivity-SVGML6PN.js} +4 -4
  176. package/dist/{matrix.layout-5DDZWLNX.js → matrix.layout-RE3KGHVF.js} +4 -4
  177. package/dist/{matrix.renderers-VFQZG5JP.js → matrix.renderers-HFV3XFJV.js} +4 -4
  178. package/dist/{matrix.sort.unit.spec-ZA5DRNL6.js → matrix.sort.unit.spec-WI6V675V.js} +4 -4
  179. package/dist/{matrix.sorterUi.unit.spec-7TPOJ46U.js → matrix.sorterUi.unit.spec-BYZ2BMTN.js} +4 -4
  180. package/dist/{mavb-73BXZ7MO.js → mavb-3H4ZCENB.js} +4 -4
  181. package/dist/{mds.fimo-L7VVAOXQ.js → mds.fimo-26I6TEZC.js} +3 -3
  182. package/dist/{mds.samplescatterplot-6P75XEWB.js → mds.samplescatterplot-R6RTZNDF.js} +5 -5
  183. package/dist/{mds.survivalplot-GCVE7XGO.js → mds.survivalplot-BJBA2ZLI.js} +3 -3
  184. package/dist/{oncomatrix-BFWV2IC4.js → oncomatrix-WL7ZE5KG.js} +5 -5
  185. package/dist/{oncomatrix.spec-J6IAY3O6.js → oncomatrix.spec-VHERLEOD.js} +10 -10
  186. package/dist/{plot.2dvaf-ESJAB2F3.js → plot.2dvaf-ERAUL6M3.js} +3 -3
  187. package/dist/{plot.app-T7CQMBRV.js → plot.app-X6DXZDVY.js} +5 -5
  188. package/dist/{plot.barplot-HAWPMPPU.js → plot.barplot-2FBRVNLX.js} +3 -3
  189. package/dist/{plot.boxplot-4QUORFXY.js → plot.boxplot-JNO63FXZ.js} +3 -3
  190. package/dist/{plot.brainImaging-HG6I3GJW.js → plot.brainImaging-YBN5YH3H.js} +2 -2
  191. package/dist/{plot.disco-LPH7F6YW.js → plot.disco-BLNU4I6Q.js} +2 -2
  192. package/dist/{plot.dzi-DYAY4D4E.js → plot.dzi-FKWY6K5Q.js} +2 -2
  193. package/dist/{plot.ssgq-CF5VIGYJ.js → plot.ssgq-3GTTOOMK.js} +4 -4
  194. package/dist/{plot.vaf2cov-7HZCKNK6.js → plot.vaf2cov-UAI64HYN.js} +3 -3
  195. package/dist/{plot.wsi-MU6AXOWO.js → plot.wsi-QJ52IJXL.js} +2 -2
  196. package/dist/{polar2-G636L5TB.js → polar2-6S4IHKK4.js} +4 -4
  197. package/dist/{profileForms-TIT4JUEJ.js → profileForms-WXWHZ56N.js} +4 -4
  198. package/dist/{profilePlot-QFGRAZQA.js → profilePlot-K7ICCFQ3.js} +4 -4
  199. package/dist/{proteinView-RZ56F45C.js → proteinView-ALZTEKTC.js} +4 -4
  200. package/dist/{qualitative-YWP4YUPF.js → qualitative-QMPO7EY6.js} +3 -3
  201. package/dist/{radar2-TKSHL54E.js → radar2-LDAFJHSI.js} +4 -4
  202. package/dist/{radarFacility2-FHRFLBLF.js → radarFacility2-3TX3U243.js} +4 -4
  203. package/dist/{regression-5XG5LXP7.js → regression-DUUCJOFW.js} +11 -11
  204. package/dist/{regression.inputs-QHXK7ZYY.js → regression.inputs-B6SFFVED.js} +11 -11
  205. package/dist/{regression.inputs.term-YYO3CR2D.js → regression.inputs.term-P5NHX7ME.js} +11 -11
  206. package/dist/{regression.inputs.values.table-3I2FCON2.js → regression.inputs.values.table-MVPP5VAK.js} +9 -9
  207. package/dist/{regression.integration.spec-QVDGCKVT.js → regression.integration.spec-T7VH46WO.js} +10 -10
  208. package/dist/{regression.results-B7LVT2WG.js → regression.results-QEP4T6JO.js} +4 -4
  209. package/dist/{regression.spec-ISYKKQOM.js → regression.spec-BTBCBKMF.js} +10 -10
  210. package/dist/{report-TF6Z3Y44.js → report-WYCH4DJX.js} +3 -3
  211. package/dist/{sampleScatter.spec-2VW55XIZ.js → sampleScatter.spec-LC6K22FF.js} +10 -10
  212. package/dist/{sampleView-DNNJRAMU.js → sampleView-V3JYDTRA.js} +4 -4
  213. package/dist/{samplelst-726II3LN.js → samplelst-JO7UROYA.js} +3 -3
  214. package/dist/{samplematrix-TBPW4URH.js → samplematrix-6526IJRO.js} +5 -5
  215. package/dist/{sc-GBYH3W4S.js → sc-EUC7G5OV.js} +5 -5
  216. package/dist/{scatter-ATUM7AEW.js → scatter-UMK37C4M.js} +9 -9
  217. package/dist/{scatter.integration.spec-PDM454O3.js → scatter.integration.spec-BTOB6Y4H.js} +10 -10
  218. package/dist/{selectGenomeWithTklst-RCAYDV6D.js → selectGenomeWithTklst-JNEOHP4V.js} +4 -4
  219. package/dist/{singleCellCellType-IQYCKUT6.js → singleCellCellType-ZDMKPQ2Q.js} +4 -4
  220. package/dist/{singleCellCellType.unit.spec-ZEWA2IFI.js → singleCellCellType.unit.spec-BKGRNHYP.js} +4 -4
  221. package/dist/{singleCellGeneExpression-STLTBXJQ.js → singleCellGeneExpression-J5KFX7TD.js} +4 -4
  222. package/dist/{singleCellGeneExpression.unit.spec-W6FPS5ZU.js → singleCellGeneExpression.unit.spec-6F5YFV7K.js} +4 -4
  223. package/dist/{singleCellPlot-7XH7NIL4.js → singleCellPlot-VA6SWR5L.js} +5 -5
  224. package/dist/{singlecell-JCXR7X5U.js → singlecell-2CWHJR2P.js} +5 -5
  225. package/dist/{singlecell-IDZB2MXW.js → singlecell-A4OHBVJD.js} +5 -5
  226. package/dist/{snp-QOKI26PO.js → snp-PJNNPOSF.js} +4 -4
  227. package/dist/{snp.unit.spec-DTPZAALW.js → snp.unit.spec-JKZCYPNA.js} +4 -4
  228. package/dist/{snplocus-BKUJYANW.js → snplocus-YY6UIS2R.js} +3 -3
  229. package/dist/{spliceevent.a53ss.diagram-4O54ORKZ.js → spliceevent.a53ss.diagram-CEFGK2LA.js} +3 -3
  230. package/dist/{spliceevent.exonskip.diagram-KOIOS6IV.js → spliceevent.exonskip.diagram-A24TZTQ7.js} +4 -4
  231. package/dist/{spliceevent.noeventdiagram-YGUGQMVE.js → spliceevent.noeventdiagram-USD42ZZB.js} +3 -3
  232. package/dist/{ssGSEA-UZMBIHVD.js → ssGSEA-A5X56E7U.js} +4 -4
  233. package/dist/{ssGSEA.unit.spec-4YO4E3T7.js → ssGSEA.unit.spec-6WMGKWNI.js} +4 -4
  234. package/dist/{summarizeCnvGeneexp-HV3DHIW4.js → summarizeCnvGeneexp-FZJL4Q7O.js} +4 -4
  235. package/dist/{summarizeGeneexpSurvival-VGPRWYQ5.js → summarizeGeneexpSurvival-LRJZBHRW.js} +5 -5
  236. package/dist/{summarizeMutationCnv-N3JEB4DJ.js → summarizeMutationCnv-L64CVMHI.js} +4 -4
  237. package/dist/{summarizeMutationDiagnosis-6U4DBLG5.js → summarizeMutationDiagnosis-S55CKGBO.js} +4 -4
  238. package/dist/{summarizeMutationSurvival-S7NLAVEI.js → summarizeMutationSurvival-AM7BZVDP.js} +4 -4
  239. package/dist/{summary-NPR56I4S.js → summary-ANZTET2T.js} +7 -7
  240. package/dist/{summary.integration.spec-HWNJWLKT.js → summary.integration.spec-TW3CJTDA.js} +10 -10
  241. package/dist/{summaryInput-DO73NGDQ.js → summaryInput-3JHKZU62.js} +4 -4
  242. package/dist/{sunburst-MMXSGJSL.js → sunburst-ABDTE22P.js} +3 -3
  243. package/dist/{survival-7AIKFGV5.js → survival-HROP7OR7.js} +3 -3
  244. package/dist/{survival-UK332X6L.js → survival-KZDESA36.js} +4 -4
  245. package/dist/{survival.integration.spec-YMTEKEGB.js → survival.integration.spec-CMZTALBF.js} +10 -10
  246. package/dist/{svgraph-MLLAYO4A.js → svgraph-TLRXKVWQ.js} +3 -3
  247. package/dist/{svmr-PYW4PLT3.js → svmr-R4QOXWQW.js} +6 -6
  248. package/dist/{table-Y3ED2444.js → table-QM3RZQ5R.js} +3 -3
  249. package/dist/termCollection-B2A3MSCD.js +38 -0
  250. package/dist/{termCollection-VAB53YGO.js → termCollection-WVYJHPIH.js} +3 -3
  251. package/dist/{termCollection.unit.spec-DYPWNVEZ.js → termCollection.unit.spec-TCPEEZHW.js} +4 -4
  252. package/dist/{tk-GUGJYKJ2.js → tk-DGFFDV7C.js} +6 -6
  253. package/dist/{tp.ui-WGETBYJQ.js → tp.ui-BEESUHHF.js} +11 -11
  254. package/dist/{tvs.dt-JWF4I3KY.js → tvs.dt-UZW3L4MO.js} +3 -3
  255. package/dist/{tvs.dtcnv.categorical-72Y5QMPL.js → tvs.dtcnv.categorical-OH5NXCDN.js} +3 -3
  256. package/dist/{tvs.dtcnv.continuous-73LHWTU5.js → tvs.dtcnv.continuous-VWWTWAX2.js} +3 -3
  257. package/dist/{tvs.dtfusion-LP6HUMZU.js → tvs.dtfusion-YKYYCDJN.js} +3 -3
  258. package/dist/{tvs.dtsnvindel-23N2CFZJ.js → tvs.dtsnvindel-Y3WAHLKK.js} +3 -3
  259. package/dist/{tvs.dtsv-DILQVKYM.js → tvs.dtsv-UFLR2XRY.js} +3 -3
  260. package/dist/{tvs.samplelst-GV4VSCRF.js → tvs.samplelst-BPWZHD62.js} +3 -3
  261. package/dist/{tvs.termCollection-KBDNXK7X.js → tvs.termCollection-JLA3JQFX.js} +3 -3
  262. package/dist/{violin-TYUP7FB5.js → violin-TFNQIETS.js} +6 -6
  263. package/dist/{violin.integration.spec-ULRFK2A6.js → violin.integration.spec-XKNZQVN7.js} +10 -10
  264. package/dist/{violin.interactivity-2QZVQWQJ.js → violin.interactivity-R2EYNWI6.js} +4 -4
  265. package/dist/{violin.renderer-HCDSN62Z.js → violin.renderer-5WA4YLGB.js} +4 -4
  266. package/dist/{vocabulary-I4CMPN2Z.js → vocabulary-D2XUEKI6.js} +3 -3
  267. package/package.json +2 -2
  268. package/dist/AIProjectAdmin-JMN5O6YU.js.map +0 -7
  269. package/dist/WSIViewer-KITT7I67.js.map +0 -7
  270. package/dist/chunk-42EBECOD.js.map +0 -7
  271. package/dist/chunk-GMT2GNQY.js.map +0 -7
  272. package/dist/chunk-QNMB7LYW.js.map +0 -7
  273. package/dist/importPlot-M3MKWRON.js +0 -8
  274. package/dist/termCollection-3XVL75II.js +0 -38
  275. /package/dist/{2dmaf-V4WJ2LEK.js.map → 2dmaf-AGYGXGUT.js.map} +0 -0
  276. /package/dist/{AppHeader-Y4SEKCEF.js.map → AppHeader-6HL2GGMM.js.map} +0 -0
  277. /package/dist/{BoxPlot-ZXQZGCR3.js.map → BoxPlot-KZHJGR2R.js.map} +0 -0
  278. /package/dist/{CorrelationVolcano-R5IWD6WA.js.map → CorrelationVolcano-ICDRXFUR.js.map} +0 -0
  279. /package/dist/{DE-ZV6O7B6Y.js.map → DE-XYOBENUC.js.map} +0 -0
  280. /package/dist/{DEinput-FTOALZKN.js.map → DEinput-Q2TQ2KMY.js.map} +0 -0
  281. /package/dist/{DifferentialAnalysis-NLCA766A.js.map → DifferentialAnalysis-PLQOZDV6.js.map} +0 -0
  282. /package/dist/{Disco-Y5Z4A7GN.js.map → Disco-SFLOG7EW.js.map} +0 -0
  283. /package/dist/{Disco.UI-GSWZYIUT.js.map → Disco.UI-VF6NGHZ3.js.map} +0 -0
  284. /package/dist/{DmrPlot-FEFUCIGT.js.map → DmrPlot-ZUIQQBCR.js.map} +0 -0
  285. /package/dist/{GB-AOXF2JJB.js.map → GB-ZQ3RF3TI.js.map} +0 -0
  286. /package/dist/{GeneExpInput-CXYRKQU7.js.map → GeneExpInput-7QIBZOKQ.js.map} +0 -0
  287. /package/dist/{HicApp-GLNNZ4H5.js.map → HicApp-RSZ2KEDE.js.map} +0 -0
  288. /package/dist/{NumBinaryEditor-6ZAL6CCP.js.map → NumBinaryEditor-2W3DAPDZ.js.map} +0 -0
  289. /package/dist/{NumBinaryEditor.unit.spec-3VTJLILH.js.map → NumBinaryEditor.unit.spec-M5B6TNSD.js.map} +0 -0
  290. /package/dist/{NumContEditor-3LOAR676.js.map → NumContEditor-4K5FPKEN.js.map} +0 -0
  291. /package/dist/{NumContEditor.unit.spec-WIMYCOVO.js.map → NumContEditor.unit.spec-6G7AP2M2.js.map} +0 -0
  292. /package/dist/{NumCustomBinEditor-XIOAYWOD.js.map → NumCustomBinEditor-DHLGY3FL.js.map} +0 -0
  293. /package/dist/{NumCustomBinEditor.unit.spec-N5OV6MKR.js.map → NumCustomBinEditor.unit.spec-FHQ6P4JL.js.map} +0 -0
  294. /package/dist/{NumDiscreteEditor-AT6FKYGI.js.map → NumDiscreteEditor-XUCSTPY2.js.map} +0 -0
  295. /package/dist/{NumDiscreteEditor.unit.spec-BDR5GZ46.js.map → NumDiscreteEditor.unit.spec-HMD6VS2S.js.map} +0 -0
  296. /package/dist/{NumRegularBinEditor-Z4NBS4VZ.js.map → NumRegularBinEditor-3WT42ZBR.js.map} +0 -0
  297. /package/dist/{NumRegularBinEditor.unit.spec-BRWYNQ55.js.map → NumRegularBinEditor.unit.spec-5F346HKA.js.map} +0 -0
  298. /package/dist/{NumSplineEditor-B45BAWQ2.js.map → NumSplineEditor-TOAQ5FPH.js.map} +0 -0
  299. /package/dist/{NumSplineEditor.unit.spec-5RDBCZ4N.js.map → NumSplineEditor.unit.spec-27JDSKBE.js.map} +0 -0
  300. /package/dist/{NumericDensity-L7HIVV7D.js.map → NumericDensity-IP6XHMQF.js.map} +0 -0
  301. /package/dist/{NumericDensity.unit.spec-PL3XDJCV.js.map → NumericDensity.unit.spec-KWT77AFV.js.map} +0 -0
  302. /package/dist/{NumericHandler-KJYZOCCG.js.map → NumericHandler-7ZWXP7GY.js.map} +0 -0
  303. /package/dist/{NumericHandler.unit.spec-VC7NPLJW.js.map → NumericHandler.unit.spec-MK2GEPAY.js.map} +0 -0
  304. /package/dist/{ProteomeInput-A3GRPIAH.js.map → ProteomeInput-IIJOKE46.js.map} +0 -0
  305. /package/dist/{RunChart2-MSNU3ZNT.js.map → RunChart2-PLRREVZ4.js.map} +0 -0
  306. /package/dist/{SC-FNKG2FK5.js.map → SC-DC3QBYYA.js.map} +0 -0
  307. /package/dist/{Volcano-IRJMPHXJ.js.map → Volcano-VD2E62U3.js.map} +0 -0
  308. /package/dist/{WsiSamplesPlot-G3YZ6SIE.js.map → WsiSamplesPlot-QPIERW3J.js.map} +0 -0
  309. /package/dist/{adSandbox-GIQTJ4VA.js.map → adSandbox-4AVU36ND.js.map} +0 -0
  310. /package/dist/{app-MGNEMS2K.js.map → app-E36H76Q7.js.map} +0 -0
  311. /package/dist/{app-UQTHPQFD.js.map → app-I4D3X3MD.js.map} +0 -0
  312. /package/dist/{bam-5PROQBRT.js.map → bam-IW44TWN3.js.map} +0 -0
  313. /package/dist/{barchart-BQYJ73Z4.js.map → barchart-RXVVLBQY.js.map} +0 -0
  314. /package/dist/{barchart.events-W2CIDD4B.js.map → barchart.events-2WWFMZYY.js.map} +0 -0
  315. /package/dist/{barchart.integration.spec-JF2IHFQE.js.map → barchart.integration.spec-CYR3XRHD.js.map} +0 -0
  316. /package/dist/{barchart2-V6W4UAFH.js.map → barchart2-DRRTYOAK.js.map} +0 -0
  317. /package/dist/{block-5V2FCT7Q.js.map → block-WGOA676W.js.map} +0 -0
  318. /package/dist/{block.init-43IUNDNB.js.map → block.init-PEK25OMQ.js.map} +0 -0
  319. /package/dist/{block.mds.expressionrank-LI6MZPBE.js.map → block.mds.expressionrank-N2L46BXD.js.map} +0 -0
  320. /package/dist/{block.mds.geneboxplot-673AIJMJ.js.map → block.mds.geneboxplot-RWQUY72S.js.map} +0 -0
  321. /package/dist/{block.mds.junction-UWNVNV3X.js.map → block.mds.junction-PTXDDQGZ.js.map} +0 -0
  322. /package/dist/{block.mds.svcnv-Z5VFCUUE.js.map → block.mds.svcnv-ZQXSEZWZ.js.map} +0 -0
  323. /package/dist/{block.svg-MGK4GWLL.js.map → block.svg-OVZSRPOX.js.map} +0 -0
  324. /package/dist/{block.tk.aicheck-OFNDGG7Q.js.map → block.tk.aicheck-X5QHG6LL.js.map} +0 -0
  325. /package/dist/{block.tk.ase-IDZQY7MW.js.map → block.tk.ase-BPB2PABO.js.map} +0 -0
  326. /package/dist/{block.tk.bam-K7A2Q5NI.js.map → block.tk.bam-E7JVNL5W.js.map} +0 -0
  327. /package/dist/{block.tk.bedgraphdot-PPTKCCPK.js.map → block.tk.bedgraphdot-U76UV2L6.js.map} +0 -0
  328. /package/dist/{block.tk.bigwig.ui-PI6EAU43.js.map → block.tk.bigwig.ui-HH3ETZSD.js.map} +0 -0
  329. /package/dist/{block.tk.hicstraw-EZ2GS2K4.js.map → block.tk.hicstraw-O5MGNX56.js.map} +0 -0
  330. /package/dist/{block.tk.junction-4WSLQGSQ.js.map → block.tk.junction-TIAW3OKP.js.map} +0 -0
  331. /package/dist/{block.tk.junction.textmatrixui-7EJUSVMB.js.map → block.tk.junction.textmatrixui-NSWBQ7VJ.js.map} +0 -0
  332. /package/dist/{block.tk.ld-KLVO7M37.js.map → block.tk.ld-NQ2OIWL5.js.map} +0 -0
  333. /package/dist/{block.tk.menu-KZSL7BAR.js.map → block.tk.menu-JY5CEFKV.js.map} +0 -0
  334. /package/dist/{block.tk.pgv-NYWGB4VH.js.map → block.tk.pgv-NFUQC4QX.js.map} +0 -0
  335. /package/dist/{brainImaging-MTIIMJHW.js.map → brainImaging-3OMQ4JBW.js.map} +0 -0
  336. /package/dist/{chunk-RZY34QRF.js.map → chunk-26NIOETK.js.map} +0 -0
  337. /package/dist/{chunk-O7NFSCEW.js.map → chunk-3FCUJ5L3.js.map} +0 -0
  338. /package/dist/{chunk-2NQLAH3L.js.map → chunk-46NCFHG3.js.map} +0 -0
  339. /package/dist/{chunk-5SXCIKYV.js.map → chunk-4732T6NY.js.map} +0 -0
  340. /package/dist/{chunk-P4QGOUDH.js.map → chunk-4NCLILLO.js.map} +0 -0
  341. /package/dist/{chunk-CKA52OEA.js.map → chunk-4RGJAFAC.js.map} +0 -0
  342. /package/dist/{chunk-2TCCXOAV.js.map → chunk-4VMWYVLU.js.map} +0 -0
  343. /package/dist/{chunk-6GZJCSA6.js.map → chunk-5YQ2VPEW.js.map} +0 -0
  344. /package/dist/{chunk-Z3SC67OA.js.map → chunk-6ME3635L.js.map} +0 -0
  345. /package/dist/{chunk-YNBT4N6T.js.map → chunk-6ML236VW.js.map} +0 -0
  346. /package/dist/{chunk-YWZCJMHS.js.map → chunk-7E73OOQ4.js.map} +0 -0
  347. /package/dist/{chunk-UCLROZRF.js.map → chunk-AFZX3KM2.js.map} +0 -0
  348. /package/dist/{chunk-F6N6JBZR.js.map → chunk-ALZ4PTHT.js.map} +0 -0
  349. /package/dist/{chunk-L4TUTGTA.js.map → chunk-APO4BA2P.js.map} +0 -0
  350. /package/dist/{chunk-3D5GZIGG.js.map → chunk-BF5R4XFD.js.map} +0 -0
  351. /package/dist/{chunk-F5QIZOPL.js.map → chunk-BIBPNVX7.js.map} +0 -0
  352. /package/dist/{chunk-MYWV64P5.js.map → chunk-DJ5D3TFP.js.map} +0 -0
  353. /package/dist/{chunk-4B42QV34.js.map → chunk-E7ZIEO4Q.js.map} +0 -0
  354. /package/dist/{chunk-SQWEREGE.js.map → chunk-ECYPHINS.js.map} +0 -0
  355. /package/dist/{chunk-EIBNV236.js.map → chunk-FVRQYK2V.js.map} +0 -0
  356. /package/dist/{chunk-ZLREFIZB.js.map → chunk-GWXA2YLS.js.map} +0 -0
  357. /package/dist/{chunk-52RORO74.js.map → chunk-HD3N3MIQ.js.map} +0 -0
  358. /package/dist/{chunk-WET4LPLO.js.map → chunk-HOHQUGVI.js.map} +0 -0
  359. /package/dist/{chunk-CKDC326M.js.map → chunk-IVIWWCEK.js.map} +0 -0
  360. /package/dist/{chunk-X63AAJGT.js.map → chunk-JZ67QSUN.js.map} +0 -0
  361. /package/dist/{chunk-FXMHSVBS.js.map → chunk-KBTMTZ2D.js.map} +0 -0
  362. /package/dist/{chunk-3TPAIXNL.js.map → chunk-KRWLIZ6J.js.map} +0 -0
  363. /package/dist/{chunk-PGBKZ76Y.js.map → chunk-KW5ZXPIM.js.map} +0 -0
  364. /package/dist/{chunk-LT5XPBIX.js.map → chunk-LLFZ4KNO.js.map} +0 -0
  365. /package/dist/{chunk-67HSIHPP.js.map → chunk-LOZWCVAY.js.map} +0 -0
  366. /package/dist/{chunk-YVCTEEVQ.js.map → chunk-MBZ3D6T6.js.map} +0 -0
  367. /package/dist/{chunk-7JEKUSEL.js.map → chunk-MHOVJLLC.js.map} +0 -0
  368. /package/dist/{chunk-SDACELDR.js.map → chunk-N4PSYVGO.js.map} +0 -0
  369. /package/dist/{chunk-JJOLDYSQ.js.map → chunk-NCQK3W6J.js.map} +0 -0
  370. /package/dist/{chunk-2Q6PBSPS.js.map → chunk-OHO2FGMM.js.map} +0 -0
  371. /package/dist/{chunk-X5X5T3AJ.js.map → chunk-OHXWVZEI.js.map} +0 -0
  372. /package/dist/{chunk-IL5QT2FI.js.map → chunk-PB3POI37.js.map} +0 -0
  373. /package/dist/{chunk-NKTBR5SK.js.map → chunk-PGEEP4AH.js.map} +0 -0
  374. /package/dist/{chunk-KSCJWPTJ.js.map → chunk-PHE6J6OL.js.map} +0 -0
  375. /package/dist/{chunk-PQZ3A27I.js.map → chunk-TRZ35AY6.js.map} +0 -0
  376. /package/dist/{chunk-647P2I4Q.js.map → chunk-TVIKEQUO.js.map} +0 -0
  377. /package/dist/{chunk-PQNVPSQR.js.map → chunk-VF23ENKB.js.map} +0 -0
  378. /package/dist/{chunk-BMO6KSVC.js.map → chunk-VGMVLQDT.js.map} +0 -0
  379. /package/dist/{chunk-J6GLTYGJ.js.map → chunk-VUWWQCEK.js.map} +0 -0
  380. /package/dist/{chunk-4FKWINMK.js.map → chunk-X3Q6I37T.js.map} +0 -0
  381. /package/dist/{chunk-DC4KD6FJ.js.map → chunk-XEMSCL7A.js.map} +0 -0
  382. /package/dist/{chunk-NVX26LFC.js.map → chunk-XLDH2NGH.js.map} +0 -0
  383. /package/dist/{chunk-VIHUKORE.js.map → chunk-YH4CIFN3.js.map} +0 -0
  384. /package/dist/{chunk-CYHUNQMS.js.map → chunk-YKCJPNBV.js.map} +0 -0
  385. /package/dist/{chunk-ZX2ISBEF.js.map → chunk-Z3726F4F.js.map} +0 -0
  386. /package/dist/{chunk-XRAFQKOF.js.map → chunk-ZSP7AKBN.js.map} +0 -0
  387. /package/dist/{condition-P2XD32QM.js.map → condition-GNUPDC6J.js.map} +0 -0
  388. /package/dist/{controls-FZUTJPKV.js.map → controls-W5CAUCUU.js.map} +0 -0
  389. /package/dist/{controls.config-TEFY3NTE.js.map → controls.config-JQGWNZCZ.js.map} +0 -0
  390. /package/dist/{correlation-HS2WJFXN.js.map → correlation-URI2YADE.js.map} +0 -0
  391. /package/dist/{cuminc-42GBJHD3.js.map → cuminc-CMJRK7TH.js.map} +0 -0
  392. /package/dist/{cuminc.integration.spec-BAY4JHVL.js.map → cuminc.integration.spec-BMEGXFL7.js.map} +0 -0
  393. /package/dist/{customdata.inputui-IPM5K56K.js.map → customdata.inputui-YGBEBVS2.js.map} +0 -0
  394. /package/dist/{dataDownload-D7VCYBDT.js.map → dataDownload-OTUQZMQ5.js.map} +0 -0
  395. /package/dist/{dataDownload.integration.spec-SEBY2BIX.js.map → dataDownload.integration.spec-TF25ODEK.js.map} +0 -0
  396. /package/dist/{databrowser.ui-5OC5MPZB.js.map → databrowser.ui-4BNTK45C.js.map} +0 -0
  397. /package/dist/{dictionary-VVRWVLJX.js.map → dictionary-MBQY7WLO.js.map} +0 -0
  398. /package/dist/{dnaMethylation-72IS3FRI.js.map → dnaMethylation-TQ4Q22UM.js.map} +0 -0
  399. /package/dist/{dnaMethylation.integration.spec-U2LLSDGE.js.map → dnaMethylation.integration.spec-7IK6AQK3.js.map} +0 -0
  400. /package/dist/{e2pca-AR6EKEJA.js.map → e2pca-NZFBO7ZK.js.map} +0 -0
  401. /package/dist/{ep-JS5UUJQX.js.map → ep-KBE3SNHO.js.map} +0 -0
  402. /package/dist/{expclust.gdc.spec-73MGQ7RN.js.map → expclust.gdc.spec-JWNFEMC6.js.map} +0 -0
  403. /package/dist/{facet-AR3QKHCY.js.map → facet-YSULPZW4.js.map} +0 -0
  404. /package/dist/{forms2-UXEI7MUP.js.map → forms2-AEMEQPHL.js.map} +0 -0
  405. /package/dist/{gb-RHDVYU2V.js.map → gb-JZIBBHO3.js.map} +0 -0
  406. /package/dist/{geneExpClustering-L6KLCMPH.js.map → geneExpClustering-NYB4KT5A.js.map} +0 -0
  407. /package/dist/{geneExpression-SKIU3NEP.js.map → geneExpression-MLCFQIN7.js.map} +0 -0
  408. /package/dist/{geneExpression.unit.spec-CWR6KDVK.js.map → geneExpression.unit.spec-JUUSSSX6.js.map} +0 -0
  409. /package/dist/{geneORA-C3TALK5P.js.map → geneORA-WHLE3ZGH.js.map} +0 -0
  410. /package/dist/{geneRanking-LLYLDPLV.js.map → geneRanking-3SKA2UCY.js.map} +0 -0
  411. /package/dist/{geneVariant-PUSKBHPY.js.map → geneVariant-EV6HDSXA.js.map} +0 -0
  412. /package/dist/{geneVariant-YFMU6PHM.js.map → geneVariant-Z77ISGU7.js.map} +0 -0
  413. /package/dist/{geneVariant.integration.spec-EJ5V46OQ.js.map → geneVariant.integration.spec-SEZM6S35.js.map} +0 -0
  414. /package/dist/{genefusion.ui-XUHSKQKW.js.map → genefusion.ui-3XZHAONN.js.map} +0 -0
  415. /package/dist/{geneset-DEL5LXFZ.js.map → geneset-JHCB2JO3.js.map} +0 -0
  416. /package/dist/{genomeBrowser.spec-W5TVHOUJ.js.map → genomeBrowser.spec-D3WNZ2N5.js.map} +0 -0
  417. /package/dist/{grin2-FXAEGECD.js.map → grin2-32ZKO7NS.js.map} +0 -0
  418. /package/dist/{grin2-U2FKULLC.js.map → grin2-4R3JJOLC.js.map} +0 -0
  419. /package/dist/{gsea-CNL6SHH5.js.map → gsea-S7324GB6.js.map} +0 -0
  420. /package/dist/{hierCluster-7V65PMIW.js.map → hierCluster-GX5PI6YL.js.map} +0 -0
  421. /package/dist/{hierCluster-C44GHM4B.js.map → hierCluster-KQYYIGN5.js.map} +0 -0
  422. /package/dist/{hierCluster.config-RU5JDPWM.js.map → hierCluster.config-IIURSVY2.js.map} +0 -0
  423. /package/dist/{hierCluster.integration.spec-6YH5KE4H.js.map → hierCluster.integration.spec-FWBF4YBD.js.map} +0 -0
  424. /package/dist/{hierCluster.interactivity-PK2L7BSW.js.map → hierCluster.interactivity-KPXSTWRR.js.map} +0 -0
  425. /package/dist/{imagePlot-5SEDMPBP.js.map → imagePlot-7A2CIC66.js.map} +0 -0
  426. /package/dist/{importPlot-M3MKWRON.js.map → importPlot-6YQK3SNT.js.map} +0 -0
  427. /package/dist/{isoformExpression-PPMISWKT.js.map → isoformExpression-AROVOFMP.js.map} +0 -0
  428. /package/dist/{isoformExpression.unit.spec-ENHCCQRZ.js.map → isoformExpression.unit.spec-VSVVZ5XS.js.map} +0 -0
  429. /package/dist/{launch.adhoc-XAG6H42J.js.map → launch.adhoc-IGP7JD3M.js.map} +0 -0
  430. /package/dist/{leftlabel.sample-BSPCI6GR.js.map → leftlabel.sample-DXTZOSQU.js.map} +0 -0
  431. /package/dist/{lollipop-IZJ7E3YO.js.map → lollipop-XWUXPA2R.js.map} +0 -0
  432. /package/dist/{maf-54XWBQ73.js.map → maf-JWOTNV3J.js.map} +0 -0
  433. /package/dist/{maftimeline-3AJKAFS6.js.map → maftimeline-E2UWXJXB.js.map} +0 -0
  434. /package/dist/{matrix-AJPMHUXG.js.map → matrix-22WXRDYA.js.map} +0 -0
  435. /package/dist/{matrix-ZMXNOESU.js.map → matrix-DJHK3OWP.js.map} +0 -0
  436. /package/dist/{matrix.config-4WLSFMTY.js.map → matrix.config-MXJ4IDSU.js.map} +0 -0
  437. /package/dist/{matrix.integration.spec-ENRPVB7R.js.map → matrix.integration.spec-XYRW7NR3.js.map} +0 -0
  438. /package/dist/{matrix.interactivity-IMWERCZF.js.map → matrix.interactivity-SVGML6PN.js.map} +0 -0
  439. /package/dist/{matrix.layout-5DDZWLNX.js.map → matrix.layout-RE3KGHVF.js.map} +0 -0
  440. /package/dist/{matrix.renderers-VFQZG5JP.js.map → matrix.renderers-HFV3XFJV.js.map} +0 -0
  441. /package/dist/{matrix.sort.unit.spec-ZA5DRNL6.js.map → matrix.sort.unit.spec-WI6V675V.js.map} +0 -0
  442. /package/dist/{matrix.sorterUi.unit.spec-7TPOJ46U.js.map → matrix.sorterUi.unit.spec-BYZ2BMTN.js.map} +0 -0
  443. /package/dist/{mavb-73BXZ7MO.js.map → mavb-3H4ZCENB.js.map} +0 -0
  444. /package/dist/{mds.fimo-L7VVAOXQ.js.map → mds.fimo-26I6TEZC.js.map} +0 -0
  445. /package/dist/{mds.samplescatterplot-6P75XEWB.js.map → mds.samplescatterplot-R6RTZNDF.js.map} +0 -0
  446. /package/dist/{mds.survivalplot-GCVE7XGO.js.map → mds.survivalplot-BJBA2ZLI.js.map} +0 -0
  447. /package/dist/{oncomatrix-BFWV2IC4.js.map → oncomatrix-WL7ZE5KG.js.map} +0 -0
  448. /package/dist/{oncomatrix.spec-J6IAY3O6.js.map → oncomatrix.spec-VHERLEOD.js.map} +0 -0
  449. /package/dist/{plot.2dvaf-ESJAB2F3.js.map → plot.2dvaf-ERAUL6M3.js.map} +0 -0
  450. /package/dist/{plot.app-T7CQMBRV.js.map → plot.app-X6DXZDVY.js.map} +0 -0
  451. /package/dist/{plot.barplot-HAWPMPPU.js.map → plot.barplot-2FBRVNLX.js.map} +0 -0
  452. /package/dist/{plot.boxplot-4QUORFXY.js.map → plot.boxplot-JNO63FXZ.js.map} +0 -0
  453. /package/dist/{plot.brainImaging-HG6I3GJW.js.map → plot.brainImaging-YBN5YH3H.js.map} +0 -0
  454. /package/dist/{plot.disco-LPH7F6YW.js.map → plot.disco-BLNU4I6Q.js.map} +0 -0
  455. /package/dist/{plot.dzi-DYAY4D4E.js.map → plot.dzi-FKWY6K5Q.js.map} +0 -0
  456. /package/dist/{plot.ssgq-CF5VIGYJ.js.map → plot.ssgq-3GTTOOMK.js.map} +0 -0
  457. /package/dist/{plot.vaf2cov-7HZCKNK6.js.map → plot.vaf2cov-UAI64HYN.js.map} +0 -0
  458. /package/dist/{plot.wsi-MU6AXOWO.js.map → plot.wsi-QJ52IJXL.js.map} +0 -0
  459. /package/dist/{polar2-G636L5TB.js.map → polar2-6S4IHKK4.js.map} +0 -0
  460. /package/dist/{profileForms-TIT4JUEJ.js.map → profileForms-WXWHZ56N.js.map} +0 -0
  461. /package/dist/{profilePlot-QFGRAZQA.js.map → profilePlot-K7ICCFQ3.js.map} +0 -0
  462. /package/dist/{proteinView-RZ56F45C.js.map → proteinView-ALZTEKTC.js.map} +0 -0
  463. /package/dist/{qualitative-YWP4YUPF.js.map → qualitative-QMPO7EY6.js.map} +0 -0
  464. /package/dist/{radar2-TKSHL54E.js.map → radar2-LDAFJHSI.js.map} +0 -0
  465. /package/dist/{radarFacility2-FHRFLBLF.js.map → radarFacility2-3TX3U243.js.map} +0 -0
  466. /package/dist/{regression-5XG5LXP7.js.map → regression-DUUCJOFW.js.map} +0 -0
  467. /package/dist/{regression.inputs-QHXK7ZYY.js.map → regression.inputs-B6SFFVED.js.map} +0 -0
  468. /package/dist/{regression.inputs.term-YYO3CR2D.js.map → regression.inputs.term-P5NHX7ME.js.map} +0 -0
  469. /package/dist/{regression.inputs.values.table-3I2FCON2.js.map → regression.inputs.values.table-MVPP5VAK.js.map} +0 -0
  470. /package/dist/{regression.integration.spec-QVDGCKVT.js.map → regression.integration.spec-T7VH46WO.js.map} +0 -0
  471. /package/dist/{regression.results-B7LVT2WG.js.map → regression.results-QEP4T6JO.js.map} +0 -0
  472. /package/dist/{regression.spec-ISYKKQOM.js.map → regression.spec-BTBCBKMF.js.map} +0 -0
  473. /package/dist/{report-TF6Z3Y44.js.map → report-WYCH4DJX.js.map} +0 -0
  474. /package/dist/{sampleScatter.spec-2VW55XIZ.js.map → sampleScatter.spec-LC6K22FF.js.map} +0 -0
  475. /package/dist/{sampleView-DNNJRAMU.js.map → sampleView-V3JYDTRA.js.map} +0 -0
  476. /package/dist/{samplelst-726II3LN.js.map → samplelst-JO7UROYA.js.map} +0 -0
  477. /package/dist/{samplematrix-TBPW4URH.js.map → samplematrix-6526IJRO.js.map} +0 -0
  478. /package/dist/{sc-GBYH3W4S.js.map → sc-EUC7G5OV.js.map} +0 -0
  479. /package/dist/{scatter-ATUM7AEW.js.map → scatter-UMK37C4M.js.map} +0 -0
  480. /package/dist/{scatter.integration.spec-PDM454O3.js.map → scatter.integration.spec-BTOB6Y4H.js.map} +0 -0
  481. /package/dist/{selectGenomeWithTklst-RCAYDV6D.js.map → selectGenomeWithTklst-JNEOHP4V.js.map} +0 -0
  482. /package/dist/{singleCellCellType-IQYCKUT6.js.map → singleCellCellType-ZDMKPQ2Q.js.map} +0 -0
  483. /package/dist/{singleCellCellType.unit.spec-ZEWA2IFI.js.map → singleCellCellType.unit.spec-BKGRNHYP.js.map} +0 -0
  484. /package/dist/{singleCellGeneExpression-STLTBXJQ.js.map → singleCellGeneExpression-J5KFX7TD.js.map} +0 -0
  485. /package/dist/{singleCellGeneExpression.unit.spec-W6FPS5ZU.js.map → singleCellGeneExpression.unit.spec-6F5YFV7K.js.map} +0 -0
  486. /package/dist/{singleCellPlot-7XH7NIL4.js.map → singleCellPlot-VA6SWR5L.js.map} +0 -0
  487. /package/dist/{singlecell-JCXR7X5U.js.map → singlecell-2CWHJR2P.js.map} +0 -0
  488. /package/dist/{singlecell-IDZB2MXW.js.map → singlecell-A4OHBVJD.js.map} +0 -0
  489. /package/dist/{snp-QOKI26PO.js.map → snp-PJNNPOSF.js.map} +0 -0
  490. /package/dist/{snp.unit.spec-DTPZAALW.js.map → snp.unit.spec-JKZCYPNA.js.map} +0 -0
  491. /package/dist/{snplocus-BKUJYANW.js.map → snplocus-YY6UIS2R.js.map} +0 -0
  492. /package/dist/{spliceevent.a53ss.diagram-4O54ORKZ.js.map → spliceevent.a53ss.diagram-CEFGK2LA.js.map} +0 -0
  493. /package/dist/{spliceevent.exonskip.diagram-KOIOS6IV.js.map → spliceevent.exonskip.diagram-A24TZTQ7.js.map} +0 -0
  494. /package/dist/{spliceevent.noeventdiagram-YGUGQMVE.js.map → spliceevent.noeventdiagram-USD42ZZB.js.map} +0 -0
  495. /package/dist/{ssGSEA-UZMBIHVD.js.map → ssGSEA-A5X56E7U.js.map} +0 -0
  496. /package/dist/{ssGSEA.unit.spec-4YO4E3T7.js.map → ssGSEA.unit.spec-6WMGKWNI.js.map} +0 -0
  497. /package/dist/{summarizeCnvGeneexp-HV3DHIW4.js.map → summarizeCnvGeneexp-FZJL4Q7O.js.map} +0 -0
  498. /package/dist/{summarizeGeneexpSurvival-VGPRWYQ5.js.map → summarizeGeneexpSurvival-LRJZBHRW.js.map} +0 -0
  499. /package/dist/{summarizeMutationCnv-N3JEB4DJ.js.map → summarizeMutationCnv-L64CVMHI.js.map} +0 -0
  500. /package/dist/{summarizeMutationDiagnosis-6U4DBLG5.js.map → summarizeMutationDiagnosis-S55CKGBO.js.map} +0 -0
  501. /package/dist/{summarizeMutationSurvival-S7NLAVEI.js.map → summarizeMutationSurvival-AM7BZVDP.js.map} +0 -0
  502. /package/dist/{summary-NPR56I4S.js.map → summary-ANZTET2T.js.map} +0 -0
  503. /package/dist/{summary.integration.spec-HWNJWLKT.js.map → summary.integration.spec-TW3CJTDA.js.map} +0 -0
  504. /package/dist/{summaryInput-DO73NGDQ.js.map → summaryInput-3JHKZU62.js.map} +0 -0
  505. /package/dist/{sunburst-MMXSGJSL.js.map → sunburst-ABDTE22P.js.map} +0 -0
  506. /package/dist/{survival-7AIKFGV5.js.map → survival-HROP7OR7.js.map} +0 -0
  507. /package/dist/{survival-UK332X6L.js.map → survival-KZDESA36.js.map} +0 -0
  508. /package/dist/{survival.integration.spec-YMTEKEGB.js.map → survival.integration.spec-CMZTALBF.js.map} +0 -0
  509. /package/dist/{svgraph-MLLAYO4A.js.map → svgraph-TLRXKVWQ.js.map} +0 -0
  510. /package/dist/{svmr-PYW4PLT3.js.map → svmr-R4QOXWQW.js.map} +0 -0
  511. /package/dist/{table-Y3ED2444.js.map → table-QM3RZQ5R.js.map} +0 -0
  512. /package/dist/{termCollection-3XVL75II.js.map → termCollection-B2A3MSCD.js.map} +0 -0
  513. /package/dist/{termCollection-VAB53YGO.js.map → termCollection-WVYJHPIH.js.map} +0 -0
  514. /package/dist/{termCollection.unit.spec-DYPWNVEZ.js.map → termCollection.unit.spec-TCPEEZHW.js.map} +0 -0
  515. /package/dist/{tk-GUGJYKJ2.js.map → tk-DGFFDV7C.js.map} +0 -0
  516. /package/dist/{tp.ui-WGETBYJQ.js.map → tp.ui-BEESUHHF.js.map} +0 -0
  517. /package/dist/{tvs.dt-JWF4I3KY.js.map → tvs.dt-UZW3L4MO.js.map} +0 -0
  518. /package/dist/{tvs.dtcnv.categorical-72Y5QMPL.js.map → tvs.dtcnv.categorical-OH5NXCDN.js.map} +0 -0
  519. /package/dist/{tvs.dtcnv.continuous-73LHWTU5.js.map → tvs.dtcnv.continuous-VWWTWAX2.js.map} +0 -0
  520. /package/dist/{tvs.dtfusion-LP6HUMZU.js.map → tvs.dtfusion-YKYYCDJN.js.map} +0 -0
  521. /package/dist/{tvs.dtsnvindel-23N2CFZJ.js.map → tvs.dtsnvindel-Y3WAHLKK.js.map} +0 -0
  522. /package/dist/{tvs.dtsv-DILQVKYM.js.map → tvs.dtsv-UFLR2XRY.js.map} +0 -0
  523. /package/dist/{tvs.samplelst-GV4VSCRF.js.map → tvs.samplelst-BPWZHD62.js.map} +0 -0
  524. /package/dist/{tvs.termCollection-KBDNXK7X.js.map → tvs.termCollection-JLA3JQFX.js.map} +0 -0
  525. /package/dist/{violin-TYUP7FB5.js.map → violin-TFNQIETS.js.map} +0 -0
  526. /package/dist/{violin.integration.spec-ULRFK2A6.js.map → violin.integration.spec-XKNZQVN7.js.map} +0 -0
  527. /package/dist/{violin.interactivity-2QZVQWQJ.js.map → violin.interactivity-R2EYNWI6.js.map} +0 -0
  528. /package/dist/{violin.renderer-HCDSN62Z.js.map → violin.renderer-5WA4YLGB.js.map} +0 -0
  529. /package/dist/{vocabulary-I4CMPN2Z.js.map → vocabulary-D2XUEKI6.js.map} +0 -0
@@ -0,0 +1,38 @@
1
+ import {
2
+ SearchHandler
3
+ } from "./chunk-6ME3635L.js";
4
+ import "./chunk-APO4BA2P.js";
5
+ import "./chunk-HJ6L54YS.js";
6
+ import "./chunk-LSEFWW72.js";
7
+ import "./chunk-X3Q6I37T.js";
8
+ import "./chunk-HYOEWQ5P.js";
9
+ import "./chunk-HBW42TDT.js";
10
+ import "./chunk-G6O3URDN.js";
11
+ import "./chunk-FN5XPUPH.js";
12
+ import "./chunk-IIT367QZ.js";
13
+ import "./chunk-RZGEKL77.js";
14
+ import "./chunk-XVZ5UJWU.js";
15
+ import "./chunk-WS3NUPNV.js";
16
+ import "./chunk-6VKTEMFV.js";
17
+ import "./chunk-7IYJZZQI.js";
18
+ import "./chunk-M3J4MINX.js";
19
+ import "./chunk-PF4DSFDR.js";
20
+ import "./chunk-S4JLRRKK.js";
21
+ import "./chunk-TVADJLMF.js";
22
+ import "./chunk-EBKERML3.js";
23
+ import "./chunk-DD4R5P6W.js";
24
+ import "./chunk-JNITUVXP.js";
25
+ import "./chunk-KSGA62R2.js";
26
+ import "./chunk-LOZEKOES.js";
27
+ import "./chunk-TOU7EVFQ.js";
28
+ import "./chunk-OAWQ6LOO.js";
29
+ import "./chunk-TLT4YIG3.js";
30
+ import "./chunk-KYBIQBXE.js";
31
+ import "./chunk-I6Y4O3RR.js";
32
+ import "./chunk-OMR2DT66.js";
33
+ import "./chunk-DQC5FFGV.js";
34
+ import "./chunk-HFNDKYVF.js";
35
+ export {
36
+ SearchHandler
37
+ };
38
+ //# sourceMappingURL=termCollection-B2A3MSCD.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  mayHydrateDictTwLst,
3
3
  renderTable
4
- } from "./chunk-L4TUTGTA.js";
4
+ } from "./chunk-APO4BA2P.js";
5
5
  import "./chunk-HJ6L54YS.js";
6
6
  import {
7
7
  HandlerBase
8
8
  } from "./chunk-LSEFWW72.js";
9
- import "./chunk-4FKWINMK.js";
9
+ import "./chunk-X3Q6I37T.js";
10
10
  import "./chunk-HYOEWQ5P.js";
11
11
  import "./chunk-HBW42TDT.js";
12
12
  import "./chunk-G6O3URDN.js";
@@ -176,4 +176,4 @@ export {
176
176
  TermCollectionHandler,
177
177
  fillTW
178
178
  };
179
- //# sourceMappingURL=termCollection-VAB53YGO.js.map
179
+ //# sourceMappingURL=termCollection-WVYJHPIH.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SearchHandler
3
- } from "./chunk-Z3SC67OA.js";
3
+ } from "./chunk-6ME3635L.js";
4
4
  import {
5
5
  require_tape
6
6
  } from "./chunk-QWOE5YTB.js";
7
- import "./chunk-L4TUTGTA.js";
7
+ import "./chunk-APO4BA2P.js";
8
8
  import "./chunk-HJ6L54YS.js";
9
9
  import "./chunk-LSEFWW72.js";
10
- import "./chunk-4FKWINMK.js";
10
+ import "./chunk-X3Q6I37T.js";
11
11
  import "./chunk-HYOEWQ5P.js";
12
12
  import "./chunk-HBW42TDT.js";
13
13
  import "./chunk-G6O3URDN.js";
@@ -205,4 +205,4 @@ function getTermCollectionDetails(overrides = {}) {
205
205
  if (test["_ok"]) holder.remove();
206
206
  test.end();
207
207
  });
208
- //# sourceMappingURL=termCollection.unit.spec-DYPWNVEZ.js.map
208
+ //# sourceMappingURL=termCollection.unit.spec-TCPEEZHW.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  loadTk,
3
3
  rangequery_rglst
4
- } from "./chunk-QNMB7LYW.js";
4
+ } from "./chunk-757JGDTF.js";
5
5
  import "./chunk-SKMFMGCD.js";
6
- import "./chunk-MYWV64P5.js";
7
- import "./chunk-CYHUNQMS.js";
6
+ import "./chunk-DJ5D3TFP.js";
7
+ import "./chunk-YKCJPNBV.js";
8
8
  import "./chunk-V2OJLJSK.js";
9
9
  import "./chunk-WKNI3HRQ.js";
10
10
  import "./chunk-VMLSRKIB.js";
11
- import "./chunk-L4TUTGTA.js";
11
+ import "./chunk-APO4BA2P.js";
12
12
  import "./chunk-HJ6L54YS.js";
13
13
  import "./chunk-LSEFWW72.js";
14
- import "./chunk-4FKWINMK.js";
14
+ import "./chunk-X3Q6I37T.js";
15
15
  import "./chunk-HYOEWQ5P.js";
16
16
  import "./chunk-HBW42TDT.js";
17
17
  import "./chunk-G6O3URDN.js";
@@ -43,4 +43,4 @@ export {
43
43
  loadTk,
44
44
  rangequery_rglst
45
45
  };
46
- //# sourceMappingURL=tk-GUGJYKJ2.js.map
46
+ //# sourceMappingURL=tk-DGFFDV7C.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  blocklazyload
3
- } from "./chunk-SDACELDR.js";
3
+ } from "./chunk-N4PSYVGO.js";
4
4
  import {
5
5
  bulkin,
6
6
  content2flag
7
- } from "./chunk-67HSIHPP.js";
8
- import "./chunk-YWZCJMHS.js";
7
+ } from "./chunk-LOZWCVAY.js";
8
+ import "./chunk-7E73OOQ4.js";
9
9
  import {
10
10
  getsjcharts
11
11
  } from "./chunk-MKAF2BHB.js";
12
12
  import "./chunk-VMLSRKIB.js";
13
13
  import {
14
14
  block_init_default
15
- } from "./chunk-IL5QT2FI.js";
15
+ } from "./chunk-PB3POI37.js";
16
16
  import {
17
17
  appear2 as appear,
18
18
  disappear2 as disappear,
@@ -21,10 +21,10 @@ import {
21
21
  font,
22
22
  newpane,
23
23
  sayerror
24
- } from "./chunk-L4TUTGTA.js";
24
+ } from "./chunk-APO4BA2P.js";
25
25
  import "./chunk-HJ6L54YS.js";
26
26
  import "./chunk-LSEFWW72.js";
27
- import "./chunk-4FKWINMK.js";
27
+ import "./chunk-X3Q6I37T.js";
28
28
  import {
29
29
  Menu
30
30
  } from "./chunk-HYOEWQ5P.js";
@@ -211,7 +211,7 @@ function tp_getgeneexpression(arg) {
211
211
  height: 650
212
212
  }
213
213
  };
214
- import("./ep-JS5UUJQX.js").then((p) => {
214
+ import("./ep-KBE3SNHO.js").then((p) => {
215
215
  new p.default(par);
216
216
  });
217
217
  }
@@ -798,7 +798,7 @@ function tp_gene_default(cohort, ds2clst, butt, folder, defaulthide, host) {
798
798
  }
799
799
  }
800
800
  async function barplot(bars, color, label, pos) {
801
- const barplot2 = await import("./plot.barplot-HAWPMPPU.js");
801
+ const barplot2 = await import("./plot.barplot-2FBRVNLX.js");
802
802
  return barplot2.default(bars, color, label, pos);
803
803
  }
804
804
 
@@ -967,7 +967,7 @@ function tp_e2pca_default(cohort, folder) {
967
967
  sayerror(holder, "Error getting vector file: " + data.error);
968
968
  return;
969
969
  }
970
- import("./e2pca-AR6EKEJA.js").then((p) => {
970
+ import("./e2pca-NZFBO7ZK.js").then((p) => {
971
971
  const [err, numdata2plot] = p.e2pca_plot({
972
972
  holder,
973
973
  toprow,
@@ -1058,7 +1058,7 @@ function boxplot4sampleannotation(cohort, obj) {
1058
1058
  });
1059
1059
  }
1060
1060
  obj.boxplotdiv.selectAll("*").remove();
1061
- import("./plot.boxplot-4QUORFXY.js").then((p) => {
1061
+ import("./plot.boxplot-JNO63FXZ.js").then((p) => {
1062
1062
  const err = p.default({
1063
1063
  list: samplegroups,
1064
1064
  holder: obj.boxplotdiv,
@@ -1456,4 +1456,4 @@ function cohort2assaytracks(ct) {
1456
1456
  export {
1457
1457
  tpui as default
1458
1458
  };
1459
- //# sourceMappingURL=tp.ui-WGETBYJQ.js.map
1459
+ //# sourceMappingURL=tp.ui-BEESUHHF.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getDtTermValues,
3
3
  handler
4
- } from "./chunk-L4TUTGTA.js";
4
+ } from "./chunk-APO4BA2P.js";
5
5
  import "./chunk-HJ6L54YS.js";
6
6
  import "./chunk-LSEFWW72.js";
7
- import "./chunk-4FKWINMK.js";
7
+ import "./chunk-X3Q6I37T.js";
8
8
  import "./chunk-HYOEWQ5P.js";
9
9
  import "./chunk-HBW42TDT.js";
10
10
  import "./chunk-G6O3URDN.js";
@@ -36,4 +36,4 @@ export {
36
36
  getDtTermValues,
37
37
  handler
38
38
  };
39
- //# sourceMappingURL=tvs.dt-JWF4I3KY.js.map
39
+ //# sourceMappingURL=tvs.dt-UZW3L4MO.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  handler
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -37,4 +37,4 @@ var handler2 = Object.assign({}, handler, { type: "dtcnv" });
37
37
  export {
38
38
  handler2 as handler
39
39
  };
40
- //# sourceMappingURL=tvs.dtcnv.categorical-72Y5QMPL.js.map
40
+ //# sourceMappingURL=tvs.dtcnv.categorical-OH5NXCDN.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  handler,
3
3
  renderCnvConfig
4
- } from "./chunk-L4TUTGTA.js";
4
+ } from "./chunk-APO4BA2P.js";
5
5
  import "./chunk-HJ6L54YS.js";
6
6
  import "./chunk-LSEFWW72.js";
7
- import "./chunk-4FKWINMK.js";
7
+ import "./chunk-X3Q6I37T.js";
8
8
  import "./chunk-HYOEWQ5P.js";
9
9
  import "./chunk-HBW42TDT.js";
10
10
  import "./chunk-G6O3URDN.js";
@@ -69,4 +69,4 @@ function get_pill_label(tvs) {
69
69
  export {
70
70
  handler2 as handler
71
71
  };
72
- //# sourceMappingURL=tvs.dtcnv.continuous-73LHWTU5.js.map
72
+ //# sourceMappingURL=tvs.dtcnv.continuous-VWWTWAX2.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  handler
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -37,4 +37,4 @@ var handler2 = Object.assign({}, handler, { type: "dtfusion" });
37
37
  export {
38
38
  handler2 as handler
39
39
  };
40
- //# sourceMappingURL=tvs.dtfusion-LP6HUMZU.js.map
40
+ //# sourceMappingURL=tvs.dtfusion-YKYYCDJN.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  handler
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -37,4 +37,4 @@ var handler2 = Object.assign({}, handler, { type: "dtsnvindel" });
37
37
  export {
38
38
  handler2 as handler
39
39
  };
40
- //# sourceMappingURL=tvs.dtsnvindel-23N2CFZJ.js.map
40
+ //# sourceMappingURL=tvs.dtsnvindel-Y3WAHLKK.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  handler
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -37,4 +37,4 @@ var handler2 = Object.assign({}, handler, { type: "dtsv" });
37
37
  export {
38
38
  handler2 as handler
39
39
  };
40
- //# sourceMappingURL=tvs.dtsv-DILQVKYM.js.map
40
+ //# sourceMappingURL=tvs.dtsv-UFLR2XRY.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  renderTable
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -101,4 +101,4 @@ export {
101
101
  addTable,
102
102
  handler
103
103
  };
104
- //# sourceMappingURL=tvs.samplelst-GV4VSCRF.js.map
104
+ //# sourceMappingURL=tvs.samplelst-BPWZHD62.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  renderTable
3
- } from "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-APO4BA2P.js";
4
4
  import "./chunk-HJ6L54YS.js";
5
5
  import "./chunk-LSEFWW72.js";
6
- import "./chunk-4FKWINMK.js";
6
+ import "./chunk-X3Q6I37T.js";
7
7
  import "./chunk-HYOEWQ5P.js";
8
8
  import "./chunk-HBW42TDT.js";
9
9
  import "./chunk-G6O3URDN.js";
@@ -156,4 +156,4 @@ export {
156
156
  addFilterTable,
157
157
  handler
158
158
  };
159
- //# sourceMappingURL=tvs.termCollection-KBDNXK7X.js.map
159
+ //# sourceMappingURL=tvs.termCollection-JLA3JQFX.js.map
@@ -3,13 +3,13 @@ import {
3
3
  getDefaultViolinSettings,
4
4
  getPlotConfig,
5
5
  violinInit
6
- } from "./chunk-DC4KD6FJ.js";
7
- import "./chunk-CKA52OEA.js";
8
- import "./chunk-PQNVPSQR.js";
9
- import "./chunk-L4TUTGTA.js";
6
+ } from "./chunk-XEMSCL7A.js";
7
+ import "./chunk-4RGJAFAC.js";
8
+ import "./chunk-VF23ENKB.js";
9
+ import "./chunk-APO4BA2P.js";
10
10
  import "./chunk-HJ6L54YS.js";
11
11
  import "./chunk-LSEFWW72.js";
12
- import "./chunk-4FKWINMK.js";
12
+ import "./chunk-X3Q6I37T.js";
13
13
  import "./chunk-HYOEWQ5P.js";
14
14
  import "./chunk-HBW42TDT.js";
15
15
  import "./chunk-G6O3URDN.js";
@@ -43,4 +43,4 @@ export {
43
43
  getPlotConfig,
44
44
  violinInit
45
45
  };
46
- //# sourceMappingURL=violin-TYUP7FB5.js.map
46
+ //# sourceMappingURL=violin-TFNQIETS.js.map
@@ -16,28 +16,28 @@ import {
16
16
  } from "./chunk-DJQTUDJM.js";
17
17
  import {
18
18
  getRunPp
19
- } from "./chunk-UCLROZRF.js";
19
+ } from "./chunk-AFZX3KM2.js";
20
20
  import {
21
21
  require_tape
22
22
  } from "./chunk-QWOE5YTB.js";
23
- import "./chunk-YNBT4N6T.js";
24
- import "./chunk-3D5GZIGG.js";
25
- import "./chunk-67HSIHPP.js";
26
- import "./chunk-YWZCJMHS.js";
23
+ import "./chunk-6ML236VW.js";
24
+ import "./chunk-BF5R4XFD.js";
25
+ import "./chunk-LOZWCVAY.js";
26
+ import "./chunk-7E73OOQ4.js";
27
27
  import "./chunk-PRZWSBMA.js";
28
- import "./chunk-42EBECOD.js";
28
+ import "./chunk-JDKWYNT6.js";
29
29
  import "./chunk-MKAF2BHB.js";
30
30
  import "./chunk-WKNI3HRQ.js";
31
31
  import "./chunk-VMLSRKIB.js";
32
- import "./chunk-IL5QT2FI.js";
32
+ import "./chunk-PB3POI37.js";
33
33
  import {
34
34
  fillTermWrapper,
35
35
  filterJoin,
36
36
  getFilterItemByTag
37
- } from "./chunk-L4TUTGTA.js";
37
+ } from "./chunk-APO4BA2P.js";
38
38
  import "./chunk-HJ6L54YS.js";
39
39
  import "./chunk-LSEFWW72.js";
40
- import "./chunk-4FKWINMK.js";
40
+ import "./chunk-X3Q6I37T.js";
41
41
  import "./chunk-HYOEWQ5P.js";
42
42
  import "./chunk-HBW42TDT.js";
43
43
  import "./chunk-G6O3URDN.js";
@@ -1422,4 +1422,4 @@ async function testLabelHoverClick(test, violin, violinDiv, labelcount) {
1422
1422
  tip.hide();
1423
1423
  }
1424
1424
  }
1425
- //# sourceMappingURL=violin.integration.spec-ULRFK2A6.js.map
1425
+ //# sourceMappingURL=violin.integration.spec-XKNZQVN7.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  setInteractivity
3
- } from "./chunk-PQNVPSQR.js";
4
- import "./chunk-L4TUTGTA.js";
3
+ } from "./chunk-VF23ENKB.js";
4
+ import "./chunk-APO4BA2P.js";
5
5
  import "./chunk-HJ6L54YS.js";
6
6
  import "./chunk-LSEFWW72.js";
7
- import "./chunk-4FKWINMK.js";
7
+ import "./chunk-X3Q6I37T.js";
8
8
  import "./chunk-HYOEWQ5P.js";
9
9
  import "./chunk-HBW42TDT.js";
10
10
  import "./chunk-G6O3URDN.js";
@@ -35,4 +35,4 @@ import "./chunk-HFNDKYVF.js";
35
35
  export {
36
36
  setInteractivity
37
37
  };
38
- //# sourceMappingURL=violin.interactivity-2QZVQWQJ.js.map
38
+ //# sourceMappingURL=violin.interactivity-R2EYNWI6.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createNumericScale,
3
3
  setViolinRenderer
4
- } from "./chunk-CKA52OEA.js";
5
- import "./chunk-L4TUTGTA.js";
4
+ } from "./chunk-4RGJAFAC.js";
5
+ import "./chunk-APO4BA2P.js";
6
6
  import "./chunk-HJ6L54YS.js";
7
7
  import "./chunk-LSEFWW72.js";
8
- import "./chunk-4FKWINMK.js";
8
+ import "./chunk-X3Q6I37T.js";
9
9
  import "./chunk-HYOEWQ5P.js";
10
10
  import "./chunk-HBW42TDT.js";
11
11
  import "./chunk-G6O3URDN.js";
@@ -37,4 +37,4 @@ export {
37
37
  createNumericScale,
38
38
  setViolinRenderer as default
39
39
  };
40
- //# sourceMappingURL=violin.renderer-HCDSN62Z.js.map
40
+ //# sourceMappingURL=violin.renderer-5WA4YLGB.js.map
@@ -2,10 +2,10 @@ import {
2
2
  getVocabFromSamplesArray,
3
3
  q_to_param,
4
4
  vocabInit
5
- } from "./chunk-L4TUTGTA.js";
5
+ } from "./chunk-APO4BA2P.js";
6
6
  import "./chunk-HJ6L54YS.js";
7
7
  import "./chunk-LSEFWW72.js";
8
- import "./chunk-4FKWINMK.js";
8
+ import "./chunk-X3Q6I37T.js";
9
9
  import "./chunk-HYOEWQ5P.js";
10
10
  import "./chunk-HBW42TDT.js";
11
11
  import "./chunk-G6O3URDN.js";
@@ -38,4 +38,4 @@ export {
38
38
  q_to_param,
39
39
  vocabInit
40
40
  };
41
- //# sourceMappingURL=vocabulary-I4CMPN2Z.js.map
41
+ //# sourceMappingURL=vocabulary-D2XUEKI6.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjcrh/proteinpaint-client",
3
- "version": "2.191.2",
3
+ "version": "2.191.3",
4
4
  "description": "a genomics visualization tool for exploring a cohort's genotype and phenotype data",
5
5
  "type": "module",
6
6
  "main": "dist/app.js",
@@ -57,7 +57,7 @@
57
57
  "@babel/preset-env": "^7.9.6",
58
58
  "@babel/preset-typescript": "^7.21.4",
59
59
  "@sjcrh/proteinpaint-shared": "2.191.2",
60
- "@sjcrh/proteinpaint-types": "2.191.0",
60
+ "@sjcrh/proteinpaint-types": "2.191.3",
61
61
  "@types/d3": "^7.4.3",
62
62
  "@types/ol-ext": "npm:@siedlerchr/types-ol-ext@^3.4.0",
63
63
  "@types/openseadragon": "^3.0.10",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../plots/aiProjectAdmin/defaults.ts", "../plots/aiProjectAdmin/repo/ProjectReposity.ts", "../plots/aiProjectAdmin/view/ProjectAdminRender.ts", "../plots/aiProjectAdmin/interactions/AIProjectAdminInteractions.ts", "../plots/aiProjectAdmin/view/ClassesTableRender.ts", "../plots/aiProjectAdmin/view/SelectorTableRender.ts", "../plots/aiProjectAdmin/view/UsersRender.ts", "../plots/aiProjectAdmin/view/CreateProjectRender.ts", "../plots/aiProjectAdmin/AIProjectAdmin.ts"],
4
- "sourcesContent": ["import type Settings from './Settings'\n\nexport function getDefaultAIProjectAdminSettings(overrides = {}): Settings {\n\tconst defaults: Settings = {}\n\treturn Object.assign(defaults, overrides)\n}\n", "import { dofetch2, dofetch3 } from '#common/dofetch'\nimport type { AIProjectAdminRequest, AIProjectAdminResponse } from '#types'\n\nexport class ProjectReposity {\n\tpublic async getProjects(genome: string, dslabel: string): Promise<string[]> {\n\t\tconst body: AIProjectAdminRequest = {\n\t\t\tgenome,\n\t\t\tdslabel,\n\t\t\tfor: 'list'\n\t\t}\n\t\ttry {\n\t\t\tconst response = await dofetch3('aiProjectAdmin', { body })\n\t\t\treturn response || []\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching projects:', error)\n\t\t\tthrow error\n\t\t}\n\t}\n\n\t/** Gets the image paths from db */\n\tpublic async getImagePaths(genome: string, dslabel: string, project: any): Promise<AIProjectAdminResponse> {\n\t\tconst body: AIProjectAdminRequest = {\n\t\t\tgenome,\n\t\t\tdslabel,\n\t\t\tfor: 'images',\n\t\t\tproject\n\t\t}\n\t\ttry {\n\t\t\treturn await dofetch3('aiProjectAdmin', { body })\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching images:', error)\n\t\t\tthrow error\n\t\t}\n\t}\n\n\tpublic async updateProject(_body: any, method: string): Promise<AIProjectAdminResponse> {\n\t\tconst body: AIProjectAdminRequest = Object.assign({}, _body, { for: 'admin' })\n\t\ttry {\n\t\t\tif (method == 'PUT' || method == 'DELETE') {\n\t\t\t\t/** 3rd argument is for serverData caching.\n\t\t\t\t * Do not cache put or delete requests */\n\t\t\t\treturn await dofetch2('aiProjectAdmin', { method, body }, {})\n\t\t\t}\n\t\t\treturn await dofetch3('aiProjectAdmin', { method, body })\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching projects:', error)\n\t\t\tthrow error\n\t\t}\n\t}\n\n\t//TODO: Will need a method to call metadata API, then build dictionary\n\tasync getTerms(app: any): Promise<any> {\n\t\tconst root = { id: '__root', name: 'root', __tree_isroot: true }\n\t\ttry {\n\t\t\tawait app.vocabApi.buildAdHocDictionary()\n\t\t\tconst terms = await app.vocabApi.getTermChildren(root, [])\n\t\t\treturn terms || []\n\t\t} catch (error) {\n\t\t\tconsole.error('Error getting terms:', error)\n\t\t\tthrow error\n\t\t}\n\t}\n\n\tasync getAnnotations(genome: string, dslabel: string, projectId: number) {\n\t\ttry {\n\t\t\tconst body = {\n\t\t\t\tgenome,\n\t\t\t\tdslabel,\n\t\t\t\tprojectId,\n\t\t\t\twsimagesFilenames: ['all']\n\t\t\t}\n\t\t\tconst response: any = await dofetch3('aiProjectSelectedWSImages', { body })\n\t\t\tconst wsimages = response?.wsimages || []\n\t\t\tconst annotations: any[] = []\n\t\t\tfor (const w of wsimages) {\n\t\t\t\tconst anns = w.annotations || []\n\t\t\t\tconst filename = w.filename\n\t\t\t\tif (Array.isArray(anns)) {\n\t\t\t\t\tfor (const a of anns) {\n\t\t\t\t\t\t// attach filename so consumers know which WSI each annotation came from\n\t\t\t\t\t\tannotations.push(Object.assign({ filename }, a))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn annotations\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching annotations from server:', error)\n\t\t\tthrow error\n\t\t}\n\t}\n}\n", "import { renderTable, sayerror } from '#dom'\nimport { debounce } from 'debounce'\nimport type { AIProjectAdminInteractions } from '../interactions/AIProjectAdminInteractions'\n\nexport class ProjectAdminRender {\n\tdom: any\n\tprojects: any[]\n\tinteractions: AIProjectAdminInteractions\n\n\tconstructor(dom: any, projects: any[], interactions: AIProjectAdminInteractions) {\n\t\tthis.dom = dom\n\t\tthis.projects = projects //returns as [{ value: 'Project1' }, { value: 'Project2' }, ...]\n\t\tthis.interactions = interactions\n\t}\n\n\t/** Renders project administration UI, allowing users to\n\t * create new projects or edit existing ones.*/\n\trenderProjectAdmin() {\n\t\tconst projectDiv = this.dom.holder\n\t\t\t.append('div')\n\t\t\t.attr('id', 'sjpp-ai-prjt-admin-projects')\n\t\t\t.attr('class', 'sjpp-deletable-ai-prjt-admin-div')\n\t\tthis.renderCreateProject(projectDiv)\n\t\tthis.renderProjectSelection(projectDiv)\n\t}\n\n\t/** Users submit a new project name before sample\n\t * filtering UI to finalize project creation.*/\n\trenderCreateProject(projectDiv) {\n\t\tconst newProjectDiv = projectDiv.append('div').attr('class', 'sjpp-project-select-new').style('padding', '10px')\n\n\t\tconst input = newProjectDiv\n\t\t\t.append('input')\n\t\t\t.attr('id', 'sjpp-new-project-name')\n\t\t\t.attr('display', 'inline-block')\n\t\t\t.attr('placeholder', 'New project name')\n\n\t\tconst button = newProjectDiv\n\t\t\t.append('div')\n\t\t\t.text('Create Project')\n\t\t\t.classed('sja_menuoption', true)\n\t\t\t.style('display', 'inline-block')\n\t\t\t.property('disabled', true)\n\t\t\t.on('click', async () => {\n\t\t\t\tconst projectName = input.property('value')\n\t\t\t\tconst prjtNameLen = projectName.trim().length\n\n\t\t\t\tconst showError = (msg: string) => {\n\t\t\t\t\tsayerror(this.dom.errorDiv, msg)\n\t\t\t\t\tinput.property('value', '')\n\t\t\t\t\tbutton.property('disabled', true)\n\n\t\t\t\t\t//Show error for 3 seconds, then remove\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.dom.errorDiv.selectAll('*').remove()\n\t\t\t\t\t}, 3000)\n\t\t\t\t}\n\n\t\t\t\tif (prjtNameLen == 0) {\n\t\t\t\t\t//Shouldn't be necessary because of the debouncer\n\t\t\t\t\treturn showError('Project name cannot be empty')\n\t\t\t\t}\n\t\t\t\tif (prjtNameLen > 50 || prjtNameLen < 3) {\n\t\t\t\t\treturn showError('Project name must be between 3 and 50 characters')\n\t\t\t\t}\n\t\t\t\tconst notUnique = this.projects.some((p: any) => p.name === projectName.trim())\n\t\t\t\tif (notUnique) {\n\t\t\t\t\treturn showError(`Project name '${projectName}' already exists`)\n\t\t\t\t}\n\n\t\t\t\t//Show project name in sandbox header\n\t\t\t\tif (this.dom.header) this.dom.header.text(`Project: ${projectName}`)\n\n\t\t\t\t//calls main() to trigger CreateProjectRender\n\t\t\t\tawait this.interactions.appDispatchEdit({ settings: { project: { name: projectName, type: 'new' } } })\n\t\t\t})\n\n\t\tinput.on('keydown', () => {\n\t\t\tconst debouncer = () => {\n\t\t\t\tbutton.property('disabled', input.property('value').length == 0)\n\t\t\t}\n\t\t\tdebounce(debouncer, 300)()\n\t\t})\n\t}\n\n\t/** Users may select an existing project from a table\n\t * returned for the db to edit or delete, depending\n\t * on user roles.*/\n\trenderProjectSelection(projectDiv) {\n\t\tif (!this.projects.length) return\n\n\t\tconst tableDiv = projectDiv.append('div').attr('class', 'sjpp-project-select-table').style('padding', '10px')\n\t\tconst columns = [{ label: 'Project', sortable: true }]\n\n\t\tconst columnButtons = [\n\t\t\t{\n\t\t\t\ttext: 'Edit',\n\t\t\t\tclass: 'sja_menuoption',\n\t\t\t\t//_ = event, __ = idx\n\t\t\t\tcallback: async (_, idx) => {\n\t\t\t\t\t/** TODO: open wsisamples plot ||\n\t\t\t\t\t * get project details rather than edit the db */\n\t\t\t\t\tconst project = this.projects[idx]\n\t\t\t\t\tawait this.interactions.appDispatchEdit({ settings: { project } })\n\t\t\t\t\t// remove 'dev' for production\n\t\t\t\t\tthis.interactions.launchViewer(this.dom.holder, [])\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// Export button - pass only project.id and export will be CSV\n\t\t\t\ttext: 'Export',\n\t\t\t\tclass: 'sja_menuoption',\n\t\t\t\tcallback: async (_, idx) => {\n\t\t\t\t\tconst project = this.projects[idx]\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.interactions.exportAnnotations(project.id)\n\t\t\t\t\t} catch (_: any) {\n\t\t\t\t\t\tsayerror(this.dom.errorDiv, 'Failed to export annotations')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t//TODO: Add logic for admins only once user roles are implemented\n\t\t\t\t//Leave here for development\n\t\t\t\ttext: 'Delete',\n\t\t\t\tclass: 'sja_menuoption',\n\t\t\t\tcallback: (_, i) => {\n\t\t\t\t\tconst project = this.projects[i]\n\t\t\t\t\tthis.interactions.deleteProject(project)\n\n\t\t\t\t\t//Update UI after deletion. Maybe cleaner way to handle this?\n\t\t\t\t\t//Maybe app.dispatch and rerender instead?\n\t\t\t\t\tthis.projects.splice(i, 1)\n\t\t\t\t\t//Remove the table from the projectDiv and re-render\n\t\t\t\t\tprojectDiv.select('.sjpp-project-select-table').remove()\n\t\t\t\t\tthis.renderProjectSelection(projectDiv)\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\n\t\trenderTable({\n\t\t\tdiv: tableDiv,\n\t\t\trows: this.projects.map((p: any) => {\n\t\t\t\treturn [{ value: p.name }]\n\t\t\t}),\n\t\t\theader: {\n\t\t\t\tallowSort: true\n\t\t\t},\n\t\t\tcolumns,\n\t\t\tsingleMode: true,\n\t\t\tcolumnButtons\n\t\t})\n\t}\n}\n", "import type { ProjectReposity } from '../repo/ProjectReposity'\nimport type { AIProjectAdminResponse } from '#types'\nimport { buildAnnotationsCsv } from '#plots/wsiviewer/interactions/annotationsCsv.ts'\n\nexport class AIProjectAdminInteractions {\n\tapp: any\n\tid: string\n\tgenome: string\n\tdslabel: string\n\tprjtRepo: ProjectReposity\n\n\tconstructor(app: any, id: string, prjtRepo: ProjectReposity) {\n\t\tthis.app = app\n\t\tthis.id = id\n\t\tthis.genome = app.vocabApi.vocab.genome\n\t\tthis.dslabel = app.vocabApi.vocab.dslabel\n\t\tthis.prjtRepo = prjtRepo\n\t}\n\n\tasync addProject(opts: { project: any }): Promise<void> {\n\t\tconst config = this.getConfig()\n\t\tconst projectObject = Object.assign({}, config.settings.project, opts.project)\n\n\t\tconst body = {\n\t\t\tgenome: this.genome,\n\t\t\tdslabel: this.dslabel,\n\t\t\tproject: projectObject\n\t\t}\n\t\ttry {\n\t\t\tawait this.prjtRepo.updateProject(body, 'PUT')\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error adding project:', e.message || e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tasync editProject(opts: { project: any }): Promise<void> {\n\t\tconst config = this.getConfig()\n\t\tconst project = Object.assign(\n\t\t\t{},\n\t\t\tconfig.settings.project,\n\t\t\t{\n\t\t\t\ttype: 'edit'\n\t\t\t},\n\t\t\topts.project\n\t\t)\n\n\t\tconst body = {\n\t\t\tgenome: this.genome,\n\t\t\tdslabel: this.dslabel,\n\t\t\tproject\n\t\t}\n\t\ttry {\n\t\t\tconst res = (await this.prjtRepo.updateProject(body, 'POST')) as any\n\t\t\tif (!project.id) project.id = res.projectId\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error editing project:', e.message || e)\n\t\t\tthrow e\n\t\t}\n\t\tawait this.appDispatchEdit({ settings: { project } }, config)\n\t}\n\n\tasync deleteProject(project: { value: string; id: number }): Promise<void> {\n\t\tconst body = {\n\t\t\tgenome: this.genome,\n\t\t\tdslabel: this.dslabel,\n\t\t\tproject: {\n\t\t\t\tname: project.value,\n\t\t\t\tid: project.id\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.prjtRepo.updateProject(body, 'DELETE')\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error deleting project:', e.message || e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tasync getFilteredImages(filter: any): Promise<AIProjectAdminResponse> {\n\t\tconst config = this.getConfig()\n\t\treturn await this.app.vocabApi.getFilteredAiImages(config.settings.project, filter)\n\t}\n\n\tasync launchViewer(holder: any, _images?: string[]): Promise<void> {\n\t\tholder.selectAll('.sjpp-deletable-ai-prjt-admin-div').remove()\n\n\t\tconst config = this.getConfig()\n\t\tlet images: string[] = []\n\n\t\tif (_images && _images.length > 0) {\n\t\t\timages = _images\n\t\t} else {\n\t\t\tconst response: AIProjectAdminResponse = await this.prjtRepo.getImagePaths(\n\t\t\t\tthis.genome,\n\t\t\t\tthis.dslabel,\n\t\t\t\tconfig.settings.project\n\t\t\t)\n\t\t\timages = response.images\n\t\t}\n\n\t\tconst wsiViewer = await import('#plots/wsiviewer/plot.wsi.js')\n\t\twsiViewer.default(this.dslabel, holder, { name: this.genome }, null, config.settings.project.id, images, true)\n\t}\n\n\tpublic async appDispatchEdit(settings: any, config: any = {}): Promise<void> {\n\t\tif (!config?.settings) {\n\t\t\tconfig = this.getConfig()\n\t\t\tif (!config) throw new Error(`No plot with id='${this.id}' found.`)\n\t\t}\n\n\t\tawait this.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: Object.assign(settings, config.settings)\n\t\t})\n\t}\n\n\tprivate getConfig(): any {\n\t\treturn this.app.getState().plots.find((p: any) => p.id === this.id)\n\t}\n\n\tpublic async exportAnnotations(projectId: number): Promise<void> {\n\t\tconst config = this.getConfig()\n\t\tif (!config || !config.settings) throw new Error(`No plot with id='${this.id}' found.`)\n\n\t\t// fetch annotations for the entire project (server endpoint will expand ['all'] to all images)\n\t\tlet annotations: any[] = []\n\t\ttry {\n\t\t\tannotations = await this.prjtRepo.getAnnotations(this.genome, this.dslabel, projectId)\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error fetching annotations for export:', e?.message || e)\n\t\t\tthrow e\n\t\t}\n\n\t\t// Always produce CSV\n\t\tconst mime = 'text/csv;charset=utf-8;'\n\t\tlet content: string\n\n\t\tif (!Array.isArray(annotations) || annotations.length === 0) {\n\t\t\tcontent = ''\n\t\t} else {\n\t\t\t// use shared CSV builder; let it pick per-annotation filename (a.filename || a.image)\n\t\t\tcontent = buildAnnotationsCsv(annotations as any[])\n\t\t}\n\n\t\t// build a safe filename for download: prefer project name, fallback to projectId\n\t\tconst rawName =\n\t\t\tconfig.settings && config.settings.project && config.settings.project.name\n\t\t\t\t? String(config.settings.project.name)\n\t\t\t\t: `project-${projectId}`\n\t\tconst safeName = rawName.replace(/[^a-z0-9_.-]/gi, '_').slice(0, 200)\n\t\tconst filename = `${safeName}-annotations.csv`\n\n\t\ttry {\n\t\t\tconst blob = new Blob([content], { type: mime })\n\t\t\tconst url = URL.createObjectURL(blob)\n\t\t\tconst a = document.createElement('a')\n\t\t\ta.href = url\n\t\t\ta.download = filename\n\t\t\tdocument.body.appendChild(a)\n\t\t\ta.click()\n\t\t\ta.remove()\n\t\t\tsetTimeout(() => URL.revokeObjectURL(url), 1000)\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error creating annotation download:', e?.message || e)\n\t\t\tthrow e\n\t\t}\n\t}\n}\n", "import { renderTable } from '#dom'\nimport { getColors } from '#shared/common.js'\nimport { rgb } from 'd3-color'\nimport type { TableColumn, TableRow } from '#dom'\nimport type { Elem } from '../../../types/d3'\n\nexport class ClassesTableRender {\n\tdom: {\n\t\tholder: Elem\n\t\ttableDiv: Elem\n\t\tbtnDiv: Elem\n\t}\n\tcolumns: TableColumn[]\n\trows: TableRow[]\n\t/** table.ts updates this.rows and cell values in editCallback\n\t * Save a copy to check for duplicates when editing class names.*/\n\trowsCopy: TableRow[]\n\n\tconstructor(holder: any, rows?: TableRow[]) {\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\ttableDiv: holder.append('div'),\n\t\t\tbtnDiv: holder.append('div')\n\t\t}\n\t\tthis.columns = [\n\t\t\t{ label: '' }, // Empty for the delete icon\n\t\t\t{\n\t\t\t\tlabel: 'NAME',\n\t\t\t\teditCallback: (rowIdx, cell) => {\n\t\t\t\t\tconst newValue = (cell.value as string).trim()\n\t\t\t\t\tconst foundSameName = this.rows.some((r, i) => newValue === (r[1].value as string).trim() && i !== rowIdx)\n\t\t\t\t\tif (foundSameName) {\n\t\t\t\t\t\talert(`Class name '${newValue}' already exists`)\n\t\t\t\t\t\t/** Reset to original value\n\t\t\t\t\t\t * renderTable() updates arg.rows and cell value before this callback.\n\t\t\t\t\t\t * This resets the value to the original value */\n\t\t\t\t\t\tcell.value = this.rowsCopy[rowIdx][1].value\n\t\t\t\t\t\tcell.__td.text(this.rowsCopy[rowIdx][1].value)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tthis.rowsCopy = this.rows.map(r => r.map(c => ({ ...c })))\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ label: 'COLOR' }\n\t\t]\n\t\tconst colorScale = getColors(5)\n\t\tthis.rows = rows || this.setDefaultClasses(colorScale)\n\t\tthis.rowsCopy = []\n\n\t\tthis.renderTable()\n\t\tthis.renderAddClassBtn(colorScale)\n\t}\n\n\trenderTable() {\n\t\tthis.dom.tableDiv.select('table').remove()\n\t\tif (!this.rows || this.rows.length === 0) return\n\n\t\t// Deep copy to avoid reference issues\n\t\t// Regenerate on every render\n\t\tthis.rowsCopy = this.rows.map(r => r.map(c => ({ ...c })))\n\n\t\trenderTable({\n\t\t\tdiv: this.dom.tableDiv,\n\t\t\tcolumns: this.columns,\n\t\t\trows: this.rows,\n\t\t\tstriped: false,\n\t\t\tshowLines: false,\n\t\t\tsingleMode: false,\n\t\t\tresize: true\n\t\t})\n\n\t\t//editCallback only works with changing the value of the cell\n\t\tfor (const [i, row] of this.rows.entries()) {\n\t\t\tconst deleteBtn = row[0].__td.select('.sja_menuoption')\n\t\t\tdeleteBtn.on('click', () => {\n\t\t\t\tthis.rows.splice(i, 1)\n\t\t\t\tthis.renderTable()\n\t\t\t})\n\t\t}\n\t}\n\n\tsetDefaultClasses(colorScale) {\n\t\t//TODO default classes from dataset\n\t\tconst rows: TableRow[] = []\n\n\t\tfor (let i = 0; i < 4; i++) {\n\t\t\tthis.getNewClass(colorScale, rows)\n\t\t}\n\n\t\treturn rows\n\t}\n\n\tgetNewClass(colorScale: any, rows: TableRow[]) {\n\t\tconst getName = (i: number) => `New class ${i}`\n\n\t\tlet i = 1\n\t\tlet found = true\n\t\twhile (found) {\n\t\t\tconst checkName = getName(i)\n\t\t\tfound = rows.some(r => r[1].value == checkName)\n\t\t\tif (found) i++\n\t\t}\n\n\t\trows.push([\n\t\t\t{ html: `<div class=\"sja_menuoption\">&times;<div>` },\n\t\t\t{ value: getName(i) },\n\t\t\t{ color: rgb(colorScale(`${i}`)).formatHex() }\n\t\t])\n\t}\n\n\trenderAddClassBtn(colorScale: any) {\n\t\tthis.dom.btnDiv\n\t\t\t.append('div')\n\t\t\t.text('Add Class')\n\t\t\t.classed('sja_menuoption', true)\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('margin', '10px 0px 0px 0px')\n\t\t\t.on('click', () => {\n\t\t\t\tif (this.rows.length >= 9) {\n\t\t\t\t\talert('Maximum number of classes reached.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.getNewClass(colorScale, this.rows)\n\t\t\t\tthis.renderTable()\n\t\t\t})\n\t}\n}\n", "import { renderTable } from '#dom'\nimport type { AIProjectAdminInteractions } from '../interactions/AIProjectAdminInteractions'\nimport type { Elem, Div } from '../../../types/d3'\n\nexport class SelectorTableRender {\n\tdom: {\n\t\tholder: Elem\n\t\ttableDiv: Div | Elem\n\t\tbtnDiv: Div | Elem\n\t}\n\timages: { rows: any[]; cols: any[] } = { rows: [], cols: [] }\n\tinteractions: AIProjectAdminInteractions\n\tselectedRows: Set<number> = new Set<number>()\n\tsortedIndexMap: number[] = []\n\n\tconstructor(holder: Elem, interactions: AIProjectAdminInteractions, images: any) {\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\ttableDiv: holder\n\t\t\t\t.append('div')\n\t\t\t\t.attr('class', '.sjpp-deletable-ai-prjt-admin-div')\n\t\t\t\t.attr('id', 'sjpp-selector-table')\n\t\t\t\t.style('padding', '10px 0'),\n\t\t\tbtnDiv: holder.append('div').attr('class', '.sjpp-deletable-ai-prjt-admin-div').attr('id', 'sjpp-selector-btns')\n\t\t}\n\n\t\tthis.images = images\n\n\t\tthis.interactions = interactions\n\n\t\t// Collect selectedImages from any known location\n\t\tconst selectedList: string[] = images?.selectedImages as string[]\n\n\t\t// Normalize image helper: strip .svs and lowercase for robust comparison\n\t\tconst normalizeImageName = (s: any) =>\n\t\t\tString(s ?? '')\n\t\t\t\t.replace(/\\.svs$/i, '')\n\t\t\t\t.toLowerCase()\n\n\t\tconst selectedSet = new Set((selectedList || []).map(normalizeImageName))\n\n\t\t// Build set of selected row indices whose image (assumed in first column value) is in selectedSet\n\t\tthis.selectedRows = new Set<number>()\n\t\t;(this.images?.rows ?? []).forEach((row: any, i: number) => {\n\t\t\tconst candidate = row?.[0]?.value\n\t\t\tconst n = normalizeImageName(candidate)\n\t\t\tif (selectedSet.has(n)) this.selectedRows.add(i)\n\t\t})\n\n\t\tthis.render()\n\t}\n\n\tprivate render() {\n\t\tconst columns = this.images.cols.map(c => ({ ...c, sortable: true })) || []\n\n\t\t// If columns missing, show a friendly message instead of throwing\n\t\tif (!columns.length) {\n\t\t\tthis.dom.tableDiv.append('div').text('Missing columns data').style('color', 'red')\n\t\t\t// still render Apply button (disabled) so user can continue\n\t\t\tthis.renderApplyBtn(/*disable=*/ true)\n\t\t\treturn\n\t\t}\n\n\t\t// Build mapping of rows with original indices and selection flags\n\t\tconst rows = (this.images?.rows ?? []) as any[]\n\t\tconst mapped = rows.map((row, origIdx) => ({\n\t\t\trow,\n\t\t\torigIdx,\n\t\t\tselected: this.selectedRows.has(origIdx)\n\t\t}))\n\n\t\t// Sort so selected rows come first, stable by original index\n\t\tmapped.sort((a, b) => {\n\t\t\tconst selDiff = Number(b.selected) - Number(a.selected)\n\t\t\treturn selDiff || a.origIdx - b.origIdx\n\t\t})\n\n\t\t// Prepare sorted rows and a map from sorted index -> original index\n\t\tconst rowsSorted = mapped.map(m => m.row)\n\t\tthis.sortedIndexMap = mapped.map(m => m.origIdx)\n\n\t\t// Selected indices must be in terms of the sorted array for the renderer\n\t\tconst selectedRowsForRender = mapped.reduce<number[]>((acc, m, idx) => {\n\t\t\tif (m.selected) acc.push(idx)\n\t\t\treturn acc\n\t\t}, [])\n\n\t\trenderTable({\n\t\t\tdiv: this.dom.tableDiv,\n\t\t\tcolumns,\n\t\t\trows: rowsSorted,\n\t\t\tselectedRows: selectedRowsForRender,\n\t\t\tstriped: true,\n\t\t\theader: { allowSort: true },\n\t\t\tnoButtonCallback: (sortedIdx, node) => {\n\t\t\t\t// map back to original index when toggling selection\n\t\t\t\tconst orig = this.sortedIndexMap?.[sortedIdx]\n\t\t\t\tif (orig === undefined) return\n\t\t\t\tif (node.checked) {\n\t\t\t\t\tthis.selectedRows.add(orig)\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedRows.delete(orig)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.renderApplyBtn(/*disable=*/ false)\n\t}\n\n\tprivate renderApplyBtn(disable = false) {\n\t\tconst btn = this.dom.btnDiv\n\t\t\t.append('div')\n\t\t\t.text('Apply')\n\t\t\t.classed('sja_menuoption', true)\n\t\t\t.style('display', 'block')\n\t\t\t.style('width', 'fit-content')\n\t\t\t.style('margin-left', '5vw')\n\n\t\tif (disable) btn.attr('disabled', true)\n\n\t\tbtn.on('click', async () => {\n\t\t\tif (!this.selectedRows.size) {\n\t\t\t\talert(`No rows selected. Please select some rows.`)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t//Don't allow multiple clicks\n\t\t\tbtn.attr('disabled', true)\n\n\t\t\tconst images = Array.from(this.selectedRows).map(i => `${this.images.rows[i][0].value}.svs`)\n\t\t\tawait this.interactions.editProject({\n\t\t\t\tproject: {\n\t\t\t\t\timages\n\t\t\t\t}\n\t\t\t})\n\t\t\t;(this.dom.holder as any).selectAll('*').remove()\n\t\t\tawait this.interactions.launchViewer(this.dom.holder, images)\n\t\t})\n\t}\n}\n", "import { renderTable, sayerror } from '#dom'\n\nexport class UsersRender {\n\tdom: any\n\tusers: string[]\n\n\tconstructor(dom: any, users: string[] = []) {\n\t\tthis.dom = dom\n\t\tthis.users = users.slice()\n\t}\n\n\trender() {\n\t\t// TODO remove this if check after sso is enabled\n\t\tif (this.users.length > 0) {\n\t\t\t// container\n\t\t\tconst container = this.dom.holder\n\t\t\t\t.append('div')\n\t\t\t\t.attr('id', 'sjpp-users-render')\n\t\t\t\t.attr('class', 'sjpp-deletable-ai-prjt-admin-div')\n\t\t\t\t.style('padding', '10px')\n\n\t\t\tconst inputRow = container.append('div').attr('class', 'sjpp-users-input-row').style('margin-bottom', '10px')\n\n\t\t\tconst input = inputRow\n\t\t\t\t.append('input')\n\t\t\t\t.attr('type', 'text')\n\t\t\t\t.attr('placeholder', 'user@example.com')\n\t\t\t\t.attr('id', 'sjpp-user-email-input')\n\t\t\t\t.style('margin-right', '8px')\n\t\t\t\t.style('width', '300px')\n\n\t\t\tconst addBtn = inputRow\n\t\t\t\t.append('div')\n\t\t\t\t.text('Add')\n\t\t\t\t.classed('sja_menuoption', true)\n\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t.property('disabled', true)\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tconst email = input.property('value').trim()\n\t\t\t\t\tconst showError = (msg: string) => {\n\t\t\t\t\t\tsayerror(this.dom.errorDiv, msg)\n\t\t\t\t\t\t// clear after 3s\n\t\t\t\t\t\tsetTimeout(() => this.dom.errorDiv.selectAll('*').remove(), 3000)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (email.length === 0) {\n\t\t\t\t\t\treturn showError('Email cannot be empty')\n\t\t\t\t\t}\n\n\t\t\t\t\tconst emailRe = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$/\n\n\t\t\t\t\tif (!emailRe.test(email)) {\n\t\t\t\t\t\treturn showError('Invalid email address')\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.users.includes(email)) {\n\t\t\t\t\t\treturn showError('Email already added')\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.users.push(email)\n\t\t\t\t\tinput.property('value', '')\n\t\t\t\t\taddBtn.property('disabled', true)\n\t\t\t\t\tthis.renderTableArea(container)\n\t\t\t\t})\n\n\t\t\tinput.on('input', () => {\n\t\t\t\taddBtn.property('disabled', input.property('value').trim().length === 0)\n\t\t\t})\n\n\t\t\tthis.renderTableArea(container)\n\t\t}\n\t}\n\n\tprivate renderTableArea(container: any) {\n\t\tcontainer.select('.sjpp-users-table-area').remove()\n\n\t\tconst tableDiv = container.append('div').attr('class', 'sjpp-users-table-area').style('padding', '6px 0')\n\n\t\tif (!this.users.length) {\n\t\t\ttableDiv.append('div').text('No users added yet.').style('color', '#666')\n\t\t\treturn\n\t\t}\n\n\t\tconst columns = [{ label: 'Email', sortable: true }]\n\n\t\tconst columnButtons = [\n\t\t\t{\n\t\t\t\ttext: '\u00D7',\n\t\t\t\tclass: 'sja_menuoption',\n\t\t\t\tcallback: (_, idx: number) => {\n\t\t\t\t\t// remove user and re-render\n\t\t\t\t\tthis.users.splice(idx, 1)\n\t\t\t\t\t// clear and re-render table area\n\t\t\t\t\tcontainer.select('.sjpp-users-table-area').remove()\n\t\t\t\t\tthis.renderTableArea(container)\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\n\t\trenderTable({\n\t\t\tdiv: tableDiv,\n\t\t\trows: this.users.map(u => [{ value: u }]),\n\t\t\tcolumns,\n\t\t\tcolumnButtons,\n\t\t\tsingleMode: false,\n\t\t\tstriped: false,\n\t\t\tshowLines: false,\n\t\t\tresize: true\n\t\t})\n\t\ttableDiv.selectAll('.sja_menuoption').html('\u00D7<div></div>')\n\t}\n}\n", "import { filterInit, getNormalRoot } from '#filter'\nimport { ClassesTableRender } from './ClassesTableRender'\nimport type { Elem } from '../../../types/d3'\nimport type { AIProjectAdminInteractions } from '../interactions/AIProjectAdminInteractions'\nimport { SelectorTableRender } from './SelectorTableRender'\nimport { UsersRender } from './UsersRender'\nimport type { AIProjectAdminResponse } from '@sjcrh/proteinpaint-types'\n\nexport class CreateProjectRender {\n\tdom: {\n\t\tholder: Elem\n\t\terrorDiv: Elem\n\t\tfilterDiv: Elem\n\t\tclassDiv: Elem\n\t\tusersDiv?: Elem\n\t}\n\tapp: any\n\tinteractions: AIProjectAdminInteractions\n\tfilter: any\n\tclassesTable?: ClassesTableRender\n\tusersRender?: UsersRender\n\n\tconstructor(dom: any, app: any, interactions: AIProjectAdminInteractions) {\n\t\tdom.holder.style('padding', '10px 20px').attr('class', 'sjpp-deletable-ai-prjt-admin-div')\n\n\t\tconst filterDiv = dom.holder.append('div').attr('id', 'sjpp-ai-prjt-admin-filter-div')\n\n\t\tconst wrapper = dom.holder\n\t\t\t.append('div')\n\t\t\t.attr('id', 'sjpp-ai-prjt-admin-classes-users-wrapper')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('gap', '20px')\n\t\t\t.style('align-items', 'flex-start')\n\t\t\t.style('padding', '20px 0px')\n\n\t\tconst left = wrapper.append('div').attr('id', 'sjpp-ai-prjt-admin-classes-table').style('flex', '0 1 auto')\n\n\t\tconst right = wrapper\n\t\t\t.append('div')\n\t\t\t.attr('id', 'sjpp-ai-prjt-admin-users')\n\t\t\t.style('width', '320px')\n\t\t\t.style('margin-left', '8px')\n\n\t\tthis.dom = {\n\t\t\tholder: dom.holder,\n\t\t\terrorDiv: dom.errorDiv,\n\t\t\tfilterDiv: filterDiv,\n\t\t\tclassDiv: left,\n\t\t\tusersDiv: right\n\t\t}\n\n\t\tthis.app = app\n\t\tthis.interactions = interactions\n\t\tthis.filter = null\n\t}\n\n\trender() {\n\t\tthis.renderFilter()\n\t\tthis.classesTable = new ClassesTableRender(this.dom.classDiv)\n\n\t\tthis.usersRender = new UsersRender({ holder: this.dom.usersDiv, errorDiv: this.dom.errorDiv }, [])\n\t\tthis.usersRender.render()\n\n\t\tthis.renderApplyBtn()\n\t}\n\n\tprivate renderFilter() {\n\t\tconst filter = filterInit({\n\t\t\tholder: this.dom.filterDiv,\n\t\t\temptyLabel: 'Add filter',\n\t\t\tvocabApi: this.app.vocabApi,\n\t\t\ttermdbConfig: this.app.vocabApi.termdbConfig,\n\t\t\tcallback: filter => {\n\t\t\t\tthis.filter = filter\n\t\t\t}\n\t\t})\n\n\t\tconst state = this.app.getState()\n\t\tconst root = getNormalRoot(state.termfilter.filter)\n\t\tfilter.main(root)\n\t}\n\n\tprivate renderApplyBtn() {\n\t\tconst btn = this.dom.classDiv\n\t\t\t.append('div')\n\t\t\t.text('Apply')\n\t\t\t.classed('sja_menuoption', true)\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('margin-left', '200px')\n\t\t\t.on('click', async () => {\n\t\t\t\t/**** Uncomment before production */\n\n\t\t\t\t// const invalidInfo = this.validateInput()\n\t\t\t\t// const numInvalid = invalidInfo.entries?.length\n\t\t\t\t// if (numInvalid) {\n\t\t\t\t// \t/** TODO: allow user to ignore filter error on second click */\n\t\t\t\t// \tif (numInvalid === 1) sayerror(this.dom.errorDiv, invalidInfo.entries[0].reason)\n\t\t\t\t// else InvalidDataUI.render(this.dom.errorDiv, invalidInfo)\n\t\t\t\t// \treturn\n\t\t\t\t// }\n\t\t\t\tbtn.attr('disabled', true) //Don't allow multiple clicks\n\t\t\t\t// Theres something wrong here, selections.data is supposed to be an array but comes back as an object,\n\t\t\t\t// AIProjectInteractions and buildAdHocDictionary treat it like an object so I changed the typing, but need to investigate further\n\t\t\t\t// Old error handling would check for length of selections.data equals 0, but since its an object it came back undefined and broke silently\n\t\t\t\tconst selections: AIProjectAdminResponse = await this.interactions.getFilteredImages(this.filter)\n\t\t\t\tif ((this.filter && selections.status !== 'ok') || selections.data?.selectedImages?.length === 0) {\n\t\t\t\t\talert('No images match your filter criteria.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// TODO: Enable user assignment after SSO is ready\n\t\t\t\t// if (!this.usersRender || !Array.isArray(this.usersRender.users) || this.usersRender.users.length === 0) {\n\t\t\t\t// \talert('Please add at least one user.')\n\t\t\t\t// \tbtn.attr('disabled', null)\n\t\t\t\t// \treturn\n\t\t\t\t// }\n\n\t\t\t\tawait this.interactions.addProject({\n\t\t\t\t\tproject: {\n\t\t\t\t\t\tfilter: this.filter,\n\t\t\t\t\t\tclasses: this.classesTable!.rows.map((row, i) => {\n\t\t\t\t\t\t\treturn { label: row[1].value, color: row[2].color, key_shortcut: `Digit${i + 1}` }\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tusers: this.usersRender?.users || []\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.dom.holder.selectAll('*').remove()\n\t\t\t\tnew SelectorTableRender(this.dom.holder, this.interactions, selections.data)\n\t\t\t})\n\t}\n\n\t/**** Uncomment before production */\n\t// private validateInput() {\n\t// \tconst invalidInfo = {\n\t// \t\tentries: [] as { dataType: string; reason: string }[],\n\t// \t\terrorMsg: 'Please clear all \"Data type: Class\" errors before applying changes.'\n\t// \t}\n\n\t// \t//Show user error if no filter is defined.\n\t// \tif (!this.filter) {\n\t// \t\tinvalidInfo.entries.push({ dataType: 'Filter', reason: 'No filter defined. Did you mean to add a filter?' })\n\t// \t}\n\t// \t//Check if all classes were deleted\n\t// \tconst classes = this.classesTable?.rows.map(row => row[1].value) || []\n\t// \tif (classes.length === 0) {\n\t// \t\tinvalidInfo.entries.push({ dataType: 'Class', reason: 'No classes defined. Did you mean to add a class?' })\n\t// \t}\n\t// \t//Check to see if any class is still a default class\n\t// \tconst unchangedClasses =\n\t// \t\tthis.classesTable?.rows\n\t// \t\t\t.filter(row => (row[1]?.value as string)?.startsWith('New class'))\n\t// \t\t\t.map(r => r[1]?.value as string) || []\n\t// \tfor (const c of unchangedClasses) {\n\t// \t\tinvalidInfo.entries.push({ dataType: 'Class', reason: `${c} is the default class name. Please rename.` })\n\t// \t}\n\n\t// \treturn invalidInfo\n\t// }\n}\n", "import { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { PlotBase } from '../PlotBase'\nimport type { MassState } from '#mass/types/mass'\nimport { getDefaultAIProjectAdminSettings } from './defaults'\nimport { ProjectReposity } from './repo/ProjectReposity'\nimport { ProjectAdminRender } from './view/ProjectAdminRender'\nimport { AIProjectAdminInteractions } from './interactions/AIProjectAdminInteractions'\nimport { CreateProjectRender } from './view/CreateProjectRender'\nimport { sayerror } from '#dom'\n\n/** This plot supports training AI models.\n * The UI allows users to create and manage projects. */\n\nclass AIProjectAdmin extends PlotBase implements RxComponent {\n\tstatic type = 'AIProjectAdmin'\n\tpublic type = 'AIProjectAdmin'\n\tprjtRepo: ProjectReposity\n\tprojects?: any[]\n\tprjtAdminUI?: ProjectAdminRender\n\tinteractions?: AIProjectAdminInteractions\n\tdom!: {\n\t\t[name: string]: any\n\t}\n\n\tconstructor(opts: any, api) {\n\t\tsuper(opts, api)\n\t\tthis.opts = opts\n\t\tthis.dom = {\n\t\t\tholder: opts.holder,\n\t\t\terrorDiv: opts.holder.append('div').style('margin', '3px').attr('class', 'sjpp-ai-prjt-admin-error')\n\t\t}\n\t\tif (opts.header) this.dom.header = opts.header\n\n\t\tthis.prjtRepo = new ProjectReposity()\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: any) => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t}\n\t\treturn {\n\t\t\tconfig,\n\t\t\tvocab: appState.vocab,\n\t\t\tfilter: appState.termfilter.filter\n\t\t}\n\t}\n\n\tasync init(appState: MassState) {\n\t\tthis.interactions = new AIProjectAdminInteractions(this.app, this.id, this.prjtRepo)\n\n\t\ttry {\n\t\t\tthis.projects = await this.prjtRepo.getProjects(appState.vocab.genome, appState.vocab.dslabel)\n\t\t} catch (e: any) {\n\t\t\tconsole.error('Error initializing AIProjectAdmin:', e)\n\t\t\tthrow e\n\t\t}\n\t\tthis.prjtAdminUI = new ProjectAdminRender(this.dom, this.projects, this.interactions)\n\t\tthis.prjtAdminUI.renderProjectAdmin()\n\t}\n\n\tasync main() {\n\t\tconst state = structuredClone(this.state)\n\t\tconst config = state.config\n\t\tif (config.chartType != this.type) return\n\t\tconst project = config.settings.project\n\t\tif (!project) return\n\n\t\tif (!this.interactions) throw new Error('AIProjectAdminInteractions not initialized')\n\n\t\tthis.dom.holder.selectAll('.sjpp-deletable-ai-prjt-admin-div').remove()\n\n\t\tif (project.type === 'new') {\n\t\t\tconst terms = await this.prjtRepo.getTerms(this.app)\n\t\t\tif (!terms || terms.length === 0) {\n\t\t\t\tsayerror(this.dom.errorDiv, 'No metadata found.')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst createProjectRender = new CreateProjectRender(this.dom, this.app, this.interactions)\n\t\t\tcreateProjectRender.render()\n\t\t}\n\n\t\t//launching project from embedded runpp()\n\t\tif (project.type == 'existing') {\n\t\t\tif (!project.name) {\n\t\t\t\tsayerror(this.dom.errorDiv, 'Project name not provided.')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!project.id) {\n\t\t\t\tconst existingProject = this.projects?.find(p => p.name === project.name)\n\t\t\t\tif (!existingProject) {\n\t\t\t\t\tsayerror(this.dom.errorDiv, `Project ${project.name} not found.`)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t//No need to call dispatch. Save to the state and call the wsi viewer.\n\t\t\t\tawait this.app.save({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tconfig: { settings: { project: { id: existingProject.id } } }\n\t\t\t\t})\n\t\t\t}\n\t\t\tawait this.interactions.launchViewer(this.dom.holder, [])\n\t\t}\n\t}\n}\n\nexport const aiProjectAdminInit = getCompInit(AIProjectAdmin)\nexport const componentInit = aiProjectAdminInit\n\nexport async function getPlotConfig(opts: any) {\n\tconst config = {\n\t\tchartType: 'AIProjectAdmin',\n\t\tsubfolder: 'aiProjectAdmin',\n\t\textension: 'ts',\n\t\thidePlotFilter: true, //Disable the filter in the sandbox header\n\t\tsettings: getDefaultAIProjectAdminSettings(opts.overrides)\n\t}\n\tif (opts.settings?.project && !opts.settings?.project?.type) {\n\t\t//If passing project from embedded runpp(), force type\n\t\topts.settings.project.type = 'existing'\n\t}\n\treturn copyMerge(config, opts)\n}\n"],
5
- "mappings": "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",
6
- "names": ["_", "i", "filter"]
7
- }