@jbrowse/plugin-variants 2.18.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +1 -1
  2. package/dist/LinearVariantDisplay/model.d.ts +5 -5
  3. package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  4. package/dist/MultiLinearVariantDisplay/components/Crosshair.js +35 -0
  5. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +1 -2
  6. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +5 -49
  7. package/dist/MultiLinearVariantDisplay/index.js +18 -8
  8. package/dist/MultiLinearVariantDisplay/model.d.ts +113 -40
  9. package/dist/MultiLinearVariantDisplay/model.js +24 -176
  10. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +1 -2
  11. package/dist/MultiLinearVariantDisplay/renderSvg.js +2 -5
  12. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  13. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +28 -0
  14. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +1 -2
  15. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +13 -16
  16. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +1 -2
  17. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +6 -56
  18. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +109 -27
  19. package/dist/MultiLinearVariantMatrixDisplay/model.js +31 -136
  20. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +1 -2
  21. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +3 -7
  22. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +4 -32
  23. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +44 -63
  24. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +3 -2
  25. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +31 -5
  26. package/dist/MultiLinearVariantMatrixRenderer/index.js +2 -2
  27. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  28. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +99 -0
  29. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  30. package/dist/MultiLinearVariantMatrixRenderer/types.js +2 -0
  31. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +4 -21
  32. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +38 -25
  33. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +7 -3
  34. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +36 -27
  35. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +1 -33
  36. package/dist/MultiLinearVariantRenderer/configSchema.js +0 -5
  37. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  38. package/dist/MultiLinearVariantRenderer/makeImageData.js +67 -0
  39. package/dist/MultiLinearVariantRenderer/types.d.ts +19 -0
  40. package/dist/MultiLinearVariantRenderer/types.js +2 -0
  41. package/dist/MultiVariantBaseRenderer.d.ts +4 -4
  42. package/dist/StructuralVariantChordRenderer/Chord.d.ts +2 -19
  43. package/dist/StructuralVariantChordRenderer/Chord.js +3 -25
  44. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
  45. package/dist/StructuralVariantChordRenderer/ReactComponent.js +7 -29
  46. package/dist/StructuralVariantChordRenderer/types.d.ts +17 -0
  47. package/dist/StructuralVariantChordRenderer/types.js +2 -0
  48. package/dist/Tooltip.d.ts +2 -2
  49. package/dist/Tooltip.js +6 -32
  50. package/dist/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  51. package/dist/VariantFeatureWidget/Checkbox2.js +2 -5
  52. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -3
  53. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +66 -69
  54. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  55. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.js +60 -0
  56. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  57. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.js +15 -0
  58. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  59. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +20 -0
  60. package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  61. package/dist/VariantFeatureWidget/VariantConsequencePanel.js +15 -0
  62. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -2
  63. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +47 -36
  64. package/dist/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  65. package/dist/VariantFeatureWidget/VariantSampleFilters.js +10 -0
  66. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +9 -7
  67. package/dist/VariantFeatureWidget/VariantSampleGrid.js +14 -44
  68. package/dist/VariantFeatureWidget/index.js +17 -7
  69. package/dist/VariantFeatureWidget/types.d.ts +16 -0
  70. package/dist/VariantFeatureWidget/types.js +2 -0
  71. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +10 -27
  72. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +12 -7
  73. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +27 -37
  74. package/dist/VcfAdapter/VcfAdapter.d.ts +7 -0
  75. package/dist/VcfAdapter/VcfAdapter.js +29 -3
  76. package/dist/VcfAdapter/configSchema.d.ts +8 -0
  77. package/dist/VcfAdapter/configSchema.js +12 -1
  78. package/dist/VcfAdapter/index.js +17 -7
  79. package/dist/VcfFeature/index.js +2 -1
  80. package/dist/VcfFeature/util.js +3 -4
  81. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +38 -12
  82. package/dist/VcfTabixAdapter/configSchema.d.ts +8 -0
  83. package/dist/VcfTabixAdapter/configSchema.js +8 -0
  84. package/dist/VcfTabixAdapter/index.js +17 -7
  85. package/dist/extensionPoints.js +21 -33
  86. package/dist/getMultiVariantFeaturesAutorun.d.ts +4 -7
  87. package/dist/getMultiVariantFeaturesAutorun.js +16 -15
  88. package/dist/getMultiVariantSourcesAutorun.d.ts +1 -6
  89. package/dist/shared/BulkEditPanel.d.ts +4 -5
  90. package/dist/shared/BulkEditPanel.js +69 -88
  91. package/dist/shared/ClusterDialog.d.ts +4 -5
  92. package/dist/shared/ClusterDialog.js +45 -86
  93. package/dist/shared/ColorLegend.d.ts +2 -3
  94. package/dist/shared/ColorLegend.js +8 -10
  95. package/dist/shared/HelpfulTips.d.ts +1 -0
  96. package/dist/shared/HelpfulTips.js +7 -0
  97. package/dist/shared/LegendBar.d.ts +3 -3
  98. package/dist/shared/LegendBar.js +6 -12
  99. package/dist/shared/MAFFilterDialog.d.ts +2 -3
  100. package/dist/shared/MAFFilterDialog.js +14 -42
  101. package/dist/shared/MultiVariantBaseModel.d.ts +341 -0
  102. package/dist/shared/MultiVariantBaseModel.js +316 -0
  103. package/dist/shared/MultiVariantTooltip.d.ts +6 -0
  104. package/dist/shared/MultiVariantTooltip.js +23 -0
  105. package/dist/shared/RectBg.d.ts +2 -3
  106. package/dist/shared/RectBg.js +3 -7
  107. package/dist/shared/RowPalettizer.d.ts +2 -3
  108. package/dist/shared/RowPalettizer.js +30 -28
  109. package/dist/shared/SetColorDialog.d.ts +2 -3
  110. package/dist/shared/SetColorDialog.js +26 -65
  111. package/dist/shared/SetMinMaxDialog.d.ts +1 -2
  112. package/dist/shared/SetMinMaxDialog.js +11 -41
  113. package/dist/shared/SetRowHeightDialog.d.ts +8 -0
  114. package/dist/shared/SetRowHeightDialog.js +18 -0
  115. package/dist/shared/SharedVariantMixin.d.ts +7 -7
  116. package/dist/shared/SourcesDataGrid.d.ts +6 -0
  117. package/dist/shared/SourcesDataGrid.js +68 -0
  118. package/dist/shared/SourcesGrid.d.ts +2 -3
  119. package/dist/shared/SourcesGrid.js +5 -134
  120. package/dist/shared/SourcesGridHeader.d.ts +7 -0
  121. package/dist/shared/SourcesGridHeader.js +41 -0
  122. package/dist/shared/multiVariantColor.d.ts +3 -0
  123. package/dist/shared/multiVariantColor.js +50 -0
  124. package/dist/types.d.ts +14 -0
  125. package/dist/types.js +2 -0
  126. package/dist/util.d.ts +6 -9
  127. package/dist/util.js +47 -14
  128. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +1 -1
  129. package/esm/LinearVariantDisplay/model.d.ts +5 -5
  130. package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  131. package/esm/MultiLinearVariantDisplay/components/Crosshair.js +30 -0
  132. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +1 -2
  133. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +5 -26
  134. package/esm/MultiLinearVariantDisplay/index.js +1 -1
  135. package/esm/MultiLinearVariantDisplay/model.d.ts +113 -40
  136. package/esm/MultiLinearVariantDisplay/model.js +7 -169
  137. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +1 -2
  138. package/esm/MultiLinearVariantDisplay/renderSvg.js +2 -5
  139. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  140. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +23 -0
  141. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +1 -2
  142. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +13 -13
  143. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +1 -2
  144. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +6 -33
  145. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +109 -27
  146. package/esm/MultiLinearVariantMatrixDisplay/model.js +14 -129
  147. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +1 -2
  148. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +3 -7
  149. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +4 -32
  150. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +11 -63
  151. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +3 -2
  152. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +31 -2
  153. package/esm/MultiLinearVariantMatrixRenderer/index.js +1 -1
  154. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  155. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +96 -0
  156. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  157. package/esm/MultiLinearVariantMatrixRenderer/types.js +1 -0
  158. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +4 -21
  159. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +6 -26
  160. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +7 -3
  161. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +34 -5
  162. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +1 -33
  163. package/esm/MultiLinearVariantRenderer/configSchema.js +0 -2
  164. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  165. package/esm/MultiLinearVariantRenderer/makeImageData.js +61 -0
  166. package/esm/MultiLinearVariantRenderer/types.d.ts +19 -0
  167. package/esm/MultiLinearVariantRenderer/types.js +1 -0
  168. package/esm/MultiVariantBaseRenderer.d.ts +4 -4
  169. package/esm/StructuralVariantChordRenderer/Chord.d.ts +2 -19
  170. package/esm/StructuralVariantChordRenderer/Chord.js +3 -2
  171. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
  172. package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -6
  173. package/esm/StructuralVariantChordRenderer/types.d.ts +17 -0
  174. package/esm/StructuralVariantChordRenderer/types.js +1 -0
  175. package/esm/Tooltip.d.ts +2 -2
  176. package/esm/Tooltip.js +6 -9
  177. package/esm/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  178. package/esm/VariantFeatureWidget/Checkbox2.js +2 -2
  179. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -3
  180. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +48 -61
  181. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  182. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.js +24 -0
  183. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  184. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.js +9 -0
  185. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  186. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +17 -0
  187. package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  188. package/esm/VariantFeatureWidget/VariantConsequencePanel.js +9 -0
  189. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -2
  190. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +30 -29
  191. package/esm/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  192. package/esm/VariantFeatureWidget/VariantSampleFilters.js +7 -0
  193. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +9 -7
  194. package/esm/VariantFeatureWidget/VariantSampleGrid.js +15 -22
  195. package/esm/VariantFeatureWidget/types.d.ts +16 -0
  196. package/esm/VariantFeatureWidget/types.js +1 -0
  197. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +10 -27
  198. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +12 -7
  199. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +27 -37
  200. package/esm/VcfAdapter/VcfAdapter.d.ts +7 -0
  201. package/esm/VcfAdapter/VcfAdapter.js +31 -5
  202. package/esm/VcfAdapter/configSchema.d.ts +8 -0
  203. package/esm/VcfAdapter/configSchema.js +12 -1
  204. package/esm/VcfFeature/index.js +2 -1
  205. package/esm/VcfFeature/util.js +3 -4
  206. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +38 -12
  207. package/esm/VcfTabixAdapter/configSchema.d.ts +8 -0
  208. package/esm/VcfTabixAdapter/configSchema.js +8 -0
  209. package/esm/extensionPoints.js +21 -33
  210. package/esm/getMultiVariantFeaturesAutorun.d.ts +4 -7
  211. package/esm/getMultiVariantFeaturesAutorun.js +16 -15
  212. package/esm/getMultiVariantSourcesAutorun.d.ts +1 -6
  213. package/esm/shared/BulkEditPanel.d.ts +4 -5
  214. package/esm/shared/BulkEditPanel.js +70 -66
  215. package/esm/shared/ClusterDialog.d.ts +4 -5
  216. package/esm/shared/ClusterDialog.js +44 -62
  217. package/esm/shared/ColorLegend.d.ts +2 -3
  218. package/esm/shared/ColorLegend.js +8 -10
  219. package/esm/shared/HelpfulTips.d.ts +1 -0
  220. package/esm/shared/HelpfulTips.js +4 -0
  221. package/esm/shared/LegendBar.d.ts +3 -3
  222. package/esm/shared/LegendBar.js +7 -13
  223. package/esm/shared/MAFFilterDialog.d.ts +2 -3
  224. package/esm/shared/MAFFilterDialog.js +14 -19
  225. package/esm/shared/MultiVariantBaseModel.d.ts +341 -0
  226. package/esm/shared/MultiVariantBaseModel.js +277 -0
  227. package/esm/shared/MultiVariantTooltip.d.ts +6 -0
  228. package/esm/shared/MultiVariantTooltip.js +17 -0
  229. package/esm/shared/RectBg.d.ts +2 -3
  230. package/esm/shared/RectBg.js +3 -4
  231. package/esm/shared/RowPalettizer.d.ts +2 -3
  232. package/esm/shared/RowPalettizer.js +30 -25
  233. package/esm/shared/SetColorDialog.d.ts +2 -3
  234. package/esm/shared/SetColorDialog.js +26 -42
  235. package/esm/shared/SetMinMaxDialog.d.ts +1 -2
  236. package/esm/shared/SetMinMaxDialog.js +11 -18
  237. package/esm/shared/SetRowHeightDialog.d.ts +8 -0
  238. package/esm/shared/SetRowHeightDialog.js +15 -0
  239. package/esm/shared/SharedVariantMixin.d.ts +7 -7
  240. package/esm/shared/SourcesDataGrid.d.ts +6 -0
  241. package/esm/shared/SourcesDataGrid.js +62 -0
  242. package/esm/shared/SourcesGrid.d.ts +2 -3
  243. package/esm/shared/SourcesGrid.js +5 -111
  244. package/esm/shared/SourcesGridHeader.d.ts +7 -0
  245. package/esm/shared/SourcesGridHeader.js +35 -0
  246. package/esm/shared/multiVariantColor.d.ts +3 -0
  247. package/esm/shared/multiVariantColor.js +45 -0
  248. package/esm/types.d.ts +14 -0
  249. package/esm/types.js +1 -0
  250. package/esm/util.d.ts +6 -9
  251. package/esm/util.js +43 -13
  252. package/package.json +12 -13
  253. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  254. package/dist/VariantFeatureWidget/AnnotGrid.js +0 -39
  255. package/dist/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  256. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +0 -16
  257. package/dist/configSchema.d.ts +0 -34
  258. package/dist/configSchema.js +0 -44
  259. package/dist/shared/DraggableDialog.d.ts +0 -6
  260. package/dist/shared/DraggableDialog.js +0 -62
  261. package/dist/shared/Tooltip.d.ts +0 -18
  262. package/dist/shared/Tooltip.js +0 -38
  263. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  264. package/esm/VariantFeatureWidget/AnnotGrid.js +0 -13
  265. package/esm/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  266. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +0 -10
  267. package/esm/configSchema.d.ts +0 -34
  268. package/esm/configSchema.js +0 -42
  269. package/esm/shared/DraggableDialog.d.ts +0 -6
  270. package/esm/shared/DraggableDialog.js +0 -34
  271. package/esm/shared/Tooltip.d.ts +0 -18
  272. package/esm/shared/Tooltip.js +0 -33
