@jbrowse/plugin-linear-genome-view 4.3.0 → 5.0.0-beta.10

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 (363) hide show
  1. package/esm/FeatureTrack/configSchema.d.ts +202 -71
  2. package/esm/FeatureTrack/configSchema.js +47 -1
  3. package/esm/FeatureTrack/index.js +1 -1
  4. package/esm/LaunchLinearGenomeView/index.d.ts +14 -0
  5. package/esm/LaunchLinearGenomeView/index.js +6 -12
  6. package/esm/LinearGenomeView/afterAttach.d.ts +20 -2
  7. package/esm/LinearGenomeView/afterAttach.js +265 -120
  8. package/esm/LinearGenomeView/components/CenterLine.d.ts +1 -1
  9. package/esm/LinearGenomeView/components/CenterLine.js +20 -9
  10. package/esm/LinearGenomeView/components/ConnectedHoverHighlight.d.ts +7 -0
  11. package/esm/LinearGenomeView/components/ConnectedHoverHighlight.js +22 -0
  12. package/esm/LinearGenomeView/components/CrisprGuidePanel.d.ts +3 -0
  13. package/esm/LinearGenomeView/components/CrisprGuidePanel.js +142 -0
  14. package/esm/LinearGenomeView/components/Cytobands.d.ts +6 -6
  15. package/esm/LinearGenomeView/components/Cytobands.js +76 -53
  16. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +8 -3
  17. package/esm/LinearGenomeView/components/ExportSvgDialog.js +15 -67
  18. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +5 -9
  19. package/esm/LinearGenomeView/components/GetSequenceDialog.js +84 -88
  20. package/esm/LinearGenomeView/components/Gridlines.d.ts +1 -1
  21. package/esm/LinearGenomeView/components/Gridlines.js +29 -58
  22. package/esm/LinearGenomeView/components/Header.d.ts +1 -1
  23. package/esm/LinearGenomeView/components/Header.js +42 -16
  24. package/esm/LinearGenomeView/components/HeaderClearHighlightButton.d.ts +21 -0
  25. package/esm/LinearGenomeView/components/HeaderClearHighlightButton.js +35 -0
  26. package/esm/LinearGenomeView/components/HeaderPanControls.d.ts +3 -2
  27. package/esm/LinearGenomeView/components/HeaderPanControls.js +18 -8
  28. package/esm/LinearGenomeView/components/HeaderRegionWidth.d.ts +1 -1
  29. package/esm/LinearGenomeView/components/HeaderRegionWidth.js +9 -6
  30. package/esm/LinearGenomeView/components/HeaderSearchBoxRow.d.ts +6 -0
  31. package/esm/LinearGenomeView/components/HeaderSearchBoxRow.js +27 -0
  32. package/esm/LinearGenomeView/components/HeaderSearchBoxes.d.ts +5 -0
  33. package/esm/LinearGenomeView/components/HeaderSearchBoxes.js +28 -0
  34. package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.d.ts +3 -2
  35. package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.js +11 -4
  36. package/esm/LinearGenomeView/components/HeaderZoomControls.d.ts +3 -2
  37. package/esm/LinearGenomeView/components/HeaderZoomControls.js +38 -52
  38. package/esm/LinearGenomeView/components/Highlight.d.ts +1 -1
  39. package/esm/LinearGenomeView/components/Highlight.js +21 -25
  40. package/esm/LinearGenomeView/components/HighlightBand.d.ts +3 -2
  41. package/esm/LinearGenomeView/components/HighlightBand.js +25 -8
  42. package/esm/LinearGenomeView/components/HighlightChip.d.ts +8 -0
  43. package/esm/LinearGenomeView/components/HighlightChip.js +13 -0
  44. package/esm/LinearGenomeView/components/HoverPositionHighlight.d.ts +12 -0
  45. package/esm/LinearGenomeView/components/HoverPositionHighlight.js +25 -0
  46. package/esm/LinearGenomeView/components/ImportForm.d.ts +3 -4
  47. package/esm/LinearGenomeView/components/ImportForm.js +95 -61
  48. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +1 -1
  49. package/esm/LinearGenomeView/components/LinearGenomeView.js +7 -6
  50. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.d.ts +1 -1
  51. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +88 -30
  52. package/esm/LinearGenomeView/components/MiniControls.d.ts +1 -1
  53. package/esm/LinearGenomeView/components/MiniControls.js +14 -10
  54. package/esm/LinearGenomeView/components/MotifListPanel.d.ts +3 -0
  55. package/esm/LinearGenomeView/components/MotifListPanel.js +59 -0
  56. package/esm/LinearGenomeView/components/NavigationAnnouncer.d.ts +32 -0
  57. package/esm/LinearGenomeView/components/NavigationAnnouncer.js +51 -0
  58. package/esm/LinearGenomeView/components/NoTracksActiveButton.d.ts +1 -1
  59. package/esm/LinearGenomeView/components/NoTracksActiveButton.js +1 -1
  60. package/esm/LinearGenomeView/components/OverviewHighlight.d.ts +2 -4
  61. package/esm/LinearGenomeView/components/OverviewHighlight.js +23 -44
  62. package/esm/LinearGenomeView/components/OverviewHighlightBand.d.ts +9 -0
  63. package/esm/LinearGenomeView/components/OverviewHighlightBand.js +25 -0
  64. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +3 -3
  65. package/esm/LinearGenomeView/components/OverviewRubberband.js +29 -67
  66. package/esm/LinearGenomeView/components/OverviewRubberbandHoverTooltip.d.ts +4 -5
  67. package/esm/LinearGenomeView/components/OverviewRubberbandHoverTooltip.js +13 -20
  68. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +3 -2
  69. package/esm/LinearGenomeView/components/OverviewScalebar.js +87 -83
  70. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +19 -5
  71. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +57 -32
  72. package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.d.ts +4 -5
  73. package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.js +16 -18
  74. package/esm/LinearGenomeView/components/PaddingBlocks.d.ts +7 -0
  75. package/esm/LinearGenomeView/components/PaddingBlocks.js +56 -0
  76. package/esm/LinearGenomeView/components/RangeSelectOverlay.d.ts +9 -0
  77. package/esm/LinearGenomeView/components/RangeSelectOverlay.js +19 -0
  78. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +2 -3
  79. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +19 -26
  80. package/esm/LinearGenomeView/components/ResizeAllTracksHandle.d.ts +5 -0
  81. package/esm/LinearGenomeView/components/ResizeAllTracksHandle.js +71 -0
  82. package/esm/LinearGenomeView/components/Rubberband.d.ts +2 -3
  83. package/esm/LinearGenomeView/components/Rubberband.js +15 -17
  84. package/esm/LinearGenomeView/components/SVGHighlightBand.d.ts +10 -0
  85. package/esm/LinearGenomeView/components/SVGHighlightBand.js +8 -0
  86. package/esm/LinearGenomeView/components/Scalebar.d.ts +2 -6
  87. package/esm/LinearGenomeView/components/Scalebar.js +20 -22
  88. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -1
  89. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.js +54 -35
  90. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -1
  91. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +157 -126
  92. package/esm/LinearGenomeView/components/SearchBox.d.ts +22 -2
  93. package/esm/LinearGenomeView/components/SearchBox.js +61 -68
  94. package/esm/LinearGenomeView/components/SearchPanelForm.d.ts +9 -0
  95. package/esm/LinearGenomeView/components/SearchPanelForm.js +18 -0
  96. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +5 -4
  97. package/esm/LinearGenomeView/components/SearchResultsDialog.js +6 -8
  98. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +5 -3
  99. package/esm/LinearGenomeView/components/SearchResultsTable.js +31 -56
  100. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlight.d.ts +5 -0
  101. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlight.js +37 -0
  102. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlightExtension.d.ts +2 -0
  103. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlightExtension.js +5 -0
  104. package/esm/LinearGenomeView/components/SequencePatternPanel.d.ts +3 -0
  105. package/esm/LinearGenomeView/components/SequencePatternPanel.js +42 -0
  106. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +3 -5
  107. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +31 -53
  108. package/esm/LinearGenomeView/components/StrandCheckboxes.d.ts +8 -0
  109. package/esm/LinearGenomeView/components/StrandCheckboxes.js +13 -0
  110. package/esm/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  111. package/esm/LinearGenomeView/components/TrackContainer.js +136 -38
  112. package/esm/LinearGenomeView/components/TrackLabel.d.ts +2 -3
  113. package/esm/LinearGenomeView/components/TrackLabel.js +20 -26
  114. package/esm/LinearGenomeView/components/TrackLabelButtons.d.ts +7 -0
  115. package/esm/LinearGenomeView/components/TrackLabelButtons.js +33 -0
  116. package/esm/LinearGenomeView/components/TrackLabelDragHandle.d.ts +2 -5
  117. package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +6 -2
  118. package/esm/LinearGenomeView/components/TrackLabelMenu.d.ts +1 -1
  119. package/esm/LinearGenomeView/components/TrackLabelMenu.js +35 -87
  120. package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.d.ts +22 -0
  121. package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.js +46 -0
  122. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +5 -2
  123. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +66 -24
  124. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  125. package/esm/LinearGenomeView/components/TracksContainer.js +53 -32
  126. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -3
  127. package/esm/LinearGenomeView/components/VerticalGuide.js +6 -26
  128. package/esm/LinearGenomeView/components/ZoomButton.d.ts +7 -0
  129. package/esm/LinearGenomeView/components/ZoomButton.js +27 -0
  130. package/esm/LinearGenomeView/components/ZoomTransform.d.ts +9 -0
  131. package/esm/LinearGenomeView/components/ZoomTransform.js +37 -0
  132. package/esm/LinearGenomeView/components/defaultMotifs.d.ts +1 -0
  133. package/esm/LinearGenomeView/components/defaultMotifs.js +22 -0
  134. package/esm/LinearGenomeView/components/fetchSequence.d.ts +6 -8
  135. package/esm/LinearGenomeView/components/fetchSequence.js +17 -9
  136. package/esm/LinearGenomeView/components/recentLocationsMenu.d.ts +15 -0
  137. package/esm/LinearGenomeView/components/recentLocationsMenu.js +46 -0
  138. package/esm/LinearGenomeView/components/searchModes.d.ts +13 -0
  139. package/esm/LinearGenomeView/components/searchModes.js +22 -0
  140. package/esm/LinearGenomeView/components/trackLabelMenuItems.d.ts +7 -0
  141. package/esm/LinearGenomeView/components/trackLabelMenuItems.js +67 -0
  142. package/esm/LinearGenomeView/components/useRangeSelect.d.ts +9 -67
  143. package/esm/LinearGenomeView/components/useRangeSelect.js +54 -102
  144. package/esm/LinearGenomeView/components/useSearchBoxPrefs.d.ts +26 -0
  145. package/esm/LinearGenomeView/components/useSearchBoxPrefs.js +58 -0
  146. package/esm/LinearGenomeView/components/useSideScroll.d.ts +17 -3
  147. package/esm/LinearGenomeView/components/useSideScroll.js +163 -45
  148. package/esm/LinearGenomeView/components/util.d.ts +24 -6
  149. package/esm/LinearGenomeView/components/util.js +28 -5
  150. package/esm/LinearGenomeView/consts.d.ts +9 -2
  151. package/esm/LinearGenomeView/consts.js +20 -2
  152. package/esm/LinearGenomeView/containingLgv.d.ts +21 -0
  153. package/esm/LinearGenomeView/containingLgv.js +23 -0
  154. package/esm/LinearGenomeView/flyTo.d.ts +38 -0
  155. package/esm/LinearGenomeView/flyTo.js +135 -0
  156. package/esm/LinearGenomeView/headerFit.d.ts +29 -0
  157. package/esm/LinearGenomeView/headerFit.js +72 -0
  158. package/esm/LinearGenomeView/index.d.ts +28 -3
  159. package/esm/LinearGenomeView/index.js +13 -7
  160. package/esm/LinearGenomeView/keyboardHandler.d.ts +9 -0
  161. package/esm/LinearGenomeView/keyboardHandler.js +25 -1
  162. package/esm/LinearGenomeView/launchKeys.d.ts +2 -0
  163. package/esm/LinearGenomeView/launchKeys.js +27 -0
  164. package/esm/LinearGenomeView/lazyDialogs.d.ts +8 -14
  165. package/esm/LinearGenomeView/lazyDialogs.js +4 -3
  166. package/esm/LinearGenomeView/linkedViewSync.d.ts +12 -0
  167. package/esm/LinearGenomeView/linkedViewSync.js +36 -0
  168. package/esm/LinearGenomeView/menuItems.d.ts +25 -2
  169. package/esm/LinearGenomeView/menuItems.js +306 -179
  170. package/esm/LinearGenomeView/model.d.ts +3363 -164
  171. package/esm/LinearGenomeView/model.js +2548 -565
  172. package/esm/LinearGenomeView/sharedScaleContainer.d.ts +18 -0
  173. package/esm/LinearGenomeView/sharedScaleContainer.js +17 -0
  174. package/esm/LinearGenomeView/showRegionsWithUndo.d.ts +35 -0
  175. package/esm/LinearGenomeView/showRegionsWithUndo.js +50 -0
  176. package/esm/LinearGenomeView/stickyChrome.d.ts +15 -0
  177. package/esm/LinearGenomeView/stickyChrome.js +26 -0
  178. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.d.ts +1 -1
  179. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +17 -18
  180. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +5 -3
  181. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +34 -35
  182. package/esm/LinearGenomeView/svgcomponents/SVGHighlights.d.ts +5 -0
  183. package/esm/LinearGenomeView/svgcomponents/SVGHighlights.js +26 -0
  184. package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.d.ts +5 -0
  185. package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.js +13 -0
  186. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +1 -3
  187. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +73 -41
  188. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +1 -1
  189. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +20 -3
  190. package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.d.ts +8 -0
  191. package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.js +36 -0
  192. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +3 -3
  193. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +66 -39
  194. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +1 -1
  195. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +9 -7
  196. package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.d.ts +27 -0
  197. package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.js +12 -0
  198. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +5 -3
  199. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +54 -9
  200. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +9 -15
  201. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +17 -21
  202. package/esm/LinearGenomeView/svgcomponents/SVGView.d.ts +18 -0
  203. package/esm/LinearGenomeView/svgcomponents/SVGView.js +13 -0
  204. package/esm/LinearGenomeView/svgcomponents/figureContract.d.ts +45 -0
  205. package/esm/LinearGenomeView/svgcomponents/figureContract.js +130 -0
  206. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.d.ts +76 -0
  207. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.js +66 -0
  208. package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.d.ts +70 -0
  209. package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.js +245 -0
  210. package/esm/LinearGenomeView/svgcomponents/util.d.ts +96 -5
  211. package/esm/LinearGenomeView/svgcomponents/util.js +242 -4
  212. package/esm/LinearGenomeView/types.d.ts +20 -37
  213. package/esm/LinearGenomeView/types.js +1 -0
  214. package/esm/LinearGenomeView/util.d.ts +347 -12
  215. package/esm/LinearGenomeView/util.js +577 -62
  216. package/esm/MultiLevelRubberband/MultiLevelRubberband.d.ts +6 -0
  217. package/esm/MultiLevelRubberband/MultiLevelRubberband.js +40 -0
  218. package/esm/MultiLevelRubberband/index.d.ts +4 -0
  219. package/esm/MultiLevelRubberband/index.js +3 -0
  220. package/esm/MultiLevelRubberband/menuItems.d.ts +34 -0
  221. package/esm/MultiLevelRubberband/menuItems.js +52 -0
  222. package/esm/MultiLevelRubberband/rowLabel.d.ts +22 -0
  223. package/esm/MultiLevelRubberband/rowLabel.js +27 -0
  224. package/esm/MultiLevelRubberband/types.d.ts +7 -0
  225. package/esm/MultiLevelRubberband/useRangeSelect.d.ts +25 -0
  226. package/esm/MultiLevelRubberband/useRangeSelect.js +120 -0
  227. package/esm/displayKitTests/perRegionTestEnv.d.ts +1391 -0
  228. package/esm/displayKitTests/perRegionTestEnv.js +142 -0
  229. package/esm/index.d.ts +50 -1245
  230. package/esm/index.js +88 -33
  231. package/esm/searchUtils.d.ts +62 -12
  232. package/esm/searchUtils.js +335 -48
  233. package/esm/shared/RubberbandSpan.d.ts +15 -0
  234. package/esm/shared/RubberbandSpan.js +34 -0
  235. package/esm/shared/coordLabels.d.ts +47 -0
  236. package/esm/shared/coordLabels.js +133 -0
  237. package/esm/shared/useWindowDrag.d.ts +18 -0
  238. package/esm/shared/useWindowDrag.js +45 -0
  239. package/package.json +18 -19
  240. package/esm/BaseLinearDisplay/SVGLegend.d.ts +0 -6
  241. package/esm/BaseLinearDisplay/SVGLegend.js +0 -17
  242. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.d.ts +0 -2
  243. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.js +0 -11
  244. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +0 -8
  245. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -53
  246. package/esm/BaseLinearDisplay/components/Block.d.ts +0 -14
  247. package/esm/BaseLinearDisplay/components/Block.js +0 -45
  248. package/esm/BaseLinearDisplay/components/BlockErrorMessage.d.ts +0 -7
  249. package/esm/BaseLinearDisplay/components/BlockErrorMessage.js +0 -22
  250. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +0 -6
  251. package/esm/BaseLinearDisplay/components/BlockMsg.js +0 -26
  252. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.d.ts +0 -9
  253. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.js +0 -42
  254. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.d.ts +0 -11
  255. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.js +0 -40
  256. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.d.ts +0 -19
  257. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.js +0 -45
  258. package/esm/BaseLinearDisplay/components/FloatingLabels.d.ts +0 -5
  259. package/esm/BaseLinearDisplay/components/FloatingLabels.js +0 -75
  260. package/esm/BaseLinearDisplay/components/FloatingLegend.d.ts +0 -8
  261. package/esm/BaseLinearDisplay/components/FloatingLegend.js +0 -43
  262. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -5
  263. package/esm/BaseLinearDisplay/components/LinearBlocks.js +0 -23
  264. package/esm/BaseLinearDisplay/components/LoadingOverlay.d.ts +0 -5
  265. package/esm/BaseLinearDisplay/components/LoadingOverlay.js +0 -49
  266. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.d.ts +0 -4
  267. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.js +0 -26
  268. package/esm/BaseLinearDisplay/components/MenuPage.d.ts +0 -8
  269. package/esm/BaseLinearDisplay/components/MenuPage.js +0 -24
  270. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.d.ts +0 -21
  271. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.js +0 -52
  272. package/esm/BaseLinearDisplay/components/RenderedBlocks.d.ts +0 -12
  273. package/esm/BaseLinearDisplay/components/RenderedBlocks.js +0 -22
  274. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +0 -12
  275. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -18
  276. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +0 -10
  277. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +0 -20
  278. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +0 -13
  279. package/esm/BaseLinearDisplay/components/Tooltip.js +0 -22
  280. package/esm/BaseLinearDisplay/components/types.d.ts +0 -1
  281. package/esm/BaseLinearDisplay/components/util.d.ts +0 -21
  282. package/esm/BaseLinearDisplay/components/util.js +0 -107
  283. package/esm/BaseLinearDisplay/index.d.ts +0 -17
  284. package/esm/BaseLinearDisplay/index.js +0 -13
  285. package/esm/BaseLinearDisplay/model.d.ts +0 -1197
  286. package/esm/BaseLinearDisplay/model.js +0 -432
  287. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +0 -32
  288. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +0 -113
  289. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.d.ts +0 -26
  290. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.js +0 -57
  291. package/esm/BaseLinearDisplay/models/SvgFloatingLabels.d.ts +0 -8
  292. package/esm/BaseLinearDisplay/models/SvgFloatingLabels.js +0 -19
  293. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +0 -11
  294. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +0 -31
  295. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +0 -2
  296. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +0 -29
  297. package/esm/BaseLinearDisplay/models/configSchema.d.ts +0 -29
  298. package/esm/BaseLinearDisplay/models/configSchema.js +0 -33
  299. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +0 -98
  300. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -242
  301. package/esm/BaseLinearDisplay/models/util.d.ts +0 -9
  302. package/esm/BaseLinearDisplay/models/util.js +0 -43
  303. package/esm/BaseLinearDisplay/renderSvg.d.ts +0 -3
  304. package/esm/BaseLinearDisplay/renderSvg.js +0 -63
  305. package/esm/BaseLinearDisplay/types.d.ts +0 -43
  306. package/esm/BaseLinearDisplay/types.js +0 -3
  307. package/esm/BaseLinearDisplay/util.d.ts +0 -16
  308. package/esm/BaseLinearDisplay/util.js +0 -71
  309. package/esm/BasicTrack/configSchema.d.ts +0 -85
  310. package/esm/BasicTrack/configSchema.js +0 -8
  311. package/esm/BasicTrack/index.d.ts +0 -2
  312. package/esm/BasicTrack/index.js +0 -12
  313. package/esm/LinearBareDisplay/configSchema.d.ts +0 -32
  314. package/esm/LinearBareDisplay/configSchema.js +0 -11
  315. package/esm/LinearBareDisplay/index.d.ts +0 -4
  316. package/esm/LinearBareDisplay/index.js +0 -20
  317. package/esm/LinearBareDisplay/model.d.ts +0 -1196
  318. package/esm/LinearBareDisplay/model.js +0 -32
  319. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.d.ts +0 -5
  320. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.js +0 -9
  321. package/esm/LinearBasicDisplay/configSchema.d.ts +0 -32
  322. package/esm/LinearBasicDisplay/configSchema.js +0 -11
  323. package/esm/LinearBasicDisplay/index.d.ts +0 -4
  324. package/esm/LinearBasicDisplay/index.js +0 -20
  325. package/esm/LinearBasicDisplay/model.d.ts +0 -1391
  326. package/esm/LinearBasicDisplay/model.js +0 -158
  327. package/esm/LinearFeatureDisplay/components/AddFiltersDialog.d.ts +0 -9
  328. package/esm/LinearFeatureDisplay/components/AddFiltersDialog.js +0 -58
  329. package/esm/LinearFeatureDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  330. package/esm/LinearFeatureDisplay/components/SetMaxHeightDialog.js +0 -26
  331. package/esm/LinearFeatureDisplay/configSchema.d.ts +0 -32
  332. package/esm/LinearFeatureDisplay/configSchema.js +0 -11
  333. package/esm/LinearFeatureDisplay/index.d.ts +0 -3
  334. package/esm/LinearFeatureDisplay/index.js +0 -2
  335. package/esm/LinearFeatureDisplay/model.d.ts +0 -1443
  336. package/esm/LinearFeatureDisplay/model.js +0 -305
  337. package/esm/LinearGenomeView/SVGErrorBox.d.ts +0 -5
  338. package/esm/LinearGenomeView/SVGErrorBox.js +0 -4
  339. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +0 -11
  340. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +0 -27
  341. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +0 -5
  342. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +0 -13
  343. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +0 -3
  344. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +0 -17
  345. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +0 -3
  346. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +0 -8
  347. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +0 -16
  348. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +0 -101
  349. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +0 -10
  350. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +0 -45
  351. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +0 -15
  352. package/esm/LinearGenomeView/components/RubberbandSpan.js +0 -32
  353. package/esm/LinearGenomeView/components/RubberbandTooltip.d.ts +0 -5
  354. package/esm/LinearGenomeView/components/RubberbandTooltip.js +0 -17
  355. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +0 -8
  356. package/esm/LinearGenomeView/components/TrackLabelContainer.js +0 -25
  357. package/esm/LinearGenomeView/components/useWheelScroll.d.ts +0 -7
  358. package/esm/LinearGenomeView/components/useWheelScroll.js +0 -69
  359. package/esm/LinearGenomeView/svgExportUtil.d.ts +0 -9
  360. package/esm/LinearGenomeView/svgExportUtil.js +0 -6
  361. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -5
  362. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js +0 -7
  363. /package/esm/{BaseLinearDisplay/components → MultiLevelRubberband}/types.js +0 -0
