@jbrowse/plugin-linear-genome-view 3.6.5 → 4.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 (392) hide show
  1. package/esm/BaseLinearDisplay/SVGLegend.d.ts +6 -0
  2. package/esm/BaseLinearDisplay/SVGLegend.js +17 -0
  3. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.d.ts +2 -0
  4. package/esm/BaseLinearDisplay/calculateSvgLegendWidth.js +11 -0
  5. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +3 -3
  6. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +13 -24
  7. package/esm/BaseLinearDisplay/components/Block.js +2 -2
  8. package/esm/BaseLinearDisplay/components/BlockErrorMessage.js +2 -2
  9. package/esm/BaseLinearDisplay/components/BlockMsg.js +11 -2
  10. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.d.ts +9 -0
  11. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.js +42 -0
  12. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.d.ts +11 -0
  13. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.js +40 -0
  14. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.d.ts +19 -0
  15. package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.js +45 -0
  16. package/esm/BaseLinearDisplay/components/FloatingLabels.d.ts +5 -0
  17. package/esm/BaseLinearDisplay/components/FloatingLabels.js +89 -0
  18. package/esm/BaseLinearDisplay/components/FloatingLegend.d.ts +8 -0
  19. package/esm/BaseLinearDisplay/components/FloatingLegend.js +43 -0
  20. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +1 -5
  21. package/esm/BaseLinearDisplay/components/LinearBlocks.js +5 -42
  22. package/esm/BaseLinearDisplay/components/LoadingOverlay.d.ts +4 -0
  23. package/esm/BaseLinearDisplay/components/LoadingOverlay.js +49 -0
  24. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.d.ts +4 -0
  25. package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.js +26 -0
  26. package/esm/BaseLinearDisplay/components/MenuPage.d.ts +8 -0
  27. package/esm/BaseLinearDisplay/components/MenuPage.js +24 -0
  28. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.d.ts +19 -0
  29. package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.js +48 -0
  30. package/esm/BaseLinearDisplay/components/RenderedBlocks.d.ts +12 -0
  31. package/esm/BaseLinearDisplay/components/RenderedBlocks.js +22 -0
  32. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -4
  33. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +5 -8
  34. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +3 -3
  35. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -0
  36. package/esm/BaseLinearDisplay/components/Tooltip.js +10 -7
  37. package/esm/BaseLinearDisplay/components/types.d.ts +1 -0
  38. package/esm/BaseLinearDisplay/components/types.js +1 -0
  39. package/esm/BaseLinearDisplay/components/util.d.ts +21 -0
  40. package/esm/BaseLinearDisplay/components/util.js +116 -0
  41. package/esm/BaseLinearDisplay/index.d.ts +17 -8
  42. package/esm/BaseLinearDisplay/index.js +13 -6
  43. package/esm/BaseLinearDisplay/model.d.ts +1177 -0
  44. package/esm/BaseLinearDisplay/model.js +424 -0
  45. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +5 -5
  46. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +11 -14
  47. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.d.ts +21 -0
  48. package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.js +46 -0
  49. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +3 -3
  50. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +2 -3
  51. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +1 -1
  52. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +2 -3
  53. package/esm/BaseLinearDisplay/models/calculateLabelPositions.d.ts +24 -0
  54. package/esm/BaseLinearDisplay/models/calculateLabelPositions.js +60 -0
  55. package/esm/BaseLinearDisplay/models/configSchema.d.ts +2 -2
  56. package/esm/BaseLinearDisplay/models/configSchema.js +3 -3
  57. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +3 -7
  58. package/esm/BaseLinearDisplay/models/renderSvg.js +22 -11
  59. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +37 -19
  60. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +151 -135
  61. package/esm/BaseLinearDisplay/models/util.d.ts +4 -4
  62. package/esm/BaseLinearDisplay/models/util.js +16 -13
  63. package/esm/BaseLinearDisplay/renderSvg.d.ts +3 -0
  64. package/esm/BaseLinearDisplay/renderSvg.js +59 -0
  65. package/esm/BaseLinearDisplay/types.d.ts +47 -0
  66. package/esm/BaseLinearDisplay/types.js +3 -0
  67. package/esm/BaseLinearDisplay/util.d.ts +15 -0
  68. package/esm/BaseLinearDisplay/util.js +61 -0
  69. package/esm/BasicTrack/configSchema.d.ts +16 -11
  70. package/esm/BasicTrack/index.js +1 -1
  71. package/esm/FeatureTrack/configSchema.d.ts +16 -11
  72. package/esm/FeatureTrack/index.js +1 -1
  73. package/esm/LaunchLinearGenomeView/index.js +12 -62
  74. package/esm/LinearBareDisplay/configSchema.d.ts +4 -4
  75. package/esm/LinearBareDisplay/configSchema.js +1 -1
  76. package/esm/LinearBareDisplay/index.d.ts +2 -2
  77. package/esm/LinearBareDisplay/index.js +5 -5
  78. package/esm/LinearBareDisplay/model.d.ts +959 -92
  79. package/esm/LinearBareDisplay/model.js +3 -6
  80. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.d.ts +5 -0
  81. package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.js +9 -0
  82. package/esm/LinearBasicDisplay/configSchema.d.ts +4 -4
  83. package/esm/LinearBasicDisplay/configSchema.js +1 -1
  84. package/esm/LinearBasicDisplay/index.d.ts +2 -2
  85. package/esm/LinearBasicDisplay/index.js +6 -6
  86. package/esm/LinearBasicDisplay/model.d.ts +1134 -122
  87. package/esm/LinearBasicDisplay/model.js +116 -116
  88. package/esm/{LinearBasicDisplay → LinearFeatureDisplay}/components/AddFiltersDialog.js +2 -2
  89. package/esm/{LinearBasicDisplay → LinearFeatureDisplay}/components/SetMaxHeightDialog.js +3 -3
  90. package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/configSchema.d.ts +4 -4
  91. package/esm/LinearFeatureDisplay/configSchema.js +11 -0
  92. package/esm/LinearFeatureDisplay/index.d.ts +3 -0
  93. package/esm/LinearFeatureDisplay/index.js +2 -0
  94. package/esm/LinearFeatureDisplay/model.d.ts +1415 -0
  95. package/esm/LinearFeatureDisplay/model.js +265 -0
  96. package/esm/LinearGenomeView/SVGErrorBox.d.ts +5 -0
  97. package/esm/LinearGenomeView/SVGErrorBox.js +4 -0
  98. package/esm/LinearGenomeView/afterAttach.d.ts +5 -0
  99. package/esm/LinearGenomeView/afterAttach.js +95 -0
  100. package/esm/LinearGenomeView/components/CenterLine.js +6 -4
  101. package/esm/LinearGenomeView/components/Cytobands.js +4 -4
  102. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +1 -1
  103. package/esm/LinearGenomeView/components/ExportSvgDialog.js +5 -1
  104. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +8 -2
  105. package/esm/LinearGenomeView/components/GetSequenceDialog.js +13 -16
  106. package/esm/LinearGenomeView/components/Gridlines.js +18 -15
  107. package/esm/LinearGenomeView/components/Header.js +9 -9
  108. package/esm/LinearGenomeView/components/HeaderPanControls.js +2 -2
  109. package/esm/LinearGenomeView/components/HeaderRegionWidth.js +4 -5
  110. package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.js +2 -2
  111. package/esm/LinearGenomeView/components/HeaderZoomControls.js +3 -3
  112. package/esm/LinearGenomeView/components/Highlight.d.ts +1 -1
  113. package/esm/LinearGenomeView/components/Highlight.js +6 -6
  114. package/esm/LinearGenomeView/components/ImportForm.d.ts +1 -1
  115. package/esm/LinearGenomeView/components/ImportForm.js +14 -12
  116. package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +3 -3
  117. package/esm/LinearGenomeView/components/LinearGenomeView.js +7 -7
  118. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +7 -8
  119. package/esm/LinearGenomeView/components/MiniControls.js +6 -6
  120. package/esm/LinearGenomeView/components/NoTracksActiveButton.js +2 -2
  121. package/esm/LinearGenomeView/components/OverviewHighlight.d.ts +1 -1
  122. package/esm/LinearGenomeView/components/OverviewHighlight.js +5 -5
  123. package/esm/LinearGenomeView/components/OverviewRubberband.js +4 -4
  124. package/esm/LinearGenomeView/components/OverviewRubberbandHoverTooltip.js +9 -5
  125. package/esm/LinearGenomeView/components/OverviewScalebar.js +36 -28
  126. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +5 -5
  127. package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.js +7 -7
  128. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +1 -1
  129. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +1 -1
  130. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +10 -10
  131. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +1 -1
  132. package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +6 -4
  133. package/esm/LinearGenomeView/components/Rubberband.js +9 -7
  134. package/esm/LinearGenomeView/components/RubberbandSpan.js +4 -5
  135. package/esm/LinearGenomeView/components/Scalebar.js +8 -10
  136. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -1
  137. package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.js +50 -17
  138. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -1
  139. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +13 -11
  140. package/esm/LinearGenomeView/components/SearchBox.d.ts +1 -1
  141. package/esm/LinearGenomeView/components/SearchBox.js +8 -9
  142. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +1 -1
  143. package/esm/LinearGenomeView/components/SearchResultsDialog.js +2 -2
  144. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +1 -1
  145. package/esm/LinearGenomeView/components/SearchResultsTable.js +4 -6
  146. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +6 -6
  147. package/esm/LinearGenomeView/components/TrackContainer.js +32 -20
  148. package/esm/LinearGenomeView/components/TrackLabel.js +10 -11
  149. package/esm/LinearGenomeView/components/TrackLabelContainer.js +7 -8
  150. package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +1 -1
  151. package/esm/LinearGenomeView/components/TrackLabelMenu.js +80 -68
  152. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +1 -2
  153. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +5 -5
  154. package/esm/LinearGenomeView/components/TracksContainer.js +18 -15
  155. package/esm/LinearGenomeView/components/VerticalGuide.js +5 -3
  156. package/esm/LinearGenomeView/components/fetchSequence.d.ts +7 -2
  157. package/esm/LinearGenomeView/components/useRangeSelect.d.ts +27 -2
  158. package/esm/LinearGenomeView/components/useRangeSelect.js +26 -20
  159. package/esm/LinearGenomeView/components/useWheelScroll.js +22 -12
  160. package/esm/LinearGenomeView/components/util.d.ts +2 -13
  161. package/esm/LinearGenomeView/components/util.js +12 -31
  162. package/esm/LinearGenomeView/index.d.ts +1 -1
  163. package/esm/LinearGenomeView/index.js +3 -3
  164. package/esm/LinearGenomeView/keyboardHandler.d.ts +2 -0
  165. package/esm/LinearGenomeView/keyboardHandler.js +29 -0
  166. package/esm/LinearGenomeView/menuItems.d.ts +7 -0
  167. package/esm/LinearGenomeView/menuItems.js +299 -0
  168. package/esm/LinearGenomeView/model.d.ts +92 -89
  169. package/esm/LinearGenomeView/model.js +166 -414
  170. package/esm/LinearGenomeView/svgExportUtil.d.ts +9 -0
  171. package/esm/LinearGenomeView/svgExportUtil.js +6 -0
  172. package/{dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts → esm/LinearGenomeView/svgcomponents/SVGGridlines.d.ts} +2 -2
  173. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +20 -0
  174. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +5 -5
  175. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +4 -3
  176. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +24 -12
  177. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +13 -5
  178. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +2 -2
  179. package/esm/LinearGenomeView/types.d.ts +5 -1
  180. package/esm/LinearGenomeView/util.d.ts +2 -2
  181. package/esm/LinearGenomeView/util.js +8 -6
  182. package/esm/index.d.ts +975 -94
  183. package/esm/index.js +37 -38
  184. package/esm/searchUtils.d.ts +1 -1
  185. package/esm/searchUtils.js +6 -4
  186. package/package.json +28 -33
  187. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +0 -8
  188. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -72
  189. package/dist/BaseLinearDisplay/components/Block.d.ts +0 -14
  190. package/dist/BaseLinearDisplay/components/Block.js +0 -50
  191. package/dist/BaseLinearDisplay/components/BlockErrorMessage.d.ts +0 -7
  192. package/dist/BaseLinearDisplay/components/BlockErrorMessage.js +0 -27
  193. package/dist/BaseLinearDisplay/components/BlockLoadingMessage.d.ts +0 -6
  194. package/dist/BaseLinearDisplay/components/BlockLoadingMessage.js +0 -26
  195. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +0 -6
  196. package/dist/BaseLinearDisplay/components/BlockMsg.js +0 -20
  197. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -9
  198. package/dist/BaseLinearDisplay/components/LinearBlocks.js +0 -61
  199. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +0 -11
  200. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -59
  201. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +0 -10
  202. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +0 -25
  203. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +0 -11
  204. package/dist/BaseLinearDisplay/components/Tooltip.js +0 -24
  205. package/dist/BaseLinearDisplay/index.d.ts +0 -8
  206. package/dist/BaseLinearDisplay/index.js +0 -20
  207. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +0 -311
  208. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +0 -325
  209. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +0 -32
  210. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +0 -122
  211. package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +0 -11
  212. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +0 -35
  213. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +0 -2
  214. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +0 -33
  215. package/dist/BaseLinearDisplay/models/configSchema.d.ts +0 -29
  216. package/dist/BaseLinearDisplay/models/configSchema.js +0 -35
  217. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +0 -7
  218. package/dist/BaseLinearDisplay/models/renderSvg.js +0 -80
  219. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +0 -78
  220. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -229
  221. package/dist/BaseLinearDisplay/models/util.d.ts +0 -22
  222. package/dist/BaseLinearDisplay/models/util.js +0 -45
  223. package/dist/BasicTrack/configSchema.d.ts +0 -80
  224. package/dist/BasicTrack/configSchema.js +0 -10
  225. package/dist/BasicTrack/index.d.ts +0 -2
  226. package/dist/BasicTrack/index.js +0 -18
  227. package/dist/FeatureTrack/configSchema.d.ts +0 -80
  228. package/dist/FeatureTrack/configSchema.js +0 -10
  229. package/dist/FeatureTrack/index.d.ts +0 -2
  230. package/dist/FeatureTrack/index.js +0 -19
  231. package/dist/LaunchLinearGenomeView/index.d.ts +0 -2
  232. package/dist/LaunchLinearGenomeView/index.js +0 -70
  233. package/dist/LinearBareDisplay/configSchema.d.ts +0 -32
  234. package/dist/LinearBareDisplay/configSchema.js +0 -13
  235. package/dist/LinearBareDisplay/index.d.ts +0 -4
  236. package/dist/LinearBareDisplay/index.js +0 -26
  237. package/dist/LinearBareDisplay/model.d.ts +0 -309
  238. package/dist/LinearBareDisplay/model.js +0 -38
  239. package/dist/LinearBasicDisplay/components/AddFiltersDialog.js +0 -61
  240. package/dist/LinearBasicDisplay/components/SetMaxHeightDialog.js +0 -28
  241. package/dist/LinearBasicDisplay/configSchema.js +0 -13
  242. package/dist/LinearBasicDisplay/index.d.ts +0 -4
  243. package/dist/LinearBasicDisplay/index.js +0 -29
  244. package/dist/LinearBasicDisplay/model.d.ts +0 -346
  245. package/dist/LinearBasicDisplay/model.js +0 -192
  246. package/dist/LinearGenomeView/components/CenterLine.d.ts +0 -6
  247. package/dist/LinearGenomeView/components/CenterLine.js +0 -38
  248. package/dist/LinearGenomeView/components/Cytobands.d.ts +0 -9
  249. package/dist/LinearGenomeView/components/Cytobands.js +0 -89
  250. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +0 -7
  251. package/dist/LinearGenomeView/components/ExportSvgDialog.js +0 -57
  252. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +0 -6
  253. package/dist/LinearGenomeView/components/GetSequenceDialog.js +0 -109
  254. package/dist/LinearGenomeView/components/Gridlines.d.ts +0 -7
  255. package/dist/LinearGenomeView/components/Gridlines.js +0 -70
  256. package/dist/LinearGenomeView/components/Header.d.ts +0 -5
  257. package/dist/LinearGenomeView/components/Header.js +0 -38
  258. package/dist/LinearGenomeView/components/HeaderPanControls.d.ts +0 -6
  259. package/dist/LinearGenomeView/components/HeaderPanControls.js +0 -27
  260. package/dist/LinearGenomeView/components/HeaderRegionWidth.d.ts +0 -5
  261. package/dist/LinearGenomeView/components/HeaderRegionWidth.js +0 -21
  262. package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.d.ts +0 -5
  263. package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.js +0 -19
  264. package/dist/LinearGenomeView/components/HeaderZoomControls.d.ts +0 -5
  265. package/dist/LinearGenomeView/components/HeaderZoomControls.js +0 -109
  266. package/dist/LinearGenomeView/components/Highlight.d.ts +0 -12
  267. package/dist/LinearGenomeView/components/Highlight.js +0 -95
  268. package/dist/LinearGenomeView/components/ImportForm.d.ts +0 -6
  269. package/dist/LinearGenomeView/components/ImportForm.js +0 -80
  270. package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +0 -11
  271. package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +0 -32
  272. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +0 -5
  273. package/dist/LinearGenomeView/components/LinearGenomeView.js +0 -57
  274. package/dist/LinearGenomeView/components/LinearGenomeViewContainer.d.ts +0 -5
  275. package/dist/LinearGenomeView/components/LinearGenomeViewContainer.js +0 -98
  276. package/dist/LinearGenomeView/components/MiniControls.d.ts +0 -5
  277. package/dist/LinearGenomeView/components/MiniControls.js +0 -36
  278. package/dist/LinearGenomeView/components/NoTracksActiveButton.d.ts +0 -5
  279. package/dist/LinearGenomeView/components/NoTracksActiveButton.js +0 -23
  280. package/dist/LinearGenomeView/components/OverviewHighlight.d.ts +0 -8
  281. package/dist/LinearGenomeView/components/OverviewHighlight.js +0 -50
  282. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +0 -9
  283. package/dist/LinearGenomeView/components/OverviewRubberband.js +0 -113
  284. package/dist/LinearGenomeView/components/OverviewRubberbandHoverTooltip.d.ts +0 -10
  285. package/dist/LinearGenomeView/components/OverviewRubberbandHoverTooltip.js +0 -28
  286. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +0 -7
  287. package/dist/LinearGenomeView/components/OverviewScalebar.js +0 -146
  288. package/dist/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +0 -8
  289. package/dist/LinearGenomeView/components/OverviewScalebarPolygon.js +0 -41
  290. package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.d.ts +0 -10
  291. package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.js +0 -37
  292. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +0 -8
  293. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +0 -18
  294. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +0 -3
  295. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +0 -56
  296. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +0 -3
  297. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +0 -11
  298. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +0 -16
  299. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +0 -127
  300. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +0 -10
  301. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +0 -53
  302. package/dist/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +0 -6
  303. package/dist/LinearGenomeView/components/RegionWidthEditorDialog.js +0 -30
  304. package/dist/LinearGenomeView/components/Rubberband.d.ts +0 -7
  305. package/dist/LinearGenomeView/components/Rubberband.js +0 -35
  306. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +0 -15
  307. package/dist/LinearGenomeView/components/RubberbandSpan.js +0 -39
  308. package/dist/LinearGenomeView/components/RubberbandTooltip.d.ts +0 -5
  309. package/dist/LinearGenomeView/components/RubberbandTooltip.js +0 -20
  310. package/dist/LinearGenomeView/components/Scalebar.d.ts +0 -10
  311. package/dist/LinearGenomeView/components/Scalebar.js +0 -40
  312. package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +0 -6
  313. package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.js +0 -29
  314. package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +0 -6
  315. package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.js +0 -38
  316. package/dist/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +0 -6
  317. package/dist/LinearGenomeView/components/ScalebarRefNameLabels.js +0 -46
  318. package/dist/LinearGenomeView/components/SearchBox.d.ts +0 -6
  319. package/dist/LinearGenomeView/components/SearchBox.js +0 -88
  320. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -9
  321. package/dist/LinearGenomeView/components/SearchResultsDialog.js +0 -15
  322. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +0 -8
  323. package/dist/LinearGenomeView/components/SearchResultsTable.js +0 -74
  324. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +0 -8
  325. package/dist/LinearGenomeView/components/SequenceSearchDialog.js +0 -67
  326. package/dist/LinearGenomeView/components/TrackContainer.d.ts +0 -8
  327. package/dist/LinearGenomeView/components/TrackContainer.js +0 -51
  328. package/dist/LinearGenomeView/components/TrackLabel.d.ts +0 -7
  329. package/dist/LinearGenomeView/components/TrackLabel.js +0 -49
  330. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +0 -8
  331. package/dist/LinearGenomeView/components/TrackLabelContainer.js +0 -31
  332. package/dist/LinearGenomeView/components/TrackLabelDragHandle.d.ts +0 -8
  333. package/dist/LinearGenomeView/components/TrackLabelDragHandle.js +0 -32
  334. package/dist/LinearGenomeView/components/TrackLabelMenu.d.ts +0 -5
  335. package/dist/LinearGenomeView/components/TrackLabelMenu.js +0 -93
  336. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +0 -9
  337. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +0 -50
  338. package/dist/LinearGenomeView/components/TracksContainer.d.ts +0 -7
  339. package/dist/LinearGenomeView/components/TracksContainer.js +0 -84
  340. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +0 -7
  341. package/dist/LinearGenomeView/components/VerticalGuide.js +0 -31
  342. package/dist/LinearGenomeView/components/fetchSequence.d.ts +0 -4
  343. package/dist/LinearGenomeView/components/fetchSequence.js +0 -29
  344. package/dist/LinearGenomeView/components/useRangeSelect.d.ts +0 -59
  345. package/dist/LinearGenomeView/components/useRangeSelect.js +0 -131
  346. package/dist/LinearGenomeView/components/useSideScroll.d.ts +0 -6
  347. package/dist/LinearGenomeView/components/useSideScroll.js +0 -60
  348. package/dist/LinearGenomeView/components/useWheelScroll.d.ts +0 -7
  349. package/dist/LinearGenomeView/components/useWheelScroll.js +0 -62
  350. package/dist/LinearGenomeView/components/util.d.ts +0 -25
  351. package/dist/LinearGenomeView/components/util.js +0 -49
  352. package/dist/LinearGenomeView/consts.d.ts +0 -7
  353. package/dist/LinearGenomeView/consts.js +0 -10
  354. package/dist/LinearGenomeView/index.d.ts +0 -3
  355. package/dist/LinearGenomeView/index.js +0 -53
  356. package/dist/LinearGenomeView/model.d.ts +0 -268
  357. package/dist/LinearGenomeView/model.js +0 -1109
  358. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -5
  359. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js +0 -10
  360. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +0 -7
  361. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +0 -47
  362. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +0 -6
  363. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +0 -42
  364. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -8
  365. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +0 -7
  366. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js +0 -39
  367. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +0 -7
  368. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -17
  369. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +0 -7
  370. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -14
  371. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +0 -21
  372. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js +0 -32
  373. package/dist/LinearGenomeView/svgcomponents/util.d.ts +0 -8
  374. package/dist/LinearGenomeView/svgcomponents/util.js +0 -8
  375. package/dist/LinearGenomeView/types.d.ts +0 -43
  376. package/dist/LinearGenomeView/types.js +0 -2
  377. package/dist/LinearGenomeView/util.d.ts +0 -26
  378. package/dist/LinearGenomeView/util.js +0 -138
  379. package/dist/index.d.ts +0 -353
  380. package/dist/index.js +0 -120
  381. package/dist/searchUtils.d.ts +0 -26
  382. package/dist/searchUtils.js +0 -80
  383. package/esm/BaseLinearDisplay/components/BlockLoadingMessage.d.ts +0 -6
  384. package/esm/BaseLinearDisplay/components/BlockLoadingMessage.js +0 -24
  385. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +0 -311
  386. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +0 -286
  387. package/esm/LinearBasicDisplay/components/AddFiltersDialog.d.ts +0 -9
  388. package/esm/LinearBasicDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  389. package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +0 -6
  390. package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.js +0 -36
  391. /package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/components/AddFiltersDialog.d.ts +0 -0
  392. /package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/components/SetMaxHeightDialog.d.ts +0 -0
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const util_1 = require("@jbrowse/core/util");
5
- const mobx_react_1 = require("mobx-react");
6
- const util_2 = require("./util");
7
- const consts_1 = require("../consts");
8
- function rightRoundedRect(x, y, width, height, radius) {
9
- return `M${x},${y}h${width - radius}a${radius},${radius} 0 0 1 ${radius},${radius}v${height - 2 * radius}a${radius},${radius} 0 0 1 ${-radius},${radius}h${radius - width}z`;
10
- }
11
- function leftRoundedRect(x, y, width, height, radius) {
12
- return `M${x + radius},${y}h${width - radius}v${height}h${radius - width}a${radius},${radius} 0 0 1 ${-radius},${-radius}v${2 * radius - height}a${radius},${radius} 0 0 1 ${radius},${-radius}z`;
13
- }
14
- function leftTriangle(x, _y, width, height) {
15
- return [
16
- [x, 0],
17
- [x + width, height / 2],
18
- [x, height],
19
- ].toString();
20
- }
21
- function rightTriangle(x, _y, width, height) {
22
- return [
23
- [x, height / 2],
24
- [x + width, 0],
25
- [x + width, height],
26
- ].toString();
27
- }
28
- const colorMap = {
29
- gneg: 'rgb(227,227,227)',
30
- gpos25: 'rgb(142,142,142)',
31
- gpos33: 'rgb(142,142,142)',
32
- gpos50: 'rgb(85,85,85)',
33
- gpos66: 'rgb(85,85,85)',
34
- gpos100: 'rgb(0,0,0)',
35
- gpos75: 'rgb(57,57,57)',
36
- gvar: 'rgb(0,0,0)',
37
- stalk: 'rgb(127,127,127)',
38
- acen: '#800',
39
- };
40
- const Cytobands = (0, mobx_react_1.observer)(function ({ overview, block, assembly, }) {
41
- const { offsetPx, reversed } = block;
42
- const cytobands = (0, util_2.getCytobands)(assembly, block.refName);
43
- const lcap = reversed ? cytobands.length - 1 : 0;
44
- const rcap = reversed ? 0 : cytobands.length - 1;
45
- const h = consts_1.HEADER_OVERVIEW_HEIGHT;
46
- let centromereSeen = false;
47
- let curr = '';
48
- let idx = 0;
49
- return ((0, jsx_runtime_1.jsx)("g", { transform: `translate(-${offsetPx})`, children: cytobands.map((args, index) => {
50
- const k = JSON.stringify(args);
51
- const { refName, name, type, start, end } = args;
52
- const s = overview.bpToPx({ refName, coord: start }) || 0;
53
- const e = overview.bpToPx({ refName, coord: end }) || 0;
54
- const l = Math.min(s, e);
55
- const w = Math.abs(e - s);
56
- if (type === 'n/a') {
57
- const match = name === null || name === void 0 ? void 0 : name.match(/^(\d+)([A-Za-z])/);
58
- const ret = match[1] + match[2];
59
- if (ret && ret !== curr) {
60
- curr = ret;
61
- idx++;
62
- }
63
- }
64
- const c = type === 'n/a'
65
- ? idx % 2
66
- ? 'black'
67
- : '#a77'
68
- : colorMap[type] || 'black';
69
- if (type === 'acen' && !centromereSeen) {
70
- centromereSeen = true;
71
- return ((0, jsx_runtime_1.jsx)("polygon", { points: reversed
72
- ? rightTriangle(s - w, 0, w, h)
73
- : leftTriangle(s, 0, w, h), ...(0, util_1.getFillProps)(c) }, k));
74
- }
75
- if (type === 'acen' && centromereSeen) {
76
- return ((0, jsx_runtime_1.jsx)("polygon", { points: reversed
77
- ? leftTriangle(s - w, 0, w, h)
78
- : rightTriangle(s, 0, w, h), ...(0, util_1.getFillProps)(c) }, k));
79
- }
80
- if (lcap === index) {
81
- return ((0, jsx_runtime_1.jsx)("path", { d: leftRoundedRect(l, 0, w, h, 8), ...(0, util_1.getFillProps)(c) }, k));
82
- }
83
- if (rcap === index) {
84
- return ((0, jsx_runtime_1.jsx)("path", { d: rightRoundedRect(l, 0, w, h, 8), ...(0, util_1.getFillProps)(c) }, k));
85
- }
86
- return ((0, jsx_runtime_1.jsx)("rect", { x: l, y: 0, width: w, height: h, ...(0, util_1.getFillProps)(c) }, k));
87
- }) }));
88
- });
89
- exports.default = Cytobands;
@@ -1,7 +0,0 @@
1
- import type { ExportSvgOptions } from '../types';
2
- export default function ExportSvgDialog({ model, handleClose, }: {
3
- model: {
4
- exportSvg(opts: ExportSvgOptions): Promise<void>;
5
- };
6
- handleClose: () => void;
7
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = ExportSvgDialog;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const ui_1 = require("@jbrowse/core/ui");
7
- const util_1 = require("@jbrowse/core/util");
8
- const material_1 = require("@mui/material");
9
- function LoadingMessage() {
10
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 20, style: { marginRight: 20 } }), (0, jsx_runtime_1.jsx)(material_1.Typography, { display: "inline", children: "Creating SVG" })] }));
11
- }
12
- function useSvgLocal(key, val) {
13
- return (0, util_1.useLocalStorage)(`svg-${key}`, val);
14
- }
15
- function TextField2({ children, ...rest }) {
16
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(material_1.TextField, { ...rest, children: children }) }));
17
- }
18
- function ExportSvgDialog({ model, handleClose, }) {
19
- const session = (0, util_1.getSession)(model);
20
- const offscreenCanvas = typeof OffscreenCanvas !== 'undefined';
21
- const [rasterizeLayers, setRasterizeLayers] = (0, react_1.useState)(offscreenCanvas);
22
- const [loading, setLoading] = (0, react_1.useState)(false);
23
- const [error, setError] = (0, react_1.useState)();
24
- const [filename, setFilename] = useSvgLocal('file', 'jbrowse.svg');
25
- const [trackLabels, setTrackLabels] = useSvgLocal('tracklabels', 'offset');
26
- const [themeName, setThemeName] = useSvgLocal('theme', session.themeName || 'default');
27
- return ((0, jsx_runtime_1.jsxs)(ui_1.Dialog, { open: true, onClose: handleClose, title: "Export SVG", children: [(0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [error ? ((0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: error })) : loading ? ((0, jsx_runtime_1.jsx)(LoadingMessage, {})) : null, (0, jsx_runtime_1.jsx)(TextField2, { helperText: "filename", value: filename, onChange: event => {
28
- setFilename(event.target.value);
29
- } }), (0, jsx_runtime_1.jsxs)(TextField2, { select: true, label: "Track label positioning", variant: "outlined", style: { width: 150 }, value: trackLabels, onChange: event => {
30
- setTrackLabels(event.target.value);
31
- }, children: [(0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: "offset", children: "Offset" }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: "overlay", children: "Overlay" }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: "left", children: "Left" }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: "none", children: "None" })] }), session.allThemes ? ((0, jsx_runtime_1.jsx)(TextField2, { select: true, label: "Theme", variant: "outlined", value: themeName, onChange: event => {
32
- setThemeName(event.target.value);
33
- }, children: Object.entries(session.allThemes()).map(([key, val]) => ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: key, children: val.name || '(Unknown name)' }, key))) })) : null, offscreenCanvas ? ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: rasterizeLayers, onChange: () => {
34
- setRasterizeLayers(val => !val);
35
- } }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : ((0, jsx_runtime_1.jsx)(material_1.Typography, { children: "Note: rasterizing layers not yet supported in this browser, so SVG size may be large" }))] }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: () => {
36
- handleClose();
37
- }, children: "Cancel" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", type: "submit", onClick: async () => {
38
- setLoading(true);
39
- setError(undefined);
40
- try {
41
- await model.exportSvg({
42
- rasterizeLayers,
43
- filename,
44
- trackLabels,
45
- themeName,
46
- });
47
- handleClose();
48
- }
49
- catch (e) {
50
- console.error(e);
51
- setError(e);
52
- }
53
- finally {
54
- setLoading(false);
55
- }
56
- }, children: "Submit" })] })] }));
57
- }
@@ -1,6 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- declare const GetSequenceDialog: ({ model, handleClose, }: {
3
- model: LinearGenomeViewModel;
4
- handleClose: () => void;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
- export default GetSequenceDialog;
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const ui_1 = require("@jbrowse/core/ui");
9
- const util_1 = require("@jbrowse/core/util");
10
- const formatFastaStrings_1 = require("@jbrowse/core/util/formatFastaStrings");
11
- const ContentCopy_1 = __importDefault(require("@mui/icons-material/ContentCopy"));
12
- const GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
13
- const material_1 = require("@mui/material");
14
- const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
15
- const file_saver_1 = require("file-saver");
16
- const mobx_react_1 = require("mobx-react");
17
- const mui_1 = require("tss-react/mui");
18
- const fetchSequence_1 = require("./fetchSequence");
19
- const useStyles = (0, mui_1.makeStyles)()({
20
- dialogContent: {
21
- width: '80em',
22
- },
23
- textAreaFont: {
24
- fontFamily: 'Courier New',
25
- },
26
- ml: {
27
- marginLeft: 10,
28
- },
29
- });
30
- const GetSequenceDialog = (0, mobx_react_1.observer)(function ({ model, handleClose, }) {
31
- const { classes } = useStyles();
32
- const [error, setError] = (0, react_1.useState)();
33
- const [sequenceChunks, setSequenceChunks] = (0, react_1.useState)();
34
- const [rev, setReverse] = (0, react_1.useState)(false);
35
- const [copied, setCopied] = (0, react_1.useState)(false);
36
- const [comp, setComplement] = (0, react_1.useState)(false);
37
- const { leftOffset, rightOffset } = model;
38
- const loading = sequenceChunks === undefined;
39
- (0, react_1.useEffect)(() => {
40
- const controller = new AbortController();
41
- (async () => {
42
- try {
43
- const selection = model.getSelectedRegions(leftOffset, rightOffset);
44
- if (selection.length === 0) {
45
- throw new Error('Selected region is out of bounds');
46
- }
47
- setSequenceChunks(await (0, fetchSequence_1.fetchSequence)(model, selection));
48
- }
49
- catch (e) {
50
- console.error(e);
51
- setError(e);
52
- }
53
- })();
54
- return () => {
55
- controller.abort();
56
- };
57
- }, [model, leftOffset, rightOffset]);
58
- const sequence = sequenceChunks
59
- ? (0, formatFastaStrings_1.formatSeqFasta)(sequenceChunks.map(chunk => {
60
- let chunkSeq = chunk.get('seq');
61
- const chunkRefName = chunk.get('refName');
62
- const chunkStart = chunk.get('start') + 1;
63
- const chunkEnd = chunk.get('end');
64
- const loc = `${chunkRefName}:${chunkStart}-${chunkEnd}`;
65
- if ((chunkSeq === null || chunkSeq === void 0 ? void 0 : chunkSeq.length) !== chunkEnd - chunkStart + 1) {
66
- throw new Error(`${loc} returned ${chunkSeq.length.toLocaleString()} bases, but should have returned ${(chunkEnd - chunkStart).toLocaleString()}`);
67
- }
68
- if (rev) {
69
- chunkSeq = (0, util_1.reverse)(chunkSeq);
70
- }
71
- if (comp) {
72
- chunkSeq = (0, util_1.complement)(chunkSeq);
73
- }
74
- return {
75
- header: loc + (rev ? '-rev' : '') + (comp ? '-comp' : ''),
76
- seq: chunkSeq,
77
- };
78
- }))
79
- : '';
80
- const sequenceTooLarge = sequence ? sequence.length > 1000000 : false;
81
- return ((0, jsx_runtime_1.jsxs)(ui_1.Dialog, { maxWidth: "xl", open: true, onClose: () => {
82
- handleClose();
83
- model.setOffsets();
84
- }, title: "Reference sequence", children: [(0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [error ? ((0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: error })) : loading ? ((0, jsx_runtime_1.jsx)(ui_1.LoadingEllipses, { message: "Retrieving sequences" })) : null, (0, jsx_runtime_1.jsx)(material_1.TextField, { "data-testid": "rubberband-sequence", variant: "outlined", multiline: true, minRows: 5, maxRows: 10, disabled: sequenceTooLarge, className: classes.dialogContent, fullWidth: true, value: sequenceTooLarge
85
- ? 'Reference sequence too large to display, use the download FASTA button'
86
- : sequence, slotProps: {
87
- input: {
88
- readOnly: true,
89
- classes: {
90
- input: classes.textAreaFont,
91
- },
92
- },
93
- } }), (0, jsx_runtime_1.jsxs)(material_1.FormGroup, { children: [(0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { value: rev, onChange: event => {
94
- setReverse(event.target.checked);
95
- } }), label: "Reverse sequence" }), (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { value: comp, onChange: event => {
96
- setComplement(event.target.checked);
97
- } }), label: "Complement sequence" })] }), (0, jsx_runtime_1.jsx)(material_1.Typography, { style: { margin: 10 }, children: "Note: Check both boxes for the \"reverse complement\"" })] }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { onClick: () => {
98
- (0, copy_to_clipboard_1.default)(sequence);
99
- setCopied(true);
100
- setTimeout(() => {
101
- setCopied(false);
102
- }, 500);
103
- }, disabled: loading || !!error || sequenceTooLarge, color: "primary", startIcon: (0, jsx_runtime_1.jsx)(ContentCopy_1.default, {}), children: copied ? 'Copied' : 'Copy to clipboard' }), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: () => {
104
- (0, file_saver_1.saveAs)(new Blob([sequence || ''], {
105
- type: 'text/x-fasta;charset=utf-8',
106
- }), 'jbrowse_ref_seq.fa');
107
- }, disabled: loading || !!error, color: "primary", startIcon: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}), children: "Download FASTA" }), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleClose, variant: "contained", children: "Close" })] })] }));
108
- });
109
- exports.default = GetSequenceDialog;
@@ -1,7 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- type LGV = LinearGenomeViewModel;
3
- declare const Gridlines: ({ model, offset, }: {
4
- model: LGV;
5
- offset?: number;
6
- }) => import("react/jsx-runtime").JSX.Element;
7
- export default Gridlines;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const mobx_react_1 = require("mobx-react");
5
- const mui_1 = require("tss-react/mui");
6
- const Block_1 = require("../../BaseLinearDisplay/components/Block");
7
- const util_1 = require("../util");
8
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
9
- verticalGuidesZoomContainer: {
10
- position: 'absolute',
11
- top: 0,
12
- height: '100%',
13
- width: '100%',
14
- pointerEvents: 'none',
15
- },
16
- verticalGuidesContainer: {
17
- position: 'absolute',
18
- height: '100%',
19
- pointerEvents: 'none',
20
- display: 'flex',
21
- },
22
- tick: {
23
- position: 'absolute',
24
- height: '100%',
25
- width: 1,
26
- },
27
- majorTick: {
28
- background: theme.palette.action.disabled,
29
- },
30
- minorTick: {
31
- background: theme.palette.divider,
32
- },
33
- }));
34
- function RenderedBlockLines({ block, bpPerPx, }) {
35
- const { classes, cx } = useStyles();
36
- const ticks = (0, util_1.makeTicks)(block.start, block.end, bpPerPx);
37
- return ((0, jsx_runtime_1.jsx)(Block_1.ContentBlock, { block: block, children: ticks.map(({ type, base }) => {
38
- const x = (block.reversed ? block.end - base : base - block.start) / bpPerPx;
39
- return ((0, jsx_runtime_1.jsx)("div", { className: cx(classes.tick, type === 'major' || type === 'labeledMajor'
40
- ? classes.majorTick
41
- : classes.minorTick), style: { left: x } }, base));
42
- }) }));
43
- }
44
- const RenderedVerticalGuides = (0, mobx_react_1.observer)(({ model }) => {
45
- const { staticBlocks, bpPerPx } = model;
46
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: staticBlocks.map((block, index) => {
47
- const k = `${block.key}-${index}`;
48
- if (block.type === 'ContentBlock') {
49
- return (0, jsx_runtime_1.jsx)(RenderedBlockLines, { block: block, bpPerPx: bpPerPx }, k);
50
- }
51
- else if (block.type === 'ElidedBlock') {
52
- return (0, jsx_runtime_1.jsx)(Block_1.ElidedBlock, { width: block.widthPx }, k);
53
- }
54
- else if (block.type === 'InterRegionPaddingBlock') {
55
- return ((0, jsx_runtime_1.jsx)(Block_1.InterRegionPaddingBlock, { width: block.widthPx, boundary: block.variant === 'boundary' }, k));
56
- }
57
- return null;
58
- }) }));
59
- });
60
- const Gridlines = (0, mobx_react_1.observer)(function ({ model, offset = 0, }) {
61
- const { classes } = useStyles();
62
- const offsetLeft = model.staticBlocks.offsetPx - model.offsetPx;
63
- return ((0, jsx_runtime_1.jsx)("div", { className: classes.verticalGuidesZoomContainer, style: {
64
- transform: model.scaleFactor !== 1 ? `scaleX(${model.scaleFactor})` : undefined,
65
- }, children: (0, jsx_runtime_1.jsx)("div", { className: classes.verticalGuidesContainer, style: {
66
- left: offsetLeft - offset,
67
- width: model.staticBlocks.totalWidthPx,
68
- }, children: (0, jsx_runtime_1.jsx)(RenderedVerticalGuides, { model: model }) }) }));
69
- });
70
- exports.default = Gridlines;
@@ -1,5 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- declare const LinearGenomeViewHeader: ({ model, }: {
3
- model: LinearGenomeViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element | null;
5
- export default LinearGenomeViewHeader;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const material_1 = require("@mui/material");
8
- const mobx_react_1 = require("mobx-react");
9
- const mui_1 = require("tss-react/mui");
10
- const HeaderPanControls_1 = __importDefault(require("./HeaderPanControls"));
11
- const HeaderRegionWidth_1 = __importDefault(require("./HeaderRegionWidth"));
12
- const HeaderTrackSelectorButton_1 = __importDefault(require("./HeaderTrackSelectorButton"));
13
- const HeaderZoomControls_1 = __importDefault(require("./HeaderZoomControls"));
14
- const OverviewScalebar_1 = __importDefault(require("./OverviewScalebar"));
15
- const SearchBox_1 = __importDefault(require("./SearchBox"));
16
- const consts_1 = require("../consts");
17
- const useStyles = (0, mui_1.makeStyles)()({
18
- headerBar: {
19
- display: 'flex',
20
- height: consts_1.HEADER_BAR_HEIGHT,
21
- },
22
- headerForm: {
23
- flexWrap: 'nowrap',
24
- marginRight: 7,
25
- },
26
- spacer: {
27
- flexGrow: 1,
28
- },
29
- });
30
- const Controls = function ({ model }) {
31
- const { classes } = useStyles();
32
- return ((0, jsx_runtime_1.jsxs)("div", { className: classes.headerBar, children: [(0, jsx_runtime_1.jsx)(HeaderTrackSelectorButton_1.default, { model: model }), (0, jsx_runtime_1.jsx)("div", { className: classes.spacer }), (0, jsx_runtime_1.jsxs)(material_1.FormGroup, { row: true, className: classes.headerForm, children: [(0, jsx_runtime_1.jsx)(HeaderPanControls_1.default, { model: model }), (0, jsx_runtime_1.jsx)(SearchBox_1.default, { model: model })] }), (0, jsx_runtime_1.jsx)(HeaderRegionWidth_1.default, { model: model }), (0, jsx_runtime_1.jsx)(HeaderZoomControls_1.default, { model: model }), (0, jsx_runtime_1.jsx)("div", { className: classes.spacer })] }));
33
- };
34
- const LinearGenomeViewHeader = (0, mobx_react_1.observer)(function ({ model, }) {
35
- const { hideHeader, hideHeaderOverview } = model;
36
- return !hideHeader ? (hideHeaderOverview ? ((0, jsx_runtime_1.jsx)(Controls, { model: model })) : ((0, jsx_runtime_1.jsx)(OverviewScalebar_1.default, { model: model, children: (0, jsx_runtime_1.jsx)(Controls, { model: model }) }))) : null;
37
- });
38
- exports.default = LinearGenomeViewHeader;
@@ -1,6 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- type LGV = LinearGenomeViewModel;
3
- export default function HeaderPanControls({ model }: {
4
- model: LGV;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = HeaderPanControls;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const ArrowBack_1 = __importDefault(require("@mui/icons-material/ArrowBack"));
9
- const ArrowForward_1 = __importDefault(require("@mui/icons-material/ArrowForward"));
10
- const material_1 = require("@mui/material");
11
- const mui_1 = require("tss-react/mui");
12
- const consts_1 = require("../consts");
13
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
14
- panButton: {
15
- background: (0, material_1.alpha)(theme.palette.background.paper, 0.8),
16
- color: theme.palette.text.primary,
17
- margin: consts_1.SPACING,
18
- },
19
- }));
20
- function HeaderPanControls({ model }) {
21
- const { classes } = useStyles();
22
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", className: classes.panButton, onClick: () => {
23
- model.slide(-0.9);
24
- }, children: (0, jsx_runtime_1.jsx)(ArrowBack_1.default, {}) }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", className: classes.panButton, onClick: () => {
25
- model.slide(0.9);
26
- }, children: (0, jsx_runtime_1.jsx)(ArrowForward_1.default, {}) })] }));
27
- }
@@ -1,5 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- declare const HeaderRegionWidth: ({ model, }: {
3
- model: LinearGenomeViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default HeaderRegionWidth;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const util_1 = require("@jbrowse/core/util");
5
- const material_1 = require("@mui/material");
6
- const mobx_react_1 = require("mobx-react");
7
- const mui_1 = require("tss-react/mui");
8
- const useStyles = (0, mui_1.makeStyles)()({
9
- bp: {
10
- display: 'flex',
11
- alignItems: 'center',
12
- marginLeft: 5,
13
- cursor: 'pointer',
14
- },
15
- });
16
- const HeaderRegionWidth = (0, mobx_react_1.observer)(function ({ model, }) {
17
- const { classes } = useStyles();
18
- const { coarseTotalBp } = model;
19
- return ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", color: "textSecondary", className: classes.bp, children: (0, util_1.getBpDisplayStr)(coarseTotalBp) }));
20
- });
21
- exports.default = HeaderRegionWidth;
@@ -1,5 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- declare const HeaderTrackSelectorButton: ({ model, }: {
3
- model: LinearGenomeViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default HeaderTrackSelectorButton;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const Icons_1 = require("@jbrowse/core/ui/Icons");
5
- const material_1 = require("@mui/material");
6
- const mobx_react_1 = require("mobx-react");
7
- const mui_1 = require("tss-react/mui");
8
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
9
- toggleButton: {
10
- height: 44,
11
- border: 'none',
12
- marginLeft: theme.spacing(4),
13
- },
14
- }));
15
- const HeaderTrackSelectorButton = (0, mobx_react_1.observer)(function ({ model, }) {
16
- const { classes } = useStyles();
17
- return ((0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: model.activateTrackSelector, className: classes.toggleButton, title: "Open track selector", value: "track_select", children: (0, jsx_runtime_1.jsx)(Icons_1.TrackSelector, {}) }));
18
- });
19
- exports.default = HeaderTrackSelectorButton;
@@ -1,5 +0,0 @@
1
- import type { LinearGenomeViewModel } from '..';
2
- declare const HeaderZoomControls: ({ model, }: {
3
- model: LinearGenomeViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default HeaderZoomControls;
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const jsx_runtime_1 = require("react/jsx-runtime");
40
- const react_1 = require("react");
41
- const CascadingMenuButton_1 = __importDefault(require("@jbrowse/core/ui/CascadingMenuButton"));
42
- const util_1 = require("@jbrowse/core/util");
43
- const MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
44
- const ZoomIn_1 = __importDefault(require("@mui/icons-material/ZoomIn"));
45
- const ZoomOut_1 = __importDefault(require("@mui/icons-material/ZoomOut"));
46
- const material_1 = require("@mui/material");
47
- const mobx_react_1 = require("mobx-react");
48
- const mui_1 = require("tss-react/mui");
49
- const RegionWidthEditorDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./RegionWidthEditorDialog'))));
50
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
51
- container: {
52
- display: 'flex',
53
- flexDirection: 'row',
54
- alignItems: 'center',
55
- },
56
- slider: {
57
- width: 100,
58
- color: theme.palette.text.secondary,
59
- },
60
- }));
61
- function ValueLabelComponent(props) {
62
- const { children, open, value } = props;
63
- return ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { open: open, enterTouchDelay: 0, placement: "top", title: value, arrow: true, children: children }));
64
- }
65
- const HeaderZoomControls = (0, mobx_react_1.observer)(function ({ model, }) {
66
- const { classes } = useStyles();
67
- const { width, maxBpPerPx, minBpPerPx, bpPerPx } = model;
68
- const [value, setValue] = (0, react_1.useState)(-Math.log2(bpPerPx) * 100);
69
- (0, react_1.useEffect)(() => {
70
- setValue(-Math.log2(bpPerPx) * 100);
71
- }, [bpPerPx]);
72
- const zoomInDisabled = bpPerPx <= minBpPerPx + 0.0001;
73
- const zoomOutDisabled = bpPerPx >= maxBpPerPx - 0.0001;
74
- return ((0, jsx_runtime_1.jsxs)("div", { className: classes.container, children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: "Zoom out 2x", children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "data-testid": "zoom_out", disabled: zoomOutDisabled, onClick: () => {
75
- model.zoom(bpPerPx * 2);
76
- }, children: (0, jsx_runtime_1.jsx)(ZoomOut_1.default, {}) }) }) }), (0, jsx_runtime_1.jsx)(material_1.Slider, { size: "small", className: classes.slider, value: value, min: -Math.log2(maxBpPerPx) * 100, max: -Math.log2(minBpPerPx) * 100, onChangeCommitted: () => model.zoomTo(2 ** (-value / 100)), valueLabelDisplay: "auto", valueLabelFormat: newValue => `Window size: ${(0, util_1.getBpDisplayStr)(2 ** (-newValue / 100) * width)}`, slots: {
77
- valueLabel: ValueLabelComponent,
78
- }, onChange: (_, val) => {
79
- setValue(val);
80
- } }), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: "Zoom in 2x", children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "data-testid": "zoom_in", disabled: zoomInDisabled, onClick: () => {
81
- model.zoom(model.bpPerPx / 2);
82
- }, children: (0, jsx_runtime_1.jsx)(ZoomIn_1.default, {}) }) }) }), (0, jsx_runtime_1.jsx)(CascadingMenuButton_1.default, { menuItems: [
83
- ...[100, 50, 10].map(r => ({
84
- label: `Zoom in ${r}x`,
85
- onClick: () => {
86
- model.zoom(model.bpPerPx / r);
87
- },
88
- })),
89
- ...[10, 50, 100].map(r => ({
90
- label: `Zoom out ${r}x`,
91
- onClick: () => {
92
- model.zoom(model.bpPerPx * r);
93
- },
94
- })),
95
- {
96
- label: 'Custom zoom',
97
- onClick: () => {
98
- (0, util_1.getSession)(model).queueDialog(handleClose => [
99
- RegionWidthEditorDialog,
100
- {
101
- model,
102
- handleClose,
103
- },
104
- ]);
105
- },
106
- },
107
- ], children: (0, jsx_runtime_1.jsx)(MoreVert_1.default, {}) })] }));
108
- });
109
- exports.default = HeaderZoomControls;
@@ -1,12 +0,0 @@
1
- import type { LinearGenomeViewModel } from '../model';
2
- type LGV = LinearGenomeViewModel;
3
- declare const Highlight: ({ model, highlight, }: {
4
- model: LGV;
5
- highlight: {
6
- assemblyName: string;
7
- refName: string;
8
- start: number;
9
- end: number;
10
- };
11
- }) => import("react/jsx-runtime").JSX.Element | null;
12
- export default Highlight;