@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,97 @@
1
+ import { getColorAlleleCount, getColorPhased, getColorPhasedWithPhaseSet, } from '../shared/multiVariantColor';
2
+ import { getFeaturesThatPassMinorAlleleFrequencyFilter } from '../util';
3
+ const fudgeFactor = 0.6;
4
+ const f2 = fudgeFactor / 2;
5
+ function drawColorAlleleCount(alleles, ctx, x, y, w, h) {
6
+ ctx.fillStyle = getColorAlleleCount(alleles);
7
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
8
+ }
9
+ function drawPhased(alleles, ctx, x, y, w, h, HP, PS) {
10
+ ctx.fillStyle =
11
+ PS !== undefined
12
+ ? getColorPhasedWithPhaseSet(alleles, HP, PS)
13
+ : getColorPhased(alleles, HP);
14
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
15
+ }
16
+ export function makeImageData({ ctx, canvasWidth, canvasHeight, renderArgs, }) {
17
+ var _a, _b;
18
+ const { renderingMode: renderingMode, minorAlleleFrequencyFilter, sources, features, } = renderArgs;
19
+ const { statusCallback = () => { } } = renderArgs;
20
+ statusCallback('Drawing variant matrix');
21
+ const h = canvasHeight / sources.length;
22
+ const mafs = getFeaturesThatPassMinorAlleleFrequencyFilter(features.values(), minorAlleleFrequencyFilter);
23
+ const arr = [];
24
+ const m = mafs.length;
25
+ const w = canvasWidth / m;
26
+ for (let i = 0; i < m; i++) {
27
+ const arr2 = [];
28
+ const f = mafs[i];
29
+ const hasPhaseSet = f.get('format').includes('PS');
30
+ if (hasPhaseSet) {
31
+ const samp = f.get('samples');
32
+ const x = (i / mafs.length) * canvasWidth;
33
+ const sln = sources.length;
34
+ for (let j = 0; j < sln; j++) {
35
+ const y = (j / sln) * canvasHeight;
36
+ const { name, HP } = sources[j];
37
+ const s = samp[name];
38
+ if (s) {
39
+ const genotype = (_a = s.GT) === null || _a === void 0 ? void 0 : _a[0];
40
+ if (genotype) {
41
+ arr2.push(genotype);
42
+ const isPhased = genotype.includes('|');
43
+ if (renderingMode === 'phased') {
44
+ if (isPhased) {
45
+ const PS = (_b = s.PS) === null || _b === void 0 ? void 0 : _b[0];
46
+ const alleles = genotype.split('|');
47
+ drawPhased(alleles, ctx, x, y, w, h, HP, PS);
48
+ }
49
+ else {
50
+ ctx.fillStyle = 'black';
51
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
52
+ }
53
+ }
54
+ else {
55
+ const alleles = genotype.split(/[/|]/);
56
+ drawColorAlleleCount(alleles, ctx, x, y, w, h);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ else {
63
+ const samp = f.get('genotypes');
64
+ const x = (i / mafs.length) * canvasWidth;
65
+ const sln = sources.length;
66
+ const arr2 = [];
67
+ for (let j = 0; j < sln; j++) {
68
+ const y = (j / sln) * canvasHeight;
69
+ const { name, HP } = sources[j];
70
+ const genotype = samp[name];
71
+ if (genotype) {
72
+ arr2.push(genotype);
73
+ const isPhased = genotype.includes('|');
74
+ if (renderingMode === 'phased') {
75
+ if (isPhased) {
76
+ const alleles = genotype.split('|');
77
+ drawPhased(alleles, ctx, x, y, w, h, HP);
78
+ }
79
+ else {
80
+ ctx.fillStyle = 'black';
81
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
82
+ }
83
+ }
84
+ else {
85
+ const alleles = genotype.split(/[/|]/);
86
+ drawColorAlleleCount(alleles, ctx, x, y, w, h);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ arr.push(arr2);
92
+ }
93
+ return {
94
+ mafs,
95
+ arr,
96
+ };
97
+ }
@@ -0,0 +1,15 @@
1
+ import type { Source } from '../types';
2
+ import type { RenderArgsDeserialized as BoxRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
5
+ sources: Source[];
6
+ minorAlleleFrequencyFilter: number;
7
+ highResolutionScaling: number;
8
+ height: number;
9
+ renderingMode: string;
10
+ }
11
+ export interface RenderArgsDeserializedWithFeaturesAndLayout extends RenderArgsDeserialized {
12
+ sources: Source[];
13
+ features: Map<string, Feature>;
14
+ renderingMode: string;
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { MultiRenderArgsDeserialized } from './types';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ export default class MultiVariantBaseRenderer extends FeatureRendererType {
5
+ supportsSVG: boolean;
6
+ render(renderProps: MultiRenderArgsDeserialized): Promise<{
7
+ features: Map<string, Feature>;
8
+ height: number;
9
+ width: number;
10
+ containsNoTransferables: boolean;
11
+ canvasRecordedData: any;
12
+ reactElement?: React.ReactElement;
13
+ html?: string;
14
+ } | {
15
+ features: Map<string, Feature>;
16
+ height: number;
17
+ width: number;
18
+ containsNoTransferables: boolean;
19
+ reactElement: import("react/jsx-runtime").JSX.Element;
20
+ html?: string;
21
+ } | {
22
+ features: Map<string, Feature>;
23
+ height: number;
24
+ width: number;
25
+ containsNoTransferables: boolean;
26
+ imageData: any;
27
+ reactElement?: React.ReactElement;
28
+ html?: string;
29
+ }>;
30
+ }
31
+ export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
@@ -0,0 +1,34 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import { renderToAbstractCanvas } from '@jbrowse/core/util';
3
+ export default class MultiVariantBaseRenderer extends FeatureRendererType {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.supportsSVG = true;
7
+ }
8
+ async render(renderProps) {
9
+ const features = await this.getFeatures(renderProps);
10
+ const { height, regions, bpPerPx } = renderProps;
11
+ const region = regions[0];
12
+ const width = (region.end - region.start) / bpPerPx;
13
+ const { makeImageData } = await import('./makeImageData');
14
+ const rest = await renderToAbstractCanvas(width, height, renderProps, ctx => makeImageData(ctx, {
15
+ ...renderProps,
16
+ features,
17
+ }));
18
+ const results = await super.render({
19
+ ...renderProps,
20
+ ...rest,
21
+ features,
22
+ height,
23
+ width,
24
+ });
25
+ return {
26
+ ...results,
27
+ ...rest,
28
+ features: new Map(),
29
+ height,
30
+ width,
31
+ containsNoTransferables: true,
32
+ };
33
+ }
34
+ }
@@ -0,0 +1,22 @@
1
+ import RBush from 'rbush';
2
+ import type { Source } from '../types';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ import type { Region } from '@jbrowse/core/util/types';
5
+ declare const MultiVariantRendering: (props: {
6
+ regions: Region[];
7
+ features: Map<string, Feature>;
8
+ bpPerPx: number;
9
+ width: number;
10
+ height: number;
11
+ sources: Source[];
12
+ scrollTop: number;
13
+ totalHeight: number;
14
+ rbush: RBush<{
15
+ genotype: string;
16
+ }>;
17
+ displayModel: any;
18
+ onMouseLeave?: (event: React.MouseEvent) => void;
19
+ onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
20
+ onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
21
+ }) => import("react/jsx-runtime").JSX.Element;
22
+ export default MultiVariantRendering;
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, useRef } from 'react';
3
+ import { PrerenderedCanvas } from '@jbrowse/core/ui';
4
+ import { observer } from 'mobx-react';
5
+ import RBush from 'rbush';
6
+ const MultiVariantRendering = observer(function (props) {
7
+ const { totalHeight, scrollTop } = props;
8
+ const { rbush, displayModel } = props;
9
+ const ref = useRef(null);
10
+ const rbush2 = useMemo(() => new RBush().fromJSON(rbush), [rbush]);
11
+ function getFeatureUnderMouse(eventClientX, eventClientY) {
12
+ var _a;
13
+ let offsetX = 0;
14
+ let offsetY = 0;
15
+ if (ref.current) {
16
+ const r = ref.current.getBoundingClientRect();
17
+ offsetX = eventClientX - r.left;
18
+ offsetY = eventClientY - r.top;
19
+ }
20
+ const ret = rbush2.search({
21
+ minX: offsetX,
22
+ maxX: offsetX + 3,
23
+ minY: offsetY,
24
+ maxY: offsetY + 3,
25
+ });
26
+ return (_a = ret[0]) === null || _a === void 0 ? void 0 : _a.genotype;
27
+ }
28
+ return (_jsx("div", { ref: ref, onMouseMove: e => {
29
+ var _a;
30
+ return (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, getFeatureUnderMouse(e.clientX, e.clientY));
31
+ }, onMouseLeave: () => {
32
+ var _a;
33
+ (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, undefined);
34
+ }, onMouseOut: () => {
35
+ var _a;
36
+ (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, undefined);
37
+ }, style: {
38
+ overflow: 'visible',
39
+ position: 'relative',
40
+ height: totalHeight,
41
+ }, children: _jsx(PrerenderedCanvas, { ...props, style: {
42
+ position: 'absolute',
43
+ left: 0,
44
+ top: scrollTop,
45
+ } }) }));
46
+ });
47
+ export default MultiVariantRendering;
@@ -0,0 +1,2 @@
1
+ declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
2
+ export default configSchema;
@@ -0,0 +1,6 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ function x() { }
3
+ const configSchema = ConfigurationSchema('MultiVariantRenderer', {}, {
4
+ explicitlyTyped: true,
5
+ });
6
+ export default configSchema;
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function MultiVariantRendererF(pluginManager: PluginManager): void;
@@ -0,0 +1,13 @@
1
+ import MultiVariantRenderer from './MultiVariantRenderer';
2
+ import ReactComponent from './MultiVariantRendering';
3
+ import configSchema from './configSchema';
4
+ export default function MultiVariantRendererF(pluginManager) {
5
+ pluginManager.addRendererType(() => {
6
+ return new MultiVariantRenderer({
7
+ name: 'MultiVariantRenderer',
8
+ ReactComponent,
9
+ configSchema,
10
+ pluginManager,
11
+ });
12
+ });
13
+ }
@@ -0,0 +1,4 @@
1
+ import type { MultiRenderArgsDeserialized } from './types';
2
+ export declare function makeImageData(ctx: CanvasRenderingContext2D, props: MultiRenderArgsDeserialized): Promise<{
3
+ rbush: any;
4
+ }>;
@@ -0,0 +1,61 @@
1
+ import { featureSpanPx } from '@jbrowse/core/util';
2
+ import RBush from 'rbush';
3
+ import { getColorAlleleCount, getColorPhased, } from '../shared/multiVariantColor';
4
+ import { getFeaturesThatPassMinorAlleleFrequencyFilter } from '../util';
5
+ const fudgeFactor = 0.6;
6
+ const f2 = fudgeFactor / 2;
7
+ function drawColorAlleleCount(alleles, ctx, x, y, w, h) {
8
+ ctx.fillStyle = getColorAlleleCount(alleles);
9
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
10
+ }
11
+ function drawPhased(alleles, ctx, x, y, w, h, HP) {
12
+ ctx.fillStyle = getColorPhased(alleles, HP);
13
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
14
+ }
15
+ export async function makeImageData(ctx, props) {
16
+ const { scrollTop, minorAlleleFrequencyFilter, sources, rowHeight, features, regions, bpPerPx, renderingMode, } = props;
17
+ const region = regions[0];
18
+ const mafs = getFeaturesThatPassMinorAlleleFrequencyFilter(features.values(), minorAlleleFrequencyFilter);
19
+ const rbush = new RBush();
20
+ for (const feature of mafs) {
21
+ const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx);
22
+ const w = Math.max(Math.round(rightPx - leftPx), 2);
23
+ const samp = feature.get('genotypes');
24
+ let y = -scrollTop;
25
+ const s = sources.length;
26
+ for (let j = 0; j < s; j++) {
27
+ const { name, HP } = sources[j];
28
+ const genotype = samp[name];
29
+ const x = Math.floor(leftPx);
30
+ const h = Math.max(rowHeight, 1);
31
+ if (genotype) {
32
+ rbush.insert({
33
+ minX: x - f2,
34
+ maxX: x + w + f2,
35
+ minY: y - f2,
36
+ maxY: y + h + f2,
37
+ genotype,
38
+ });
39
+ const isPhased = genotype.includes('|');
40
+ if (renderingMode === 'phased') {
41
+ if (isPhased) {
42
+ const alleles = genotype.split('|');
43
+ drawPhased(alleles, ctx, x, y, w, h, HP);
44
+ }
45
+ else {
46
+ ctx.fillStyle = 'black';
47
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
48
+ }
49
+ }
50
+ else {
51
+ const alleles = genotype.split(/[/|]/);
52
+ drawColorAlleleCount(alleles, ctx, x, y, w, h);
53
+ }
54
+ }
55
+ y += rowHeight;
56
+ }
57
+ }
58
+ return {
59
+ rbush: rbush.toJSON(),
60
+ };
61
+ }
@@ -0,0 +1,19 @@
1
+ import type { Source } from '../types';
2
+ import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ import type { ThemeOptions } from '@mui/material';
5
+ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
6
+ bpPerPx: number;
7
+ height: number;
8
+ highResolutionScaling: number;
9
+ themeOptions: ThemeOptions;
10
+ }
11
+ export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
12
+ features: Map<string, Feature>;
13
+ }
14
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
15
+ sources: Source[];
16
+ rowHeight: number;
17
+ scrollTop: number;
18
+ minorAlleleFrequencyFilter: number;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { Source } from './types';
3
+ import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
4
+ import type { Feature } from '@jbrowse/core/util';
5
+ import type { ThemeOptions } from '@mui/material';
6
+ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
7
+ bpPerPx: number;
8
+ height: number;
9
+ highResolutionScaling: number;
10
+ themeOptions: ThemeOptions;
11
+ }
12
+ export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
13
+ features: Map<string, Feature>;
14
+ }
15
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
16
+ sources: Source[];
17
+ }
18
+ export default abstract class MultiVariantBaseRenderer extends FeatureRendererType {
19
+ supportsSVG: boolean;
20
+ render(renderProps: RenderArgsDeserialized): Promise<{
21
+ features: Map<string, Feature>;
22
+ height: number;
23
+ width: number;
24
+ containsNoTransferables: boolean;
25
+ canvasRecordedData: any;
26
+ reactElement?: React.ReactElement;
27
+ html?: string;
28
+ } | {
29
+ features: Map<string, Feature>;
30
+ height: number;
31
+ width: number;
32
+ containsNoTransferables: boolean;
33
+ reactElement: import("react/jsx-runtime").JSX.Element;
34
+ html?: string;
35
+ } | {
36
+ features: Map<string, Feature>;
37
+ height: number;
38
+ width: number;
39
+ containsNoTransferables: boolean;
40
+ imageData: any;
41
+ reactElement?: React.ReactElement;
42
+ html?: string;
43
+ }>;
44
+ abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<Record<string, unknown> | undefined>;
45
+ }
46
+ export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
@@ -0,0 +1,33 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import { renderToAbstractCanvas } from '@jbrowse/core/util';
3
+ export default class MultiVariantBaseRenderer extends FeatureRendererType {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.supportsSVG = true;
7
+ }
8
+ async render(renderProps) {
9
+ const features = await this.getFeatures(renderProps);
10
+ const { height, regions, bpPerPx } = renderProps;
11
+ const region = regions[0];
12
+ const width = (region.end - region.start) / bpPerPx;
13
+ const rest = await renderToAbstractCanvas(width, height, renderProps, ctx => this.draw(ctx, {
14
+ ...renderProps,
15
+ features,
16
+ }));
17
+ const results = await super.render({
18
+ ...renderProps,
19
+ ...rest,
20
+ features,
21
+ height,
22
+ width,
23
+ });
24
+ return {
25
+ ...results,
26
+ ...rest,
27
+ features: new Map(),
28
+ height,
29
+ width,
30
+ containsNoTransferables: true,
31
+ };
32
+ }
33
+ }
@@ -1,23 +1,6 @@
1
- import React from 'react';
2
- import { Feature } from '@jbrowse/core/util';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- export interface Region {
5
- end: number;
6
- start: number;
7
- refName: string;
8
- elided?: false;
9
- }
10
- export interface ElidedRegion {
11
- elided: true;
12
- regions: Region[];
13
- }
14
- export type AnyRegion = Region | ElidedRegion;
15
- export interface Block {
16
- flipped: boolean;
17
- bpPerRadian: number;
18
- startRadians: number;
19
- region: AnyRegion;
20
- }
1
+ import type { AnyRegion, Block } from './types';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Feature } from '@jbrowse/core/util';
21
4
  declare const Chord: ({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }: {
22
5
  feature: Feature;
23
6
  blocksForRefs: Record<string, Block>;
@@ -26,5 +9,5 @@ declare const Chord: ({ feature, blocksForRefs, radius, config, bezierRadius, se
26
9
  bezierRadius: number;
27
10
  selected: boolean;
28
11
  onClick: (feat: Feature, reg: AnyRegion, end: AnyRegion, evt: unknown) => void;
29
- }) => React.JSX.Element | null;
12
+ }) => import("react/jsx-runtime").JSX.Element | null;
30
13
  export default Chord;