@@ -0,0 +1,96 @@
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
+ for (let j = 0; j < sln; j++) {
67
+ const y = (j / sln) * canvasHeight;
68
+ const { name, HP } = sources[j];
69
+ const genotype = samp[name];
70
+ if (genotype) {
71
+ arr2.push(genotype);
72
+ const isPhased = genotype.includes('|');
73
+ if (renderingMode === 'phased') {
74
+ if (isPhased) {
75
+ const alleles = genotype.split('|');
76
+ drawPhased(alleles, ctx, x, y, w, h, HP);
77
+ }
78
+ else {
79
+ ctx.fillStyle = 'black';
80
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
81
+ }
82
+ }
83
+ else {
84
+ const alleles = genotype.split(/[/|]/);
85
+ drawColorAlleleCount(alleles, ctx, x, y, w, h);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ arr.push(arr2);
91
+ }
92
+ return {
93
+ mafs,
94
+ arr,
95
+ };
96
+ }
@@ -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 {};
@@ -1,22 +1,6 @@
1
1
  import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
- import type { Source } from '../util';
3
- import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { MultiRenderArgsDeserialized } from './types';
4
3
  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
- rowHeight: number;
18
- scrollTop: number;
19
- }
20
4
  export default class MultiVariantBaseRenderer extends FeatureRendererType {
21
5
  supportsSVG: boolean;
22
6
  render(renderProps: MultiRenderArgsDeserialized): Promise<{
@@ -25,14 +9,14 @@ export default class MultiVariantBaseRenderer extends FeatureRendererType {
25
9
  width: number;
26
10
  containsNoTransferables: boolean;
27
11
  canvasRecordedData: any;
28
- reactElement?: import("react").ReactElement;
12
+ reactElement?: React.ReactElement;
29
13
  html?: string;
30
14
  } | {
31
15
  features: Map<string, Feature>;
32
16
  height: number;
33
17
  width: number;
34
18
  containsNoTransferables: boolean;
35
- reactElement: React.JSX.Element;
19
+ reactElement: import("react/jsx-runtime").JSX.Element;
36
20
  html?: string;
37
21
  } | {
38
22
  features: Map<string, Feature>;
@@ -40,9 +24,8 @@ export default class MultiVariantBaseRenderer extends FeatureRendererType {
40
24
  width: number;
41
25
  containsNoTransferables: boolean;
42
26
  imageData: any;
43
- reactElement?: import("react").ReactElement;
27
+ reactElement?: React.ReactElement;
44
28
  html?: string;
45
29
  }>;
46
- draw(ctx: CanvasRenderingContext2D, props: MultiRenderArgsDeserialized): Promise<void>;
47
30
  }
48
31
  export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
@@ -1,6 +1,5 @@
1
1
  import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
- import { featureSpanPx, renderToAbstractCanvas } from '@jbrowse/core/util';
3
- import { getCol } from '../util';
2
+ import { renderToAbstractCanvas } from '@jbrowse/core/util';
4
3
  export default class MultiVariantBaseRenderer extends FeatureRendererType {
5
4
  constructor() {
6
5
  super(...arguments);
@@ -11,13 +10,11 @@ export default class MultiVariantBaseRenderer extends FeatureRendererType {
11
10
  const { height, regions, bpPerPx } = renderProps;
12
11
  const region = regions[0];
13
12
  const width = (region.end - region.start) / bpPerPx;
14
- const rest = await renderToAbstractCanvas(width, height, renderProps, async (ctx) => {
15
- await this.draw(ctx, {
16
- ...renderProps,
17
- features,
18
- });
19
- return undefined;
20
- });
13
+ const { makeImageData } = await import('./makeImageData');
14
+ const rest = await renderToAbstractCanvas(width, height, renderProps, ctx => makeImageData(ctx, {
15
+ ...renderProps,
16
+ features,
17
+ }));
21
18
  const results = await super.render({
22
19
  ...renderProps,
23
20
  ...rest,
@@ -34,21 +31,4 @@ export default class MultiVariantBaseRenderer extends FeatureRendererType {
34
31
  containsNoTransferables: true,
35
32
  };
36
33
  }
37
- async draw(ctx, props) {
38
- const { scrollTop, sources, rowHeight, features, regions, bpPerPx } = props;
39
- const region = regions[0];
40
- for (const feature of features.values()) {
41
- if (feature.get('end') - feature.get('start') <= 10) {
42
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx);
43
- const w = Math.max(Math.round(rightPx - leftPx), 2);
44
- const genotypes = feature.get('genotypes');
45
- let t = -scrollTop;
46
- for (const { name } of sources) {
47
- ctx.fillStyle = getCol(genotypes[name]);
48
- ctx.fillRect(Math.floor(leftPx), t, w, Math.max(t + rowHeight, 1));
49
- t += rowHeight;
50
- }
51
- }
52
- }
53
- }
54
34
  }
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import type { Source } from '../util';
1
+ import RBush from 'rbush';
2
+ import type { Source } from '../types';
3
3
  import type { Feature } from '@jbrowse/core/util';
4
4
  import type { Region } from '@jbrowse/core/util/types';
5
5
  declare const MultiVariantRendering: (props: {
@@ -11,8 +11,12 @@ declare const MultiVariantRendering: (props: {
11
11
  sources: Source[];
12
12
  scrollTop: number;
13
13
  totalHeight: number;
14
+ rbush: RBush<{
15
+ genotype: string;
16
+ }>;
17
+ displayModel: any;
14
18
  onMouseLeave?: (event: React.MouseEvent) => void;
15
19
  onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
16
20
  onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
17
- }) => React.JSX.Element;
21
+ }) => import("react/jsx-runtime").JSX.Element;
18
22
  export default MultiVariantRendering;
@@ -1,18 +1,47 @@
1
- import React, { useRef } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, useRef } from 'react';
2
3
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
3
4
  import { observer } from 'mobx-react';
5
+ import RBush from 'rbush';
4
6
  const MultiVariantRendering = observer(function (props) {
5
7
  const { totalHeight, scrollTop } = props;
8
+ const { rbush, displayModel } = props;
6
9
  const ref = useRef(null);
7
- return (React.createElement("div", { ref: ref, style: {
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: {
8
38
  overflow: 'visible',
9
39
  position: 'relative',
10
40
  height: totalHeight,
11
- } },
12
- React.createElement(PrerenderedCanvas, { ...props, style: {
41
+ }, children: _jsx(PrerenderedCanvas, { ...props, style: {
13
42
  position: 'absolute',
14
43
  left: 0,
15
44
  top: scrollTop,
16
- } })));
45
+ } }) }));
17
46
  });
