@jbrowse/plugin-variants 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +1 -1
  2. package/dist/ChordVariantDisplay/index.js +1 -2
  3. package/dist/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  4. package/dist/ChordVariantDisplay/models/configSchema.js +1 -10
  5. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +10 -28
  6. package/dist/ChordVariantDisplay/models/stateModelFactory.js +2 -23
  7. package/dist/LinearVariantDisplay/configSchema.d.ts +2 -2
  8. package/dist/LinearVariantDisplay/configSchema.js +1 -10
  9. package/dist/LinearVariantDisplay/index.d.ts +1 -1
  10. package/dist/LinearVariantDisplay/index.js +2 -2
  11. package/dist/LinearVariantDisplay/model.d.ts +13 -43
  12. package/dist/LinearVariantDisplay/model.js +1 -17
  13. package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  14. package/dist/MultiLinearVariantDisplay/components/Crosshair.js +35 -0
  15. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
  16. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +29 -0
  17. package/dist/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  18. package/dist/MultiLinearVariantDisplay/configSchema.js +30 -0
  19. package/dist/MultiLinearVariantDisplay/index.d.ts +2 -0
  20. package/dist/MultiLinearVariantDisplay/index.js +57 -0
  21. package/dist/MultiLinearVariantDisplay/model.d.ts +351 -0
  22. package/dist/MultiLinearVariantDisplay/model.js +83 -0
  23. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
  24. package/dist/MultiLinearVariantDisplay/renderSvg.js +15 -0
  25. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  26. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +28 -0
  27. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
  28. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +39 -0
  29. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
  30. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +31 -0
  31. package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  32. package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +22 -0
  33. package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  34. package/dist/MultiLinearVariantMatrixDisplay/index.js +24 -0
  35. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
  36. package/dist/MultiLinearVariantMatrixDisplay/model.js +113 -0
  37. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
  38. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +17 -0
  39. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
  40. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +87 -0
  41. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
  42. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +38 -0
  43. package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  44. package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +6 -0
  45. package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  46. package/dist/MultiLinearVariantMatrixRenderer/index.js +20 -0
  47. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  48. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +100 -0
  49. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  50. package/dist/MultiLinearVariantMatrixRenderer/types.js +2 -0
  51. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
  52. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +73 -0
  53. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
  54. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +52 -0
  55. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
  56. package/dist/MultiLinearVariantRenderer/configSchema.js +8 -0
  57. package/dist/MultiLinearVariantRenderer/index.d.ts +2 -0
  58. package/dist/MultiLinearVariantRenderer/index.js +19 -0
  59. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  60. package/dist/MultiLinearVariantRenderer/makeImageData.js +67 -0
  61. package/dist/MultiLinearVariantRenderer/types.d.ts +19 -0
  62. package/dist/MultiLinearVariantRenderer/types.js +2 -0
  63. package/dist/MultiVariantBaseRenderer.d.ts +46 -0
  64. package/dist/MultiVariantBaseRenderer.js +39 -0
  65. package/dist/StructuralVariantChordRenderer/Chord.d.ts +4 -21
  66. package/dist/StructuralVariantChordRenderer/Chord.js +8 -34
  67. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
  68. package/dist/StructuralVariantChordRenderer/ReactComponent.js +7 -30
  69. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  70. package/dist/StructuralVariantChordRenderer/configSchema.js +1 -13
  71. package/dist/StructuralVariantChordRenderer/index.d.ts +1 -1
  72. package/dist/StructuralVariantChordRenderer/index.js +1 -1
  73. package/dist/StructuralVariantChordRenderer/types.d.ts +17 -0
  74. package/dist/StructuralVariantChordRenderer/types.js +2 -0
  75. package/dist/Tooltip.d.ts +19 -0
  76. package/dist/Tooltip.js +32 -0
  77. package/dist/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  78. package/dist/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  79. package/dist/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  80. package/dist/VariantFeatureWidget/Checkbox2.js +2 -5
  81. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
  82. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +73 -80
  83. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  84. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.js +60 -0
  85. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  86. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.js +15 -0
  87. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  88. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +20 -0
  89. package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  90. package/dist/VariantFeatureWidget/VariantConsequencePanel.js +15 -0
  91. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
  92. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +50 -41
  93. package/dist/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  94. package/dist/VariantFeatureWidget/VariantSampleFilters.js +10 -0
  95. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
  96. package/dist/VariantFeatureWidget/VariantSampleGrid.js +17 -51
  97. package/dist/VariantFeatureWidget/index.d.ts +1 -1
  98. package/dist/VariantFeatureWidget/index.js +18 -8
  99. package/dist/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  100. package/dist/VariantFeatureWidget/stateModelFactory.js +1 -1
  101. package/dist/VariantFeatureWidget/types.d.ts +16 -0
  102. package/dist/VariantFeatureWidget/types.js +2 -0
  103. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  104. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +50 -0
  105. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
  106. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +53 -0
  107. package/dist/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  108. package/dist/VariantRPC/MultiVariantGetSources.js +22 -0
  109. package/dist/VariantTrack/configSchema.d.ts +2 -3
  110. package/dist/VariantTrack/configSchema.js +6 -13
  111. package/dist/VariantTrack/index.d.ts +1 -1
  112. package/dist/VcfAdapter/VcfAdapter.d.ts +10 -2
  113. package/dist/VcfAdapter/VcfAdapter.js +32 -8
  114. package/dist/VcfAdapter/configSchema.d.ts +8 -3
  115. package/dist/VcfAdapter/configSchema.js +13 -8
  116. package/dist/VcfAdapter/index.d.ts +1 -1
  117. package/dist/VcfAdapter/index.js +17 -7
  118. package/dist/VcfFeature/index.d.ts +5 -29
  119. package/dist/VcfFeature/index.js +36 -26
  120. package/dist/VcfFeature/util.d.ts +1 -4
  121. package/dist/VcfFeature/util.js +3 -16
  122. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  123. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +44 -13
  124. package/dist/VcfTabixAdapter/configSchema.d.ts +8 -9
  125. package/dist/VcfTabixAdapter/configSchema.js +10 -14
  126. package/dist/VcfTabixAdapter/index.d.ts +1 -1
  127. package/dist/VcfTabixAdapter/index.js +17 -7
  128. package/dist/extensionPoints.d.ts +1 -1
  129. package/dist/extensionPoints.js +21 -33
  130. package/dist/getMultiVariantFeaturesAutorun.d.ts +16 -0
  131. package/dist/getMultiVariantFeaturesAutorun.js +41 -0
  132. package/dist/getMultiVariantSourcesAutorun.d.ts +11 -0
  133. package/dist/getMultiVariantSourcesAutorun.js +37 -0
  134. package/dist/index.d.ts +1 -1
  135. package/dist/index.js +18 -4
  136. package/dist/shared/BulkEditPanel.d.ts +5 -0
  137. package/dist/shared/BulkEditPanel.js +84 -0
  138. package/dist/shared/ClusterDialog.d.ts +11 -0
  139. package/dist/shared/ClusterDialog.js +109 -0
  140. package/dist/shared/ColorLegend.d.ts +10 -0
  141. package/dist/shared/ColorLegend.js +22 -0
  142. package/dist/shared/HelpfulTips.d.ts +1 -0
  143. package/dist/shared/HelpfulTips.js +7 -0
  144. package/dist/shared/LegendBar.d.ts +18 -0
  145. package/dist/shared/LegendBar.js +32 -0
  146. package/dist/shared/MAFFilterDialog.d.ts +8 -0
  147. package/dist/shared/MAFFilterDialog.js +28 -0
  148. package/dist/shared/MultiVariantBaseModel.d.ts +341 -0
  149. package/dist/shared/MultiVariantBaseModel.js +316 -0
  150. package/dist/shared/MultiVariantTooltip.d.ts +6 -0
  151. package/dist/shared/MultiVariantTooltip.js +23 -0
  152. package/dist/shared/RectBg.d.ts +8 -0
  153. package/dist/shared/RectBg.js +8 -0
  154. package/dist/shared/RowPalettizer.d.ts +5 -0
  155. package/dist/shared/RowPalettizer.js +40 -0
  156. package/dist/shared/SetColorDialog.d.ts +11 -0
  157. package/dist/shared/SetColorDialog.js +55 -0
  158. package/dist/shared/SetMinMaxDialog.d.ts +10 -0
  159. package/dist/shared/SetMinMaxDialog.js +26 -0
  160. package/dist/shared/SetRowHeightDialog.d.ts +8 -0
  161. package/dist/shared/SetRowHeightDialog.js +18 -0
  162. package/dist/shared/SharedVariantConfigSchema.d.ts +66 -0
  163. package/dist/shared/SharedVariantConfigSchema.js +56 -0
  164. package/dist/shared/SharedVariantMixin.d.ts +309 -0
  165. package/dist/shared/SharedVariantMixin.js +58 -0
  166. package/dist/shared/SourcesDataGrid.d.ts +6 -0
  167. package/dist/shared/SourcesDataGrid.js +68 -0
  168. package/dist/shared/SourcesGrid.d.ts +7 -0
  169. package/dist/shared/SourcesGrid.js +14 -0
  170. package/dist/shared/SourcesGridHeader.d.ts +7 -0
  171. package/dist/shared/SourcesGridHeader.js +41 -0
  172. package/dist/shared/multiVariantColor.d.ts +3 -0
  173. package/dist/shared/multiVariantColor.js +50 -0
  174. package/dist/shared/util.d.ts +10 -0
  175. package/dist/shared/util.js +32 -0
  176. package/dist/types.d.ts +14 -0
  177. package/dist/types.js +2 -0
  178. package/dist/util.d.ts +8 -0
  179. package/dist/util.js +86 -0
  180. package/esm/ChordVariantDisplay/index.d.ts +1 -1
  181. package/esm/ChordVariantDisplay/index.js +1 -2
  182. package/esm/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  183. package/esm/ChordVariantDisplay/models/configSchema.js +1 -10
  184. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +10 -28
  185. package/esm/ChordVariantDisplay/models/stateModelFactory.js +3 -24
  186. package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
  187. package/esm/LinearVariantDisplay/configSchema.js +1 -10
  188. package/esm/LinearVariantDisplay/index.d.ts +1 -1
  189. package/esm/LinearVariantDisplay/index.js +2 -2
  190. package/esm/LinearVariantDisplay/model.d.ts +13 -43
  191. package/esm/LinearVariantDisplay/model.js +2 -18
  192. package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  193. package/esm/MultiLinearVariantDisplay/components/Crosshair.js +30 -0
  194. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
  195. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +24 -0
  196. package/esm/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  197. package/esm/MultiLinearVariantDisplay/configSchema.js +24 -0
  198. package/esm/MultiLinearVariantDisplay/index.d.ts +2 -0
  199. package/esm/MultiLinearVariantDisplay/index.js +18 -0
  200. package/esm/MultiLinearVariantDisplay/model.d.ts +351 -0
  201. package/esm/MultiLinearVariantDisplay/model.js +44 -0
  202. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
  203. package/esm/MultiLinearVariantDisplay/renderSvg.js +9 -0
  204. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  205. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +23 -0
  206. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
  207. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +37 -0
  208. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
  209. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +26 -0
  210. package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  211. package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +16 -0
  212. package/esm/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  213. package/esm/MultiLinearVariantMatrixDisplay/index.js +18 -0
  214. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
  215. package/esm/MultiLinearVariantMatrixDisplay/model.js +74 -0
  216. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
  217. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +11 -0
  218. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
  219. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +48 -0
  220. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
  221. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +36 -0
  222. package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  223. package/esm/MultiLinearVariantMatrixRenderer/configSchema.js +4 -0
  224. package/esm/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  225. package/esm/MultiLinearVariantMatrixRenderer/index.js +14 -0
  226. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  227. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +97 -0
  228. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  229. package/esm/MultiLinearVariantMatrixRenderer/types.js +1 -0
  230. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
  231. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +34 -0
  232. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
  233. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +47 -0
  234. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
  235. package/esm/MultiLinearVariantRenderer/configSchema.js +6 -0
  236. package/esm/MultiLinearVariantRenderer/index.d.ts +2 -0
  237. package/esm/MultiLinearVariantRenderer/index.js +13 -0
  238. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  239. package/esm/MultiLinearVariantRenderer/makeImageData.js +61 -0
  240. package/esm/MultiLinearVariantRenderer/types.d.ts +19 -0
  241. package/esm/MultiLinearVariantRenderer/types.js +1 -0
  242. package/esm/MultiVariantBaseRenderer.d.ts +46 -0
  243. package/esm/MultiVariantBaseRenderer.js +33 -0
  244. package/esm/StructuralVariantChordRenderer/Chord.d.ts +4 -21
  245. package/esm/StructuralVariantChordRenderer/Chord.js +8 -11
  246. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
  247. package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -7
  248. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  249. package/esm/StructuralVariantChordRenderer/configSchema.js +1 -13
  250. package/esm/StructuralVariantChordRenderer/index.d.ts +1 -1
  251. package/esm/StructuralVariantChordRenderer/index.js +1 -1
  252. package/esm/StructuralVariantChordRenderer/types.d.ts +17 -0
  253. package/esm/StructuralVariantChordRenderer/types.js +1 -0
  254. package/esm/Tooltip.d.ts +19 -0
  255. package/esm/Tooltip.js +27 -0
  256. package/esm/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  257. package/esm/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  258. package/esm/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  259. package/esm/VariantFeatureWidget/Checkbox2.js +2 -2
  260. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
  261. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +55 -72
  262. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  263. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.js +24 -0
  264. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  265. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.js +9 -0
  266. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  267. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +17 -0
  268. package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  269. package/esm/VariantFeatureWidget/VariantConsequencePanel.js +9 -0
  270. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
  271. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +33 -34
  272. package/esm/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  273. package/esm/VariantFeatureWidget/VariantSampleFilters.js +7 -0
  274. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
  275. package/esm/VariantFeatureWidget/VariantSampleGrid.js +18 -29
  276. package/esm/VariantFeatureWidget/index.d.ts +1 -1
  277. package/esm/VariantFeatureWidget/index.js +1 -1
  278. package/esm/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  279. package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
  280. package/esm/VariantFeatureWidget/types.d.ts +16 -0
  281. package/esm/VariantFeatureWidget/types.js +1 -0
  282. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  283. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +43 -0
  284. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
  285. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +46 -0
  286. package/esm/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  287. package/esm/VariantRPC/MultiVariantGetSources.js +15 -0
  288. package/esm/VariantTrack/configSchema.d.ts +2 -3
  289. package/esm/VariantTrack/configSchema.js +5 -13
  290. package/esm/VariantTrack/index.d.ts +1 -1
  291. package/esm/VcfAdapter/VcfAdapter.d.ts +10 -2
  292. package/esm/VcfAdapter/VcfAdapter.js +34 -10
  293. package/esm/VcfAdapter/configSchema.d.ts +8 -3
  294. package/esm/VcfAdapter/configSchema.js +13 -8
  295. package/esm/VcfAdapter/index.d.ts +1 -1
  296. package/esm/VcfFeature/index.d.ts +5 -29
  297. package/esm/VcfFeature/index.js +36 -26
  298. package/esm/VcfFeature/util.d.ts +1 -4
  299. package/esm/VcfFeature/util.js +3 -16
  300. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  301. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +45 -14
  302. package/esm/VcfTabixAdapter/configSchema.d.ts +8 -9
  303. package/esm/VcfTabixAdapter/configSchema.js +10 -14
  304. package/esm/VcfTabixAdapter/index.d.ts +1 -1
  305. package/esm/extensionPoints.d.ts +1 -1
  306. package/esm/extensionPoints.js +22 -34
  307. package/esm/getMultiVariantFeaturesAutorun.d.ts +16 -0
  308. package/esm/getMultiVariantFeaturesAutorun.js +38 -0
  309. package/esm/getMultiVariantSourcesAutorun.d.ts +11 -0
  310. package/esm/getMultiVariantSourcesAutorun.js +34 -0
  311. package/esm/index.d.ts +1 -1
  312. package/esm/index.js +18 -4
  313. package/esm/shared/BulkEditPanel.d.ts +5 -0
  314. package/esm/shared/BulkEditPanel.js +81 -0
  315. package/esm/shared/ClusterDialog.d.ts +11 -0
  316. package/esm/shared/ClusterDialog.js +103 -0
  317. package/esm/shared/ColorLegend.d.ts +10 -0
  318. package/esm/shared/ColorLegend.js +17 -0
  319. package/esm/shared/HelpfulTips.d.ts +1 -0
  320. package/esm/shared/HelpfulTips.js +4 -0
  321. package/esm/shared/LegendBar.d.ts +18 -0
  322. package/esm/shared/LegendBar.js +26 -0
  323. package/esm/shared/MAFFilterDialog.d.ts +8 -0
  324. package/esm/shared/MAFFilterDialog.js +26 -0
  325. package/esm/shared/MultiVariantBaseModel.d.ts +341 -0
  326. package/esm/shared/MultiVariantBaseModel.js +277 -0
  327. package/esm/shared/MultiVariantTooltip.d.ts +6 -0
  328. package/esm/shared/MultiVariantTooltip.js +17 -0
  329. package/esm/shared/RectBg.d.ts +8 -0
  330. package/esm/shared/RectBg.js +6 -0
  331. package/esm/shared/RowPalettizer.d.ts +5 -0
  332. package/esm/shared/RowPalettizer.js +37 -0
  333. package/esm/shared/SetColorDialog.d.ts +11 -0
  334. package/esm/shared/SetColorDialog.js +49 -0
  335. package/esm/shared/SetMinMaxDialog.d.ts +10 -0
  336. package/esm/shared/SetMinMaxDialog.js +23 -0
  337. package/esm/shared/SetRowHeightDialog.d.ts +8 -0
  338. package/esm/shared/SetRowHeightDialog.js +15 -0
  339. package/esm/shared/SharedVariantConfigSchema.d.ts +66 -0
  340. package/esm/shared/SharedVariantConfigSchema.js +53 -0
  341. package/esm/shared/SharedVariantMixin.d.ts +309 -0
  342. package/esm/shared/SharedVariantMixin.js +55 -0
  343. package/esm/shared/SourcesDataGrid.d.ts +6 -0
  344. package/esm/shared/SourcesDataGrid.js +62 -0
  345. package/esm/shared/SourcesGrid.d.ts +7 -0
  346. package/esm/shared/SourcesGrid.js +9 -0
  347. package/esm/shared/SourcesGridHeader.d.ts +7 -0
  348. package/esm/shared/SourcesGridHeader.js +35 -0
  349. package/esm/shared/multiVariantColor.d.ts +3 -0
  350. package/esm/shared/multiVariantColor.js +45 -0
  351. package/esm/shared/util.d.ts +10 -0
  352. package/esm/shared/util.js +28 -0
  353. package/esm/types.d.ts +14 -0
  354. package/esm/types.js +1 -0
  355. package/esm/util.d.ts +8 -0
  356. package/esm/util.js +77 -0
  357. package/package.json +7 -8
  358. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  359. package/dist/VariantFeatureWidget/AnnotGrid.js +0 -39
  360. package/dist/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  361. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +0 -16
  362. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  363. package/esm/VariantFeatureWidget/AnnotGrid.js +0 -13
  364. package/esm/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  365. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +0 -10
