@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
@@ -1,143 +1,14 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const ui_1 = require("@jbrowse/core/ui");
31
- const ColorPicker_1 = __importStar(require("@jbrowse/core/ui/ColorPicker"));
32
- const util_1 = require("@jbrowse/core/util");
33
- const KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
34
- const KeyboardArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardArrowUp"));
35
- const KeyboardDoubleArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardDoubleArrowDown"));
36
- const KeyboardDoubleArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardDoubleArrowUp"));
37
- const material_1 = require("@mui/material");
38
- const x_data_grid_1 = require("@mui/x-data-grid");
39
- const mui_1 = require("tss-react/mui");
40
- const util_2 = require("./util");
41
- const useStyles = (0, mui_1.makeStyles)()({
42
- cell: {
43
- whiteSpace: 'nowrap',
44
- overflow: 'hidden',
45
- textOverflow: 'ellipsis',
46
- },
47
- });
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
8
+ const SourcesDataGrid_1 = __importDefault(require("./SourcesDataGrid"));
9
+ const SourcesGridHeader_1 = __importDefault(require("./SourcesGridHeader"));
48
10
  function SourcesGrid({ rows, onChange, showTips, }) {
49
- const { classes } = useStyles();
50
11
  const [selected, setSelected] = (0, react_1.useState)([]);
51
- const { name: _name, color: _color, baseUri: _baseUri, ...rest } = rows[0];
52
- const [currSort, setCurrSort] = (0, react_1.useState)({
53
- idx: 0,
54
- field: null,
55
- });
56
- return (react_1.default.createElement("div", null,
57
- react_1.default.createElement(GridHeader, { selected: selected, rows: rows, showTips: showTips, onChange: onChange }),
58
- react_1.default.createElement("div", { style: { height: 400, width: '100%' } },
59
- react_1.default.createElement(x_data_grid_1.DataGrid, { getRowId: row => row.name, checkboxSelection: true, disableRowSelectionOnClick: true, onRowSelectionModelChange: arg => {
60
- setSelected(arg);
61
- }, rows: rows, rowHeight: 25, columnHeaderHeight: 33, columns: [
62
- {
63
- field: 'color',
64
- headerName: 'Color',
65
- renderCell: params => {
66
- const { value, id } = params;
67
- return (react_1.default.createElement(ColorPicker_1.default, { color: value || 'blue', onChange: c => {
68
- const elt = rows.find(f => f.name === id);
69
- if (elt) {
70
- elt.color = c;
71
- }
72
- onChange([...rows]);
73
- } }));
74
- },
75
- },
76
- {
77
- field: 'name',
78
- headerName: 'Name',
79
- width: (0, util_1.measureGridWidth)(rows.map(r => r.name)),
80
- },
81
- ...Object.keys(rest).map(val => ({
82
- field: val,
83
- renderCell: ({ value }) => (react_1.default.createElement("div", { className: classes.cell },
84
- react_1.default.createElement(ui_1.SanitizedHTML, { html: (0, util_1.getStr)(value) }))),
85
- width: (0, util_1.measureGridWidth)(rows.map(r => `${r[val]}`)),
86
- })),
87
- ], sortModel: [], onSortModelChange: args => {
88
- const sort = args[0];
89
- const idx = (currSort.idx + 1) % 2;
90
- const field = sort.field || currSort.field;
91
- setCurrSort({ idx, field });
92
- onChange(field
93
- ? [...rows].sort((a, b) => {
94
- const aa = (0, util_1.getStr)(a[field]);
95
- const bb = (0, util_1.getStr)(b[field]);
96
- return idx === 1
97
- ? aa.localeCompare(bb)
98
- : bb.localeCompare(aa);
99
- })
100
- : rows);
101
- } }))));
102
- }
103
- function GridHeader({ selected, onChange, rows, showTips, }) {
104
- const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
105
- const [widgetColor, setWidgetColor] = (0, react_1.useState)('blue');
106
- return (react_1.default.createElement(react_1.default.Fragment, null,
107
- react_1.default.createElement(material_1.Button, { disabled: !selected.length, onClick: event => {
108
- setAnchorEl(event.currentTarget);
109
- } }, "Change color of selected items"),
110
- react_1.default.createElement(material_1.Button, { onClick: () => {
111
- onChange((0, util_2.moveUp)([...rows], selected));
112
- }, disabled: !selected.length },
113
- react_1.default.createElement(KeyboardArrowUp_1.default, null),
114
- showTips ? 'Move selected items up' : null),
115
- react_1.default.createElement(material_1.Button, { onClick: () => {
116
- onChange((0, util_2.moveDown)([...rows], selected));
117
- }, disabled: !selected.length },
118
- react_1.default.createElement(KeyboardArrowDown_1.default, null),
119
- showTips ? 'Move selected items down' : null),
120
- react_1.default.createElement(material_1.Button, { onClick: () => {
121
- onChange((0, util_2.moveUp)([...rows], selected, rows.length));
122
- }, disabled: !selected.length },
123
- react_1.default.createElement(KeyboardDoubleArrowUp_1.default, null),
124
- showTips ? 'Move selected items to top' : null),
125
- react_1.default.createElement(material_1.Button, { onClick: () => {
126
- onChange((0, util_2.moveDown)([...rows], selected, rows.length));
127
- }, disabled: !selected.length },
128
- react_1.default.createElement(KeyboardDoubleArrowDown_1.default, null),
129
- showTips ? 'Move selected items to bottom' : null),
130
- react_1.default.createElement(ColorPicker_1.ColorPopover, { anchorEl: anchorEl, color: widgetColor, onChange: c => {
131
- setWidgetColor(c);
132
- selected.forEach(id => {
133
- const elt = rows.find(f => f.name === id);
134
- if (elt) {
135
- elt.color = c;
136
- }
137
- });
138
- onChange([...rows]);
139
- }, onClose: () => {
140
- setAnchorEl(null);
141
- } })));
12
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(SourcesGridHeader_1.default, { selected: selected, rows: rows, showTips: showTips, onChange: onChange }), (0, jsx_runtime_1.jsx)(SourcesDataGrid_1.default, { rows: rows, onChange: onChange, setSelected: setSelected })] }));
142
13
  }
