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

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 (357) hide show
  1. package/esm/FeatureTrack/configSchema.d.ts +104 -65
  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 +250 -121
  8. package/esm/LinearGenomeView/components/CenterLine.d.ts +1 -1
  9. package/esm/LinearGenomeView/components/CenterLine.js +16 -7
  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 +144 -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 +7 -3
  17. package/esm/LinearGenomeView/components/ExportSvgDialog.js +11 -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 +32 -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 +16 -7
  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 +67 -51
  38. package/esm/LinearGenomeView/components/Highlight.d.ts +1 -1
  39. package/esm/LinearGenomeView/components/Highlight.js +19 -23
  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 +9 -0
  43. package/esm/LinearGenomeView/components/HighlightChip.js +15 -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 +6 -5
  50. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.d.ts +1 -1
  51. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +89 -30
  52. package/esm/LinearGenomeView/components/MiniControls.d.ts +1 -1
  53. package/esm/LinearGenomeView/components/MiniControls.js +13 -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 +26 -0
  64. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +3 -3
  65. package/esm/LinearGenomeView/components/OverviewRubberband.js +44 -57
  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 +84 -79
  70. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +19 -5
  71. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +55 -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 +61 -0
  76. package/esm/LinearGenomeView/components/RangeSelectOverlay.d.ts +9 -0
  77. package/esm/LinearGenomeView/components/RangeSelectOverlay.js +20 -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/Rubberband.d.ts +1 -1
  81. package/esm/LinearGenomeView/components/Rubberband.js +13 -16
  82. package/esm/LinearGenomeView/components/SVGHighlightBand.d.ts +10 -0
  83. package/esm/LinearGenomeView/components/SVGHighlightBand.js +9 -0
  84. package/esm/LinearGenomeView/components/Scalebar.d.ts +2 -2
  85. package/esm/LinearGenomeView/components/Scalebar.js +16 -21
  86. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -1
  87. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.js +54 -35
  88. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -1
  89. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +142 -126
  90. package/esm/LinearGenomeView/components/SearchBox.d.ts +22 -2
  91. package/esm/LinearGenomeView/components/SearchBox.js +58 -66
  92. package/esm/LinearGenomeView/components/SearchPanelForm.d.ts +9 -0
  93. package/esm/LinearGenomeView/components/SearchPanelForm.js +18 -0
  94. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +3 -3
  95. package/esm/LinearGenomeView/components/SearchResultsDialog.js +5 -7
  96. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +4 -3
  97. package/esm/LinearGenomeView/components/SearchResultsTable.js +45 -53
  98. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlight.d.ts +5 -0
  99. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlight.js +37 -0
  100. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlightExtension.d.ts +2 -0
  101. package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlightExtension.js +5 -0
  102. package/esm/LinearGenomeView/components/SequencePatternPanel.d.ts +3 -0
  103. package/esm/LinearGenomeView/components/SequencePatternPanel.js +42 -0
  104. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -2
  105. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +31 -53
  106. package/esm/LinearGenomeView/components/StrandCheckboxes.d.ts +8 -0
  107. package/esm/LinearGenomeView/components/StrandCheckboxes.js +13 -0
  108. package/esm/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  109. package/esm/LinearGenomeView/components/TrackContainer.js +83 -39
  110. package/esm/LinearGenomeView/components/TrackLabel.d.ts +2 -3
  111. package/esm/LinearGenomeView/components/TrackLabel.js +11 -24
  112. package/esm/LinearGenomeView/components/TrackLabelButtons.d.ts +7 -0
  113. package/esm/LinearGenomeView/components/TrackLabelButtons.js +33 -0
  114. package/esm/LinearGenomeView/components/TrackLabelDragHandle.d.ts +2 -5
  115. package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +6 -2
  116. package/esm/LinearGenomeView/components/TrackLabelMenu.d.ts +1 -1
  117. package/esm/LinearGenomeView/components/TrackLabelMenu.js +32 -85
  118. package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.d.ts +22 -0
  119. package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.js +46 -0
  120. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +1 -1
  121. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +72 -18
  122. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  123. package/esm/LinearGenomeView/components/TracksContainer.js +65 -32
  124. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +1 -1
  125. package/esm/LinearGenomeView/components/VerticalGuide.js +6 -13
  126. package/esm/LinearGenomeView/components/ZoomButton.d.ts +7 -0
  127. package/esm/LinearGenomeView/components/ZoomButton.js +27 -0
  128. package/esm/LinearGenomeView/components/ZoomTransform.d.ts +9 -0
  129. package/esm/LinearGenomeView/components/ZoomTransform.js +37 -0
  130. package/esm/LinearGenomeView/components/defaultMotifs.d.ts +1 -0
  131. package/esm/LinearGenomeView/components/defaultMotifs.js +22 -0
  132. package/esm/LinearGenomeView/components/fetchSequence.d.ts +7 -8
  133. package/esm/LinearGenomeView/components/fetchSequence.js +17 -9
  134. package/esm/LinearGenomeView/components/recentLocationsMenu.d.ts +15 -0
  135. package/esm/LinearGenomeView/components/recentLocationsMenu.js +36 -0
  136. package/esm/LinearGenomeView/components/searchModes.d.ts +13 -0
  137. package/esm/LinearGenomeView/components/searchModes.js +22 -0
  138. package/esm/LinearGenomeView/components/trackLabelMenuItems.d.ts +7 -0
  139. package/esm/LinearGenomeView/components/trackLabelMenuItems.js +67 -0
  140. package/esm/LinearGenomeView/components/useRangeSelect.d.ts +11 -66
  141. package/esm/LinearGenomeView/components/useRangeSelect.js +82 -91
  142. package/esm/LinearGenomeView/components/useSearchBoxPrefs.d.ts +26 -0
  143. package/esm/LinearGenomeView/components/useSearchBoxPrefs.js +58 -0
  144. package/esm/LinearGenomeView/components/useSideScroll.d.ts +1 -1
  145. package/esm/LinearGenomeView/components/useSideScroll.js +87 -19
  146. package/esm/LinearGenomeView/components/util.d.ts +20 -6
  147. package/esm/LinearGenomeView/components/util.js +27 -6
  148. package/esm/LinearGenomeView/consts.d.ts +7 -2
  149. package/esm/LinearGenomeView/consts.js +18 -2
  150. package/esm/LinearGenomeView/flyTo.d.ts +38 -0
  151. package/esm/LinearGenomeView/flyTo.js +135 -0
  152. package/esm/LinearGenomeView/headerFit.d.ts +27 -0
  153. package/esm/LinearGenomeView/headerFit.js +59 -0
  154. package/esm/LinearGenomeView/index.d.ts +32 -2
  155. package/esm/LinearGenomeView/index.js +16 -6
  156. package/esm/LinearGenomeView/initKeys.d.ts +12 -0
  157. package/esm/LinearGenomeView/initKeys.js +68 -0
  158. package/esm/LinearGenomeView/keyboardHandler.d.ts +7 -0
  159. package/esm/LinearGenomeView/keyboardHandler.js +10 -0
  160. package/esm/LinearGenomeView/launchKeys.d.ts +2 -0
  161. package/esm/LinearGenomeView/launchKeys.js +23 -0
  162. package/esm/LinearGenomeView/lazyDialogs.d.ts +7 -11
  163. package/esm/LinearGenomeView/lazyDialogs.js +3 -3
  164. package/esm/LinearGenomeView/linkedViewSync.d.ts +20 -0
  165. package/esm/LinearGenomeView/linkedViewSync.js +58 -0
  166. package/esm/LinearGenomeView/menuItems.d.ts +27 -2
  167. package/esm/LinearGenomeView/menuItems.js +137 -101
  168. package/esm/LinearGenomeView/model.d.ts +3238 -136
  169. package/esm/LinearGenomeView/model.js +2425 -528
  170. package/esm/LinearGenomeView/sharedScaleContainer.d.ts +18 -0
  171. package/esm/LinearGenomeView/sharedScaleContainer.js +17 -0
  172. package/esm/LinearGenomeView/showRegionsWithUndo.d.ts +35 -0
  173. package/esm/LinearGenomeView/showRegionsWithUndo.js +44 -0
  174. package/esm/LinearGenomeView/stickyChrome.d.ts +19 -0
  175. package/esm/LinearGenomeView/stickyChrome.js +30 -0
  176. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.d.ts +1 -1
  177. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +15 -16
  178. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +2 -3
  179. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +45 -33
  180. package/esm/LinearGenomeView/svgcomponents/SVGHighlights.d.ts +5 -0
  181. package/esm/LinearGenomeView/svgcomponents/SVGHighlights.js +26 -0
  182. package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.d.ts +5 -0
  183. package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.js +13 -0
  184. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +1 -3
  185. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +77 -41
  186. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +1 -1
  187. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +23 -3
  188. package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.d.ts +8 -0
  189. package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.js +37 -0
  190. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +3 -3
  191. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +64 -36
  192. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +1 -1
  193. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +7 -5
  194. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +5 -3
  195. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +43 -7
  196. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +8 -14
  197. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +16 -21
  198. package/esm/LinearGenomeView/svgcomponents/SVGView.d.ts +18 -0
  199. package/esm/LinearGenomeView/svgcomponents/SVGView.js +13 -0
  200. package/esm/LinearGenomeView/svgcomponents/figureContract.d.ts +45 -0
  201. package/esm/LinearGenomeView/svgcomponents/figureContract.js +130 -0
  202. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.d.ts +76 -0
  203. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.js +66 -0
  204. package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.d.ts +70 -0
  205. package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.js +263 -0
  206. package/esm/LinearGenomeView/svgcomponents/util.d.ts +92 -5
  207. package/esm/LinearGenomeView/svgcomponents/util.js +236 -3
  208. package/esm/LinearGenomeView/types.d.ts +17 -31
  209. package/esm/LinearGenomeView/types.js +1 -0
  210. package/esm/LinearGenomeView/util.d.ts +332 -12
  211. package/esm/LinearGenomeView/util.js +606 -62
  212. package/esm/MultiLevelRubberband/MultiLevelRubberband.d.ts +6 -0
  213. package/esm/MultiLevelRubberband/MultiLevelRubberband.js +37 -0
  214. package/esm/MultiLevelRubberband/VerticalGuide.d.ts +6 -0
  215. package/esm/MultiLevelRubberband/VerticalGuide.js +21 -0
  216. package/esm/MultiLevelRubberband/index.d.ts +2 -0
  217. package/esm/MultiLevelRubberband/index.js +1 -0
  218. package/esm/MultiLevelRubberband/types.d.ts +6 -0
  219. package/esm/MultiLevelRubberband/useRangeSelect.d.ts +24 -0
  220. package/esm/MultiLevelRubberband/useRangeSelect.js +136 -0
  221. package/esm/displayKitTests/perRegionTestEnv.d.ts +1286 -0
  222. package/esm/displayKitTests/perRegionTestEnv.js +138 -0
  223. package/esm/index.d.ts +122 -1235
  224. package/esm/index.js +101 -24
  225. package/esm/lazyPluginExports.d.ts +23 -0
  226. package/esm/lazyPluginExports.js +36 -0
  227. package/esm/searchUtils.d.ts +55 -11
  228. package/esm/searchUtils.js +342 -45
  229. package/esm/shared/RubberbandSpan.d.ts +15 -0
  230. package/esm/shared/RubberbandSpan.js +33 -0
  231. package/esm/shared/coordLabels.d.ts +40 -0
  232. package/esm/shared/coordLabels.js +119 -0
  233. package/package.json +18 -19
  234. package/esm/BaseLinearDisplay/SVGLegend.d.ts +0 -6
  235. package/esm/BaseLinearDisplay/SVGLegend.js +0 -17
  236. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.d.ts +0 -2
  237. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.js +0 -11
  238. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +0 -8
  239. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -53
  240. package/esm/BaseLinearDisplay/components/Block.d.ts +0 -14
  241. package/esm/BaseLinearDisplay/components/Block.js +0 -45
  242. package/esm/BaseLinearDisplay/components/BlockErrorMessage.d.ts +0 -7
  243. package/esm/BaseLinearDisplay/components/BlockErrorMessage.js +0 -22
  244. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +0 -6
  245. package/esm/BaseLinearDisplay/components/BlockMsg.js +0 -26
  246. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.d.ts +0 -9
  247. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.js +0 -42
  248. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.d.ts +0 -11
  249. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.js +0 -40
  250. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.d.ts +0 -19
  251. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.js +0 -45
  252. package/esm/BaseLinearDisplay/components/FloatingLabels.d.ts +0 -5
  253. package/esm/BaseLinearDisplay/components/FloatingLabels.js +0 -75
  254. package/esm/BaseLinearDisplay/components/FloatingLegend.d.ts +0 -8
  255. package/esm/BaseLinearDisplay/components/FloatingLegend.js +0 -43
  256. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -5
  257. package/esm/BaseLinearDisplay/components/LinearBlocks.js +0 -23
  258. package/esm/BaseLinearDisplay/components/LoadingOverlay.d.ts +0 -5
  259. package/esm/BaseLinearDisplay/components/LoadingOverlay.js +0 -49
  260. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.d.ts +0 -4
  261. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.js +0 -26
  262. package/esm/BaseLinearDisplay/components/MenuPage.d.ts +0 -8
  263. package/esm/BaseLinearDisplay/components/MenuPage.js +0 -24
  264. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.d.ts +0 -21
  265. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.js +0 -52
  266. package/esm/BaseLinearDisplay/components/RenderedBlocks.d.ts +0 -12
  267. package/esm/BaseLinearDisplay/components/RenderedBlocks.js +0 -22
  268. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +0 -12
  269. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -18
  270. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +0 -10
  271. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +0 -20
  272. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +0 -13
  273. package/esm/BaseLinearDisplay/components/Tooltip.js +0 -22
  274. package/esm/BaseLinearDisplay/components/types.d.ts +0 -1
  275. package/esm/BaseLinearDisplay/components/util.d.ts +0 -21
  276. package/esm/BaseLinearDisplay/components/util.js +0 -107
  277. package/esm/BaseLinearDisplay/index.d.ts +0 -17
  278. package/esm/BaseLinearDisplay/index.js +0 -13
  279. package/esm/BaseLinearDisplay/model.d.ts +0 -1197
  280. package/esm/BaseLinearDisplay/model.js +0 -432
  281. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +0 -32
  282. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +0 -113
  283. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.d.ts +0 -26
  284. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.js +0 -57
  285. package/esm/BaseLinearDisplay/models/SvgFloatingLabels.d.ts +0 -8
  286. package/esm/BaseLinearDisplay/models/SvgFloatingLabels.js +0 -19
  287. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +0 -11
  288. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +0 -31
  289. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +0 -2
  290. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +0 -29
  291. package/esm/BaseLinearDisplay/models/configSchema.d.ts +0 -29
  292. package/esm/BaseLinearDisplay/models/configSchema.js +0 -33
  293. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +0 -98
  294. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -242
  295. package/esm/BaseLinearDisplay/models/util.d.ts +0 -9
  296. package/esm/BaseLinearDisplay/models/util.js +0 -43
  297. package/esm/BaseLinearDisplay/renderSvg.d.ts +0 -3
  298. package/esm/BaseLinearDisplay/renderSvg.js +0 -63
  299. package/esm/BaseLinearDisplay/types.d.ts +0 -43
  300. package/esm/BaseLinearDisplay/types.js +0 -3
  301. package/esm/BaseLinearDisplay/util.d.ts +0 -16
  302. package/esm/BaseLinearDisplay/util.js +0 -71
  303. package/esm/BasicTrack/configSchema.d.ts +0 -85
  304. package/esm/BasicTrack/configSchema.js +0 -8
  305. package/esm/BasicTrack/index.d.ts +0 -2
  306. package/esm/BasicTrack/index.js +0 -12
  307. package/esm/LinearBareDisplay/configSchema.d.ts +0 -32
  308. package/esm/LinearBareDisplay/configSchema.js +0 -11
  309. package/esm/LinearBareDisplay/index.d.ts +0 -4
  310. package/esm/LinearBareDisplay/index.js +0 -20
  311. package/esm/LinearBareDisplay/model.d.ts +0 -1196
  312. package/esm/LinearBareDisplay/model.js +0 -32
  313. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.d.ts +0 -5
  314. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.js +0 -9
  315. package/esm/LinearBasicDisplay/configSchema.d.ts +0 -32
  316. package/esm/LinearBasicDisplay/configSchema.js +0 -11
  317. package/esm/LinearBasicDisplay/index.d.ts +0 -4
  318. package/esm/LinearBasicDisplay/index.js +0 -20
  319. package/esm/LinearBasicDisplay/model.d.ts +0 -1391
  320. package/esm/LinearBasicDisplay/model.js +0 -158
  321. package/esm/LinearFeatureDisplay/components/AddFiltersDialog.d.ts +0 -9
  322. package/esm/LinearFeatureDisplay/components/AddFiltersDialog.js +0 -58
  323. package/esm/LinearFeatureDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  324. package/esm/LinearFeatureDisplay/components/SetMaxHeightDialog.js +0 -26
  325. package/esm/LinearFeatureDisplay/configSchema.d.ts +0 -32
  326. package/esm/LinearFeatureDisplay/configSchema.js +0 -11
  327. package/esm/LinearFeatureDisplay/index.d.ts +0 -3
  328. package/esm/LinearFeatureDisplay/index.js +0 -2
  329. package/esm/LinearFeatureDisplay/model.d.ts +0 -1443
  330. package/esm/LinearFeatureDisplay/model.js +0 -305
  331. package/esm/LinearGenomeView/SVGErrorBox.d.ts +0 -5
  332. package/esm/LinearGenomeView/SVGErrorBox.js +0 -4
  333. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +0 -11
  334. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +0 -27
  335. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +0 -5
  336. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +0 -13
  337. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +0 -3
  338. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +0 -17
  339. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +0 -3
  340. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +0 -8
  341. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +0 -16
  342. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +0 -101
  343. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +0 -10
  344. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +0 -45
  345. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +0 -15
  346. package/esm/LinearGenomeView/components/RubberbandSpan.js +0 -32
  347. package/esm/LinearGenomeView/components/RubberbandTooltip.d.ts +0 -5
  348. package/esm/LinearGenomeView/components/RubberbandTooltip.js +0 -17
  349. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +0 -8
  350. package/esm/LinearGenomeView/components/TrackLabelContainer.js +0 -25
  351. package/esm/LinearGenomeView/components/useWheelScroll.d.ts +0 -7
  352. package/esm/LinearGenomeView/components/useWheelScroll.js +0 -69
  353. package/esm/LinearGenomeView/svgExportUtil.d.ts +0 -9
  354. package/esm/LinearGenomeView/svgExportUtil.js +0 -6
  355. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -5
  356. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js +0 -7
  357. /package/esm/{BaseLinearDisplay/components → MultiLevelRubberband}/types.js +0 -0
