react-msaview 3.1.12 → 3.2.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 (233) hide show
  1. package/bundle/index.js +32 -31
  2. package/dist/colorSchemes.d.ts +2 -2
  3. package/dist/colorSchemes.js +5 -6
  4. package/dist/colorSchemes.js.map +1 -1
  5. package/dist/components/Loading.d.ts +1 -1
  6. package/dist/components/Loading.js +7 -5
  7. package/dist/components/Loading.js.map +1 -1
  8. package/dist/components/MSAView.d.ts +1 -1
  9. package/dist/components/MSAView.js +13 -9
  10. package/dist/components/MSAView.js.map +1 -1
  11. package/dist/components/ResizeHandles.d.ts +1 -1
  12. package/dist/components/ResizeHandles.js +8 -4
  13. package/dist/components/ResizeHandles.js.map +1 -1
  14. package/dist/components/SequenceTextArea.js +9 -3
  15. package/dist/components/SequenceTextArea.js.map +1 -1
  16. package/dist/components/TextTrack.d.ts +1 -1
  17. package/dist/components/TextTrack.js +1 -1
  18. package/dist/components/TextTrack.js.map +1 -1
  19. package/dist/components/Track.d.ts +1 -1
  20. package/dist/components/Track.js +6 -2
  21. package/dist/components/Track.js.map +1 -1
  22. package/dist/components/VerticalScrollbar.d.ts +6 -0
  23. package/dist/components/VerticalScrollbar.js +69 -0
  24. package/dist/components/VerticalScrollbar.js.map +1 -0
  25. package/dist/components/dialogs/AboutDialog.js +3 -1
  26. package/dist/components/dialogs/AboutDialog.js.map +1 -1
  27. package/dist/components/dialogs/AddTrackDialog.d.ts +3 -3
  28. package/dist/components/dialogs/AddTrackDialog.js +8 -3
  29. package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
  30. package/dist/components/dialogs/DomainDialog.d.ts +1 -1
  31. package/dist/components/dialogs/DomainDialog.js +8 -4
  32. package/dist/components/dialogs/DomainDialog.js.map +1 -1
  33. package/dist/components/dialogs/ExportSVGDialog.d.ts +1 -1
  34. package/dist/components/dialogs/ExportSVGDialog.js +29 -17
  35. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  36. package/dist/components/dialogs/FeatureDialog.d.ts +1 -1
  37. package/dist/components/dialogs/FeatureDialog.js +8 -4
  38. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  39. package/dist/components/dialogs/{InterProScanPanel.d.ts → InterProScanDialog.d.ts} +1 -1
  40. package/dist/components/dialogs/{InterProScanPanel.js → InterProScanDialog.js} +26 -11
  41. package/dist/components/dialogs/InterProScanDialog.js.map +1 -0
  42. package/dist/components/dialogs/MetadataDialog.d.ts +1 -1
  43. package/dist/components/dialogs/MetadataDialog.js +3 -1
  44. package/dist/components/dialogs/MetadataDialog.js.map +1 -1
  45. package/dist/components/dialogs/SettingsDialog.d.ts +1 -1
  46. package/dist/components/dialogs/SettingsDialog.js +62 -15
  47. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  48. package/dist/components/dialogs/TracklistDialog.d.ts +3 -3
  49. package/dist/components/dialogs/TracklistDialog.js +8 -3
  50. package/dist/components/dialogs/TracklistDialog.js.map +1 -1
  51. package/dist/components/dialogs/UserProvidedDomainsDialog.d.ts +7 -0
  52. package/dist/components/dialogs/UserProvidedDomainsDialog.js +64 -0
  53. package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -0
  54. package/dist/components/header/Header.d.ts +1 -1
  55. package/dist/components/header/Header.js +11 -4
  56. package/dist/components/header/Header.js.map +1 -1
  57. package/dist/components/header/HeaderInfoArea.d.ts +1 -1
  58. package/dist/components/header/HeaderInfoArea.js +5 -2
  59. package/dist/components/header/HeaderInfoArea.js.map +1 -1
  60. package/dist/components/header/HeaderMenu.d.ts +1 -1
  61. package/dist/components/header/HeaderMenu.js +12 -4
  62. package/dist/components/header/HeaderMenu.js.map +1 -1
  63. package/dist/components/header/HeaderMenuExtra.d.ts +1 -1
  64. package/dist/components/header/HeaderMenuExtra.js +55 -35
  65. package/dist/components/header/HeaderMenuExtra.js.map +1 -1
  66. package/dist/components/header/HeaderStatusArea.d.ts +2 -2
  67. package/dist/components/header/HeaderStatusArea.js +1 -1
  68. package/dist/components/header/HeaderStatusArea.js.map +1 -1
  69. package/dist/components/header/MultiAlignmentSelector.d.ts +1 -1
  70. package/dist/components/header/ZoomControls.js +45 -3
  71. package/dist/components/header/ZoomControls.js.map +1 -1
  72. package/dist/components/import/ImportForm.d.ts +3 -3
  73. package/dist/components/import/ImportForm.js +15 -2
  74. package/dist/components/import/ImportForm.js.map +1 -1
  75. package/dist/components/import/ImportFormExamples.d.ts +1 -1
  76. package/dist/components/import/ImportFormExamples.js +53 -38
  77. package/dist/components/import/ImportFormExamples.js.map +1 -1
  78. package/dist/components/import/util.d.ts +2 -2
  79. package/dist/components/minimap/Minimap.d.ts +1 -1
  80. package/dist/components/minimap/Minimap.js +24 -17
  81. package/dist/components/minimap/Minimap.js.map +1 -1
  82. package/dist/components/minimap/MinimapSVG.d.ts +1 -1
  83. package/dist/components/minimap/MinimapSVG.js +1 -1
  84. package/dist/components/minimap/MinimapSVG.js.map +1 -1
  85. package/dist/components/msa/MSACanvas.d.ts +1 -1
  86. package/dist/components/msa/MSACanvas.js +3 -3
  87. package/dist/components/msa/MSACanvas.js.map +1 -1
  88. package/dist/components/msa/MSACanvasBlock.d.ts +3 -3
  89. package/dist/components/msa/MSACanvasBlock.js +9 -6
  90. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  91. package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
  92. package/dist/components/msa/MSAPanel.d.ts +1 -1
  93. package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +1 -1
  94. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +3 -4
  95. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  96. package/dist/components/msa/renderMSABlock.d.ts +2 -2
  97. package/dist/components/msa/renderMSABlock.js +16 -16
  98. package/dist/components/msa/renderMSABlock.js.map +1 -1
  99. package/dist/components/msa/renderMSAMouseover.d.ts +1 -1
  100. package/dist/components/msa/renderMSAMouseover.js +3 -3
  101. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  102. package/dist/components/tree/TreeBranchMenu.d.ts +1 -1
  103. package/dist/components/tree/TreeBranchMenu.js +6 -3
  104. package/dist/components/tree/TreeBranchMenu.js.map +1 -1
  105. package/dist/components/tree/TreeCanvas.d.ts +1 -1
  106. package/dist/components/tree/TreeCanvas.js +13 -12
  107. package/dist/components/tree/TreeCanvas.js.map +1 -1
  108. package/dist/components/tree/TreeCanvasBlock.d.ts +1 -1
  109. package/dist/components/tree/TreeCanvasBlock.js +13 -5
  110. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  111. package/dist/components/tree/TreeNodeMenu.d.ts +1 -1
  112. package/dist/components/tree/TreeNodeMenu.js +3 -3
  113. package/dist/components/tree/TreeNodeMenu.js.map +1 -1
  114. package/dist/components/tree/TreePanel.d.ts +1 -1
  115. package/dist/components/tree/TreeRuler.d.ts +1 -1
  116. package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +3 -3
  117. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +5 -2
  118. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
  119. package/dist/components/tree/renderTreeCanvas.d.ts +3 -3
  120. package/dist/components/tree/renderTreeCanvas.js +25 -9
  121. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  122. package/dist/components/util.js +1 -4
  123. package/dist/components/util.js.map +1 -1
  124. package/dist/ggplotPalettes.js.map +1 -1
  125. package/dist/launchInterProScan.d.ts +1 -1
  126. package/dist/launchInterProScan.js +11 -13
  127. package/dist/launchInterProScan.js.map +1 -1
  128. package/dist/model/DataModel.d.ts +5 -1
  129. package/dist/model/DataModel.js +10 -1
  130. package/dist/model/DataModel.js.map +1 -1
  131. package/dist/model/DialogQueue.d.ts +1 -1
  132. package/dist/model/DialogQueue.js +0 -1
  133. package/dist/model/DialogQueue.js.map +1 -1
  134. package/dist/model.d.ts +187 -35
  135. package/dist/model.js +317 -94
  136. package/dist/model.js.map +1 -1
  137. package/dist/parseGFF.js +8 -6
  138. package/dist/parseGFF.js.map +1 -1
  139. package/dist/parseNewick.js +1 -2
  140. package/dist/parseNewick.js.map +1 -1
  141. package/dist/parsers/ClustalMSA.d.ts +2 -2
  142. package/dist/parsers/ClustalMSA.js.map +1 -1
  143. package/dist/parsers/FastaMSA.d.ts +1 -1
  144. package/dist/parsers/FastaMSA.js +3 -3
  145. package/dist/parsers/FastaMSA.js.map +1 -1
  146. package/dist/parsers/StockholmMSA.d.ts +7 -7
  147. package/dist/parsers/StockholmMSA.js +4 -4
  148. package/dist/parsers/StockholmMSA.js.map +1 -1
  149. package/dist/renderToSvg.d.ts +2 -2
  150. package/dist/renderToSvg.js +6 -11
  151. package/dist/renderToSvg.js.map +1 -1
  152. package/dist/reparseTree.d.ts +1 -1
  153. package/dist/rowCoordinateCalculations.d.ts +2 -0
  154. package/dist/rowCoordinateCalculations.js +26 -0
  155. package/dist/rowCoordinateCalculations.js.map +1 -0
  156. package/dist/rowCoordinateCalculations.test.d.ts +1 -0
  157. package/dist/rowCoordinateCalculations.test.js +18 -0
  158. package/dist/rowCoordinateCalculations.test.js.map +1 -0
  159. package/dist/util.d.ts +2 -2
  160. package/dist/util.js +0 -2
  161. package/dist/util.js.map +1 -1
  162. package/dist/version.d.ts +1 -1
  163. package/dist/version.js +1 -1
  164. package/dist/version.js.map +1 -1
  165. package/package.json +10 -3
  166. package/src/colorSchemes.ts +7 -6
  167. package/src/components/Checkbox2.tsx +1 -1
  168. package/src/components/Loading.tsx +18 -6
  169. package/src/components/MSAView.tsx +27 -18
  170. package/src/components/ResizeHandles.tsx +9 -5
  171. package/src/components/SequenceTextArea.tsx +10 -4
  172. package/src/components/TextTrack.tsx +3 -3
  173. package/src/components/Track.tsx +9 -5
  174. package/src/components/VerticalScrollbar.tsx +89 -0
  175. package/src/components/dialogs/AboutDialog.tsx +7 -1
  176. package/src/components/dialogs/AddTrackDialog.tsx +15 -5
  177. package/src/components/dialogs/DomainDialog.tsx +12 -5
  178. package/src/components/dialogs/ExportSVGDialog.tsx +37 -18
  179. package/src/components/dialogs/FeatureDialog.tsx +10 -8
  180. package/src/components/dialogs/{InterProScanPanel.tsx → InterProScanDialog.tsx} +30 -13
  181. package/src/components/dialogs/MetadataDialog.tsx +9 -2
  182. package/src/components/dialogs/SettingsDialog.tsx +98 -19
  183. package/src/components/dialogs/TracklistDialog.tsx +18 -4
  184. package/src/components/dialogs/UserProvidedDomainsDialog.tsx +139 -0
  185. package/src/components/header/Header.tsx +12 -5
  186. package/src/components/header/HeaderInfoArea.tsx +4 -3
  187. package/src/components/header/HeaderMenu.tsx +13 -8
  188. package/src/components/header/HeaderMenuExtra.tsx +59 -43
  189. package/src/components/header/HeaderStatusArea.tsx +2 -6
  190. package/src/components/header/MultiAlignmentSelector.tsx +1 -1
  191. package/src/components/header/ZoomControls.tsx +52 -2
  192. package/src/components/import/ImportForm.tsx +16 -4
  193. package/src/components/import/ImportFormExamples.tsx +77 -64
  194. package/src/components/import/util.ts +2 -2
  195. package/src/components/minimap/Minimap.tsx +34 -29
  196. package/src/components/minimap/MinimapSVG.tsx +2 -2
  197. package/src/components/msa/MSACanvas.tsx +11 -4
  198. package/src/components/msa/MSACanvasBlock.tsx +10 -7
  199. package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
  200. package/src/components/msa/MSAPanel.tsx +1 -1
  201. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +8 -9
  202. package/src/components/msa/renderMSABlock.ts +44 -24
  203. package/src/components/msa/renderMSAMouseover.ts +4 -4
  204. package/src/components/tree/TreeBranchMenu.tsx +6 -4
  205. package/src/components/tree/TreeCanvas.tsx +15 -16
  206. package/src/components/tree/TreeCanvasBlock.tsx +14 -6
  207. package/src/components/tree/TreeNodeMenu.tsx +4 -4
  208. package/src/components/tree/TreePanel.tsx +1 -1
  209. package/src/components/tree/TreeRuler.tsx +1 -1
  210. package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +12 -3
  211. package/src/components/tree/renderTreeCanvas.ts +32 -12
  212. package/src/components/util.ts +2 -5
  213. package/src/ggplotPalettes.ts +1 -1
  214. package/src/launchInterProScan.ts +13 -15
  215. package/src/model/DataModel.ts +10 -0
  216. package/src/model/DialogQueue.ts +1 -2
  217. package/src/model.ts +355 -112
  218. package/src/parseGFF.ts +13 -11
  219. package/src/parseNewick.ts +4 -4
  220. package/src/parsers/ClustalMSA.ts +3 -3
  221. package/src/parsers/FastaMSA.ts +5 -5
  222. package/src/parsers/StockholmMSA.ts +11 -11
  223. package/src/renderToSvg.tsx +7 -8
  224. package/src/reparseTree.ts +1 -1
  225. package/src/rowCoordinateCalculations.test.ts +19 -0
  226. package/src/rowCoordinateCalculations.ts +26 -0
  227. package/src/util.ts +2 -4
  228. package/src/version.ts +1 -1
  229. package/dist/components/dialogs/InterProScanPanel.js.map +0 -1
  230. package/dist/components/dialogs/UserProvidedResultPanel.d.ts +0 -7
  231. package/dist/components/dialogs/UserProvidedResultPanel.js +0 -56
  232. package/dist/components/dialogs/UserProvidedResultPanel.js.map +0 -1
  233. package/src/components/dialogs/UserProvidedResultPanel.tsx +0 -119