18
47
  export default MultiVariantRendering;
@@ -1,34 +1,2 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- color: {
3
- type: string;
4
- description: string;
5
- defaultValue: string;
6
- };
7
- posColor: {
8
- type: string;
9
- description: string;
10
- defaultValue: string;
11
- };
12
- negColor: {
13
- type: string;
14
- description: string;
15
- defaultValue: string;
16
- };
17
- clipColor: {
18
- type: string;
19
- description: string;
20
- defaultValue: string;
21
- };
22
- bicolorPivot: {
23
- type: string;
24
- model: import("mobx-state-tree").ISimpleType<string>;
25
- description: string;
26
- defaultValue: string;
27
- };
28
- bicolorPivotValue: {
29
- type: string;
30
- defaultValue: number;
31
- description: string;
32
- };
33
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
1
+ declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
34
2
  export default configSchema;
@@ -1,8 +1,6 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import baseWiggleRendererConfigSchema from '../configSchema';
3
2
  function x() { }
4
3
  const configSchema = ConfigurationSchema('MultiVariantRenderer', {}, {
5
- baseConfiguration: baseWiggleRendererConfigSchema,
6
4
  explicitlyTyped: true,
7
5
  });
8
6
  export default configSchema;
@@ -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 {};
@@ -1,5 +1,5 @@
1
1
  import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
