@jbrowse/plugin-linear-genome-view 2.18.0 → 3.0.0

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 (294) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -2
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +17 -44
  3. package/dist/BaseLinearDisplay/components/Block.d.ts +3 -4
  4. package/dist/BaseLinearDisplay/components/Block.js +4 -7
  5. package/dist/BaseLinearDisplay/components/BlockError.d.ts +1 -2
  6. package/dist/BaseLinearDisplay/components/BlockError.js +9 -15
  7. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -2
  8. package/dist/BaseLinearDisplay/components/BlockMsg.js +3 -8
  9. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +2 -3
  10. package/dist/BaseLinearDisplay/components/LinearBlocks.js +21 -27
  11. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +1 -2
  12. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +23 -14
  13. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -3
  14. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +11 -7
  15. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +7 -4
  16. package/dist/BaseLinearDisplay/components/Tooltip.js +5 -5
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +7 -7
  18. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +17 -7
  19. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +1 -2
  20. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +2 -2
  21. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +2 -3
  22. package/dist/BaseLinearDisplay/models/renderSvg.js +26 -26
  23. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +1 -1
  24. package/dist/LinearBareDisplay/model.d.ts +6 -6
  25. package/dist/LinearBasicDisplay/components/AddFiltersDialog.d.ts +1 -2
  26. package/dist/LinearBasicDisplay/components/AddFiltersDialog.js +16 -57
  27. package/dist/LinearBasicDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  28. package/dist/LinearBasicDisplay/components/SetMaxHeightDialog.js +10 -39
  29. package/dist/LinearBasicDisplay/model.d.ts +6 -6
  30. package/dist/LinearBasicDisplay/model.js +17 -7
  31. package/dist/LinearGenomeView/components/CenterLine.d.ts +1 -2
  32. package/dist/LinearGenomeView/components/CenterLine.js +7 -33
  33. package/dist/LinearGenomeView/components/Cytobands.d.ts +1 -2
  34. package/dist/LinearGenomeView/components/Cytobands.js +28 -31
  35. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -3
  36. package/dist/LinearGenomeView/components/ExportSvgDialog.js +34 -72
  37. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -2
  38. package/dist/LinearGenomeView/components/GetSequenceDialog.js +27 -62
  39. package/dist/LinearGenomeView/components/Gridlines.d.ts +1 -2
  40. package/dist/LinearGenomeView/components/Gridlines.js +23 -28
  41. package/dist/LinearGenomeView/components/Header.d.ts +3 -5
  42. package/dist/LinearGenomeView/components/Header.js +10 -61
  43. package/dist/LinearGenomeView/components/HeaderPanControls.d.ts +6 -0
  44. package/dist/LinearGenomeView/components/HeaderPanControls.js +30 -0
  45. package/dist/LinearGenomeView/components/HeaderRegionWidth.d.ts +5 -0
  46. package/dist/LinearGenomeView/components/HeaderRegionWidth.js +21 -0
  47. package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.d.ts +5 -0
  48. package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.js +19 -0
  49. package/dist/LinearGenomeView/components/HeaderZoomControls.d.ts +5 -0
  50. package/dist/LinearGenomeView/components/HeaderZoomControls.js +103 -0
  51. package/dist/LinearGenomeView/components/Highlight.d.ts +9 -4
  52. package/dist/LinearGenomeView/components/Highlight.js +32 -58
  53. package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -2
  54. package/dist/LinearGenomeView/components/ImportForm.js +31 -67
  55. package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +1 -2
  56. package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +2 -2
  57. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +1 -2
  58. package/dist/LinearGenomeView/components/LinearGenomeView.js +24 -17
  59. package/dist/LinearGenomeView/components/MiniControls.d.ts +1 -2
  60. package/dist/LinearGenomeView/components/MiniControls.js +6 -13
  61. package/dist/LinearGenomeView/components/NoTracksActiveButton.d.ts +1 -2
  62. package/dist/LinearGenomeView/components/NoTracksActiveButton.js +2 -7
  63. package/dist/LinearGenomeView/components/OverviewHighlight.d.ts +1 -2
  64. package/dist/LinearGenomeView/components/OverviewHighlight.js +3 -6
  65. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -2
  66. package/dist/LinearGenomeView/components/OverviewRubberband.js +6 -33
  67. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +1 -2
  68. package/dist/LinearGenomeView/components/OverviewScalebar.js +30 -64
  69. package/dist/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +1 -2
  70. package/dist/LinearGenomeView/components/OverviewScalebarPolygon.js +2 -5
  71. package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.d.ts +1 -2
  72. package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.js +3 -6
  73. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +1 -2
  74. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +3 -3
  75. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +1 -2
  76. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +25 -22
  77. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +1 -2
  78. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +4 -43
  79. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +1 -2
  80. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +21 -10
  81. package/dist/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +6 -0
  82. package/dist/LinearGenomeView/components/RegionWidthEditorDialog.js +30 -0
  83. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -2
  84. package/dist/LinearGenomeView/components/Rubberband.js +7 -32
  85. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +1 -2
  86. package/dist/LinearGenomeView/components/RubberbandSpan.js +16 -34
  87. package/dist/LinearGenomeView/components/Scalebar.d.ts +1 -1
  88. package/dist/LinearGenomeView/components/Scalebar.js +10 -13
  89. package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -2
  90. package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.js +17 -17
  91. package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +1 -2
  92. package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.js +9 -12
  93. package/dist/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -2
  94. package/dist/LinearGenomeView/components/ScalebarRefNameLabels.js +12 -19
  95. package/dist/LinearGenomeView/components/SearchBox.d.ts +1 -2
  96. package/dist/LinearGenomeView/components/SearchBox.js +2 -2
  97. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +1 -2
  98. package/dist/LinearGenomeView/components/SearchResultsDialog.js +4 -14
  99. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +1 -2
  100. package/dist/LinearGenomeView/components/SearchResultsTable.js +15 -31
  101. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +1 -2
  102. package/dist/LinearGenomeView/components/SequenceSearchDialog.js +39 -72
  103. package/dist/LinearGenomeView/components/TrackContainer.d.ts +1 -2
  104. package/dist/LinearGenomeView/components/TrackContainer.js +10 -36
  105. package/dist/LinearGenomeView/components/TrackLabel.d.ts +1 -2
  106. package/dist/LinearGenomeView/components/TrackLabel.js +10 -78
  107. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +1 -2
  108. package/dist/LinearGenomeView/components/TrackLabelContainer.js +2 -2
  109. package/dist/LinearGenomeView/components/TrackLabelDragHandle.d.ts +1 -2
  110. package/dist/LinearGenomeView/components/TrackLabelDragHandle.js +3 -4
  111. package/dist/LinearGenomeView/components/TrackLabelMenu.d.ts +5 -0
  112. package/dist/LinearGenomeView/components/TrackLabelMenu.js +79 -0
  113. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +1 -2
  114. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +10 -37
  115. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -2
  116. package/dist/LinearGenomeView/components/TracksContainer.js +33 -27
  117. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +1 -2
  118. package/dist/LinearGenomeView/components/VerticalGuide.js +3 -7
  119. package/dist/LinearGenomeView/components/useRangeSelect.d.ts +1 -1
  120. package/dist/LinearGenomeView/components/useWheelScroll.d.ts +1 -1
  121. package/dist/LinearGenomeView/components/useWheelScroll.js +1 -1
  122. package/dist/LinearGenomeView/index.js +17 -7
  123. package/dist/LinearGenomeView/model.d.ts +1 -39
  124. package/dist/LinearGenomeView/model.js +28 -31
  125. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +1 -2
  126. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js +2 -5
  127. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +1 -2
  128. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +2 -12
  129. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +2 -1
  130. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +2 -12
  131. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +1 -2
  132. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +2 -5
  133. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +1 -2
  134. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js +17 -29
  135. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +1 -2
  136. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js +2 -9
  137. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +1 -2
  138. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js +2 -5
  139. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +1 -2
  140. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js +18 -15
  141. package/dist/LinearGenomeView/types.d.ts +38 -0
  142. package/dist/LinearGenomeView/types.js +2 -0
  143. package/dist/LinearGenomeView/util.d.ts +3 -1
  144. package/dist/LinearGenomeView/util.js +16 -0
  145. package/dist/index.d.ts +10 -10
  146. package/dist/index.js +19 -8
  147. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -2
  148. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +17 -21
  149. package/esm/BaseLinearDisplay/components/Block.d.ts +3 -4
  150. package/esm/BaseLinearDisplay/components/Block.js +4 -4
  151. package/esm/BaseLinearDisplay/components/BlockError.d.ts +1 -2
  152. package/esm/BaseLinearDisplay/components/BlockError.js +9 -15
  153. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -2
  154. package/esm/BaseLinearDisplay/components/BlockMsg.js +3 -5
  155. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +2 -3
  156. package/esm/BaseLinearDisplay/components/LinearBlocks.js +21 -24
  157. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +1 -2
  158. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +6 -7
  159. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -3
  160. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +11 -7
  161. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +7 -4
  162. package/esm/BaseLinearDisplay/components/Tooltip.js +5 -5
  163. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +7 -7
  164. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +1 -2
  165. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +2 -2
  166. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +2 -3
  167. package/esm/BaseLinearDisplay/models/renderSvg.js +9 -16
  168. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +1 -1
  169. package/esm/LinearBareDisplay/model.d.ts +6 -6
  170. package/esm/LinearBasicDisplay/components/AddFiltersDialog.d.ts +1 -2
  171. package/esm/LinearBasicDisplay/components/AddFiltersDialog.js +16 -34
  172. package/esm/LinearBasicDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  173. package/esm/LinearBasicDisplay/components/SetMaxHeightDialog.js +10 -16
  174. package/esm/LinearBasicDisplay/model.d.ts +6 -6
  175. package/esm/LinearGenomeView/components/CenterLine.d.ts +1 -2
  176. package/esm/LinearGenomeView/components/CenterLine.js +7 -10
  177. package/esm/LinearGenomeView/components/Cytobands.d.ts +1 -2
  178. package/esm/LinearGenomeView/components/Cytobands.js +28 -28
  179. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -3
  180. package/esm/LinearGenomeView/components/ExportSvgDialog.js +34 -49
  181. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -2
  182. package/esm/LinearGenomeView/components/GetSequenceDialog.js +27 -39
  183. package/esm/LinearGenomeView/components/Gridlines.d.ts +1 -2
  184. package/esm/LinearGenomeView/components/Gridlines.js +23 -25
  185. package/esm/LinearGenomeView/components/Header.d.ts +3 -5
  186. package/esm/LinearGenomeView/components/Header.js +11 -62
  187. package/esm/LinearGenomeView/components/HeaderPanControls.d.ts +6 -0
  188. package/esm/LinearGenomeView/components/HeaderPanControls.js +24 -0
  189. package/esm/LinearGenomeView/components/HeaderRegionWidth.d.ts +5 -0
  190. package/esm/LinearGenomeView/components/HeaderRegionWidth.js +19 -0
  191. package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.d.ts +5 -0
  192. package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.js +17 -0
  193. package/esm/LinearGenomeView/components/HeaderZoomControls.d.ts +5 -0
  194. package/esm/LinearGenomeView/components/HeaderZoomControls.js +65 -0
  195. package/esm/LinearGenomeView/components/Highlight.d.ts +9 -4
  196. package/esm/LinearGenomeView/components/Highlight.js +32 -35
  197. package/esm/LinearGenomeView/components/ImportForm.d.ts +1 -2
  198. package/esm/LinearGenomeView/components/ImportForm.js +32 -45
  199. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +1 -2
  200. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +2 -2
  201. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +1 -2
  202. package/esm/LinearGenomeView/components/LinearGenomeView.js +7 -10
  203. package/esm/LinearGenomeView/components/MiniControls.d.ts +1 -2
  204. package/esm/LinearGenomeView/components/MiniControls.js +6 -13
  205. package/esm/LinearGenomeView/components/NoTracksActiveButton.d.ts +1 -2
  206. package/esm/LinearGenomeView/components/NoTracksActiveButton.js +2 -4
  207. package/esm/LinearGenomeView/components/OverviewHighlight.d.ts +1 -2
  208. package/esm/LinearGenomeView/components/OverviewHighlight.js +3 -3
  209. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -2
  210. package/esm/LinearGenomeView/components/OverviewRubberband.js +6 -10
  211. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +1 -2
  212. package/esm/LinearGenomeView/components/OverviewScalebar.js +30 -41
  213. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +1 -2
  214. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +2 -2
  215. package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.d.ts +1 -2
  216. package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.js +3 -3
  217. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +1 -2
  218. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +3 -3
  219. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +1 -2
  220. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +8 -15
  221. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +1 -2
  222. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +4 -40
  223. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +1 -2
  224. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +4 -3
  225. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +6 -0
  226. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +28 -0
  227. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -2
  228. package/esm/LinearGenomeView/components/Rubberband.js +7 -9
  229. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +1 -2
  230. package/esm/LinearGenomeView/components/RubberbandSpan.js +16 -11
  231. package/esm/LinearGenomeView/components/Scalebar.d.ts +1 -1
  232. package/esm/LinearGenomeView/components/Scalebar.js +10 -13
  233. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -2
  234. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.js +17 -17
  235. package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +1 -2
  236. package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.js +9 -9
  237. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -2
  238. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +12 -16
  239. package/esm/LinearGenomeView/components/SearchBox.d.ts +1 -2
  240. package/esm/LinearGenomeView/components/SearchBox.js +2 -2
  241. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +1 -2
  242. package/esm/LinearGenomeView/components/SearchResultsDialog.js +4 -14
  243. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +1 -2
  244. package/esm/LinearGenomeView/components/SearchResultsTable.js +15 -28
  245. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +1 -2
  246. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +39 -49
  247. package/esm/LinearGenomeView/components/TrackContainer.d.ts +1 -2
  248. package/esm/LinearGenomeView/components/TrackContainer.js +10 -13
  249. package/esm/LinearGenomeView/components/TrackLabel.d.ts +1 -2
  250. package/esm/LinearGenomeView/components/TrackLabel.js +10 -78
  251. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +1 -2
  252. package/esm/LinearGenomeView/components/TrackLabelContainer.js +2 -2
  253. package/esm/LinearGenomeView/components/TrackLabelDragHandle.d.ts +1 -2
  254. package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +3 -4
  255. package/esm/LinearGenomeView/components/TrackLabelMenu.d.ts +5 -0
  256. package/esm/LinearGenomeView/components/TrackLabelMenu.js +74 -0
  257. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +1 -2
  258. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +10 -14
  259. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -2
  260. package/esm/LinearGenomeView/components/TracksContainer.js +16 -20
  261. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +1 -2
  262. package/esm/LinearGenomeView/components/VerticalGuide.js +3 -4
  263. package/esm/LinearGenomeView/components/useRangeSelect.d.ts +1 -1
  264. package/esm/LinearGenomeView/components/useWheelScroll.d.ts +1 -1
  265. package/esm/LinearGenomeView/components/useWheelScroll.js +1 -1
  266. package/esm/LinearGenomeView/model.d.ts +1 -39
  267. package/esm/LinearGenomeView/model.js +10 -22
  268. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +1 -2
  269. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js +2 -2
  270. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +1 -2
  271. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +2 -12
  272. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +2 -1
  273. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +2 -12
  274. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +1 -2
  275. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +2 -2
  276. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +1 -2
  277. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +17 -29
  278. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +1 -2
  279. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +2 -6
  280. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +1 -2
  281. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +2 -2
  282. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +1 -2
  283. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +18 -15
  284. package/esm/LinearGenomeView/types.d.ts +38 -0
  285. package/esm/LinearGenomeView/types.js +1 -0
  286. package/esm/LinearGenomeView/util.d.ts +3 -1
  287. package/esm/LinearGenomeView/util.js +16 -1
  288. package/esm/index.d.ts +10 -10
  289. package/esm/index.js +2 -1
  290. package/package.json +2 -2
  291. package/dist/LinearGenomeView/components/ZoomControls.d.ts +0 -6
  292. package/dist/LinearGenomeView/components/ZoomControls.js +0 -66
  293. package/esm/LinearGenomeView/components/ZoomControls.d.ts +0 -6
  294. package/esm/LinearGenomeView/components/ZoomControls.js +0 -38
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getEnv, getSession } from '@jbrowse/core/util';
3
3
  import { Button, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, } from '@mui/material';