143
14
  exports.default = SourcesGrid;
@@ -0,0 +1,7 @@
1
+ import type { Source } from '../types';
2
+ export default function SourcesGridHeader({ selected, onChange, rows, showTips, }: {
3
+ onChange: (arg: Source[]) => void;
4
+ rows: Source[];
5
+ selected: string[];
6
+ showTips: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = SourcesGridHeader;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const ColorPicker_1 = require("@jbrowse/core/ui/ColorPicker");
10
+ const KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
11
+ const KeyboardArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardArrowUp"));
12
+ const KeyboardDoubleArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardDoubleArrowDown"));
13
+ const KeyboardDoubleArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardDoubleArrowUp"));
14
+ const material_1 = require("@mui/material");
15
+ const util_1 = require("./util");
16
+ function SourcesGridHeader({ selected, onChange, rows, showTips, }) {
17
+ const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
18
+ const [widgetColor, setWidgetColor] = (0, react_1.useState)('blue');
19
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { disabled: !selected.length, onClick: event => {
20
+ setAnchorEl(event.currentTarget);
21
+ }, children: "Change color of selected items" }), (0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => {
22
+ onChange((0, util_1.moveUp)([...rows], selected));
23
+ }, disabled: !selected.length, children: [(0, jsx_runtime_1.jsx)(KeyboardArrowUp_1.default, {}), showTips ? 'Move selected items up' : null] }), (0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => {
24
+ onChange((0, util_1.moveDown)([...rows], selected));
25
+ }, disabled: !selected.length, children: [(0, jsx_runtime_1.jsx)(KeyboardArrowDown_1.default, {}), showTips ? 'Move selected items down' : null] }), (0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => {
26
+ onChange((0, util_1.moveUp)([...rows], selected, rows.length));
27
+ }, disabled: !selected.length, children: [(0, jsx_runtime_1.jsx)(KeyboardDoubleArrowUp_1.default, {}), showTips ? 'Move selected items to top' : null] }), (0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => {
28
+ onChange((0, util_1.moveDown)([...rows], selected, rows.length));
29
+ }, disabled: !selected.length, children: [(0, jsx_runtime_1.jsx)(KeyboardDoubleArrowDown_1.default, {}), showTips ? 'Move selected items to bottom' : null] }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPopover, { anchorEl: anchorEl, color: widgetColor, onChange: c => {
30
+ setWidgetColor(c);
31
+ selected.forEach(id => {
32
+ const elt = rows.find(f => f.name === id);
33
+ if (elt) {
34
+ elt.color = c;
35
+ }
36
+ });
37
+ onChange([...rows]);
38
+ }, onClose: () => {
39
+ setAnchorEl(null);
40
+ } })] }));
41
+ }
@@ -0,0 +1,3 @@
1
+ export declare function getColorAlleleCount(alleles: string[]): string;
2
+ export declare function getColorPhased(alleles: string[], HP: number): string;
3
+ export declare function getColorPhasedWithPhaseSet(alleles: string[], HP: number, PS: string): string;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getColorAlleleCount = getColorAlleleCount;
4
+ exports.getColorPhased = getColorPhased;
5
+ exports.getColorPhasedWithPhaseSet = getColorPhasedWithPhaseSet;
6
+ const colors_1 = require("@jbrowse/core/ui/colors");
7
+ const colord_1 = require("@jbrowse/core/util/colord");
8
+ const util_1 = require("../util");
9
+ function getColorAlleleCount(alleles) {
10
+ const total = alleles.length;
11
+ let alt = 0;
12
+ let uncalled = 0;
13
+ let alt2 = 0;
14
+ let ref = 0;
15
+ for (const allele of alleles) {
16
+ if (allele === '1') {
17
+ alt++;
18
+ }
19
+ else if (allele === '0') {
20
+ ref++;
21
+ }
22
+ else if (allele === '.') {
23
+ uncalled++;
24
+ }
25
+ else {
26
+ alt2++;
27
+ }
28
+ }
29
+ if (ref === total) {
30
+ return `#ccc`;
31
+ }
32
+ else {
33
+ let a1 = (0, colord_1.colord)(`hsl(200,50%,${80 - (alt / total) * 50}%)`);
34
+ if (alt2) {
35
+ a1 = a1.mix(`hsla(0,100%,20%,${alt2 / total})`);
36
+ }
37
+ if (uncalled) {
38
+ a1 = a1.mix(`hsla(50,50%,50%,${uncalled / total / 2})`);
39
+ }
40
+ return a1.toHex();
41
+ }
42
+ }
43
+ function getColorPhased(alleles, HP) {
44
+ const c = +alleles[HP];
45
+ return c ? colors_1.set1[c - 1] || 'black' : '#ccc';
46
+ }
47
+ function getColorPhasedWithPhaseSet(alleles, HP, PS) {
48
+ const c = +alleles[HP];
49
+ return c ? (0, util_1.colorify)(+PS) || 'black' : '#ccc';
50
+ }
@@ -0,0 +1,14 @@
1
+ export interface Source {
2
+ baseUri?: string;
3
+ name: string;
4
+ label?: string;
5
+ color?: string;
6
+ group?: string;
7
+ HP?: number;
8
+ id?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ export interface SampleInfo {
12
+ isPhased: boolean;
13
+ maxPloidy: number;
14
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/util.d.ts CHANGED
@@ -1,11 +1,8 @@
1
- export interface Source {
2
- baseUri?: string;
3
- name: string;
4
- color?: string;
5
- group?: string;
6
- [key: string]: unknown;
7
- }
1
+ import type { Feature } from '@jbrowse/core/util';
8
2
  export declare function fillRectCtx(x: number, y: number, width: number, height: number, ctx: CanvasRenderingContext2D, color?: string): void;
9
- export declare function getCol(gt: string): "#ccc" | "teal" | "blue" | "#CBC3E3";
10
- export declare const colorPaletteDefault: string[];
3
+ export declare function getCol(gt: string): "blue" | "teal" | "#ccc" | "#CBC3E3";
11
4
  export declare function randomColor(str: string): string;
5
+ export declare function colorify(n: number): string;
6
+ export declare function findSecondLargest(arr: Iterable<number>): number;
7
+ export declare function calculateMinorAlleleFrequency(feat: Feature): number;
8
+ export declare function getFeaturesThatPassMinorAlleleFrequencyFilter(feats: Iterable<Feature>, minorAlleleFrequencyFilter: number): Feature[];
package/dist/util.js CHANGED
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.colorPaletteDefault = void 0;
4
3
  exports.fillRectCtx = fillRectCtx;
5
4
  exports.getCol = getCol;
6
5
  exports.randomColor = randomColor;
6
+ exports.colorify = colorify;
7
+ exports.findSecondLargest = findSecondLargest;
8
+ exports.calculateMinorAlleleFrequency = calculateMinorAlleleFrequency;
9
+ exports.getFeaturesThatPassMinorAlleleFrequencyFilter = getFeaturesThatPassMinorAlleleFrequencyFilter;
10
+ const util_1 = require("@jbrowse/core/util");
7
11
  function fillRectCtx(x, y, width, height, ctx, color) {
8
12
  if (width < 0) {
9
13
  x += width;
@@ -32,22 +36,51 @@ function getCol(gt) {
32
36
  return '#CBC3E3';
33
37
  }
34
38
  }
35
- exports.colorPaletteDefault = [
36
- 'red',
37
- 'blue',
38
- 'green',
39
- 'orange',
40
- 'purple',
41
- 'cyan',
42
- 'pink',
43
- 'darkblue',
44
- 'darkred',
45
- 'pink',
46
- ];
47
39
  function randomColor(str) {
48
40
  let sum = 0;
49
41
  for (let i = 0; i < str.length; i++) {
50
42
  sum += str.charCodeAt(i);
51
43
  }
52
- return `hsl(${sum * 10}, 20%, 50%)`;
44
+ return `hsl(${colorify(sum * 10)}, 50%, 50%)`;
45
+ }
46
+ function colorify(n) {
47
+ return `hsl(${n % 255}, 50%, 50%)`;
48
+ }
49
+ function findSecondLargest(arr) {
50
+ let firstMax = 0;
51
+ let secondMax = 0;
52
+ for (const num of arr) {
53
+ if (num > firstMax) {
54
+ secondMax = firstMax;
55
+ firstMax = num;
56
+ }
57
+ else if (num > secondMax && num !== firstMax) {
58
+ secondMax = num;
59
+ }
60
+ }
61
+ return secondMax;
62
+ }
63
+ function calculateMinorAlleleFrequency(feat) {
64
+ if (feat.get('end') - feat.get('start') <= 10) {
65
+ const samp = feat.get('genotypes');
66
+ const alleleCounts = new Map();
67
+ for (const val of Object.values(samp)) {
68
+ const alleles = val.split(/[/|]/);
69
+ for (const allele of alleles) {
70
+ alleleCounts.set(allele, (alleleCounts.get(allele) || 0) + 1);
71
+ }
72
+ }
73
+ return (findSecondLargest(alleleCounts.values()) /
74
+ ((0, util_1.sum)(alleleCounts.values()) || 1));
75
+ }
76
+ return -1;
77
+ }
78
+ function getFeaturesThatPassMinorAlleleFrequencyFilter(feats, minorAlleleFrequencyFilter) {
79
+ const mafs = [];
80
+ for (const feat of feats) {
81
+ if (calculateMinorAlleleFrequency(feat) >= minorAlleleFrequencyFilter) {
82
+ mafs.push(feat);
83
+ }
84
+ }
85
+ return mafs;
53
86
  }
@@ -107,7 +107,7 @@ declare const stateModelFactory: (configSchema: AnyConfigurationSchemaType) => i
107
107
  } & {
108
108
  renderSvg(opts: import("@jbrowse/plugin-circular-view/src/CircularView/model").ExportSvgOptions & {
109
109
  theme?: import("@mui/material").ThemeOptions;
110
- }): Promise<import("react").JSX.Element>;
110
+ }): Promise<import("react/jsx-runtime").JSX.Element>;
111
111
  } & {
112
112
  readonly rendererTypeName: any;
113
113
  renderProps(): Record<string, unknown>;
@@ -36,7 +36,7 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
36
36
  status?: string;
37
37
  reactElement?: React.ReactElement;
38
38
  };
