@jbrowse/core 4.3.0 → 5.0.0-beta.10

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 (1265) hide show
  1. package/README.md +1994 -0
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +14 -3
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +36 -23
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +10 -7
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +124 -21
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +12 -1
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +19 -5
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +18 -23
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +9 -6
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +33 -30
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +19 -0
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +5 -3
  33. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +8 -6
  34. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  35. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
  36. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +7 -2
  37. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +15 -20
  38. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
  39. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +50 -0
  40. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -1
  41. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +9 -10
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +35 -24
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +3 -3
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
  57. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
  58. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
  59. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
  60. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
  61. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
  62. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
  63. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
  64. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
  65. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
  66. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
  67. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
  68. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  69. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
  70. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
  71. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +20 -0
  72. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
  73. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
  74. package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
  75. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +62 -63
  76. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +69 -59
  77. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
  78. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
  79. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
  80. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
  81. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
  82. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
  83. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
  84. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
  85. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
  86. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
  87. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
  88. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
  89. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
  90. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
  91. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
  92. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
  93. package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
  94. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
  95. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
  96. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
  97. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
  98. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
  99. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
  100. package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
  101. package/esm/BaseFeatureWidget/configSchema.js +1 -1
  102. package/esm/BaseFeatureWidget/formatDetails.d.ts +22 -0
  103. package/esm/BaseFeatureWidget/formatDetails.js +82 -0
  104. package/esm/BaseFeatureWidget/index.d.ts +4 -1
  105. package/esm/BaseFeatureWidget/index.js +2 -2
  106. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +102 -71
  107. package/esm/BaseFeatureWidget/stateModelFactory.js +162 -63
  108. package/esm/BaseFeatureWidget/types.d.ts +15 -8
  109. package/esm/BaseFeatureWidget/util.d.ts +2 -37
  110. package/esm/BaseFeatureWidget/util.js +4 -85
  111. package/esm/CorePlugin.js +12 -7
  112. package/esm/PhasedScheduler.d.ts +4 -2
  113. package/esm/PhasedScheduler.js +18 -2
  114. package/esm/Plugin.d.ts +6 -1
  115. package/esm/Plugin.js +7 -0
  116. package/esm/PluginLoader.d.ts +55 -44
  117. package/esm/PluginLoader.js +290 -90
  118. package/esm/PluginManager.d.ts +476 -57
  119. package/esm/PluginManager.js +480 -91
  120. package/esm/ReExports/MuiDataGridReExports.d.ts +3 -2
  121. package/esm/ReExports/MuiDataGridReExports.js +58 -130
  122. package/esm/ReExports/MuiReExports.d.ts +3 -134
  123. package/esm/ReExports/MuiReExports.js +43 -16
  124. package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
  125. package/esm/ReExports/MuiStylesReExports.js +55 -0
  126. package/esm/ReExports/coreModules.generated.d.ts +2 -0
  127. package/esm/ReExports/coreModules.generated.js +528 -0
  128. package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
  129. package/esm/ReExports/coreWorkerModules.generated.js +488 -0
  130. package/esm/ReExports/frameworkModules.d.ts +2 -0
  131. package/esm/ReExports/frameworkModules.js +68 -0
  132. package/esm/ReExports/frameworkShared.d.ts +12 -0
  133. package/esm/ReExports/frameworkShared.js +16 -0
  134. package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
  135. package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
  136. package/esm/ReExports/lazify.d.ts +2 -2
  137. package/esm/ReExports/lazify.js +16 -3
  138. package/esm/ReExports/list.js +433 -160
  139. package/esm/ReExports/modules.d.ts +1 -1
  140. package/esm/ReExports/modules.js +10 -146
  141. package/esm/ReExports/muiComponentNames.d.ts +18 -0
  142. package/esm/ReExports/muiComponentNames.js +130 -0
  143. package/esm/ReExports/registry.d.ts +3 -0
  144. package/esm/ReExports/registry.js +46 -0
  145. package/esm/ReExports/uiStub.d.ts +3 -0
  146. package/esm/ReExports/uiStub.js +33 -0
  147. package/esm/ReExports/workerModules.d.ts +2 -0
  148. package/esm/ReExports/workerModules.js +11 -0
  149. package/esm/TextSearch/BaseResults.d.ts +20 -21
  150. package/esm/TextSearch/BaseResults.js +8 -33
  151. package/esm/TextSearch/TextSearchManager.d.ts +30 -36
  152. package/esm/TextSearch/TextSearchManager.js +138 -44
  153. package/esm/TextSearch/places.d.ts +12 -0
  154. package/esm/TextSearch/places.js +94 -0
  155. package/esm/assemblyManager/assembly.d.ts +310 -35
  156. package/esm/assemblyManager/assembly.js +554 -263
  157. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  158. package/esm/assemblyManager/assemblyAdapters.js +24 -0
  159. package/esm/assemblyManager/assemblyConfigSchema.d.ts +135 -19
  160. package/esm/assemblyManager/assemblyConfigSchema.js +205 -23
  161. package/esm/assemblyManager/assemblyManager.d.ts +586 -323
  162. package/esm/assemblyManager/assemblyManager.js +352 -51
  163. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +39 -0
  164. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +114 -0
  165. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  166. package/esm/assemblyManager/geneticCodes.js +44 -0
  167. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +19 -0
  168. package/esm/assemblyManager/getSequenceAdapterConfig.js +22 -0
  169. package/esm/assemblyManager/index.d.ts +1 -1
  170. package/esm/assemblyManager/index.js +2 -2
  171. package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
  172. package/esm/assemblyManager/indexAssemblyNames.js +22 -0
  173. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  174. package/esm/assemblyManager/loadRefNameMap.js +75 -0
  175. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  176. package/esm/assemblyManager/refNameColors.js +32 -0
  177. package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
  178. package/esm/assemblyManager/refNameMapKey.js +12 -0
  179. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  180. package/esm/assemblyManager/refNameMaps.js +87 -0
  181. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  182. package/esm/assemblyManager/refNameMismatch.js +66 -0
  183. package/esm/checkPlugins.d.ts +13 -0
  184. package/esm/checkPlugins.js +98 -0
  185. package/esm/configuration/bamIndexFields.d.ts +49 -0
  186. package/esm/configuration/bamIndexFields.js +41 -0
  187. package/esm/configuration/configurationSchema.d.ts +194 -29
  188. package/esm/configuration/configurationSchema.js +439 -145
  189. package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
  190. package/esm/configuration/configurationSchemaUnion.js +56 -0
  191. package/esm/configuration/configurationSlot.d.ts +373 -30
  192. package/esm/configuration/configurationSlot.js +231 -224
  193. package/esm/configuration/fillLocations.d.ts +14 -0
  194. package/esm/configuration/fillLocations.js +14 -0
  195. package/esm/configuration/formatAboutConfigSchema.d.ts +41 -0
  196. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  197. package/esm/configuration/formatDetailsConfigSchema.d.ts +54 -0
  198. package/esm/configuration/formatDetailsConfigSchema.js +87 -0
  199. package/esm/configuration/fullConfSnapshot.d.ts +13 -0
  200. package/esm/configuration/fullConfSnapshot.js +44 -0
  201. package/esm/configuration/getConf.d.ts +92 -0
  202. package/esm/configuration/getConf.js +141 -0
  203. package/esm/configuration/index.d.ts +32 -3
  204. package/esm/configuration/index.js +27 -2
  205. package/esm/configuration/indexType.d.ts +26 -0
  206. package/esm/configuration/indexType.js +38 -0
  207. package/esm/configuration/mergeFormatCallbacks.d.ts +14 -0
  208. package/esm/configuration/mergeFormatCallbacks.js +27 -0
  209. package/esm/configuration/readConfObject.d.ts +34 -0
  210. package/esm/configuration/readConfObject.js +118 -0
  211. package/esm/configuration/requirements.d.ts +37 -0
  212. package/esm/configuration/requirements.js +88 -0
  213. package/esm/configuration/schemaRegistry.d.ts +52 -0
  214. package/esm/configuration/schemaRegistry.js +48 -0
  215. package/esm/configuration/schemaTypes.d.ts +39 -0
  216. package/esm/configuration/schemaTypes.js +105 -0
  217. package/esm/configuration/slotFacade.d.ts +65 -0
  218. package/esm/configuration/slotFacade.js +110 -0
  219. package/esm/configuration/slotValueUtils.d.ts +17 -0
  220. package/esm/configuration/slotValueUtils.js +25 -0
  221. package/esm/configuration/snapshotPreprocess.d.ts +43 -0
  222. package/esm/configuration/snapshotPreprocess.js +161 -0
  223. package/esm/configuration/tabixIndexFields.d.ts +70 -0
  224. package/esm/configuration/tabixIndexFields.js +62 -0
  225. package/esm/configuration/tabixShorthand.d.ts +51 -0
  226. package/esm/configuration/tabixShorthand.js +72 -0
  227. package/esm/configuration/types.d.ts +315 -13
  228. package/esm/configuration/uriShorthand.d.ts +9 -0
  229. package/esm/configuration/uriShorthand.js +16 -0
  230. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +19 -11
  231. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +19 -18
  232. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +158 -7
  233. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +164 -29
  234. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  235. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  236. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  237. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  238. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  239. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  240. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
  241. package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
  242. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  243. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  244. package/esm/data_adapters/BaseAdapter/index.d.ts +28 -6
  245. package/esm/data_adapters/BaseAdapter/index.js +6 -5
  246. package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
  247. package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
  248. package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
  249. package/esm/data_adapters/BaseAdapter/stats.js +89 -24
  250. package/esm/data_adapters/BaseAdapter/types.d.ts +11 -13
  251. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  252. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  253. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  254. package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
  255. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  256. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +5 -5
  257. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +34 -6
  258. package/esm/data_adapters/CytobandAdapter/configSchema.js +47 -17
  259. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  260. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  261. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  262. package/esm/data_adapters/dataAdapterCache.d.ts +53 -2
  263. package/esm/data_adapters/dataAdapterCache.js +99 -25
  264. package/esm/data_adapters/getFeatureAdapter.d.ts +24 -0
  265. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  266. package/esm/data_adapters/getSequenceSubAdapter.d.ts +19 -0
  267. package/esm/data_adapters/getSequenceSubAdapter.js +42 -0
  268. package/esm/pluggableElementTypes/AdapterType.d.ts +57 -7
  269. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  270. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  271. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  272. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  273. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  274. package/esm/pluggableElementTypes/DisplayType.d.ts +54 -14
  275. package/esm/pluggableElementTypes/DisplayType.js +30 -7
  276. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  277. package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
  278. package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
  279. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +11 -0
  280. package/esm/pluggableElementTypes/PluggableElementBase.js +11 -0
  281. package/esm/pluggableElementTypes/RpcMethodType.d.ts +142 -12
  282. package/esm/pluggableElementTypes/RpcMethodType.js +279 -98
  283. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +18 -9
  284. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  285. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  286. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  287. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  288. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  289. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
  290. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  291. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  292. package/esm/pluggableElementTypes/TrackType.js +1 -1
  293. package/esm/pluggableElementTypes/ViewType.d.ts +22 -5
  294. package/esm/pluggableElementTypes/ViewType.js +40 -5
  295. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  296. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  297. package/esm/pluggableElementTypes/addMenuItems.d.ts +88 -0
  298. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  299. package/esm/pluggableElementTypes/extendElementType.d.ts +29 -0
  300. package/esm/pluggableElementTypes/extendElementType.js +72 -0
  301. package/esm/pluggableElementTypes/index.d.ts +8 -7
  302. package/esm/pluggableElementTypes/index.js +24 -14
  303. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +80 -15
  304. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  305. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +643 -84
  306. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +230 -60
  307. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +246 -37
  308. package/esm/pluggableElementTypes/models/BaseTrackModel.js +416 -107
  309. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +236 -16
  310. package/esm/pluggableElementTypes/models/BaseViewModel.js +154 -16
  311. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +169 -25
  312. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  313. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +178 -0
  314. package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
  315. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +26 -8
  316. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  317. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +31 -17
  318. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  319. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +142 -65
  320. package/esm/pluggableElementTypes/models/baseTrackConfig.js +215 -90
  321. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  322. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +111 -139
  323. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +54 -0
  324. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  325. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +50 -0
  326. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +147 -0
  327. package/esm/pluggableElementTypes/models/index.d.ts +5 -3
  328. package/esm/pluggableElementTypes/models/index.js +9 -8
  329. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +48 -0
  330. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +114 -0
  331. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  332. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +10 -3
  333. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +272 -100
  334. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  335. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  336. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  337. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  338. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  339. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  340. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  341. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  342. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  343. package/esm/pluginDefinitions.d.ts +225 -0
  344. package/esm/pluginDefinitions.js +254 -0
  345. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  346. package/esm/rpc/BaseRpcDriver.js +68 -106
  347. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  348. package/esm/rpc/MainThreadRpcDriver.js +23 -29
  349. package/esm/rpc/RpcClient.d.ts +50 -0
  350. package/esm/rpc/RpcClient.js +189 -0
  351. package/esm/rpc/RpcManager.d.ts +120 -27
  352. package/esm/rpc/RpcManager.js +187 -50
  353. package/esm/rpc/RpcRegistry.d.ts +298 -0
  354. package/esm/rpc/RpcServer.d.ts +43 -0
  355. package/esm/rpc/RpcServer.js +242 -0
  356. package/esm/rpc/WebWorkerRpcDriver.d.ts +78 -24
  357. package/esm/rpc/WebWorkerRpcDriver.js +311 -30
  358. package/esm/rpc/byteBudget.d.ts +64 -0
  359. package/esm/rpc/byteBudget.js +61 -0
  360. package/esm/rpc/configSchema.d.ts +13 -5
  361. package/esm/rpc/configSchema.js +40 -16
  362. package/esm/rpc/coreRpcMethods.d.ts +6 -5
  363. package/esm/rpc/coreRpcMethods.js +13 -12
  364. package/esm/rpc/explainTransferError.d.ts +35 -0
  365. package/esm/rpc/explainTransferError.js +158 -0
  366. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  367. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  368. package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
  369. package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
  370. package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
  371. package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
  372. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  373. package/esm/rpc/methods/CoreGetExportData.js +25 -15
  374. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
  375. package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
  376. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  377. package/esm/rpc/methods/CoreGetFeatures.js +14 -18
  378. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  379. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  380. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  381. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  382. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  383. package/esm/rpc/methods/CoreGetRefNames.js +16 -15
  384. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  385. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  386. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  387. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  388. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  389. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  390. package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
  391. package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
  392. package/esm/rpc/methods/layerFeatures.d.ts +33 -0
  393. package/esm/rpc/methods/layerFeatures.js +29 -0
  394. package/esm/rpc/serializeError/index.d.ts +9 -0
  395. package/esm/rpc/serializeError/index.js +86 -0
  396. package/esm/svg/SvgExport.d.ts +30 -0
  397. package/esm/svg/SvgExport.js +52 -0
  398. package/esm/svg/SvgThemeProviders.d.ts +12 -0
  399. package/esm/svg/SvgThemeProviders.js +15 -0
  400. package/esm/svg/constants.d.ts +1 -0
  401. package/esm/svg/constants.js +5 -0
  402. package/esm/svg/exportViewSvg.d.ts +28 -0
  403. package/esm/svg/exportViewSvg.js +13 -0
  404. package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
  405. package/esm/svg/normalizeSvgMarkup.js +99 -0
  406. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  407. package/esm/svg/saveSvgAsImage.js +90 -0
  408. package/esm/svg/serializeSvg.d.ts +7 -0
  409. package/esm/svg/serializeSvg.js +11 -0
  410. package/esm/svg/svgId.d.ts +42 -0
  411. package/esm/svg/svgId.js +84 -0
  412. package/esm/svg/svgReady.d.ts +138 -0
  413. package/esm/svg/svgReady.js +165 -0
  414. package/esm/svg/trackNames.d.ts +29 -0
  415. package/esm/svg/trackNames.js +34 -0
  416. package/esm/svg/wrapSvgExport.d.ts +12 -0
  417. package/esm/svg/wrapSvgExport.js +10 -0
  418. package/esm/ui/ActionLink.d.ts +7 -0
  419. package/esm/ui/ActionLink.js +9 -0
  420. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  421. package/esm/ui/AddCustomPluginDialog.js +56 -0
  422. package/esm/ui/AddGenomePane.d.ts +8 -0
  423. package/esm/ui/AddGenomePane.js +228 -0
  424. package/esm/ui/AdvancedOptions.d.ts +6 -0
  425. package/esm/ui/AdvancedOptions.js +17 -0
  426. package/esm/ui/AppLogo.d.ts +1 -1
  427. package/esm/ui/AppLogo.js +2 -2
  428. package/esm/ui/AppReadyMarker.d.ts +45 -0
  429. package/esm/ui/AppReadyMarker.js +89 -0
  430. package/esm/ui/AssemblySelector.d.ts +5 -8
  431. package/esm/ui/AssemblySelector.js +8 -26
  432. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  433. package/esm/ui/BaseExportSvgDialog.js +84 -0
  434. package/esm/ui/BaseTooltip.d.ts +14 -3
  435. package/esm/ui/BaseTooltip.js +151 -34
  436. package/esm/ui/CascadingMenu.d.ts +9 -18
  437. package/esm/ui/CascadingMenu.js +446 -42
  438. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  439. package/esm/ui/CascadingMenuButton.js +36 -18
  440. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  441. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  442. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  443. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  444. package/esm/ui/ColorPicker.d.ts +6 -9
  445. package/esm/ui/ColorPicker.js +36 -39
  446. package/esm/ui/ConfirmDialog.d.ts +2 -9
  447. package/esm/ui/ConfirmDialog.js +6 -9
  448. package/esm/ui/ContextMenu.d.ts +50 -0
  449. package/esm/ui/ContextMenu.js +55 -0
  450. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  451. package/esm/ui/CopyToClipboardButton.js +14 -0
  452. package/esm/ui/Crosshairs.d.ts +10 -0
  453. package/esm/ui/Crosshairs.js +15 -0
  454. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  455. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  456. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  457. package/esm/ui/DataGridFlexContainer.js +4 -3
  458. package/esm/ui/Dialog.d.ts +5 -2
  459. package/esm/ui/Dialog.js +35 -27
  460. package/esm/ui/DraggableDialog.d.ts +3 -3
  461. package/esm/ui/DraggableDialog.js +50 -12
  462. package/esm/ui/DropDownMenu.d.ts +4 -2
  463. package/esm/ui/DropDownMenu.js +6 -5
  464. package/esm/ui/EditableTypography.d.ts +3 -1
  465. package/esm/ui/EditableTypography.js +34 -26
  466. package/esm/ui/ErrorActions.d.ts +24 -0
  467. package/esm/ui/ErrorActions.js +20 -0
  468. package/esm/ui/ErrorBanner.d.ts +7 -0
  469. package/esm/ui/ErrorBanner.js +35 -0
  470. package/esm/ui/ErrorBar.d.ts +6 -0
  471. package/esm/ui/ErrorBar.js +35 -0
  472. package/esm/ui/ErrorBoundary.d.ts +29 -5
  473. package/esm/ui/ErrorBoundary.js +32 -2
  474. package/esm/ui/ErrorMessage.d.ts +2 -4
  475. package/esm/ui/ErrorMessage.js +17 -52
  476. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  477. package/esm/ui/ErrorMessageStackTraceContents.js +5 -4
  478. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  479. package/esm/ui/ErrorMessageStackTraceDialog.js +51 -96
  480. package/esm/ui/ErrorOverlay.d.ts +8 -0
  481. package/esm/ui/ErrorOverlay.js +5 -0
  482. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  483. package/esm/ui/ExportSvgDialog.js +9 -0
  484. package/esm/ui/ExternalLink.d.ts +1 -1
  485. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  486. package/esm/ui/FactoryResetDialog.js +6 -15
  487. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  488. package/esm/ui/FatalErrorDialog.js +6 -5
  489. package/esm/ui/FileDropZone.d.ts +25 -0
  490. package/esm/ui/FileDropZone.js +129 -0
  491. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  492. package/esm/ui/FileSelector/FileSelector.js +59 -30
  493. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  494. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  495. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  496. package/esm/ui/FileSelector/LocationInput.js +8 -12
  497. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  498. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  499. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  500. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  501. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  502. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  503. package/esm/ui/FileSelector/useInternetAccounts.d.ts +436 -64
  504. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  505. package/esm/ui/FileSelector/util.d.ts +58 -3
  506. package/esm/ui/FileSelector/util.js +128 -11
  507. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  508. package/esm/ui/GpuFallbackButton.js +20 -0
  509. package/esm/ui/HoverMenu.d.ts +11 -3
  510. package/esm/ui/HoverMenu.js +34 -9
  511. package/esm/ui/HoverTooltip.d.ts +27 -0
  512. package/esm/ui/HoverTooltip.js +24 -0
  513. package/esm/ui/Icons.d.ts +6 -4
  514. package/esm/ui/Icons.js +9 -0
  515. package/esm/ui/InfoDialog.d.ts +7 -0
  516. package/esm/ui/InfoDialog.js +16 -0
  517. package/esm/ui/InlineMenuControls.d.ts +6 -0
  518. package/esm/ui/InlineMenuControls.js +17 -0
  519. package/esm/ui/JexlFilterDialog.d.ts +26 -0
  520. package/esm/ui/JexlFilterDialog.js +167 -0
  521. package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
  522. package/esm/ui/JexlFilterRowEditors.js +90 -0
  523. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  524. package/esm/ui/LabeledCheckbox.js +7 -0
  525. package/esm/ui/LazyBaseTooltip.d.ts +4 -0
  526. package/esm/ui/LazyBaseTooltip.js +9 -0
  527. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  528. package/esm/ui/LegendSwatchGlyph.js +30 -0
  529. package/esm/ui/LoadingDots.d.ts +1 -0
  530. package/esm/ui/LoadingDots.js +30 -0
  531. package/esm/ui/LoadingEllipses.d.ts +17 -1
  532. package/esm/ui/LoadingEllipses.js +20 -29
  533. package/esm/ui/LoadingOverlay.d.ts +23 -0
  534. package/esm/ui/LoadingOverlay.js +139 -0
  535. package/esm/ui/LoadingProgress.d.ts +16 -0
  536. package/esm/ui/LoadingProgress.js +16 -0
  537. package/esm/ui/Logo.d.ts +2 -2
  538. package/esm/ui/Logo.js +23 -24
  539. package/esm/ui/Menu.js +1 -1
  540. package/esm/ui/MenuItemChevron.d.ts +3 -0
  541. package/esm/ui/MenuItemChevron.js +19 -0
  542. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  543. package/esm/ui/MenuItemEndDecoration.js +28 -0
  544. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  545. package/esm/ui/MenuItemTrailing.js +42 -0
  546. package/esm/ui/MenuTypes.d.ts +95 -5
  547. package/esm/ui/MenuTypes.js +16 -1
  548. package/esm/ui/MonospaceTextField.d.ts +10 -0
  549. package/esm/ui/MonospaceTextField.js +40 -0
  550. package/esm/ui/NumberTextField.d.ts +31 -0
  551. package/esm/ui/NumberTextField.js +33 -0
  552. package/esm/ui/PaletteContext.d.ts +90 -0
  553. package/esm/ui/PaletteContext.js +142 -0
  554. package/esm/ui/PluggableComponent.d.ts +10 -0
  555. package/esm/ui/PluggableComponent.js +19 -0
  556. package/esm/ui/PluggableComponents.d.ts +29 -0
  557. package/esm/ui/PluggableComponents.js +28 -0
  558. package/esm/ui/PluggableElements.d.ts +23 -0
  559. package/esm/ui/PluggableElements.js +24 -0
  560. package/esm/ui/PluginStoreCard.d.ts +17 -0
  561. package/esm/ui/PluginStoreCard.js +45 -0
  562. package/esm/ui/PopoverPicker.d.ts +6 -0
  563. package/esm/ui/PopoverPicker.js +25 -0
  564. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  565. package/esm/ui/PrerenderedCanvas.js +5 -4
  566. package/esm/ui/ProgressChip.d.ts +37 -0
  567. package/esm/ui/ProgressChip.js +66 -0
  568. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  569. package/esm/ui/RedErrorMessageBox.js +9 -3
  570. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  571. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  572. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  573. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  574. package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
  575. package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
  576. package/esm/ui/RefNameAutocomplete/index.d.ts +21 -0
  577. package/esm/ui/RefNameAutocomplete/index.js +84 -0
  578. package/esm/ui/RefNameAutocomplete/util.d.ts +62 -0
  579. package/esm/ui/RefNameAutocomplete/util.js +209 -0
  580. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  581. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  582. package/esm/ui/ResizeHandle.d.ts +15 -7
  583. package/esm/ui/ResizeHandle.js +73 -53
  584. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  585. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  586. package/esm/ui/SanitizedHTML.d.ts +6 -1
  587. package/esm/ui/SanitizedHTML.js +7 -47
  588. package/esm/ui/ScrollChrome.d.ts +13 -0
  589. package/esm/ui/ScrollChrome.js +11 -0
  590. package/esm/ui/ScrollEdgeShadow.d.ts +41 -0
  591. package/esm/ui/ScrollEdgeShadow.js +77 -0
  592. package/esm/ui/ScrollZoomToggle.d.ts +15 -0
  593. package/esm/ui/ScrollZoomToggle.js +75 -0
  594. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  595. package/esm/ui/SequenceAdapterInputs.js +30 -0
  596. package/esm/ui/SessionJsonPanel.d.ts +3 -0
  597. package/esm/ui/SessionJsonPanel.js +14 -0
  598. package/esm/ui/SettingsChangesTable.d.ts +15 -0
  599. package/esm/ui/SettingsChangesTable.js +87 -0
  600. package/esm/ui/ShareLinkField.d.ts +4 -0
  601. package/esm/ui/ShareLinkField.js +15 -0
  602. package/esm/ui/SingleSlider.d.ts +8 -0
  603. package/esm/ui/SingleSlider.js +11 -0
  604. package/esm/ui/SizeSliderRow.d.ts +14 -0
  605. package/esm/ui/SizeSliderRow.js +48 -0
  606. package/esm/ui/SliderTooltip.d.ts +2 -0
  607. package/esm/ui/SliderTooltip.js +17 -0
  608. package/esm/ui/Snackbar.d.ts +4 -2
  609. package/esm/ui/Snackbar.js +11 -8
  610. package/esm/ui/SnackbarContents.d.ts +1 -1
  611. package/esm/ui/SnackbarContents.js +21 -3
  612. package/esm/ui/SnackbarModel.d.ts +40 -0
  613. package/esm/ui/SnackbarModel.js +96 -52
  614. package/esm/ui/StackTraceButton.d.ts +5 -0
  615. package/esm/ui/StackTraceButton.js +16 -0
  616. package/esm/ui/StatusProgressBar.d.ts +37 -0
  617. package/esm/ui/StatusProgressBar.js +76 -0
  618. package/esm/ui/SubmitDialog.d.ts +6 -0
  619. package/esm/ui/SubmitDialog.js +9 -0
  620. package/esm/ui/SubmitForm.d.ts +23 -0
  621. package/esm/ui/SubmitForm.js +23 -0
  622. package/esm/ui/SvgColorLegend.d.ts +18 -0
  623. package/esm/ui/SvgColorLegend.js +106 -0
  624. package/esm/ui/TagTextField.d.ts +40 -0
  625. package/esm/ui/TagTextField.js +32 -0
  626. package/esm/ui/VerticalScrollbar.d.ts +24 -0
  627. package/esm/ui/VerticalScrollbar.js +104 -0
  628. package/esm/ui/ViewLoadingScreen.d.ts +25 -0
  629. package/esm/ui/ViewLoadingScreen.js +52 -0
  630. package/esm/ui/addExtensionElement.d.ts +18 -0
  631. package/esm/ui/addExtensionElement.js +23 -0
  632. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  633. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  634. package/esm/ui/colorScale.d.ts +92 -0
  635. package/esm/ui/colorScale.js +72 -0
  636. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  637. package/esm/ui/colorSwatchStyle.js +11 -0
  638. package/esm/ui/colors.d.ts +125 -8
  639. package/esm/ui/colors.js +364 -1
  640. package/esm/ui/extensionSelectors.d.ts +38 -0
  641. package/esm/ui/extensionSelectors.js +49 -0
  642. package/esm/ui/filterMenuItems.d.ts +112 -0
  643. package/esm/ui/filterMenuItems.js +86 -0
  644. package/esm/ui/formatErrorStack.d.ts +1 -0
  645. package/esm/ui/formatErrorStack.js +56 -0
  646. package/esm/ui/gpuFallback.d.ts +33 -0
  647. package/esm/ui/gpuFallback.js +39 -0
  648. package/esm/ui/hoverBoxStyle.d.ts +23 -0
  649. package/esm/ui/hoverBoxStyle.js +28 -0
  650. package/esm/ui/index.d.ts +77 -5
  651. package/esm/ui/index.js +83 -20
  652. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  653. package/esm/ui/inlineMenuRowWidth.js +8 -0
  654. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  655. package/esm/ui/launchTargetsMenuItem.js +24 -0
  656. package/esm/ui/launchViewMenu.d.ts +4 -0
  657. package/esm/ui/launchViewMenu.js +46 -0
  658. package/esm/ui/legendMenuItem.d.ts +16 -0
  659. package/esm/ui/legendMenuItem.js +17 -0
  660. package/esm/ui/legendSpec.d.ts +69 -0
  661. package/esm/ui/legendSpec.js +69 -0
  662. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  663. package/esm/ui/loadingDotKeyframes.js +17 -0
  664. package/esm/ui/makeSizeMenu.d.ts +24 -0
  665. package/esm/ui/makeSizeMenu.js +58 -0
  666. package/esm/ui/mapStackTrace.d.ts +8 -0
  667. package/esm/ui/mapStackTrace.js +108 -0
  668. package/esm/ui/measureLegendText.d.ts +1 -0
  669. package/esm/ui/measureLegendText.js +8 -0
  670. package/esm/ui/menuItemAdornment.d.ts +22 -0
  671. package/esm/ui/menuItemAdornment.js +28 -0
  672. package/esm/ui/menuItems.d.ts +23 -0
  673. package/esm/ui/menuItems.js +21 -0
  674. package/esm/ui/menuLabels.d.ts +41 -0
  675. package/esm/ui/menuLabels.js +43 -0
  676. package/esm/ui/multiTrackMenuItems.d.ts +25 -0
  677. package/esm/ui/multiTrackMenuItems.js +15 -0
  678. package/esm/ui/palette.d.ts +561 -0
  679. package/esm/ui/palette.js +785 -0
  680. package/esm/ui/parseError.d.ts +4 -0
  681. package/esm/ui/parseError.js +18 -0
  682. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  683. package/esm/ui/persistentScrollbarStyle.js +53 -0
  684. package/esm/ui/radioSubMenu.d.ts +33 -0
  685. package/esm/ui/radioSubMenu.js +32 -0
  686. package/esm/ui/react-colorful.js +5 -1
  687. package/esm/ui/replaceViewAction.d.ts +31 -0
  688. package/esm/ui/replaceViewAction.js +39 -0
  689. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  690. package/esm/ui/rewriteExternalAnchors.js +8 -0
  691. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  692. package/esm/ui/scrollZoomLabels.js +22 -0
  693. package/esm/ui/showSubMenu.d.ts +19 -0
  694. package/esm/ui/showSubMenu.js +30 -0
  695. package/esm/ui/sliderScale.d.ts +6 -0
  696. package/esm/ui/sliderScale.js +30 -0
  697. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  698. package/esm/ui/statusProgressKeyframes.js +14 -0
  699. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  700. package/esm/ui/stripStackTraceMessage.js +9 -0
  701. package/esm/ui/styleTheme.d.ts +158 -0
  702. package/esm/ui/styleTheme.js +115 -0
  703. package/esm/ui/submenuAim.d.ts +30 -0
  704. package/esm/ui/submenuAim.js +37 -0
  705. package/esm/ui/theme.d.ts +268 -30
  706. package/esm/ui/theme.js +250 -350
  707. package/esm/ui/toggleMenuItems.d.ts +42 -0
  708. package/esm/ui/toggleMenuItems.js +61 -0
  709. package/esm/ui/useAssemblySelection.d.ts +153 -0
  710. package/esm/ui/useAssemblySelection.js +54 -0
  711. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  712. package/esm/ui/useCoalescedPointer.js +60 -0
  713. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  714. package/esm/ui/useCopyToClipboard.js +41 -0
  715. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  716. package/esm/ui/useExportSvgPreference.js +4 -0
  717. package/esm/ui/useMouseTracking.d.ts +71 -0
  718. package/esm/ui/useMouseTracking.js +179 -0
  719. package/esm/ui/useRecentLocations.d.ts +28 -0
  720. package/esm/ui/useRecentLocations.js +31 -0
  721. package/esm/ui/viewHeaderHeight.d.ts +1 -0
  722. package/esm/ui/viewHeaderHeight.js +1 -0
  723. package/esm/ui/wrapComponent.d.ts +47 -0
  724. package/esm/ui/wrapComponent.js +58 -0
  725. package/esm/ui/zIndexes.d.ts +28 -0
  726. package/esm/ui/zIndexes.js +38 -0
  727. package/esm/util/Base1DUtils.d.ts +207 -17
  728. package/esm/util/Base1DUtils.js +316 -173
  729. package/esm/util/Base1DViewModel.d.ts +99 -21
  730. package/esm/util/Base1DViewModel.js +151 -41
  731. package/esm/util/FileSaver/index.d.ts +1 -0
  732. package/esm/util/FileSaver/index.js +27 -0
  733. package/esm/util/IntervalTree.d.ts +18 -39
  734. package/esm/util/IntervalTree.js +63 -244
  735. package/esm/util/SvgCanvas.d.ts +83 -0
  736. package/esm/util/SvgCanvas.js +520 -0
  737. package/esm/util/TimeTraveller.d.ts +12 -0
  738. package/esm/util/TimeTraveller.js +130 -27
  739. package/esm/util/aborting.d.ts +56 -4
  740. package/esm/util/aborting.js +112 -25
  741. package/esm/util/adapterMetadata.d.ts +20 -0
  742. package/esm/util/adapterMetadata.js +40 -0
  743. package/esm/util/addAndShowTrack.d.ts +19 -0
  744. package/esm/util/addAndShowTrack.js +27 -0
  745. package/esm/util/addRelativeUris.d.ts +29 -0
  746. package/esm/util/addRelativeUris.js +78 -0
  747. package/esm/util/addTrackComponent.d.ts +72 -0
  748. package/esm/util/addTrackComponent.js +53 -0
  749. package/esm/util/addTrackFromWidget.d.ts +91 -0
  750. package/esm/util/addTrackFromWidget.js +91 -0
  751. package/esm/util/aggregateFieldName.d.ts +10 -0
  752. package/esm/util/aggregateFieldName.js +8 -0
  753. package/esm/util/analytics.d.ts +32 -3
  754. package/esm/util/analytics.js +135 -49
  755. package/esm/util/animationAllowed.d.ts +26 -0
  756. package/esm/util/animationAllowed.js +35 -0
  757. package/esm/util/applyRowResizeWheel.d.ts +15 -0
  758. package/esm/util/applyRowResizeWheel.js +23 -0
  759. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  760. package/esm/util/assemblyConfigUtils.js +498 -0
  761. package/esm/util/bandHeight.d.ts +63 -0
  762. package/esm/util/bandHeight.js +85 -0
  763. package/esm/util/bandLayout.d.ts +51 -0
  764. package/esm/util/bandLayout.js +36 -0
  765. package/esm/util/bezierConnector.d.ts +15 -0
  766. package/esm/util/bezierConnector.js +101 -0
  767. package/esm/util/bgzfWorkerPool.d.ts +24 -0
  768. package/esm/util/bgzfWorkerPool.js +27 -0
  769. package/esm/util/binnedAggregate.d.ts +17 -0
  770. package/esm/util/binnedAggregate.js +275 -0
  771. package/esm/util/blockTypes.d.ts +64 -45
  772. package/esm/util/blockTypes.js +67 -74
  773. package/esm/util/bpUtils.d.ts +81 -0
  774. package/esm/util/bpUtils.js +103 -0
  775. package/esm/util/cacheBudgets.d.ts +55 -0
  776. package/esm/util/cacheBudgets.js +55 -0
  777. package/esm/util/cachedSetup.d.ts +51 -0
  778. package/esm/util/cachedSetup.js +87 -0
  779. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  780. package/esm/util/calculateDynamicBlocks.js +85 -82
  781. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  782. package/esm/util/calculateStaticBlocks.js +48 -71
  783. package/esm/util/categoricalField.d.ts +56 -0
  784. package/esm/util/categoricalField.js +73 -0
  785. package/esm/util/chooseGridPitch.d.ts +9 -0
  786. package/esm/util/chooseGridPitch.js +31 -0
  787. package/esm/util/clampToContig.d.ts +43 -0
  788. package/esm/util/clampToContig.js +47 -0
  789. package/esm/util/cmpStr.d.ts +1 -0
  790. package/esm/util/cmpStr.js +7 -0
  791. package/esm/util/coarseStripHTML.js +2 -15
  792. package/esm/util/color/cssColorsLevel4.d.ts +1 -0
  793. package/esm/util/color/cssColorsLevel4.js +7 -2
  794. package/esm/util/color/index.d.ts +84 -3
  795. package/esm/util/color/index.js +197 -25
  796. package/esm/util/color-bits/bit.d.ts +4 -0
  797. package/esm/util/color-bits/bit.js +37 -0
  798. package/esm/util/color-bits/convert.d.ts +23 -0
  799. package/esm/util/color-bits/convert.js +294 -0
  800. package/esm/util/color-bits/core.d.ts +34 -0
  801. package/esm/util/color-bits/core.js +67 -0
  802. package/esm/util/color-bits/format.d.ts +24 -0
  803. package/esm/util/color-bits/format.js +82 -0
  804. package/esm/util/color-bits/functions.d.ts +33 -0
  805. package/esm/util/color-bits/functions.js +70 -0
  806. package/esm/util/color-bits/index.d.ts +5 -0
  807. package/esm/util/color-bits/index.js +4 -0
  808. package/esm/util/color-bits/parse.d.ts +17 -0
  809. package/esm/util/color-bits/parse.js +382 -0
  810. package/esm/util/colorBits.d.ts +39 -0
  811. package/esm/util/colorBits.js +155 -0
  812. package/esm/util/colorRamp.d.ts +81 -0
  813. package/esm/util/colorRamp.js +244 -0
  814. package/esm/util/colorScale.d.ts +156 -0
  815. package/esm/util/colorScale.js +243 -0
  816. package/esm/util/colorSchemes.d.ts +21 -0
  817. package/esm/util/colorSchemes.js +30 -0
  818. package/esm/util/colord.d.ts +8 -0
  819. package/esm/util/colord.js +43 -191
  820. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  821. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  822. package/esm/util/copyText.d.ts +18 -0
  823. package/esm/util/copyText.js +30 -0
  824. package/esm/util/copyToClipboard.d.ts +4 -0
  825. package/esm/util/copyToClipboard.js +58 -0
  826. package/esm/util/createAbortRotation.d.ts +115 -0
  827. package/esm/util/createAbortRotation.js +116 -0
  828. package/esm/util/createSvgRasterCanvas.d.ts +17 -0
  829. package/esm/util/createSvgRasterCanvas.js +22 -0
  830. package/esm/util/crypto.d.ts +24 -0
  831. package/esm/util/crypto.js +85 -2
  832. package/esm/util/cssColorParse.d.ts +15 -0
  833. package/esm/util/cssColorParse.js +53 -0
  834. package/esm/util/dataGridUtils.d.ts +9 -0
  835. package/esm/util/dataGridUtils.js +36 -0
  836. package/esm/util/dedupe.js +1 -0
  837. package/esm/util/deepEqual.d.ts +8 -0
  838. package/esm/util/deepEqual.js +22 -0
  839. package/esm/util/deepMerge.d.ts +20 -0
  840. package/esm/util/deepMerge.js +44 -0
  841. package/esm/util/diagonalizeRegions.d.ts +22 -0
  842. package/esm/util/diagonalizeRegions.js +187 -0
  843. package/esm/util/environment.d.ts +4 -0
  844. package/esm/util/environment.js +43 -0
  845. package/esm/util/eventPoint.d.ts +32 -0
  846. package/esm/util/eventPoint.js +28 -0
  847. package/esm/util/expandLooseSearchIndex.d.ts +19 -0
  848. package/esm/util/expandLooseSearchIndex.js +29 -0
  849. package/esm/util/featureTable.d.ts +224 -0
  850. package/esm/util/featureTable.js +366 -0
  851. package/esm/util/featureTransforms.d.ts +80 -0
  852. package/esm/util/featureTransforms.js +1579 -0
  853. package/esm/util/featureTypes.d.ts +24 -0
  854. package/esm/util/featureTypes.js +35 -0
  855. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  856. package/esm/util/fetchAndMaybeUnzip.js +71 -0
  857. package/esm/util/fetchContext.d.ts +81 -0
  858. package/esm/util/fetchContext.js +59 -0
  859. package/esm/util/fetchHub.d.ts +17 -0
  860. package/esm/util/fetchHub.js +31 -0
  861. package/esm/util/fetchJson.d.ts +1 -0
  862. package/esm/util/fetchJson.js +7 -0
  863. package/esm/util/fetchPhases.d.ts +77 -0
  864. package/esm/util/fetchPhases.js +1 -0
  865. package/esm/util/fetchSeq.d.ts +4 -1
  866. package/esm/util/fetchSeq.js +18 -6
  867. package/esm/util/fieldReader.d.ts +17 -0
  868. package/esm/util/fieldReader.js +62 -0
  869. package/esm/util/fileHandleStore.d.ts +19 -2
  870. package/esm/util/fileHandleStore.js +95 -35
  871. package/esm/util/flatbush/index.d.ts +27 -6
  872. package/esm/util/flatbush/index.js +194 -218
  873. package/esm/util/formatBytes.d.ts +9 -0
  874. package/esm/util/formatBytes.js +18 -0
  875. package/esm/util/formatFastaStrings.d.ts +13 -0
  876. package/esm/util/formatFastaStrings.js +13 -0
  877. package/esm/util/formatGuessers.d.ts +30 -0
  878. package/esm/util/formatGuessers.js +69 -0
  879. package/esm/util/formatRelativeTime.d.ts +1 -0
  880. package/esm/util/formatRelativeTime.js +25 -0
  881. package/esm/util/frameCoalescer.d.ts +30 -0
  882. package/esm/util/frameCoalescer.js +22 -0
  883. package/esm/util/freezeDeep.d.ts +26 -0
  884. package/esm/util/freezeDeep.js +39 -0
  885. package/esm/util/geneticCodes.d.ts +56 -0
  886. package/esm/util/geneticCodes.js +371 -0
  887. package/esm/util/getFileName.d.ts +11 -0
  888. package/esm/util/getFileName.js +34 -0
  889. package/esm/util/getLocationUri.d.ts +49 -0
  890. package/esm/util/getLocationUri.js +63 -0
  891. package/esm/util/getRelativeX.d.ts +4 -0
  892. package/esm/util/getRelativeX.js +7 -0
  893. package/esm/util/getStr.d.ts +6 -0
  894. package/esm/util/getStr.js +15 -0
  895. package/esm/util/groupKeys.d.ts +77 -0
  896. package/esm/util/groupKeys.js +155 -0
  897. package/esm/util/highlights.d.ts +25 -0
  898. package/esm/util/highlights.js +87 -0
  899. package/esm/util/hooks.d.ts +189 -0
  900. package/esm/util/hooks.js +485 -0
  901. package/esm/util/htmlText.d.ts +13 -0
  902. package/esm/util/htmlText.js +66 -0
  903. package/esm/util/idMaker.d.ts +1 -1
  904. package/esm/util/idMaker.js +31 -18
  905. package/esm/util/index.d.ts +82 -268
  906. package/esm/util/index.js +137 -853
  907. package/esm/util/indexCandidates.d.ts +20 -0
  908. package/esm/util/indexCandidates.js +43 -0
  909. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  910. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  911. package/esm/util/installFetch.d.ts +234 -0
  912. package/esm/util/installFetch.js +205 -0
  913. package/esm/util/installInitAutorun.d.ts +63 -0
  914. package/esm/util/installInitAutorun.js +107 -0
  915. package/esm/util/installPrerequisiteFetch.d.ts +115 -0
  916. package/esm/util/installPrerequisiteFetch.js +111 -0
  917. package/esm/util/intervals.d.ts +20 -0
  918. package/esm/util/intervals.js +37 -0
  919. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  920. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  921. package/esm/util/io/index.d.ts +39 -2
  922. package/esm/util/io/index.js +120 -12
  923. package/esm/util/isDataCurrent.d.ts +9 -0
  924. package/esm/util/isDataCurrent.js +12 -0
  925. package/esm/util/isTextEntryFocused.d.ts +7 -0
  926. package/esm/util/isTextEntryFocused.js +16 -0
  927. package/esm/util/isWebWorker.js +1 -2
  928. package/esm/util/iupac.d.ts +4 -0
  929. package/esm/util/iupac.js +59 -0
  930. package/esm/util/jexl.js +146 -19
  931. package/esm/util/jexlFilterRows.d.ts +89 -0
  932. package/esm/util/jexlFilterRows.js +252 -0
  933. package/esm/util/jexlFilters.d.ts +68 -0
  934. package/esm/util/jexlFilters.js +61 -0
  935. package/esm/util/jexlStrings.d.ts +21 -1
  936. package/esm/util/jexlStrings.js +20 -14
  937. package/esm/util/layouts/GranularRectLayout.d.ts +20 -25
  938. package/esm/util/layouts/GranularRectLayout.js +116 -356
  939. package/esm/util/layouts/index.d.ts +1 -7
  940. package/esm/util/layouts/index.js +2 -6
  941. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  942. package/esm/util/layouts/intervalUtils.js +13 -31
  943. package/esm/util/layouts/placeRect.d.ts +50 -0
  944. package/esm/util/layouts/placeRect.js +97 -0
  945. package/esm/util/lazyAfterAttach.d.ts +13 -0
  946. package/esm/util/lazyAfterAttach.js +31 -0
  947. package/esm/util/lazyWithPreload.d.ts +19 -0
  948. package/esm/util/lazyWithPreload.js +27 -0
  949. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  950. package/esm/util/leadingEdgeAutorun.js +51 -0
  951. package/esm/util/legendCandidates.d.ts +72 -0
  952. package/esm/util/legendCandidates.js +138 -0
  953. package/esm/util/librpc.d.ts +5 -2
  954. package/esm/util/librpc.js +6 -1
  955. package/esm/util/linkify.js +2 -0
  956. package/esm/util/locString.d.ts +72 -0
  957. package/esm/util/locString.js +178 -7
  958. package/esm/util/locStringsToRegions.d.ts +10 -0
  959. package/esm/util/locStringsToRegions.js +35 -0
  960. package/esm/util/localStorage.d.ts +36 -0
  961. package/esm/util/localStorage.js +137 -0
  962. package/esm/util/makeAssembly.d.ts +54 -0
  963. package/esm/util/makeAssembly.js +52 -0
  964. package/esm/util/makeTrackId.d.ts +14 -0
  965. package/esm/util/makeTrackId.js +14 -0
  966. package/esm/util/markEncoding.d.ts +150 -0
  967. package/esm/util/markEncoding.js +845 -0
  968. package/esm/util/markEncodingTypes.d.ts +588 -0
  969. package/esm/util/markEncodingTypes.js +8 -0
  970. package/esm/util/matchTrackId.d.ts +11 -0
  971. package/esm/util/matchTrackId.js +14 -0
  972. package/esm/util/measureText.d.ts +24 -0
  973. package/esm/util/measureText.js +51 -0
  974. package/esm/util/mst-reflection.d.ts +3 -11
  975. package/esm/util/mst-reflection.js +3 -52
  976. package/esm/util/mstUtils.d.ts +97 -0
  977. package/esm/util/mstUtils.js +137 -0
  978. package/esm/util/nanoid.d.ts +0 -4
  979. package/esm/util/nanoid.js +10 -20
  980. package/esm/util/numericUtils.d.ts +27 -0
  981. package/esm/util/numericUtils.js +143 -0
  982. package/esm/util/numericValue.d.ts +14 -0
  983. package/esm/util/numericValue.js +34 -0
  984. package/esm/util/objectUtils.d.ts +2 -0
  985. package/esm/util/objectUtils.js +9 -0
  986. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  987. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  988. package/esm/util/openFeatureWidget.d.ts +38 -0
  989. package/esm/util/openFeatureWidget.js +64 -0
  990. package/esm/util/openViews.d.ts +17 -0
  991. package/esm/util/openViews.js +22 -0
  992. package/esm/util/paintLayer.d.ts +32 -0
  993. package/esm/util/paintLayer.js +33 -0
  994. package/esm/util/parentWalk.d.ts +32 -0
  995. package/esm/util/parentWalk.js +84 -0
  996. package/esm/util/parseLineByLine.d.ts +44 -2
  997. package/esm/util/parseLineByLine.js +150 -15
  998. package/esm/util/parseMotifList.d.ts +17 -0
  999. package/esm/util/parseMotifList.js +69 -0
  1000. package/esm/util/pluginStore.d.ts +111 -0
  1001. package/esm/util/pluginStore.js +254 -0
  1002. package/esm/util/pointerPresence.d.ts +5 -0
  1003. package/esm/util/pointerPresence.js +21 -0
  1004. package/esm/util/preloadComponent.d.ts +5 -0
  1005. package/esm/util/preloadComponent.js +11 -0
  1006. package/esm/util/progress.d.ts +459 -0
  1007. package/esm/util/progress.js +821 -0
  1008. package/esm/util/quantileExtent.d.ts +49 -0
  1009. package/esm/util/quantileExtent.js +162 -0
  1010. package/esm/util/range.d.ts +46 -1
  1011. package/esm/util/range.js +68 -2
  1012. package/esm/util/renameRegions.d.ts +41 -0
  1013. package/esm/util/renameRegions.js +143 -0
  1014. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  1015. package/esm/util/renderToStaticMarkup.js +60 -0
  1016. package/esm/util/reorder.d.ts +35 -0
  1017. package/esm/util/reorder.js +83 -0
  1018. package/esm/util/resolveRowHeight.d.ts +27 -0
  1019. package/esm/util/resolveRowHeight.js +30 -0
  1020. package/esm/util/revlist.d.ts +13 -0
  1021. package/esm/util/revlist.js +14 -0
  1022. package/esm/util/rowStackGeometry.d.ts +66 -0
  1023. package/esm/util/rowStackGeometry.js +70 -0
  1024. package/esm/util/rpc.d.ts +16 -1
  1025. package/esm/util/rpc.js +12 -1
  1026. package/esm/util/rxjs.d.ts +30 -2
  1027. package/esm/util/rxjs.js +85 -10
  1028. package/esm/util/sameStrings.d.ts +16 -0
  1029. package/esm/util/sameStrings.js +20 -0
  1030. package/esm/util/samplesTsv.d.ts +49 -0
  1031. package/esm/util/samplesTsv.js +86 -0
  1032. package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
  1033. package/esm/util/scheduleDetachedDestroy.js +24 -0
  1034. package/esm/util/scrollLatch.d.ts +5 -0
  1035. package/esm/util/scrollLatch.js +67 -0
  1036. package/esm/util/selectEncodedFeature.d.ts +16 -0
  1037. package/esm/util/selectEncodedFeature.js +34 -0
  1038. package/esm/util/selectNamedRegions.d.ts +136 -0
  1039. package/esm/util/selectNamedRegions.js +222 -0
  1040. package/esm/util/seqUtils.d.ts +17 -0
  1041. package/esm/util/seqUtils.js +80 -0
  1042. package/esm/util/sessionServices.d.ts +29 -0
  1043. package/esm/util/sessionServices.js +46 -0
  1044. package/esm/util/sessionSharing.d.ts +40 -0
  1045. package/esm/util/sessionSharing.js +154 -0
  1046. package/esm/util/sessionStorage.d.ts +1 -0
  1047. package/esm/util/sessionStorage.js +15 -0
  1048. package/esm/util/setStackTraceLimit.d.ts +6 -0
  1049. package/esm/util/setStackTraceLimit.js +20 -0
  1050. package/esm/util/shapeNameList.d.ts +2 -0
  1051. package/esm/util/shapeNameList.js +6 -0
  1052. package/esm/util/shapeNames.d.ts +7 -0
  1053. package/esm/util/shapeNames.js +11 -0
  1054. package/esm/util/simpleFeature.d.ts +111 -4
  1055. package/esm/util/simpleFeature.js +181 -29
  1056. package/esm/util/springAnimate.d.ts +20 -0
  1057. package/esm/util/springAnimate.js +80 -0
  1058. package/esm/util/starFusion.d.ts +26 -0
  1059. package/esm/util/starFusion.js +37 -0
  1060. package/esm/util/stats.d.ts +25 -2
  1061. package/esm/util/stats.js +39 -8
  1062. package/esm/util/stepTables.d.ts +82 -0
  1063. package/esm/util/stepTables.js +243 -0
  1064. package/esm/util/stringUtils.d.ts +5 -0
  1065. package/esm/util/stringUtils.js +34 -0
  1066. package/esm/util/svAlt.d.ts +145 -0
  1067. package/esm/util/svAlt.js +364 -0
  1068. package/esm/util/svgColorProps.d.ts +18 -0
  1069. package/esm/util/svgColorProps.js +55 -0
  1070. package/esm/util/systemColorScheme.d.ts +12 -0
  1071. package/esm/util/systemColorScheme.js +27 -0
  1072. package/esm/util/tabix.d.ts +125 -0
  1073. package/esm/util/tabix.js +148 -0
  1074. package/esm/util/tags.d.ts +2 -0
  1075. package/esm/util/tags.js +5 -0
  1076. package/esm/util/temporaryAssembly.d.ts +21 -0
  1077. package/esm/util/temporaryAssembly.js +29 -0
  1078. package/esm/util/thresholdScale.d.ts +91 -0
  1079. package/esm/util/thresholdScale.js +166 -0
  1080. package/esm/util/tickLabels.d.ts +36 -0
  1081. package/esm/util/tickLabels.js +45 -0
  1082. package/esm/util/timeGate.d.ts +25 -0
  1083. package/esm/util/timeGate.js +78 -0
  1084. package/esm/util/trackConfigDelta.d.ts +84 -0
  1085. package/esm/util/trackConfigDelta.js +206 -0
  1086. package/esm/util/tracks.d.ts +431 -30
  1087. package/esm/util/tracks.js +952 -185
  1088. package/esm/util/translateTranscript.d.ts +44 -0
  1089. package/esm/util/translateTranscript.js +102 -0
  1090. package/esm/util/tss-react/cssAndCx.js +11 -66
  1091. package/esm/util/tss-react/index.d.ts +11 -2
  1092. package/esm/util/tss-react/index.js +9 -2
  1093. package/esm/util/tss-react/makeStyles.js +7 -4
  1094. package/esm/util/tss-react/mergeClasses.js +1 -0
  1095. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  1096. package/esm/util/tss-react/tools/classnames.js +3 -0
  1097. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  1098. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  1099. package/esm/util/tss-react/types.d.ts +1 -1
  1100. package/esm/util/tss-react/types.js +1 -6
  1101. package/esm/util/types/ElementId.js +1 -1
  1102. package/esm/util/types/data.d.ts +73 -0
  1103. package/esm/util/types/data.js +41 -0
  1104. package/esm/util/types/index.d.ts +459 -121
  1105. package/esm/util/types/index.js +96 -64
  1106. package/esm/util/types/isAny.d.ts +11 -0
  1107. package/esm/util/types/isAny.js +1 -0
  1108. package/esm/util/types/mst.d.ts +74 -47
  1109. package/esm/util/types/mst.js +31 -22
  1110. package/esm/util/types/predicate.d.ts +9 -0
  1111. package/esm/util/types/predicate.js +1 -0
  1112. package/esm/util/types/renameIds.d.ts +1 -0
  1113. package/esm/util/types/renameIds.js +29 -0
  1114. package/esm/util/types/renderingServices.d.ts +16 -0
  1115. package/esm/util/types/renderingServices.js +1 -0
  1116. package/esm/util/types/services.d.ts +55 -0
  1117. package/esm/util/types/services.js +10 -0
  1118. package/esm/util/types/util.d.ts +8 -2
  1119. package/esm/util/unknownSnapshotKeys.d.ts +51 -0
  1120. package/esm/util/unknownSnapshotKeys.js +82 -0
  1121. package/esm/util/unzip.d.ts +1 -0
  1122. package/esm/util/unzip.js +6 -0
  1123. package/esm/util/useEventCallback.d.ts +1 -0
  1124. package/esm/util/useEventCallback.js +16 -0
  1125. package/esm/util/useFeatureSequence.d.ts +13 -7
  1126. package/esm/util/useFeatureSequence.js +55 -77
  1127. package/esm/util/useFetch.d.ts +55 -0
  1128. package/esm/util/useFetch.js +197 -0
  1129. package/esm/util/useFetchPlugins.d.ts +16 -0
  1130. package/esm/util/useFetchPlugins.js +18 -0
  1131. package/esm/util/useMeasure.d.ts +11 -1
  1132. package/esm/util/useMeasure.js +20 -6
  1133. package/esm/util/usePanZoom.d.ts +75 -0
  1134. package/esm/util/usePanZoom.js +175 -0
  1135. package/esm/util/usePanelVirtualScroll.d.ts +9 -0
  1136. package/esm/util/usePanelVirtualScroll.js +15 -0
  1137. package/esm/util/usePointerDrag.d.ts +37 -0
  1138. package/esm/util/usePointerDrag.js +61 -0
  1139. package/esm/util/useRafCommit.d.ts +4 -0
  1140. package/esm/util/useRafCommit.js +50 -0
  1141. package/esm/util/useResizeDrag.d.ts +91 -0
  1142. package/esm/util/useResizeDrag.js +105 -0
  1143. package/esm/util/useRowVirtualScroll.d.ts +9 -0
  1144. package/esm/util/useRowVirtualScroll.js +22 -0
  1145. package/esm/util/useVirtualScrollWheel.d.ts +23 -0
  1146. package/esm/util/useVirtualScrollWheel.js +74 -0
  1147. package/esm/util/viewHighlights.d.ts +3 -0
  1148. package/esm/util/viewHighlights.js +5 -0
  1149. package/esm/util/viewStatus.d.ts +90 -0
  1150. package/esm/util/viewStatus.js +54 -0
  1151. package/esm/util/virtualRange.d.ts +36 -0
  1152. package/esm/util/virtualRange.js +26 -0
  1153. package/esm/util/webStorage.d.ts +26 -0
  1154. package/esm/util/webStorage.js +92 -0
  1155. package/esm/util/wheelZoom.d.ts +65 -0
  1156. package/esm/util/wheelZoom.js +297 -0
  1157. package/esm/util/whenViewSettled.d.ts +74 -0
  1158. package/esm/util/whenViewSettled.js +77 -0
  1159. package/esm/util/withFeatureDetails.d.ts +34 -0
  1160. package/esm/util/withFeatureDetails.js +59 -0
  1161. package/esm/util/withLaunchInput.d.ts +174 -0
  1162. package/esm/util/withLaunchInput.js +274 -0
  1163. package/package.json +290 -820
  1164. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
  1165. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -14
  1166. package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -7
  1167. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
  1168. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
  1169. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
  1170. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
  1171. package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
  1172. package/esm/ReExports/BaseFeatureDetails.js +0 -9
  1173. package/esm/ReExports/DataGrid.d.ts +0 -1
  1174. package/esm/ReExports/DataGrid.js +0 -1
  1175. package/esm/ReExports/index.d.ts +0 -1
  1176. package/esm/ReExports/index.js +0 -1
  1177. package/esm/configuration/util.d.ts +0 -10
  1178. package/esm/configuration/util.js +0 -123
  1179. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1180. package/esm/data_adapters/util.d.ts +0 -1
  1181. package/esm/data_adapters/util.js +0 -6
  1182. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1183. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1184. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1185. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1186. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1187. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1188. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1189. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1190. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1191. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1192. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1193. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1194. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1195. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1196. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1197. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1198. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1199. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1200. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1201. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1202. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1203. package/esm/rpc/baseRpcConfig.js +0 -10
  1204. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1205. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1206. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1207. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1208. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1209. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1210. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1211. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1212. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1213. package/esm/rpc/methods/CoreRender.js +0 -40
  1214. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1215. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1216. package/esm/rpc/methods/util.d.ts +0 -15
  1217. package/esm/rpc/methods/util.js +0 -7
  1218. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1219. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1220. package/esm/ui/MenuButton.d.ts +0 -1
  1221. package/esm/ui/MenuButton.js +0 -1
  1222. package/esm/ui/MenuItems.d.ts +0 -15
  1223. package/esm/ui/MenuItems.js +0 -59
  1224. package/esm/ui/useEvent.d.ts +0 -1
  1225. package/esm/ui/useEvent.js +0 -10
  1226. package/esm/util/blobToDataURL.d.ts +0 -1
  1227. package/esm/util/blobToDataURL.js +0 -14
  1228. package/esm/util/compositeMap.d.ts +0 -11
  1229. package/esm/util/compositeMap.js +0 -59
  1230. package/esm/util/flatqueue/index.d.ts +0 -11
  1231. package/esm/util/flatqueue/index.js +0 -61
  1232. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1233. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1234. package/esm/util/layouts/MultiLayout.js +0 -40
  1235. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1236. package/esm/util/layouts/PileupLayout.js +0 -202
  1237. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1238. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1239. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1240. package/esm/util/layouts/SceneGraph.js +0 -121
  1241. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1242. package/esm/util/makeAbortableReaction.js +0 -47
  1243. package/esm/util/map-obj/index.d.ts +0 -13
  1244. package/esm/util/map-obj/index.js +0 -92
  1245. package/esm/util/nextTick.d.ts +0 -1
  1246. package/esm/util/nextTick.js +0 -3
  1247. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1248. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1249. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1250. package/esm/util/offscreenCanvasUtils.js +0 -19
  1251. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1252. package/esm/util/renderToAbstractCanvas.js +0 -53
  1253. package/esm/util/stopToken.d.ts +0 -19
  1254. package/esm/util/stopToken.js +0 -90
  1255. package/esm/util/transferables.d.ts +0 -2
  1256. package/esm/util/transferables.js +0 -35
  1257. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1258. package/esm/util/tss-react/mui/index.js +0 -1
  1259. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1260. package/esm/util/tss-react/mui/mui.js +0 -5
  1261. package/esm/util/when.d.ts +0 -1
  1262. package/esm/util/when.js +0 -1
  1263. /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
  1264. /package/esm/data_adapters/BaseAdapter/{BaseOptions.js → zoomRange.js} +0 -0
  1265. /package/esm/{util/layouts/BaseLayout.js → rpc/RpcRegistry.js} +0 -0
