@jbrowse/core 4.2.1 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1124) hide show
  1. package/README.md +783 -0
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
  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 -2
  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 +1 -1
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
  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 +6 -4
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
  33. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
  34. package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
  35. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
  36. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
  37. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
  38. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
  39. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
  40. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
  41. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
  57. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
  58. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
  59. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
  60. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
  61. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
  62. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
  63. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  64. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
  65. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
  66. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
  67. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
  68. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
  69. package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
  70. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
  71. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
  72. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
  73. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
  74. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
  75. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
  76. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
  77. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
  78. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
  79. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
  80. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
  81. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
  82. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
  83. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
  84. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
  85. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
  86. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
  87. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
  88. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
  89. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
  90. package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
  91. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
  92. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
  93. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
  94. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
  95. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
  96. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
  97. package/esm/BaseFeatureWidget/configSchema.js +1 -1
  98. package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
  99. package/esm/BaseFeatureWidget/formatDetails.js +103 -0
  100. package/esm/BaseFeatureWidget/index.d.ts +3 -1
  101. package/esm/BaseFeatureWidget/index.js +2 -2
  102. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
  103. package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
  104. package/esm/BaseFeatureWidget/types.d.ts +4 -3
  105. package/esm/BaseFeatureWidget/util.d.ts +4 -29
  106. package/esm/BaseFeatureWidget/util.js +20 -84
  107. package/esm/CorePlugin.js +11 -6
  108. package/esm/PhasedScheduler.d.ts +4 -2
  109. package/esm/PhasedScheduler.js +18 -2
  110. package/esm/Plugin.d.ts +6 -1
  111. package/esm/Plugin.js +7 -0
  112. package/esm/PluginLoader.d.ts +40 -40
  113. package/esm/PluginLoader.js +166 -82
  114. package/esm/PluginManager.d.ts +368 -55
  115. package/esm/PluginManager.js +326 -85
  116. package/esm/ReExports/BaseFeatureDetails.js +7 -6
  117. package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
  118. package/esm/ReExports/MuiDataGridReExports.js +58 -130
  119. package/esm/ReExports/MuiReExports.d.ts +3 -134
  120. package/esm/ReExports/MuiReExports.js +43 -16
  121. package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
  122. package/esm/ReExports/MuiStylesReExports.js +55 -0
  123. package/esm/ReExports/index.js +1 -1
  124. package/esm/ReExports/lazify.d.ts +2 -2
  125. package/esm/ReExports/lazify.js +16 -3
  126. package/esm/ReExports/list.js +54 -229
  127. package/esm/ReExports/modules.js +84 -65
  128. package/esm/ReExports/muiComponentNames.d.ts +18 -0
  129. package/esm/ReExports/muiComponentNames.js +130 -0
  130. package/esm/ReExports/publicUtil.d.ts +1 -0
  131. package/esm/ReExports/publicUtil.js +28 -0
  132. package/esm/ReExports/registry.d.ts +2 -0
  133. package/esm/ReExports/registry.js +28 -0
  134. package/esm/TextSearch/BaseResults.d.ts +20 -21
  135. package/esm/TextSearch/BaseResults.js +8 -33
  136. package/esm/TextSearch/TextSearchManager.d.ts +14 -34
  137. package/esm/TextSearch/TextSearchManager.js +87 -34
  138. package/esm/assemblyManager/assembly.d.ts +307 -34
  139. package/esm/assemblyManager/assembly.js +551 -262
  140. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  141. package/esm/assemblyManager/assemblyAdapters.js +18 -0
  142. package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
  143. package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
  144. package/esm/assemblyManager/assemblyManager.d.ts +711 -303
  145. package/esm/assemblyManager/assemblyManager.js +351 -46
  146. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
  147. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
  148. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  149. package/esm/assemblyManager/geneticCodes.js +47 -0
  150. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
  151. package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
  152. package/esm/assemblyManager/index.d.ts +1 -1
  153. package/esm/assemblyManager/index.js +2 -2
  154. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  155. package/esm/assemblyManager/loadRefNameMap.js +80 -0
  156. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  157. package/esm/assemblyManager/refNameColors.js +32 -0
  158. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  159. package/esm/assemblyManager/refNameMaps.js +87 -0
  160. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  161. package/esm/assemblyManager/refNameMismatch.js +66 -0
  162. package/esm/checkPlugins.d.ts +11 -0
  163. package/esm/checkPlugins.js +77 -0
  164. package/esm/configuration/configurationSchema.d.ts +154 -19
  165. package/esm/configuration/configurationSchema.js +359 -138
  166. package/esm/configuration/configurationSlot.d.ts +283 -30
  167. package/esm/configuration/configurationSlot.js +205 -226
  168. package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
  169. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  170. package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
  171. package/esm/configuration/formatDetailsConfigSchema.js +90 -0
  172. package/esm/configuration/fullConfSnapshot.d.ts +28 -0
  173. package/esm/configuration/fullConfSnapshot.js +66 -0
  174. package/esm/configuration/getConf.d.ts +88 -0
  175. package/esm/configuration/getConf.js +74 -0
  176. package/esm/configuration/index.d.ts +19 -3
  177. package/esm/configuration/index.js +19 -2
  178. package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
  179. package/esm/configuration/mergeFormatCallbacks.js +24 -0
  180. package/esm/configuration/promotableDefaults.d.ts +199 -0
  181. package/esm/configuration/promotableDefaults.js +326 -0
  182. package/esm/configuration/promotablePin.d.ts +55 -0
  183. package/esm/configuration/promotableResolve.d.ts +108 -0
  184. package/esm/configuration/promotableResolve.js +117 -0
  185. package/esm/configuration/promotableSlots.d.ts +12 -0
  186. package/esm/configuration/promotableSlots.js +45 -0
  187. package/esm/configuration/readConfObject.d.ts +56 -0
  188. package/esm/configuration/readConfObject.js +161 -0
  189. package/esm/configuration/schemaRegistry.d.ts +35 -0
  190. package/esm/configuration/schemaRegistry.js +50 -0
  191. package/esm/configuration/schemaTypes.d.ts +23 -0
  192. package/esm/configuration/schemaTypes.js +94 -0
  193. package/esm/configuration/slotFacade.d.ts +82 -0
  194. package/esm/configuration/slotFacade.js +89 -0
  195. package/esm/configuration/slotShape.d.ts +12 -0
  196. package/esm/configuration/slotShape.js +84 -0
  197. package/esm/configuration/slotValueUtils.d.ts +17 -0
  198. package/esm/configuration/slotValueUtils.js +25 -0
  199. package/esm/configuration/tabixIndexFields.d.ts +44 -0
  200. package/esm/configuration/tabixIndexFields.js +45 -0
  201. package/esm/configuration/tabixShorthand.d.ts +34 -0
  202. package/esm/configuration/tabixShorthand.js +45 -0
  203. package/esm/configuration/types.d.ts +170 -7
  204. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
  205. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
  206. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
  207. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
  208. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  209. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  210. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  211. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  212. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  213. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  214. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  215. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  216. package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
  217. package/esm/data_adapters/BaseAdapter/index.js +5 -5
  218. package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
  219. package/esm/data_adapters/BaseAdapter/stats.js +48 -22
  220. package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
  221. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  222. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  223. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  224. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  225. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
  226. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
  227. package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
  228. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  229. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  230. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  231. package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
  232. package/esm/data_adapters/dataAdapterCache.js +62 -22
  233. package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
  234. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  235. package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
  236. package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
  237. package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
  238. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  239. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  240. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  241. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  242. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  243. package/esm/pluggableElementTypes/DisplayType.d.ts +10 -0
  244. package/esm/pluggableElementTypes/DisplayType.js +14 -1
  245. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  246. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
  247. package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
  248. package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
  249. package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
  250. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
  251. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  252. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  253. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  254. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  255. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  256. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
  257. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  258. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  259. package/esm/pluggableElementTypes/TrackType.js +1 -1
  260. package/esm/pluggableElementTypes/ViewType.d.ts +2 -1
  261. package/esm/pluggableElementTypes/ViewType.js +9 -2
  262. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  263. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  264. package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
  265. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  266. package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
  267. package/esm/pluggableElementTypes/extendElementType.js +68 -0
  268. package/esm/pluggableElementTypes/index.d.ts +7 -7
  269. package/esm/pluggableElementTypes/index.js +24 -14
  270. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
  271. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  272. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
  273. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
  274. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +196 -55
  275. package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
  276. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
  277. package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
  278. package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
  279. package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
  280. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
  281. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  282. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
  283. package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
  284. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
  285. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  286. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
  287. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  288. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
  289. package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
  290. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  291. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
  292. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
  293. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  294. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
  295. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
  296. package/esm/pluggableElementTypes/models/index.d.ts +6 -3
  297. package/esm/pluggableElementTypes/models/index.js +10 -8
  298. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
  299. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
  300. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  301. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
  302. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
  303. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  304. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  305. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  306. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  307. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  308. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  309. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  310. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  311. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  312. package/esm/pluginDefinitions.d.ts +198 -0
  313. package/esm/pluginDefinitions.js +220 -0
  314. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  315. package/esm/rpc/BaseRpcDriver.js +74 -107
  316. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  317. package/esm/rpc/MainThreadRpcDriver.js +18 -29
  318. package/esm/rpc/RpcClient.d.ts +38 -0
  319. package/esm/rpc/RpcClient.js +154 -0
  320. package/esm/rpc/RpcManager.d.ts +116 -27
  321. package/esm/rpc/RpcManager.js +177 -50
  322. package/esm/rpc/RpcRegistry.d.ts +265 -0
  323. package/esm/rpc/RpcRegistry.js +1 -0
  324. package/esm/rpc/RpcServer.d.ts +41 -0
  325. package/esm/rpc/RpcServer.js +235 -0
  326. package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
  327. package/esm/rpc/WebWorkerRpcDriver.js +312 -27
  328. package/esm/rpc/byteBudget.d.ts +49 -0
  329. package/esm/rpc/byteBudget.js +50 -0
  330. package/esm/rpc/configSchema.d.ts +27 -5
  331. package/esm/rpc/configSchema.js +40 -16
  332. package/esm/rpc/coreRpcMethods.d.ts +2 -5
  333. package/esm/rpc/coreRpcMethods.js +9 -12
  334. package/esm/rpc/explainTransferError.d.ts +35 -0
  335. package/esm/rpc/explainTransferError.js +158 -0
  336. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  337. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  338. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  339. package/esm/rpc/methods/CoreGetExportData.js +26 -15
  340. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  341. package/esm/rpc/methods/CoreGetFeatures.js +15 -17
  342. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  343. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  344. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  345. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  346. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  347. package/esm/rpc/methods/CoreGetRefNames.js +24 -13
  348. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  349. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  350. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  351. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  352. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  353. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  354. package/esm/rpc/serializeError/index.d.ts +9 -0
  355. package/esm/rpc/serializeError/index.js +86 -0
  356. package/esm/svg/SvgExport.d.ts +30 -0
  357. package/esm/svg/SvgExport.js +53 -0
  358. package/esm/svg/constants.d.ts +1 -0
  359. package/esm/svg/constants.js +5 -0
  360. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  361. package/esm/svg/saveSvgAsImage.js +90 -0
  362. package/esm/svg/svgId.d.ts +42 -0
  363. package/esm/svg/svgId.js +84 -0
  364. package/esm/svg/svgReady.d.ts +136 -0
  365. package/esm/svg/svgReady.js +164 -0
  366. package/esm/svg/trackNames.d.ts +27 -0
  367. package/esm/svg/trackNames.js +31 -0
  368. package/esm/svg/wrapSvgExport.d.ts +12 -0
  369. package/esm/svg/wrapSvgExport.js +78 -0
  370. package/esm/ui/ActionLink.d.ts +7 -0
  371. package/esm/ui/ActionLink.js +9 -0
  372. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  373. package/esm/ui/AddCustomPluginDialog.js +61 -0
  374. package/esm/ui/AddGenomePane.d.ts +8 -0
  375. package/esm/ui/AddGenomePane.js +228 -0
  376. package/esm/ui/AdvancedOptions.d.ts +6 -0
  377. package/esm/ui/AdvancedOptions.js +17 -0
  378. package/esm/ui/AppLogo.d.ts +1 -1
  379. package/esm/ui/AppLogo.js +2 -2
  380. package/esm/ui/AssemblySelector.d.ts +5 -8
  381. package/esm/ui/AssemblySelector.js +8 -26
  382. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  383. package/esm/ui/BaseExportSvgDialog.js +84 -0
  384. package/esm/ui/BaseTooltip.d.ts +14 -3
  385. package/esm/ui/BaseTooltip.js +151 -34
  386. package/esm/ui/CascadingMenu.d.ts +9 -18
  387. package/esm/ui/CascadingMenu.js +368 -41
  388. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  389. package/esm/ui/CascadingMenuButton.js +36 -18
  390. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  391. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  392. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  393. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  394. package/esm/ui/ColorPicker.d.ts +6 -9
  395. package/esm/ui/ColorPicker.js +36 -39
  396. package/esm/ui/ConfirmDialog.d.ts +2 -9
  397. package/esm/ui/ConfirmDialog.js +6 -9
  398. package/esm/ui/ContextMenu.d.ts +50 -0
  399. package/esm/ui/ContextMenu.js +55 -0
  400. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  401. package/esm/ui/CopyToClipboardButton.js +14 -0
  402. package/esm/ui/Crosshairs.d.ts +10 -0
  403. package/esm/ui/Crosshairs.js +15 -0
  404. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  405. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  406. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  407. package/esm/ui/DataGridFlexContainer.js +4 -3
  408. package/esm/ui/Dialog.d.ts +5 -2
  409. package/esm/ui/Dialog.js +35 -27
  410. package/esm/ui/DraggableDialog.d.ts +3 -3
  411. package/esm/ui/DraggableDialog.js +50 -12
  412. package/esm/ui/DropDownMenu.d.ts +4 -2
  413. package/esm/ui/DropDownMenu.js +4 -4
  414. package/esm/ui/EditableTypography.d.ts +3 -1
  415. package/esm/ui/EditableTypography.js +34 -26
  416. package/esm/ui/ErrorActions.d.ts +24 -0
  417. package/esm/ui/ErrorActions.js +20 -0
  418. package/esm/ui/ErrorBanner.d.ts +7 -0
  419. package/esm/ui/ErrorBanner.js +35 -0
  420. package/esm/ui/ErrorBar.d.ts +6 -0
  421. package/esm/ui/ErrorBar.js +35 -0
  422. package/esm/ui/ErrorBoundary.d.ts +29 -5
  423. package/esm/ui/ErrorBoundary.js +32 -2
  424. package/esm/ui/ErrorMessage.d.ts +2 -4
  425. package/esm/ui/ErrorMessage.js +17 -52
  426. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  427. package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
  428. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  429. package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
  430. package/esm/ui/ErrorOverlay.d.ts +8 -0
  431. package/esm/ui/ErrorOverlay.js +5 -0
  432. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  433. package/esm/ui/ExportSvgDialog.js +9 -0
  434. package/esm/ui/ExternalLink.d.ts +1 -1
  435. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  436. package/esm/ui/FactoryResetDialog.js +6 -15
  437. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  438. package/esm/ui/FatalErrorDialog.js +6 -5
  439. package/esm/ui/FileDropZone.d.ts +25 -0
  440. package/esm/ui/FileDropZone.js +128 -0
  441. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  442. package/esm/ui/FileSelector/FileSelector.js +59 -30
  443. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  444. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  445. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  446. package/esm/ui/FileSelector/LocationInput.js +8 -12
  447. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  448. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  449. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  450. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  451. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  452. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  453. package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
  454. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  455. package/esm/ui/FileSelector/util.d.ts +58 -3
  456. package/esm/ui/FileSelector/util.js +128 -11
  457. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  458. package/esm/ui/GpuFallbackButton.js +20 -0
  459. package/esm/ui/HoverMenu.d.ts +12 -3
  460. package/esm/ui/HoverMenu.js +31 -9
  461. package/esm/ui/HoverTooltip.d.ts +27 -0
  462. package/esm/ui/HoverTooltip.js +24 -0
  463. package/esm/ui/Icons.d.ts +6 -4
  464. package/esm/ui/Icons.js +9 -0
  465. package/esm/ui/InfoDialog.d.ts +7 -0
  466. package/esm/ui/InfoDialog.js +16 -0
  467. package/esm/ui/InlineMenuControls.d.ts +6 -0
  468. package/esm/ui/InlineMenuControls.js +17 -0
  469. package/esm/ui/JexlFilterDialog.d.ts +23 -0
  470. package/esm/ui/JexlFilterDialog.js +94 -0
  471. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  472. package/esm/ui/LabeledCheckbox.js +7 -0
  473. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  474. package/esm/ui/LegendSwatchGlyph.js +25 -0
  475. package/esm/ui/LoadingDots.d.ts +1 -0
  476. package/esm/ui/LoadingDots.js +30 -0
  477. package/esm/ui/LoadingEllipses.d.ts +17 -1
  478. package/esm/ui/LoadingEllipses.js +20 -29
  479. package/esm/ui/LoadingOverlay.d.ts +9 -0
  480. package/esm/ui/LoadingOverlay.js +137 -0
  481. package/esm/ui/LoadingProgress.d.ts +16 -0
  482. package/esm/ui/LoadingProgress.js +16 -0
  483. package/esm/ui/Logo.d.ts +2 -2
  484. package/esm/ui/Logo.js +23 -24
  485. package/esm/ui/Menu.js +1 -1
  486. package/esm/ui/MenuItemChevron.d.ts +3 -0
  487. package/esm/ui/MenuItemChevron.js +19 -0
  488. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  489. package/esm/ui/MenuItemEndDecoration.js +28 -0
  490. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  491. package/esm/ui/MenuItemTrailing.js +42 -0
  492. package/esm/ui/MenuTypes.d.ts +124 -4
  493. package/esm/ui/MenuTypes.js +13 -1
  494. package/esm/ui/MonospaceTextField.d.ts +9 -0
  495. package/esm/ui/MonospaceTextField.js +37 -0
  496. package/esm/ui/NumberTextField.d.ts +31 -0
  497. package/esm/ui/NumberTextField.js +33 -0
  498. package/esm/ui/PaletteContext.d.ts +85 -0
  499. package/esm/ui/PaletteContext.js +104 -0
  500. package/esm/ui/PinAdornment.d.ts +5 -0
  501. package/esm/ui/PinAdornment.js +79 -0
  502. package/esm/ui/PluggableComponent.d.ts +10 -0
  503. package/esm/ui/PluggableComponent.js +19 -0
  504. package/esm/ui/PluggableComponents.d.ts +29 -0
  505. package/esm/ui/PluggableComponents.js +28 -0
  506. package/esm/ui/PluggableElements.d.ts +23 -0
  507. package/esm/ui/PluggableElements.js +24 -0
  508. package/esm/ui/PluginStoreCard.d.ts +17 -0
  509. package/esm/ui/PluginStoreCard.js +45 -0
  510. package/esm/ui/PopoverPicker.d.ts +6 -0
  511. package/esm/ui/PopoverPicker.js +25 -0
  512. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  513. package/esm/ui/PrerenderedCanvas.js +5 -4
  514. package/esm/ui/ProgressChip.d.ts +37 -0
  515. package/esm/ui/ProgressChip.js +66 -0
  516. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  517. package/esm/ui/RedErrorMessageBox.js +9 -3
  518. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  519. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  520. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  521. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  522. package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
  523. package/esm/ui/RefNameAutocomplete/index.js +78 -0
  524. package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
  525. package/esm/ui/RefNameAutocomplete/util.js +168 -0
  526. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  527. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  528. package/esm/ui/ResizeHandle.d.ts +13 -7
  529. package/esm/ui/ResizeHandle.js +42 -55
  530. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  531. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  532. package/esm/ui/SanitizedHTML.d.ts +6 -1
  533. package/esm/ui/SanitizedHTML.js +7 -46
  534. package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
  535. package/esm/ui/ScrollEdgeShadow.js +98 -0
  536. package/esm/ui/ScrollZoomToggle.d.ts +38 -0
  537. package/esm/ui/ScrollZoomToggle.js +92 -0
  538. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  539. package/esm/ui/SequenceAdapterInputs.js +30 -0
  540. package/esm/ui/SettingsChangesTable.d.ts +14 -0
  541. package/esm/ui/SettingsChangesTable.js +49 -0
  542. package/esm/ui/ShareLinkField.d.ts +6 -0
  543. package/esm/ui/ShareLinkField.js +42 -0
  544. package/esm/ui/SingleSlider.d.ts +8 -0
  545. package/esm/ui/SingleSlider.js +11 -0
  546. package/esm/ui/SizeSliderRow.d.ts +16 -0
  547. package/esm/ui/SizeSliderRow.js +50 -0
  548. package/esm/ui/SliderTooltip.d.ts +2 -0
  549. package/esm/ui/SliderTooltip.js +17 -0
  550. package/esm/ui/Snackbar.d.ts +4 -2
  551. package/esm/ui/Snackbar.js +11 -8
  552. package/esm/ui/SnackbarContents.d.ts +1 -1
  553. package/esm/ui/SnackbarContents.js +21 -3
  554. package/esm/ui/SnackbarModel.d.ts +40 -0
  555. package/esm/ui/SnackbarModel.js +43 -11
  556. package/esm/ui/StackTraceButton.d.ts +5 -0
  557. package/esm/ui/StackTraceButton.js +16 -0
  558. package/esm/ui/StatusProgressBar.d.ts +37 -0
  559. package/esm/ui/StatusProgressBar.js +76 -0
  560. package/esm/ui/SubmitDialog.d.ts +6 -0
  561. package/esm/ui/SubmitDialog.js +9 -0
  562. package/esm/ui/SubmitForm.d.ts +23 -0
  563. package/esm/ui/SubmitForm.js +23 -0
  564. package/esm/ui/SvgColorLegend.d.ts +13 -0
  565. package/esm/ui/SvgColorLegend.js +65 -0
  566. package/esm/ui/SvgGradientLegend.d.ts +26 -0
  567. package/esm/ui/SvgGradientLegend.js +26 -0
  568. package/esm/ui/TagTextField.d.ts +40 -0
  569. package/esm/ui/TagTextField.js +32 -0
  570. package/esm/ui/VerticalScrollbar.d.ts +45 -0
  571. package/esm/ui/VerticalScrollbar.js +158 -0
  572. package/esm/ui/ViewLoadingScreen.d.ts +24 -0
  573. package/esm/ui/ViewLoadingScreen.js +76 -0
  574. package/esm/ui/addExtensionElement.d.ts +18 -0
  575. package/esm/ui/addExtensionElement.js +23 -0
  576. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  577. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  578. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  579. package/esm/ui/colorSwatchStyle.js +11 -0
  580. package/esm/ui/colors.d.ts +61 -8
  581. package/esm/ui/colors.js +135 -1
  582. package/esm/ui/extensionSelectors.d.ts +38 -0
  583. package/esm/ui/extensionSelectors.js +49 -0
  584. package/esm/ui/filterMenuItems.d.ts +112 -0
  585. package/esm/ui/filterMenuItems.js +86 -0
  586. package/esm/ui/formatErrorStack.d.ts +1 -0
  587. package/esm/ui/formatErrorStack.js +56 -0
  588. package/esm/ui/gpuFallback.d.ts +33 -0
  589. package/esm/ui/gpuFallback.js +39 -0
  590. package/esm/ui/highlightChipReveal.d.ts +32 -0
  591. package/esm/ui/highlightChipReveal.js +39 -0
  592. package/esm/ui/hoverBoxStyle.d.ts +11 -0
  593. package/esm/ui/hoverBoxStyle.js +13 -0
  594. package/esm/ui/index.d.ts +76 -4
  595. package/esm/ui/index.js +90 -19
  596. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  597. package/esm/ui/inlineMenuRowWidth.js +8 -0
  598. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  599. package/esm/ui/launchTargetsMenuItem.js +24 -0
  600. package/esm/ui/launchViewMenu.d.ts +4 -0
  601. package/esm/ui/launchViewMenu.js +36 -0
  602. package/esm/ui/legendMenuItem.d.ts +38 -0
  603. package/esm/ui/legendMenuItem.js +44 -0
  604. package/esm/ui/legendSpec.d.ts +62 -0
  605. package/esm/ui/legendSpec.js +78 -0
  606. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  607. package/esm/ui/loadingDotKeyframes.js +17 -0
  608. package/esm/ui/makeSizeMenu.d.ts +30 -0
  609. package/esm/ui/makeSizeMenu.js +82 -0
  610. package/esm/ui/mapStackTrace.d.ts +8 -0
  611. package/esm/ui/mapStackTrace.js +108 -0
  612. package/esm/ui/measureLegendText.d.ts +1 -0
  613. package/esm/ui/measureLegendText.js +8 -0
  614. package/esm/ui/menuItemAdornment.d.ts +33 -0
  615. package/esm/ui/menuItemAdornment.js +50 -0
  616. package/esm/ui/menuItems.d.ts +28 -0
  617. package/esm/ui/menuItems.js +26 -0
  618. package/esm/ui/menuLabels.d.ts +41 -0
  619. package/esm/ui/menuLabels.js +43 -0
  620. package/esm/ui/multiTrackMenuItems.d.ts +19 -0
  621. package/esm/ui/multiTrackMenuItems.js +15 -0
  622. package/esm/ui/palette.d.ts +559 -0
  623. package/esm/ui/palette.js +746 -0
  624. package/esm/ui/parseError.d.ts +4 -0
  625. package/esm/ui/parseError.js +18 -0
  626. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  627. package/esm/ui/persistentScrollbarStyle.js +53 -0
  628. package/esm/ui/promotableMenuItems.d.ts +19 -0
  629. package/esm/ui/promotableMenuItems.js +89 -0
  630. package/esm/ui/promotablePinCoverage.d.ts +44 -0
  631. package/esm/ui/promotablePinCoverage.js +87 -0
  632. package/esm/ui/radioSubMenu.d.ts +33 -0
  633. package/esm/ui/radioSubMenu.js +32 -0
  634. package/esm/ui/react-colorful.js +5 -1
  635. package/esm/ui/replaceViewAction.d.ts +31 -0
  636. package/esm/ui/replaceViewAction.js +39 -0
  637. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  638. package/esm/ui/rewriteExternalAnchors.js +8 -0
  639. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  640. package/esm/ui/scrollZoomLabels.js +22 -0
  641. package/esm/ui/showSubMenu.d.ts +19 -0
  642. package/esm/ui/showSubMenu.js +30 -0
  643. package/esm/ui/sliderScale.d.ts +6 -0
  644. package/esm/ui/sliderScale.js +30 -0
  645. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  646. package/esm/ui/statusProgressKeyframes.js +14 -0
  647. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  648. package/esm/ui/stripStackTraceMessage.js +9 -0
  649. package/esm/ui/styleTheme.d.ts +158 -0
  650. package/esm/ui/styleTheme.js +115 -0
  651. package/esm/ui/submenuAim.d.ts +30 -0
  652. package/esm/ui/submenuAim.js +37 -0
  653. package/esm/ui/theme.d.ts +343 -29
  654. package/esm/ui/theme.js +258 -342
  655. package/esm/ui/toggleMenuItems.d.ts +44 -0
  656. package/esm/ui/toggleMenuItems.js +60 -0
  657. package/esm/ui/useAssemblySelection.d.ts +153 -0
  658. package/esm/ui/useAssemblySelection.js +54 -0
  659. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  660. package/esm/ui/useCoalescedPointer.js +60 -0
  661. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  662. package/esm/ui/useCopyToClipboard.js +41 -0
  663. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  664. package/esm/ui/useExportSvgPreference.js +4 -0
  665. package/esm/ui/useMouseTracking.d.ts +71 -0
  666. package/esm/ui/useMouseTracking.js +179 -0
  667. package/esm/ui/useRecentLocations.d.ts +28 -0
  668. package/esm/ui/useRecentLocations.js +31 -0
  669. package/esm/ui/wrapComponent.d.ts +47 -0
  670. package/esm/ui/wrapComponent.js +58 -0
  671. package/esm/ui/zIndexes.d.ts +28 -0
  672. package/esm/ui/zIndexes.js +38 -0
  673. package/esm/util/Base1DUtils.d.ts +204 -16
  674. package/esm/util/Base1DUtils.js +310 -175
  675. package/esm/util/Base1DViewModel.d.ts +97 -20
  676. package/esm/util/Base1DViewModel.js +148 -39
  677. package/esm/util/FileSaver/index.d.ts +1 -0
  678. package/esm/util/FileSaver/index.js +27 -0
  679. package/esm/util/IntervalTree.d.ts +18 -39
  680. package/esm/util/IntervalTree.js +63 -244
  681. package/esm/util/SvgCanvas.d.ts +81 -0
  682. package/esm/util/SvgCanvas.js +500 -0
  683. package/esm/util/TimeTraveller.d.ts +12 -0
  684. package/esm/util/TimeTraveller.js +130 -27
  685. package/esm/util/aborting.d.ts +17 -4
  686. package/esm/util/aborting.js +30 -25
  687. package/esm/util/adapterMetadata.d.ts +20 -0
  688. package/esm/util/adapterMetadata.js +39 -0
  689. package/esm/util/addAndShowTrack.d.ts +22 -0
  690. package/esm/util/addAndShowTrack.js +23 -0
  691. package/esm/util/addRelativeUris.d.ts +17 -0
  692. package/esm/util/addRelativeUris.js +42 -0
  693. package/esm/util/addTrackComponent.d.ts +72 -0
  694. package/esm/util/addTrackComponent.js +53 -0
  695. package/esm/util/addTrackFromWidget.d.ts +94 -0
  696. package/esm/util/addTrackFromWidget.js +90 -0
  697. package/esm/util/analytics.d.ts +32 -3
  698. package/esm/util/analytics.js +102 -49
  699. package/esm/util/animationAllowed.d.ts +17 -0
  700. package/esm/util/animationAllowed.js +22 -0
  701. package/esm/util/applyInitSettings.d.ts +79 -0
  702. package/esm/util/applyInitSettings.js +91 -0
  703. package/esm/util/applyRowResizeWheel.d.ts +10 -0
  704. package/esm/util/applyRowResizeWheel.js +34 -0
  705. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  706. package/esm/util/assemblyConfigUtils.js +498 -0
  707. package/esm/util/bandHeight.d.ts +53 -0
  708. package/esm/util/bandHeight.js +56 -0
  709. package/esm/util/bandLayout.d.ts +51 -0
  710. package/esm/util/bandLayout.js +36 -0
  711. package/esm/util/bezierConnector.d.ts +14 -0
  712. package/esm/util/bezierConnector.js +108 -0
  713. package/esm/util/bgzfWorkerPool.d.ts +78 -0
  714. package/esm/util/bgzfWorkerPool.js +81 -0
  715. package/esm/util/blockTypes.d.ts +64 -45
  716. package/esm/util/blockTypes.js +67 -74
  717. package/esm/util/bpUtils.d.ts +81 -0
  718. package/esm/util/bpUtils.js +103 -0
  719. package/esm/util/cacheBudgets.d.ts +52 -0
  720. package/esm/util/cacheBudgets.js +52 -0
  721. package/esm/util/cachedSetup.d.ts +51 -0
  722. package/esm/util/cachedSetup.js +87 -0
  723. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  724. package/esm/util/calculateDynamicBlocks.js +85 -82
  725. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  726. package/esm/util/calculateStaticBlocks.js +48 -71
  727. package/esm/util/chooseGridPitch.d.ts +9 -0
  728. package/esm/util/chooseGridPitch.js +31 -0
  729. package/esm/util/clampToContig.d.ts +26 -0
  730. package/esm/util/clampToContig.js +28 -0
  731. package/esm/util/cmpStr.d.ts +1 -0
  732. package/esm/util/cmpStr.js +7 -0
  733. package/esm/util/coarseStripHTML.js +3 -15
  734. package/esm/util/color/cssColorsLevel4.js +6 -2
  735. package/esm/util/color/index.d.ts +81 -2
  736. package/esm/util/color/index.js +194 -25
  737. package/esm/util/color-bits/bit.d.ts +4 -0
  738. package/esm/util/color-bits/bit.js +37 -0
  739. package/esm/util/color-bits/convert.d.ts +23 -0
  740. package/esm/util/color-bits/convert.js +294 -0
  741. package/esm/util/color-bits/core.d.ts +34 -0
  742. package/esm/util/color-bits/core.js +67 -0
  743. package/esm/util/color-bits/format.d.ts +24 -0
  744. package/esm/util/color-bits/format.js +82 -0
  745. package/esm/util/color-bits/functions.d.ts +33 -0
  746. package/esm/util/color-bits/functions.js +70 -0
  747. package/esm/util/color-bits/index.d.ts +5 -0
  748. package/esm/util/color-bits/index.js +4 -0
  749. package/esm/util/color-bits/parse.d.ts +17 -0
  750. package/esm/util/color-bits/parse.js +382 -0
  751. package/esm/util/colorBits.d.ts +39 -0
  752. package/esm/util/colorBits.js +180 -0
  753. package/esm/util/colorRamp.d.ts +37 -0
  754. package/esm/util/colorRamp.js +93 -0
  755. package/esm/util/colord.d.ts +8 -0
  756. package/esm/util/colord.js +43 -191
  757. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  758. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  759. package/esm/util/copyText.d.ts +18 -0
  760. package/esm/util/copyText.js +30 -0
  761. package/esm/util/copyToClipboard.d.ts +4 -0
  762. package/esm/util/copyToClipboard.js +58 -0
  763. package/esm/util/createStopTokenRotation.d.ts +117 -0
  764. package/esm/util/createStopTokenRotation.js +147 -0
  765. package/esm/util/createSvgRasterCanvas.d.ts +7 -0
  766. package/esm/util/createSvgRasterCanvas.js +22 -0
  767. package/esm/util/crypto.d.ts +24 -0
  768. package/esm/util/crypto.js +85 -2
  769. package/esm/util/dataGridUtils.d.ts +9 -0
  770. package/esm/util/dataGridUtils.js +36 -0
  771. package/esm/util/dedupe.js +1 -0
  772. package/esm/util/deepEqual.d.ts +8 -0
  773. package/esm/util/deepEqual.js +22 -0
  774. package/esm/util/deepMerge.d.ts +20 -0
  775. package/esm/util/deepMerge.js +44 -0
  776. package/esm/util/diagonalizeRegions.d.ts +23 -0
  777. package/esm/util/diagonalizeRegions.js +192 -0
  778. package/esm/util/environment.d.ts +4 -0
  779. package/esm/util/environment.js +43 -0
  780. package/esm/util/eventPoint.d.ts +32 -0
  781. package/esm/util/eventPoint.js +28 -0
  782. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  783. package/esm/util/fetchAndMaybeUnzip.js +64 -0
  784. package/esm/util/fetchContext.d.ts +82 -0
  785. package/esm/util/fetchContext.js +59 -0
  786. package/esm/util/fetchHub.d.ts +15 -0
  787. package/esm/util/fetchHub.js +31 -0
  788. package/esm/util/fetchJson.d.ts +1 -0
  789. package/esm/util/fetchJson.js +7 -0
  790. package/esm/util/fetchPhases.d.ts +77 -0
  791. package/esm/util/fetchPhases.js +1 -0
  792. package/esm/util/fetchSeq.d.ts +5 -1
  793. package/esm/util/fetchSeq.js +18 -6
  794. package/esm/util/fileHandleStore.d.ts +19 -2
  795. package/esm/util/fileHandleStore.js +95 -35
  796. package/esm/util/flatbush/index.d.ts +27 -6
  797. package/esm/util/flatbush/index.js +194 -218
  798. package/esm/util/formatBytes.d.ts +9 -0
  799. package/esm/util/formatBytes.js +18 -0
  800. package/esm/util/formatFastaStrings.d.ts +13 -0
  801. package/esm/util/formatFastaStrings.js +13 -0
  802. package/esm/util/formatGuessers.d.ts +30 -0
  803. package/esm/util/formatGuessers.js +69 -0
  804. package/esm/util/formatRelativeTime.d.ts +1 -0
  805. package/esm/util/formatRelativeTime.js +25 -0
  806. package/esm/util/frameCoalescer.d.ts +30 -0
  807. package/esm/util/frameCoalescer.js +22 -0
  808. package/esm/util/freezeDeep.d.ts +28 -0
  809. package/esm/util/freezeDeep.js +41 -0
  810. package/esm/util/geneticCodes.d.ts +56 -0
  811. package/esm/util/geneticCodes.js +371 -0
  812. package/esm/util/getFileName.d.ts +11 -0
  813. package/esm/util/getFileName.js +34 -0
  814. package/esm/util/getLocationUri.d.ts +49 -0
  815. package/esm/util/getLocationUri.js +63 -0
  816. package/esm/util/getRelativeX.d.ts +4 -0
  817. package/esm/util/getRelativeX.js +7 -0
  818. package/esm/util/getStr.d.ts +6 -0
  819. package/esm/util/getStr.js +15 -0
  820. package/esm/util/highlights.d.ts +21 -0
  821. package/esm/util/highlights.js +100 -0
  822. package/esm/util/hooks.d.ts +160 -0
  823. package/esm/util/hooks.js +416 -0
  824. package/esm/util/htmlText.d.ts +13 -0
  825. package/esm/util/htmlText.js +66 -0
  826. package/esm/util/idMaker.d.ts +1 -1
  827. package/esm/util/idMaker.js +31 -18
  828. package/esm/util/index.d.ts +82 -268
  829. package/esm/util/index.js +136 -853
  830. package/esm/util/indexCandidates.d.ts +50 -0
  831. package/esm/util/indexCandidates.js +101 -0
  832. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  833. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  834. package/esm/util/installFetch.d.ts +194 -0
  835. package/esm/util/installFetch.js +178 -0
  836. package/esm/util/installInitAutorun.d.ts +62 -0
  837. package/esm/util/installInitAutorun.js +107 -0
  838. package/esm/util/intervals.d.ts +20 -0
  839. package/esm/util/intervals.js +37 -0
  840. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  841. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  842. package/esm/util/io/index.d.ts +39 -2
  843. package/esm/util/io/index.js +115 -12
  844. package/esm/util/isDataCurrent.d.ts +7 -0
  845. package/esm/util/isDataCurrent.js +9 -0
  846. package/esm/util/isWebWorker.js +1 -2
  847. package/esm/util/iupac.d.ts +4 -0
  848. package/esm/util/iupac.js +59 -0
  849. package/esm/util/jexl.js +141 -17
  850. package/esm/util/jexlFilters.d.ts +75 -0
  851. package/esm/util/jexlFilters.js +49 -0
  852. package/esm/util/jexlStrings.d.ts +22 -1
  853. package/esm/util/jexlStrings.js +21 -14
  854. package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
  855. package/esm/util/layouts/GranularRectLayout.js +99 -356
  856. package/esm/util/layouts/index.d.ts +1 -7
  857. package/esm/util/layouts/index.js +2 -6
  858. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  859. package/esm/util/layouts/intervalUtils.js +13 -31
  860. package/esm/util/layouts/placeRect.d.ts +50 -0
  861. package/esm/util/layouts/placeRect.js +97 -0
  862. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  863. package/esm/util/leadingEdgeAutorun.js +51 -0
  864. package/esm/util/librpc.d.ts +5 -2
  865. package/esm/util/librpc.js +6 -1
  866. package/esm/util/linkify.js +2 -0
  867. package/esm/util/locString.d.ts +72 -0
  868. package/esm/util/locString.js +178 -7
  869. package/esm/util/locStringsToRegions.d.ts +10 -0
  870. package/esm/util/locStringsToRegions.js +35 -0
  871. package/esm/util/localStorage.d.ts +36 -0
  872. package/esm/util/localStorage.js +137 -0
  873. package/esm/util/makeAssembly.d.ts +54 -0
  874. package/esm/util/makeAssembly.js +52 -0
  875. package/esm/util/makeTrackId.d.ts +14 -0
  876. package/esm/util/makeTrackId.js +14 -0
  877. package/esm/util/matchTrackId.d.ts +11 -0
  878. package/esm/util/matchTrackId.js +14 -0
  879. package/esm/util/measureText.d.ts +24 -0
  880. package/esm/util/measureText.js +51 -0
  881. package/esm/util/mst-reflection.d.ts +14 -4
  882. package/esm/util/mst-reflection.js +33 -32
  883. package/esm/util/mstUtils.d.ts +89 -0
  884. package/esm/util/mstUtils.js +122 -0
  885. package/esm/util/nanoid.d.ts +0 -4
  886. package/esm/util/nanoid.js +10 -20
  887. package/esm/util/numericUtils.d.ts +20 -0
  888. package/esm/util/numericUtils.js +127 -0
  889. package/esm/util/objectUtils.d.ts +2 -0
  890. package/esm/util/objectUtils.js +9 -0
  891. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  892. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  893. package/esm/util/openDisplays.d.ts +23 -0
  894. package/esm/util/openDisplays.js +79 -0
  895. package/esm/util/openFeatureWidget.d.ts +33 -0
  896. package/esm/util/openFeatureWidget.js +64 -0
  897. package/esm/util/paintLayer.d.ts +32 -0
  898. package/esm/util/paintLayer.js +33 -0
  899. package/esm/util/parentWalk.d.ts +32 -0
  900. package/esm/util/parentWalk.js +84 -0
  901. package/esm/util/parseLineByLine.d.ts +45 -2
  902. package/esm/util/parseLineByLine.js +156 -15
  903. package/esm/util/parseMotifList.d.ts +17 -0
  904. package/esm/util/parseMotifList.js +69 -0
  905. package/esm/util/pluginStore.d.ts +113 -0
  906. package/esm/util/pluginStore.js +253 -0
  907. package/esm/util/pointerPresence.d.ts +5 -0
  908. package/esm/util/pointerPresence.js +21 -0
  909. package/esm/util/progress.d.ts +459 -0
  910. package/esm/util/progress.js +820 -0
  911. package/esm/util/range.d.ts +42 -1
  912. package/esm/util/range.js +59 -2
  913. package/esm/util/renameRegions.d.ts +21 -0
  914. package/esm/util/renameRegions.js +129 -0
  915. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  916. package/esm/util/renderToStaticMarkup.js +50 -0
  917. package/esm/util/reorder.d.ts +35 -0
  918. package/esm/util/reorder.js +83 -0
  919. package/esm/util/resolveRowHeight.d.ts +27 -0
  920. package/esm/util/resolveRowHeight.js +30 -0
  921. package/esm/util/revlist.d.ts +13 -0
  922. package/esm/util/revlist.js +14 -0
  923. package/esm/util/rowStackGeometry.d.ts +66 -0
  924. package/esm/util/rowStackGeometry.js +70 -0
  925. package/esm/util/rpc.d.ts +16 -1
  926. package/esm/util/rpc.js +12 -1
  927. package/esm/util/rxjs.d.ts +14 -1
  928. package/esm/util/rxjs.js +39 -10
  929. package/esm/util/sameStrings.d.ts +16 -0
  930. package/esm/util/sameStrings.js +20 -0
  931. package/esm/util/scrollLatch.d.ts +4 -0
  932. package/esm/util/scrollLatch.js +59 -0
  933. package/esm/util/selectNamedRegions.d.ts +136 -0
  934. package/esm/util/selectNamedRegions.js +222 -0
  935. package/esm/util/seqUtils.d.ts +17 -0
  936. package/esm/util/seqUtils.js +80 -0
  937. package/esm/util/sessionServices.d.ts +29 -0
  938. package/esm/util/sessionServices.js +46 -0
  939. package/esm/util/sessionSharing.d.ts +38 -0
  940. package/esm/util/sessionSharing.js +154 -0
  941. package/esm/util/sessionStorage.d.ts +1 -0
  942. package/esm/util/sessionStorage.js +15 -0
  943. package/esm/util/setStackTraceLimit.d.ts +6 -0
  944. package/esm/util/setStackTraceLimit.js +20 -0
  945. package/esm/util/simpleFeature.d.ts +112 -4
  946. package/esm/util/simpleFeature.js +181 -29
  947. package/esm/util/springAnimate.d.ts +20 -0
  948. package/esm/util/springAnimate.js +80 -0
  949. package/esm/util/stats.d.ts +25 -2
  950. package/esm/util/stats.js +39 -8
  951. package/esm/util/stopToken.d.ts +207 -15
  952. package/esm/util/stopToken.js +403 -55
  953. package/esm/util/stringUtils.d.ts +5 -0
  954. package/esm/util/stringUtils.js +34 -0
  955. package/esm/util/svgColorProps.d.ts +7 -0
  956. package/esm/util/svgColorProps.js +28 -0
  957. package/esm/util/tabix.d.ts +120 -0
  958. package/esm/util/tabix.js +143 -0
  959. package/esm/util/tags.d.ts +2 -0
  960. package/esm/util/tags.js +5 -0
  961. package/esm/util/temporaryAssembly.d.ts +21 -0
  962. package/esm/util/temporaryAssembly.js +29 -0
  963. package/esm/util/tickLabels.d.ts +36 -0
  964. package/esm/util/tickLabels.js +45 -0
  965. package/esm/util/timeGate.d.ts +26 -0
  966. package/esm/util/timeGate.js +79 -0
  967. package/esm/util/trackConfigDelta.d.ts +84 -0
  968. package/esm/util/trackConfigDelta.js +190 -0
  969. package/esm/util/tracks.d.ts +352 -32
  970. package/esm/util/tracks.js +576 -194
  971. package/esm/util/tss-react/cssAndCx.js +11 -66
  972. package/esm/util/tss-react/index.d.ts +11 -2
  973. package/esm/util/tss-react/index.js +9 -2
  974. package/esm/util/tss-react/makeStyles.js +7 -4
  975. package/esm/util/tss-react/mergeClasses.js +1 -0
  976. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  977. package/esm/util/tss-react/tools/classnames.js +3 -0
  978. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  979. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  980. package/esm/util/tss-react/types.d.ts +1 -1
  981. package/esm/util/tss-react/types.js +1 -6
  982. package/esm/util/types/ElementId.js +1 -1
  983. package/esm/util/types/data.d.ts +75 -0
  984. package/esm/util/types/data.js +41 -0
  985. package/esm/util/types/index.d.ts +358 -119
  986. package/esm/util/types/index.js +87 -64
  987. package/esm/util/types/isAny.d.ts +11 -0
  988. package/esm/util/types/isAny.js +1 -0
  989. package/esm/util/types/mst.d.ts +71 -47
  990. package/esm/util/types/mst.js +27 -22
  991. package/esm/util/types/predicate.d.ts +9 -0
  992. package/esm/util/types/predicate.js +1 -0
  993. package/esm/util/types/renderingServices.d.ts +16 -0
  994. package/esm/util/types/renderingServices.js +1 -0
  995. package/esm/util/types/services.d.ts +55 -0
  996. package/esm/util/types/services.js +10 -0
  997. package/esm/util/types/util.d.ts +8 -2
  998. package/esm/util/unzip.d.ts +1 -0
  999. package/esm/util/unzip.js +6 -0
  1000. package/esm/util/useEventCallback.d.ts +1 -0
  1001. package/esm/util/useEventCallback.js +16 -0
  1002. package/esm/util/useFeatureSequence.d.ts +13 -7
  1003. package/esm/util/useFeatureSequence.js +56 -78
  1004. package/esm/util/useFetch.d.ts +56 -0
  1005. package/esm/util/useFetch.js +188 -0
  1006. package/esm/util/useFetchPlugins.d.ts +12 -0
  1007. package/esm/util/useFetchPlugins.js +14 -0
  1008. package/esm/util/useMeasure.d.ts +11 -1
  1009. package/esm/util/useMeasure.js +20 -6
  1010. package/esm/util/usePanZoom.d.ts +75 -0
  1011. package/esm/util/usePanZoom.js +175 -0
  1012. package/esm/util/usePanelVirtualScroll.d.ts +37 -0
  1013. package/esm/util/usePanelVirtualScroll.js +42 -0
  1014. package/esm/util/usePointerDrag.d.ts +37 -0
  1015. package/esm/util/usePointerDrag.js +61 -0
  1016. package/esm/util/useRafCommit.d.ts +4 -0
  1017. package/esm/util/useRafCommit.js +50 -0
  1018. package/esm/util/useResizeDrag.d.ts +91 -0
  1019. package/esm/util/useResizeDrag.js +105 -0
  1020. package/esm/util/useRowVirtualScroll.d.ts +32 -0
  1021. package/esm/util/useRowVirtualScroll.js +63 -0
  1022. package/esm/util/useVirtualScrollWheel.d.ts +7 -0
  1023. package/esm/util/useVirtualScrollWheel.js +108 -0
  1024. package/esm/util/viewStatus.d.ts +58 -0
  1025. package/esm/util/viewStatus.js +20 -0
  1026. package/esm/util/virtualRange.d.ts +36 -0
  1027. package/esm/util/virtualRange.js +26 -0
  1028. package/esm/util/webStorage.d.ts +26 -0
  1029. package/esm/util/webStorage.js +92 -0
  1030. package/esm/util/wheelZoom.d.ts +59 -0
  1031. package/esm/util/wheelZoom.js +231 -0
  1032. package/esm/util/whenViewSettled.d.ts +27 -0
  1033. package/esm/util/whenViewSettled.js +28 -0
  1034. package/esm/util/withFeatureDetails.d.ts +34 -0
  1035. package/esm/util/withFeatureDetails.js +59 -0
  1036. package/package.json +240 -820
  1037. package/esm/ReExports/DataGrid.d.ts +0 -1
  1038. package/esm/ReExports/DataGrid.js +0 -1
  1039. package/esm/configuration/util.d.ts +0 -10
  1040. package/esm/configuration/util.js +0 -123
  1041. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1042. package/esm/data_adapters/util.d.ts +0 -1
  1043. package/esm/data_adapters/util.js +0 -6
  1044. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1045. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1046. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1047. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1048. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1049. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1050. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1051. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1052. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1053. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1054. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1055. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1056. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1057. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1058. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1059. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1060. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1061. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1062. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1063. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1064. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1065. package/esm/rpc/baseRpcConfig.js +0 -10
  1066. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1067. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1068. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1069. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1070. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1071. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1072. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1073. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1074. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1075. package/esm/rpc/methods/CoreRender.js +0 -40
  1076. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1077. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1078. package/esm/rpc/methods/util.d.ts +0 -15
  1079. package/esm/rpc/methods/util.js +0 -7
  1080. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1081. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1082. package/esm/ui/MenuButton.d.ts +0 -1
  1083. package/esm/ui/MenuButton.js +0 -1
  1084. package/esm/ui/MenuItems.d.ts +0 -15
  1085. package/esm/ui/MenuItems.js +0 -59
  1086. package/esm/ui/useEvent.d.ts +0 -1
  1087. package/esm/ui/useEvent.js +0 -10
  1088. package/esm/util/blobToDataURL.d.ts +0 -1
  1089. package/esm/util/blobToDataURL.js +0 -14
  1090. package/esm/util/compositeMap.d.ts +0 -11
  1091. package/esm/util/compositeMap.js +0 -59
  1092. package/esm/util/flatqueue/index.d.ts +0 -11
  1093. package/esm/util/flatqueue/index.js +0 -61
  1094. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1095. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1096. package/esm/util/layouts/MultiLayout.js +0 -40
  1097. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1098. package/esm/util/layouts/PileupLayout.js +0 -202
  1099. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1100. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1101. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1102. package/esm/util/layouts/SceneGraph.js +0 -121
  1103. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1104. package/esm/util/makeAbortableReaction.js +0 -47
  1105. package/esm/util/map-obj/index.d.ts +0 -13
  1106. package/esm/util/map-obj/index.js +0 -92
  1107. package/esm/util/nextTick.d.ts +0 -1
  1108. package/esm/util/nextTick.js +0 -3
  1109. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1110. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1111. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1112. package/esm/util/offscreenCanvasUtils.js +0 -19
  1113. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1114. package/esm/util/renderToAbstractCanvas.js +0 -53
  1115. package/esm/util/transferables.d.ts +0 -2
  1116. package/esm/util/transferables.js +0 -35
  1117. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1118. package/esm/util/tss-react/mui/index.js +0 -1
  1119. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1120. package/esm/util/tss-react/mui/mui.js +0 -5
  1121. package/esm/util/when.d.ts +0 -1
  1122. package/esm/util/when.js +0 -1
  1123. /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
  1124. /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