- import type { Source } from './util';
2
+ import type { Source } from './types';
3
3
  import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
4
4
  import type { Feature } from '@jbrowse/core/util';
5
5
  import type { ThemeOptions } from '@mui/material';
@@ -23,14 +23,14 @@ export default abstract class MultiVariantBaseRenderer extends FeatureRendererTy
23
23
  width: number;
24
24
  containsNoTransferables: boolean;
25
25
  canvasRecordedData: any;
26
- reactElement?: import("react").ReactElement;
26
+ reactElement?: React.ReactElement;
27
27
  html?: string;
28
28
  } | {
29
29
  features: Map<string, Feature>;
30
30
  height: number;
31
31
  width: number;
32
32
  containsNoTransferables: boolean;
33
- reactElement: React.JSX.Element;
33
+ reactElement: import("react/jsx-runtime").JSX.Element;
34
34
  html?: string;
35
35
  } | {
36
36
  features: Map<string, Feature>;
@@ -38,7 +38,7 @@ export default abstract class MultiVariantBaseRenderer extends FeatureRendererTy
38
38
  width: number;
39
39
  containsNoTransferables: boolean;
40
40
  imageData: any;
41
- reactElement?: import("react").ReactElement;
41
+ reactElement?: React.ReactElement;
42
42
  html?: string;
43
43
  }>;