@@ -1,16 +1,26 @@
1
1
  import { lazy } from 'react';
2
2
  import { ViewType } from '@jbrowse/core/pluggableElementTypes';
3
- import { stateModelFactory } from "./model.js";
3
+ import { lgvLaunchKeys } from './launchKeys.js';
4
+ import { stateModelFactory } from './model.js';
4
5
  export default function LinearGenomeViewF(pluginManager) {
5
6
  pluginManager.addViewType(() => {
7
+ // annotated against the registry rather than inferred, which is what
8
+ // makes a hand-written augmentation earn what `getViewType` promises
9
+ // its callers — see `ViewTypeRegistry`
10
+ const stateModel = stateModelFactory(pluginManager);
6
11
  return new ViewType({
7
12
  name: 'LinearGenomeView',
8
13
  displayName: 'Linear genome view',
9
- stateModel: stateModelFactory(pluginManager),
10
- ReactComponent: lazy(() => import("./components/LinearGenomeView.js")),
14
+ stateModel,
15
+ launchKeys: lgvLaunchKeys,
16
+ ReactComponent: lazy(() => import('./components/LinearGenomeView.js')),
11
17
  });
12
18
  });
13
19
  }
14
- export * from "./model.js";
15
- export * from "./types.js";
16
- export { default as HighlightBand } from "./components/HighlightBand.js";
20
+ export { stateModelFactory } from './model.js';
21
+ export { lgvLaunchKeys } from './launchKeys.js';
22
+ export { installLinkedViewSync, } from './linkedViewSync.js';
23
+ export { default as HighlightBand } from './components/HighlightBand.js';
24
+ export { default as HighlightChip } from './components/HighlightChip.js';
25
+ export { default as OverviewHighlightBand } from './components/OverviewHighlightBand.js';
26
+ export { default as SVGHighlightBand } from './components/SVGHighlightBand.js';
@@ -0,0 +1,12 @@
1
+ export declare function partitionLaunchKeys(spec: object, viewPropKeys: ReadonlySet<string>): {
2
+ init: Record<string, unknown>;
3
+ viewProps: Record<string, unknown>;
4
+ unknown: Record<string, unknown>;
5
+ };
6
+ export declare function linearGenomeViewPropKeys(pluginManager: {
7
+ getViewType: (name: string) => {
8
+ stateModel: {
9
+ properties: object;
10
+ };
11
+ };
12
+ }): ReadonlySet<string>;
@@ -0,0 +1,68 @@
1
+ import { lgvLaunchKeys } from './launchKeys.js';
2
+ // The remaining v4 partition, still used by the synteny view to build its LGV
3
+ // rows. `lgvLaunchKeys` is the one declaration of what a launch key is, so the
4
+ // two cannot disagree while both exist.
5
+ const knownInitKeys = new Set(Object.keys(lgvLaunchKeys.keys));
6
+ // Never settable from a spec, whatever the model declares: `type` picks the
7
+ // view, `id` is passed top-level so MST's optional identifier honors it, and
8
+ // `launch` is the blob the partition fills rather than something anyone writes.
9
+ const RESERVED = new Set(['id', 'type', 'launch']);
10
+ const LEGACY_VIEWPORT_PROPS = new Set(lgvLaunchKeys.passThrough);
11
+ // Partition launch keys three ways, once, for every caller that needs to know
12
+ // which is which:
13
+ //
14
+ // - `init`: resolution keys (loc, tracks, highlight, …) with no direct MST
15
+ // representation, which afterAttach applies on attach and then discards
16
+ // - `viewProps`: plain persisted props MST restores natively, so they belong on
17
+ // the view snapshot rather than in the blob
18
+ // - `unknown`: neither, i.e. a typo. MST silently drops unknown snapshot keys and
19
+ // `init` is a frozen blob, so nothing else would notice
20
+ //
21
+ // The two callers differ only in what they do with each bucket: the launcher
22
+ // spreads a flat spec across the new view's snapshot and warns about the typos,
23
+ // while afterAttach — which only ever sees an already-built blob — warns about
24
+ // both a typo and a view prop that ended up inside it.
25
+ export function partitionLaunchKeys(spec,
26
+ // The view's declared property names. Callers with a live node read it off
27
+ // `getPropertyMembers(self).properties`; callers building a snapshot read it
28
+ // off the registered view type's `stateModel.properties` — see
29
+ // `linearGenomeViewPropKeys`.
30
+ viewPropKeys) {
31
+ const init = {};
32
+ const viewProps = {};
33
+ const unknown = {};
34
+ for (const [key, value] of Object.entries(spec)) {
35
+ const bucket = knownInitKeys.has(key)
36
+ ? init
37
+ : (viewPropKeys.has(key) || LEGACY_VIEWPORT_PROPS.has(key)) &&
38
+ !RESERVED.has(key)
39
+ ? viewProps
40
+ : unknown;
41
+ bucket[key] = value;
42
+ }
43
+ return { init, viewProps, unknown };
44
+ }
45
+ // The registered LinearGenomeView's declared property names, for a caller that
46
+ // has a PluginManager but no view yet (a launcher, or a synteny row being built).
47
+ // A caller holding a live node reads the same thing off
48
+ // `getPropertyMembers(self).properties` instead.
49
+ //
50
+ // `getViewType` THROWS on an unregistered name, and that is left alone: this is
51
+ // only ever called from code that is about to add a LinearGenomeView, so an
52
+ // absent view type is a broken plugin manager rather than a case to degrade
53
+ // through — and degrading would mean silently dropping every property the
54
+ // caller asked for, which is the failure this whole mechanism exists to end.
55
+ //
56
+ // Cached: the set is fixed for the life of the manager, and a launch that opens
57
+ // a stack of rows would otherwise rebuild it per row.
58
+ const propKeyCache = new WeakMap();
59
+ export function linearGenomeViewPropKeys(pluginManager) {
60
+ const cached = propKeyCache.get(pluginManager);
61
+ if (cached) {
62
+ return cached;
63
+ }
64
+ const { stateModel } = pluginManager.getViewType('LinearGenomeView');
65
+ const keys = new Set(Object.keys(stateModel.properties));
66
+ propKeyCache.set(pluginManager, keys);
67
+ return keys;
68
+ }
@@ -1,2 +1,9 @@
1
1
  import type { LinearGenomeViewModel } from './model.ts';