@@ -1,5 +1,243 @@
1
- import { sum } from '@jbrowse/core/util';
2
- export function totalHeight(tracks, textHeight, trackLabels) {
3
- return sum(tracks.map(t => t.displays[0].height +
4
- (['none', 'left'].includes(trackLabels) ? 0 : textHeight)));
1
+ import { svgTrackName } from '@jbrowse/core/svg/trackNames';
2
+ import { max, measureText, sum } from '@jbrowse/core/util';
3
+ import { HEADER_BAR_HEIGHT, HEADER_OVERVIEW_HEIGHT, SVG_SCALEBAR_CAP, } from '../consts.js';
4
+ import { REF_NAME_LABEL_FONT_SIZE } from '../util.js';
5
+ export const trackSpacing = 2;
6
+ // Major and minor gridline tick x-positions, shifted from the staticBlocks
7
+ // frame (which `gridlineTicks`/`scalebarLabels` are computed in, and which
8
+ // overhangs the viewport on both sides) into the view frame. Shared by the SVG
9
+ // gridlines and ruler so their tick pitch can't drift. `dx` is returned too
10
+ // since the ruler reuses it to place its coordinate labels.
11
+ //
12
+ // The shift is the view's own `staticBlocksTranslateX`, so the export and
13
+ // ZoomTransform cannot disagree about the frame.
14
+ export function gridlineTickXs(model) {
15
+ const dx = model.staticBlocksTranslateX;
16
+ const major = [];
17
+ const minor = [];
18
+ for (const tick of model.gridlineTicks) {
19
+ ;
20
+ (tick.major ? major : minor).push(dx + tick.x);
21
+ }
22
+ return { dx, major, minor };
23
+ }
24
+ // `d` for a run of vertical tick lines, collapsed into one <path> rather than a
25
+ // <line> each — as the on-screen Gridlines does. Ticks are anonymous positions
26
+ // with no natural React key, and a few hundred of them per export is a lot of
27
+ // nodes to spend on that.
28
+ export function vlinePath(xs, y1, y2) {
29
+ return xs.map(x => `M${x} ${y1}V${y2}`).join('');
30
+ }
31
+ // Vertical gap between stacked header rows.
32
+ const ROW_GAP = 4;
33
+ // Vertical ink extents of a text label, as a fraction of its font size: Chrome
34
+ // reports a 13px Latin string as 15px tall with ~3px of that below the
35
+ // baseline. `fontSize` alone undercounts the box (it ignores the descenders),
36
+ // which is what used to let an 'offset' label's descenders land on the first
37
+ // pixel row of the track body.
38
+ const LABEL_INK_EM = 1.16;
39
+ const LABEL_DESCENT_EM = 0.22;
40
+ export function labelInkHeight(fontSize) {
41
+ return Math.ceil(fontSize * LABEL_INK_EM);
42
+ }
43
+ function labelDescent(fontSize) {
44
+ return Math.ceil(fontSize * LABEL_DESCENT_EM);
45
+ }
46
+ /**
47
+ * Baseline y for a label whose ink box should start at `topY` — roughly what
48
+ * `dominantBaseline="hanging"` asks the renderer for, but resolved here.
49
+ *
50
+ * Not a renderer-compatibility workaround (`dominant-baseline` is well
51
+ * supported, and SvgCanvas emits it on every feature label it writes). The
52
+ * point is that this file already *models* the ink box, in LABEL_INK_EM /
53
+ * LABEL_DESCENT_EM, and reserves vertical space from that model —
54
+ * `getHeaderLayout` budgets `labelInkHeight(fontSize)` for the scalebar's bp
55
+ * label, `defaultTextHeight` for an offset track label. A label placed with
56
+ * `hanging` is instead positioned by the renderer's own notion of the font's
57
+ * ascent, so the space reserved and the space used come from two different
58
+ * models that merely happen to agree closely at the sizes we ship. Resolving
59
+ * the baseline from the same constants makes them one model, which is what lets
60
+ * util.test.ts check placement against reservation at all.
61
+ */
62
+ export function labelBaselineFromTop(topY, fontSize) {
63
+ return topY + labelInkHeight(fontSize) - labelDescent(fontSize);
64
+ }
65
+ // clearance an 'offset' label keeps above its ascenders and below its
66
+ // descenders. The bottom gap is the wider of the two: it separates text from
67
+ // the features, where the top gap only separates it from the track above.
68
+ const LABEL_PAD_TOP = 1;
69
+ const LABEL_PAD_BOTTOM = 3;
70
+ // Default `textHeight`: the band an 'offset' label occupies above its track,
71
+ // i.e. its full ink box plus that clearance. 20px at the default 13px font,
72
+ // where the old fixed 18 left the descenders 0.4px shy of the features.
73
+ export function defaultTextHeight(fontSize) {
74
+ return labelInkHeight(fontSize) + LABEL_PAD_TOP + LABEL_PAD_BOTTOM;
75
+ }
76
+ // Baseline for an 'offset' label sitting in a `textHeight`-tall band. Measured
77
+ // up from the bottom of the band rather than down from the top, so a
78
+ // caller-supplied textHeight still clears the features (it eats into the gap
79
+ // above the label instead).
80
+ export function offsetLabelBaselineY(textHeight, fontSize) {
81
+ return textHeight - LABEL_PAD_BOTTOM - labelDescent(fontSize);
82
+ }
83
+ // Baseline for a label inset into the top of the box it draws over ('overlapping'
84
+ // mode), measured down from that top edge so the ascenders stay inside it.
85
+ export function insetLabelBaselineY(fontSize) {
86
+ return labelBaselineFromTop(LABEL_PAD_TOP, fontSize);
87
+ }
88
+ // The same layout for a STACKED row's header (SVGRowHeader), which differs from
89
+ // the standalone one in direction: its origin is the top of the ruler, and what
90
+ // sits above the ruler is drawn at negative y, into a band the caller reserves
91
+ // between this row and the one above. `bandHeight` is that reservation.
92
+ //
93
+ // A row with no scalebar keeps the layout it has always had — the assembly label
94
+ // on the alphabetic baseline at the origin, its ink box in the caller's band —
95
+ // so the height of a synteny stack does not move.
96
+ //
97
+ // With one, the bar and its bp label go between the assembly name and the ruler.
98
+ // A stacked export is several loci a reader is asked to compare, and without a
99
+ // scale in each row the only thing saying whether two rows are at the same zoom
100
+ // is their ruler coordinates, which are unreadable at the size a figure is
101
+ // published at. The standalone LGV export has drawn this bar all along.
102
+ //
103
+ // The name's band is reserved whether or not the row draws one: a breakpoint
104
+ // split view names its first row only, and the rest stay the same height as it.
105
+ export function getRowHeaderLayout({ fontSize, showScalebar, }) {
106
+ const label = labelInkHeight(fontSize);
107
+ // the bp label hangs a cap below the bar's line and its own ink box ends a gap
108
+ // above the ruler at y=0
109
+ const scalebarLineY = showScalebar
110
+ ? -(ROW_GAP + label + SVG_SCALEBAR_CAP)
111
+ : undefined;
112
+ // the assembly name's ink box ends a gap above the bar's top cap, which is a
113
+ // vertical line at the same x the name starts at. Everything here is placed by
114
+ // ink box rather than by baseline, because the gaps are fixed while a font's
115
+ // descent is not: laying the label out from its baseline instead put its
116
+ // descenders through that cap at the larger export fonts.
117
+ // without a scalebar the name sits on its baseline at the origin, its
118
+ // descenders into the ruler's top, so only the ink above the baseline counts
119
+ const assemblyInkTop = scalebarLineY === undefined
120
+ ? -labelBaselineFromTop(0, fontSize)
121
+ : scalebarLineY - SVG_SCALEBAR_CAP - ROW_GAP - label;
122
+ return {
123
+ // undefined rather than an unused number: a row without a scalebar has no
124
+ // line to place, and the caller draws nothing
125
+ scalebarLineY,
126
+ // 0 is the pre-scalebar placement, kept exactly so a synteny stack doesn't
127
+ // move
128
+ assemblyLabelBaselineY: showScalebar
129
+ ? labelBaselineFromTop(assemblyInkTop, fontSize)
130
+ : 0,
131
+ bandHeight: -assemblyInkTop,
132
+ };
133
+ }
134
+ export function getHeaderLayout({ fontSize, showCytobands, rulerHeight, }) {
135
+ // the assembly name is drawn on its ink box, not on `fontSize`: at y=0 with a
136
+ // hanging baseline its ascenders rose above the export's top edge and got
137
+ // clipped, so the label now hangs from its own baseline inside this band
138
+ const assemblyLabelHeight = labelInkHeight(fontSize);
139
+ const cytobandTop = assemblyLabelHeight + ROW_GAP;
140
+ const polygonTop = cytobandTop + HEADER_OVERVIEW_HEIGHT;
141
+ // scalebar line sits at the bottom tip of the "you are here" polygon (with
142
+ // cytobands) or just below the assembly name (without); the cap clears the
143
+ // assembly label in the latter case
144
+ const scalebarLineY = showCytobands
145
+ ? polygonTop + HEADER_BAR_HEIGHT
146
+ : cytobandTop + SVG_SCALEBAR_CAP;
147
+ // the bp label hangs below the scalebar line (a cap's clearance, then the
148
+ // label's ink box), and the ruler starts a gap below that
149
+ const rulerTop = scalebarLineY + SVG_SCALEBAR_CAP + labelInkHeight(fontSize) + ROW_GAP;
150
+ return {
151
+ assemblyLabelBaselineY: labelBaselineFromTop(0, fontSize),
152
+ cytobandTop,
153
+ scalebarLineY,
154
+ rulerTop,
155
+ tracksTop: rulerTop + rulerHeight,
156
+ };
157
+ }
158
+ // Ruler tick geometry, shared by the tick marks and their number labels.
159
+ export const RULER_MAJOR_TICK = 5;
160
+ export const RULER_MINOR_TICK = 3;
161
+ // clearance between the tick-number baseline and the marks below it
162
+ const RULER_TICK_LABEL_GAP = 2;
163
+ // Vertical positions within a ruler of the given budget: tick marks hang just
164
+ // above the tracks (bottom of the budget) and the numbers sit above the marks,
165
+ // so the two never overprint.
166
+ export function getRulerLayout(rulerHeight) {
167
+ const tickTopY = rulerHeight - 2 - RULER_MAJOR_TICK;
168
+ return { tickTopY, numbersBaselineY: tickTopY - RULER_TICK_LABEL_GAP };
169
+ }
170
+ // Ink box of the bold refName label drawn at the top of the ruler, keyed to the
171
+ // size its glyphs are actually drawn at rather than to the export's general
172
+ // `fontSize`. The two are independent: the fit tests upstream (refNameLabelWidth
173
+ // via getScalebarRefNameLabels / refNameLabelFitsInView) all measure at
174
+ // REF_NAME_LABEL_FONT_SIZE, so sizing the label's clip box off `fontSize`
175
+ // instead clipped the descenders of a name like `chrUn_gl000220` at the default
176
+ // 13, and both ends of the glyphs at any smaller export font.
177
+ export const refNameLabelBoxHeight = labelInkHeight(REF_NAME_LABEL_FONT_SIZE);
178
+ export const refNameLabelBaselineY = labelBaselineFromTop(0, REF_NAME_LABEL_FONT_SIZE);
179
+ // The mode one track's label is drawn in. 'overlapping' yields to 'offset' for a
180
+ // display that `prefersOffset`, as TrackContainer does on screen: its left edge
181
+ // carries content — an axis, a sample's genotypes — the label would print over.
182
+ export function trackLabelMode(track, trackLabels) {
183
+ return trackLabels === 'overlapping' && track.displays[0]?.prefersOffset
184
+ ? 'offset'
185
+ : trackLabels;
186
+ }
187
+ // space the label pushes a track's body down by; only 'offset' mode does
188
+ export function labelOffset(track, trackLabels, textHeight) {
189
+ return trackLabelMode(track, trackLabels) === 'offset' ? textHeight : 0;
190
+ }
191
+ // Gap between a 'left' track label's right edge and the track body.
192
+ // SVGTrackLabel right-aligns its text at `trackLabelOffset - TRACK_LABEL_GAP`,
193
+ // so it and trackLabelLeftOffset must agree or the widest name overflows the
194
+ // gutter it was measured for.
195
+ export const TRACK_LABEL_GAP = 40;
196
+ // Horizontal gutter reserved for 'left' track labels (0 in every other mode).
197
+ // Takes an already-minimized-filtered track list, so the reserved width matches
198
+ // the labels that actually get drawn.
199
+ //
200
+ // `fontFamily` is the export's own font option, and it has to reach the ruler
201
+ // here: the labels are drawn in it (wrapSvgExport puts it on the root <svg>,
202
+ // where every <text> inherits it), so measuring them in another font reserves
203
+ // the wrong gutter — and this is the one measurement whose being wrong shows up
204
+ // as ink outside its box rather than as a label dropped at an edge. Monospace
205
+ // is the family that breaks it; see measureText.
206
+ //
207
+ // The export's other fit tests (tickLabelWidth for the ruler coordinates,
208
+ // refNameLabelWidth for the chromosome names) still measure at the app font,
209
+ // deliberately: they feed *drop* rules whose worst case is a label at the
210
+ // viewport edge kept instead of dropped, and every one of them is drawn inside
211
+ // a clip that bounds it either way. Their region-fit half also lives in
212
+ // `getScalebarRefNameLabels`, an on-screen model getter, so making them
213
+ // family-aware means threading an export option through screen state.
214
+ export function trackLabelLeftOffset({ tracks, trackLabels, fontSize, fontFamily, session, }) {
215
+ // no labels means no gutter, and that includes having no tracks to label: the
216
+ // gap alone would push the whole figure right of a margin nothing is drawn in
217
+ return trackLabels === 'left' && tracks.length > 0
218
+ ? max(tracks.map(t => measureText(svgTrackName(t, session), fontSize, fontFamily)), 0) + TRACK_LABEL_GAP
219
+ : 0;
220
+ }
221
+ // vertical box a single track occupies. Shared by totalHeight (sum) and
222
+ // trackBoxOffsets (prefix-sum) so the two can't drift.
223
+ export function trackBoxHeight(track, trackLabels, textHeight) {
224
+ return (track.displays[0].height +
225
+ labelOffset(track, trackLabels, textHeight) +
226
+ trackSpacing);
227
+ }
228
+ // Top y of each track's box within a stack of them. SVGTracks lays the bodies
229
+ // out with it and the breakpoint-split export anchors its overlay ribbons with
230
+ // it, so one implementation rather than two prefix-sums that must agree —
231
+ // they drifted by trackSpacing per track when they didn't.
232
+ export function trackBoxOffsets(tracks, trackLabels, textHeight) {
233
+ const offsets = [];
234
+ let total = 0;
235
+ for (const track of tracks) {
236
+ offsets.push(total);
237
+ total += trackBoxHeight(track, trackLabels, textHeight);
238
+ }
239
+ return offsets;
240
+ }
241
+ export function totalHeight(tracks, trackLabels, textHeight) {
242
+ return sum(tracks.map(t => trackBoxHeight(t, trackLabels, textHeight)));
5
243
  }
@@ -1,39 +1,16 @@
1
- export interface BpOffset {
2
- refName?: string;
3
- index: number;
4
- offset: number;
5
- start?: number;
6
- end?: number;
1
+ import type { LinearGenomeViewStateModel } from './model.ts';
2
+ import type { BpOffset as CoreBpOffset } from '@jbrowse/core/util/Base1DUtils';
3
+ import type { HighlightInput, HighlightType } from '@jbrowse/core/util/highlights';
4
+ import type { TrackInit } from '@jbrowse/core/util/tracks';
5
+ import type { SnapshotIn } from '@jbrowse/mobx-state-tree';
6
+ export interface BpOffset extends CoreBpOffset {
7
7
  coord?: number;
8
8
  reversed?: boolean;
9
9
  assemblyName?: string;
10
10
  oob?: boolean;
11
11
  }
12
- export interface ExportSvgOptions {
13
- rasterizeLayers?: boolean;
14
- format?: 'svg' | 'png';
15
- filename?: string;
16
- Wrapper?: React.FC<{
17
- children: React.ReactNode;
18
- }>;
19
- fontSize?: number;
20
- rulerHeight?: number;
21
- textHeight?: number;
22
- paddingHeight?: number;
23
- headerHeight?: number;
24
- cytobandHeight?: number;
25
- trackLabels?: string;
26
- themeName?: string;
27
- showGridlines?: boolean;
28
- }
29
- export interface HighlightType {
30
- start: number;
31
- end: number;
32
- assemblyName?: string;
33
- refName: string;
34
- color?: string;
35
- label?: string;
36
- }
12
+ export type { ExportSvgOptions, TrackLabelMode, ViewTrackLabelMode, } from '@jbrowse/display-kit/types';
13
+ export type { HighlightInput, HighlightType };
37
14
  export interface NavLocation {
38
15
  refName: string;
39
16
  start?: number;
@@ -43,16 +20,22 @@ export interface NavLocation {
43
20
  export interface VolatileGuide {
44
21
  xPos: number;
45
22
  }
46
- export type TrackInit = string | {
47
- trackId: string;
48
- displaySnapshot?: Record<string, unknown>;
49
- trackSnapshot?: Record<string, unknown>;
50
- };
51
23
  export interface InitState {
24
+ /**
25
+ * A locstring, or several separated by spaces to open a discontinuous view:
26
+ * `'chr3:25,325,000-25,361,000 chr10:58,716,500-58,718,500'`. Multiple
27
+ * regions are the only declarative way to frame something spread across loci
28
+ * (a derivative allele against its sources, a gene's partners in a fusion) --
29
+ * `displayedRegionNames` takes whole chromosomes, not intervals.
30
+ */
52
31
  loc?: string;
32
+ grow?: number;
33
+ showHitTrack?: boolean;
53
34
  assembly: string;
35
+ displayedRegionNames?: string[];
54
36
  tracks?: TrackInit[];
55
37
  tracklist?: boolean;
56
38
  nav?: boolean;
57
- highlight?: string[];
39
+ highlight?: (string | HighlightInput)[];
58
40
  }
41
+ export type LinearGenomeViewLaunchProps = Partial<Omit<SnapshotIn<LinearGenomeViewStateModel>, keyof InitState | 'id' | 'type' | 'launch'>>;
@@ -1 +1,2 @@
1
1
  export {};
2
+ // #endregion