@@ -8,13 +8,16 @@ const useStyles = makeStyles()({
8
8
  marginLeft: 10,
9
9
  },
10
10
  });
11
- const HeaderInfoArea = observer(({ model }) => {
11
+ const HeaderInfoArea = observer(function ({ model }) {
12
12
  const { mouseOverRowName, mouseCol } = model;
13
13
  const { classes } = useStyles();
14
14
  return mouseOverRowName && mouseCol !== undefined ? (React.createElement(Typography, { className: classes.margin },
15
15
  mouseOverRowName,
16
16
  ":",
17
- model.globalCoordToRowSpecificSeqCoord(mouseOverRowName, mouseCol))) : null;
17
+ model.mouseOverCoordToGapRemovedRowCoord(mouseOverRowName, mouseCol),
18
+ " (",
19
+ model.mouseOverCoordToRowLetter(mouseOverRowName, mouseCol),
20
+ ")")) : null;
18
21
  });
19
22
  export default HeaderInfoArea;
20
23
  //# sourceMappingURL=HeaderInfoArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderInfoArea.js","sourceRoot":"","sources":["../../../src/components/header/HeaderInfoArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IACrE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,gBAAgB,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAClD,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;QAClC,gBAAgB;;QAChB,KAAK,CAAC,gCAAgC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CACxD,CACd,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"HeaderInfoArea.js","sourceRoot":"","sources":["../../../src/components/header/HeaderInfoArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IAC1E,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,gBAAgB,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAClD,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;QAClC,gBAAgB;;QAChB,KAAK,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,QAAQ,CAAC;;QACpE,KAAK,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YACjD,CACd,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,cAAc,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