2
+ /**
3
+ * Sets up keyboard shortcuts for the LinearGenomeView
4
+ * - Ctrl/Cmd + ArrowLeft: slide left
5
+ * - Ctrl/Cmd + ArrowRight: slide right
6
+ * - Ctrl/Cmd + ArrowUp: zoom in
7
+ * - Ctrl/Cmd + ArrowDown: zoom out
8
+ */
2
9
  export declare function setupKeyboardHandler(self: LinearGenomeViewModel): void;
@@ -1,6 +1,16 @@
1
1
  import { getSession } from '@jbrowse/core/util';
2
2
  import { addDisposer } from '@jbrowse/mobx-state-tree';
3
+ /**
4
+ * Sets up keyboard shortcuts for the LinearGenomeView
5
+ * - Ctrl/Cmd + ArrowLeft: slide left
6
+ * - Ctrl/Cmd + ArrowRight: slide right
7
+ * - Ctrl/Cmd + ArrowUp: zoom in
8
+ * - Ctrl/Cmd + ArrowDown: zoom out
9
+ */
3
10
  export function setupKeyboardHandler(self) {
11
+ if (typeof document === 'undefined') {
12
+ return;
13
+ }
4
14
  function handler(e) {
5
15
  const session = getSession(self);
6
16
  if (session.focusedViewId === self.id && (e.ctrlKey || e.metaKey)) {
@@ -0,0 +1,2 @@
1
+ import type { InitState } from './types.ts';
2
+ export declare const lgvLaunchKeys: import("@jbrowse/core/util/withLaunchInput").LaunchKeyRegistration<InitState, "bpPerPx" | "offsetPx">;
@@ -0,0 +1,23 @@
1
+ import { defineLaunchKeys } from '@jbrowse/core/util/withLaunchInput';
2
+ // The argument is `Record<keyof InitState, LaunchKeySpec>`, so a command this
3
+ // view interprets and nobody registered here is a compile error rather than a
4
+ // key that partitions as a typo.
5
+ //
6
+ // `bpPerPx`/`offsetPx` are the viewport spelling from before it was stored as a
7
+ // window. They are no longer declared properties, so the partition would read
8
+ // them as typos; the model's own preProcessSnapshot still converts them, so a
9
+ // URL or saved spec naming them goes on working. Deletable with `legacyBpPerPx`.
10
+ //
11
+ // #launchKeys LinearGenomeView — the URL parameters page renders this list
12
+ // rather than restating it; each of these keys has its own `&param=` section
13
+ // there, which is why no description is attached here.
14
+ export const lgvLaunchKeys = defineLaunchKeys()({
15
+ loc: { kind: 'launch' },
16
+ grow: { kind: 'launch' },
17
+ assembly: { kind: 'launch' },
18
+ displayedRegionNames: { kind: 'launch' },
19
+ tracklist: { kind: 'launch' },
20
+ nav: { kind: 'launch' },
21
+ tracks: { kind: 'trackEntries' },
22
+ highlight: { kind: 'highlightEntries' },
23
+ }, { passThrough: ['bpPerPx', 'offsetPx'] });
@@ -3,21 +3,17 @@ export declare const ReturnToImportFormDialog: import("react").LazyExoticCompone
3
3
  clearView: () => void;
4
4
  };
5
5
  handleClose: () => void;
6
- }) => import("react/jsx-runtime").JSX.Element>;
6
+ }) => import("react").JSX.Element>;
7
7
  export declare const SequenceSearchDialog: import("react").LazyExoticComponent<({ model, handleClose, }: {
8
8
  model: {
9
9
  assemblyNames: string[];
10
- showTrack: (trackId: string) => void;
10
+ launchTrack: (trackId: string) => Promise<unknown>;
11
11
  };
12
12
  handleClose: () => void;
13
- }) => import("react/jsx-runtime").JSX.Element>;
13
+ }) => import("react").JSX.Element>;
14
14
  export declare const ExportSvgDialog: import("react").LazyExoticComponent<typeof import("./components/ExportSvgDialog.tsx").default>;
