@jbrowse/plugin-linear-genome-view 2.5.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -1
  3. package/dist/BaseLinearDisplay/components/Block.d.ts +3 -3
  4. package/dist/BaseLinearDisplay/components/Block.js +0 -1
  5. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  6. package/dist/BaseLinearDisplay/components/BlockMsg.js +0 -1
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  8. package/dist/BaseLinearDisplay/components/LinearBlocks.js +0 -1
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -1
  10. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  11. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +0 -1
  12. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  13. package/dist/BaseLinearDisplay/components/Tooltip.js +0 -1
  14. package/dist/BaseLinearDisplay/index.d.ts +5 -2
  15. package/dist/BaseLinearDisplay/index.js +7 -2
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +34 -356
  18. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  19. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +189 -0
  20. package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  21. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +55 -0
  22. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  23. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +41 -0
  24. package/dist/BaseLinearDisplay/models/configSchema.js +1 -1
  25. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  26. package/dist/BaseLinearDisplay/models/renderSvg.js +82 -0
  27. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -17
  28. package/dist/BaseLinearDisplay/models/util.js +0 -1
  29. package/dist/BasicTrack/configSchema.js +1 -1
  30. package/dist/BasicTrack/index.js +0 -1
  31. package/dist/FeatureTrack/configSchema.d.ts +1 -3
  32. package/dist/FeatureTrack/configSchema.js +1 -1
  33. package/dist/FeatureTrack/index.js +0 -1
  34. package/dist/LaunchLinearGenomeView/index.js +0 -1
  35. package/dist/LinearBareDisplay/configSchema.d.ts +1 -0
  36. package/dist/LinearBareDisplay/configSchema.js +1 -1
  37. package/dist/LinearBareDisplay/index.js +0 -1
  38. package/dist/LinearBareDisplay/model.d.ts +52 -39
  39. package/dist/LinearBareDisplay/model.js +1 -1
  40. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  41. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +0 -1
  42. package/dist/LinearBasicDisplay/configSchema.d.ts +1 -0
  43. package/dist/LinearBasicDisplay/configSchema.js +1 -1
  44. package/dist/LinearBasicDisplay/index.js +0 -1
  45. package/dist/LinearBasicDisplay/model.d.ts +67 -66
  46. package/dist/LinearBasicDisplay/model.js +1 -1
  47. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -1
  48. package/dist/LinearGenomeView/components/CenterLine.js +0 -1
  49. package/dist/LinearGenomeView/components/Cytobands.d.ts +2 -1
  50. package/dist/LinearGenomeView/components/Cytobands.js +0 -1
  51. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  52. package/dist/LinearGenomeView/components/ExportSvgDialog.js +0 -1
  53. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  54. package/dist/LinearGenomeView/components/GetSequenceDialog.js +0 -1
  55. package/dist/LinearGenomeView/components/Gridlines.d.ts +2 -1
  56. package/dist/LinearGenomeView/components/Gridlines.js +0 -1
  57. package/dist/LinearGenomeView/components/Header.d.ts +2 -1
  58. package/dist/LinearGenomeView/components/Header.js +0 -1
  59. package/dist/LinearGenomeView/components/ImportForm.d.ts +2 -1
  60. package/dist/LinearGenomeView/components/ImportForm.js +0 -1
  61. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  62. package/dist/LinearGenomeView/components/LinearGenomeView.js +28 -5
  63. package/dist/LinearGenomeView/components/MiniControls.d.ts +3 -2
  64. package/dist/LinearGenomeView/components/MiniControls.js +20 -41
  65. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  66. package/dist/LinearGenomeView/components/OverviewRubberband.js +0 -1
  67. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  68. package/dist/LinearGenomeView/components/OverviewScalebar.js +10 -5
  69. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  70. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +21 -0
  71. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  72. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +51 -0
  73. package/dist/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  74. package/dist/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -1
  75. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  76. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +110 -0
  77. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  78. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +58 -0
  79. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
  80. package/dist/LinearGenomeView/components/Rubberband.js +0 -1
  81. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  82. package/dist/LinearGenomeView/components/RubberbandSpan.js +0 -1
  83. package/dist/LinearGenomeView/components/Scalebar.js +0 -1
  84. package/dist/LinearGenomeView/components/SearchBox.d.ts +2 -1
  85. package/dist/LinearGenomeView/components/SearchBox.js +0 -1
  86. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  87. package/dist/LinearGenomeView/components/SearchResultsDialog.js +0 -1
  88. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  89. package/dist/LinearGenomeView/components/SearchResultsTable.js +0 -1
  90. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  91. package/dist/LinearGenomeView/components/SequenceSearchDialog.js +0 -1
  92. package/dist/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  93. package/dist/LinearGenomeView/components/TrackContainer.js +12 -69
  94. package/dist/LinearGenomeView/components/TrackLabel.js +7 -12
  95. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  96. package/dist/LinearGenomeView/components/TrackLabelContainer.js +31 -0
  97. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  98. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +73 -0
  99. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  100. package/dist/LinearGenomeView/components/TracksContainer.js +2 -3
  101. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  102. package/dist/LinearGenomeView/components/VerticalGuide.js +0 -1
  103. package/dist/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  104. package/dist/LinearGenomeView/components/ZoomControls.js +0 -1
  105. package/dist/LinearGenomeView/components/hooks.js +0 -1
  106. package/dist/LinearGenomeView/components/util.js +0 -1
  107. package/dist/LinearGenomeView/index.js +0 -1
  108. package/dist/LinearGenomeView/model.d.ts +13 -12
  109. package/dist/LinearGenomeView/model.js +25 -26
  110. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  111. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js +0 -1
  112. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  113. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +7 -3
  114. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -2
  115. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  116. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -1
  117. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  118. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js +0 -1
  119. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  120. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -1
  121. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  122. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -1
  123. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  124. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js +0 -1
  125. package/dist/LinearGenomeView/util.d.ts +2 -2
  126. package/dist/LinearGenomeView/util.js +0 -1
  127. package/dist/index.d.ts +160 -134
  128. package/dist/index.js +6 -4
  129. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  130. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -1
  131. package/esm/BaseLinearDisplay/components/Block.d.ts +3 -3
  132. package/esm/BaseLinearDisplay/components/Block.js +0 -1
  133. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  134. package/esm/BaseLinearDisplay/components/BlockMsg.js +0 -1
  135. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  136. package/esm/BaseLinearDisplay/components/LinearBlocks.js +0 -1
  137. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -1
  138. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  139. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +0 -1
  140. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  141. package/esm/BaseLinearDisplay/components/Tooltip.js +0 -1
  142. package/esm/BaseLinearDisplay/index.d.ts +5 -2
  143. package/esm/BaseLinearDisplay/index.js +3 -1
  144. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  145. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +36 -335
  146. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  147. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +183 -0
  148. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  149. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +52 -0
  150. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  151. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +38 -0
  152. package/esm/BaseLinearDisplay/models/configSchema.js +1 -1
  153. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  154. package/esm/BaseLinearDisplay/models/renderSvg.js +53 -0
  155. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -17
  156. package/esm/BaseLinearDisplay/models/util.js +0 -1
  157. package/esm/BasicTrack/configSchema.js +1 -1
  158. package/esm/BasicTrack/index.js +0 -1
  159. package/esm/FeatureTrack/configSchema.d.ts +1 -3
  160. package/esm/FeatureTrack/configSchema.js +1 -1
  161. package/esm/FeatureTrack/index.js +0 -1
  162. package/esm/LaunchLinearGenomeView/index.js +0 -1
  163. package/esm/LinearBareDisplay/configSchema.d.ts +1 -0
  164. package/esm/LinearBareDisplay/configSchema.js +1 -1
  165. package/esm/LinearBareDisplay/index.js +0 -1
  166. package/esm/LinearBareDisplay/model.d.ts +52 -39
  167. package/esm/LinearBareDisplay/model.js +1 -1
  168. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  169. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +0 -1
  170. package/esm/LinearBasicDisplay/configSchema.d.ts +1 -0
  171. package/esm/LinearBasicDisplay/configSchema.js +1 -1
  172. package/esm/LinearBasicDisplay/index.js +0 -1
  173. package/esm/LinearBasicDisplay/model.d.ts +67 -66
  174. package/esm/LinearBasicDisplay/model.js +1 -1
  175. package/esm/LinearGenomeView/components/CenterLine.d.ts +2 -1
  176. package/esm/LinearGenomeView/components/CenterLine.js +0 -1
  177. package/esm/LinearGenomeView/components/Cytobands.d.ts +2 -1
  178. package/esm/LinearGenomeView/components/Cytobands.js +0 -1
  179. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  180. package/esm/LinearGenomeView/components/ExportSvgDialog.js +0 -1
  181. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  182. package/esm/LinearGenomeView/components/GetSequenceDialog.js +0 -1
  183. package/esm/LinearGenomeView/components/Gridlines.d.ts +2 -1
  184. package/esm/LinearGenomeView/components/Gridlines.js +0 -1
  185. package/esm/LinearGenomeView/components/Header.d.ts +2 -1
  186. package/esm/LinearGenomeView/components/Header.js +0 -1
  187. package/esm/LinearGenomeView/components/ImportForm.d.ts +2 -1
  188. package/esm/LinearGenomeView/components/ImportForm.js +0 -1
  189. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  190. package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -4
  191. package/esm/LinearGenomeView/components/MiniControls.d.ts +3 -2
  192. package/esm/LinearGenomeView/components/MiniControls.js +20 -18
  193. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  194. package/esm/LinearGenomeView/components/OverviewRubberband.js +0 -1
  195. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  196. package/esm/LinearGenomeView/components/OverviewScalebar.js +10 -5
  197. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  198. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +15 -0
  199. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  200. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +22 -0
  201. package/esm/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  202. package/esm/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -1
  203. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  204. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +82 -0
  205. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  206. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +49 -0
  207. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
  208. package/esm/LinearGenomeView/components/Rubberband.js +0 -1
  209. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  210. package/esm/LinearGenomeView/components/RubberbandSpan.js +0 -1
  211. package/esm/LinearGenomeView/components/Scalebar.js +0 -1
  212. package/esm/LinearGenomeView/components/SearchBox.d.ts +2 -1
  213. package/esm/LinearGenomeView/components/SearchBox.js +0 -1
  214. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  215. package/esm/LinearGenomeView/components/SearchResultsDialog.js +0 -1
  216. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  217. package/esm/LinearGenomeView/components/SearchResultsTable.js +0 -1
  218. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  219. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +0 -1
  220. package/esm/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  221. package/esm/LinearGenomeView/components/TrackContainer.js +13 -70
  222. package/esm/LinearGenomeView/components/TrackLabel.js +7 -12
  223. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  224. package/esm/LinearGenomeView/components/TrackLabelContainer.js +26 -0
  225. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  226. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +48 -0
  227. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  228. package/esm/LinearGenomeView/components/TracksContainer.js +2 -3
  229. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  230. package/esm/LinearGenomeView/components/VerticalGuide.js +0 -1
  231. package/esm/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  232. package/esm/LinearGenomeView/components/ZoomControls.js +0 -1
  233. package/esm/LinearGenomeView/components/hooks.js +0 -1
  234. package/esm/LinearGenomeView/components/util.js +0 -1
  235. package/esm/LinearGenomeView/index.js +0 -1
  236. package/esm/LinearGenomeView/model.d.ts +13 -12
  237. package/esm/LinearGenomeView/model.js +21 -22
  238. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  239. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js +0 -1
  240. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  241. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +7 -3
  242. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -2
  243. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  244. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -1
  245. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  246. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +0 -1
  247. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  248. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -1
  249. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  250. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -1
  251. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  252. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +0 -1
  253. package/esm/LinearGenomeView/util.d.ts +2 -2
  254. package/esm/LinearGenomeView/util.js +0 -1
  255. package/esm/index.d.ts +160 -134
  256. package/esm/index.js +1 -2
  257. package/package.json +3 -4
  258. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +0 -1
  259. package/dist/BaseLinearDisplay/components/Block.js.map +0 -1
  260. package/dist/BaseLinearDisplay/components/BlockMsg.js.map +0 -1
  261. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +0 -1
  262. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +0 -1
  263. package/dist/BaseLinearDisplay/components/TooLargeMessage.js.map +0 -1
  264. package/dist/BaseLinearDisplay/components/Tooltip.js.map +0 -1
  265. package/dist/BaseLinearDisplay/index.js.map +0 -1
  266. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +0 -1
  267. package/dist/BaseLinearDisplay/models/configSchema.js.map +0 -1
  268. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +0 -1
  269. package/dist/BaseLinearDisplay/models/util.js.map +0 -1
  270. package/dist/BasicTrack/configSchema.js.map +0 -1
  271. package/dist/BasicTrack/index.js.map +0 -1
  272. package/dist/FeatureTrack/configSchema.js.map +0 -1
  273. package/dist/FeatureTrack/index.js.map +0 -1
  274. package/dist/LaunchLinearGenomeView/index.js.map +0 -1
  275. package/dist/LinearBareDisplay/configSchema.js.map +0 -1
  276. package/dist/LinearBareDisplay/index.js.map +0 -1
  277. package/dist/LinearBareDisplay/model.js.map +0 -1
  278. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +0 -1
  279. package/dist/LinearBasicDisplay/configSchema.js.map +0 -1
  280. package/dist/LinearBasicDisplay/index.js.map +0 -1
  281. package/dist/LinearBasicDisplay/model.js.map +0 -1
  282. package/dist/LinearGenomeView/components/CenterLine.js.map +0 -1
  283. package/dist/LinearGenomeView/components/Cytobands.js.map +0 -1
  284. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +0 -1
  285. package/dist/LinearGenomeView/components/GetSequenceDialog.js.map +0 -1
  286. package/dist/LinearGenomeView/components/Gridlines.js.map +0 -1
  287. package/dist/LinearGenomeView/components/Header.js.map +0 -1
  288. package/dist/LinearGenomeView/components/HelpDialog.js.map +0 -1
  289. package/dist/LinearGenomeView/components/ImportForm.js.map +0 -1
  290. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +0 -1
  291. package/dist/LinearGenomeView/components/MiniControls.js.map +0 -1
  292. package/dist/LinearGenomeView/components/OverviewRubberband.js.map +0 -1
  293. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +0 -1
  294. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  295. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +0 -189
  296. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  297. package/dist/LinearGenomeView/components/Rubberband.js.map +0 -1
  298. package/dist/LinearGenomeView/components/RubberbandSpan.js.map +0 -1
  299. package/dist/LinearGenomeView/components/Scalebar.js.map +0 -1
  300. package/dist/LinearGenomeView/components/SearchBox.js.map +0 -1
  301. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +0 -1
  302. package/dist/LinearGenomeView/components/SearchResultsTable.js.map +0 -1
  303. package/dist/LinearGenomeView/components/SequenceSearchDialog.js.map +0 -1
  304. package/dist/LinearGenomeView/components/TrackContainer.js.map +0 -1
  305. package/dist/LinearGenomeView/components/TrackLabel.js.map +0 -1
  306. package/dist/LinearGenomeView/components/TracksContainer.js.map +0 -1
  307. package/dist/LinearGenomeView/components/VerticalGuide.js.map +0 -1
  308. package/dist/LinearGenomeView/components/ZoomControls.js.map +0 -1
  309. package/dist/LinearGenomeView/components/hooks.js.map +0 -1
  310. package/dist/LinearGenomeView/components/util.js.map +0 -1
  311. package/dist/LinearGenomeView/index.js.map +0 -1
  312. package/dist/LinearGenomeView/model.js.map +0 -1
  313. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js.map +0 -1
  314. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js.map +0 -1
  315. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +0 -1
  316. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js.map +0 -1
  317. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js.map +0 -1
  318. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js.map +0 -1
  319. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js.map +0 -1
  320. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js.map +0 -1
  321. package/dist/LinearGenomeView/util.js.map +0 -1
  322. package/dist/index.js.map +0 -1
  323. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +0 -1
  324. package/esm/BaseLinearDisplay/components/Block.js.map +0 -1
  325. package/esm/BaseLinearDisplay/components/BlockMsg.js.map +0 -1
  326. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +0 -1
  327. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +0 -1
  328. package/esm/BaseLinearDisplay/components/TooLargeMessage.js.map +0 -1
  329. package/esm/BaseLinearDisplay/components/Tooltip.js.map +0 -1
  330. package/esm/BaseLinearDisplay/index.js.map +0 -1
  331. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +0 -1
  332. package/esm/BaseLinearDisplay/models/configSchema.js.map +0 -1
  333. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +0 -1
  334. package/esm/BaseLinearDisplay/models/util.js.map +0 -1
  335. package/esm/BasicTrack/configSchema.js.map +0 -1
  336. package/esm/BasicTrack/index.js.map +0 -1
  337. package/esm/FeatureTrack/configSchema.js.map +0 -1
  338. package/esm/FeatureTrack/index.js.map +0 -1
  339. package/esm/LaunchLinearGenomeView/index.js.map +0 -1
  340. package/esm/LinearBareDisplay/configSchema.js.map +0 -1
  341. package/esm/LinearBareDisplay/index.js.map +0 -1
  342. package/esm/LinearBareDisplay/model.js.map +0 -1
  343. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +0 -1
  344. package/esm/LinearBasicDisplay/configSchema.js.map +0 -1
  345. package/esm/LinearBasicDisplay/index.js.map +0 -1
  346. package/esm/LinearBasicDisplay/model.js.map +0 -1
  347. package/esm/LinearGenomeView/components/CenterLine.js.map +0 -1
  348. package/esm/LinearGenomeView/components/Cytobands.js.map +0 -1
  349. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +0 -1
  350. package/esm/LinearGenomeView/components/GetSequenceDialog.js.map +0 -1
  351. package/esm/LinearGenomeView/components/Gridlines.js.map +0 -1
  352. package/esm/LinearGenomeView/components/Header.js.map +0 -1
  353. package/esm/LinearGenomeView/components/HelpDialog.js.map +0 -1
  354. package/esm/LinearGenomeView/components/ImportForm.js.map +0 -1
  355. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +0 -1
  356. package/esm/LinearGenomeView/components/MiniControls.js.map +0 -1
  357. package/esm/LinearGenomeView/components/OverviewRubberband.js.map +0 -1
  358. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +0 -1
  359. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  360. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +0 -161
  361. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  362. package/esm/LinearGenomeView/components/Rubberband.js.map +0 -1
  363. package/esm/LinearGenomeView/components/RubberbandSpan.js.map +0 -1
  364. package/esm/LinearGenomeView/components/Scalebar.js.map +0 -1
  365. package/esm/LinearGenomeView/components/SearchBox.js.map +0 -1
  366. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +0 -1
  367. package/esm/LinearGenomeView/components/SearchResultsTable.js.map +0 -1
  368. package/esm/LinearGenomeView/components/SequenceSearchDialog.js.map +0 -1
  369. package/esm/LinearGenomeView/components/TrackContainer.js.map +0 -1
  370. package/esm/LinearGenomeView/components/TrackLabel.js.map +0 -1
  371. package/esm/LinearGenomeView/components/TracksContainer.js.map +0 -1
  372. package/esm/LinearGenomeView/components/VerticalGuide.js.map +0 -1
  373. package/esm/LinearGenomeView/components/ZoomControls.js.map +0 -1
  374. package/esm/LinearGenomeView/components/hooks.js.map +0 -1
  375. package/esm/LinearGenomeView/components/util.js.map +0 -1
  376. package/esm/LinearGenomeView/index.js.map +0 -1
  377. package/esm/LinearGenomeView/model.js.map +0 -1
  378. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js.map +0 -1
  379. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js.map +0 -1
  380. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +0 -1
  381. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js.map +0 -1
  382. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js.map +0 -1
  383. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js.map +0 -1
  384. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js.map +0 -1
  385. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js.map +0 -1
  386. package/esm/LinearGenomeView/util.js.map +0 -1
  387. package/esm/index.js.map +0 -1
  388. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +0 -117
  389. package/src/BaseLinearDisplay/components/Block.tsx +0 -77
  390. package/src/BaseLinearDisplay/components/BlockMsg.tsx +0 -42
  391. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +0 -119
  392. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +0 -69
  393. package/src/BaseLinearDisplay/components/TooLargeMessage.tsx +0 -36
  394. package/src/BaseLinearDisplay/components/Tooltip.tsx +0 -107
  395. package/src/BaseLinearDisplay/index.ts +0 -12
  396. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +0 -768
  397. package/src/BaseLinearDisplay/models/configSchema.ts +0 -59
  398. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +0 -318
  399. package/src/BaseLinearDisplay/models/util.ts +0 -67
  400. package/src/BasicTrack/configSchema.ts +0 -23
  401. package/src/BasicTrack/index.ts +0 -18
  402. package/src/FeatureTrack/configSchema.ts +0 -27
  403. package/src/FeatureTrack/index.ts +0 -18
  404. package/src/LaunchLinearGenomeView/index.ts +0 -66
  405. package/src/LinearBareDisplay/configSchema.ts +0 -27
  406. package/src/LinearBareDisplay/index.test.js +0 -34
  407. package/src/LinearBareDisplay/index.ts +0 -25
  408. package/src/LinearBareDisplay/model.ts +0 -53
  409. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +0 -73
  410. package/src/LinearBasicDisplay/configSchema.ts +0 -27
  411. package/src/LinearBasicDisplay/index.ts +0 -25
  412. package/src/LinearBasicDisplay/model.ts +0 -214
  413. package/src/LinearGenomeView/README.md +0 -9
  414. package/src/LinearGenomeView/components/CenterLine.tsx +0 -65
  415. package/src/LinearGenomeView/components/Cytobands.tsx +0 -154
  416. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +0 -149
  417. package/src/LinearGenomeView/components/GetSequenceDialog.tsx +0 -269
  418. package/src/LinearGenomeView/components/Gridlines.tsx +0 -119
  419. package/src/LinearGenomeView/components/Header.tsx +0 -126
  420. package/src/LinearGenomeView/components/HelpDialog.tsx +0 -69
  421. package/src/LinearGenomeView/components/ImportForm.tsx +0 -217
  422. package/src/LinearGenomeView/components/LinearGenomeView.test.tsx +0 -167
  423. package/src/LinearGenomeView/components/LinearGenomeView.tsx +0 -72
  424. package/src/LinearGenomeView/components/MiniControls.tsx +0 -55
  425. package/src/LinearGenomeView/components/OverviewRubberband.tsx +0 -219
  426. package/src/LinearGenomeView/components/OverviewScalebar.tsx +0 -345
  427. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +0 -321
  428. package/src/LinearGenomeView/components/Rubberband.tsx +0 -89
  429. package/src/LinearGenomeView/components/RubberbandSpan.tsx +0 -99
  430. package/src/LinearGenomeView/components/Scalebar.test.tsx +0 -145
  431. package/src/LinearGenomeView/components/Scalebar.tsx +0 -199
  432. package/src/LinearGenomeView/components/SearchBox.tsx +0 -123
  433. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +0 -57
  434. package/src/LinearGenomeView/components/SearchResultsTable.tsx +0 -121
  435. package/src/LinearGenomeView/components/SequenceSearchDialog.tsx +0 -136
  436. package/src/LinearGenomeView/components/TrackContainer.tsx +0 -180
  437. package/src/LinearGenomeView/components/TrackLabel.tsx +0 -143
  438. package/src/LinearGenomeView/components/TracksContainer.tsx +0 -114
  439. package/src/LinearGenomeView/components/VerticalGuide.tsx +0 -37
  440. package/src/LinearGenomeView/components/ZoomControls.tsx +0 -62
  441. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +0 -1520
  442. package/src/LinearGenomeView/components/hooks.ts +0 -306
  443. package/src/LinearGenomeView/components/util.ts +0 -76
  444. package/src/LinearGenomeView/hg38DisplayedRegions.json +0 -3187
  445. package/src/LinearGenomeView/index.test.ts +0 -993
  446. package/src/LinearGenomeView/index.ts +0 -17
  447. package/src/LinearGenomeView/model.ts +0 -1532
  448. package/src/LinearGenomeView/svgcomponents/SVGBackground.tsx +0 -21
  449. package/src/LinearGenomeView/svgcomponents/SVGHeader.tsx +0 -93
  450. package/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +0 -114
  451. package/src/LinearGenomeView/svgcomponents/SVGRegionSeparators.tsx +0 -31
  452. package/src/LinearGenomeView/svgcomponents/SVGRuler.tsx +0 -125
  453. package/src/LinearGenomeView/svgcomponents/SVGScalebar.tsx +0 -57
  454. package/src/LinearGenomeView/svgcomponents/SVGTrackLabel.tsx +0 -47
  455. package/src/LinearGenomeView/svgcomponents/SVGTracks.tsx +0 -67
  456. package/src/LinearGenomeView/util.test.ts +0 -33
  457. package/src/LinearGenomeView/util.ts +0 -182
  458. package/src/LinearGenomeView/volvoxDisplayedRegions.json +0 -16
  459. package/src/index.ts +0 -85
