@jbrowse/core 5.0.0-beta.7 → 5.0.0-beta.9

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 (379) hide show
  1. package/README.md +427 -130
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +5 -3
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -5
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +8 -9
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +8 -13
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -1
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +3 -3
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +5 -3
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +1 -0
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +1 -4
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +53 -0
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -8
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +0 -16
  19. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +7 -34
  20. package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
  21. package/esm/BaseFeatureWidget/formatDetails.d.ts +13 -29
  22. package/esm/BaseFeatureWidget/formatDetails.js +46 -79
  23. package/esm/BaseFeatureWidget/index.d.ts +1 -0
  24. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +35 -28
  25. package/esm/BaseFeatureWidget/stateModelFactory.js +94 -102
  26. package/esm/BaseFeatureWidget/types.d.ts +3 -0
  27. package/esm/BaseFeatureWidget/util.d.ts +0 -3
  28. package/esm/BaseFeatureWidget/util.js +0 -17
  29. package/esm/PluginLoader.d.ts +14 -9
  30. package/esm/PluginLoader.js +34 -26
  31. package/esm/PluginManager.d.ts +4 -4
  32. package/esm/PluginManager.js +1 -1
  33. package/esm/ReExports/coreModules.generated.d.ts +2 -0
  34. package/esm/ReExports/coreModules.generated.js +492 -0
  35. package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
  36. package/esm/ReExports/coreWorkerModules.generated.js +453 -0
  37. package/esm/ReExports/frameworkModules.d.ts +2 -0
  38. package/esm/ReExports/frameworkModules.js +67 -0
  39. package/esm/ReExports/frameworkShared.d.ts +12 -0
  40. package/esm/ReExports/frameworkShared.js +16 -0
  41. package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
  42. package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
  43. package/esm/ReExports/list.js +493 -79
  44. package/esm/ReExports/modules.d.ts +1 -1
  45. package/esm/ReExports/modules.js +10 -87
  46. package/esm/ReExports/registry.d.ts +1 -0
  47. package/esm/ReExports/registry.js +23 -5
  48. package/esm/ReExports/uiStub.d.ts +2 -1
  49. package/esm/ReExports/uiStub.js +24 -2
  50. package/esm/ReExports/workerModules.js +8 -12
  51. package/esm/TextSearch/TextSearchManager.d.ts +3 -12
  52. package/esm/TextSearch/TextSearchManager.js +22 -10
  53. package/esm/assemblyManager/assembly.d.ts +10 -14
  54. package/esm/assemblyManager/assembly.js +10 -14
  55. package/esm/assemblyManager/assemblyConfigSchema.d.ts +23 -81
  56. package/esm/assemblyManager/assemblyManager.d.ts +10 -16
  57. package/esm/assemblyManager/assemblyManager.js +7 -10
  58. package/esm/assemblyManager/loadRefNameMap.js +3 -3
  59. package/esm/configuration/configurationSchema.d.ts +75 -31
  60. package/esm/configuration/configurationSchema.js +74 -40
  61. package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
  62. package/esm/configuration/configurationSchemaUnion.js +59 -0
  63. package/esm/configuration/configurationSlot.d.ts +37 -12
  64. package/esm/configuration/configurationSlot.js +83 -22
  65. package/esm/configuration/formatAboutConfigSchema.d.ts +7 -21
  66. package/esm/configuration/formatDetailsConfigSchema.d.ts +11 -37
  67. package/esm/configuration/formatDetailsConfigSchema.js +10 -13
  68. package/esm/configuration/getConf.d.ts +17 -9
  69. package/esm/configuration/getConf.js +52 -7
  70. package/esm/configuration/index.d.ts +11 -4
  71. package/esm/configuration/index.js +7 -4
  72. package/esm/configuration/mergeFormatCallbacks.d.ts +6 -7
  73. package/esm/configuration/mergeFormatCallbacks.js +13 -10
  74. package/esm/configuration/readConfObject.d.ts +2 -22
  75. package/esm/configuration/readConfObject.js +15 -49
  76. package/esm/configuration/requirements.d.ts +37 -0
  77. package/esm/configuration/requirements.js +88 -0
  78. package/esm/configuration/schemaRegistry.d.ts +21 -1
  79. package/esm/configuration/schemaRegistry.js +11 -0
  80. package/esm/configuration/schemaTypes.d.ts +3 -0
  81. package/esm/configuration/schemaTypes.js +10 -0
  82. package/esm/configuration/slotFacade.d.ts +35 -4
  83. package/esm/configuration/slotFacade.js +96 -9
  84. package/esm/configuration/snapshotPreprocess.d.ts +27 -0
  85. package/esm/configuration/snapshotPreprocess.js +102 -0
  86. package/esm/configuration/types.d.ts +161 -22
  87. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +2 -2
  88. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +11 -2
  89. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +12 -1
  90. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +2 -3
  91. package/esm/data_adapters/BaseAdapter/featureDensity.js +2 -3
  92. package/esm/data_adapters/BaseAdapter/index.d.ts +22 -3
  93. package/esm/data_adapters/BaseAdapter/types.d.ts +3 -4
  94. package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
  95. package/esm/data_adapters/BaseAdapter/zoomRange.js +1 -0
  96. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +9 -11
  97. package/esm/data_adapters/getSequenceSubAdapter.d.ts +1 -3
  98. package/esm/data_adapters/getSequenceSubAdapter.js +1 -3
  99. package/esm/pluggableElementTypes/AdapterType.d.ts +7 -7
  100. package/esm/pluggableElementTypes/RpcMethodType.d.ts +1 -1
  101. package/esm/pluggableElementTypes/RpcMethodType.js +3 -8
  102. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +1 -2
  103. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
  104. package/esm/pluggableElementTypes/index.d.ts +1 -1
  105. package/esm/pluggableElementTypes/index.js +1 -1
  106. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +17 -7
  107. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +45 -48
  108. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +40 -36
  109. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +10 -13
  110. package/esm/pluggableElementTypes/models/BaseTrackModel.js +6 -6
  111. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +37 -17
  112. package/esm/pluggableElementTypes/models/BaseViewModel.js +25 -10
  113. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +26 -16
  114. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +1 -1
  115. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -18
  116. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +5 -5
  117. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +26 -31
  118. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +57 -141
  119. package/esm/pluggableElementTypes/models/baseTrackConfig.js +22 -26
  120. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
  121. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +3 -4
  122. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +3 -3
  123. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +15 -7
  124. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +38 -29
  125. package/esm/pluggableElementTypes/models/index.d.ts +1 -2
  126. package/esm/pluggableElementTypes/models/index.js +1 -2
  127. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +3 -3
  128. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +4 -4
  129. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +3 -3
  130. package/esm/rpc/BaseRpcDriver.d.ts +1 -2
  131. package/esm/rpc/BaseRpcDriver.js +23 -30
  132. package/esm/rpc/MainThreadRpcDriver.d.ts +2 -2
  133. package/esm/rpc/MainThreadRpcDriver.js +13 -8
  134. package/esm/rpc/RpcClient.d.ts +17 -6
  135. package/esm/rpc/RpcClient.js +42 -12
  136. package/esm/rpc/RpcManager.d.ts +8 -10
  137. package/esm/rpc/RpcManager.js +1 -1
  138. package/esm/rpc/RpcRegistry.d.ts +8 -2
  139. package/esm/rpc/RpcServer.d.ts +3 -1
  140. package/esm/rpc/RpcServer.js +19 -12
  141. package/esm/rpc/WebWorkerRpcDriver.d.ts +3 -3
  142. package/esm/rpc/WebWorkerRpcDriver.js +9 -47
  143. package/esm/rpc/byteBudget.d.ts +3 -5
  144. package/esm/rpc/byteBudget.js +4 -4
  145. package/esm/rpc/configSchema.d.ts +7 -21
  146. package/esm/rpc/coreRpcMethods.d.ts +1 -0
  147. package/esm/rpc/coreRpcMethods.js +1 -0
  148. package/esm/rpc/methods/CoreEncodeFeatures.d.ts +6 -5
  149. package/esm/rpc/methods/CoreEncodeFeatures.js +26 -31
  150. package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
  151. package/esm/rpc/methods/CoreGetEncodedFeature.js +31 -0
  152. package/esm/rpc/methods/CoreGetExportData.js +2 -2
  153. package/esm/rpc/methods/CoreGetFeatureDensity.js +2 -2
  154. package/esm/rpc/methods/CoreGetFeatures.js +2 -2
  155. package/esm/rpc/methods/CoreGetSequence.js +2 -2
  156. package/esm/rpc/methods/layerFeatures.d.ts +26 -0
  157. package/esm/rpc/methods/layerFeatures.js +40 -0
  158. package/esm/svg/SvgExport.js +3 -4
  159. package/esm/svg/SvgThemeProviders.d.ts +12 -0
  160. package/esm/svg/SvgThemeProviders.js +15 -0
  161. package/esm/svg/exportViewSvg.d.ts +32 -0
  162. package/esm/svg/exportViewSvg.js +13 -0
  163. package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
  164. package/esm/svg/normalizeSvgMarkup.js +99 -0
  165. package/esm/svg/serializeSvg.d.ts +7 -0
  166. package/esm/svg/serializeSvg.js +11 -0
  167. package/esm/svg/svgReady.d.ts +8 -7
  168. package/esm/svg/svgReady.js +8 -7
  169. package/esm/svg/trackNames.d.ts +5 -5
  170. package/esm/svg/trackNames.js +6 -6
  171. package/esm/svg/wrapSvgExport.js +6 -74
  172. package/esm/ui/CascadingMenu.js +83 -86
  173. package/esm/ui/ErrorMessageStackTraceDialog.js +0 -5
  174. package/esm/ui/FileSelector/useInternetAccounts.d.ts +156 -96
  175. package/esm/ui/HoverMenu.d.ts +1 -2
  176. package/esm/ui/HoverMenu.js +6 -3
  177. package/esm/ui/JexlFilterDialog.d.ts +13 -10
  178. package/esm/ui/JexlFilterDialog.js +122 -49
  179. package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
  180. package/esm/ui/JexlFilterRowEditors.js +90 -0
  181. package/esm/ui/LazyBaseTooltip.d.ts +4 -0
  182. package/esm/ui/LazyBaseTooltip.js +9 -0
  183. package/esm/ui/LoadingOverlay.js +3 -1
  184. package/esm/ui/MonospaceTextField.d.ts +2 -1
  185. package/esm/ui/MonospaceTextField.js +21 -19
  186. package/esm/ui/PaletteContext.d.ts +7 -9
  187. package/esm/ui/PaletteContext.js +24 -10
  188. package/esm/ui/RefNameAutocomplete/index.d.ts +1 -2
  189. package/esm/ui/RefNameAutocomplete/index.js +1 -1
  190. package/esm/ui/ScrollChrome.d.ts +6 -9
  191. package/esm/ui/ScrollChrome.js +5 -6
  192. package/esm/ui/ScrollEdgeShadow.d.ts +6 -9
  193. package/esm/ui/ScrollEdgeShadow.js +9 -24
  194. package/esm/ui/SettingsChangesTable.js +3 -3
  195. package/esm/ui/VerticalScrollbar.d.ts +13 -34
  196. package/esm/ui/VerticalScrollbar.js +29 -83
  197. package/esm/ui/ViewLoadingScreen.d.ts +2 -2
  198. package/esm/ui/ViewLoadingScreen.js +3 -3
  199. package/esm/ui/colorScale.d.ts +26 -1
  200. package/esm/ui/colorScale.js +28 -5
  201. package/esm/ui/colors.d.ts +49 -1
  202. package/esm/ui/colors.js +139 -4
  203. package/esm/ui/hoverBoxStyle.d.ts +14 -2
  204. package/esm/ui/hoverBoxStyle.js +17 -2
  205. package/esm/ui/index.d.ts +5 -3
  206. package/esm/ui/index.js +9 -7
  207. package/esm/ui/launchViewMenu.js +3 -3
  208. package/esm/ui/legendSpec.d.ts +2 -0
  209. package/esm/ui/legendSpec.js +3 -0
  210. package/esm/ui/palette.d.ts +0 -1
  211. package/esm/ui/palette.js +3 -27
  212. package/esm/ui/replaceViewAction.d.ts +1 -1
  213. package/esm/ui/replaceViewAction.js +1 -1
  214. package/esm/ui/theme.d.ts +1 -1
  215. package/esm/ui/theme.js +6 -40
  216. package/esm/ui/viewHeaderHeight.d.ts +1 -0
  217. package/esm/ui/viewHeaderHeight.js +1 -0
  218. package/esm/util/Base1DUtils.d.ts +1 -1
  219. package/esm/util/Base1DUtils.js +2 -2
  220. package/esm/util/SvgCanvas.d.ts +15 -13
  221. package/esm/util/SvgCanvas.js +72 -53
  222. package/esm/util/aborting.d.ts +39 -0
  223. package/esm/util/aborting.js +84 -0
  224. package/esm/util/adapterMetadata.d.ts +1 -1
  225. package/esm/util/adapterMetadata.js +6 -6
  226. package/esm/util/addAndShowTrack.d.ts +1 -4
  227. package/esm/util/addRelativeUris.d.ts +10 -2
  228. package/esm/util/addRelativeUris.js +22 -7
  229. package/esm/util/addTrackFromWidget.d.ts +2 -5
  230. package/esm/util/animationAllowed.d.ts +9 -0
  231. package/esm/util/animationAllowed.js +13 -0
  232. package/esm/util/applyRowResizeWheel.d.ts +10 -5
  233. package/esm/util/applyRowResizeWheel.js +10 -21
  234. package/esm/util/bandLayout.d.ts +4 -4
  235. package/esm/util/bandLayout.js +4 -4
  236. package/esm/util/bezierConnector.js +5 -4
  237. package/esm/util/bgzfWorkerPool.d.ts +20 -74
  238. package/esm/util/bgzfWorkerPool.js +20 -74
  239. package/esm/util/cachedSetup.d.ts +1 -1
  240. package/esm/util/cachedSetup.js +2 -2
  241. package/esm/util/categoricalField.d.ts +37 -0
  242. package/esm/util/categoricalField.js +52 -0
  243. package/esm/util/color/cssColorsLevel4.d.ts +1 -0
  244. package/esm/util/color/cssColorsLevel4.js +1 -0
  245. package/esm/util/color/index.d.ts +5 -3
  246. package/esm/util/color/index.js +7 -4
  247. package/esm/util/colorBits.d.ts +1 -2
  248. package/esm/util/colorBits.js +17 -39
  249. package/esm/util/colorRamp.d.ts +27 -1
  250. package/esm/util/colorRamp.js +56 -2
  251. package/esm/util/colorSchemes.d.ts +9 -0
  252. package/esm/util/colorSchemes.js +7 -0
  253. package/esm/util/{createStopTokenRotation.d.ts → createAbortRotation.d.ts} +11 -14
  254. package/esm/util/{createStopTokenRotation.js → createAbortRotation.js} +14 -26
  255. package/esm/util/cssColorParse.d.ts +15 -0
  256. package/esm/util/cssColorParse.js +53 -0
  257. package/esm/util/diagonalizeRegions.d.ts +2 -3
  258. package/esm/util/diagonalizeRegions.js +7 -12
  259. package/esm/util/expandLooseSearchIndex.d.ts +7 -0
  260. package/esm/util/expandLooseSearchIndex.js +25 -0
  261. package/esm/util/featureTransforms.d.ts +30 -3
  262. package/esm/util/featureTransforms.js +233 -36
  263. package/esm/util/fetchAndMaybeUnzip.js +5 -6
  264. package/esm/util/fetchContext.d.ts +5 -6
  265. package/esm/util/fetchContext.js +1 -1
  266. package/esm/util/fetchHub.d.ts +3 -1
  267. package/esm/util/fetchHub.js +2 -2
  268. package/esm/util/fetchSeq.d.ts +2 -3
  269. package/esm/util/fetchSeq.js +2 -2
  270. package/esm/util/fieldReader.d.ts +17 -0
  271. package/esm/util/fieldReader.js +62 -0
  272. package/esm/util/groupKeys.d.ts +75 -0
  273. package/esm/util/groupKeys.js +152 -0
  274. package/esm/util/highlights.d.ts +6 -4
  275. package/esm/util/highlights.js +12 -25
  276. package/esm/util/hooks.d.ts +1 -2
  277. package/esm/util/hooks.js +1 -2
  278. package/esm/util/index.d.ts +3 -3
  279. package/esm/util/index.js +4 -3
  280. package/esm/util/indexCandidates.js +1 -1
  281. package/esm/util/installFetch.d.ts +13 -10
  282. package/esm/util/installFetch.js +11 -10
  283. package/esm/util/installPrerequisiteFetch.d.ts +5 -3
  284. package/esm/util/installPrerequisiteFetch.js +3 -4
  285. package/esm/util/io/index.js +12 -12
  286. package/esm/util/isDataCurrent.d.ts +7 -5
  287. package/esm/util/isDataCurrent.js +9 -6
  288. package/esm/util/jexl.js +24 -21
  289. package/esm/util/jexlFilterRows.d.ts +89 -0
  290. package/esm/util/jexlFilterRows.js +252 -0
  291. package/esm/util/jexlFilters.d.ts +7 -5
  292. package/esm/util/jexlStrings.d.ts +3 -4
  293. package/esm/util/jexlStrings.js +2 -3
  294. package/esm/util/legendCandidates.d.ts +31 -27
  295. package/esm/util/legendCandidates.js +79 -53
  296. package/esm/util/localStorage.js +4 -4
  297. package/esm/util/markEncoding.d.ts +32 -16
  298. package/esm/util/markEncoding.js +177 -150
  299. package/esm/util/markEncodingTypes.d.ts +137 -66
  300. package/esm/util/mstUtils.d.ts +19 -22
  301. package/esm/util/mstUtils.js +19 -22
  302. package/esm/util/numericUtils.d.ts +7 -0
  303. package/esm/util/numericUtils.js +16 -0
  304. package/esm/util/numericValue.d.ts +14 -0
  305. package/esm/util/numericValue.js +34 -0
  306. package/esm/util/openFeatureWidget.js +1 -2
  307. package/esm/util/openViews.d.ts +1 -0
  308. package/esm/util/openViews.js +3 -3
  309. package/esm/util/parseLineByLine.d.ts +3 -4
  310. package/esm/util/parseLineByLine.js +7 -13
  311. package/esm/util/progress.d.ts +21 -21
  312. package/esm/util/progress.js +27 -26
  313. package/esm/util/renameRegions.d.ts +1 -2
  314. package/esm/util/renderToStaticMarkup.js +16 -16
  315. package/esm/util/rxjs.d.ts +7 -8
  316. package/esm/util/rxjs.js +12 -15
  317. package/esm/util/simpleFeature.d.ts +0 -1
  318. package/esm/util/svgColorProps.d.ts +11 -0
  319. package/esm/util/svgColorProps.js +28 -1
  320. package/esm/util/tabix.d.ts +3 -4
  321. package/esm/util/tabix.js +6 -7
  322. package/esm/util/thresholdScale.d.ts +54 -0
  323. package/esm/util/thresholdScale.js +112 -0
  324. package/esm/util/timeGate.d.ts +4 -5
  325. package/esm/util/timeGate.js +4 -5
  326. package/esm/util/trackConfigDelta.d.ts +22 -18
  327. package/esm/util/trackConfigDelta.js +40 -38
  328. package/esm/util/tracks.d.ts +27 -4
  329. package/esm/util/tracks.js +116 -43
  330. package/esm/util/translateTranscript.d.ts +44 -0
  331. package/esm/util/translateTranscript.js +102 -0
  332. package/esm/util/types/index.d.ts +19 -7
  333. package/esm/util/types/services.d.ts +1 -1
  334. package/esm/util/unknownSnapshotKeys.d.ts +15 -0
  335. package/esm/util/unknownSnapshotKeys.js +13 -0
  336. package/esm/util/useFeatureSequence.js +4 -4
  337. package/esm/util/useFetch.d.ts +3 -4
  338. package/esm/util/useFetch.js +5 -6
  339. package/esm/util/usePanelVirtualScroll.d.ts +7 -39
  340. package/esm/util/usePanelVirtualScroll.js +9 -40
  341. package/esm/util/useRowVirtualScroll.d.ts +6 -29
  342. package/esm/util/useRowVirtualScroll.js +8 -49
  343. package/esm/util/useVirtualScrollWheel.d.ts +20 -4
  344. package/esm/util/useVirtualScrollWheel.js +40 -84
  345. package/esm/util/viewHighlights.d.ts +3 -0
  346. package/esm/util/viewHighlights.js +5 -0
  347. package/esm/util/viewStatus.d.ts +24 -15
  348. package/esm/util/viewStatus.js +17 -0
  349. package/esm/util/withLaunchInput.d.ts +1 -1
  350. package/esm/util/withLaunchInput.js +0 -4
  351. package/package.json +26 -12
  352. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
  353. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
  354. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
  355. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
  356. package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
  357. package/esm/ReExports/BaseFeatureDetails.js +0 -10
  358. package/esm/ReExports/barrelOnlyNames.d.ts +0 -5
  359. package/esm/ReExports/barrelOnlyNames.js +0 -63
  360. package/esm/ReExports/index.d.ts +0 -1
  361. package/esm/ReExports/index.js +0 -1
  362. package/esm/ReExports/publicTracks.d.ts +0 -1
  363. package/esm/ReExports/publicTracks.js +0 -14
  364. package/esm/ReExports/publicUi.d.ts +0 -4
  365. package/esm/ReExports/publicUi.js +0 -33
  366. package/esm/ReExports/publicUtil.d.ts +0 -1
  367. package/esm/ReExports/publicUtil.js +0 -32
  368. package/esm/ReExports/sharedModules.d.ts +0 -96
  369. package/esm/ReExports/sharedModules.js +0 -66
  370. package/esm/ReExports/workerNamespaceNames.d.ts +0 -11
  371. package/esm/ReExports/workerNamespaceNames.js +0 -275
  372. package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +0 -51
  373. package/esm/pluggableElementTypes/models/HighlightsMixin.js +0 -78
  374. package/esm/ui/highlightChipReveal.d.ts +0 -32
  375. package/esm/ui/highlightChipReveal.js +0 -39
  376. package/esm/util/adapterConfigKey.d.ts +0 -12
  377. package/esm/util/adapterConfigKey.js +0 -14
  378. package/esm/util/stopToken.d.ts +0 -212
  379. package/esm/util/stopToken.js +0 -438