@@ -0,0 +1,309 @@
1
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export default function SharedVariantMixin(configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
4
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
+ type: import("mobx-state-tree").ISimpleType<string>;
6
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
7
+ } & {
8
+ heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
9
+ } & {
10
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
11
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
12
+ } & {
13
+ blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
14
+ key: import("mobx-state-tree").ISimpleType<string>;
15
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
16
+ reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
17
+ isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
18
+ isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
19
+ }, {
20
+ stopToken: string | undefined;
21
+ filled: boolean;
22
+ reactElement: React.ReactElement | undefined;
23
+ features: Map<string, Feature> | undefined;
24
+ layout: any;
25
+ status: string;
26
+ error: unknown;
27
+ message: string | undefined;
28
+ maxHeightReached: boolean;
29
+ ReactComponent: ({ model, }: {
30
+ model: {
31
+ error?: unknown;
32
+ reload: () => void;
33
+ message: React.ReactNode;
34
+ filled?: boolean;
35
+ status?: string;
36
+ reactElement?: React.ReactElement;
37
+ };
38
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
39
+ renderProps: any;
40
+ } & {
41
+ doReload(): void;
42
+ afterAttach(): void;
43
+ setStatus(message: string): void;
44
+ setLoading(newStopToken: string): void;
45
+ setMessage(messageText: string): void;
46
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
47
+ setError(error: unknown): void;
48
+ reload(): void;
49
+ beforeDestroy(): void;
50
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
51
+ configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
52
+ maxFeatureScreenDensity: {
53
+ type: string;
54
+ description: string;
55
+ defaultValue: number;
56
+ };
57
+ fetchSizeLimit: {
58
+ type: string;
59
+ defaultValue: number;
60
+ description: string;
61
+ };
62
+ height: {
63
+ type: string;
64
+ defaultValue: number;
65
+ description: string;
66
+ };
67
+ mouseover: {
68
+ type: string;
69
+ description: string;
70
+ defaultValue: string;
71
+ contextVariable: string[];
72
+ };
73
+ jexlFilters: {
74
+ type: string;
75
+ description: string;
76
+ defaultValue: never[];
77
+ };
78
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
79
+ } & {
80
+ selectedRendering: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
81
+ summaryScoreMode: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
82
+ rendererTypeNameState: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
83
+ configuration: AnyConfigurationSchemaType;
84
+ }, {
85
+ rendererTypeName: string;
86
+ error: unknown;
87
+ message: string | undefined;
88
+ } & {
89
+ readonly RenderingComponent: React.FC<{
90
+ model: {
91
+ id: string;
92
+ type: string;
93
+ rpcDriverName: string | undefined;
94
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
95
+ rendererTypeName: string;
96
+ error: unknown;
97
+ message: string | undefined;
98
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
99
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
100
+ type: import("mobx-state-tree").ISimpleType<string>;
101
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
102
+ }, {
103
+ rendererTypeName: string;
104
+ error: unknown;
105
+ message: string | undefined;
106
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
107
+ onHorizontalScroll?: () => void;
108
+ blockState?: Record<string, any>;
109
+ }>;
110
+ readonly DisplayBlurb: React.FC<{
111
+ model: {
112
+ id: string;
113
+ type: string;
114
+ rpcDriverName: string | undefined;
115
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
116
+ rendererTypeName: string;
117
+ error: unknown;
118
+ message: string | undefined;
119
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
120
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
121
+ type: import("mobx-state-tree").ISimpleType<string>;
122
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
123
+ }, {
124
+ rendererTypeName: string;
125
+ error: unknown;
126
+ message: string | undefined;
127
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
128
+ }> | null;
129
+ readonly adapterConfig: any;
130
+ readonly parentTrack: any;
131
+ renderProps(): any;
132
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
133
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
134
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
135
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
136
+ regionCannotBeRendered(): null;
137
+ } & {
138
+ setMessage(arg?: string): void;
139
+ setError(error?: unknown): void;
140
+ setRpcDriverName(rpcDriverName: string): void;
141
+ reload(): void;
142
+ } & {
143
+ scrollTop: number;
144
+ } & {
145
+ readonly height: number;
146
+ } & {
147
+ setScrollTop(scrollTop: number): void;
148
+ setHeight(displayHeight: number): number;
149
+ resizeHeight(distance: number): number;
150
+ } & {
151
+ featureDensityStatsP: undefined | Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
152
+ featureDensityStats: undefined | import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats;
153
+ currStatsBpPerPx: number;
154
+ } & {
155
+ readonly currentBytesRequested: number;
156
+ readonly currentFeatureScreenDensity: number;
157
+ readonly maxFeatureScreenDensity: any;
158
+ readonly featureDensityStatsReady: boolean;
159
+ readonly maxAllowableBytes: number;
160
+ } & {
161
+ afterAttach(): void;
162
+ } & {
163
+ setCurrStatsBpPerPx(n: number): void;
164
+ setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
165
+ getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
166
+ setFeatureDensityStatsP(arg: any): void;
167
+ setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
168
+ clearFeatureDensityStats(): void;
169
+ } & {
170
+ readonly regionTooLarge: boolean;
171
+ readonly regionTooLargeReason: string;
172
+ } & {
173
+ readonly statsReadyAndRegionNotTooLarge: boolean;
174
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
175
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
176
+ } & {
177
+ featureIdUnderMouse: undefined | string;
178
+ contextMenuFeature: undefined | Feature;
179
+ } & {
180
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
181
+ readonly blockType: "staticBlocks" | "dynamicBlocks";
182
+ readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
183
+ } & {
184
+ readonly renderDelay: number;
185
+ readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
186
+ readonly selectedFeatureId: string | undefined;
187
+ } & {
188
+ readonly features: import("@jbrowse/core/util/compositeMap").default<string, Feature>;
189
+ readonly featureUnderMouse: Feature | undefined;
190
+ getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
191
+ getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
192
+ searchFeatureByID(id: string): [number, number, number, number] | undefined;
193
+ } & {
194
+ addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
195
+ deleteBlock(key: string): void;
196
+ selectFeature(feature: Feature): void;
197
+ navToFeature(feature: Feature): void;
198
+ clearFeatureSelection(): void;
199
+ setFeatureIdUnderMouse(feature?: string): void;
200
+ setContextMenuFeature(feature?: Feature): void;
201
+ } & {
202
+ reload(): Promise<void>;
203
+ } & {
204
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
205
+ contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
206
+ renderProps(): any;
207
+ } & {
208
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
209
+ afterAttach(): void;
210
+ } & {
211
+ message: undefined | string;
212
+ } & {
213
+ selectFeature(feature: Feature): void;
214
+ setRendererType(val: string): void;
215
+ } & {
216
+ readonly adapterTypeName: any;
217
+ readonly rendererTypeNameSimple: any;
218
+ readonly filters: undefined;
219
+ } & {
220
+ readonly adapterCapabilities: string[];
221
+ } & {
222
+ reload(): Promise<void>;
223
+ }, {
224
+ type: string;
225
+ } & Partial<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
226
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
227
+ type: import("mobx-state-tree").ISimpleType<string>;
228
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
229
+ } & {
230
+ heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
231
+ } & {
232
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
233
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
234
+ } & {
235
+ blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
236
+ key: import("mobx-state-tree").ISimpleType<string>;
237
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
238
+ reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
239
+ isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
240
+ isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
241
+ }, {
242
+ stopToken: string | undefined;
243
+ filled: boolean;
244
+ reactElement: React.ReactElement | undefined;
245
+ features: Map<string, Feature> | undefined;
246
+ layout: any;
247
+ status: string;
248
+ error: unknown;
249
+ message: string | undefined;
250
+ maxHeightReached: boolean;
251
+ ReactComponent: ({ model, }: {
252
+ model: {
253
+ error?: unknown;
254
+ reload: () => void;
255
+ message: React.ReactNode;
256
+ filled?: boolean;
257
+ status?: string;
258
+ reactElement?: React.ReactElement;
259
+ };
260
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
261
+ renderProps: any;
262
+ } & {
263
+ doReload(): void;
264
+ afterAttach(): void;
265
+ setStatus(message: string): void;
266
+ setLoading(newStopToken: string): void;
267
+ setMessage(messageText: string): void;
268
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
269
+ setError(error: unknown): void;
270
+ reload(): void;
271
+ beforeDestroy(): void;
272
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
273
+ configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
274
+ maxFeatureScreenDensity: {
275
+ type: string;
276
+ description: string;
277
+ defaultValue: number;
278
+ };
279
+ fetchSizeLimit: {
280
+ type: string;
281
+ defaultValue: number;
282
+ description: string;
283
+ };
284
+ height: {
285
+ type: string;
286
+ defaultValue: number;
287
+ description: string;
288
+ };
289
+ mouseover: {
290
+ type: string;
291
+ description: string;
292
+ defaultValue: string;
293
+ contextVariable: string[];
294
+ };
295
+ jexlFilters: {
296
+ type: string;
297
+ description: string;
298
+ defaultValue: never[];
299
+ };
300
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
301
+ }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, {
302
+ id: string;
303
+ type: string;
304
+ configuration: import("mobx-state-tree").ModelSnapshotType<Record<string, any>>;
305
+ rpcDriverName: string | undefined;
306
+ heightPreConfig: number | undefined;
307
+ userBpPerPxLimit: number | undefined;
308
+ userByteSizeLimit: number | undefined;
309
+ } & import("mobx-state-tree")._NotCustomized>;
@@ -0,0 +1,55 @@
1
+ import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
2
+ import { getEnv, getSession, isSelectionContainer } from '@jbrowse/core/util';
3
+ import { BaseLinearDisplay } from '@jbrowse/plugin-linear-genome-view';
4
+ import { types } from 'mobx-state-tree';
5
+ export default function SharedVariantMixin(configSchema) {
6
+ return types
7
+ .compose(BaseLinearDisplay, types.model({
8
+ selectedRendering: types.optional(types.string, ''),
9
+ summaryScoreMode: types.maybe(types.string),
10
+ rendererTypeNameState: types.maybe(types.string),
11
+ configuration: ConfigurationReference(configSchema),
12
+ }))
13
+ .volatile(() => ({
14
+ message: undefined,
15
+ }))
16
+ .actions(self => ({
17
+ selectFeature(feature) {
18
+ const session = getSession(self);
19
+ if (isSelectionContainer(session)) {
20
+ session.setSelection(feature);
21
+ }
22
+ },
23
+ setRendererType(val) {
24
+ self.rendererTypeNameState = val;
25
+ },
26
+ }))
27
+ .views(self => ({
28
+ get adapterTypeName() {
29
+ return self.adapterConfig.type;
30
+ },
31
+ get rendererTypeNameSimple() {
32
+ var _a;
33
+ return (_a = self.rendererTypeNameState) !== null && _a !== void 0 ? _a : getConf(self, 'defaultRendering');
34
+ },
35
+ get filters() {
36
+ return undefined;
37
+ },
38
+ }))
39
+ .views(self => ({
40
+ get adapterCapabilities() {
41
+ const type = self.adapterTypeName;
42
+ const { pluginManager } = getEnv(self);
43
+ return pluginManager.getAdapterType(type).adapterCapabilities;
44
+ },
45
+ }))
46
+ .actions(self => {
47
+ const { reload: superReload } = self;
48
+ return {
49
+ async reload() {
50
+ self.setError();
51
+ superReload();
52
+ },
53
+ };
54
+ });
55
+ }
@@ -0,0 +1,6 @@
1
+ import type { Source } from '../types';
2
+ export default function SourcesDataGrid({ rows, onChange, setSelected, }: {
3
+ rows: Source[];
4
+ onChange: (arg: Source[]) => void;
5
+ setSelected: (arg: string[]) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { SanitizedHTML } from '@jbrowse/core/ui';
4
+ import ColorPicker from '@jbrowse/core/ui/ColorPicker';
5
+ import { getStr, measureGridWidth } from '@jbrowse/core/util';
6
+ import { DataGrid } from '@mui/x-data-grid';
7
+ import { makeStyles } from 'tss-react/mui';
8
+ const useStyles = makeStyles()({
9
+ cell: {
10
+ whiteSpace: 'nowrap',
11
+ overflow: 'hidden',
12
+ textOverflow: 'ellipsis',
13
+ },
14
+ });
15
+ export default function SourcesDataGrid({ rows, onChange, setSelected, }) {
16
+ const { classes } = useStyles();
17
+ const { id: _id, name: _name, label: _label, color: _color, baseUri: _baseUri, HP: _HP, ...rest } = rows[0];
18
+ const [currSort, setCurrSort] = useState({
19
+ idx: 0,
20
+ field: null,
21
+ });
22
+ return (_jsx("div", { style: { height: 400, width: '100%' }, children: _jsx(DataGrid, { checkboxSelection: true, disableRowSelectionOnClick: true, onRowSelectionModelChange: arg => {
23
+ setSelected(arg);
24
+ }, rows: rows, rowHeight: 25, columnHeaderHeight: 33, columns: [
25
+ {
26
+ field: 'color',
27
+ headerName: 'Color',
28
+ renderCell: params => {
29
+ const { value, id } = params;
30
+ return (_jsx(ColorPicker, { color: value || 'blue', onChange: c => {
31
+ const elt = rows.find(f => f.name === id);
32
+ if (elt) {
33
+ elt.color = c;
34
+ }
35
+ onChange([...rows]);
36
+ } }));
37
+ },
38
+ },
39
+ {
40
+ field: 'label',
41
+ headerName: 'Name',
42
+ width: measureGridWidth(rows.map(r => r.label)),
43
+ },
44
+ ...Object.keys(rest).map(val => ({
45
+ field: val,
46
+ renderCell: ({ value }) => (_jsx("div", { className: classes.cell, children: _jsx(SanitizedHTML, { html: getStr(value) }) })),
47
+ width: measureGridWidth(rows.map(r => `${r[val]}`)),
48
+ })),
49
+ ], sortModel: [], onSortModelChange: args => {
50
+ const sort = args[0];
51
+ const idx = (currSort.idx + 1) % 2;
52
+ const field = sort.field || currSort.field;
53
+ setCurrSort({ idx, field });
54
+ onChange(field
55
+ ? [...rows].sort((a, b) => {
56
+ const aa = getStr(a[field]);
57
+ const bb = getStr(b[field]);
58
+ return idx === 1 ? aa.localeCompare(bb) : bb.localeCompare(aa);
59
+ })
60
+ : rows);
61
+ } }) }));
62
+ }
@@ -0,0 +1,7 @@
1
+ import type { Source } from '../types';
2
+ declare function SourcesGrid({ rows, onChange, showTips, }: {
3
+ rows: Source[];
4
+ onChange: (arg: Source[]) => void;
5
+ showTips: boolean;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export default SourcesGrid;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import SourcesDataGrid from './SourcesDataGrid';
4
+ import SourcesGridHeader from './SourcesGridHeader';
5
+ function SourcesGrid({ rows, onChange, showTips, }) {
6
+ const [selected, setSelected] = useState([]);
7
+ return (_jsxs("div", { children: [_jsx(SourcesGridHeader, { selected: selected, rows: rows, showTips: showTips, onChange: onChange }), _jsx(SourcesDataGrid, { rows: rows, onChange: onChange, setSelected: setSelected })] }));
8
+ }
9
+ export default SourcesGrid;
@@ -0,0 +1,7 @@
1
+ import type { Source } from '../types';
2
+ export default function SourcesGridHeader({ selected, onChange, rows, showTips, }: {
3
+ onChange: (arg: Source[]) => void;
4
+ rows: Source[];
5
+ selected: string[];
6
+ showTips: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ColorPopover } from '@jbrowse/core/ui/ColorPicker';
4
+ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
5
+ import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
6
+ import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
7
+ import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
8
+ import { Button } from '@mui/material';
9
+ import { moveDown, moveUp } from './util';
10
+ export default function SourcesGridHeader({ selected, onChange, rows, showTips, }) {
11
+ const [anchorEl, setAnchorEl] = useState(null);
12
+ const [widgetColor, setWidgetColor] = useState('blue');
13
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { disabled: !selected.length, onClick: event => {
14
+ setAnchorEl(event.currentTarget);
15
+ }, children: "Change color of selected items" }), _jsxs(Button, { onClick: () => {
16
+ onChange(moveUp([...rows], selected));
17
+ }, disabled: !selected.length, children: [_jsx(KeyboardArrowUpIcon, {}), showTips ? 'Move selected items up' : null] }), _jsxs(Button, { onClick: () => {
18
+ onChange(moveDown([...rows], selected));
19
+ }, disabled: !selected.length, children: [_jsx(KeyboardArrowDownIcon, {}), showTips ? 'Move selected items down' : null] }), _jsxs(Button, { onClick: () => {
20
+ onChange(moveUp([...rows], selected, rows.length));
21
+ }, disabled: !selected.length, children: [_jsx(KeyboardDoubleArrowUpIcon, {}), showTips ? 'Move selected items to top' : null] }), _jsxs(Button, { onClick: () => {
22
+ onChange(moveDown([...rows], selected, rows.length));
23
+ }, disabled: !selected.length, children: [_jsx(KeyboardDoubleArrowDownIcon, {}), showTips ? 'Move selected items to bottom' : null] }), _jsx(ColorPopover, { anchorEl: anchorEl, color: widgetColor, onChange: c => {
24
+ setWidgetColor(c);
25
+ selected.forEach(id => {
26
+ const elt = rows.find(f => f.name === id);
27
+ if (elt) {
28
+ elt.color = c;
29
+ }
30
+ });
31
+ onChange([...rows]);
32
+ }, onClose: () => {
33
+ setAnchorEl(null);
34
+ } })] }));
35
+ }
@@ -0,0 +1,3 @@
1
+ export declare function getColorAlleleCount(alleles: string[]): string;
2
+ export declare function getColorPhased(alleles: string[], HP: number): string;
3
+ export declare function getColorPhasedWithPhaseSet(alleles: string[], HP: number, PS: string): string;
@@ -0,0 +1,45 @@
1
+ import { set1 } from '@jbrowse/core/ui/colors';
2
+ import { colord } from '@jbrowse/core/util/colord';
3
+ import { colorify } from '../util';
4
+ export function getColorAlleleCount(alleles) {
5
+ const total = alleles.length;
6
+ let alt = 0;
7
+ let uncalled = 0;
8
+ let alt2 = 0;
9
+ let ref = 0;
10
+ for (const allele of alleles) {
11
+ if (allele === '1') {
12
+ alt++;
13
+ }
14
+ else if (allele === '0') {
15
+ ref++;
16
+ }
17
+ else if (allele === '.') {
18
+ uncalled++;
19
+ }
20
+ else {
21
+ alt2++;
22
+ }
23
+ }
24
+ if (ref === total) {
25
+ return `#ccc`;
26
+ }
27
+ else {
28
+ let a1 = colord(`hsl(200,50%,${80 - (alt / total) * 50}%)`);
29
+ if (alt2) {
30
+ a1 = a1.mix(`hsla(0,100%,20%,${alt2 / total})`);
31
+ }
32
+ if (uncalled) {
33
+ a1 = a1.mix(`hsla(50,50%,50%,${uncalled / total / 2})`);
34
+ }
35
+ return a1.toHex();
36
+ }
37
+ }
38
+ export function getColorPhased(alleles, HP) {
39
+ const c = +alleles[HP];
40
+ return c ? set1[c - 1] || 'black' : '#ccc';
41
+ }
42
+ export function getColorPhasedWithPhaseSet(alleles, HP, PS) {
43
+ const c = +alleles[HP];
44
+ return c ? colorify(+PS) || 'black' : '#ccc';
45
+ }
@@ -0,0 +1,10 @@
1
+ export declare function moveUp(arr: {
2
+ name: string;
3
+ }[], sel: string[], by?: number): {
4
+ name: string;
5
+ }[];
6
+ export declare function moveDown(arr: {
7
+ name: string;
8
+ }[], sel: string[], by?: number): {
9
+ name: string;
10
+ }[];
@@ -0,0 +1,28 @@
1
+ export function moveUp(arr, sel, by = 1) {
2
+ const idxs = sel
3
+ .map(l => arr.findIndex(v => v.name === l))
4
+ .sort((a, b) => a - b);
5
+ let lastIdx = 0;
6
+ for (const old of idxs) {
7
+ const idx = Math.max(lastIdx, old - by);
8
+ if (idx >= lastIdx) {
9
+ arr.splice(idx, 0, arr.splice(old, 1)[0]);
10
+ }
11
+ lastIdx = lastIdx + 1;
12
+ }
13
+ return arr;
14
+ }
15
+ export function moveDown(arr, sel, by = 1) {
16
+ const idxs = sel
17
+ .map(l => arr.findIndex(v => v.name === l))
18
+ .sort((a, b) => b - a);
19
+ let lastIdx = arr.length - 1;
20
+ for (const old of idxs) {
21
+ const idx = Math.min(lastIdx, old + by);
22
+ if (idx <= lastIdx) {
23
+ arr.splice(idx, 0, arr.splice(old, 1)[0]);
24
+ }
25
+ lastIdx = lastIdx - 1;
26
+ }
27
+ return arr;
28
+ }
package/esm/types.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export interface Source {
2
+ baseUri?: string;
3
+ name: string;
4
+ label?: string;
5
+ color?: string;
6
+ group?: string;
7
+ HP?: number;
8
+ id?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ export interface SampleInfo {
12
+ isPhased: boolean;
13
+ maxPloidy: number;
14
+ }
package/esm/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/esm/util.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import type { Feature } from '@jbrowse/core/util';
2
+ export declare function fillRectCtx(x: number, y: number, width: number, height: number, ctx: CanvasRenderingContext2D, color?: string): void;
3
+ export declare function getCol(gt: string): "blue" | "teal" | "#ccc" | "#CBC3E3";
4
+ export declare function randomColor(str: string): string;
5
+ export declare function colorify(n: number): string;
6
+ export declare function findSecondLargest(arr: Iterable<number>): number;
7
+ export declare function calculateMinorAlleleFrequency(feat: Feature): number;
8
+ export declare function getFeaturesThatPassMinorAlleleFrequencyFilter(feats: Iterable<Feature>, minorAlleleFrequencyFilter: number): Feature[];