@@ -1,13 +1,13 @@
1
- import React, { useEffect, useRef } from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { Paper } from '@mui/material';
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
  import { observer } from 'mobx-react';
5
5
  import { isAlive } from 'mobx-state-tree';
6
6
  import { ErrorBoundary } from 'react-error-boundary';
7
- import { getConf } from '@jbrowse/core/configuration';
8
7
  import { ResizeHandle, ErrorMessage } from '@jbrowse/core/ui';
9
8
  import { useDebouncedCallback } from '@jbrowse/core/util';
10
- import TrackLabel from './TrackLabel';
9
+ import TrackLabelContainer from './TrackLabelContainer';
10
+ import TrackRenderingContainer from './TrackRenderingContainer';
11
11
  const useStyles = makeStyles()({
12
12
  root: {
13
13
  marginTop: 2,
@@ -26,88 +26,31 @@ const useStyles = makeStyles()({
26
26
  width: '100%',
27
27
  zIndex: 3,
28
28
  },
29
- trackLabel: {
30
- zIndex: 3,
31
- },
32
- // aligns with block boundaries. check for example the breakpoint split view
33
- // demo to see if features align if wanting to change things
34
- renderingComponentContainer: {
35
- position: 'absolute',
36
- // -1 offset because of the 1px border of the Paper
37
- left: -1,
38
- height: '100%',
39
- width: '100%',
40
- },
41
- trackLabelOffset: {
42
- position: 'relative',
43
- display: 'inline-block',
44
- },
45
- trackLabelOverlap: {
46
- position: 'absolute',
47
- },
48
- trackRenderingContainer: {
49
- overflowY: 'auto',
50
- overflowX: 'hidden',
51
- whiteSpace: 'nowrap',
52
- position: 'relative',
53
- background: 'none',
54
- zIndex: 2,
55
- },
56
29
  });
57
- const TrackContainerLabel = observer(({ model, view }) => {
58
- const { classes, cx } = useStyles();
59
- const display = model.displays[0];
60
- const { trackLabel, trackLabelOverlap, trackLabelOffset } = classes;
61
- const labelStyle = view.trackLabels !== 'overlapping' || display.prefersOffset
62
- ? trackLabelOffset
63
- : trackLabelOverlap;
64
- return view.trackLabels !== 'hidden' ? (React.createElement(TrackLabel, { track: model, className: cx(trackLabel, labelStyle) })) : null;
65
- });
66
- function TrackContainer({ model, track, }) {
30
+ export default observer(function TrackContainer({ model, track, }) {
67
31
  const { classes } = useStyles();
68
32
  const display = track.displays[0];
69
- const { horizontalScroll, draggingTrackId, moveTrack } = model;
70
- const { height, RenderingComponent, DisplayBlurb } = display;
71
- const trackId = getConf(track, 'trackId');
72
- const ref = useRef(null);
33
+ const { draggingTrackId } = model;
34
+ const ref2 = useRef(null);
73
35
  const dimmed = draggingTrackId !== undefined && draggingTrackId !== display.id;
74
- const minimized = track.minimized;
75
36
  const debouncedOnDragEnter = useDebouncedCallback(() => {
76
37
  if (isAlive(display) && dimmed) {
77
- moveTrack(draggingTrackId, track.id);
38
+ model.moveTrack(draggingTrackId, track.id);
78
39
  }
79
40
  }, 100);
80
- useEffect(() => {
81
- if (ref.current) {
82
- model.trackRefs[trackId] = ref.current;
83
- }
84
- return () => {
85
- delete model.trackRefs[trackId];
86
- };
87
- }, [model.trackRefs, trackId]);
88
- return (React.createElement(Paper, { ref: ref, className: classes.root, variant: "outlined", onClick: event => {
41
+ return (React.createElement(Paper, { ref: ref2, className: classes.root, variant: "outlined", onClick: event => {
89
42
  var _a;
90
43
  if (event.detail === 2 && !track.displays[0].featureIdUnderMouse) {
91
- const left = ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left) || 0;
44
+ const left = ((_a = ref2.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left) || 0;
92
45
  model.zoomTo(model.bpPerPx / 2, event.clientX - left, true);
93
46
  }
94
47
  } },
95
- React.createElement(TrackContainerLabel, { model: track, view: model }),
96
- React.createElement(ErrorBoundary, { key: track.id, FallbackComponent: ({ error }) => React.createElement(ErrorMessage, { error: error }) },
97
- React.createElement("div", { className: classes.trackRenderingContainer, style: { height: minimized ? 20 : height }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: debouncedOnDragEnter, "data-testid": `trackRenderingContainer-${model.id}-${trackId}` }, !minimized ? (React.createElement(React.Fragment, null,
98
- React.createElement("div", { className: classes.renderingComponentContainer, style: { transform: `scaleX(${model.scaleFactor})` } },
99
- React.createElement(RenderingComponent, { model: display, onHorizontalScroll: horizontalScroll })),
100
- DisplayBlurb ? (React.createElement("div", { style: {
101
- position: 'absolute',
102
- left: 0,
103
- top: display.height - 20,
104
- } },
105
- React.createElement(DisplayBlurb, { model: display }))) : null)) : null)),
48
+ React.createElement(TrackLabelContainer, { track: track, view: model }),
49
+ React.createElement(ErrorBoundary, { FallbackComponent: e => React.createElement(ErrorMessage, { error: e.error }) },
50
+ React.createElement(TrackRenderingContainer, { model: model, track: track, onDragEnter: debouncedOnDragEnter })),
106
51
  React.createElement("div", { className: classes.overlay, style: {
107
52
  height: display.height,
108
53
  background: dimmed ? 'rgba(0, 0, 0, 0.4)' : undefined,
109
54
  }, onDragEnter: debouncedOnDragEnter }),
110
55
  React.createElement(ResizeHandle, { onDrag: display.resizeHeight, className: classes.resizeHandle })));
111
- }
112
- export default observer(TrackContainer);
113
- //# sourceMappingURL=TrackContainer.js.map
56
+ });
@@ -6,8 +6,7 @@ import { getConf } from '@jbrowse/core/configuration';
6
6
  import { getSession, getContainingView } from '@jbrowse/core/util';
7
7
  import { getTrackName } from '@jbrowse/core/util/tracks';
8
8
  import { SanitizedHTML } from '@jbrowse/core/ui';
9
- import CascadingMenu from '@jbrowse/core/ui/CascadingMenu';
10
- import { bindTrigger, bindPopover, usePopupState, } from 'material-ui-popup-state/hooks';
9
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
11
10
  // icons
12
11
  import MoreVertIcon from '@mui/icons-material/MoreVert';
13
12
  import DragIcon from '@mui/icons-material/DragIndicator';
@@ -51,10 +50,6 @@ const TrackLabel = React.forwardRef(function ({ track, className }, ref) {
51
50
  const minimized = track.minimized;
52
51
  const trackId = getConf(track, 'trackId');
53
52
  const trackName = getTrackName(trackConf, session);
54
- const popupState = usePopupState({
55
- popupId: 'trackLabelMenu',
56
- variant: 'popover',
57
- });
58
53
  const items = [
59
54
  {
60
55
  label: minimized ? 'Restore track' : 'Minimize track',
@@ -63,7 +58,7 @@ const TrackLabel = React.forwardRef(function ({ track, className }, ref) {
63
58
  },
64
59
  ...(((_a = session.getTrackActionMenuItems) === null || _a === void 0 ? void 0 : _a.call(session, trackConf)) || []),
65
60
  ...track.trackMenuItems(),
66
- ].sort((a, b) => (b.priority || 0) - (a.priority || 0));
61
+ ].sort((a, b) => ((b === null || b === void 0 ? void 0 : b.priority) || 0) - ((a === null || a === void 0 ? void 0 : a.priority) || 0));
67
62
  return (React.createElement(Paper, { ref: ref, className: cx(className, classes.root) },
68
63
  React.createElement("span", { draggable: true, className: classes.dragHandle, onDragStart: event => {
69
64
  const target = event.currentTarget;
@@ -77,10 +72,10 @@ const TrackLabel = React.forwardRef(function ({ track, className }, ref) {
77
72
  React.createElement(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track" },
78
73
  React.createElement(CloseIcon, { fontSize: "small" })),
79
74
  React.createElement(Typography, { variant: "body1", component: "span", className: classes.trackName },
80
- React.createElement(SanitizedHTML, { html: `${trackName}${minimized ? ' (minimized)' : ''}` })),
81
- React.createElement(IconButton, { ...bindTrigger(popupState), className: classes.iconButton, "data-testid": "track_menu_icon", disabled: items.length === 0 },
82
- React.createElement(MoreVertIcon, { fontSize: "small" })),
83
- React.createElement(CascadingMenu, { ...bindPopover(popupState), onMenuItemClick: (_, callback) => callback(), menuItems: items, popupState: popupState })));
75
+ React.createElement(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
76
+ .filter(f => !!f)
77
+ .join(' ') })),
78
+ React.createElement(CascadingMenuButton, { menuItems: items, "data-testid": "track_menu_icon" },
79
+ React.createElement(MoreVertIcon, { fontSize: "small" }))));
84
80
  });
85
81
  export default observer(TrackLabel);
86
- //# sourceMappingURL=TrackLabel.js.map
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
+ import { LinearGenomeViewModel } from '..';
4
+ type LGV = LinearGenomeViewModel;
5
+ declare const TrackLabelContainer: ({ track, view, }: {
6
+ track: BaseTrackModel;
7
+ view: LGV;
8
+ }) => React.JSX.Element | null;
9
+ export default TrackLabelContainer;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { makeStyles } from 'tss-react/mui';
3
+ import { observer } from 'mobx-react';
4
+ import TrackLabel from './TrackLabel';
5
+ const useStyles = makeStyles()({
6
+ trackLabel: {
7
+ zIndex: 3,
8
+ },
9
+ trackLabelOffset: {
10
+ position: 'relative',
11
+ display: 'inline-block',
12
+ },
13
+ trackLabelOverlap: {
14
+ position: 'absolute',
15
+ },
16
+ });
17
+ const TrackLabelContainer = observer(function ({ track, view, }) {
18
+ const { classes, cx } = useStyles();
19
+ const display = track.displays[0];
20
+ const { trackLabel, trackLabelOverlap, trackLabelOffset } = classes;
21
+ const labelStyle = view.trackLabels !== 'overlapping' || display.prefersOffset
22
+ ? trackLabelOffset
23
+ : trackLabelOverlap;
24
+ return view.trackLabels !== 'hidden' ? (React.createElement(TrackLabel, { track: track, className: cx(trackLabel, labelStyle) })) : null;
25
+ });
26
+ export default TrackLabelContainer;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
+ import { LinearGenomeViewModel } from '..';
4
+ type LGV = LinearGenomeViewModel;
5
+ declare const _default: ({ model, track, onDragEnter, }: {
6
+ model: LGV;
7
+ track: BaseTrackModel;
8
+ onDragEnter: () => void;
9
+ }) => React.JSX.Element;
10
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import { makeStyles } from 'tss-react/mui';
3
+ import { observer } from 'mobx-react';
4
+ import { getConf } from '@jbrowse/core/configuration';
5
+ const useStyles = makeStyles()({
6
+ // aligns with block boundaries. check for example the breakpoint split view
7
+ // demo to see if features align if wanting to change things
8
+ renderingComponentContainer: {
9
+ position: 'absolute',
10
+ // -1 offset because of the 1px border of the Paper
11
+ left: -1,
12
+ height: '100%',
13
+ width: '100%',
14
+ },
15
+ trackRenderingContainer: {
16
+ overflowY: 'auto',
17
+ overflowX: 'hidden',
18
+ whiteSpace: 'nowrap',
19
+ position: 'relative',
20
+ background: 'none',
21
+ zIndex: 2,
22
+ },
23
+ });
24
+ export default observer(function TrackRenderingContainer({ model, track, onDragEnter, }) {
25
+ const { classes } = useStyles();
26
+ const display = track.displays[0];
27
+ const { height, RenderingComponent, DisplayBlurb } = display;
28
+ const trackId = getConf(track, 'trackId');
29
+ const ref = useRef(null);
30
+ const minimized = track.minimized;
31
+ useEffect(() => {
32
+ if (ref.current) {
33
+ model.trackRefs[trackId] = ref.current;
34
+ }
35
+ return () => {
36
+ delete model.trackRefs[trackId];
37
+ };
38
+ }, [model.trackRefs, trackId]);
39
+ return (React.createElement("div", { className: classes.trackRenderingContainer, style: { height: minimized ? 20 : height }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${model.id}-${trackId}` }, !minimized ? (React.createElement(React.Fragment, null,
40
+ React.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: { transform: `scaleX(${model.scaleFactor})` } },
41
+ React.createElement(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll })),
42
+ DisplayBlurb ? (React.createElement("div", { style: {
43
+ position: 'absolute',
44
+ left: 0,
45
+ top: display.height - 20,
46
+ } },
47
+ React.createElement(DisplayBlurb, { model: display }))) : null)) : null));
48
+ });
@@ -4,5 +4,5 @@ type LGV = LinearGenomeViewModel;
4
4
  declare const _default: ({ children, model, }: {
5
5
  children: React.ReactNode;
6
6
  model: LGV;
7
- }) => JSX.Element;
7
+ }) => React.JSX.Element;
8
8
  export default _default;
@@ -26,7 +26,7 @@ export default observer(function TracksContainer({ children, model, }) {
26
26
  const ref = useRef(null);
27
27
  const { guideX, rubberbandOn, leftBpOffset, rightBpOffset, numOfBpSelected, width, left, anchorPosition, handleMenuItemClick, open, handleClose, mouseMove, mouseDown: mouseDown2, } = useRangeSelect(ref, model, true);
28
28
  useWheelScroll(ref, model);
29
- const additionals = pluginManager.evaluateExtensionPoint('LinearGenomeView-TracksContainerComponent', undefined, { model });
29
+ const additional = pluginManager.evaluateExtensionPoint('LinearGenomeView-TracksContainerComponent', undefined, { model });
30
30
  return (React.createElement("div", { ref: ref, "data-testid": "trackContainer", className: classes.tracksContainer, onMouseDown: event => {
31
31
  mouseDown1(event);
32
32
  mouseDown2(event);
@@ -39,7 +39,6 @@ export default observer(function TracksContainer({ children, model, }) {
39
39
  top: anchorPosition.clientY,
40
40
  }, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: model.rubberBandMenuItems() })) : null,
41
41
  React.createElement(Rubberband, { model: model, ControlComponent: React.createElement(Scalebar, { model: model, style: { height: SCALE_BAR_HEIGHT, boxSizing: 'border-box' } }) }),
42
- additionals,
42
+ additional,
43
43
  children));
44
44
  });
45
- //# sourceMappingURL=TracksContainer.js.map
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  import { LinearGenomeViewModel } from '..';
2
3
  type LGV = LinearGenomeViewModel;
3
4
  declare function VerticalGuide({ model, coordX }: {
4
5
  model: LGV;
5
6
  coordX: number;
6
- }): JSX.Element;
7
+ }): React.JSX.Element;
7
8
  declare const _default: typeof VerticalGuide;
8
9
  export default _default;
@@ -21,4 +21,3 @@ function VerticalGuide({ model, coordX }) {
21
21
  } })));
22
22
  }
23
23
  export default observer(VerticalGuide);
24
- //# sourceMappingURL=VerticalGuide.js.map
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  import { LinearGenomeViewModel } from '..';
2
3
  declare function ZoomControls({ model }: {
3
4
  model: LinearGenomeViewModel;
4
- }): JSX.Element;
5
+ }): React.JSX.Element;
5
6
  declare const _default: typeof ZoomControls;
6
7
  export default _default;
@@ -30,4 +30,3 @@ function ZoomControls({ model }) {
30
30
  React.createElement(ZoomIn, null))));
31
31
  }
32
32
  export default observer(ZoomControls);
33
- //# sourceMappingURL=ZoomControls.js.map
@@ -252,4 +252,3 @@ export function useWheelScroll(ref, model) {
252
252
  return () => { };
253
253
  }, [model, ref]);
254
254
  }
255
- //# sourceMappingURL=hooks.js.map
@@ -36,4 +36,3 @@ export function getCytobands(assembly, refName) {
36
36
  type: f.get('type'),
37
37
  })).filter(f => f.refName === refName)) || []);
38
38
  }
39
- //# sourceMappingURL=util.js.map
@@ -12,4 +12,3 @@ export default (pluginManager) => {
12
12
  });
13
13
  };
14
14
  export * from './model';
15
- //# sourceMappingURL=index.js.map
@@ -45,6 +45,7 @@ export declare const SPACING = 7;
45
45
  export declare const WIDGET_HEIGHT = 32;
46
46
  /**
47
47
  * #stateModel LinearGenomeView
48
+ * #category view
48
49
  */
49
50
  export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
50
51
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
@@ -90,7 +91,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
90
91
  afterDisplayedRegionsSetCallbacks: Function[];
91
92
  scaleFactor: number;
92
93
  trackRefs: {
93
- [key: string]: any;
94
+ [key: string]: HTMLDivElement;
94
95
  };
95
96
  coarseDynamicBlocks: BaseBlock[];
96
97
  coarseTotalBp: number;
@@ -402,18 +403,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
402
403
  /**
403
404
  * #getter
404
405
  * static blocks are an important concept jbrowse uses to avoid
405
- * re-rendering when you scroll to the side. when you horizontally scroll to the
406
- * right, old blocks to the left may be removed, and new blocks may be
407
- * instantiated on the right. tracks may use the static blocks to render their
408
- * data for the region represented by the block
406
+ * re-rendering when you scroll to the side. when you horizontally
407
+ * scroll to the right, old blocks to the left may be removed, and new
408
+ * blocks may be instantiated on the right. tracks may use the static
409
+ * blocks to render their data for the region represented by the block
409
410
  */
410
411
  readonly staticBlocks: BlockSet;
411
412
  /**
412
413
  * #getter
413
414
  * dynamic blocks represent the exact coordinates of the currently
414
- * visible genome regions on the screen. they are similar to static blocks, but
415
- * static blocks can go offscreen while dynamic blocks represent exactly what
416
- * is on screen
415
+ * visible genome regions on the screen. they are similar to static
416
+ * blocks, but static blocks can go offscreen while dynamic blocks
417
+ * represent exactly what is on screen
417
418
  */
418
419
  readonly dynamicBlocks: BlockSet;
419
420
  /**
@@ -423,8 +424,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
423
424
  readonly roundedDynamicBlocks: BaseBlock[];
424
425
  /**
425
426
  * #getter
426
- * a single "combo-locstring" representing all the regions visible
427
- * on the screen
427
+ * a single "combo-locstring" representing all the regions visible on
428
+ * the screen
428
429
  */
429
430
  readonly visibleLocStrings: string;
430
431
  /**
@@ -470,8 +471,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
470
471
  * Navigate to a location based on its refName and optionally start, end,
471
472
  * and assemblyName. Will not try to change displayed regions, use
472
473
  * `navToLocations` instead. Only navigates to a location if it is
473
- * entirely within a displayedRegion. Navigates to the first matching location
474
- * encountered.
474
+ * entirely within a displayedRegion. Navigates to the first matching
475
+ * location encountered.
475
476
  *
476
477
  * Throws an error if navigation was unsuccessful
477
478
  *
@@ -2,7 +2,6 @@ import { lazy } from 'react';
2
2
  import { getConf } from '@jbrowse/core/configuration';
3
3
  import { BaseViewModel } from '@jbrowse/core/pluggableElementTypes/models';
4
4
  import { ElementId, Region as MUIRegion } from '@jbrowse/core/util/types/mst';
5
- import { ReturnToImportFormDialog } from '@jbrowse/core/ui';
6
5
  import { assembleLocString, clamp, findLast, getContainingView, getSession, isViewContainer, isSessionModelWithWidgets, isSessionWithAddTracks, localStorageGetItem, measureText, springAnimate, sum, } from '@jbrowse/core/util';
7
6
  import calculateDynamicBlocks from '@jbrowse/core/util/calculateDynamicBlocks';
8
7
  import calculateStaticBlocks from '@jbrowse/core/util/calculateStaticBlocks';
@@ -22,14 +21,13 @@ import FolderOpenIcon from '@mui/icons-material/FolderOpen';
22
21
  import PhotoCameraIcon from '@mui/icons-material/PhotoCamera';
23
22
  import ZoomInIcon from '@mui/icons-material/ZoomIn';
24
23
  import MenuOpenIcon from '@mui/icons-material/MenuOpen';
25
- // locals
26
- import { renderToSvg } from './svgcomponents/SVGLinearGenomeView';
27
- import ExportSvgDlg from './components/ExportSvgDialog';
28
24
  import MiniControls from './components/MiniControls';
29
25
  import Header from './components/Header';
30
26
  import { generateLocations, parseLocStrings } from './util';
31
27
  // lazies
28
+ const ReturnToImportFormDialog = lazy(() => import('@jbrowse/core/ui/ReturnToImportFormDialog'));
32
29
  const SequenceSearchDialog = lazy(() => import('./components/SequenceSearchDialog'));
30
+ const ExportSvgDialog = lazy(() => import('./components/ExportSvgDialog'));
33
31
  const GetSequenceDialog = lazy(() => import('./components/GetSequenceDialog'));
34
32
  const SearchResultsDialog = lazy(() => import('./components/SearchResultsDialog'));
35
33
  function calculateVisibleLocStrings(contentBlocks) {
@@ -54,6 +52,7 @@ export const SPACING = 7;
54
52
  export const WIDGET_HEIGHT = 32;
55
53
  /**
56
54
  * #stateModel LinearGenomeView
55
+ * #category view
57
56
  */
58
57
  export function stateModelFactory(pluginManager) {
59
58
  return types
@@ -140,7 +139,6 @@ export function stateModelFactory(pluginManager) {
140
139
  // which is basically like an onLoad
141
140
  afterDisplayedRegionsSetCallbacks: [],
142
141
  scaleFactor: 1,
143
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
144
142
  trackRefs: {},
145
143
  coarseDynamicBlocks: [],
146
144
  coarseTotalBp: 0,
@@ -467,7 +465,6 @@ export function stateModelFactory(pluginManager) {
467
465
  getSession(self).queueDialog(handleClose => [
468
466
  SearchResultsDialog,
469
467
  {
470
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
471
468
  model: self,
472
469
  searchResults,
473
470
  searchQuery,
@@ -731,7 +728,7 @@ export function stateModelFactory(pluginManager) {
731
728
  * creates an svg export and save using FileSaver
732
729
  */
733
730
  async exportSvg(opts = {}) {
734
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
731
+ const { renderToSvg } = await import('./svgcomponents/SVGLinearGenomeView');
735
732
  const html = await renderToSvg(self, opts);
736
733
  const blob = new Blob([html], { type: 'image/svg+xml' });
737
734
  saveAs(blob, opts.filename || 'image.svg');
@@ -845,7 +842,7 @@ export function stateModelFactory(pluginManager) {
845
842
  icon: PhotoCameraIcon,
846
843
  onClick: () => {
847
844
  getSession(self).queueDialog(handleClose => [
848
- ExportSvgDlg,
845
+ ExportSvgDialog,
849
846
  { model: self, handleClose },
850
847
  ]);
851
848
  },
@@ -956,10 +953,10 @@ export function stateModelFactory(pluginManager) {
956
953
  /**
957
954
  * #getter
958
955
  * static blocks are an important concept jbrowse uses to avoid
959
- * re-rendering when you scroll to the side. when you horizontally scroll to the
960
- * right, old blocks to the left may be removed, and new blocks may be
961
- * instantiated on the right. tracks may use the static blocks to render their
962
- * data for the region represented by the block
956
+ * re-rendering when you scroll to the side. when you horizontally
957
+ * scroll to the right, old blocks to the left may be removed, and new
958
+ * blocks may be instantiated on the right. tracks may use the static
959
+ * blocks to render their data for the region represented by the block
963
960
  */
964
961
  get staticBlocks() {
965
962
  const ret = calculateStaticBlocks(self);
@@ -973,9 +970,9 @@ export function stateModelFactory(pluginManager) {
973
970
  /**
974
971
  * #getter
975
972
  * dynamic blocks represent the exact coordinates of the currently
976
- * visible genome regions on the screen. they are similar to static blocks, but
977
- * static blocks can go offscreen while dynamic blocks represent exactly what
978
- * is on screen
973
+ * visible genome regions on the screen. they are similar to static
974
+ * blocks, but static blocks can go offscreen while dynamic blocks
975
+ * represent exactly what is on screen
979
976
  */
980
977
  get dynamicBlocks() {
981
978
  return calculateDynamicBlocks(self);
@@ -993,8 +990,8 @@ export function stateModelFactory(pluginManager) {
993
990
  },
994
991
  /**
995
992
  * #getter
996
- * a single "combo-locstring" representing all the regions visible
997
- * on the screen
993
+ * a single "combo-locstring" representing all the regions visible on
994
+ * the screen
998
995
  */
999
996
  get visibleLocStrings() {
1000
997
  return calculateVisibleLocStrings(this.dynamicBlocks.contentBlocks);
@@ -1097,8 +1094,8 @@ export function stateModelFactory(pluginManager) {
1097
1094
  * Navigate to a location based on its refName and optionally start, end,
1098
1095
  * and assemblyName. Will not try to change displayed regions, use
1099
1096
  * `navToLocations` instead. Only navigates to a location if it is
1100
- * entirely within a displayedRegion. Navigates to the first matching location
1101
- * encountered.
1097
+ * entirely within a displayedRegion. Navigates to the first matching
1098
+ * location encountered.
1102
1099
  *
1103
1100
  * Throws an error if navigation was unsuccessful
1104
1101
  *
@@ -1123,8 +1120,11 @@ export function stateModelFactory(pluginManager) {
1123
1120
  if (locations.some(l => l.start !== undefined && l.end !== undefined && l.start > l.end)) {
1124
1121
  throw new Error('found start greater than end');
1125
1122
  }
1126
- const f1 = locations[0];
1127
- const f2 = locations[locations.length - 1];
1123
+ const f1 = locations.at(0);
1124
+ const f2 = locations.at(-1);
1125
+ if (!f1 || !f2) {
1126
+ return;
1127
+ }
1128
1128
  const a = self.assemblyNames[0];
1129
1129
  const { assemblyManager } = getSession(self);
1130
1130
  const assembly1 = assemblyManager.get(f1.assemblyName || a);
@@ -1234,4 +1234,3 @@ export { default as RefNameAutocomplete } from './components/RefNameAutocomplete
1234
1234
  export { default as SearchBox } from './components/SearchBox';
1235
1235
  export { default as ZoomControls } from './components/ZoomControls';
1236
1236
  export { renderToSvg } from './svgcomponents/SVGLinearGenomeView';
1237
- //# sourceMappingURL=model.js.map
@@ -1,5 +1,6 @@
1
+ import React from 'react';
1
2
  export default function SVGBackground({ width, height, shift, }: {
2
3
  width: number;
3
4
  height: number;
4
5
  shift: number;
5
- }): JSX.Element;
6
+ }): React.JSX.Element;
@@ -4,4 +4,3 @@ export default function SVGBackground({ width, height, shift, }) {
4
4
  const theme = useTheme();
5
5
  return (React.createElement("rect", { width: width + shift * 2, height: height, fill: theme.palette.background.default }));
6
6
  }
7
- //# sourceMappingURL=SVGBackground.js.map
@@ -1,9 +1,8 @@
1
+ import React from 'react';
1
2
  import { LinearGenomeViewModel } from '..';
2
- type LGV = LinearGenomeViewModel;
3
3
  export default function SVGHeader({ model, fontSize, cytobandHeight, rulerHeight, }: {
4
- model: LGV;
4
+ model: LinearGenomeViewModel;
5
5
  rulerHeight: number;
6
6
  fontSize: number;
7
7
  cytobandHeight: number;
8
- }): JSX.Element;
9
- export {};
8
+ }): React.JSX.Element | null;
@@ -20,15 +20,20 @@ export default function SVGHeader({ model, fontSize, cytobandHeight, rulerHeight
20
20
  minimumBlockWidth: model.minimumBlockWidth,
21
21
  });
22
22
  const visibleRegions = model.dynamicBlocks.contentBlocks;
23
+ if (!visibleRegions.length) {
24
+ return null;
25
+ }
23
26
  overview.setVolatileWidth(width);
24
27
  overview.showAllRegions();
25
28
  const block = overview.dynamicBlocks.contentBlocks[0];
26
- const first = visibleRegions[0];
29
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
30
+ const first = visibleRegions.at(0);
31
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
32
+ const last = visibleRegions.at(-1);
27
33
  const firstOverviewPx = overview.bpToPx({
28
34
  ...first,
29
35
  coord: first.reversed ? first.end : first.start,
30
36
  }) || 0;
31
- const last = visibleRegions[visibleRegions.length - 1];
32
37
  const lastOverviewPx = overview.bpToPx({
33
38
  ...last,
34
39
  coord: last.reversed ? last.start : last.end,
@@ -46,4 +51,3 @@ export default function SVGHeader({ model, fontSize, cytobandHeight, rulerHeight
46
51
  React.createElement("g", { transform: `translate(0 ${rulerHeight + c})` },
47
52
  React.createElement(SVGRuler, { model: model, fontSize: fontSize }))));
48
53
  }
49
- //# sourceMappingURL=SVGHeader.js.map
@@ -26,7 +26,7 @@ export async function renderToSvg(model, opts) {
26
26
  const height = totalHeight(tracks, textHeight, trackLabels) + offset + 100;
27
27
  const displayResults = await Promise.all(tracks.map(async (track) => {
28
28
  const display = track.displays[0];
29
- await when(() => (display.ready !== undefined ? display.ready : true));
29
+ await when(() => !display.renderProps().notReady);
30
30
  return { track, result: await display.renderSvg({ ...opts, theme }) };
31
31
  }));
32
32
  const trackLabelMaxLen = max(tracks.map(t => measureText(getTrackName(t.configuration, session), fontSize)), 0) + 40;
@@ -44,4 +44,3 @@ export async function renderToSvg(model, opts) {
44
44
  }
45
45
  export { default as SVGRuler } from './SVGRuler';
46
46
  export { default as SVGTracks } from './SVGTracks';
47
- //# sourceMappingURL=SVGLinearGenomeView.js.map
@@ -1,7 +1,8 @@
1
+ import React from 'react';
1
2
  import { LinearGenomeViewModel } from '..';
2
3
  type LGV = LinearGenomeViewModel;
3
4
  export default function SVGRegionSeparators({ model, height, }: {
4
5
  height: number;
5
6
  model: LGV;
6
- }): JSX.Element;
7
+ }): React.JSX.Element;
7
8
  export {};
@@ -4,4 +4,3 @@ export default function SVGRegionSeparators({ model, height, }) {
4
4
  const { dynamicBlocks, offsetPx, interRegionPaddingWidth } = model;
5
5
  return (React.createElement(React.Fragment, null, dynamicBlocks.contentBlocks.slice(1).map(block => (React.createElement("rect", { key: block.key, x: block.offsetPx - offsetPx - interRegionPaddingWidth, width: interRegionPaddingWidth, y: 0, height: height, fill: "grey" })))));
6
6
  }
7
- //# sourceMappingURL=SVGRegionSeparators.js.map
@@ -1,7 +1,8 @@
1
+ import React from 'react';
1
2
  import { LinearGenomeViewModel } from '..';
2
3
  type LGV = LinearGenomeViewModel;
3
4
  export default function SVGRuler({ model, fontSize, }: {
4
5
  model: LGV;
5
6
  fontSize: number;
6
- }): JSX.Element;
7
+ }): React.JSX.Element;
7
8
  export {};