@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,30 +1,365 @@
1
1
  import type { AssemblyManager, ParsedLocString } from '@jbrowse/core/util';
2
- import type { BaseBlock } from '@jbrowse/core/util/blockTypes';
2
+ import type { PxToBpResult } from '@jbrowse/core/util/Base1DUtils';
3
+ import type { BaseBlock, ContentBlock } from '@jbrowse/core/util/blockTypes';
4
+ import type { Region } from '@jbrowse/core/util/types';
5
+ interface CenterKeepingView {
6
+ width: number;
7
+ displayedRegions: Region[];
8
+ pxToBp: (px: number) => PxToBpResult;
9
+ setDisplayedRegions: (regions: Region[]) => void;
10
+ centerAt: (coord: number, refName: string, index?: number) => void;
11
+ }
12
+ /**
13
+ * The stored viewport of a view showing `totalBp` of displayed regions fitted to
14
+ * `width` — the regions filling it edge to edge, and centered in it only where
15
+ * they are too narrow to fill it.
16
+ *
17
+ * **This is where the fit-to-width rule is written.** `fitAllRegions` takes its
18
+ * scale from here rather than restating it, so the two cannot drift; a second
19
+ * spelling of `max(minBpPerPx * width, totalBp)` reading `MIN_BP_PER_PX` where
20
+ * the action reads the `minBpPerPx` GETTER would agree only for as long as
21
+ * nothing overrides it.
22
+ *
23
+ * The reason it is a function at all is `windowStartBp`, which `fitAllRegions`
24
+ * does not need (it centers in pixels, through `scrollTo`, which also clamps).
25
+ * A caller building a view SNAPSHOT does: it has no model to call
26
+ * `fitAllRegions()` on, and naming `bpPerPx`/`offsetPx` instead is dropped
27
+ * whenever the snapshot also carries a `windowWidthBp` — which one copied off an
28
+ * existing view always does. plugin-canvas's collapsed-intron launch is that
29
+ * caller. A live view calls `fitAllRegions()`.
30
+ *
31
+ * `width` enters only through the zoom-in floor, which bites for a region set
32
+ * narrower than `width * minBpPerPx`; the window itself is in bp and needs no
33
+ * width, which is why a snapshot can carry it at all.
34
+ */
35
+ export declare function fitAllRegionsWindow(totalBp: number, width: number, minBpPerPx: number): {
36
+ windowWidthBp: number;
37
+ windowStartBp: number;
38
+ };
39
+ /**
40
+ * Expand a region by a grow factor, adding padding on each side.
41
+ *
42
+ * @param start - region start coordinate
43
+ * @param end - region end coordinate
44
+ * @param grow - multiplier for expansion (e.g., 0.2 adds 20% padding on each
45
+ * side)
46
+ * @param minBound - minimum bound to clamp start to (default 0)
47
+ * @param maxBound - maximum bound to clamp end to (default Infinity)
48
+ * @returns object with expanded start and end coordinates
49
+ */
3
50
  export declare function expandRegion(start: number, end: number, grow: number, minBound?: number, maxBound?: number): {
4
51
  start: number;
5
52
  end: number;
6
53
  };