@@ -1,101 +1,374 @@
1
1
  import { addDisposer, getParent, types } from '@jbrowse/mobx-state-tree';
2
- import { reaction } from 'mobx';
3
- import assemblyFactory from "./assembly.js";
4
- import { readConfObject } from "../configuration/index.js";
5
- import { when } from "../util/index.js";
2
+ import { autorun, untracked, when } from 'mobx';
3
+ import { readConfObject } from '../configuration/index.js';
4
+ import assemblyFactory from './assembly.js';
5
+ import { indexAssemblyNames } from './indexAssemblyNames.js';
6
+ // How long waitForAssembly gives a handler that did NOT return a promise.
7
+ // Nothing about such a handler is observable — it was told a name and said
8
+ // nothing back — so there is no event to wait on and the only choices are a
9
+ // clock or giving up immediately, which would break a fire-and-forget handler
10
+ // that resolves the name a moment later. A handler that returns a promise gets
11
+ // waited on properly and never reaches this.
12
+ const UNDECLARED_HANDLER_GRACE_MS = 10000;
13
+ function isThenable(value) {
14
+ return typeof value?.then === 'function';
15
+ }
16
+ /**
17
+ * Per-session record of the `Core-handleUnrecognizedAssembly` reports this
18
+ * manager has made, and of what the handlers said back.
19
+ *
20
+ * Each name is reported once. Handlers resolve a name asynchronously and out of
21
+ * band — the hubs plugin probes a url and adds a connection — and the assembly
22
+ * turning up is itself the reactive signal, so there is nothing for a second
23
+ * report to accomplish. `get` is called from render paths and computeds, so
24
+ * without this every re-render re-reported, and a handler that answers by
25
+ * fetching re-fetched: for exactly the names nothing can supply (a session
26
+ * naming a genome this host has never heard of) that is an unbounded stream of
27
+ * requests.
28
+ *
29
+ * A handler may return a promise, which is its statement that it is working on
30
+ * the name and that resolution is over when the promise settles. That is what
31
+ * lets `waitForAssembly` wait on an event rather than on a clock, so the promise
32
+ * should cover everything the handler does before the session gains anything
33
+ * observable — for a handler that adds a connection, at least the probe that
34
+ * decides whether to add one. The value is remembered here, so a later waiter
35
+ * can await the same attempt the first lookup started.
36
+ *
37
+ * Keyed on the session node so replacing the session (`setSession`) starts
38
+ * over: the connections and session assemblies a handler created for the old
39
+ * session went with it, so a name it already answered for has to be answerable
40
+ * again.
41
+ *
42
+ * Not observable state: `get` records into this from inside a derivation, where
43
+ * writing an observable would be a state change inside a computed. A closure
44
+ * rather than a class, because this is the type of a volatile and so reaches the
45
+ * inferred root-model type of every product, where a class loses either way —
46
+ * `private` members are still written into the declaration and then rejected as
47
+ * inaccessible (TS4094), while a field typed `Map<string, AssemblyReport>` names
48
+ * a module-local type (TS4058). Neither fires in this package; both fire in
49
+ * jbrowse-web, the embedded products and the react components. Two methods
50
+ * closing over the state name nothing but their own signatures.
51
+ */
52
+ function createUnrecognizedAssemblyReports() {
53
+ let current;
54
+ const reports = new Map();
55
+ return {
56
+ /**
57
+ * Report `name` via `fire`, once per session, and keep what came back.
58
+ * `handlerCount` separates "every handler declined" from "nobody
59
+ * listening": the folded result is the same either way, and only the first
60
+ * is worth waiting out.
61
+ */
62
+ report(session, name, handlerCount, fire) {
63
+ if (current !== session) {
64
+ current = session;
65
+ reports.clear();
66
+ }
67
+ if (reports.has(name)) {
68
+ return;
69
+ }
70
+ const report = { handled: handlerCount > 0 };
71
+ // recorded before firing: a handler that synchronously reads back through
72
+ // `get` must not re-enter and report the same name again
73
+ reports.set(name, report);
74
+ const result = fire();
75
+ if (isThenable(result)) {
76
+ // a rejection is the handler's own to log; here it only means "done"
77
+ report.claim = Promise.resolve(result).then(() => { }, () => { });
78
+ }
79
+ },
80
+ /** what `report` recorded for `name` under `session`, if anything */
81
+ reportFor(session, name) {
82
+ return current === session ? reports.get(name) : undefined;
83
+ },
84
+ };
85
+ }
86
+ /**
87
+ * #stateModel AssemblyManager
88
+ */
6
89
  function assemblyManagerFactory(conf, pm) {
7
90
  return types
8
91
  .model({
92
+ /**
93
+ * #property
94
+ * this is automatically managed by an autorun which looks in the parent
95
+ * session.assemblies, session.sessionAssemblies, and
96
+ * session.temporaryAssemblies
97
+ */
9
98
  assemblies: types.array(assemblyFactory(conf, pm)),
10
99
  })
100
+ .volatile(() => ({
101
+ /**
102
+ * #volatile
103
+ * rate limiter for `get`'s `Core-handleUnrecognizedAssembly` reports, so
104
+ * each unknown name reaches the extension point once per session
105
+ */
106
+ unrecognizedReports: createUnrecognizedAssemblyReports(),
107
+ }))
11
108
  .views(self => ({
109
+ /**
110
+ * #getter
111
+ */
12
112
  get assemblyNameMap() {
13
- const obj = {};
14
- for (const assembly of self.assemblies) {
15
- for (const name of assembly.allAliases) {
16
- obj[name] = assembly;
17
- }
18
- }
19
- return obj;
113
+ return Object.fromEntries(indexAssemblyNames(self.assemblies, a => ({
114
+ name: a.name,
115
+ aliases: a.aliases,
116
+ })));
20
117
  },
21
118
  }))
22
119
  .views(self => ({
120
+ /**
121
+ * #method
122
+ */
23
123
  getCanonicalAssemblyName(asmName) {
24
124
  return self.assemblyNameMap[asmName]?.name;
25
125
  },
26
- getCanonicalAssemblyName2(asmName) {
27
- return self.assemblyNameMap[asmName]?.name || asmName;
126
+ /**
127
+ * #method
128
+ */
129
+ getDisplayName(asmName) {
130
+ return self.assemblyNameMap[asmName]?.displayName || asmName;
28
131
  },
132
+ /**
133
+ * #method
134
+ * The assembly `asmName` names, or undefined. Reports a name it doesn't
135
+ * know to `Core-handleUnrecognizedAssembly` so a plugin can go supply it,
136
+ * which is a side effect: a caller only asking *whether* the session has
137
+ * the assembly wants {@link has} instead. Each name is reported at most
138
+ * once per session, since a handler resolves it out of band and the
139
+ * assembly turning up is itself the reactive signal.
140
+ */
29
141
  get(asmName) {
30
142
  if (asmName) {
31
143
  const assembly = self.assemblyNameMap[asmName];
32
144
  if (assembly) {
33
145
  return assembly;
34
146
  }
35
- else if (!this.assemblyNamesList.includes(asmName)) {
36
- pm.evaluateExtensionPoint('Core-handleUnrecognizedAssembly', undefined, {
147
+ const { session } = getParent(self);
148
+ if (!this.has(asmName)) {
149
+ // Extension point for loading unrecognized assemblies. Allows
150
+ // plugins to provide custom logic for assembly resolution.
151
+ //
152
+ // A handler normally works out of band — adding a connection, say —
153
+ // and the assembly turning up is what this manager reacts to, so
154
+ // nothing here reads a result. But a handler that returns a promise
155
+ // is telling waitForAssembly when it has finished trying, which is
156
+ // the difference between waiting on an event and waiting on a
157
+ // clock; UnrecognizedAssemblyReports keeps it, and keeps each name
158
+ // from being reported more than once per session.
159
+ const point = 'Core-handleUnrecognizedAssembly';
160
+ self.unrecognizedReports.report(session, asmName, pm.extensionPointCallbackCount(point), () => pm.evaluateExtensionPoint(
161
+ /** #extensionPoint Core-handleUnrecognizedAssembly | sync | Supply an assembly config when a referenced assembly is unknown. May return a promise settling when the handler has finished trying, which is what lets waitForAssembly stop waiting without a timeout */
162
+ 'Core-handleUnrecognizedAssembly', undefined, {
37
163
  assemblyName: asmName,
38
- session: getParent(self).session,
39
- });
164
+ session,
165
+ }));
40
166
  }
41
167
  }
42
168
  return undefined;
43
169
  },
170
+ /**
171
+ * #method
172
+ * Whether the session knows this assembly. Use this, not `get`, to ask
173
+ * only whether the assembly is present: `!has(name)` is exactly the
174
+ * condition under which `get` reports `name` to
175
+ * `Core-handleUnrecognizedAssembly`, so probing with `get` tells every
176
+ * installed plugin to go resolve a name that a caller supplying the
177
+ * assembly itself (a hub connection, MAF row navigation) is about to
178
+ * create.
179
+ */
180
+ // `get` calls this to decide whether to report, so the two can't drift.
181
+ // (`get` also reports each name at most once per session; the dedupe is a
182
+ // rate limit on top of this condition, not a second answer to it.)
183
+ //
184
+ // Both lookups are load-bearing, and the config one has to cover aliases
185
+ // as well: assemblyNameMap is keyed by allAliases ([name, ...aliases]) but
186
+ // only exists once the afterAttach autorun has built the models, while
187
+ // confByName answers off the configs from the first render.
188
+ // Screening on the canonical names alone left `vvx` unknown for the whole
189
+ // startup window even though the config for `volvox` names it — a wrong
190
+ // "no", which means the caller re-adds an assembly the session already
191
+ // has, or (the synteny import forms) decides the session has nothing it
192
+ // can open.
193
+ //
194
+ // The map is still asked first, and is not redundant: an assembly whose
195
+ // config has just left the list still has a model until the autorun
196
+ // disposes of it.
197
+ //
198
+ // Return type annotated because assemblyNameMap is a Record: its index
199
+ // read is never undefined to the compiler, so `!!` on it infers the
200
+ // literal `true` and `!has(name)` would be dead code at every call site.
201
+ has(asmName) {
202
+ return !!self.assemblyNameMap[asmName] || this.confByName.has(asmName);
203
+ },
204
+ /**
205
+ * #method
206
+ * The first of `asmNames` that hasn't finished loading — the one a view
207
+ * blocked on them is waiting for, and whose `statusMessage` /
208
+ * `statusProgress` its spinner should show. Returns the assembly itself
209
+ * (a stable reference, so a consuming getter doesn't invalidate on every
210
+ * read) or undefined once they are all loaded.
211
+ */
212
+ loadingAssembly(asmNames) {
213
+ return asmNames
214
+ .map(name => this.get(name))
215
+ .find(asm => !asm?.initialized);
216
+ },
217
+ /**
218
+ * #getter
219
+ * the canonical name of every configured assembly, read the way the
220
+ * afterAttach autorun names the models it builds
221
+ */
44
222
  get assemblyNamesList() {
45
- return this.assemblyList.map(asm => asm.name);
223
+ return this.assemblyList.map(asm => readConfObject(asm, 'name'));
46
224
  },
225
+ /**
226
+ * #getter
227
+ * Every name the *configs* answer to — each assembly's `name` and its
228
+ * `aliases` — mapped to its config, which exists before the assembly's
229
+ * model does. What {@link has} knows before the models exist, and
230
+ * resolved by the same precedence as `assemblyNameMap`.
231
+ */
232
+ get confByName() {
233
+ return indexAssemblyNames(this.assemblyList, asm => ({
234
+ name: readConfObject(asm, 'name'),
235
+ aliases: readConfObject(asm, 'aliases') ?? [],
236
+ }));
237
+ },
238
+ /**
239
+ * #getter
240
+ * combined jbrowse.assemblies, session.sessionAssemblies, and
241
+ * session.temporaryAssemblies
242
+ */
47
243
  get assemblyList() {
48
244
  const { jbrowse: { assemblies }, session: { sessionAssemblies = [], temporaryAssemblies = [] } = {}, } = getParent(self);
49
- return [
50
- ...assemblies,
51
- ...sessionAssemblies,
52
- ...temporaryAssemblies,
53
- ];
245
+ return [...assemblies, ...sessionAssemblies, ...temporaryAssemblies];
54
246
  },
55
247
  get rpcManager() {
56
248
  return getParent(self).rpcManager;
57
249
  },
58
250
  }))
59
251
  .views(self => ({
252
+ /**
253
+ * #method
254
+ * Wait out whatever might still be about to supply `assemblyName`, and
255
+ * resolve once nothing is.
256
+ *
257
+ * Resolution is a chain of events, not a duration: a handler probes and
258
+ * adds a connection, the connection fetches a config, the config's
259
+ * assemblies land in the session. Each link is observable, so each is
260
+ * waited on rather than guessed at.
261
+ *
262
+ * - the handler's own promise, if it returned one, covers the part before
263
+ * the session gains anything to watch (the hubs plugin's HEAD probe)
264
+ * - any connection still fetching could be carrying the assembly, so its
265
+ * `loading` flag going false is the next event. Every loading
266
+ * connection counts, not just one naming this assembly: a connection
267
+ * config need not declare what it will turn out to provide, and waiting
268
+ * for one connection too many costs a moment while missing one returns
269
+ * the wrong answer.
270
+ *
271
+ * A handler that returned nothing gets {@link UNDECLARED_HANDLER_GRACE_MS}
272
+ * instead, because it left nothing to wait on.
273
+ */
274
+ async settleAssemblyResolution(assemblyName) {
275
+ const { session } = getParent(self);
276
+ // read through assemblyNameMap, not get(): a predicate `when`
277
+ // re-evaluates should stay pure, and the report get() would make has
278
+ // already been made by waitForAssembly
279
+ const present = () => !!self.assemblyNameMap[assemblyName];
280
+ if (present()) {
281
+ return;
282
+ }
283
+ const report = self.unrecognizedReports.reportFor(session, assemblyName);
284
+ if (report?.claim) {
285
+ await report.claim;
286
+ }
287
+ else if (report?.handled) {
288
+ await when(present, { timeout: UNDECLARED_HANDLER_GRACE_MS }).catch(() => { });
289
+ }
290
+ // Nothing left that could still produce it. Both clauses are things
291
+ // that end on their own, so this needs no bound of its own.
292
+ const settled = () =>
293
+ // a config answering to the name, as its name or an alias, is
294
+ // already in the tree and the afterAttach autorun is about to build
295
+ // its model
296
+ !self.confByName.has(assemblyName) &&
297
+ // a connection mid-fetch could be carrying it. Every loading
298
+ // connection counts, not just one naming this assembly: a connection
299
+ // config need not declare what it will turn out to provide, and
300
+ // waiting for one connection too many costs a moment while missing
301
+ // one returns the wrong answer.
302
+ !session?.connectionInstances?.some(conn => conn.loading);
303
+ if (!present()) {
304
+ await when(() => present() || settled());
305
+ }
306
+ },
307
+ }))
308
+ .views(self => ({
309
+ /**
310
+ * #method
311
+ * use this method instead of assemblyManager.get(assemblyName) to get an
312
+ * assembly with regions loaded
313
+ */
60
314
  async waitForAssembly(assemblyName) {
61
315
  if (!assemblyName) {
62
316
  throw new Error('no assembly name supplied to waitForAssembly');
63
317
  }
318
+ // get() rather than a bare map read: an unknown name has to reach
319
+ // Core-handleUnrecognizedAssembly before there is anything to wait for
64
320
  let assembly = self.get(assemblyName);
65
321
  if (!assembly) {
66
- try {
67
- await when(() => Boolean(self.get(assemblyName)), {
68
- timeout: 10000,
69
- });
70
- assembly = self.get(assemblyName);
71
- }
72
- catch (e) {
73
- }
322
+ await self.settleAssemblyResolution(assemblyName);
323
+ assembly = self.get(assemblyName);
74
324
  }
75
325
  if (!assembly) {
76
326
  return undefined;
77
327
  }
328
+ // load() resolves only after setLoaded (regions + refNameAliases) has
329
+ // run and rejects on failure, so awaiting the promise is enough: no
330
+ // extra reactive wait, and no error check, needed
78
331
  await assembly.load();
79
- await when(() => !!(assembly.regions && assembly.refNameAliases) || !!assembly.error);
80
- if (assembly.error) {
81
- throw assembly.error;
82
- }
83
332
  return assembly;
84
333
  },
85
- async getRefNameMapForAdapter(adapterConf, assemblyName, opts) {
86
- if (assemblyName) {
87
- const asm = await this.waitForAssembly(assemblyName);
88
- return asm?.getRefNameMapForAdapter(adapterConf, opts);
334
+ /**
335
+ * #method
336
+ * {@link waitForAssembly}, but a name that cannot be resolved is an error
337
+ * rather than an `undefined` for the caller to interpret.
338
+ *
339
+ * Use it where a missing assembly produces a wrong result with no error.
340
+ * A refName map is one case: an empty map means an adapter gets queried
341
+ * with un-renamed refNames, finds nothing, and the track draws blank.
342
+ * Throwing here shows the assembly name to the user, who can add the
343
+ * assembly or fix the track.
344
+ *
345
+ * `waitForAssembly` returns only once every handler and connection that
346
+ * could supply the name has finished, so an unresolved name here is
347
+ * final and throwing does not race a late load.
348
+ */
349
+ async requireAssembly(assemblyName) {
350
+ const assembly = await this.waitForAssembly(assemblyName);
351
+ if (!assembly) {
352
+ throw new Error(`assembly "${assemblyName}" could not be resolved: it is not one of this session's assemblies and nothing supplied it`);
89
353
  }
90
- return {};
354
+ return assembly;
91
355
  },
92
- async getReverseRefNameMapForAdapter(adapterConf, assemblyName, opts) {
356
+ /**
357
+ * #method
358
+ * The refName map for an adapter under `assemblyName`. Throws if the
359
+ * assembly cannot be resolved — see {@link requireAssembly}. No
360
+ * `assemblyName` at all is not a failure, just nothing to rename.
361
+ */
362
+ async getRefNameMapForAdapter(adapterConf, assemblyName, opts) {
93
363
  if (assemblyName) {
94
- const asm = await this.waitForAssembly(assemblyName);
95
- return asm?.getReverseRefNameMapForAdapter(adapterConf, opts);
364
+ const asm = await this.requireAssembly(assemblyName);
365
+ return asm.getRefNameMapForAdapter(adapterConf, opts);
96
366
  }
97
367
  return {};
98
368
  },
369
+ /**
370
+ * #method
371
+ */
99
372
  isValidRefName(refName, assemblyName) {
100
373
  const assembly = self.get(assemblyName);
101
374
  if (assembly) {
@@ -106,23 +379,51 @@ function assemblyManagerFactory(conf, pm) {
106
379
  }))
107
380
  .actions(self => ({
108
381
  afterAttach() {
109
- addDisposer(self, reaction(() => self.assemblyList, assemblyConfs => {
110
- for (const asm of self.assemblies) {
111
- if (!asm.configuration) {
112
- this.removeAssembly(asm);
113
- }
382
+ const reconcile = (assemblyConfs) => {
383
+ // filter() returns a new plain array, so removing from
384
+ // self.assemblies in the loop below does not skip elements
385
+ // (removeAssembly splices the live observable array)
386
+ const orphaned = self.assemblies.filter(a => !a.configuration);
387
+ for (const asm of orphaned) {
388
+ this.removeAssembly(asm);
114
389
  }
390
+ const built = new Set(self.assemblies.map(a => a.name));
115
391
  for (const conf of assemblyConfs) {
116
- const name = readConfObject(conf, 'name');
117
- if (!self.assemblies.some(a => a.name === name)) {
392
+ if (!built.has(readConfObject(conf, 'name'))) {
118
393
  this.addAssembly(conf);
119
394
  }
120
395
  }
121
- }, { fireImmediately: true, name: 'assemblyManagerAfterAttach' }));
396
+ };
397
+ // also here, because an enclosing action defers the autorun's first
398
+ // run, and a load waiting on the model would wait for that
399
+ reconcile(self.assemblyList);
400
+ addDisposer(self, autorun(() => {
401
+ const assemblyConfs = self.assemblyList;
402
+ // eslint-disable-next-line no-restricted-syntax -- self-write: removes from the assemblies it reads
403
+ untracked(() => {
404
+ reconcile(assemblyConfs);
405
+ });
406
+ }, { name: 'assemblyManagerAfterAttach' }));
122
407
  },
408
+ /**
409
+ * #action
410
+ * private: you would generally want to add to manipulate
411
+ * jbrowse.assemblies, session.sessionAssemblies, or
412
+ * session.temporaryAssemblies instead of using this directly
413
+ */
123
414
  removeAssembly(asm) {
124
415
  self.assemblies.remove(asm);
125
416
  },
417
+ /**
418
+ * #action
419
+ * private: you would generally want to add to manipulate
420
+ * jbrowse.assemblies, session.sessionAssemblies, or
421
+ * session.temporaryAssemblies instead of using this directly
422
+ *
423
+ * this can take an active instance of an assembly, in which case it is
424
+ * referred to, or it can take an identifier e.g. assembly name, which is
425
+ * used as a reference. snapshots cannot be used
426
+ */
126
427
  addAssembly(configuration) {
127
428
  self.assemblies.push({ configuration });
128
429
  },
@@ -0,0 +1,39 @@
1
+ import type PluginManager from '../PluginManager.ts';
2
+ export declare function referenceSequenceTrackId(assemblyName: unknown): string;
3
+ /**
4
+ * The part of {@link expandAssemblyShorthand} that needs no plugin manager, for
5
+ * a reader of raw config JSON: the flat `{ name, uri }` form moves onto
6
+ * `sequence.adapter`, and `sequence.type` and `sequence.trackId` are each
7
+ * filled in when omitted. Returns `snap` itself when there is nothing to do.
8
+ */
9
+ export declare function expandAssemblySequence<T>(snap: T): T;
10
+ /**
11
+ * Expand an assembly snapshot's own shorthands into the `sequence` an assembly
12
+ * config declares: {@link expandAssemblySequence}, then the sequence adapter's
13
+ * type guessed from its `uri`.
14
+ *
15
+ * This is the assembly config schema's `preProcessSnapshot`, lifted out so a
16
+ * caller that has to see canonical locations *before* MST builds the tree can
17
+ * run it too. `localFiles` is that caller: it rewrites `{ uri: <a registered
18
+ * name> }` location nodes into blobs, and until this has run the only `uri` in
19
+ * a shorthand assembly is on the assembly itself, where it is not a location
20
+ * node and must not be rewritten as one. Idempotent, and returns `snap` itself
21
+ * when there is nothing to expand.
22
+ */
23
+ export declare function expandAssemblyShorthand<T>(snap: T, pluginManager: PluginManager): T;
24
+ /**
25
+ * Fill in an assembly `sequence.adapter`'s `type` from its `uri` when the type
26
+ * is omitted, so `sequence: { adapter: { uri: 'genome.fa.gz' } }` resolves to a
27
+ * `BgzipFastaAdapter` (and `.fa` → indexed, `.2bit` → `TwoBitAdapter`). Uses the
28
+ * same `Core-guessAdapterForLocation` extension point the "Add track" flow uses,
29
+ * so every host describes a custom genome with just a URL and lets jbrowse-core
30
+ * pick the adapter — no adapter-type table in the Python/R/JS bindings.
31
+ *
32
+ * Only the type comes off the guess: the adapter's own `normalizeSnapshot`
33
+ * expands the `uri` into the location slots it declares, so the shorthand
34
+ * expands to the same thing here as it does when the config names the type.
35
+ * A `uri` matching no sequence adapter is left untouched, and the same object
36
+ * reference comes back when there is nothing to expand, so callers can cheaply
37
+ * skip a rebuild.
38
+ */
39
+ export declare function expandAssemblySequenceAdapter(sequence: unknown, pluginManager: PluginManager): unknown;
@@ -0,0 +1,114 @@
1
+ import { isPlainObject } from '../util/objectUtils.js';
2
+ import { UNKNOWN } from '../util/tracks.js';
3
+ export function referenceSequenceTrackId(assemblyName) {
4
+ return `${assemblyName}-ReferenceSequenceTrack`;
5
+ }
6
+ /**
7
+ * The part of {@link expandAssemblyShorthand} that needs no plugin manager, for
8
+ * a reader of raw config JSON: the flat `{ name, uri }` form moves onto
9
+ * `sequence.adapter`, and `sequence.type` and `sequence.trackId` are each
10
+ * filled in when omitted. Returns `snap` itself when there is nothing to do.
11
+ */
12
+ export function expandAssemblySequence(snap) {
13
+ if (!isPlainObject(snap)) {
14
+ return snap;
15
+ }
16
+ const { uri, baseUri, ...rest } = snap;
17
+ const given = rest.sequence;
18
+ // baseUri, stamped next to `uri` by addRelativeUris, rides down onto the
19
+ // adapter so the sequence resolves against the config's location
20
+ const seq = typeof uri === 'string' &&
21
+ (given === undefined || (isPlainObject(given) && !given.adapter))
22
+ ? {
23
+ ...(isPlainObject(given) ? given : {}),
24
+ adapter: { uri, ...(baseUri ? { baseUri } : {}) },
25
+ }
26
+ : given;
27
+ if (!isPlainObject(seq) ||
28
+ (seq === snap.sequence && 'type' in seq && 'trackId' in seq)) {
29
+ return snap;
30
+ }
31
+ return {
32
+ ...rest,
33
+ sequence: {
34
+ type: 'ReferenceSequenceTrack',
35
+ trackId: referenceSequenceTrackId(snap.name),
36
+ ...seq,
37
+ },
38
+ };
39
+ }
40
+ /**
41
+ * Expand an assembly snapshot's own shorthands into the `sequence` an assembly
42
+ * config declares: {@link expandAssemblySequence}, then the sequence adapter's
43
+ * type guessed from its `uri`.
44
+ *
45
+ * This is the assembly config schema's `preProcessSnapshot`, lifted out so a
46
+ * caller that has to see canonical locations *before* MST builds the tree can
47
+ * run it too. `localFiles` is that caller: it rewrites `{ uri: <a registered
48
+ * name> }` location nodes into blobs, and until this has run the only `uri` in
49
+ * a shorthand assembly is on the assembly itself, where it is not a location
50
+ * node and must not be rewritten as one. Idempotent, and returns `snap` itself
51
+ * when there is nothing to expand.
52
+ */
53
+ export function expandAssemblyShorthand(snap, pluginManager) {
54
+ const expanded = expandAssemblySequence(snap);
55
+ if (!isPlainObject(expanded)) {
56
+ return expanded;
57
+ }
58
+ const sequence = expandAssemblySequenceAdapter(expanded.sequence, pluginManager);
59
+ return sequence === expanded.sequence ? expanded : { ...expanded, sequence };
60
+ }
61
+ /**
62
+ * Fill in an assembly `sequence.adapter`'s `type` from its `uri` when the type
63
+ * is omitted, so `sequence: { adapter: { uri: 'genome.fa.gz' } }` resolves to a
64
+ * `BgzipFastaAdapter` (and `.fa` → indexed, `.2bit` → `TwoBitAdapter`). Uses the
65
+ * same `Core-guessAdapterForLocation` extension point the "Add track" flow uses,
66
+ * so every host describes a custom genome with just a URL and lets jbrowse-core
67
+ * pick the adapter — no adapter-type table in the Python/R/JS bindings.
68
+ *
69
+ * Only the type comes off the guess: the adapter's own `normalizeSnapshot`
70
+ * expands the `uri` into the location slots it declares, so the shorthand
71
+ * expands to the same thing here as it does when the config names the type.
72
+ * A `uri` matching no sequence adapter is left untouched, and the same object
73
+ * reference comes back when there is nothing to expand, so callers can cheaply
74
+ * skip a rebuild.
75
+ */
76
+ export function expandAssemblySequenceAdapter(sequence, pluginManager) {
77
+ const adapter = isPlainObject(sequence) ? sequence.adapter : undefined;
78
+ if (isPlainObject(sequence) &&
79
+ isPlainObject(adapter) &&
80
+ !('type' in adapter) &&
81
+ typeof adapter.uri === 'string') {
82
+ const { uri, baseUri, ...extras } = adapter;
83
+ const guesser = pluginManager.evaluateExtensionPoint('Core-guessAdapterForLocation', () => undefined);
84
+ // baseUri (stamped next to `uri` by addRelativeUris for hub/relative configs)
85
+ // rides on the file location so the guessed fastaLocation and its derived
86
+ // .fai/.gzi siblings all resolve against the config's own location
87
+ const file = {
88
+ uri,
89
+ locationType: 'UriLocation',
90
+ ...(typeof baseUri === 'string' ? { baseUri } : {}),
91
+ };
92
+ const guess = guesser(file, undefined);
93
+ if (!guess || guess.type === UNKNOWN) {
94
+ return sequence;
95
+ }
96
+ // the type is the only thing the guess is needed for. The adapter's own
97
+ // normalizeSnapshot expands `uri` and everything riding with it — a 2bit's
98
+ // `chromSizes`, which the guess has no slot for and MST then dropped
99
+ // unannounced — so this is not a second place that knows how a sequence
100
+ // file names its sidecars. An adapter declaring no shorthand keeps the
101
+ // guess's derived locations.
102
+ const normalize = pluginManager.hasAdapterType(guess.type)
103
+ ? pluginManager.getAdapterType(guess.type).normalizeSnapshot
104
+ : undefined;
105
+ const shorthand = { ...adapter, type: guess.type };
106
+ const normalized = normalize?.(shorthand) ?? shorthand;
107
+ // `uri` is consumed, and it has to GO: localFiles substitutes a blob into a
108
+ // location node, and an adapter still carrying `uri` reads as one
109
+ const full = normalized === shorthand ? { ...guess, ...extras } : normalized;
110
+ const { uri: _consumed, baseUri: _spent, ...expanded } = full;
111
+ return { ...sequence, adapter: expanded };
112
+ }
113
+ return sequence;
114
+ }
@@ -0,0 +1,21 @@
1
+ import type PluginManager from '../PluginManager.ts';
2
+ import type { BaseOptions } from '../data_adapters/BaseAdapter/types.ts';
3
+ import type { FileLocation } from '../util/types/index.ts';
4
+ import type { RefNameAliases } from './refNameMaps.ts';
5
+ /**
6
+ * NCBI genetic-code (translation table) id for `refName`, taken from the first
7
+ * of `maps` holding an entry for it, else the standard code (1).
8
+ *
9
+ * A map key and `refName` may each independently be a canonical name or an
10
+ * alias of one: a config generated from NCBI keys by the GFF's RefSeq accession
11
+ * while the assembly's canonical name is the UCSC-style one, and callers that
12
+ * pass a feature's own refName rather than the canonical one. Both sides are
13
+ * resolved through `refNameAliases` (loaded from the chromAlias file) so they
14
+ * meet. The maps are per-assembly contig lists, so scanning them is cheap.
15
+ */
16
+ export declare function lookupGeneticCodeId(refName: string, refNameAliases: RefNameAliases | undefined, maps: Record<string, number>[]): number;
17
+ export declare function getGeneticCodesFromFile({ location, pluginManager, opts, }: {
18
+ location: FileLocation | undefined;
19
+ pluginManager: PluginManager;
20
+ opts?: BaseOptions;
21
+ }): Promise<Record<string, number>>;