15
- export declare const GetSequenceDialog: import("react").LazyExoticComponent<({ model, handleClose, }: {
16
- model: {
17
- leftOffset?: import("./types.ts").BpOffset;
18
- rightOffset?: import("./types.ts").BpOffset;
19
- getSelectedRegions: (left?: import("./types.ts").BpOffset, right?: import("./types.ts").BpOffset) => import("@jbrowse/core/util").Region[];
20
- setOffsets: (left?: import("./types.ts").BpOffset, right?: import("./types.ts").BpOffset) => void;
21
- };
15
+ export declare const GetSequenceDialog: import("react").LazyExoticComponent<({ model, regions, handleClose, }: {
16
+ model: import("@jbrowse/mobx-state-tree").IAnyStateTreeNode;
17
+ regions: import("@jbrowse/core/util").Region[];
22
18
  handleClose: () => void;
23
- }) => import("react/jsx-runtime").JSX.Element>;
19
+ }) => import("react").JSX.Element>;
@@ -1,5 +1,5 @@
1
1
  import { lazy } from 'react';
2
2
  export const ReturnToImportFormDialog = lazy(() => import('@jbrowse/core/ui/ReturnToImportFormDialog'));
3
- export const SequenceSearchDialog = lazy(() => import("./components/SequenceSearchDialog.js"));
4
- export const ExportSvgDialog = lazy(() => import("./components/ExportSvgDialog.js"));
5
- export const GetSequenceDialog = lazy(() => import("./components/GetSequenceDialog.js"));
3
+ export const SequenceSearchDialog = lazy(() => import('./components/SequenceSearchDialog.js'));
4
+ export const ExportSvgDialog = lazy(() => import('./components/ExportSvgDialog.js'));
5
+ export const GetSequenceDialog = lazy(() => import('./components/GetSequenceDialog.js'));
@@ -0,0 +1,20 @@
1
+ import type { LinearGenomeViewModel } from './model.ts';
2
+ import type { IStateTreeNode } from '@jbrowse/mobx-state-tree';
3
+ /**
4
+ * The single source of truth for which LinearGenomeView actions can be
5
+ * replayed across linked views. Keeping it here (rather than as loose string
6
+ * arrays in each parent view) means the dispatch below stays exhaustive and a
7
+ * typo can't silently produce a no-op sync.
8
+ */
9
+ export type SyncableViewAction = 'horizontalScroll' | 'zoomTo' | 'showTrack' | 'toggleTrack' | 'launchTrack' | 'launchToggleTrack' | 'hideTrack' | 'setTrackLabels' | 'setShowCenterLine';
10
+ interface LinkableViews {
11
+ linkViews: boolean;
12
+ views: LinearGenomeViewModel[];
13
+ }
14
+ /**
15
+ * Install a middleware that, while `linkViews` is on, replays each listed
16
+ * action onto every other sub-view so panning/zooming/track-toggling stays in
17
+ * sync. Used by linear-comparative-view and breakpoint-split-view.
18
+ */
19
+ export declare function installLinkedViewSync(self: IStateTreeNode & LinkableViews, syncActions: readonly SyncableViewAction[]): void;
20
+ export {};
@@ -0,0 +1,58 @@
1
+ import { addDisposer, addMiddleware, getPath } from '@jbrowse/mobx-state-tree';
2
+ function applyViewAction(view, name, args) {
3
+ switch (name) {
4
+ case 'horizontalScroll':
5
+ view.horizontalScroll(args[0]);
6
+ break;
7
+ case 'zoomTo':
8
+ view.zoomTo(args[0]);
9
+ break;
10
+ case 'showTrack':
11
+ view.showTrack(args[0]);
12
+ break;
13
+ case 'toggleTrack':
14
+ view.toggleTrack(args[0]);
15
+ break;
16
+ case 'launchTrack':
17
+ void view.launchTrack(args[0]);
18
+ break;
19
+ case 'launchToggleTrack':
20
+ void view.launchToggleTrack(args[0]);
21
+ break;
22
+ case 'hideTrack':
23
+ view.hideTrack(args[0]);
24
+ break;
25
+ case 'setTrackLabels':
26
+ view.setTrackLabels(args[0]);
27
+ break;
28
+ case 'setShowCenterLine':
29
+ view.setShowCenterLine(args[0]);
30
+ break;
31
+ }
32
+ }
33
+ /**
34
+ * Install a middleware that, while `linkViews` is on, replays each listed
35
+ * action onto every other sub-view so panning/zooming/track-toggling stays in
36
+ * sync. Used by linear-comparative-view and breakpoint-split-view.
37
+ */
38
+ export function installLinkedViewSync(self, syncActions) {
39
+ addDisposer(self, addMiddleware(self, (rawCall, next) => {
40
+ const handler = rawCall.type === 'action' &&
41
+ rawCall.id === rawCall.rootId &&
42
+ self.linkViews
43
+ ? syncActions.find(action => action === rawCall.name)
44
+ : undefined;
45
+ if (handler) {
46
+ const sourcePath = getPath(rawCall.context);
47
+ next(rawCall);
48
+ for (const view of self.views) {
49
+ if (getPath(view) !== sourcePath) {
50
+ applyViewAction(view, handler, rawCall.args);
51
+ }
52
+ }
53
+ }
54
+ else {
55
+ next(rawCall);
56
+ }
57
+ }));
58
+ }
@@ -1,7 +1,32 @@
1
1
  import type { LinearGenomeViewModel } from './model.ts';