39
- }) => import("react").JSX.Element | undefined;
39
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
40
40
  renderProps: any;
41
41
  } & {
42
42
  doReload(): void;
@@ -179,13 +179,13 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
179
179
  } & {
180
180
  readonly statsReadyAndRegionNotTooLarge: boolean;
181
181
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
182
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
182
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
183
183
  } & {
184
184
  featureIdUnderMouse: undefined | string;
185
185
  contextMenuFeature: undefined | Feature;
186
186
  } & {
187
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
188
- readonly blockType: "dynamicBlocks" | "staticBlocks";
187
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
188
+ readonly blockType: "staticBlocks" | "dynamicBlocks";
189
189
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
190
190
  } & {
191
191
  readonly renderDelay: number;
@@ -212,7 +212,7 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
212
212
  contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
213
213
  renderProps(): any;
214
214
  } & {
215
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
215
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
216
216
  afterAttach(): void;
217
217
  } & {
218
218
  readonly activeFilters: any;
@@ -0,0 +1,7 @@
1
+ import type { MultiLinearVariantDisplayModel } from '../model';
2
+ declare const Crosshair: ({ mouseX, mouseY, model, }: {
3
+ mouseX: number;
4
+ mouseY: number;
5
+ model: MultiLinearVariantDisplayModel;
6
+ }) => import("react/jsx-runtime").JSX.Element | null;
7
+ export default Crosshair;
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getContainingView } from '@jbrowse/core/util';
3
+ import { observer } from 'mobx-react';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import MultiVariantTooltip from '../../shared/MultiVariantTooltip';
6
+ const useStyles = makeStyles()({
7
+ rel: {
8
+ position: 'relative',
9
+ },
10
+ cursor: {
11
+ pointerEvents: 'none',
12
+ zIndex: 1000,
13
+ position: 'absolute',
14
+ },
15
+ color: {
16
+ width: 10,
17
+ height: 10,
18
+ },
19
+ });
20
+ const Crosshair = observer(function ({ mouseX, mouseY, model, }) {
21
+ const { classes } = useStyles();
22
+ const { hoveredGenotype, height, scrollTop, rowHeight, sources } = model;
23
+ const { width } = getContainingView(model);
24
+ const source = sources === null || sources === void 0 ? void 0 : sources[Math.floor(mouseY / rowHeight)];
25
+ const y = mouseY - scrollTop;
26
+ return source ? (_jsxs("div", { className: classes.rel, children: [_jsxs("svg", { className: classes.cursor, width: width, height: height, style: {
27
+ top: scrollTop,
28
+ }, children: [_jsx("line", { x1: 0, x2: width, y1: y, y2: y, stroke: "black" }), _jsx("line", { x1: mouseX, x2: mouseX, y1: 0, y2: height, stroke: "black" })] }), _jsx(MultiVariantTooltip, { source: { ...source, hoveredGenotype } })] })) : null;
29
+ });
30
+ export default Crosshair;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { MultiLinearVariantDisplayModel } from '../model';
3
2
  declare const MultiLinearVariantDisplayComponent: (props: {
4
3
  model: MultiLinearVariantDisplayModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default MultiLinearVariantDisplayComponent;
@@ -1,25 +1,15 @@
1
- import React, { useRef, useState } from 'react';
2
- import { SanitizedHTML } from '@jbrowse/core/ui';
3
- import BaseTooltip from '@jbrowse/core/ui/BaseTooltip';
4
- import { getContainingView } from '@jbrowse/core/util';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
5
3
  import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
6
4
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
5
+ import Crosshair from './Crosshair';
8
6
  import LegendBar from '../../shared/LegendBar';
9
- const useStyles = makeStyles()({
10
- cursor: {
11
- pointerEvents: 'none',
12
- },
13
- });
14
7
  const MultiLinearVariantDisplayComponent = observer(function (props) {
15
8
  const { model } = props;
16
- const { classes } = useStyles();
17
- const { height, sources, rowHeight, scrollTop } = model;
18
9
  const ref = useRef(null);
19
10
  const [mouseY, setMouseY] = useState();
20
11
  const [mouseX, setMouseX] = useState();
21
- const { width } = getContainingView(model);
22
- return (React.createElement("div", { ref: ref, onMouseMove: event => {
12
+ return (_jsxs("div", { ref: ref, onMouseMove: event => {
23
13
  var _a;
24
14
  const rect = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
25
15
  const top = (rect === null || rect === void 0 ? void 0 : rect.top) || 0;
@@ -29,17 +19,6 @@ const MultiLinearVariantDisplayComponent = observer(function (props) {
29
19
  }, onMouseLeave: () => {
30
20
  setMouseY(undefined);
31
21
  setMouseX(undefined);
32
- } },
33
- React.createElement(BaseLinearDisplayComponent, { ...props }),
34
- React.createElement(LegendBar, { model: model }),
35
- mouseY && sources ? (React.createElement("div", { style: { position: 'relative' } },
36
- React.createElement("svg", { className: classes.cursor, width: width, height: height, style: { position: 'absolute', top: scrollTop } },
37
- React.createElement("line", { x1: 0, x2: width, y1: mouseY - scrollTop, y2: mouseY - scrollTop, stroke: "black" }),
38
- React.createElement("line", { x1: mouseX, x2: mouseX, y1: 0, y2: height, stroke: "black" })),
39
- React.createElement(BaseTooltip, null,
40
- React.createElement(SanitizedHTML, { html: Object.entries(sources[Math.floor(mouseY / rowHeight)] || {})
41
- .filter(([key]) => key !== 'color')
42
- .map(([key, value]) => `${key}:${value}`)
43
- .join('\n') })))) : null));
22
+ }, children: [_jsx(BaseLinearDisplayComponent, { ...props }), _jsx(LegendBar, { model: model }), mouseX && mouseY ? (_jsx(Crosshair, { mouseX: mouseX, mouseY: mouseY, model: model })) : null] }));
44
23
  });
45
24
  export default MultiLinearVariantDisplayComponent;
@@ -9,7 +9,7 @@ export default function MultiLinearVariantDisplayF(pluginManager) {
9
9
  name: 'MultiLinearVariantDisplay',
10
10
  displayName: 'Multi-variant display (regular)',
11
11
  configSchema,
12
- stateModel: modelFactory(pluginManager, configSchema),
12
+ stateModel: modelFactory(configSchema),
13
13
  trackType: 'VariantTrack',
14
14
  viewType: 'LinearGenomeView',
15
15
  ReactComponent: lazy(() => import('./components/VariantDisplayComponent')),