2
+ import type { MsaViewModel } from '../../model';
3
3
  declare const HeaderMenu: ({ model }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element;
@@ -16,21 +16,29 @@ const HeaderMenu = observer(function ({ model }) {
16
16
  {
17
17
  label: 'Return to import form',
18
18
  icon: FolderOpen,
19
- onClick: () => model.reset(),
19
+ onClick: () => {
20
+ model.reset();
21
+ },
20
22
  },
21
23
  {
22
24
  label: 'Settings',
23
- onClick: () => model.queueDialog(onClose => [SettingsDialog, { model, onClose }]),
25
+ onClick: () => {
26
+ model.queueDialog(onClose => [SettingsDialog, { model, onClose }]);
27
+ },
24
28
  icon: Settings,
25
29
  },
26
30
  {
27
31
  label: 'Metadata',
28
- onClick: () => model.queueDialog(onClose => [MetadataDialog, { model, onClose }]),
32
+ onClick: () => {
33
+ model.queueDialog(onClose => [MetadataDialog, { model, onClose }]);
34
+ },
29
35
  icon: Assignment,
30
36
  },
31
37
  {
32
38
  label: 'Extra tracks',
33
- onClick: () => model.queueDialog(onClose => [TracklistDialog, { model, onClose }]),
39
+ onClick: () => {
40
+ model.queueDialog(onClose => [TracklistDialog, { model, onClose }]);
41
+ },
34
42
  icon: List,
35
43
  },
36
44
  ] },
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderMenu.js","sourceRoot":"","sources":["../../../src/components/header/HeaderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAEtE,QAAQ;AACR,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAK3C,SAAS;AACT,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAExE,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;aAC7B;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,IAAI,EAAE,IAAI;aACX;SACF;QAED,oBAAC,IAAI,OAAG,CACY,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"HeaderMenu.js","sourceRoot":"","sources":["../../../src/components/header/HeaderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAEtE,QAAQ;AACR,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAK3C,SAAS;AACT,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAExE,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,KAAK,EAAE,CAAA;gBACf,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACpE,CAAC;gBACD,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACpE,CAAC;gBACD,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACrE,CAAC;gBACD,IAAI,EAAE,IAAI;aACX;SACF;QAED,oBAAC,IAAI,OAAG,CACY,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
2
+ import type { MsaViewModel } from '../../model';
3
3
  declare const HeaderMenuExtra: ({ model }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element;
@@ -1,83 +1,111 @@
1
1
  import React, { lazy } from 'react';
2
2
  import { observer } from 'mobx-react';
3
3
  import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
4
- // locals
5
4
  // icons
6
- import MoreVert from '@mui/icons-material/MoreVert';
5
+ import MoreVert from '@mui/icons-material/Menu';
7
6
  import Sort from '@mui/icons-material/Sort';
8
7
  import Visibility from '@mui/icons-material/Visibility';
9
8
  import FilterAlt from '@mui/icons-material/FilterAlt';
10
9
  import Search from '@mui/icons-material/Search';
11
10
  import PhotoCamera from '@mui/icons-material/PhotoCamera';
12
- import RestartAlt from '@mui/icons-material/RestartAlt';
13
- import FolderOpen from '@mui/icons-material/FolderOpen';
14
11
  import Settings from '@mui/icons-material/Settings';
15
12
  import Assignment from '@mui/icons-material/Assignment';
16
13
  import List from '@mui/icons-material/List';
14
+ import FolderOpen from '@mui/icons-material/FolderOpen';
17
15
  // lazies
18
16
  const SettingsDialog = lazy(() => import('../dialogs/SettingsDialog'));
19
17
  const MetadataDialog = lazy(() => import('../dialogs/MetadataDialog'));
20
18
  const TracklistDialog = lazy(() => import('../dialogs/TracklistDialog'));
21
19
  const ExportSVGDialog = lazy(() => import('../dialogs/ExportSVGDialog'));
22
20
  const FeatureFilterDialog = lazy(() => import('../dialogs/FeatureDialog'));
23
- const DomainDialog = lazy(() => import('../dialogs/DomainDialog'));
24
- const HeaderMenuExtra = observer(function ({ model }) {
25
- const { showDomains, subFeatureRows, noAnnotations } = model;
21
+ const UserProvidedDomainsDialog = lazy(() => import('../dialogs/UserProvidedDomainsDialog'));
22
+ const InterProScanDialog = lazy(() => import('../dialogs/InterProScanDialog'));
23
+ const HeaderMenuExtra = observer(({ model }) => {
24
+ const { showDomains, actuallyShowDomains, subFeatureRows, noDomains } = model;
26
25
  return (React.createElement(CascadingMenuButton, { menuItems: [
27
26
  {
28
27
  label: 'Return to import form',
29
28
  icon: FolderOpen,
30
- onClick: () => model.reset(),
29
+ onClick: () => {
30
+ model.reset();
31
+ },
31
32
  },
32
33
  {
33
34
  label: 'Settings',
34
- onClick: () => model.queueDialog(onClose => [SettingsDialog, { model, onClose }]),
35
+ onClick: () => {
36
+ model.queueDialog(onClose => [SettingsDialog, { model, onClose }]);
37
+ },
35
38
  icon: Settings,
36
39
  },
37
40
  {
38
41
  label: 'Metadata',
39
- onClick: () => model.queueDialog(onClose => [MetadataDialog, { model, onClose }]),
42
+ onClick: () => {
43
+ model.queueDialog(onClose => [MetadataDialog, { model, onClose }]);
44
+ },
40
45
  icon: Assignment,
41
46
  },
42
47
  {
43
48
  label: 'Extra tracks',
44
- onClick: () => model.queueDialog(onClose => [TracklistDialog, { model, onClose }]),
45
- icon: List,
46
- },
47
- {
48
- label: 'Reset zoom to default',
49
- icon: RestartAlt,
50
49
  onClick: () => {
51
- model.setColWidth(16);
52
- model.setRowHeight(20);
50
+ model.queueDialog(onClose => [TracklistDialog, { model, onClose }]);
53
51
  },
52
+ icon: List,
54
53
  },
55
54
  {
56
55
  label: 'Export SVG',
57
56
  icon: PhotoCamera,
58
- onClick: () => model.queueDialog(onClose => [ExportSVGDialog, { onClose, model }]),
57
+ onClick: () => {
58
+ model.queueDialog(onClose => [ExportSVGDialog, { onClose, model }]);
59
+ },
59
60
  },
60
61
  {
61
62
  label: 'Features/protein domains',
62
63
  type: 'subMenu',
63
64
  subMenu: [
64
65
  {
65
- label: 'Show domains' + (noAnnotations ? ' (no domains loaded)' : ''),
66
+ label: 'Open domains...',
67
+ icon: FolderOpen,
68
+ onClick: () => {
69
+ model.queueDialog(handleClose => [
70
+ UserProvidedDomainsDialog,
71
+ { handleClose, model },
72
+ ]);
73
+ },
74
+ },
75
+ {
76
+ label: 'Query InterProScan for domains...',
77
+ icon: Search,
78
+ onClick: () => {
79
+ model.queueDialog(handleClose => [
80
+ InterProScanDialog,
81
+ { handleClose, model },
82
+ ]);
83
+ },
84
+ },
85
+ {
86
+ label: `Show domains${noDomains ? ' (no domains loaded)' : ''}`,
87
+ disabled: noDomains,
66
88
  icon: Visibility,
67
- checked: showDomains,
89
+ checked: actuallyShowDomains ? showDomains : false,
68
90
  type: 'checkbox',
69
- onClick: () => model.setShowDomains(!showDomains),
91
+ onClick: () => {
92
+ model.setShowDomains(!showDomains);
93
+ },
70
94
  },
71
95
  {
72
- label: 'Use sub-row layout',
73
- checked: subFeatureRows,
96
+ label: `Use sub-row layout${noDomains ? ' (no domains loaded)' : ''}`,
97
+ disabled: noDomains,
98
+ checked: actuallyShowDomains ? subFeatureRows : false,
74
99
  icon: Sort,
75
100
  type: 'checkbox',
76
- onClick: () => model.setSubFeatureRows(!subFeatureRows),
101
+ onClick: () => {
102
+ model.setSubFeatureRows(!subFeatureRows);
103
+ },
77
104
  },
78
105
  {
79
- label: 'Filter domains',
106
+ label: `Filter domains${noDomains ? ' (no domains loaded)' : ''}`,
80
107
  icon: FilterAlt,
108
+ disabled: noDomains,
81
109
  onClick: () => {
82
110
  model.queueDialog(onClose => [
83
111
  FeatureFilterDialog,
@@ -85,17 +113,9 @@ const HeaderMenuExtra = observer(function ({ model }) {
85
113
  ]);
86
114
  },
87
115
  },
88
- {
89
- label: 'View domains',
90
- icon: Search,
91
- onClick: () => model.queueDialog(handleClose => [
92
- DomainDialog,
93
- { handleClose, model },
94
- ]),
95
- },
96
116
  ],
97
117
  },
98
- ...(model.extraViewMenuItems?.() || []),
118
+ ...model.extraViewMenuItems(),
99
119
  ] },
100
120
  React.createElement(MoreVert, null)));
101
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderMenuExtra.js","sourceRoot":"","sources":["../../../src/components/header/HeaderMenuExtra.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAEtE,SAAS;AAET,QAAQ;AACR,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAK3C,SAAS;AACT,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAElE,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IAC3E,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC5D,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;aAC7B;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,IAAI,EAAE,IAAI;aACX;YACD;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;oBACrB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBACxB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aACtE;YACD;gBACE,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP;wBACE,KAAK,EACH,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChE,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,WAAW;wBACpB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC;qBAClD;oBACD;wBACE,KAAK,EAAE,oBAAoB;wBAC3B,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC;qBACxD;oBACD;wBACE,KAAK,EAAE,gBAAgB;wBACvB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC3B,mBAAmB;gCACnB,EAAE,OAAO,EAAE,KAAK,EAAE;6BACnB,CAAC,CAAA;wBACJ,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,cAAc;wBACrB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC/B,YAAY;4BACZ,EAAE,WAAW,EAAE,KAAK,EAAE;yBACvB,CAAC;qBACL;iBACF;aACF;YACD,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;SACxC;QAED,oBAAC,QAAQ,OAAG,CACQ,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"HeaderMenuExtra.js","sourceRoot":"","sources":["../../../src/components/header/HeaderMenuExtra.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
3
- declare const HeaderStatusArea: ({ model, }: {
2
+ import type { MsaViewModel } from '../../model';
3
+ declare const HeaderStatusArea: ({ model }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element | null;
6
6
  export default HeaderStatusArea;
@@ -9,7 +9,7 @@ const useStyles = makeStyles()({
9
9
  marginLeft: 10,
10
10
  },
11
11
  });
12
- const HeaderStatusArea = observer(function ({ model, }) {
12
+ const HeaderStatusArea = observer(({ model }) => {
13
13
  const { status } = model;
14
14
  const { classes } = useStyles();
15
15
  return status ? (React.createElement(Typography, { className: classes.margin },
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderStatusArea.js","sourceRoot":"","sources":["../../../src/components/header/HeaderStatusArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAKlD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,EAC1C,KAAK,GAGN;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,CACd,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;QACnC,oBAAC,eAAe,IAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,MAAM,GAAG;QAAC,GAAG;QAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ,2BAAG,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,eAEjD,CACL,CAAC,CAAC,CAAC,IAAI,CACG,CACd,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"HeaderStatusArea.js","sourceRoot":"","sources":["../../../src/components/header/HeaderStatusArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAKlD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,CACd,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;QACnC,oBAAC,eAAe,IAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,MAAM,GAAG;QAAC,GAAG;QAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ,2BAAG,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,eAEjD,CACL,CAAC,CAAC,CAAC,IAAI,CACG,CACd,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
2
+ import type { MsaViewModel } from '../../model';
3
3
  declare const MultiAlignmentSelector: ({ model, }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element | null;
@@ -1,15 +1,57 @@
1
1
  import React from 'react';
2
2
  import { IconButton } from '@mui/material';
3
3
  import { observer } from 'mobx-react';
4
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
4
5
  // icons
5
6
  import ZoomIn from '@mui/icons-material/ZoomIn';
6
7
  import ZoomOut from '@mui/icons-material/ZoomOut';
8
+ import MoreVert from '@mui/icons-material/MoreVert';
9
+ import RestartAlt from '@mui/icons-material/RestartAlt';
7
10
  const ZoomControls = observer(function ZoomControls({ model, }) {
8
11
  return (React.createElement(React.Fragment, null,
9
- React.createElement(IconButton, { onClick: () => model.zoomIn() },
12
+ React.createElement(IconButton, { onClick: () => {
13
+ model.zoomIn();
14
+ } },
10
15
  React.createElement(ZoomIn, null)),
11
- React.createElement(IconButton, { onClick: () => model.zoomOut() },
12
- React.createElement(ZoomOut, null))));
16
+ React.createElement(IconButton, { onClick: () => {
17
+ model.zoomOut();
18
+ } },
19
+ React.createElement(ZoomOut, null)),
20
+ React.createElement(CascadingMenuButton, { menuItems: [
21
+ {
22
+ label: 'Zoom in horizontal',
23
+ onClick: () => {
24
+ model.zoomInHorizontal();
25
+ },
26
+ },
27
+ {
28
+ label: 'Zoom in vertical',
29
+ onClick: () => {
30
+ model.zoomInVertical();
31
+ },
32
+ },
33
+ {
34
+ label: 'Zoom out horizontal',
35
+ onClick: () => {
36
+ model.zoomOutHorizontal();
37
+ },
38
+ },
39
+ {
40
+ label: 'Zoom out vertical',
41
+ onClick: () => {
42
+ model.zoomOutVertical();
43
+ },
44
+ },
45
+ {
46
+ label: 'Reset zoom to default',
47
+ icon: RestartAlt,
48
+ onClick: () => {
49
+ model.setColWidth(16);
50
+ model.setRowHeight(20);
51
+ },
52
+ },
53
+ ] },
54
+ React.createElement(MoreVert, null))));
13
55
  });
14
56
  export default ZoomControls;
15
57
  //# sourceMappingURL=ZoomControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomControls.js","sourceRoot":"","sources":["../../../src/components/header/ZoomControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,QAAQ;AACR,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,YAAY,CAAC,EAClD,KAAK,GAGN;IACC,OAAO,CACL;QACE,oBAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,oBAAC,MAAM,OAAG,CACC;QACb,oBAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;YACxC,oBAAC,OAAO,OAAG,CACA,CACZ,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"ZoomControls.js","sourceRoot":"","sources":["../../../src/components/header/ZoomControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAKtE,QAAQ;AACR,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,OAAO,MAAM,6BAA6B,CAAA;AACjD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AAEvD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,YAAY,CAAC,EAClD,KAAK,GAGN;IACC,OAAO,CACL;QACE,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,MAAM,EAAE,CAAA;YAChB,CAAC;YAED,oBAAC,MAAM,OAAG,CACC;QACb,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC;YAED,oBAAC,OAAO,OAAG,CACA;QACb,oBAAC,mBAAmB,IAClB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,gBAAgB,EAAE,CAAA;oBAC1B,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,cAAc,EAAE,CAAA;oBACxB,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,iBAAiB,EAAE,CAAA;oBAC3B,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,eAAe,EAAE,CAAA;oBACzB,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;wBACrB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;oBACxB,CAAC;iBACF;aACF;YAED,oBAAC,QAAQ,OAAG,CACQ,CACrB,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,YAAY,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
3
- declare const _default: ({ model }: {
2
+ import type { MsaViewModel } from '../../model';
3
+ declare const ImportForm: ({ model }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default ImportForm;
@@ -4,7 +4,7 @@ import { Button, Container, Grid, Typography } from '@mui/material';
4
4
  import { FileSelector } from '@jbrowse/core/ui';
5
5
  import { load } from './util';
6
6
  import ImportFormExamples from './ImportFormExamples';
7
- export default observer(({ model }) => {
7
+ const ImportForm = observer(function ({ model }) {
8
8
  const [msaFile, setMsaFile] = useState();
9
9
  const [treeFile, setTreeFile] = useState();
10
10
  const { error } = model;
@@ -23,9 +23,22 @@ export default observer(({ model }) => {
23
23
  React.createElement(Typography, null, "Tree file or URL"),
24
24
  React.createElement(FileSelector, { location: treeFile, setLocation: setTreeFile })),
25
25
  React.createElement(Grid, { item: true },
26
- React.createElement(Button, { onClick: () => load(model, msaFile, treeFile), variant: "contained", color: "primary", disabled: !msaFile && !treeFile }, "Open")),
26
+ React.createElement(Button, { onClick: () => {
27
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
28
+ ;
29
+ (async () => {
30
+ try {
31
+ await load(model, msaFile, treeFile);
32
+ }
33
+ catch (e) {
34
+ console.error(e);
35
+ model.setError(e);
36
+ }
37
+ })();
38
+ }, variant: "contained", color: "primary", disabled: !msaFile && !treeFile }, "Open")),
27
39
  React.createElement(Grid, { item: true },
28
40
  React.createElement(Typography, null, "Examples"),
29
41
  React.createElement(ImportFormExamples, { model: model })))));
30
42
  });
43
+ export default ImportForm;
31
44
  //# sourceMappingURL=ImportForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImportForm.js","sourceRoot":"","sources":["../../../src/components/import/ImportForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AAErD,eAAe,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO,CACL,oBAAC,SAAS;QACR,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC,CACP,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACzB,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO;;oBAAS,GAAG,KAAK,EAAE,CAAc,CACtD,CACP,CAAC,CAAC,CAAC,IAAI;YACR,oBAAC,UAAU,6FAGE;YACb,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,mNAKZ,CACT;QAEN,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ;YACtE,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,UAAU,0BAA6B;gBACxC,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI;gBAC5D,oBAAC,UAAU,2BAA8B;gBACzC,oBAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,CACzD;YAEP,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC7C,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,WAGxB,CACJ;YAEP,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,UAAU,mBAAsB;gBACjC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAC/B,CACF,CACG,CACb,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ImportForm.js","sourceRoot":"","sources":["../../../src/components/import/ImportForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AAErD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO,CACL,oBAAC,SAAS;QACR,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC,CACP,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACzB,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO;;oBAAS,GAAG,KAAK,EAAE,CAAc,CACtD,CACP,CAAC,CAAC,CAAC,IAAI;YACR,oBAAC,UAAU,6FAGE;YACb,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,mNAKZ,CACT;QAEN,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ;YACtE,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,UAAU,0BAA6B;gBACxC,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI;gBAC5D,oBAAC,UAAU,2BAA8B;gBACzC,oBAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,CACzD;YAEP,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,mEAAmE;wBACnE,CAAC;wBAAA,CAAC,KAAK,IAAI,EAAE;4BACX,IAAI,CAAC;gCACH,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BACtC,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gCAChB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;4BACnB,CAAC;wBACH,CAAC,CAAC,EAAE,CAAA;oBACN,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,WAGxB,CACJ;YAEP,oBAAC,IAAI,IAAC,IAAI;gBACR,oBAAC,UAAU,mBAAsB;gBACjC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAC/B,CACF,CACG,CACb,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
2
+ import type { MsaViewModel } from '../../model';
3
3
  declare const ImportFormExamples: ({ model, }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element;
@@ -3,52 +3,67 @@ import { Typography, Link } from '@mui/material';
3
3
  import { observer } from 'mobx-react';
4
4
  import { smallTree, smallMSA, smallMSAOnly } from './data/seq2';
5
5
  import { load } from './util';
6
- const ListItem = ({ onClick, model, children, }) => (React.createElement("li", null,
7
- React.createElement(Link, { onClick: event => {
8
- model.setError(undefined);
9
- event.preventDefault();
10
- onClick();
11
- }, href: "#" },
12
- React.createElement(Typography, { display: "inline" }, children))));
6
+ function ListItem({ onClick, model, children, }) {
7
+ return (React.createElement("li", null,
8
+ React.createElement(Link, { onClick: event => {
9
+ model.setError(undefined);
10
+ event.preventDefault();
11
+ onClick();
12
+ }, href: "#" },
13
+ React.createElement(Typography, { display: "inline" }, children))));
14
+ }
13
15
  const ImportFormExamples = observer(function ({ model, }) {
16
+ function l2(uri1, uri2) {
17
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
18
+ ;
19
+ (async () => {
20
+ try {
21
+ await load(model, uri1
22
+ ? {
23
+ uri: uri1,
24
+ locationType: 'UriLocation',
25
+ }
26
+ : undefined, uri2
27
+ ? {
28
+ uri: uri2,
29
+ locationType: 'UriLocation',
30
+ }
31
+ : undefined);
32
+ }
33
+ catch (e) {
34
+ console.error(e);
35
+ model.setError(e);
36
+ }
37
+ })();
38
+ }
14
39
  return (React.createElement("ul", null,
15
- React.createElement(ListItem, { model: model, onClick: () => load(model, undefined, {
16
- uri: 'https://jbrowse.org/genomes/newick_trees/sarscov2phylo.pub.ft.nh',
17
- locationType: 'UriLocation',
18
- }) }, "230k COVID-19 samples (tree only)"),
40
+ React.createElement(ListItem, { model: model, onClick: () => {
41
+ l2(undefined, 'https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh');
42
+ } }, "230k COVID-19 samples (tree only)"),
19
43
  React.createElement(ListItem, { model: model, onClick: () => {
20
44
  model.setData({ msa: smallMSA, tree: smallTree });
21
45
  } }, "Small protein MSA+tree"),
22
46
  React.createElement(ListItem, { model: model, onClick: () => {
23
47
  model.setData({ msa: smallMSAOnly });
24
48
  } }, "Small MSA only"),
25
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
26
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/pfam-cov2.stock',
27
- locationType: 'UriLocation',
28
- }) }, "PFAM SARS-CoV2 multi-stockholm"),
29
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
30
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/Lysine.stock',
31
- locationType: 'UriLocation',
32
- }) }, "Lysine stockholm file"),
33
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
34
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/PF01601_full.txt',
35
- locationType: 'UriLocation',
36
- }) }, "PF01601 stockholm file (SARS-CoV2 spike protein)"),
37
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
38
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/europe_covid.fa',
39
- locationType: 'UriLocation',
40
- }) }, "Europe COVID full genomes (LR883044.1 and 199 other sequences)"),
41
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
42
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.fa',
43
- locationType: 'UriLocation',
44
- }, {
45
- uri: 'https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.nh',
46
- locationType: 'UriLocation',
47
- }) }, "MAFFT+VeryFastTree(17.9k samples)"),
48
- React.createElement(ListItem, { model: model, onClick: () => load(model, {
49
- uri: 'https://jbrowse.org/demos/ttc39a.mfa',
50
- locationType: 'UriLocation',
51
- }) }, "Human BLAST results mfa")));
49
+ React.createElement(ListItem, { model: model, onClick: () => {
50
+ l2('https://jbrowse.org/genomes/multiple_sequence_alignments/pfam-cov2.stock');
51
+ } }, "PFAM SARS-CoV2 multi-stockholm"),
52
+ React.createElement(ListItem, { model: model, onClick: () => {
53
+ l2('https://jbrowse.org/genomes/multiple_sequence_alignments/Lysine.stock');
54
+ } }, "Lysine stockholm file"),
55
+ React.createElement(ListItem, { model: model, onClick: () => {
56
+ l2('https://jbrowse.org/genomes/multiple_sequence_alignments/PF01601_full.txt');
57
+ } }, "PF01601 stockholm file (SARS-CoV2 spike protein)"),
58
+ React.createElement(ListItem, { model: model, onClick: () => {
59
+ l2('https://jbrowse.org/genomes/multiple_sequence_alignments/europe_covid.fa');
60
+ } }, "Europe COVID full genomes (LR883044.1 and 199 other sequences)"),
61
+ React.createElement(ListItem, { model: model, onClick: () => {
62
+ l2('https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.fa', 'https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.nh');
63
+ } }, "MAFFT+VeryFastTree(17.9k samples)"),
64
+ React.createElement(ListItem, { model: model, onClick: () => {
65
+ l2('https://jbrowse.org/demos/ttc39a.mfa');
66
+ } }, "Human BLAST results mfa")));
52
67
  });
53
68
  export default ImportFormExamples;
54
69
  //# sourceMappingURL=ImportFormExamples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImportFormExamples.js","sourceRoot":"","sources":["../../../src/components/import/ImportFormExamples.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportFormExamples.js","sourceRoot":"","sources":["../../../src/components/import/ImportFormExamples.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { FileLocation } from '@jbrowse/core/util';
2
- import { MsaViewModel } from '../../model';
1
+ import type { FileLocation } from '@jbrowse/core/util';
2
+ import type { MsaViewModel } from '../../model';
3
3
  export declare function load(model: MsaViewModel, msaFile?: FileLocation, treeFile?: FileLocation): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { MsaViewModel } from '../../model';
2
+ import type { MsaViewModel } from '../../model';
3
3
  declare const Minimap: ({ model }: {
4
4
  model: MsaViewModel;
5
5
  }) => React.JSX.Element;