4
4
  import { getRoot, resolveIdentifier } from 'mobx-state-tree';
@@ -40,31 +40,18 @@ export default function SearchResultsTable({ searchResults, assemblyName: optAss
40
40
  session.notify(`${e}`, 'warning');
41
41
  }
42
42
  }
43
- return (React.createElement(TableContainer, { component: Paper },
44
- React.createElement(Table, null,
45
- React.createElement(TableHead, null,
46
- React.createElement(TableRow, null,
47
- React.createElement(TableCell, null, "Name"),
48
- React.createElement(TableCell, { align: "right" }, "Location"),
49
- React.createElement(TableCell, { align: "right" }, "Track"),
50
- React.createElement(TableCell, { align: "right" }))),
51
- React.createElement(TableBody, null, searchResults.map(result => (React.createElement(TableRow, { key: result.getId() },
52
- React.createElement(TableCell, { component: "th", scope: "row" }, result.getLabel()),
53
- React.createElement(TableCell, { align: "right" }, result.getLocation()),
54
- React.createElement(TableCell, { align: "right" }, getTrackName(result.getTrackId()) || 'N/A'),
55
- React.createElement(TableCell, { align: "right" },
56
- React.createElement(Button, { onClick: async () => {
57
- try {
58
- await handleClick(result.getLocation() || result.getLabel());
59
- const resultTrackId = result.getTrackId();
60
- if (resultTrackId) {
61
- model.showTrack(resultTrackId);
62
- }
63
- }
64
- catch (e) {
65
- console.error(e);
66
- session.notifyError(`${e}`, e);
67
- }
68
- handleClose();
69
- }, color: "primary", variant: "contained" }, "Go")))))))));
43
+ return (_jsx(TableContainer, { component: Paper, children: _jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableCell, { children: "Name" }), _jsx(TableCell, { align: "right", children: "Location" }), _jsx(TableCell, { align: "right", children: "Track" }), _jsx(TableCell, { align: "right" })] }) }), _jsx(TableBody, { children: searchResults.map(result => (_jsxs(TableRow, { children: [_jsx(TableCell, { component: "th", scope: "row", children: result.getLabel() }), _jsx(TableCell, { align: "right", children: result.getLocation() }), _jsx(TableCell, { align: "right", children: getTrackName(result.getTrackId()) || 'N/A' }), _jsx(TableCell, { align: "right", children: _jsx(Button, { onClick: async () => {
44
+ try {
45
+ await handleClick(result.getLocation() || result.getLabel());
46
+ const resultTrackId = result.getTrackId();
47
+ if (resultTrackId) {
48
+ model.showTrack(resultTrackId);
49
+ }
50
+ }
51
+ catch (e) {
52
+ console.error(e);
53
+ session.notifyError(`${e}`, e);
54
+ }
55
+ handleClose();
56
+ }, color: "primary", variant: "contained", children: "Go" }) })] }, result.getId()))) })] }) }));
70
57
  }
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  declare const SequenceSearchDialog: ({ model, handleClose, }: {
3
2
  model: {
4
3
  assemblyNames: string[];
5
4
  showTrack: (trackId: string) => void;
6
5
  };
7
6
  handleClose: () => void;
8
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export default SequenceSearchDialog;
@@ -1,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { Dialog } from '@jbrowse/core/ui';
3
4
  import { getSession, isSessionWithAddTracks } from '@jbrowse/core/util';
4
5
  import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, FormGroup, TextField, Typography, } from '@mui/material';
@@ -23,53 +24,42 @@ const SequenceSearchDialog = observer(function ({ model, handleClose, }) {
23
24
  catch (e) {
24
25
  error = e;
25
26
  }
26
- return (React.createElement(Dialog, { maxWidth: "xl", open: true, onClose: handleClose, title: "Sequence search" },
27
- React.createElement(DialogContent, { className: classes.dialogContent },
28
- React.createElement(Typography, null, "Supply a sequence to search for. A track will be created with the resulting matches once submitted. You can also supply regex style expressions e.g. AACT(C|T)."),
29
- React.createElement(TextField, { value: value, onChange: e => {
30
- setValue(e.target.value);
31
- }, helperText: "Sequence search pattern" }),
32
- React.createElement(FormGroup, null,
33
- React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: searchForward, onChange: event => {
34
- setSearchForward(event.target.checked);
35
- } }), label: "Search forward strand" }),
36
- React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: searchReverse, onChange: event => {
37
- setSearchReverse(event.target.checked);
38
- } }), label: "Search reverse strand" }),
39
- React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: caseInsensitive, onChange: event => {
40
- setCaseInsensitive(event.target.checked);
41
- } }), label: "Case insensitive" })),
42
- error ? React.createElement(Typography, { color: "error" }, `${error}`) : null),
43
- React.createElement(DialogActions, null,
44
- React.createElement(Button, { onClick: () => {
45
- var _a;
46
- if (value) {
47
- const trackId = `sequence_search_${+Date.now()}`;
48
- const session = getSession(model);
49
- const { assemblyManager } = session;
50
- const assemblyName = model.assemblyNames[0];
51
- if (isSessionWithAddTracks(session)) {
52
- session.addTrackConf({
53
- trackId,
54
- name: `Sequence search ${value}`,
55
- assemblyNames: [assemblyName],
56
- type: 'FeatureTrack',
57
- adapter: {
58
- type: 'SequenceSearchAdapter',
59
- search: value,
60
- searchForward,
61
- searchReverse,
62
- caseInsensitive,
63
- sequenceAdapter: getSnapshot((_a = assemblyManager.get(assemblyName)) === null || _a === void 0 ? void 0 : _a.configuration.sequence.adapter),
64
- },
65
- });
66
- model.showTrack(trackId);
67
- }
68
- }
69
- handleClose();
70
- }, variant: "contained", color: "primary" }, "Submit"),
71
- React.createElement(Button, { onClick: () => {
72
- handleClose();
73
- }, variant: "contained", color: "secondary" }, "Close"))));
27
+ return (_jsxs(Dialog, { maxWidth: "xl", open: true, onClose: handleClose, title: "Sequence search", children: [_jsxs(DialogContent, { className: classes.dialogContent, children: [_jsx(Typography, { children: "Supply a sequence to search for. A track will be created with the resulting matches once submitted. You can also supply regex style expressions e.g. AACT(C|T)." }), _jsx(TextField, { value: value, onChange: e => {
28
+ setValue(e.target.value);
29
+ }, helperText: "Sequence search pattern" }), _jsxs(FormGroup, { children: [_jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: searchForward, onChange: event => {
30
+ setSearchForward(event.target.checked);
31
+ } }), label: "Search forward strand" }), _jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: searchReverse, onChange: event => {
32
+ setSearchReverse(event.target.checked);
33
+ } }), label: "Search reverse strand" }), _jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: caseInsensitive, onChange: event => {
34
+ setCaseInsensitive(event.target.checked);
35
+ } }), label: "Case insensitive" })] }), error ? _jsx(Typography, { color: "error", children: `${error}` }) : null] }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: () => {
36
+ var _a;
37
+ if (value) {
38
+ const trackId = `sequence_search_${+Date.now()}`;
39
+ const session = getSession(model);
40
+ const { assemblyManager } = session;
41
+ const assemblyName = model.assemblyNames[0];
42
+ if (isSessionWithAddTracks(session)) {
43
+ session.addTrackConf({
44
+ trackId,
45
+ name: `Sequence search ${value}`,
46
+ assemblyNames: [assemblyName],
47
+ type: 'FeatureTrack',
48
+ adapter: {
49
+ type: 'SequenceSearchAdapter',
50
+ search: value,
51
+ searchForward,
52
+ searchReverse,
53
+ caseInsensitive,
54
+ sequenceAdapter: getSnapshot((_a = assemblyManager.get(assemblyName)) === null || _a === void 0 ? void 0 : _a.configuration.sequence.adapter),
55
+ },
56
+ });
57
+ model.showTrack(trackId);
58
+ }
59
+ }
60
+ handleClose();
61
+ }, variant: "contained", color: "primary", children: "Submit" }), _jsx(Button, { onClick: () => {
62
+ handleClose();
63
+ }, variant: "contained", color: "secondary", children: "Close" })] })] }));
74
64
  });