7
- export declare function chooseGridPitch(scale: number, minMajorPitchPx: number, minMinorPitchPx: number): {
8
- majorPitch: number;
9
- minorPitch: number;
54
+ /**
55
+ * Generate tick positions for the overview scalebar. Anchors at the first neat
56
+ * majorPitch multiple strictly inside the block so ticks land on round numbers
57
+ * regardless of where the block starts/ends.
58
+ */
59
+ export declare function makeOverviewTicks(start: number, end: number, bpPerPx: number, reversed?: boolean): {
60
+ genomicCoord: number;
61
+ offsetPx: number;
62
+ }[];
63
+ export interface Tick {
64
+ type: 'major' | 'minor';
65
+ base: number;
66
+ }
67
+ /**
68
+ * Ticks for one span of the ruler. Not the dotplot's same-named function, which
69
+ * walks static blocks into a single continuous axis and therefore has to dedupe
70
+ * the shared block seam and carry each tick's px. Here every block draws its own
71
+ * clipped ruler, so this overscans its span instead of deduping and leaves px to
72
+ * `makeBlockTicks`. What the two do share is already shared: `chooseGridPitch`,
73
+ * and `base` as the 0-based coordinate that `getTickDisplayStr` labels `base+1`.
74
+ */
75
+ export declare function makeTicks(start: number, end: number, bpPerPx: number, includeMinor?: boolean): Tick[];
76
+ /** A block's refName, or undefined for non-content (elided/padding) blocks. */
77
+ export declare function getBlockRefName(block: BaseBlock): string | undefined;
78
+ /**
79
+ * For blocks in display order, returns whether each block's refName should be
80
+ * labeled: true only for the first block of each run of same-refName regions,
81
+ * so a refName is shown once instead of repeated at every region boundary (e.g.
82
+ * collapsed introns produce many adjacent same-refName regions).
83
+ *
84
+ * A block with no refName ends the run. What an elided block hides is *other
85
+ * chromosomes*, so the same name reappearing on its far side starts a region the
86
+ * reader needs named again, not a continuation of the one before it. Regions lay
87
+ * out contiguously, so an elided run is the only nameless block that can fall
88
+ * between two content blocks — the boundary pads only bracket the whole set,
89
+ * where ending a run changes nothing.
90
+ */
91
+ export declare function showRefNameLabels<T>(blocks: T[], getRefName: (block: T) => string | undefined): boolean[];
92
+ /**
93
+ * Whether the displayed regions are laid out left-to-right, right-to-left, or
94
+ * some of each. `horizontallyFlip` reverses the order and flips every region at
95
+ * once, so a flipped row is uniformly `reversed`; `mixed` takes going out of
96
+ * your way, through the scalebar label menu's per-region "Reverse region".
97
+ */
98
+ export type RegionsOrientation = 'forward' | 'reversed' | 'mixed';
99
+ export declare function regionsOrientation(regions: {
100
+ reversed?: boolean;
101
+ }[]): RegionsOrientation;
102
+ export interface ScalebarRefNameLabel {
103
+ key: string;
104
+ refName: string;
105
+ displayedRegionIndex: number;
106
+ lastDisplayedRegionIndex: number;
107
+ sticky: boolean;
108
+ transform: number;
109
+ maxWidth: number;
110
+ paddingLeft: number;
111
+ text: string;
112
+ }
113
+ /**
114
+ * Builds the refName labels drawn along the scalebar as plain data (no JSX): one
115
+ * label per run of same-refName regions, the leftmost of them "sticky" — pinned
116
+ * so the run under the left edge stays named once its own left edge scrolls off.
117
+ *
118
+ * `caption` is the row-level chip at the viewport's left edge: which assembly
119
+ * the row is (`prefix`, synteny only) and whether the whole row is flipped. The
120
+ * chip takes `captionSpanPx` of the strip and the labels get the rest, so the
121
+ * sticky label pins to the chip's right edge ("hg38" then "chr1") and rides the
122
+ * run under THAT edge. A run the chip covers entirely goes unnamed, and the
123
+ * chip is not shortened to uncover it: a width fitted to the run under it
124
+ * changes with every run that pans past, and a fixed cap short enough to
125
+ * uncover a 55px chromosome cuts ordinary names. The assembly's `displayName`
126
+ * is where a long name gets shortened.
127
+ *
128
+ * `orientation` decides the ` [rev]` marker, following `assembleLocStrings`: say
129
+ * it where it distinguishes, once where it does not.
130
+ *
131
+ * - `reversed`: the caption carries the marker and no name does. A marker on a
132
+ * chromosome name is how the mixed case flags that one region.
133
+ * - `mixed`: every reversed run is marked. A marked label that fails the fit
134
+ * test falls back to the bare name rather than dropping.
135
+ * - `forward`: no marker.
136
+ *
137
+ * `maxWidth` is the whole label box, `paddingLeft` included — both consumers
138
+ * clip from the box's left edge. A name is drawn whole or not at all: clipped
139
+ * mid-glyph, "chr16" reads as "chr1".
140
+ */
141
+ export declare function getScalebarRefNameLabels({ blocks, offsetPx, prefix, orientation, }: {
142
+ blocks: BaseBlock[];
143
+ offsetPx: number;
144
+ prefix: string | undefined;
145
+ orientation?: RegionsOrientation;
146
+ }): {
147
+ labels: ScalebarRefNameLabel[];
148
+ caption: string | undefined;
149
+ captionSpanPx: number;
150
+ };
151
+ /**
152
+ * Screen-x span a refName label paints over: its padding and its glyphs, which
153
+ * is the whole of it, since the box shrinks to its text rather than filling the
154
+ * `maxWidth` it was fitted against. Anything drawn under this span is hidden by
155
+ * the label's opaque backing, so the coordinate numbers use it to stay out from
156
+ * under the sticky label the way `runRefNameLabelPx` keeps them out from under
157
+ * the others.
158
+ */
159
+ export declare function refNameLabelSpanPx(label: ScalebarRefNameLabel): {
160
+ left: number;
161
+ right: number;
10
162
  };
11
- export declare function makeTicks(start: number, end: number, bpPerPx: number, emitMajor?: boolean, emitMinor?: boolean): {
12
- type: string;
163
+ /**
164
+ * Whether a label from getScalebarRefNameLabels is drawn whole within a
165
+ * viewport `widthPx` wide. The labels themselves are only fitted to their own
166
+ * *run of regions*, which routinely runs past the right edge of the view, so
167
+ * one starting a few px before that edge passes the run fit and is then cut by
168
+ * the viewport clip. On screen that reads as a name scrolled partly out of
169
+ * frame, but a static SVG export has no frame to scroll — there a cut "LG2"
170
+ * just names a chromosome that doesn't exist, so the export drops it instead,
171
+ * as it already does for tick numbers at the same edge.
172
+ */
173
+ export declare function refNameLabelFitsInView(label: ScalebarRefNameLabel, widthPx: number): boolean;
174
+ /**
175
+ * The reorder entries the refName-label menu offers for the region at `idx` of
176
+ * `numRegions`, each already carrying the index it moves to. The "far" moves
177
+ * need a gap of more than one between `idx` and the end — otherwise "Move to
178
+ * far left/right" targets the same index as "Move left/right" and duplicates
179
+ * the entry.
180
+ */
181
+ export declare function regionMoveActions(idx: number, numRegions: number): {
182
+ label: string;
183
+ to: number;
184
+ }[];
185
+ /**
186
+ * A new region list, and where each old index went in it (-1 for a region it
187
+ * dropped). The index map is what lets a region displayed twice be followed.
188
+ */
189
+ export interface RegionEdit {
190
+ regions: Region[];
191
+ newIndexOf: (oldIndex: number) => number;
192
+ }
193
+ export declare function withRegionMoved(regions: Region[], from: number, to: number): RegionEdit;
194
+ export declare function withRegionRemoved(regions: Region[], index: number): RegionEdit;
195
+ export declare function withRegionsKept(regions: Region[], first: number, last: number): RegionEdit;
196
+ export declare function withRegionReversed(regions: Region[], index: number): RegionEdit;
197
+ /**
198
+ * Apply a region edit and keep the base under the middle of the viewport
199
+ * there, where the edit kept its region. `setDisplayedRegions` alone carries
200
+ * `offsetPx` into a coordinate space the edit redefined, which lands on
201
+ * whatever region now sits at that offset.
202
+ */
203
+ export declare function setDisplayedRegionsKeepingCenter(model: CenterKeepingView, { regions, newIndexOf }: RegionEdit): void;
204
+ /**
205
+ * The full run of same-orientation regions on one refName that a scalebar
206
+ * label's `firstRegionIndex`..`lastRegionIndex` sits inside. Those come off the
207
+ * static blocks, which are clipped to the viewport and broken by an elided
208
+ * block, so a zoomed-in collapsed-introns view brackets only the exons on
209
+ * screen — which is the wrong answer for anything acting on the whole run.
210
+ */
211
+ export declare function regionRunBounds(regions: Region[], firstIndex: number, lastIndex: number): {
212
+ first: number;
213
+ last: number;
214
+ };
215
+ /**
216
+ * Whether a label occupying [leftPx, leftPx + labelWidth] fits within a block
217
+ * of the given pixel width, used to skip tick labels that would be clipped at a
218
+ * region edge (common with small collapsed-intron regions).
219
+ */
220
+ export declare function labelFitsInBlock(leftPx: number, labelWidth: number, widthPx: number): boolean;
221
+ /** Font size of coordinate tick labels on the scalebar and overview scalebar. */
222
+ export declare const TICK_LABEL_FONT_SIZE = 11;
223
+ /**
224
+ * On-screen width of a coordinate tick label: the text plus 2px of horizontal
225
+ * padding on each side. Single-sourced so the HTML scalebar and the SVG export
226
+ * agree on when a label is too wide to fit inside its block.
227
+ */
228
+ export declare function tickLabelWidth(label: string): number;
229
+ /** Font size of the bold refName label drawn at the left edge of its block, on
230
+ * the scalebar and the overview scalebar alike. */
231
+ export declare const REF_NAME_LABEL_FONT_SIZE = 11;
232
+ /**
233
+ * Horizontal space the overview refName label occupies at a block's left edge.
234
+ * Overview tick labels use this to avoid drawing underneath the refName, which
235
+ * otherwise collide when zoomed far out (ticks bunch up near the block start).
236
+ */
237
+ export declare function overviewRefNameLabelWidth(refName: string): number;
238
+ /**
239
+ * How far right the ideogram starts, i.e. the gutter the chromosome name drawn
240
+ * to its left gets to itself. Shares overviewRefNameLabelWidth with the tick
241
+ * labels that dodge the same name, rather than measuring it again at a font size
242
+ * (12) the label is not actually drawn at (REF_NAME_LABEL_FONT_SIZE).
243
+ */
244
+ export declare function cytobandLabelGutterWidth(refName: string): number;
245
+ /**
246
+ * Coordinate labels drawn inside one overview-scalebar block: tick text plus its
247
+ * x within the block. Labels that can't be drawn whole between the block's bold
248
+ * refName label and its right edge are dropped by the same
249
+ * tickLabelWidth/labelFitsInBlock test the main scalebar and SVG export use; if
250
+ * too few survive to make a ruler, the block goes unnumbered.
251
+ */
252
+ export declare function makeOverviewTickLabels({ block, bpPerPx, refNameLabelPx, }: {
253
+ block: {
254
+ start: number;
255
+ end: number;
256
+ reversed?: boolean;
257
+ widthPx: number;
258
+ };
259
+ bpPerPx: number;
260
+ refNameLabelPx: number;
261
+ }): {
262
+ genomicCoord: number;
263
+ offsetPx: number;
264
+ label: string;
265
+ }[];
266
+ /**
267
+ * A maximal run of adjacent staticBlocks that belong to one contiguous
268
+ * displayed region. staticBlocks chop a region into ~800px chunks; merging them
269
+ * back means a coordinate label sitting on an internal chunk boundary is no
270
+ * longer clipped away by both neighbors (only genuine region edges clip).
271
+ */
272
+ export interface BlockRun {
273
+ offsetPx: number;
274
+ widthPx: number;
275
+ start: number;
276
+ end: number;
277
+ reversed: boolean;
278
+ refName: string;
279
+ isLeftEndOfDisplayedRegion: boolean;
280
+ labeled: boolean;
281
+ }
282
+ export declare function groupContiguousBlocks(blocks: BaseBlock[]): BlockRun[];
283
+ /**
284
+ * Horizontal space reserved at each run's left edge for the bold refName label
285
+ * drawn there, or 0 for runs that get none. Coordinate labels use this to stay
286
+ * out from under the name, the way the overview scalebar's already do via
287
+ * overviewRefNameLabelWidth: the refName label is opaque and painted after the
288
+ * numbers, so one underneath it isn't merely crowded but invisible — and since
289
+ * both sit in the block frame and scroll together, invisible at every scroll
290
+ * position rather than only while passing behind.
291
+ *
292
+ * Which runs get a label follows getScalebarRefNameLabels: only where a region
293
+ * genuinely begins, and only the first of a run of one refName (collapsed
294
+ * introns make many adjacent regions of the same name). It deliberately drops
295
+ * that function's offsetPx term so the reservation — and with it scalebarLabels
296
+ * — stays stable while scrolling; a run scrolled off the left reserves space
297
+ * that is off-screen anyway. Where the two disagree the reservation is the
298
+ * conservative side: at worst a coordinate is dropped from a region too narrow
299
+ * to have kept MIN_TICK_LABELS_PER_BLOCK of them.
300
+ *
301
+ * `orientation` enters because under `mixed` a reversed run's label carries the
302
+ * ` [rev]` marker and so is wider than its name. Under a uniformly `reversed`
303
+ * row only the sticky label is marked, and that one is dodged on screen instead
304
+ * (`refNameLabelSpanPx`), its x being a function of the scroll rather than of
305
+ * this frame.
306
+ */
307
+ export declare function runRefNameLabelPx(runs: BlockRun[], orientation?: RegionsOrientation): number[];
308
+ /**
309
+ * makeTicks plus each tick's pixel x within its block, accounting for reversed
310
+ * regions. Single source of the tick→px formula shared by gridlines, the
311
+ * scalebar coordinate labels, and SVG export so their positions can't drift.
312
+ */
313
+ export declare function makeBlockTicks({ start, end, reversed, }: {
314
+ start: number;
315
+ end: number;
316
+ reversed?: boolean;
317
+ }, bpPerPx: number, includeMinor?: boolean): {
318
+ type: 'major' | 'minor';
13
319
  base: number;
14
- index: number;
320
+ x: number;
15
321
  }[];
322
+ /**
323
+ * Generate location objects for a set of parsed locstrings, which includes
324
+ * translating the refNames to assembly-canonical refNames and adding the
325
+ * 'parentRegion'
326
+ *
327
+ * Used by navToLocations and navToLocString
328
+ *
329
+ * @param regions - array of parsed location strings to generate locations for
330
+ * @param assemblyManager - the assembly manager instance
331
+ * @param assemblyName - optional assembly name to use for regions that don't
332
+ * specify one
333
+ * @param grow - optional multiplier to expand regions by (e.g., 0.2 adds 20%
334
+ * padding on each side of the region). Useful for adding visual padding when
335
+ * navigating to a feature
336
+ */
16
337
  export declare function generateLocations({ regions, assemblyManager, assemblyName, grow, }: {
17
338
  regions: ParsedLocString[];
18
339
  assemblyManager: AssemblyManager;
19
340
  assemblyName?: string;
20
341
  grow?: number;
21
342
  }): Promise<{
22
- assemblyName: string;
23
- parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
343
+ refName: string;
24
344
  start?: number;
25
345
  end?: number;
26
- refName: string;
27
- reversed?: boolean | undefined;
346
+ reversed?: boolean;
347
+ assemblyName: string;
348
+ parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
28
349
  }[]>;
350
+ /**
351
+ * Parses locString or space separated set of locStrings into location objects
352
+ * Example inputs:
353
+ * "chr1"
354
+ * "chr1:1-100"
355
+ * "chr1:1..100"
356
+ * "chr1 chr2"
357
+ * "chr1:1-100 chr2:1-100"
358
+ * "chr1 100 200" equivalent to "chr1:100-200"
359
+ * "chr1:34M-35M" equivalent to "chr1:34000000-35000000"
360
+ *
361
+ * Used by navToLocString
362
+ */
29
363
  export declare function parseLocStrings(input: string, assemblyName: string, isValidRefName: (str: string, assemblyName: string) => boolean): ParsedLocString[];
30
- export declare function calculateVisibleLocStrings(contentBlocks: BaseBlock[]): string;
364
+ export declare function calculateVisibleLocStrings(contentBlocks: ContentBlock[]): string;
365
+ export {};