2
2
  import type { BpOffset } from './types.ts';
3
3
  import type { MenuItem } from '@jbrowse/core/ui';
4
- export declare function rewriteOnClicks(self: LinearGenomeViewModel, trackType: string, viewMenuActions: MenuItem[]): void;
4
+ /**
5
+ * Zoom all the way out, shared by the view menu and the header's zoom menu —
6
+ * one definition so the two cannot drift in label, and the view menu is the
7
+ * only one of the two that survives `hideHeader`.
8
+ *
9
+ * The zoom menu earns it on the merits: this is the bottom of the same "Zoom
10
+ * out 100x" ladder, and it is where someone already zooming looks.
11
+ *
12
+ * The label is the import form's button text verbatim (`ImportForm.tsx`), which
13
+ * is where most people meet the phrase. No icon: the four-arrows glyph it
14
+ * carried reads as "fullscreen", and nothing else names the same gesture, so a
15
+ * substitute would be decoration rather than a distinction.
16
+ */
17
+ export declare function showAllRegionsMenuItem(self: LinearGenomeViewModel): MenuItem;
18
+ /**
19
+ * Build the main view menu items
20
+ */
5
21
  export declare function buildMenuItems(self: LinearGenomeViewModel): MenuItem[];
6
- export declare function buildRubberBandMenuItems(self: LinearGenomeViewModel): MenuItem[];
22
+ /**
23
+ * Build rubberband selection menu items. `launchItems` are the plugin-supplied
24
+ * things a selection can start (`rubberBandLaunchMenuItems()`); they collect
25
+ * under one "Launch" submenu so the menu stays three actions plus a group
26
+ * however many plugins are loaded, and vanish entirely when none apply.
27
+ */
28
+ export declare function buildRubberBandMenuItems(self: LinearGenomeViewModel, launchItems: MenuItem[]): MenuItem[];
29
+ /**
30
+ * Build rubberband click menu items (single click on rubberband area)
31
+ */
7
32
  export declare function buildRubberbandClickMenuItems(self: LinearGenomeViewModel, clickOffset: BpOffset): MenuItem[];