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

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 (279) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  2. package/dist/BaseLinearDisplay/components/Block.d.ts +3 -3
  3. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  4. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  5. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  6. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  7. package/dist/BaseLinearDisplay/index.d.ts +5 -2
  8. package/dist/BaseLinearDisplay/index.js +7 -1
  9. package/dist/BaseLinearDisplay/index.js.map +1 -1
  10. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  11. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +34 -355
  12. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  13. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  14. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +190 -0
  15. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
  16. package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  17. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +56 -0
  18. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
  19. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  20. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +42 -0
  21. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
  22. package/dist/BaseLinearDisplay/models/configSchema.js +1 -0
  23. package/dist/BaseLinearDisplay/models/configSchema.js.map +1 -1
  24. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  25. package/dist/BaseLinearDisplay/models/renderSvg.js +83 -0
  26. package/dist/BaseLinearDisplay/models/renderSvg.js.map +1 -0
  27. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -16
  28. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  29. package/dist/BasicTrack/configSchema.js +1 -0
  30. package/dist/BasicTrack/configSchema.js.map +1 -1
  31. package/dist/FeatureTrack/configSchema.d.ts +1 -3
  32. package/dist/FeatureTrack/configSchema.js +1 -0
  33. package/dist/FeatureTrack/configSchema.js.map +1 -1
  34. package/dist/LinearBareDisplay/configSchema.d.ts +1 -0
  35. package/dist/LinearBareDisplay/configSchema.js +1 -0
  36. package/dist/LinearBareDisplay/configSchema.js.map +1 -1
  37. package/dist/LinearBareDisplay/model.d.ts +52 -39
  38. package/dist/LinearBareDisplay/model.js +1 -0
  39. package/dist/LinearBareDisplay/model.js.map +1 -1
  40. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  41. package/dist/LinearBasicDisplay/configSchema.d.ts +1 -0
  42. package/dist/LinearBasicDisplay/configSchema.js +1 -0
  43. package/dist/LinearBasicDisplay/configSchema.js.map +1 -1
  44. package/dist/LinearBasicDisplay/model.d.ts +67 -66
  45. package/dist/LinearBasicDisplay/model.js +1 -0
  46. package/dist/LinearBasicDisplay/model.js.map +1 -1
  47. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -1
  48. package/dist/LinearGenomeView/components/Cytobands.d.ts +2 -1
  49. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  50. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  51. package/dist/LinearGenomeView/components/Gridlines.d.ts +2 -1
  52. package/dist/LinearGenomeView/components/Header.d.ts +2 -1
  53. package/dist/LinearGenomeView/components/ImportForm.d.ts +2 -1
  54. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  55. package/dist/LinearGenomeView/components/LinearGenomeView.js +28 -4
  56. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  57. package/dist/LinearGenomeView/components/MiniControls.d.ts +3 -2
  58. package/dist/LinearGenomeView/components/MiniControls.js +20 -40
  59. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -1
  60. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  61. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  62. package/dist/LinearGenomeView/components/OverviewScalebar.js +10 -4
  63. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  64. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  65. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +22 -0
  66. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
  67. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  68. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +52 -0
  69. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
  70. package/dist/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  71. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
  72. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  73. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +111 -0
  74. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
  75. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  76. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +59 -0
  77. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
  78. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
  79. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  80. package/dist/LinearGenomeView/components/SearchBox.d.ts +2 -1
  81. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  82. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  83. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  84. package/dist/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  85. package/dist/LinearGenomeView/components/TrackContainer.js +12 -68
  86. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
  87. package/dist/LinearGenomeView/components/TrackLabel.js +6 -10
  88. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -1
  89. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  90. package/dist/LinearGenomeView/components/TrackLabelContainer.js +32 -0
  91. package/dist/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
  92. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  93. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +74 -0
  94. package/dist/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
  95. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  96. package/dist/LinearGenomeView/components/TracksContainer.js +2 -2
  97. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -1
  98. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  99. package/dist/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  100. package/dist/LinearGenomeView/model.d.ts +13 -12
  101. package/dist/LinearGenomeView/model.js +25 -25
  102. package/dist/LinearGenomeView/model.js.map +1 -1
  103. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  104. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  105. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
  106. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
  107. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  108. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
  109. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  110. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  111. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  112. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  113. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  114. package/dist/LinearGenomeView/util.d.ts +2 -2
  115. package/dist/index.d.ts +160 -134
  116. package/dist/index.js +6 -3
  117. package/dist/index.js.map +1 -1
  118. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  119. package/esm/BaseLinearDisplay/components/Block.d.ts +3 -3
  120. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  121. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  122. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  123. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  124. package/esm/BaseLinearDisplay/index.d.ts +5 -2
  125. package/esm/BaseLinearDisplay/index.js +3 -0
  126. package/esm/BaseLinearDisplay/index.js.map +1 -1
  127. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  128. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +36 -334
  129. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  130. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  131. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +184 -0
  132. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
  133. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  134. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +53 -0
  135. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
  136. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  137. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +39 -0
  138. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
  139. package/esm/BaseLinearDisplay/models/configSchema.js +1 -0
  140. package/esm/BaseLinearDisplay/models/configSchema.js.map +1 -1
  141. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  142. package/esm/BaseLinearDisplay/models/renderSvg.js +54 -0
  143. package/esm/BaseLinearDisplay/models/renderSvg.js.map +1 -0
  144. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -16
  145. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  146. package/esm/BasicTrack/configSchema.js +1 -0
  147. package/esm/BasicTrack/configSchema.js.map +1 -1
  148. package/esm/FeatureTrack/configSchema.d.ts +1 -3
  149. package/esm/FeatureTrack/configSchema.js +1 -0
  150. package/esm/FeatureTrack/configSchema.js.map +1 -1
  151. package/esm/LinearBareDisplay/configSchema.d.ts +1 -0
  152. package/esm/LinearBareDisplay/configSchema.js +1 -0
  153. package/esm/LinearBareDisplay/configSchema.js.map +1 -1
  154. package/esm/LinearBareDisplay/model.d.ts +52 -39
  155. package/esm/LinearBareDisplay/model.js +1 -0
  156. package/esm/LinearBareDisplay/model.js.map +1 -1
  157. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  158. package/esm/LinearBasicDisplay/configSchema.d.ts +1 -0
  159. package/esm/LinearBasicDisplay/configSchema.js +1 -0
  160. package/esm/LinearBasicDisplay/configSchema.js.map +1 -1
  161. package/esm/LinearBasicDisplay/model.d.ts +67 -66
  162. package/esm/LinearBasicDisplay/model.js +1 -0
  163. package/esm/LinearBasicDisplay/model.js.map +1 -1
  164. package/esm/LinearGenomeView/components/CenterLine.d.ts +2 -1
  165. package/esm/LinearGenomeView/components/Cytobands.d.ts +2 -1
  166. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  167. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  168. package/esm/LinearGenomeView/components/Gridlines.d.ts +2 -1
  169. package/esm/LinearGenomeView/components/Header.d.ts +2 -1
  170. package/esm/LinearGenomeView/components/ImportForm.d.ts +2 -1
  171. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  172. package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -3
  173. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  174. package/esm/LinearGenomeView/components/MiniControls.d.ts +3 -2
  175. package/esm/LinearGenomeView/components/MiniControls.js +20 -17
  176. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -1
  177. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  178. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  179. package/esm/LinearGenomeView/components/OverviewScalebar.js +10 -4
  180. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  181. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  182. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +16 -0
  183. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
  184. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  185. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +23 -0
  186. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
  187. package/esm/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  188. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
  189. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  190. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +83 -0
  191. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
  192. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  193. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +50 -0
  194. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
  195. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
  196. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  197. package/esm/LinearGenomeView/components/SearchBox.d.ts +2 -1
  198. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  199. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  200. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  201. package/esm/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  202. package/esm/LinearGenomeView/components/TrackContainer.js +13 -69
  203. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
  204. package/esm/LinearGenomeView/components/TrackLabel.js +6 -10
  205. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -1
  206. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  207. package/esm/LinearGenomeView/components/TrackLabelContainer.js +27 -0
  208. package/esm/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
  209. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  210. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +49 -0
  211. package/esm/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
  212. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  213. package/esm/LinearGenomeView/components/TracksContainer.js +2 -2
  214. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -1
  215. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  216. package/esm/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  217. package/esm/LinearGenomeView/model.d.ts +13 -12
  218. package/esm/LinearGenomeView/model.js +21 -21
  219. package/esm/LinearGenomeView/model.js.map +1 -1
  220. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  221. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  222. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
  223. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
  224. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  225. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
  226. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  227. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  228. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  229. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  230. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  231. package/esm/LinearGenomeView/util.d.ts +2 -2
  232. package/esm/index.d.ts +160 -134
  233. package/esm/index.js +1 -1
  234. package/esm/index.js.map +1 -1
  235. package/package.json +2 -2
  236. package/src/BaseLinearDisplay/index.ts +5 -1
  237. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +46 -407
  238. package/src/BaseLinearDisplay/models/FeatureDensityMixin.tsx +213 -0
  239. package/src/BaseLinearDisplay/models/TrackHeightMixin.tsx +59 -0
  240. package/src/BaseLinearDisplay/models/autorunFeatureDensityStats.ts +46 -0
  241. package/src/BaseLinearDisplay/models/configSchema.ts +1 -0
  242. package/src/BaseLinearDisplay/models/renderSvg.tsx +101 -0
  243. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +21 -19
  244. package/src/BasicTrack/configSchema.ts +1 -0
  245. package/src/FeatureTrack/configSchema.ts +1 -0
  246. package/src/LinearBareDisplay/configSchema.ts +1 -0
  247. package/src/LinearBareDisplay/model.ts +1 -0
  248. package/src/LinearBasicDisplay/configSchema.ts +1 -0
  249. package/src/LinearBasicDisplay/model.ts +1 -0
  250. package/src/LinearGenomeView/components/LinearGenomeView.test.tsx +3 -3
  251. package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -3
  252. package/src/LinearGenomeView/components/MiniControls.tsx +37 -38
  253. package/src/LinearGenomeView/components/OverviewScalebar.tsx +11 -5
  254. package/src/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.tsx +53 -0
  255. package/src/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.tsx +44 -0
  256. package/src/LinearGenomeView/components/RefNameAutocomplete/index.tsx +160 -0
  257. package/src/LinearGenomeView/components/RefNameAutocomplete/util.ts +65 -0
  258. package/src/LinearGenomeView/components/TrackContainer.tsx +16 -104
  259. package/src/LinearGenomeView/components/TrackLabel.tsx +7 -27
  260. package/src/LinearGenomeView/components/TrackLabelContainer.tsx +48 -0
  261. package/src/LinearGenomeView/components/TrackRenderingContainer.tsx +96 -0
  262. package/src/LinearGenomeView/components/TracksContainer.tsx +2 -2
  263. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +3 -3
  264. package/src/LinearGenomeView/model.ts +29 -28
  265. package/src/LinearGenomeView/svgcomponents/SVGHeader.tsx +8 -6
  266. package/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +1 -1
  267. package/src/index.ts +11 -5
  268. package/dist/LinearGenomeView/components/HelpDialog.js.map +0 -1
  269. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  270. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +0 -189
  271. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  272. package/esm/LinearGenomeView/components/HelpDialog.js.map +0 -1
  273. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  274. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +0 -161
  275. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  276. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +0 -321
  277. /package/dist/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
  278. /package/esm/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
  279. /package/src/LinearGenomeView/components/{HelpDialog.tsx → RefNameAutocomplete/HelpDialog.tsx} +0 -0