@@ -0,0 +1,459 @@
1
+ import type { StopToken, StopTokenChecker } from './stopToken.ts';
2
+ /**
3
+ * Indeterminate phase: set `label` on the status channel, run `fn`, then restore
4
+ * whatever phase encloses it — `''` when there is none. Pass `stopToken` and the
5
+ * phase becomes a cancellation boundary too: this is the labelled form of
6
+ * {@link withStopTokenCheck}, so `fn` is checked on both sides of its await and
7
+ * neither check has to be remembered at the call site. The determinate
8
+ * counterpart is {@link withProgress}.
9
+ *
10
+ * Nests — see {@link openPhase}. An inner phase's close restores the enclosing
11
+ * label and not its bar; the enclosing phase's next `report()` re-establishes
12
+ * it, and one with none to send was indeterminate anyway.
13
+ *
14
+ * `msg` is a {@link StatusPhase} where the caller knows which file the phase is
15
+ * fetching — `downloadPhase(label, location)` builds one — and a plain string
16
+ * everywhere else. It nests and retires identically either way.
17
+ */
18
+ export declare function updateStatus<U>(msg: string | StatusPhase, cb: StatusCallback | undefined, fn: () => U | Promise<U>, stopToken?: StopToken): Promise<U>;
19
+ /**
20
+ * A determinate reading on the status channel: a phase label plus how far
21
+ * through it the operation is. The loading UI renders the message and a bar.
22
+ */
23
+ export interface StatusWithProgress {
24
+ message: string;
25
+ current: number;
26
+ total: number;
27
+ /** see {@link StatusPhase} */
28
+ source?: string;
29
+ }
30
+ /**
31
+ * A phase label that also names what it is waiting on — the URL of the file
32
+ * being fetched, so a load that hangs can say which server stopped answering
33
+ * rather than leaving "Downloading chromosome aliases" on screen forever.
34
+ *
35
+ * A shape of its own rather than a `source` on a bare string, and deliberately
36
+ * NOT a {@link StatusWithProgress} with a zero total: the aggregate's tie-break
37
+ * turns on whether a phase has anything to measure (see `measurable`), and a
38
+ * label that carries a URL has no more measurement than a plain label does.
39
+ * Given its own shape it votes exactly as the bare string it replaces —
40
+ * {@link statusReading} skips it, so `live` stays 0 — and a phase downloading
41
+ * with a real bar still wins the label over one that is only waiting.
42
+ *
43
+ * The field is additive on the wire: {@link statusMessageText} and
44
+ * {@link statusFraction} answer for it exactly as they do for the plain label,
45
+ * so every existing indicator renders it unchanged and only a consumer that
46
+ * asks for {@link statusSource} sees the difference.
47
+ */
48
+ export interface StatusPhase {
49
+ message: string;
50
+ source: string;
51
+ }
52
+ /**
53
+ * The last word of a phase that did not finish: the label its retire leaves on
54
+ * the channel — the enclosing phase's, or `''` when there was none — plus the
55
+ * one thing no reading can carry, that the work under it stopped short.
56
+ *
57
+ * **The aggregate cannot infer this from the readings**, which is why it is on
58
+ * the wire. A phase clear and a phase that threw arrive as the same `''`, and on
59
+ * the per-region fetch path a clear *is* a completion — charging it less than
60
+ * its total is what made the shared bar run backwards as a batch landed
61
+ * (ADR-072, and `FetchMixin.test.ts` pins it by name). So the outcome travels as
62
+ * a value the `finally` writes, and the credit follows the value.
63
+ *
64
+ * **A value rather than a second callback argument**, because it has to survive
65
+ * every `status => cb(status)` forwarder in the tree and the worker's
66
+ * postMessage: `wrapForRpc` posts one status, and an extra argument would be
67
+ * dropped in silence at each of those seams.
68
+ *
69
+ * A consumer that only understands the falsy-message retire keeps working:
70
+ * `message` is the same string it would have been handed, so
71
+ * {@link statusMessageText} and {@link statusFraction} answer exactly as they do
72
+ * for a bare `''`. The marker is read by the first {@link createStatusAggregate}
73
+ * it reaches, which credits the retiring phase what it transferred and then
74
+ * stores the plain message — so it never reaches a display's status field.
75
+ */
76
+ export interface PhaseFailure {
77
+ message: string;
78
+ failed: true;
79
+ }
80
+ export type RpcStatus = string | StatusWithProgress | StatusPhase | PhaseFailure;
81
+ /**
82
+ * The single out-of-band status transport carried across the RPC boundary. A
83
+ * plain string is an indeterminate phase label; a {@link StatusWithProgress}
84
+ * adds a determinate fraction. Adapters wrap raw byte/block/feature counts into
85
+ * this; the loading UI renders the message and (when present) a progress bar.
86
+ */
87
+ export type StatusCallback = (status: RpcStatus) => void;
88
+ /**
89
+ * The determinate reading in `status`, or undefined when there is none — a bare
90
+ * label, a {@link StatusPhase}, or the last word of a phase that threw. The one
91
+ * place the transport's union is narrowed to a `current`/`total`, so a consumer
92
+ * reading the numbers cannot mistake a label or a {@link PhaseFailure} for a
93
+ * measurement. It tests for the numbers themselves rather than excluding the
94
+ * shapes that lack them, so a shape added later is out until it opts in.
95
+ */
96
+ export declare function statusReading(status: RpcStatus | undefined): StatusWithProgress | undefined;
97
+ /**
98
+ * What `status` says it is waiting on, or undefined when it names nothing — a
99
+ * label with no {@link StatusPhase} source, and every reading that arrived
100
+ * before one was attached. The URL is what a stalled phase has to show; see
101
+ * {@link StatusPhase}.
102
+ */
103
+ export declare function statusSource(status: RpcStatus | undefined): string | undefined;
104
+ /**
105
+ * The phase a status names, verbatim — its label, whichever shape it arrived in.
106
+ * The raw form, `''` and all, for the few places that have to reason about the
107
+ * sentinel itself, or that are rebuilding a phase around the label they were
108
+ * handed. Everywhere else wants {@link statusMessageText}.
109
+ */
110
+ export declare function phaseOf(status: RpcStatus): string;
111
+ /**
112
+ * Extract the human-readable text from any status value, or `undefined` when
113
+ * there is none.
114
+ *
115
+ * `''` is none: it is the phase-over sentinel, not a label. Normalizing it here
116
+ * leaves one spelling of "nothing to show" for the three models that store a
117
+ * `statusMessage` (`assembly`, `BaseDisplayModel`, `FetchMixin`) — otherwise a
118
+ * reset's `undefined` and a phase's `''` read the same on screen
119
+ * (`message || 'Loading'`) and differently to everything else.
120
+ *
121
+ * The corollary binds anything that *transforms* a status: rewriting `''` into
122
+ * any other string — a prefix, a default — makes a phase that never ends, since
123
+ * a slot's last word is what {@link aggregateStatus} weighs. `levelStatusCallback`
124
+ * in `runDiagonalize.ts` is the one transformer in the tree.
125
+ */
126
+ export declare function statusMessageText(status: RpcStatus | undefined): string | undefined;
127
+ /**
128
+ * Fraction complete in [0,1], or undefined when the status is indeterminate
129
+ * (a plain string, or a zero total).
130
+ */
131
+ export declare function statusFraction(status: RpcStatus | undefined): number | undefined;
132
+ /**
133
+ * One operation's stream through a {@link StatusWindow}, and the last word that
134
+ * ends it. They come back together because **every operation must retire its
135
+ * own slot when its work ends**: neither a window nor a fan-out can see the end
136
+ * of a batch and neither guesses at one (ADR-080), so a stream nobody closes
137
+ * goes on voting for a phase that is over.
138
+ */
139
+ export interface StatusStream {
140
+ /** The RPC `statusCallback` for this operation. */
141
+ statusCallback: StatusCallback;
142
+ /**
143
+ * This operation's last word: retires its slot, re-derives the field from the
144
+ * operations still running, and blanks it when this was the last of them.
145
+ * Call it once, in the `finally` of the operation this stream describes.
146
+ *
147
+ * **Retiring, not blanking**, which is the difference a display with two
148
+ * concurrent operations turns on (ADR-081). The blank still lands unthrottled
149
+ * and drops what was queued behind it, because nothing is coming to displace
150
+ * the last label of a fetch that is over.
151
+ *
152
+ * It is not guarded by `isCurrent`: a run that has just finished is no longer
153
+ * current, and a superseded run must retire its slot too or it votes forever.
154
+ */
155
+ clear: () => void;
156
+ }
157
+ /**
158
+ * One owner's status field: the throttle window in front of it, the slot each
159
+ * concurrent operation writes into, and the aggregate that arbitrates between
160
+ * them.
161
+ *
162
+ * All three are one object so the cardinality rule has only one spelling: **one
163
+ * window per owner, N streams on it, one field**. That is what makes a
164
+ * display's parallel per-region fetches thin to one flow between them rather
165
+ * than to N, and what stops its viewport fetch and its bare-autorun fetch
166
+ * clobbering each other (ADR-081).
167
+ */
168
+ export interface StatusWindow {
169
+ /**
170
+ * Open a stream for one operation: a {@link StatusCallback} recording into
171
+ * this operation's own slot, skipped entirely once `isCurrent()` goes false —
172
+ * a superseded fetch, or a torn-down model — plus the `clear` that retires it.
173
+ *
174
+ * `isCurrent` is read twice on purpose. Once before the window, so a
175
+ * superseded fetch's late status can't consume the slot a live one is waiting
176
+ * on; once inside, because a trailing write fires on a timer and the
177
+ * operation it belongs to can be gone by then.
178
+ *
179
+ * Opening on an idle window reopens the throttle, so the first operation to
180
+ * start after a lull reports at once rather than being charged a window it
181
+ * did nothing to earn. An owner therefore never resets by hand around a
182
+ * fetch; `reset` is for teardown.
183
+ *
184
+ * **Every status goes through the window, the `''` closing a phase
185
+ * included** (ADR-071), so a phase that opens and closes inside one paints
186
+ * nothing. The window holds a single pending write, so that `''` still
187
+ * displaces the percentage queued behind it and a finished phase's progress
188
+ * cannot reappear.
189
+ */
190
+ open: (args: {
191
+ isCurrent: () => boolean;
192
+ }) => StatusStream;
193
+ /**
194
+ * Drop the queued trailing write and reopen the throttle. For the owner's
195
+ * teardown, where the timer outlives everything that could make it a no-op —
196
+ * jest reports the surviving timer as a worker that will not exit.
197
+ */
198
+ reset: () => void;
199
+ }
200
+ /**
201
+ * Thin one channel's status emits at the *source*, for a transport that pays
202
+ * per message.
203
+ *
204
+ * {@link createStatusWindow} already throttles what reaches a display's status
205
+ * field, but it runs on the main thread: every emit the worker made still cost
206
+ * a postMessage, a task and a structured clone to get there and be dropped. A
207
+ * scroll-zoom measured 9,668 of those in ten seconds — 23% of the main thread's
208
+ * busy time — for the ~100 statuses the window let through.
209
+ *
210
+ * What it drops is only ever an intermediate reading of a phase a later reading
211
+ * of the same phase supersedes, so {@link createStatusAggregate} is unaffected:
212
+ * it takes the latest reading per slot, and credits a phase its total only when
213
+ * the *label* changes. A change of label — including the `''` retire — and a
214
+ * {@link PhaseFailure} therefore go through untouched, and a reading queued
215
+ * behind the window is flushed ahead of the label that supersedes it so the
216
+ * transition still carries the phase's own last numbers.
217
+ */
218
+ export declare function throttleStatusEmits(emit: StatusCallback): (status: RpcStatus) => void;
219
+ /**
220
+ * Open a {@link StatusWindow} over one status field. `write` is that field's
221
+ * **only** writer, statuses and the closing blank alike, so whatever guards it
222
+ * — `isAlive(self)`, a React `alive` flag — guards every one of them by
223
+ * construction rather than by a copy of the check at each `finally`.
224
+ *
225
+ * Leading-edge, so sparse updates pass straight through and dense bursts are
226
+ * thinned; trailing as well, so the last write of a phase always lands — it is
227
+ * the one that matters most and exactly the one a leading-edge-only gate drops.
228
+ *
229
+ * Create **one per owner** — a display, a dialog run, an assembly load — and
230
+ * take every one of that owner's status callbacks off it as a stream. The
231
+ * streams are slots in one aggregate, so the owner's two concurrent operations
232
+ * arbitrate for the field the same way one fetch's parallel regions do, and
233
+ * neither ends the other's label (ADR-081).
234
+ *
235
+ * Deliberately wraps only the *callback* path, never `setStatusMessage` itself
236
+ * — a display writing a phase label by hand ("Downloading" → "Parsing") is a
237
+ * sequence of distinct labels, and a trailing edge only guarantees the *last*
238
+ * of a burst, not each one in turn.
239
+ *
240
+ * Both fetch families own one: `FetchMixin` for the LGV displays, and
241
+ * `createStopTokenRotation` for the bare-autorun fetches (dotplot, synteny)
242
+ * that compose no fetch mixin — and a display that has both lends the mixin's
243
+ * to the rotation rather than opening a second on one field. A plain function
244
+ * rather than shared model state because the two families declare their status
245
+ * fields separately and one set shadows the other — see ADR-041.
246
+ */
247
+ export declare function createStatusWindow(write: (status: RpcStatus | undefined) => void): StatusWindow;
248
+ /**
249
+ * Format a phase label with a rounded percentage appended when a determinate
250
+ * `fraction` is present (e.g. `progressLabel('Downloading', 0.45)` →
251
+ * `"Downloading 45%"`). The single place the `X%` suffix is formatted: both
252
+ * {@link statusProgressLabel} (RpcStatus callers) and the loading
253
+ * overlays/indicators — which hold the message and fraction already split apart
254
+ * onto the model — route through it, so no caller hand-rolls `Math.round`.
255
+ */
256
+ export declare function progressLabel(message: string | undefined, fraction: number | undefined): string;
257
+ /**
258
+ * {@link progressLabel} for an {@link RpcStatus}: the message, with a rounded
259
+ * percentage appended when the status is determinate (e.g. `"Downloading 45%"`).
260
+ * The form the loading dialogs use, holding the raw status object.
261
+ */
262
+ export declare function statusProgressLabel(status: RpcStatus | undefined): string;
263
+ /**
264
+ * Adapt the byte-granularity download callback exposed by the readers
265
+ * (generic-filehandle2 `readFile`, @gmod/tabix `getLines`, @gmod/bam /
266
+ * @gmod/cram `getRecordsForRange`) to the structured {@link StatusCallback}
267
+ * transport, labelling each tick with `message`. Returns undefined when there's
268
+ * no `statusCallback`, so the reader can skip its progress bookkeeping entirely.
269
+ *
270
+ * **That skip is not a saving**, which is the opposite of what the shape
271
+ * suggests. Handed an `onProgress`, generic-filehandle2 streams the body into
272
+ * one pre-sized buffer; handed none it calls `res.bytes()` — and in a Chrome
273
+ * worker the streaming read is roughly 1.8x *faster* up to 10MB, giving that
274
+ * back only past ~25MB. So withholding this reporter honors a caller who asked
275
+ * for no reporting; it is never about speed. Numbers and the bench that retakes
276
+ * them:
277
+ * agent-docs/measurements/download-read-path.json.
278
+ *
279
+ * `total` is optional because not every reader knows the size up front
280
+ * (generic-filehandle2 omits it when the response has no Content-Length): with a
281
+ * total we emit a determinate bar, without one we emit just the label so the UI
282
+ * still shows the phase as an indeterminate spinner.
283
+ *
284
+ * Internal to this module — the only caller is {@link downloadStatus}, which is
285
+ * the API adapters use. Kept separate purely so the reporter logic reads on its
286
+ * own line.
287
+ */
288
+ declare function downloadStatusReporter(statusCallback: StatusCallback | undefined, label: string | StatusPhase): ((current: number, total?: number) => void) | undefined;
289
+ /**
290
+ * Run a download phase whose reader counts its own progress. Shows `label`,
291
+ * hands `fn` the {@link downloadStatusReporter} to pass straight to the
292
+ * reader's `onProgress` (its ticks upgrade the same label to a determinate
293
+ * bar), then clears the status. Combines {@link updateStatus} with the reporter
294
+ * so the label is written in exactly one place — the phase label and the
295
+ * progress label can't drift apart.
296
+ *
297
+ * The unit is whatever the reader counts, and the caller does not have to know
298
+ * which: bytes for the index readers, blocks and expected-value chunks for
299
+ * `@gmod/hic`. All of them report `(current, total?)`.
300
+ *
301
+ * `stopToken` makes the phase a cancellation boundary, exactly as it does on
302
+ * {@link updateStatus} — `fn` is checked on both sides of its await.
303
+ *
304
+ * A {@link StatusPhase} `label` carries its source onto the readings too, so a
305
+ * download that stalls part-way through still names the file it was reading.
306
+ */
307
+ export declare function downloadStatus<T>(label: string | StatusPhase, statusCallback: StatusCallback | undefined, fn: (onProgress: ReturnType<typeof downloadStatusReporter>) => T | Promise<T>, stopToken?: StopToken): Promise<T>;
308
+ /**
309
+ * One concurrent operation's contribution to a fan-out's shared status: what it
310
+ * is reporting right now, plus how much of each phase it has already finished
311
+ * (see {@link createStatusFanOut}, which is what records them).
312
+ *
313
+ * `completed` is a total per phase, not the phases themselves: a finished phase
314
+ * is charged to both halves of the fraction, so its own `current` was only ever
315
+ * its `total` written twice.
316
+ */
317
+ export interface StatusSlot {
318
+ status: RpcStatus | undefined;
319
+ completed: Map<string, number>;
320
+ }
321
+ /**
322
+ * Combine the in-flight statuses of several concurrent operations (one RPC per
323
+ * visible region, say) into the single status the loading UI shows, so N regions
324
+ * read as one bar instead of each clobbering the shared field. Returns undefined
325
+ * when nothing is in flight.
326
+ *
327
+ * **Only operations in the same phase are summed.** `current`/`total` are
328
+ * additive within a phase — bytes with bytes, features with features — and
329
+ * incommensurable across one, so one phase wins and the rest are charged below
330
+ * (ADR-072). A fan-out whose slots share one phase, the common case, is a plain
331
+ * Σcurrent/Σtotal.
332
+ *
333
+ * **The phase that wins is the earliest one the batch is still in** (ADR-080). A
334
+ * batch is in every phase any of its operations is in — the phase that operation
335
+ * last *reported*, not the one it happens to be measuring this instant — and it
336
+ * leaves one when its LAST operation does. So the label moves forward once per
337
+ * phase, in order, and the bar under it is that phase's own.
338
+ *
339
+ * Rank alone would hand the label to a phase with nothing to say, so a phase the
340
+ * batch has anything to measure in — a reading now, or work already finished —
341
+ * beats one it does not. `phaseRank` is the fan-out's record of first
342
+ * appearance; with none, every phase ranks the same and the choice falls back to
343
+ * slot order.
344
+ *
345
+ * Each slot is then priced against the winning phase on its own, which is why
346
+ * this cannot be a Σ over two flat lists:
347
+ *
348
+ * - measuring it: its own `current`/`total`, plus whatever it already finished
349
+ * of that phase, in both halves.
350
+ * - not measuring it but having finished some: that finished work in both halves
351
+ * and **nothing more** — never the mean as well, or the bar falls every time a
352
+ * region moves on.
353
+ * - neither: in flight with nothing comparable to measure, so charged the mean
354
+ * of the totals we do know with nothing completed against it. That covers a
355
+ * response with no Content-Length and a slot in another phase alike; dropping
356
+ * either outright reads 100% while it is still downloading.
357
+ *
358
+ * A winning phase nothing is measuring right now comes back as its label alone —
359
+ * summing what its slots retired at reads 100% for a batch that is still
360
+ * working, and every slot being between reads is exactly when that happens.
361
+ * {@link createStatusFanOut} re-sends the phase's last real reading instead.
362
+ *
363
+ * A retired slot (`''` or nothing yet) never votes and is never charged the
364
+ * mean; charging it at zero is a bar that runs *backwards* as regions finish.
365
+ * Its finished work still counts, which is what keeps the fraction rising as the
366
+ * batch lands.
367
+ */
368
+ export declare function aggregateStatus(slots: StatusSlot[], phaseRank?: Map<string, number>): RpcStatus | undefined;
369
+ /**
370
+ * Fan one status field out to several concurrent operations that would
371
+ * otherwise fight over it. Each `slot()` returns a {@link StatusCallback}
372
+ * remembering its own latest value and how much of each phase it has been
373
+ * through; every write re-derives the shared status from all slots through
374
+ * {@link aggregateStatus}, so N concurrent downloads read as one bar instead of
375
+ * last-writer-wins — and the first one to finish (which writes the `''` every
376
+ * phase helper clears with) can't blank the label while the others are still
377
+ * running.
378
+ *
379
+ * Use it wherever several operations are handed one `statusCallback` at once —
380
+ * a `Promise.all`, an rxjs `merge`, or the per-region fan-out the LGV displays'
381
+ * `callEachRegion` builds over a fetch context. One fan-out per batch: slots are
382
+ * taken for the batch's lifetime and it is the batch that ends, so a long-lived
383
+ * one accumulates slots for work that is over.
384
+ *
385
+ * **A slot's finished phases are recorded here**, because only a slot's own
386
+ * channel ever sees the total it retired at, and they are what keep a landing
387
+ * batch's bar from walking backwards. A phase is over the moment the slot stops
388
+ * reporting it forward — see {@link continuesPhase}; the `''` it ends on is only
389
+ * one of the ways it can say so.
390
+ *
391
+ * **It never writes `''`.** A slot between two phases and a slot that is done
392
+ * both read as idle from here, so an empty aggregate means "no slot is reporting
393
+ * this instant", not "the batch is over". What goes out is the last label alone,
394
+ * with no bar — which is what that state is. The end of a batch is the owner's
395
+ * to declare (ADR-080): every one of them clears its field when its work ends.
396
+ *
397
+ * Something rather than nothing, because a write that lands is also how a
398
+ * phase's last progress value is *displaced* — statuses are throttled, so a
399
+ * percentage queued behind the window would otherwise fire after the work it
400
+ * measured had ended (ADR-071).
401
+ *
402
+ * **A phase does not lose its bar because nothing is measuring it this
403
+ * instant.** Between reads a slot reports the label alone, and when every slot
404
+ * is between reads at once the aggregate has no measurement — a determinate bar
405
+ * would drop to an indeterminate spinner and return a tick later. The phase's
406
+ * last reading is held and re-sent instead, and dropped the moment the phase
407
+ * changes.
408
+ */
409
+ export declare function createStatusFanOut(statusCallback: StatusCallback | undefined): () => StatusCallback;
410
+ /**
411
+ * Call once per outer-loop iteration. With no argument it auto-increments an
412
+ * internal counter (the elegant default — `for (…) report()`); pass an explicit
413
+ * `current` when the caller tracks its own position, e.g. a running offset that
414
+ * spans several batches.
415
+ */
416
+ export type ProgressReporter = (current?: number) => void;
417
+ /**
418
+ * The single per-iteration callback for long synchronous worker loops. The
419
+ * returned `report(current)` is called once per outer-loop iteration and does
420
+ * two throttled jobs on each call:
421
+ *
422
+ * - checks the stop token via the existing throttled {@link checkStopTokenThrottled}
423
+ * machinery, so cancellation interrupts the loop within milliseconds instead
424
+ * of only at phase boundaries, and
425
+ * - emits a {@link StatusWithProgress} through `statusCallback` at most once per
426
+ * `throttleMs`, so the main thread gets a live percentage without flooding
427
+ * the postMessage channel.
428
+ *
429
+ * Both jobs are optional: with no `statusCallback`/`total` this is purely a
430
+ * throttled cancellation tick, so a loop has exactly one inner callback whether
431
+ * or not it drives the progress UI.
432
+ *
433
+ * Emission is gated on wall-clock time (`throttleMs`) through {@link
434
+ * createTimeGate}, which thins the `Date.now()` reads as well as the emits —
435
+ * see there for why its stride is learned rather than fixed. Keep the loop a
436
+ * plain `for` and call `report()` once per item (it owns the counter), or
437
+ * `report(n)` for an explicit position.
438
+ */
439
+ export declare function createProgressReporter({ label, total, statusCallback, stopToken, stopTokenCheck, throttleMs, }: {
440
+ label?: string;
441
+ total?: number;
442
+ statusCallback?: (status: RpcStatus) => void;
443
+ stopToken?: StopToken;
444
+ stopTokenCheck?: StopTokenChecker;
445
+ throttleMs?: number;
446
+ }): ProgressReporter;
447
+ /**
448
+ * Run a measurable phase: shows `label` at 0%, hands `fn` a {@link
449
+ * ProgressReporter} to drive during the work, then checks the stop token once
450
+ * more and restores the enclosing phase. The determinate counterpart to
451
+ * `updateStatus`, and it nests the same way — see {@link openPhase}.
452
+ */
453
+ export declare function withProgress<T>({ label, total, statusCallback, stopToken, }: {
454
+ label: string;
455
+ total: number;
456
+ statusCallback?: (status: RpcStatus) => void;
457
+ stopToken?: StopToken;
458
+ }, fn: (report: ProgressReporter) => T | Promise<T>): Promise<T>;
459
+ export {};