75
65
  export default SequenceSearchDialog;
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
4
3
  type LGV = LinearGenomeViewModel;
5
4
  declare const TrackContainer: ({ model, track, }: {
6
5
  model: LGV;
7
6
  track: BaseTrackModel;
8
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export default TrackContainer;
@@ -1,4 +1,5 @@
1
- import React, { useRef } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
2
3
  import { ErrorMessage, ResizeHandle } from '@jbrowse/core/ui';
3
4
  import { ErrorBoundary } from '@jbrowse/core/ui/ErrorBoundary';
4
5
  import { Paper } from '@mui/material';
@@ -23,22 +24,18 @@ const TrackContainer = observer(function ({ model, track, }) {
23
24
  const display = track.displays[0];
24
25
  const { draggingTrackId, showTrackOutlines } = model;
25
26
  const ref = useRef(null);
26
- return (React.createElement(Paper, { ref: ref, className: classes.root, variant: showTrackOutlines ? 'outlined' : undefined, elevation: showTrackOutlines ? undefined : 0, onClick: event => {
27
+ return (_jsxs(Paper, { ref: ref, className: classes.root, variant: showTrackOutlines ? 'outlined' : undefined, elevation: showTrackOutlines ? undefined : 0, onClick: event => {
27
28
  var _a;
28
29
  if (event.detail === 2 && !track.displays[0].featureIdUnderMouse) {
29
30
  const left = ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left) || 0;
30
31
  model.zoomTo(model.bpPerPx / 2, event.clientX - left, true);
31
32
  }
32
- } },
33
- React.createElement(TrackLabelContainer, { track: track, view: model }),
34
- React.createElement(ErrorBoundary, { FallbackComponent: e => React.createElement(ErrorMessage, { error: e.error }) },
35
- React.createElement(TrackRenderingContainer, { model: model, track: track, onDragEnter: () => {
36
- if (isAlive(display) &&
37
- draggingTrackId !== undefined &&
38
- draggingTrackId !== display.id) {
39
- model.moveTrack(draggingTrackId, track.id);
40
- }
41
- } })),
42
- React.createElement(ResizeHandle, { onDrag: display.resizeHeight, className: classes.resizeHandle })));
33
+ }, children: [_jsx(TrackLabelContainer, { track: track, view: model }), _jsx(ErrorBoundary, { FallbackComponent: e => _jsx(ErrorMessage, { error: e.error }), children: _jsx(TrackRenderingContainer, { model: model, track: track, onDragEnter: () => {
34
+ if (isAlive(display) &&
35
+ draggingTrackId !== undefined &&
36
+ draggingTrackId !== display.id) {
37
+ model.moveTrack(draggingTrackId, track.id);
38
+ }
39
+ } }) }), _jsx(ResizeHandle, { onDrag: display.resizeHeight, className: classes.resizeHandle })] }));
43
40
  });
44
41
  export default TrackContainer;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
2
  interface Props {
4
3
  track: BaseTrackModel;
5
4
  className?: string;
6
5
  }
7
- declare const TrackLabel: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
6
+ declare const TrackLabel: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
8
7
  export default TrackLabel;
@@ -1,21 +1,15 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
2
3
  import { getConf } from '@jbrowse/core/configuration';
3
4
  import { SanitizedHTML } from '@jbrowse/core/ui';
4
- import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
5
5
  import { getContainingView, getSession } from '@jbrowse/core/util';
6
6
  import { getTrackName } from '@jbrowse/core/util/tracks';
7
- import AddIcon from '@mui/icons-material/Add';
8
7
  import CloseIcon from '@mui/icons-material/Close';
9
- import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
10
- import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
11
- import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
- import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
13
- import MinimizeIcon from '@mui/icons-material/Minimize';
14
- import MoreVertIcon from '@mui/icons-material/MoreVert';
15
8
  import { IconButton, Paper, Typography, alpha } from '@mui/material';
16
9
  import { observer } from 'mobx-react';
17
10
  import { makeStyles } from 'tss-react/mui';
18
11
  import TrackLabelDragHandle from './TrackLabelDragHandle';
12
+ import TrackLabelMenu from './TrackLabelMenu';
19
13
  const useStyles = makeStyles()(theme => ({
20
14
  root: {
21
15
  background: alpha(theme.palette.background.paper, 0.8),
@@ -30,8 +24,7 @@ const useStyles = makeStyles()(theme => ({
30
24
  padding: theme.spacing(1),
31
25
  },
32
26
  }));
33
- const TrackLabel = observer(React.forwardRef(function TrackLabel2({ track, className }, ref) {
34
- var _a;
27
+ const TrackLabel = observer(forwardRef(function TrackLabel2({ track, className }, ref) {
35
28
  const { classes, cx } = useStyles();
36
29
  const view = getContainingView(track);
37
30
  const session = getSession(track);
@@ -39,73 +32,12 @@ const TrackLabel = observer(React.forwardRef(function TrackLabel2({ track, class
39
32
  const minimized = track.minimized;
40
33
  const trackId = getConf(track, 'trackId');
41
34
  const trackName = getTrackName(trackConf, session);
42
- const items = [
43
- {
44
- label: 'Track order',
45
- type: 'subMenu',
46
- priority: 2000,
47
- subMenu: [
48
- {
49
- label: minimized ? 'Restore track' : 'Minimize track',
50
- icon: minimized ? AddIcon : MinimizeIcon,
51
- onClick: () => {
52
- track.setMinimized(!minimized);
53
- },
54
- },
55
- ...(view.tracks.length > 2
56
- ? [
57
- {
58
- label: 'Move track to top',
59
- icon: KeyboardDoubleArrowUpIcon,
60
- onClick: () => {
61
- view.moveTrackToTop(track.id);
62
- },
63
- },
64
- ]
65
- : []),
66
- {
67
- label: 'Move track up',
68
- icon: KeyboardArrowUpIcon,
69
- onClick: () => {
70
- view.moveTrackUp(track.id);
71
- },
72
- },
73
- {
74
- label: 'Move track down',
75
- icon: KeyboardArrowDownIcon,
76
- onClick: () => {
77
- view.moveTrackDown(track.id);
78
- },
79
- },
80
- ...(view.tracks.length > 2
81
- ? [
82
- {
83
- label: 'Move track to bottom',
84
- icon: KeyboardDoubleArrowDownIcon,
85
- onClick: () => {
86
- view.moveTrackToBottom(track.id);
87
- },
88
- },
89
- ]
90
- : []),
91
- ],
92
- },
93
- ...(((_a = session.getTrackActionMenuItems) === null || _a === void 0 ? void 0 : _a.call(session, trackConf)) || []),
94
- ...track.trackMenuItems(),
95
- ].sort((a, b) => ((b === null || b === void 0 ? void 0 : b.priority) || 0) - ((a === null || a === void 0 ? void 0 : a.priority) || 0));
96
- return (React.createElement(Paper, { ref: ref, className: cx(className, classes.root), onClick: event => {
35
+ return (_jsxs(Paper, { ref: ref, className: cx(className, classes.root), onClick: event => {
97
36
  event.stopPropagation();
98
- } },
99
- React.createElement(TrackLabelDragHandle, { track: track, trackId: trackId, view: view }),
100
- React.createElement(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track" },
101
- React.createElement(CloseIcon, { fontSize: "small" })),
102
- React.createElement(Typography, { variant: "body1", component: "span", className: classes.trackName, onMouseDown: event => {
103
- event.stopPropagation();
104
- } },
105
- React.createElement(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
106
- .filter(f => !!f)
107
- .join(' ') })),
108
- React.createElement(CascadingMenuButton, { menuItems: items, "data-testid": "track_menu_icon" },
109
- React.createElement(MoreVertIcon, { fontSize: "small" }))));
37
+ }, children: [_jsx(TrackLabelDragHandle, { track: track, trackId: trackId, view: view }), _jsx(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track", children: _jsx(CloseIcon, { fontSize: "small" }) }), _jsx(Typography, { variant: "body1", component: "span", className: classes.trackName, onMouseDown: event => {
38
+ event.stopPropagation();
39
+ }, children: _jsx(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
40
+ .filter(f => !!f)
41
+ .join(' ') }) }), _jsx(TrackLabelMenu, { track: track })] }));
110
42
  }));
111
43
  export default TrackLabel;
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
4
3
  type LGV = LinearGenomeViewModel;
5
4
  declare const TrackLabelContainer: ({ track, view, }: {
6
5
  track: BaseTrackModel;
7
6
  view: LGV;
8
- }) => React.JSX.Element | null;
7
+ }) => import("react/jsx-runtime").JSX.Element | null;
9
8
  export default TrackLabelContainer;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { observer } from 'mobx-react';
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
  import TrackLabel from './TrackLabel';
@@ -21,6 +21,6 @@ const TrackLabelContainer = observer(function ({ track, view, }) {
21
21
  const labelStyle = view.trackLabelsSetting !== 'overlapping' || display.prefersOffset
22
22
  ? trackLabelOffset
23
23
  : trackLabelOverlap;
24
- return view.trackLabelsSetting !== 'hidden' ? (React.createElement(TrackLabel, { track: track, className: cx(trackLabel, labelStyle) })) : null;
24
+ return view.trackLabelsSetting !== 'hidden' ? (_jsx(TrackLabel, { track: track, className: cx(trackLabel, labelStyle) })) : null;
25
25
  });
26
26
  export default TrackLabelContainer;
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
4
3
  declare function TrackLabelDragHandle({ trackId, view, track, }: {
5
4
  trackId: string;
6
5
  track: BaseTrackModel;
7
6
  view: LinearGenomeViewModel;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
9
8
  export default TrackLabelDragHandle;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import DragIcon from '@mui/icons-material/DragIndicator';
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
  const useStyles = makeStyles()({
@@ -13,7 +13,7 @@ const useStyles = makeStyles()({
13
13
  });
14
14
  function TrackLabelDragHandle({ trackId, view, track, }) {
15
15
  const { classes } = useStyles();
16
- return (React.createElement("span", { draggable: true, className: classes.dragHandle, onDragStart: event => {
16
+ return (_jsx("span", { draggable: true, className: classes.dragHandle, onDragStart: event => {
17
17
  const target = event.currentTarget;
18
18
  if (target.parentNode) {
19
19
  const parent = target.parentNode;
@@ -22,7 +22,6 @@ function TrackLabelDragHandle({ trackId, view, track, }) {
22
22
  }
23
23
  }, onDragEnd: () => {
24
24
  view.setDraggingTrackId(undefined);
25
- }, "data-testid": `dragHandle-${view.id}-${trackId}` },
26
- React.createElement(DragIcon, { className: classes.dragHandleIcon, fontSize: "small" })));
25
+ }, "data-testid": `dragHandle-${view.id}-${trackId}`, children: _jsx(DragIcon, { className: classes.dragHandleIcon, fontSize: "small" }) }));
27
26
  }
28
27
  export default TrackLabelDragHandle;
@@ -0,0 +1,5 @@
1
+ import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
2
+ declare const TrackLabelMenu: ({ track, }: {
3
+ track: BaseTrackModel;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default TrackLabelMenu;
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
3
+ import { getContainingView, getSession } from '@jbrowse/core/util';
4
+ import AddIcon from '@mui/icons-material/Add';
5
+ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
6
+ import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
7
+ import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
8
+ import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
9
+ import MinimizeIcon from '@mui/icons-material/Minimize';
10
+ import MoreVertIcon from '@mui/icons-material/MoreVert';
11
+ import { observer } from 'mobx-react';
12
+ const TrackLabelMenu = observer(function ({ track, }) {
13
+ var _a;
14
+ const view = getContainingView(track);
15
+ const session = getSession(track);
16
+ const trackConf = track.configuration;
17
+ const minimized = track.minimized;
18
+ const items = [
19
+ {
20
+ label: 'Track order',
21
+ type: 'subMenu',
22
+ priority: 2000,
23
+ subMenu: [
24
+ {
25
+ label: minimized ? 'Restore track' : 'Minimize track',
26
+ icon: minimized ? AddIcon : MinimizeIcon,
27
+ onClick: () => {
28
+ track.setMinimized(!minimized);
29
+ },
30
+ },
31
+ ...(view.tracks.length > 2
32
+ ? [
33
+ {
34
+ label: 'Move track to top',
35
+ icon: KeyboardDoubleArrowUpIcon,
36
+ onClick: () => {
37
+ view.moveTrackToTop(track.id);
38
+ },
39
+ },
40
+ ]
41
+ : []),
42
+ {
43
+ label: 'Move track up',
44
+ icon: KeyboardArrowUpIcon,
45
+ onClick: () => {
46
+ view.moveTrackUp(track.id);
47
+ },
48
+ },
49
+ {
50
+ label: 'Move track down',
51
+ icon: KeyboardArrowDownIcon,
52
+ onClick: () => {
53
+ view.moveTrackDown(track.id);
54
+ },
55
+ },
56
+ ...(view.tracks.length > 2
57
+ ? [
58
+ {
59
+ label: 'Move track to bottom',
60
+ icon: KeyboardDoubleArrowDownIcon,
61
+ onClick: () => {
62
+ view.moveTrackToBottom(track.id);
63
+ },
64
+ },
65
+ ]
66
+ : []),
67
+ ],
68
+ },
69
+ ...(((_a = session.getTrackActionMenuItems) === null || _a === void 0 ? void 0 : _a.call(session, trackConf)) || []),
70
+ ...track.trackMenuItems(),
71
+ ].sort((a, b) => ((b === null || b === void 0 ? void 0 : b.priority) || 0) - ((a === null || a === void 0 ? void 0 : a.priority) || 0));
72
+ return (_jsx(CascadingMenuButton, { menuItems: items, "data-testid": "track_menu_icon", children: _jsx(MoreVertIcon, { fontSize: "small" }) }));
73
+ });
74
+ export default TrackLabelMenu;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
4
3
  type LGV = LinearGenomeViewModel;
@@ -6,5 +5,5 @@ declare const TrackRenderingContainer: ({ model, track, onDragEnter, }: {
6
5
  model: LGV;
7
6
  track: BaseTrackModel;
8
7
  onDragEnter: () => void;
9
- }) => React.JSX.Element;
8
+ }) => import("react/jsx-runtime").JSX.Element;
10
9
  export default TrackRenderingContainer;
@@ -1,4 +1,5 @@
1
- import React, { Suspense, useEffect, useRef } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense, useEffect, useRef } from 'react';
2
3
  import { getConf } from '@jbrowse/core/configuration';
3
4
  import { LoadingEllipses } from '@jbrowse/core/ui';
4
5
  import { observer } from 'mobx-react';
@@ -35,19 +36,14 @@ const TrackRenderingContainer = observer(function ({ model, track, onDragEnter,
35
36
  delete trackRefs[trackId];
36
37
  };
37
38
  }, [trackRefs, trackId]);
38
- return (React.createElement("div", { className: classes.trackRenderingContainer, style: {
39
+ return (_jsx("div", { className: classes.trackRenderingContainer, style: {
39
40
  height: minimized ? 20 : height,
40
- }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${id}-${trackId}` }, !minimized ? (React.createElement(React.Fragment, null,
41
- React.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: {
42
- transform: scaleFactor !== 1 ? `scaleX(${scaleFactor})` : undefined,
43
- } },
44
- React.createElement(Suspense, { fallback: React.createElement(LoadingEllipses, null) },
45
- React.createElement(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll }))),
46
- DisplayBlurb ? (React.createElement("div", { style: {
47
- position: 'absolute',
48
- left: 0,
49
- top: display.height - 20,
50
- } },
51
- React.createElement(DisplayBlurb, { model: display }))) : null)) : null));
41
+ }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${id}-${trackId}`, children: !minimized ? (_jsxs(_Fragment, { children: [_jsx("div", { ref: ref, className: classes.renderingComponentContainer, style: {
42
+ transform: scaleFactor !== 1 ? `scaleX(${scaleFactor})` : undefined,
43
+ }, children: _jsx(Suspense, { fallback: _jsx(LoadingEllipses, {}), children: _jsx(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll }) }) }), DisplayBlurb ? (_jsx("div", { style: {
44
+ position: 'absolute',
45
+ left: 0,
46
+ top: display.height - 20,
47
+ }, children: _jsx(DisplayBlurb, { model: display }) })) : null] })) : null }));
52
48
  });
53
49
  export default TrackRenderingContainer;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  type LGV = LinearGenomeViewModel;
4
3
  declare const TracksContainer: ({ children, model, }: {
5
4
  children: React.ReactNode;
6
5
  model: LGV;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  export default TracksContainer;
@@ -1,19 +1,20 @@
1
- import React, { useRef } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense, lazy, useRef } from 'react';
2
3
  import { Menu } from '@jbrowse/core/ui';
3
4
  import { getEnv } from '@jbrowse/core/util';
4
5
  import { observer } from 'mobx-react';
5
6
  import { makeStyles } from 'tss-react/mui';
6
- import CenterLine from './CenterLine';
7
7
  import Gridlines from './Gridlines';
8
- import HighlightGroup from './Highlight';
9
8
  import Rubberband from './Rubberband';
10
- import RubberbandSpan from './RubberbandSpan';
11
9
  import Scalebar from './Scalebar';
12
10
  import VerticalGuide from './VerticalGuide';
13
11
  import { SCALE_BAR_HEIGHT } from '../consts';
14
12
  import { useRangeSelect } from './useRangeSelect';
15
13
  import { useSideScroll } from './useSideScroll';
16
14
  import { useWheelScroll } from './useWheelScroll';
15
+ const CenterLine = lazy(() => import('./CenterLine'));
16
+ const Highlight = lazy(() => import('./Highlight'));
17
+ const RubberbandSpan = lazy(() => import('./RubberbandSpan'));
17
18
  const useStyles = makeStyles()({
18
19
  tracksContainer: {
19
20
  position: 'relative',
@@ -29,23 +30,18 @@ const TracksContainer = observer(function TracksContainer({ children, model, })
29
30
  const { guideX, rubberbandOn, leftBpOffset, rightBpOffset, numOfBpSelected, width, left, anchorPosition, open, handleMenuItemClick, handleClose, mouseMove, mouseDown: mouseDown2, } = useRangeSelect(ref, model, true);
30
31
  useWheelScroll(ref, model);
31
32
  const additional = pluginManager.evaluateExtensionPoint('LinearGenomeView-TracksContainerComponent', undefined, { model });
32
- return (React.createElement("div", { ref: ref, "data-testid": "trackContainer", className: classes.tracksContainer, onMouseDown: event => {
33
+ return (_jsxs("div", { ref: ref, "data-testid": "trackContainer", className: classes.tracksContainer, onMouseDown: event => {
33
34
  mouseDown1(event);
34
35
  mouseDown2(event);
35
- }, onMouseMove: mouseMove, onMouseUp: mouseUp },
36
- showGridlines ? React.createElement(Gridlines, { model: model }) : null,
37
- showCenterLine ? React.createElement(CenterLine, { model: model }) : null,
38
- guideX !== undefined ? (React.createElement(VerticalGuide, { model: model, coordX: guideX })) : rubberbandOn ? (React.createElement(RubberbandSpan, { leftBpOffset: leftBpOffset, rightBpOffset: rightBpOffset, numOfBpSelected: numOfBpSelected, width: width, left: left })) : null,
39
- anchorPosition ? (React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
40
- left: anchorPosition.clientX,
41
- top: anchorPosition.clientY,
42
- }, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: model.rubberBandMenuItems() })) : null,
43
- React.createElement(Rubberband, { model: model, ControlComponent: React.createElement(Scalebar, { model: model, style: {
44
- height: SCALE_BAR_HEIGHT,
45
- boxSizing: 'border-box',
46
- } }) }),
47
- React.createElement(HighlightGroup, { model: model }),
48
- additional,
49
- children));
36
+ }, onMouseMove: mouseMove, onMouseUp: mouseUp, children: [showGridlines ? _jsx(Gridlines, { model: model }) : null, _jsx(Suspense, { fallback: null, children: showCenterLine ? _jsx(CenterLine, { model: model }) : null }), guideX !== undefined ? (_jsx(VerticalGuide, { model: model, coordX: guideX })) : rubberbandOn ? (_jsx(Suspense, { fallback: null, children: _jsx(RubberbandSpan, { leftBpOffset: leftBpOffset, rightBpOffset: rightBpOffset, numOfBpSelected: numOfBpSelected, width: width, left: left }) })) : null, anchorPosition ? (_jsx(Menu, { anchorReference: "anchorPosition", anchorPosition: {
37
+ left: anchorPosition.clientX,
38
+ top: anchorPosition.clientY,
39
+ }, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: model.rubberBandMenuItems() })) : null, _jsx(Rubberband, { model: model, ControlComponent: _jsx(Scalebar, { model: model, style: {
40
+ height: SCALE_BAR_HEIGHT,
41
+ boxSizing: 'border-box',
42
+ } }) }), _jsx(HighlightGroup, { model: model }), additional, children] }));
43
+ });
44
+ const HighlightGroup = observer(function HighlightGroup({ model, }) {
45
+ return model.highlight.length ? (_jsx(Suspense, { fallback: null, children: model.highlight.map((highlight, idx) => (_jsx(Highlight, { model: model, highlight: highlight }, `${JSON.stringify(highlight)}-${idx}`))) })) : null;
50
46
  });
51
47
  export default TracksContainer;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { LinearGenomeViewModel } from '..';
3
2
  type LGV = LinearGenomeViewModel;
4
3
  declare const VerticalGuide: ({ model, coordX, }: {
5
4
  model: LGV;
6
5
  coordX: number;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  export default VerticalGuide;