@@ -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,32 @@ 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);
56
+ });
113
57
  //# sourceMappingURL=TrackContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrackContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackContainer.tsx"],"names":[],"mappings":"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"}
@@ -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',
@@ -77,10 +72,11 @@ 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
82
  //# sourceMappingURL=TrackLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrackLabel.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackLabel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackLabel.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackLabel.tsx"],"names":[],"mappings":"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"}
@@ -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,27 @@
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;
27
+ //# sourceMappingURL=TrackLabelContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackLabelContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackLabelContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAOrC,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;KACV;IAED,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,cAAc;KACxB;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC,CAAA;AAIF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,EAC7C,KAAK,EACL,IAAI,GAIL;IACC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IACnE,MAAM,UAAU,GACd,IAAI,CAAC,WAAW,KAAK,aAAa,IAAI,OAAO,CAAC,aAAa;QACzD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,iBAAiB,CAAA;IAEvB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CACrC,oBAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,GAAI,CACpE,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
@@ -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,49 @@
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
+ });
49
+ //# sourceMappingURL=TrackRenderingContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackRenderingContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TrackRenderingContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAKrD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,4DAA4D;IAC5D,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,mDAAmD;QACnD,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACd;IAED,uBAAuB,EAAE;QACvB,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAA;AAIF,eAAe,QAAQ,CAAC,SAAS,uBAAuB,CAAC,EACvD,KAAK,EACL,KAAK,EACL,WAAW,GAKZ;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;SACvC;QACD,OAAO,GAAG,EAAE;YACV,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9B,OAAO,CACL,6BACE,SAAS,EAAE,OAAO,CAAC,uBAAuB,EAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAC1C,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,EAClE,WAAW,EAAE,WAAW,iBACX,2BAA2B,KAAK,CAAC,EAAE,IAAI,OAAO,EAAE,IAE5D,CAAC,SAAS,CAAC,CAAC,CAAC,CACZ;QACE,6BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAAC,2BAA2B,EAC9C,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,KAAK,CAAC,WAAW,GAAG,EAAE;YAEpD,oBAAC,kBAAkB,IACjB,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,GAC1C,CACE;QAEL,YAAY,CAAC,CAAC,CAAC,CACd,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,CAAC;gBACP,GAAG,EAAE,OAAO,CAAC,MAAM,GAAG,EAAE;aACzB;YAED,oBAAC,YAAY,IAAC,KAAK,EAAE,OAAO,GAAI,CAC5B,CACP,CAAC,CAAC,CAAC,IAAI,CACP,CACJ,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -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,7 @@ 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
45
  //# sourceMappingURL=TracksContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TracksContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TracksContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TracksContainer.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/TracksContainer.tsx"],"names":[],"mappings":"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"}
@@ -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;
@@ -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;
@@ -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);