44
44
  abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<Record<string, unknown> | undefined>;
@@ -1,23 +1,6 @@
1
- import React from 'react';
1
+ import type { AnyRegion, Block } from './types';
2
2
  import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
3
  import type { Feature } from '@jbrowse/core/util';
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
- }
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,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { parseBreakend } from '@gmod/vcf';
3
4
  import { readConfObject } from '@jbrowse/core/configuration';
4
5
  import { getStrokeProps, polarToCartesian } from '@jbrowse/core/util';
@@ -62,7 +63,7 @@ const Chord = observer(function Chord({ feature, blocksForRefs, radius, config,
62
63
  const hoverStrokeColor = readConfObject(config, 'strokeColorHover', {
63
64
  feature,
64
65
  });
65
- 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 => {
66
67
  onClick(feature, startBlock.region, endBlock.region, evt);
67
68
  }, onMouseOver: () => {
68
69
  if (!selected) {
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import type { AnyRegion, Block } from './Chord';
1
+ import type { AnyRegion, Block } from './types';
3
2
  import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
3
  import type { Feature } from '@jbrowse/core/util';
5
4
  declare const StructuralVariantChordsReactComponent: ({ features, config, blockDefinitions, radius, bezierRadius, displayModel, onChordClick, }: {
@@ -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,4 +1,5 @@
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
4
  import Chord from './Chord';
4
5
  const StructuralVariantChordsReactComponent = observer(function ({ features, config, blockDefinitions, radius, bezierRadius, displayModel, onChordClick, }) {
@@ -15,10 +16,10 @@ const StructuralVariantChordsReactComponent = observer(function ({ features, con
15
16
  }
16
17
  return blocksForRefs;
17
18
  }, [blockDefinitions]);
18
- return (React.createElement("g", { "data-testid": "structuralVariantChordRenderer" }, [...features.values()].map(feature => {
19
- const id = feature.id();
20
- const selected = String(selectedFeatureId) === String(id);
21
- return (React.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
22
- })));
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
+ }) }));
23
24
  });
24
25
  export default StructuralVariantChordsReactComponent;
@@ -0,0 +1,17 @@
1
+ export interface Region {
2
+ end: number;
3
+ start: number;
4
+ refName: string;
5
+ elided?: false;
6
+ }
7
+ export interface ElidedRegion {
8
+ elided: true;
9
+ regions: Region[];
10
+ }
11
+ export type AnyRegion = Region | ElidedRegion;
12
+ export interface Block {
13
+ flipped: boolean;
14
+ bpPerRadian: number;
15
+ startRadians: number;
16
+ region: AnyRegion;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
package/esm/Tooltip.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { Feature } from '@jbrowse/core/util';
3
3
  type Coord = [number, number];
4
4
  export type TooltipContentsComponent = React.ForwardRefExoticComponent<{
@@ -15,5 +15,5 @@ declare const Tooltip: ({ model, height, clientMouseCoord, offsetMouseCoord, cli
15
15
  offsetMouseCoord: Coord;
16
16
  clientRect?: DOMRect;
17
17
  TooltipContents: TooltipContentsComponent;
18
- }) => React.JSX.Element | null;
18
+ }) => import("react/jsx-runtime").JSX.Element | null;
19
19
  export default Tooltip;
package/esm/Tooltip.js CHANGED
@@ -1,4 +1,5 @@
1
- import React, { Suspense } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense } from 'react';
2
3
  import BaseTooltip from '@jbrowse/core/ui/BaseTooltip';
3
4
  import { observer } from 'mobx-react';
4
5
  import { makeStyles } from 'tss-react/mui';
@@ -18,13 +19,9 @@ const Tooltip = observer(function Tooltip({ model, height, clientMouseCoord, off
18
19
  const { classes } = useStyles();
19
20
  const x = clientMouseCoord[0] + 5;
20
21
  const y = useClientY ? clientMouseCoord[1] : (clientRect === null || clientRect === void 0 ? void 0 : clientRect.top) || 0;
21
- return featureUnderMouse ? (React.createElement(React.Fragment, null,
22
- React.createElement(Suspense, { fallback: null },
23
- React.createElement(BaseTooltip, { clientPoint: { x, y } },
24
- React.createElement(TooltipContents, { model: model, feature: featureUnderMouse }))),
25
- React.createElement("div", { className: classes.hoverVertical, style: {
26
- left: offsetMouseCoord[0],
27
- height: height,
28
- } }))) : null;
22
+ return featureUnderMouse ? (_jsxs(_Fragment, { children: [_jsx(Suspense, { fallback: null, children: _jsx(BaseTooltip, { clientPoint: { x, y }, children: _jsx(TooltipContents, { model: model, feature: featureUnderMouse }) }) }), _jsx("div", { className: classes.hoverVertical, style: {
23
+ left: offsetMouseCoord[0],
24
+ height: height,
25
+ } })] })) : null;
29
26
  });
30
27
  export default Tooltip;
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  export default function Checkbox2({ checked, disabled, label, onChange, }: {
3
2
  checked: boolean;
4
3
  disabled?: boolean;
5
4
  label: string;
6
5
  onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
7
- }): React.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Checkbox, FormControlLabel } from '@mui/material';
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
  const useStyles = makeStyles()({
@@ -8,5 +8,5 @@ const useStyles = makeStyles()({
8
8
  });
9
9
  export default function Checkbox2({ checked, disabled, label, onChange, }) {
10
10
  const { classes } = useStyles();
11
- return (React.createElement(FormControlLabel, { disabled: disabled, className: classes.block, control: React.createElement(Checkbox, { checked: checked, onChange: onChange }), label: label }));
11
+ return (_jsx(FormControlLabel, { disabled: disabled, className: classes.block, control: _jsx(Checkbox, { checked: checked, onChange: onChange }), label: label }));
12
12
  }
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { VariantFeatureWidgetModel } from './stateModelFactory';
3
2
  import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
- export default function BreakendPanel(props: {
3
+ export default function LaunchBreakendPanel(props: {
5
4
  locStrings: string[];
6
5
  model: VariantFeatureWidgetModel;
7
6
  feature: SimpleFeatureSerialized;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;