@@ -1,8 +1,9 @@
1
- import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { polarToCartesian, getStrokeProps } from '@jbrowse/core/util';
4
- import { readConfObject, } from '@jbrowse/core/configuration';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
5
3
  import { parseBreakend } from '@gmod/vcf';
4
+ import { readConfObject } from '@jbrowse/core/configuration';
5
+ import { getStrokeProps, polarToCartesian } from '@jbrowse/core/util';
6
+ import { observer } from 'mobx-react';
6
7
  function bpToRadians(block, pos) {
7
8
  const blockStart = block.region.elided ? 0 : block.region.start;
8
9
  const blockEnd = block.region.elided ? 0 : block.region.end;
@@ -12,7 +13,6 @@ function bpToRadians(block, pos) {
12
13
  const Chord = observer(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
13
14
  var _a, _b, _c, _d, _e;
14
15
  const [hovered, setHovered] = useState(false);
15
- // find the blocks that our start and end points belong to
16
16
  const startBlock = blocksForRefs[feature.get('refName')];
17
17
  if (!startBlock) {
18
18
  return null;
@@ -31,28 +31,25 @@ const Chord = observer(function Chord({ feature, blocksForRefs, radius, config,
31
31
  const bnd = alt && parseBreakend(alt);
32
32
  const startPos = feature.get('start');
33
33
  if (bnd) {
34
- // VCF BND
35
34
  const matePosition = bnd.MatePosition.split(':');
36
35
  endPosition = +matePosition[1];
37
36
  endBlock = blocksForRefs[matePosition[0]];
38
37
  }
39
38
  else if (alt === '<TRA>') {
40
- // VCF TRA
41
39
  const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
42
40
  const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
43
41
  endPosition = Number.parseInt(end, 10);
44
42
  endBlock = blocksForRefs[chr2];
45
43
  }
46
44
  else if (svType === 'mate') {
47
- // generic simplefeatures arcs
48
45
  const mate = feature.get('mate');
49
46
  const chr2 = mate.refName;
50
47
  endPosition = mate.start;
51
48
  endBlock = blocksForRefs[chr2];
52
49
  }
53
50
  else {
54
- console.warn('unknown sv type', svType);
55
- endPosition = startPos + 1;
51
+ endBlock = startBlock;
52
+ endPosition = feature.get('end');
56
53
  }
57
54
  if (endBlock) {
58
55
  const startRadians = bpToRadians(startBlock, startPos);
@@ -66,7 +63,7 @@ const Chord = observer(function Chord({ feature, blocksForRefs, radius, config,
66
63
  const hoverStrokeColor = readConfObject(config, 'strokeColorHover', {
67
64
  feature,
68
65
  });
69
- return (React.createElement("path", { "data-testid": `chord-${feature.id()}`, cursor: "crosshair", fill: "none", d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), ...getStrokeProps(hovered ? hoverStrokeColor : strokeColor), strokeWidth: hovered ? 3 : 1, onClick: evt => {
66
+ return (_jsx("path", { "data-testid": `chord-${feature.id()}`, cursor: "crosshair", fill: "none", d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), ...getStrokeProps(hovered ? hoverStrokeColor : strokeColor), strokeWidth: hovered ? 3 : 1, onClick: evt => {
70
67
  onClick(feature, startBlock.region, endBlock.region, evt);
71
68
  }, onMouseOver: () => {
72
69
  if (!selected) {
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
- import { Feature } from '@jbrowse/core/util';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- import { Block, AnyRegion } from './Chord';
1
+ import type { AnyRegion, Block } from './types';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Feature } from '@jbrowse/core/util';
5
4
  declare const StructuralVariantChordsReactComponent: ({ features, config, blockDefinitions, radius, bezierRadius, displayModel, onChordClick, }: {
6
5
  features: Map<string, Feature>;
7
6
  radius: number;
@@ -13,5 +12,5 @@ declare const StructuralVariantChordsReactComponent: ({ features, config, blockD
13
12
  blockDefinitions: Block[];
14
13
  bezierRadius: number;
15
14
  onChordClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
16
- }) => React.JSX.Element;
15
+ }) => import("react/jsx-runtime").JSX.Element;
17
16
  export default StructuralVariantChordsReactComponent;
@@ -1,6 +1,6 @@
1
- import React, { useMemo } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
2
3
  import { observer } from 'mobx-react';
3
- // locals
4
4
  import Chord from './Chord';
5
5
  const StructuralVariantChordsReactComponent = observer(function ({ features, config, blockDefinitions, radius, bezierRadius, displayModel, onChordClick, }) {
6
6
  const { selectedFeatureId } = displayModel || {};
@@ -16,10 +16,10 @@ const StructuralVariantChordsReactComponent = observer(function ({ features, con
16
16
  }
17
17
  return blocksForRefs;
18
18
  }, [blockDefinitions]);
19
- return (React.createElement("g", { "data-testid": "structuralVariantChordRenderer" }, [...features.values()].map(feature => {
20
- const id = feature.id();
21
- const selected = String(selectedFeatureId) === String(id);
22
- return (React.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
23
- })));
19
+ return (_jsx("g", { "data-testid": "structuralVariantChordRenderer", children: [...features.values()].map(feature => {
20
+ const id = feature.id();
21
+ const selected = String(selectedFeatureId) === String(id);
22
+ return (_jsx(Chord, { feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }, id));
23
+ }) }));
24
24
  });
25
25
  export default StructuralVariantChordsReactComponent;
@@ -1,25 +1,16 @@
1
1
  declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  strokeColor: {
6
3
  type: string;
7
4
  description: string;
8
5
  defaultValue: string;
9
6
  contextVariable: string[];
10
7
  };
11
- /**
12
- * #slot
13
- */
14
8
  strokeColorSelected: {
15
9
  type: string;
16
10
  description: string;
17
11
  defaultValue: string;
18
12
  contextVariable: string[];
19
13
  };
20
- /**
21
- * #slot
22
- */
23
14
  strokeColorHover: {
24
15
  type: string;
25
16
  description: string;
@@ -1,30 +1,18 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- /**
3
- * #config StructuralVariantChordRenderer
4
- */
5
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ function x() { }
6
3
  const configSchema = ConfigurationSchema('StructuralVariantChordRenderer', {
7
- /**
8
- * #slot
9
- */
10
4
  strokeColor: {
11
5
  type: 'color',
12
6
  description: 'the line color of each arc',
13
7
  defaultValue: 'rgba(255,133,0,0.32)',
14
8
  contextVariable: ['feature'],
15
9
  },
16
- /**
17
- * #slot
18
- */
19
10
  strokeColorSelected: {
20
11
  type: 'color',
21
12
  description: 'the line color of an arc that has been selected',
22
13
  defaultValue: 'black',
23
14
  contextVariable: ['feature'],
24
15
  },
25
- /**
26
- * #slot
27
- */
28
16
  strokeColorHover: {
29
17
  type: 'color',
30
18
  description: 'the line color of an arc that is being hovered over with the mouse',