@@ -1,105 +1,61 @@
1
- import { useCallback, useEffect, useMemo, useRef } from 'react';
1
+ import { useEffect, useMemo, useRef } from 'react';
2
2
  import { createFrameCoalescer } from './frameCoalescer.js';
3
3
  import { trackPointerPresence } from './pointerPresence.js';
4
4
  import { createScrollLatch } from './scrollLatch.js';
5
5
  import { useEventCallback } from './useEventCallback.js';
6
6
  import { normalizeWheelDelta } from './wheelZoom.js';
7
- // Whether the wheel landed inside something within the panel that runs its own
8
- // gestures — JBrowse's `[data-gesture-owner]` marker, the same one the LGV's
9
- // click-drag pan and MAF's drag-selection test for. A panel spans its overlays
10
- // now, and a few of those are controls rather than content: the display's own
11
- // `VerticalScrollbar` (which scrolls the panel itself, from its own listener),
12
- // the pileup's band resize handles, a floating legend. Those keep the gesture
13
- // they already had instead of being absorbed the moment the panel grew to cover
14
- // them.
15
- //
16
- // The marker element ITSELF is a panel at the one call site that is one — the
17
- // scrollbar binds this hook to its own marked track — so an owner that IS the
18
- // panel does not count. Nor does one ABOVE it: `TrackContainer` stamps the
19
- // marker once for its whole overlay layer, and `closest` walking out of the
20
- // panel into that would otherwise disown every wheel a display gets.
7
+ // An owner that IS the panel (the scrollbar binds this hook to its own marked
8
+ // track) or sits ABOVE it (`TrackContainer` marks its whole overlay layer) does
9
+ // not count.
21
10
  function claimedInside(panel, target) {
22
11
  const owner = target instanceof Element ? target.closest('[data-gesture-owner]') : null;
23
12
  return owner !== null && owner !== panel && panel.contains(owner);
24
13
  }
25
- // Non-passive wheel wiring for a canvas-backed virtual scroll (no DOM overflow
26
- // container to self-correct). Owns the latch, the per-frame coalescing, and the
27
- // listener lifecycle, and hands the caller an `applyScroll` that runs the latch
28
- // + schedules the commit. The gesture guards (scrollZoom, ctrl/meta,
29
- // shift-to-resize) differ per display and so stay in the caller; this
30
- // centralizes the mechanical latch + listener + rAF boilerplate shared by the
31
- // alignments pileup, the variant matrix, and the canvas display.
32
- //
33
- // **Bind this to the panel, not to the `<canvas>`.** A canvas cannot hold DOM
34
- // children, so every overlay a display draws over it — floating feature labels,
35
- // group chips, sashimi arcs — is a positioned SIBLING, and the ones that answer
36
- // the pointer (`pointerEvents: 'auto'`, because they are clickable) are what a
37
- // wheel event over them targets. That event bubbles past the canvas entirely, so
38
- // a listener bound to the canvas never sees it and the gesture falls through to
39
- // the page mid-scroll. Bound to the element containing both, the wheel is the
40
- // panel's wherever inside it the cursor happens to be. `trackPointerPresence`
41
- // below keys off the same element, and `mouseenter`/`mouseleave` ignore
42
- // descendant transitions — so crossing onto an overlay no longer reads as
43
- // leaving the panel either.
44
- //
45
- // What keeps a panel safe to widen is `claimedInside` above: it covers its
46
- // overlays, and yields the ones that run gestures of their own.
47
- export function useVirtualScrollWheel(panel,
48
- // `el` is the element the listener is bound to, handed back non-null: a
49
- // gesture measuring against its own box (the row-resize pin) would otherwise
50
- // re-assert the nullable it was passed, at the one call site that cannot be
51
- // reached with a null.
52
- onWheel) {
14
+ /**
15
+ * Non-passive wheel wiring for a canvas-backed virtual scroll. Owns the scroll
16
+ * latch (and so `preventDefault`), per-frame coalescing of `setScrollTop`, and
17
+ * the listener lifecycle. `onWheel` decides what the gesture means and calls
18
+ * `scroll` when it means scrolling `model`.
19
+ *
20
+ * **Bind this to the panel, not to the `<canvas>`.** A canvas holds no DOM
21
+ * children, so the clickable overlays drawn over it are siblings, and a wheel
22
+ * over one never reaches a listener on the canvas. Overlays that run their own
23
+ * gestures opt out with `[data-gesture-owner]`.
24
+ */
25
+ export function useVirtualScrollWheel(panel, model, onWheel) {
53
26
  const latch = useMemo(() => createScrollLatch(), []);
54
27
  const frame = useMemo(() => createFrameCoalescer(), []);
55
- // The latched scroll position as it advances across one frame's events. The
56
- // latch reads this, not the model, so its boundary/preventDefault decision
57
- // sees monotonically advancing offsets and no delta is lost to a
58
- // not-yet-committed model read.
28
+ // The offset as it advances across one frame's events, so the latch sees
29
+ // every delta before the model has committed any of them.
59
30
  const runningRef = useRef(0);
60
- const applyScroll = useCallback((e, { scrollTop, viewportHeight, scrollableHeight }, commit) => {
61
- // Each handler takes the gesture whose dominant axis is its own: a
62
- // sideways swipe belongs to the view's pan, and consuming its small
63
- // vertical component would both drift the panel and — since consuming
64
- // means preventDefault, which is how the view knows to stay out — kill
65
- // the pan the user actually asked for. A tie is vertical, matching the
66
- // view's own zoom-vs-pan tie-break. Raw deltas, because both axes of one
67
- // event share a deltaMode. `holds` is what keeps this from cutting a
68
- // gesture in half: once the panel has latched, the sideways momentum
69
- // trailing a vertical scroll stays with the panel.
70
- const sideways = Math.abs(e.deltaX) > Math.abs(e.deltaY);
71
- if (scrollableHeight <= 0 || (sideways && !latch.holds(e))) {
72
- return;
73
- }
74
- // A fresh frame (nothing pending) re-syncs to the model's live scrollTop;
75
- // within a frame `running` keeps advancing from the last latched offset.
76
- if (!frame.pending) {
77
- runningRef.current = scrollTop;
78
- }
79
- const dy = normalizeWheelDelta(e.deltaY, e.deltaMode, viewportHeight);
80
- const next = latch.scroll(e, runningRef.current, dy, scrollableHeight);
81
- if (next !== null) {
82
- runningRef.current = next;
83
- // The first move of a frame schedules the commit; later moves only
84
- // advance `running`, so the frame ends with a single setScrollTop (one
85
- // repaint) carrying the accumulated offset.
86
- frame.schedule(() => {
87
- commit(runningRef.current);
88
- });
89
- }
90
- }, [latch, frame]);
91
31
  const handleWheel = useEventCallback((e, el) => {
92
- onWheel(e, applyScroll, el);
32
+ onWheel(e, () => {
33
+ // A sideways-dominant gesture is the view's pan unless this panel has
34
+ // already latched it; ties go vertical, as in the view.
35
+ const sideways = Math.abs(e.deltaX) > Math.abs(e.deltaY);
36
+ const { scrollableHeight, scrollViewportHeight } = model;
37
+ if (scrollableHeight <= 0 || (sideways && !latch.holds(e))) {
38
+ return;
39
+ }
40
+ if (!frame.pending) {
41
+ runningRef.current = model.scrollTop;
42
+ }
43
+ const dy = normalizeWheelDelta(e.deltaY, e.deltaMode, scrollViewportHeight);
44
+ const next = latch.scroll(e, runningRef.current, dy, scrollableHeight);
45
+ if (next !== null) {
46
+ runningRef.current = next;
47
+ frame.schedule(() => {
48
+ model.setScrollTop(runningRef.current);
49
+ });
50
+ }
51
+ }, el);
93
52
  });
94
53
  useEffect(() => {
95
54
  if (!panel) {
96
55
  return undefined;
97
56
  }
98
- // Ignore wheel events the browser keeps latching to this panel once the
99
- // pointer has left (see trackPointerPresence): let them chain to the page
100
- // and reset the latch so the next in-panel gesture starts clean. Without
101
- // this the panel stays stuck to per-track scroll after the mouse has left —
102
- // worst in embedded, where the outer page is the thing that should scroll.
57
+ // The browser keeps targeting a gesture at the element it began on after
58
+ // the pointer leaves; release those to the page.
103
59
  const presence = trackPointerPresence(panel, () => {
104
60
  latch.reset();
105
61
  });
@@ -0,0 +1,3 @@
1
+ import type { HighlightType } from './highlights.ts';
2
+ import type { AssemblyNameResolver } from './tracks.ts';
3
+ export declare function highlightsOnAssemblies(highlights: readonly HighlightType[], assemblyNames: Iterable<string>, assemblyManager: AssemblyNameResolver): HighlightType[];
@@ -0,0 +1,5 @@
1
+ import { isSameAssemblyName } from './tracks.js';
2
+ export function highlightsOnAssemblies(highlights, assemblyNames, assemblyManager) {
3
+ const names = [...assemblyNames];
4
+ return highlights.filter(h => names.some(a => isSameAssemblyName(a, h.assemblyName, assemblyManager)));
5
+ }
@@ -1,13 +1,27 @@
1
+ /**
2
+ * What a view's loading screen says: the label, the determinate fraction when
3
+ * the load reports one, and the URL being fetched when the phase named one.
4
+ */
5
+ export interface ViewLoading {
6
+ message: string;
7
+ progress: number | undefined;
8
+ source?: string;
9
+ }
10
+ interface LoadingAssembly {
11
+ statusMessage?: string;
12
+ statusProgress?: number;
13
+ statusSource?: string;
14
+ }
15
+ /**
16
+ * A view's `loading` getter: undefined unless `showLoading`, and otherwise read
17
+ * off the assembly whose load is the wait. The assembly is a thunk because its
18
+ * status ticks while a file is in flight, and a view that is not loading should
19
+ * not subscribe to it.
20
+ */
21
+ export declare function viewLoading(showLoading: boolean, assembly: () => LoadingAssembly | undefined): ViewLoading | undefined;
1
22
  /**
2
23
  * The mutually-exclusive lifecycle state of a view, as one value.
3
24
  *
4
- * A view answers this question through nine getters today — `ready`, `error`,
5
- * `initialized`, `showLoading`, `showImportForm`, `hasSomethingToShow`,
6
- * `loadingMessage`, `loadingProgress`, `assemblyErrors` — and a host reading
7
- * them has to re-derive the precedence by subtraction, which is the mistake
8
- * `computeDisplayPhase` was written to stop one level down. `view.ready` **is**
9
- * that subtraction: `!showLoading && !this.error`.
10
- *
11
25
  * The payload travels with the branch, so a caller cannot read a loading
12
26
  * message out of a failed view or an error out of a healthy one.
13
27
  */
@@ -16,11 +30,9 @@ export type ViewStatus = {
16
30
  } | {
17
31
  type: 'error';
18
32
  error: unknown;
19
- } | {
33
+ } | ({
20
34
  type: 'loading';
21
- message: string;
22
- progress: number | undefined;
23
- } | {
35
+ } & ViewLoading) | {
24
36
  type: 'noRegions';
25
37
  };
26
38
  export interface ViewStatusInputs {
@@ -40,10 +52,7 @@ export interface ViewStatusInputs {
40
52
  * would make every reader of a *ready* view subscribe to a churning
41
53
  * observable it never displays.
42
54
  */
43
- loading: () => {
44
- message: string;
45
- progress: number | undefined;
46
- } | undefined;
55
+ loading: () => ViewLoading | undefined;
47
56
  }
48
57
  /**
49
58
  * Precedence is `error` > `noRegions` > `loading` > `ready`, in one place,
@@ -1,3 +1,20 @@
1
+ /**
2
+ * A view's `loading` getter: undefined unless `showLoading`, and otherwise read
3
+ * off the assembly whose load is the wait. The assembly is a thunk because its
4
+ * status ticks while a file is in flight, and a view that is not loading should
5
+ * not subscribe to it.
6
+ */
7
+ export function viewLoading(showLoading, assembly) {
8
+ if (!showLoading) {
9
+ return undefined;
10
+ }
11
+ const asm = assembly();
12
+ return {
13
+ message: asm?.statusMessage || 'Loading',
14
+ progress: asm?.statusProgress,
15
+ source: asm?.statusSource,
16
+ };
17
+ }
1
18
  /**
2
19
  * Precedence is `error` > `noRegions` > `loading` > `ready`, in one place,
3
20
  * rather than re-encoded by subtraction in each view and again in each host.
@@ -39,7 +39,7 @@ export interface LaunchInputOptions<M extends IAnyModelType> {
39
39
  * property, and a copy rides in the blob so the launcher can run the ordered
40
40
  * imperative step the property write alone does not produce.
41
41
  */
42
- export type LaunchKeyKind = 'launch' | 'trackEntries' | 'rows' | 'highlightEntries' | 'replay';
42
+ export type LaunchKeyKind = 'launch' | 'trackEntries' | 'rows' | 'replay';
43
43
  export interface LaunchKeySpec {
44
44
  kind: LaunchKeyKind;
45
45
  }
@@ -67,10 +67,6 @@ function isRecipeEntry(kind, entry) {
67
67
  // declare it. `type` does not discriminate: a spec writes display types
68
68
  // inline
69
69
  return (typeof entry === 'string' || (isObject(entry) && 'trackId' in entry));
70
- case 'highlightEntries':
71
- // a string needs coerceHighlight and the assembly manager, neither of
72
- // which a pure preprocessor can reach; an object is the persisted shape
73
- return typeof entry === 'string';
74
70
  case 'rows':
75
71
  // a built row is a view snapshot, and every view's `type` is a required
76
72
  // literal
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "5.0.0-beta.7",
3
+ "version": "5.0.0-beta.9",
4
4
  "type": "module",
5
5
  "description": "JBrowse 2 core libraries used by plugins",
6
6
  "keywords": [
@@ -34,6 +34,8 @@
34
34
  "./ReExports/list": "./esm/ReExports/list.js",
35
35
  "./ReExports/modules": "./esm/ReExports/modules.js",
36
36
  "./ReExports/registry": "./esm/ReExports/registry.js",
37
+ "./ReExports/uiStub": "./esm/ReExports/uiStub.js",
38
+ "./ReExports/workerModules": "./esm/ReExports/workerModules.js",
37
39
  "./TextSearch/BaseResults": "./esm/TextSearch/BaseResults.js",
38
40
  "./TextSearch/TextSearchManager": "./esm/TextSearch/TextSearchManager.js",
39
41
  "./assemblyManager": "./esm/assemblyManager/index.js",
@@ -46,6 +48,7 @@
46
48
  "./data_adapters/BaseAdapter/getAdapterId": "./esm/data_adapters/BaseAdapter/getAdapterId.js",
47
49
  "./data_adapters/BaseAdapter/stats": "./esm/data_adapters/BaseAdapter/stats.js",
48
50
  "./data_adapters/BaseAdapter/types": "./esm/data_adapters/BaseAdapter/types.js",
51
+ "./data_adapters/BaseAdapter/zoomRange": "./esm/data_adapters/BaseAdapter/zoomRange.js",
49
52
  "./data_adapters/adapterSessionRefcount": "./esm/data_adapters/adapterSessionRefcount.js",
50
53
  "./data_adapters/dataAdapterCache": "./esm/data_adapters/dataAdapterCache.js",
51
54
  "./data_adapters/getFeatureAdapter": "./esm/data_adapters/getFeatureAdapter.js",
@@ -65,7 +68,6 @@
65
68
  "./pluggableElementTypes/WidgetType": "./esm/pluggableElementTypes/WidgetType.js",
66
69
  "./pluggableElementTypes/models": "./esm/pluggableElementTypes/models/index.js",
67
70
  "./pluggableElementTypes/models/BaseViewModel": "./esm/pluggableElementTypes/models/BaseViewModel.js",
68
- "./pluggableElementTypes/models/HighlightsMixin": "./esm/pluggableElementTypes/models/HighlightsMixin.js",
69
71
  "./pluggableElementTypes/models/assertDisplayContract": "./esm/pluggableElementTypes/models/assertDisplayContract.js",
70
72
  "./pluggableElementTypes/models/baseConnectionConfig": "./esm/pluggableElementTypes/models/baseConnectionConfig.js",
71
73
  "./pluggableElementTypes/renderers/util/serializableFilterChain": "./esm/pluggableElementTypes/renderers/util/serializableFilterChain.js",
@@ -75,8 +77,11 @@
75
77
  "./rpc/WebWorkerRpcDriver": "./esm/rpc/WebWorkerRpcDriver.js",
76
78
  "./rpc/byteBudget": "./esm/rpc/byteBudget.js",
77
79
  "./svg/SvgExport": "./esm/svg/SvgExport.js",
80
+ "./svg/SvgThemeProviders": "./esm/svg/SvgThemeProviders.js",
78
81
  "./svg/constants": "./esm/svg/constants.js",
82
+ "./svg/exportViewSvg": "./esm/svg/exportViewSvg.js",
79
83
  "./svg/saveSvgAsImage": "./esm/svg/saveSvgAsImage.js",
84
+ "./svg/serializeSvg": "./esm/svg/serializeSvg.js",
80
85
  "./svg/svgId": "./esm/svg/svgId.js",
81
86
  "./svg/svgReady": "./esm/svg/svgReady.js",
82
87
  "./svg/trackNames": "./esm/svg/trackNames.js",
@@ -128,7 +133,6 @@
128
133
  "./ui/colors": "./esm/ui/colors.js",
129
134
  "./ui/filterMenuItems": "./esm/ui/filterMenuItems.js",
130
135
  "./ui/gpuFallback": "./esm/ui/gpuFallback.js",
131
- "./ui/highlightChipReveal": "./esm/ui/highlightChipReveal.js",
132
136
  "./ui/hoverBoxStyle": "./esm/ui/hoverBoxStyle.js",
133
137
  "./ui/legendSpec": "./esm/ui/legendSpec.js",
134
138
  "./ui/measureLegendText": "./esm/ui/measureLegendText.js",
@@ -150,10 +154,10 @@
150
154
  "./util/SvgCanvas": "./esm/util/SvgCanvas.js",
151
155
  "./util/TimeTraveller": "./esm/util/TimeTraveller.js",
152
156
  "./util/aborting": "./esm/util/aborting.js",
153
- "./util/adapterConfigKey": "./esm/util/adapterConfigKey.js",
154
157
  "./util/adapterMetadata": "./esm/util/adapterMetadata.js",
155
158
  "./util/addRelativeUris": "./esm/util/addRelativeUris.js",
156
159
  "./util/analytics": "./esm/util/analytics.js",
160
+ "./util/animationAllowed": "./esm/util/animationAllowed.js",
157
161
  "./util/assemblyConfigUtils": "./esm/util/assemblyConfigUtils.js",
158
162
  "./util/bandHeight": "./esm/util/bandHeight.js",
159
163
  "./util/bandLayout": "./esm/util/bandLayout.js",
@@ -162,23 +166,27 @@
162
166
  "./util/cacheBudgets": "./esm/util/cacheBudgets.js",
163
167
  "./util/calculateDynamicBlocks": "./esm/util/calculateDynamicBlocks.js",
164
168
  "./util/calculateStaticBlocks": "./esm/util/calculateStaticBlocks.js",
169
+ "./util/categoricalField": "./esm/util/categoricalField.js",
165
170
  "./util/chooseGridPitch": "./esm/util/chooseGridPitch.js",
166
171
  "./util/color": "./esm/util/color/index.js",
167
172
  "./util/colorBits": "./esm/util/colorBits.js",
168
173
  "./util/colorRamp": "./esm/util/colorRamp.js",
174
+ "./util/colorSchemes": "./esm/util/colorSchemes.js",
169
175
  "./util/colord": "./esm/util/colord.js",
170
176
  "./util/convertCodingSequenceToPeptides": "./esm/util/convertCodingSequenceToPeptides.js",
171
177
  "./util/copyText": "./esm/util/copyText.js",
172
- "./util/createStopTokenRotation": "./esm/util/createStopTokenRotation.js",
178
+ "./util/createAbortRotation": "./esm/util/createAbortRotation.js",
173
179
  "./util/createSvgRasterCanvas": "./esm/util/createSvgRasterCanvas.js",
174
180
  "./util/deepEqual": "./esm/util/deepEqual.js",
175
181
  "./util/deepMerge": "./esm/util/deepMerge.js",
176
182
  "./util/diagonalizeRegions": "./esm/util/diagonalizeRegions.js",
177
183
  "./util/eventPoint": "./esm/util/eventPoint.js",
184
+ "./util/expandLooseSearchIndex": "./esm/util/expandLooseSearchIndex.js",
178
185
  "./util/featureTransforms": "./esm/util/featureTransforms.js",
179
186
  "./util/fetchContext": "./esm/util/fetchContext.js",
180
187
  "./util/fetchHub": "./esm/util/fetchHub.js",
181
188
  "./util/fetchPhases": "./esm/util/fetchPhases.js",
189
+ "./util/fieldReader": "./esm/util/fieldReader.js",
182
190
  "./util/fileHandleStore": "./esm/util/fileHandleStore.js",
183
191
  "./util/flatbush": "./esm/util/flatbush/index.js",
184
192
  "./util/formatFastaStrings": "./esm/util/formatFastaStrings.js",
@@ -186,6 +194,8 @@
186
194
  "./util/freezeDeep": "./esm/util/freezeDeep.js",
187
195
  "./util/geneticCodes": "./esm/util/geneticCodes.js",
188
196
  "./util/getRelativeX": "./esm/util/getRelativeX.js",
197
+ "./util/glyphNames": "./esm/util/glyphNames.js",
198
+ "./util/groupKeys": "./esm/util/groupKeys.js",
189
199
  "./util/highlights": "./esm/util/highlights.js",
190
200
  "./util/hooks": "./esm/util/hooks.js",
191
201
  "./util/htmlText": "./esm/util/htmlText.js",
@@ -210,6 +220,7 @@
210
220
  "./util/localStorage": "./esm/util/localStorage.js",
211
221
  "./util/makeAssembly": "./esm/util/makeAssembly.js",
212
222
  "./util/markEncoding": "./esm/util/markEncoding.js",
223
+ "./util/measureText": "./esm/util/measureText.js",
213
224
  "./util/mst-reflection": "./esm/util/mst-reflection.js",
214
225
  "./util/mstUtils": "./esm/util/mstUtils.js",
215
226
  "./util/nanoid": "./esm/util/nanoid.js",
@@ -229,16 +240,18 @@
229
240
  "./util/simpleFeature": "./esm/util/simpleFeature.js",
230
241
  "./util/starFusion": "./esm/util/starFusion.js",
231
242
  "./util/stats": "./esm/util/stats.js",
232
- "./util/stopToken": "./esm/util/stopToken.js",
233
243
  "./util/svgColorProps": "./esm/util/svgColorProps.js",
234
244
  "./util/tabix": "./esm/util/tabix.js",
245
+ "./util/thresholdScale": "./esm/util/thresholdScale.js",
235
246
  "./util/tickLabels": "./esm/util/tickLabels.js",
236
247
  "./util/tracks": "./esm/util/tracks.js",
248
+ "./util/translateTranscript": "./esm/util/translateTranscript.js",
237
249
  "./util/tss-react": "./esm/util/tss-react/index.js",
238
250
  "./util/tss-react/types": "./esm/util/tss-react/types.js",
239
251
  "./util/types": "./esm/util/types/index.js",
240
252
  "./util/types/data": "./esm/util/types/data.js",
241
253
  "./util/types/mst": "./esm/util/types/mst.js",
254
+ "./util/unknownSnapshotKeys": "./esm/util/unknownSnapshotKeys.js",
242
255
  "./util/unzip": "./esm/util/unzip.js",
243
256
  "./util/useEventCallback": "./esm/util/useEventCallback.js",
244
257
  "./util/useFetch": "./esm/util/useFetch.js",
@@ -249,6 +262,7 @@
249
262
  "./util/usePointerDrag": "./esm/util/usePointerDrag.js",
250
263
  "./util/useResizeDrag": "./esm/util/useResizeDrag.js",
251
264
  "./util/useRowVirtualScroll": "./esm/util/useRowVirtualScroll.js",
265
+ "./util/viewHighlights": "./esm/util/viewHighlights.js",
252
266
  "./util/viewStatus": "./esm/util/viewStatus.js",
253
267
  "./util/virtualRange": "./esm/util/virtualRange.js",
254
268
  "./util/wheelZoom": "./esm/util/wheelZoom.js",
@@ -264,17 +278,17 @@
264
278
  "@emotion/serialize": "^1.3.3",
265
279
  "@emotion/utils": "^1.4.2",
266
280
  "@floating-ui/react": "^0.27.20",
267
- "@gmod/bgzf-filehandle": "^6.6.0",
281
+ "@gmod/bgzf-filehandle": "^6.7.0",
268
282
  "@gmod/range-cache-filehandle": "^1.4.0",
269
283
  "@gmod/shared-read-cache": "^1.7.2",
270
- "@jbrowse/jexl": "^4.0.1",
271
- "@jbrowse/mobx-state-tree": "^6.5.1",
284
+ "@jbrowse/jexl": "^5.0.2",
285
+ "@jbrowse/mobx-state-tree": "^6.5.2",
272
286
  "@jbrowse/quick-lru": "^7.3.5",
273
287
  "@leeoniya/ufuzzy": "^1.0.19",
274
288
  "@mui/icons-material": "^9.4.0",
275
289
  "@mui/material": "^9.4.0",
276
290
  "@mui/system": "^9.4.0",
277
- "@mui/x-data-grid": "^9.13.0",
291
+ "@mui/x-data-grid": "^9.14.0",
278
292
  "canvas-sequencer-ts": "^3.1.3",
279
293
  "compare-versions": "^6.1.1",
280
294
  "dompurify": "^3.4.15",
@@ -285,8 +299,8 @@
285
299
  "pako-esm2": "^2.0.2",
286
300
  "rxjs": "^7.8.2",
287
301
  "source-map-js": "^1.2.1",
288
- "@jbrowse/add-track-core": "^5.0.0-beta.7",
289
- "@jbrowse/render-core": "^5.0.0-beta.7"
302
+ "@jbrowse/add-track-core": "^5.0.0-beta.9",
303
+ "@jbrowse/render-core": "^5.0.0-beta.9"
290
304
  },
291
305
  "peerDependencies": {
292
306
  "react": ">=19.0.0",
@@ -1,80 +0,0 @@
1
- declare const _default: {
2
- source: string;
3
- type: string;
4
- start: number;
5
- end: number;
6
- strand: number;
7
- phase: number;
8
- refName: string;
9
- id: string;
10
- dbxref: string[];
11
- name: string;
12
- description: string;
13
- gbkey: string;
14
- gene: string;
15
- gene_biotype: string;
16
- gene_synonym: string[];
17
- subfeatures: {
18
- source: string;
19
- type: string;
20
- start: number;
21
- end: number;
22
- strand: number;
23
- phase: number;
24
- refName: string;
25
- id: string;
26
- parent: string;
27
- dbxref: string[];
28
- name: string;
29
- gbkey: string;
30
- gene: string;
31
- product: string;
32
- tag: string;
33
- transcript_id: string;
34
- subfeatures: ({
35
- source: string;
36
- type: string;
37
- start: number;
38
- end: number;
39
- strand: number;
40
- phase: number;
41
- refName: string;
42
- parent: string;
43
- dbxref: string[];
44
- gbkey: string;
45
- gene: string;
46
- product: string;
47
- tag: string;
48
- transcript_id: string;
49
- uniqueId: string;
50
- parentId: string;
51
- id?: undefined;
52
- name?: undefined;
53
- protein_id?: undefined;
54
- } | {
55
- transcript_id?: undefined;
56
- source: string;
57
- type: string;
58
- start: number;
59
- end: number;
60
- strand: number;
61
- phase: number;
62
- refName: string;
63
- id: string;
64
- parent: string;
65
- dbxref: string[];
66
- name: string;
67
- gbkey: string;
68
- gene: string;
69
- product: string;
70
- protein_id: string;
71
- tag: string;
72
- uniqueId: string;
73
- parentId: string;
74
- })[];
75
- uniqueId: string;
76
- parentId: string;
77
- }[];
78
- uniqueId: string;
79
- };
80
- export default _default;