@jbrowse/core 4.3.0 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1140) hide show
  1. package/README.md +822 -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 +41 -40
  113. package/esm/PluginLoader.js +206 -78
  114. package/esm/PluginManager.d.ts +421 -55
  115. package/esm/PluginManager.js +461 -89
  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 +62 -93
  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/ReExports/sharedModules.d.ts +96 -0
  135. package/esm/ReExports/sharedModules.js +59 -0
  136. package/esm/ReExports/uiStub.d.ts +1 -0
  137. package/esm/ReExports/uiStub.js +13 -0
  138. package/esm/ReExports/workerModules.d.ts +2 -0
  139. package/esm/ReExports/workerModules.js +10 -0
  140. package/esm/TextSearch/BaseResults.d.ts +20 -21
  141. package/esm/TextSearch/BaseResults.js +8 -33
  142. package/esm/TextSearch/TextSearchManager.d.ts +14 -34
  143. package/esm/TextSearch/TextSearchManager.js +87 -34
  144. package/esm/assemblyManager/assembly.d.ts +307 -34
  145. package/esm/assemblyManager/assembly.js +551 -262
  146. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  147. package/esm/assemblyManager/assemblyAdapters.js +18 -0
  148. package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
  149. package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
  150. package/esm/assemblyManager/assemblyManager.d.ts +711 -303
  151. package/esm/assemblyManager/assemblyManager.js +351 -46
  152. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
  153. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
  154. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  155. package/esm/assemblyManager/geneticCodes.js +47 -0
  156. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
  157. package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
  158. package/esm/assemblyManager/index.d.ts +1 -1
  159. package/esm/assemblyManager/index.js +2 -2
  160. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  161. package/esm/assemblyManager/loadRefNameMap.js +80 -0
  162. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  163. package/esm/assemblyManager/refNameColors.js +32 -0
  164. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  165. package/esm/assemblyManager/refNameMaps.js +87 -0
  166. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  167. package/esm/assemblyManager/refNameMismatch.js +66 -0
  168. package/esm/checkPlugins.d.ts +11 -0
  169. package/esm/checkPlugins.js +77 -0
  170. package/esm/configuration/configurationSchema.d.ts +122 -20
  171. package/esm/configuration/configurationSchema.js +374 -140
  172. package/esm/configuration/configurationSlot.d.ts +283 -30
  173. package/esm/configuration/configurationSlot.js +205 -226
  174. package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
  175. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  176. package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
  177. package/esm/configuration/formatDetailsConfigSchema.js +90 -0
  178. package/esm/configuration/fullConfSnapshot.d.ts +28 -0
  179. package/esm/configuration/fullConfSnapshot.js +66 -0
  180. package/esm/configuration/getConf.d.ts +88 -0
  181. package/esm/configuration/getConf.js +74 -0
  182. package/esm/configuration/index.d.ts +19 -3
  183. package/esm/configuration/index.js +19 -2
  184. package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
  185. package/esm/configuration/mergeFormatCallbacks.js +24 -0
  186. package/esm/configuration/promotableDefaults.d.ts +199 -0
  187. package/esm/configuration/promotableDefaults.js +332 -0
  188. package/esm/configuration/promotablePin.d.ts +55 -0
  189. package/esm/configuration/promotableResolve.d.ts +108 -0
  190. package/esm/configuration/promotableResolve.js +117 -0
  191. package/esm/configuration/promotableSlots.d.ts +12 -0
  192. package/esm/configuration/promotableSlots.js +45 -0
  193. package/esm/configuration/readConfObject.d.ts +56 -0
  194. package/esm/configuration/readConfObject.js +161 -0
  195. package/esm/configuration/schemaRegistry.d.ts +35 -0
  196. package/esm/configuration/schemaRegistry.js +50 -0
  197. package/esm/configuration/schemaTypes.d.ts +23 -0
  198. package/esm/configuration/schemaTypes.js +94 -0
  199. package/esm/configuration/slotFacade.d.ts +82 -0
  200. package/esm/configuration/slotFacade.js +89 -0
  201. package/esm/configuration/slotShape.d.ts +12 -0
  202. package/esm/configuration/slotShape.js +84 -0
  203. package/esm/configuration/slotValueUtils.d.ts +17 -0
  204. package/esm/configuration/slotValueUtils.js +25 -0
  205. package/esm/configuration/tabixIndexFields.d.ts +44 -0
  206. package/esm/configuration/tabixIndexFields.js +45 -0
  207. package/esm/configuration/tabixShorthand.d.ts +34 -0
  208. package/esm/configuration/tabixShorthand.js +45 -0
  209. package/esm/configuration/types.d.ts +170 -7
  210. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
  211. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
  212. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +132 -7
  213. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +136 -25
  214. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  215. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  216. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  217. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  218. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  219. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  220. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +29 -0
  221. package/esm/data_adapters/BaseAdapter/featureDensity.js +17 -0
  222. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  223. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  224. package/esm/data_adapters/BaseAdapter/index.d.ts +7 -4
  225. package/esm/data_adapters/BaseAdapter/index.js +6 -5
  226. package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
  227. package/esm/data_adapters/BaseAdapter/stats.js +89 -24
  228. package/esm/data_adapters/BaseAdapter/types.d.ts +11 -8
  229. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  230. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  231. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  232. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  233. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
  234. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
  235. package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
  236. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  237. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  238. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  239. package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
  240. package/esm/data_adapters/dataAdapterCache.js +62 -22
  241. package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
  242. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  243. package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
  244. package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
  245. package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
  246. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  247. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  248. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  249. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  250. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  251. package/esm/pluggableElementTypes/DisplayType.d.ts +19 -10
  252. package/esm/pluggableElementTypes/DisplayType.js +53 -5
  253. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  254. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
  255. package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
  256. package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
  257. package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
  258. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
  259. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  260. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  261. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  262. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  263. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  264. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
  265. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  266. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  267. package/esm/pluggableElementTypes/TrackType.js +1 -1
  268. package/esm/pluggableElementTypes/ViewType.d.ts +27 -3
  269. package/esm/pluggableElementTypes/ViewType.js +84 -4
  270. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  271. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  272. package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
  273. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  274. package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
  275. package/esm/pluggableElementTypes/extendElementType.js +73 -0
  276. package/esm/pluggableElementTypes/index.d.ts +7 -7
  277. package/esm/pluggableElementTypes/index.js +24 -14
  278. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
  279. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  280. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +646 -84
  281. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +241 -60
  282. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +216 -35
  283. package/esm/pluggableElementTypes/models/BaseTrackModel.js +365 -83
  284. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +216 -16
  285. package/esm/pluggableElementTypes/models/BaseViewModel.js +150 -16
  286. package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
  287. package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
  288. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
  289. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  290. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +177 -0
  291. package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
  292. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
  293. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  294. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
  295. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  296. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
  297. package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
  298. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  299. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
  300. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
  301. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  302. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
  303. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
  304. package/esm/pluggableElementTypes/models/index.d.ts +6 -3
  305. package/esm/pluggableElementTypes/models/index.js +10 -8
  306. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
  307. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
  308. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  309. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
  310. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
  311. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  312. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  313. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  314. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  315. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  316. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  317. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  318. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  319. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  320. package/esm/pluginDefinitions.d.ts +198 -0
  321. package/esm/pluginDefinitions.js +220 -0
  322. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  323. package/esm/rpc/BaseRpcDriver.js +74 -107
  324. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  325. package/esm/rpc/MainThreadRpcDriver.js +18 -29
  326. package/esm/rpc/RpcClient.d.ts +38 -0
  327. package/esm/rpc/RpcClient.js +154 -0
  328. package/esm/rpc/RpcManager.d.ts +116 -27
  329. package/esm/rpc/RpcManager.js +177 -50
  330. package/esm/rpc/RpcRegistry.d.ts +275 -0
  331. package/esm/rpc/RpcRegistry.js +1 -0
  332. package/esm/rpc/RpcServer.d.ts +41 -0
  333. package/esm/rpc/RpcServer.js +235 -0
  334. package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
  335. package/esm/rpc/WebWorkerRpcDriver.js +312 -27
  336. package/esm/rpc/byteBudget.d.ts +58 -0
  337. package/esm/rpc/byteBudget.js +50 -0
  338. package/esm/rpc/configSchema.d.ts +27 -5
  339. package/esm/rpc/configSchema.js +40 -16
  340. package/esm/rpc/coreRpcMethods.d.ts +3 -5
  341. package/esm/rpc/coreRpcMethods.js +10 -12
  342. package/esm/rpc/explainTransferError.d.ts +35 -0
  343. package/esm/rpc/explainTransferError.js +158 -0
  344. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  345. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  346. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  347. package/esm/rpc/methods/CoreGetExportData.js +26 -15
  348. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
  349. package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
  350. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  351. package/esm/rpc/methods/CoreGetFeatures.js +15 -17
  352. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  353. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  354. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  355. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  356. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  357. package/esm/rpc/methods/CoreGetRefNames.js +24 -13
  358. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  359. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  360. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  361. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  362. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  363. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  364. package/esm/rpc/serializeError/index.d.ts +9 -0
  365. package/esm/rpc/serializeError/index.js +86 -0
  366. package/esm/svg/SvgExport.d.ts +30 -0
  367. package/esm/svg/SvgExport.js +53 -0
  368. package/esm/svg/constants.d.ts +1 -0
  369. package/esm/svg/constants.js +5 -0
  370. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  371. package/esm/svg/saveSvgAsImage.js +90 -0
  372. package/esm/svg/svgId.d.ts +42 -0
  373. package/esm/svg/svgId.js +84 -0
  374. package/esm/svg/svgReady.d.ts +137 -0
  375. package/esm/svg/svgReady.js +164 -0
  376. package/esm/svg/trackNames.d.ts +27 -0
  377. package/esm/svg/trackNames.js +31 -0
  378. package/esm/svg/wrapSvgExport.d.ts +12 -0
  379. package/esm/svg/wrapSvgExport.js +78 -0
  380. package/esm/ui/ActionLink.d.ts +7 -0
  381. package/esm/ui/ActionLink.js +9 -0
  382. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  383. package/esm/ui/AddCustomPluginDialog.js +61 -0
  384. package/esm/ui/AddGenomePane.d.ts +8 -0
  385. package/esm/ui/AddGenomePane.js +228 -0
  386. package/esm/ui/AdvancedOptions.d.ts +6 -0
  387. package/esm/ui/AdvancedOptions.js +17 -0
  388. package/esm/ui/AppLogo.d.ts +1 -1
  389. package/esm/ui/AppLogo.js +2 -2
  390. package/esm/ui/AssemblySelector.d.ts +5 -8
  391. package/esm/ui/AssemblySelector.js +8 -26
  392. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  393. package/esm/ui/BaseExportSvgDialog.js +84 -0
  394. package/esm/ui/BaseTooltip.d.ts +14 -3
  395. package/esm/ui/BaseTooltip.js +151 -34
  396. package/esm/ui/CascadingMenu.d.ts +9 -18
  397. package/esm/ui/CascadingMenu.js +390 -41
  398. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  399. package/esm/ui/CascadingMenuButton.js +36 -18
  400. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  401. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  402. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  403. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  404. package/esm/ui/ColorPicker.d.ts +6 -9
  405. package/esm/ui/ColorPicker.js +36 -39
  406. package/esm/ui/ConfirmDialog.d.ts +2 -9
  407. package/esm/ui/ConfirmDialog.js +6 -9
  408. package/esm/ui/ContextMenu.d.ts +50 -0
  409. package/esm/ui/ContextMenu.js +55 -0
  410. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  411. package/esm/ui/CopyToClipboardButton.js +14 -0
  412. package/esm/ui/Crosshairs.d.ts +10 -0
  413. package/esm/ui/Crosshairs.js +15 -0
  414. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  415. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  416. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  417. package/esm/ui/DataGridFlexContainer.js +4 -3
  418. package/esm/ui/Dialog.d.ts +5 -2
  419. package/esm/ui/Dialog.js +35 -27
  420. package/esm/ui/DraggableDialog.d.ts +3 -3
  421. package/esm/ui/DraggableDialog.js +50 -12
  422. package/esm/ui/DropDownMenu.d.ts +4 -2
  423. package/esm/ui/DropDownMenu.js +4 -4
  424. package/esm/ui/EditableTypography.d.ts +3 -1
  425. package/esm/ui/EditableTypography.js +34 -26
  426. package/esm/ui/ErrorActions.d.ts +24 -0
  427. package/esm/ui/ErrorActions.js +20 -0
  428. package/esm/ui/ErrorBanner.d.ts +7 -0
  429. package/esm/ui/ErrorBanner.js +35 -0
  430. package/esm/ui/ErrorBar.d.ts +6 -0
  431. package/esm/ui/ErrorBar.js +35 -0
  432. package/esm/ui/ErrorBoundary.d.ts +29 -5
  433. package/esm/ui/ErrorBoundary.js +32 -2
  434. package/esm/ui/ErrorMessage.d.ts +2 -4
  435. package/esm/ui/ErrorMessage.js +17 -52
  436. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  437. package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
  438. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  439. package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
  440. package/esm/ui/ErrorOverlay.d.ts +8 -0
  441. package/esm/ui/ErrorOverlay.js +5 -0
  442. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  443. package/esm/ui/ExportSvgDialog.js +9 -0
  444. package/esm/ui/ExternalLink.d.ts +1 -1
  445. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  446. package/esm/ui/FactoryResetDialog.js +6 -15
  447. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  448. package/esm/ui/FatalErrorDialog.js +6 -5
  449. package/esm/ui/FileDropZone.d.ts +25 -0
  450. package/esm/ui/FileDropZone.js +128 -0
  451. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  452. package/esm/ui/FileSelector/FileSelector.js +59 -30
  453. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  454. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  455. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  456. package/esm/ui/FileSelector/LocationInput.js +8 -12
  457. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  458. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  459. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  460. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  461. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  462. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  463. package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
  464. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  465. package/esm/ui/FileSelector/util.d.ts +58 -3
  466. package/esm/ui/FileSelector/util.js +128 -11
  467. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  468. package/esm/ui/GpuFallbackButton.js +20 -0
  469. package/esm/ui/HoverMenu.d.ts +12 -3
  470. package/esm/ui/HoverMenu.js +31 -9
  471. package/esm/ui/HoverTooltip.d.ts +27 -0
  472. package/esm/ui/HoverTooltip.js +24 -0
  473. package/esm/ui/Icons.d.ts +6 -4
  474. package/esm/ui/Icons.js +9 -0
  475. package/esm/ui/InfoDialog.d.ts +7 -0
  476. package/esm/ui/InfoDialog.js +16 -0
  477. package/esm/ui/InlineMenuControls.d.ts +6 -0
  478. package/esm/ui/InlineMenuControls.js +17 -0
  479. package/esm/ui/JexlFilterDialog.d.ts +23 -0
  480. package/esm/ui/JexlFilterDialog.js +94 -0
  481. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  482. package/esm/ui/LabeledCheckbox.js +7 -0
  483. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  484. package/esm/ui/LegendSwatchGlyph.js +25 -0
  485. package/esm/ui/LoadingDots.d.ts +1 -0
  486. package/esm/ui/LoadingDots.js +30 -0
  487. package/esm/ui/LoadingEllipses.d.ts +17 -1
  488. package/esm/ui/LoadingEllipses.js +20 -29
  489. package/esm/ui/LoadingOverlay.d.ts +23 -0
  490. package/esm/ui/LoadingOverlay.js +137 -0
  491. package/esm/ui/LoadingProgress.d.ts +16 -0
  492. package/esm/ui/LoadingProgress.js +16 -0
  493. package/esm/ui/Logo.d.ts +2 -2
  494. package/esm/ui/Logo.js +23 -24
  495. package/esm/ui/Menu.js +1 -1
  496. package/esm/ui/MenuItemChevron.d.ts +3 -0
  497. package/esm/ui/MenuItemChevron.js +19 -0
  498. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  499. package/esm/ui/MenuItemEndDecoration.js +28 -0
  500. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  501. package/esm/ui/MenuItemTrailing.js +42 -0
  502. package/esm/ui/MenuTypes.d.ts +134 -5
  503. package/esm/ui/MenuTypes.js +16 -1
  504. package/esm/ui/MonospaceTextField.d.ts +9 -0
  505. package/esm/ui/MonospaceTextField.js +37 -0
  506. package/esm/ui/NumberTextField.d.ts +31 -0
  507. package/esm/ui/NumberTextField.js +33 -0
  508. package/esm/ui/PaletteContext.d.ts +92 -0
  509. package/esm/ui/PaletteContext.js +133 -0
  510. package/esm/ui/PinAdornment.d.ts +5 -0
  511. package/esm/ui/PinAdornment.js +85 -0
  512. package/esm/ui/PluggableComponent.d.ts +10 -0
  513. package/esm/ui/PluggableComponent.js +19 -0
  514. package/esm/ui/PluggableComponents.d.ts +29 -0
  515. package/esm/ui/PluggableComponents.js +28 -0
  516. package/esm/ui/PluggableElements.d.ts +23 -0
  517. package/esm/ui/PluggableElements.js +24 -0
  518. package/esm/ui/PluginStoreCard.d.ts +17 -0
  519. package/esm/ui/PluginStoreCard.js +45 -0
  520. package/esm/ui/PopoverPicker.d.ts +6 -0
  521. package/esm/ui/PopoverPicker.js +25 -0
  522. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  523. package/esm/ui/PrerenderedCanvas.js +5 -4
  524. package/esm/ui/ProgressChip.d.ts +37 -0
  525. package/esm/ui/ProgressChip.js +66 -0
  526. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  527. package/esm/ui/RedErrorMessageBox.js +9 -3
  528. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  529. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  530. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  531. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  532. package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
  533. package/esm/ui/RefNameAutocomplete/index.js +78 -0
  534. package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
  535. package/esm/ui/RefNameAutocomplete/util.js +168 -0
  536. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  537. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  538. package/esm/ui/ResizeHandle.d.ts +13 -7
  539. package/esm/ui/ResizeHandle.js +42 -55
  540. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  541. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  542. package/esm/ui/SanitizedHTML.d.ts +6 -1
  543. package/esm/ui/SanitizedHTML.js +7 -47
  544. package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
  545. package/esm/ui/ScrollEdgeShadow.js +98 -0
  546. package/esm/ui/ScrollZoomToggle.d.ts +38 -0
  547. package/esm/ui/ScrollZoomToggle.js +92 -0
  548. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  549. package/esm/ui/SequenceAdapterInputs.js +30 -0
  550. package/esm/ui/SettingsChangesTable.d.ts +14 -0
  551. package/esm/ui/SettingsChangesTable.js +49 -0
  552. package/esm/ui/ShareLinkField.d.ts +6 -0
  553. package/esm/ui/ShareLinkField.js +42 -0
  554. package/esm/ui/SingleSlider.d.ts +8 -0
  555. package/esm/ui/SingleSlider.js +11 -0
  556. package/esm/ui/SizeSliderRow.d.ts +16 -0
  557. package/esm/ui/SizeSliderRow.js +50 -0
  558. package/esm/ui/SliderTooltip.d.ts +2 -0
  559. package/esm/ui/SliderTooltip.js +17 -0
  560. package/esm/ui/Snackbar.d.ts +4 -2
  561. package/esm/ui/Snackbar.js +11 -8
  562. package/esm/ui/SnackbarContents.d.ts +1 -1
  563. package/esm/ui/SnackbarContents.js +21 -3
  564. package/esm/ui/SnackbarModel.d.ts +40 -0
  565. package/esm/ui/SnackbarModel.js +43 -11
  566. package/esm/ui/StackTraceButton.d.ts +5 -0
  567. package/esm/ui/StackTraceButton.js +16 -0
  568. package/esm/ui/StatusProgressBar.d.ts +37 -0
  569. package/esm/ui/StatusProgressBar.js +76 -0
  570. package/esm/ui/SubmitDialog.d.ts +6 -0
  571. package/esm/ui/SubmitDialog.js +9 -0
  572. package/esm/ui/SubmitForm.d.ts +23 -0
  573. package/esm/ui/SubmitForm.js +23 -0
  574. package/esm/ui/SvgColorLegend.d.ts +13 -0
  575. package/esm/ui/SvgColorLegend.js +65 -0
  576. package/esm/ui/SvgGradientLegend.d.ts +26 -0
  577. package/esm/ui/SvgGradientLegend.js +26 -0
  578. package/esm/ui/TagTextField.d.ts +40 -0
  579. package/esm/ui/TagTextField.js +32 -0
  580. package/esm/ui/VerticalScrollbar.d.ts +45 -0
  581. package/esm/ui/VerticalScrollbar.js +158 -0
  582. package/esm/ui/ViewLoadingScreen.d.ts +24 -0
  583. package/esm/ui/ViewLoadingScreen.js +76 -0
  584. package/esm/ui/addExtensionElement.d.ts +18 -0
  585. package/esm/ui/addExtensionElement.js +23 -0
  586. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  587. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  588. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  589. package/esm/ui/colorSwatchStyle.js +11 -0
  590. package/esm/ui/colors.d.ts +61 -8
  591. package/esm/ui/colors.js +135 -1
  592. package/esm/ui/extensionSelectors.d.ts +38 -0
  593. package/esm/ui/extensionSelectors.js +49 -0
  594. package/esm/ui/filterMenuItems.d.ts +112 -0
  595. package/esm/ui/filterMenuItems.js +86 -0
  596. package/esm/ui/formatErrorStack.d.ts +1 -0
  597. package/esm/ui/formatErrorStack.js +56 -0
  598. package/esm/ui/gpuFallback.d.ts +33 -0
  599. package/esm/ui/gpuFallback.js +39 -0
  600. package/esm/ui/highlightChipReveal.d.ts +32 -0
  601. package/esm/ui/highlightChipReveal.js +39 -0
  602. package/esm/ui/hoverBoxStyle.d.ts +11 -0
  603. package/esm/ui/hoverBoxStyle.js +13 -0
  604. package/esm/ui/index.d.ts +76 -4
  605. package/esm/ui/index.js +90 -19
  606. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  607. package/esm/ui/inlineMenuRowWidth.js +8 -0
  608. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  609. package/esm/ui/launchTargetsMenuItem.js +24 -0
  610. package/esm/ui/launchViewMenu.d.ts +4 -0
  611. package/esm/ui/launchViewMenu.js +42 -0
  612. package/esm/ui/legendMenuItem.d.ts +38 -0
  613. package/esm/ui/legendMenuItem.js +44 -0
  614. package/esm/ui/legendSpec.d.ts +62 -0
  615. package/esm/ui/legendSpec.js +78 -0
  616. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  617. package/esm/ui/loadingDotKeyframes.js +17 -0
  618. package/esm/ui/makeSizeMenu.d.ts +30 -0
  619. package/esm/ui/makeSizeMenu.js +82 -0
  620. package/esm/ui/mapStackTrace.d.ts +8 -0
  621. package/esm/ui/mapStackTrace.js +108 -0
  622. package/esm/ui/measureLegendText.d.ts +1 -0
  623. package/esm/ui/measureLegendText.js +8 -0
  624. package/esm/ui/menuItemAdornment.d.ts +33 -0
  625. package/esm/ui/menuItemAdornment.js +50 -0
  626. package/esm/ui/menuItems.d.ts +28 -0
  627. package/esm/ui/menuItems.js +26 -0
  628. package/esm/ui/menuLabels.d.ts +41 -0
  629. package/esm/ui/menuLabels.js +43 -0
  630. package/esm/ui/multiTrackMenuItems.d.ts +19 -0
  631. package/esm/ui/multiTrackMenuItems.js +15 -0
  632. package/esm/ui/palette.d.ts +559 -0
  633. package/esm/ui/palette.js +746 -0
  634. package/esm/ui/parseError.d.ts +4 -0
  635. package/esm/ui/parseError.js +18 -0
  636. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  637. package/esm/ui/persistentScrollbarStyle.js +53 -0
  638. package/esm/ui/promotableMenuItems.d.ts +19 -0
  639. package/esm/ui/promotableMenuItems.js +91 -0
  640. package/esm/ui/promotablePinCoverage.d.ts +44 -0
  641. package/esm/ui/promotablePinCoverage.js +88 -0
  642. package/esm/ui/radioSubMenu.d.ts +33 -0
  643. package/esm/ui/radioSubMenu.js +32 -0
  644. package/esm/ui/react-colorful.js +5 -1
  645. package/esm/ui/replaceViewAction.d.ts +31 -0
  646. package/esm/ui/replaceViewAction.js +39 -0
  647. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  648. package/esm/ui/rewriteExternalAnchors.js +8 -0
  649. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  650. package/esm/ui/scrollZoomLabels.js +22 -0
  651. package/esm/ui/showSubMenu.d.ts +19 -0
  652. package/esm/ui/showSubMenu.js +30 -0
  653. package/esm/ui/sliderScale.d.ts +6 -0
  654. package/esm/ui/sliderScale.js +30 -0
  655. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  656. package/esm/ui/statusProgressKeyframes.js +14 -0
  657. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  658. package/esm/ui/stripStackTraceMessage.js +9 -0
  659. package/esm/ui/styleTheme.d.ts +158 -0
  660. package/esm/ui/styleTheme.js +115 -0
  661. package/esm/ui/submenuAim.d.ts +30 -0
  662. package/esm/ui/submenuAim.js +37 -0
  663. package/esm/ui/theme.d.ts +343 -29
  664. package/esm/ui/theme.js +258 -342
  665. package/esm/ui/toggleMenuItems.d.ts +42 -0
  666. package/esm/ui/toggleMenuItems.js +60 -0
  667. package/esm/ui/useAssemblySelection.d.ts +153 -0
  668. package/esm/ui/useAssemblySelection.js +54 -0
  669. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  670. package/esm/ui/useCoalescedPointer.js +60 -0
  671. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  672. package/esm/ui/useCopyToClipboard.js +41 -0
  673. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  674. package/esm/ui/useExportSvgPreference.js +4 -0
  675. package/esm/ui/useMouseTracking.d.ts +71 -0
  676. package/esm/ui/useMouseTracking.js +179 -0
  677. package/esm/ui/useRecentLocations.d.ts +28 -0
  678. package/esm/ui/useRecentLocations.js +31 -0
  679. package/esm/ui/wrapComponent.d.ts +47 -0
  680. package/esm/ui/wrapComponent.js +58 -0
  681. package/esm/ui/zIndexes.d.ts +28 -0
  682. package/esm/ui/zIndexes.js +38 -0
  683. package/esm/util/Base1DUtils.d.ts +204 -16
  684. package/esm/util/Base1DUtils.js +310 -175
  685. package/esm/util/Base1DViewModel.d.ts +97 -20
  686. package/esm/util/Base1DViewModel.js +148 -39
  687. package/esm/util/FileSaver/index.d.ts +1 -0
  688. package/esm/util/FileSaver/index.js +27 -0
  689. package/esm/util/IntervalTree.d.ts +18 -39
  690. package/esm/util/IntervalTree.js +63 -244
  691. package/esm/util/SvgCanvas.d.ts +81 -0
  692. package/esm/util/SvgCanvas.js +500 -0
  693. package/esm/util/TimeTraveller.d.ts +12 -0
  694. package/esm/util/TimeTraveller.js +130 -27
  695. package/esm/util/aborting.d.ts +17 -4
  696. package/esm/util/aborting.js +30 -25
  697. package/esm/util/adapterMetadata.d.ts +20 -0
  698. package/esm/util/adapterMetadata.js +39 -0
  699. package/esm/util/addAndShowTrack.d.ts +22 -0
  700. package/esm/util/addAndShowTrack.js +27 -0
  701. package/esm/util/addRelativeUris.d.ts +17 -0
  702. package/esm/util/addRelativeUris.js +42 -0
  703. package/esm/util/addTrackComponent.d.ts +72 -0
  704. package/esm/util/addTrackComponent.js +53 -0
  705. package/esm/util/addTrackFromWidget.d.ts +94 -0
  706. package/esm/util/addTrackFromWidget.js +90 -0
  707. package/esm/util/analytics.d.ts +32 -3
  708. package/esm/util/analytics.js +102 -49
  709. package/esm/util/animationAllowed.d.ts +17 -0
  710. package/esm/util/animationAllowed.js +22 -0
  711. package/esm/util/applyRowResizeWheel.d.ts +10 -0
  712. package/esm/util/applyRowResizeWheel.js +34 -0
  713. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  714. package/esm/util/assemblyConfigUtils.js +498 -0
  715. package/esm/util/bandHeight.d.ts +53 -0
  716. package/esm/util/bandHeight.js +56 -0
  717. package/esm/util/bandLayout.d.ts +51 -0
  718. package/esm/util/bandLayout.js +36 -0
  719. package/esm/util/bezierConnector.d.ts +14 -0
  720. package/esm/util/bezierConnector.js +108 -0
  721. package/esm/util/bgzfWorkerPool.d.ts +78 -0
  722. package/esm/util/bgzfWorkerPool.js +81 -0
  723. package/esm/util/blockTypes.d.ts +64 -45
  724. package/esm/util/blockTypes.js +67 -74
  725. package/esm/util/bpUtils.d.ts +81 -0
  726. package/esm/util/bpUtils.js +103 -0
  727. package/esm/util/cacheBudgets.d.ts +55 -0
  728. package/esm/util/cacheBudgets.js +55 -0
  729. package/esm/util/cachedSetup.d.ts +51 -0
  730. package/esm/util/cachedSetup.js +87 -0
  731. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  732. package/esm/util/calculateDynamicBlocks.js +85 -82
  733. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  734. package/esm/util/calculateStaticBlocks.js +48 -71
  735. package/esm/util/chooseGridPitch.d.ts +9 -0
  736. package/esm/util/chooseGridPitch.js +31 -0
  737. package/esm/util/clampToContig.d.ts +26 -0
  738. package/esm/util/clampToContig.js +28 -0
  739. package/esm/util/cmpStr.d.ts +1 -0
  740. package/esm/util/cmpStr.js +7 -0
  741. package/esm/util/coarseStripHTML.js +3 -15
  742. package/esm/util/color/cssColorsLevel4.js +6 -2
  743. package/esm/util/color/index.d.ts +81 -2
  744. package/esm/util/color/index.js +194 -25
  745. package/esm/util/color-bits/bit.d.ts +4 -0
  746. package/esm/util/color-bits/bit.js +37 -0
  747. package/esm/util/color-bits/convert.d.ts +23 -0
  748. package/esm/util/color-bits/convert.js +294 -0
  749. package/esm/util/color-bits/core.d.ts +34 -0
  750. package/esm/util/color-bits/core.js +67 -0
  751. package/esm/util/color-bits/format.d.ts +24 -0
  752. package/esm/util/color-bits/format.js +82 -0
  753. package/esm/util/color-bits/functions.d.ts +33 -0
  754. package/esm/util/color-bits/functions.js +70 -0
  755. package/esm/util/color-bits/index.d.ts +5 -0
  756. package/esm/util/color-bits/index.js +4 -0
  757. package/esm/util/color-bits/parse.d.ts +17 -0
  758. package/esm/util/color-bits/parse.js +382 -0
  759. package/esm/util/colorBits.d.ts +39 -0
  760. package/esm/util/colorBits.js +180 -0
  761. package/esm/util/colorRamp.d.ts +37 -0
  762. package/esm/util/colorRamp.js +93 -0
  763. package/esm/util/colord.d.ts +8 -0
  764. package/esm/util/colord.js +43 -191
  765. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  766. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  767. package/esm/util/copyText.d.ts +18 -0
  768. package/esm/util/copyText.js +30 -0
  769. package/esm/util/copyToClipboard.d.ts +4 -0
  770. package/esm/util/copyToClipboard.js +58 -0
  771. package/esm/util/createStopTokenRotation.d.ts +118 -0
  772. package/esm/util/createStopTokenRotation.js +127 -0
  773. package/esm/util/createSvgRasterCanvas.d.ts +7 -0
  774. package/esm/util/createSvgRasterCanvas.js +22 -0
  775. package/esm/util/crypto.d.ts +24 -0
  776. package/esm/util/crypto.js +85 -2
  777. package/esm/util/dataGridUtils.d.ts +9 -0
  778. package/esm/util/dataGridUtils.js +36 -0
  779. package/esm/util/dedupe.js +1 -0
  780. package/esm/util/deepEqual.d.ts +8 -0
  781. package/esm/util/deepEqual.js +22 -0
  782. package/esm/util/deepMerge.d.ts +20 -0
  783. package/esm/util/deepMerge.js +44 -0
  784. package/esm/util/diagonalizeRegions.d.ts +23 -0
  785. package/esm/util/diagonalizeRegions.js +192 -0
  786. package/esm/util/environment.d.ts +4 -0
  787. package/esm/util/environment.js +43 -0
  788. package/esm/util/eventPoint.d.ts +32 -0
  789. package/esm/util/eventPoint.js +28 -0
  790. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  791. package/esm/util/fetchAndMaybeUnzip.js +64 -0
  792. package/esm/util/fetchContext.d.ts +82 -0
  793. package/esm/util/fetchContext.js +59 -0
  794. package/esm/util/fetchHub.d.ts +15 -0
  795. package/esm/util/fetchHub.js +31 -0
  796. package/esm/util/fetchJson.d.ts +1 -0
  797. package/esm/util/fetchJson.js +7 -0
  798. package/esm/util/fetchPhases.d.ts +77 -0
  799. package/esm/util/fetchPhases.js +1 -0
  800. package/esm/util/fetchSeq.d.ts +5 -1
  801. package/esm/util/fetchSeq.js +18 -6
  802. package/esm/util/fileHandleStore.d.ts +19 -2
  803. package/esm/util/fileHandleStore.js +95 -35
  804. package/esm/util/flatbush/index.d.ts +27 -6
  805. package/esm/util/flatbush/index.js +194 -218
  806. package/esm/util/formatBytes.d.ts +9 -0
  807. package/esm/util/formatBytes.js +18 -0
  808. package/esm/util/formatFastaStrings.d.ts +13 -0
  809. package/esm/util/formatFastaStrings.js +13 -0
  810. package/esm/util/formatGuessers.d.ts +30 -0
  811. package/esm/util/formatGuessers.js +69 -0
  812. package/esm/util/formatRelativeTime.d.ts +1 -0
  813. package/esm/util/formatRelativeTime.js +25 -0
  814. package/esm/util/frameCoalescer.d.ts +30 -0
  815. package/esm/util/frameCoalescer.js +22 -0
  816. package/esm/util/freezeDeep.d.ts +28 -0
  817. package/esm/util/freezeDeep.js +41 -0
  818. package/esm/util/geneticCodes.d.ts +56 -0
  819. package/esm/util/geneticCodes.js +371 -0
  820. package/esm/util/getFileName.d.ts +11 -0
  821. package/esm/util/getFileName.js +34 -0
  822. package/esm/util/getLocationUri.d.ts +49 -0
  823. package/esm/util/getLocationUri.js +63 -0
  824. package/esm/util/getRelativeX.d.ts +4 -0
  825. package/esm/util/getRelativeX.js +7 -0
  826. package/esm/util/getStr.d.ts +6 -0
  827. package/esm/util/getStr.js +15 -0
  828. package/esm/util/highlights.d.ts +21 -0
  829. package/esm/util/highlights.js +100 -0
  830. package/esm/util/hooks.d.ts +168 -0
  831. package/esm/util/hooks.js +443 -0
  832. package/esm/util/htmlText.d.ts +13 -0
  833. package/esm/util/htmlText.js +66 -0
  834. package/esm/util/idMaker.d.ts +1 -1
  835. package/esm/util/idMaker.js +31 -18
  836. package/esm/util/index.d.ts +81 -268
  837. package/esm/util/index.js +135 -853
  838. package/esm/util/indexCandidates.d.ts +50 -0
  839. package/esm/util/indexCandidates.js +101 -0
  840. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  841. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  842. package/esm/util/installFetch.d.ts +220 -0
  843. package/esm/util/installFetch.js +206 -0
  844. package/esm/util/installInitAutorun.d.ts +62 -0
  845. package/esm/util/installInitAutorun.js +107 -0
  846. package/esm/util/intervals.d.ts +20 -0
  847. package/esm/util/intervals.js +37 -0
  848. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  849. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  850. package/esm/util/io/index.d.ts +39 -2
  851. package/esm/util/io/index.js +115 -12
  852. package/esm/util/isDataCurrent.d.ts +7 -0
  853. package/esm/util/isDataCurrent.js +9 -0
  854. package/esm/util/isWebWorker.js +1 -2
  855. package/esm/util/iupac.d.ts +4 -0
  856. package/esm/util/iupac.js +59 -0
  857. package/esm/util/jexl.js +141 -17
  858. package/esm/util/jexlFilters.d.ts +75 -0
  859. package/esm/util/jexlFilters.js +49 -0
  860. package/esm/util/jexlStrings.d.ts +22 -1
  861. package/esm/util/jexlStrings.js +21 -14
  862. package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
  863. package/esm/util/layouts/GranularRectLayout.js +99 -356
  864. package/esm/util/layouts/index.d.ts +1 -7
  865. package/esm/util/layouts/index.js +2 -6
  866. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  867. package/esm/util/layouts/intervalUtils.js +13 -31
  868. package/esm/util/layouts/placeRect.d.ts +50 -0
  869. package/esm/util/layouts/placeRect.js +97 -0
  870. package/esm/util/lazyAfterAttach.d.ts +13 -0
  871. package/esm/util/lazyAfterAttach.js +31 -0
  872. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  873. package/esm/util/leadingEdgeAutorun.js +51 -0
  874. package/esm/util/legendCandidates.d.ts +50 -0
  875. package/esm/util/legendCandidates.js +87 -0
  876. package/esm/util/librpc.d.ts +5 -2
  877. package/esm/util/librpc.js +6 -1
  878. package/esm/util/linkify.js +2 -0
  879. package/esm/util/locString.d.ts +72 -0
  880. package/esm/util/locString.js +178 -7
  881. package/esm/util/locStringsToRegions.d.ts +10 -0
  882. package/esm/util/locStringsToRegions.js +35 -0
  883. package/esm/util/localStorage.d.ts +36 -0
  884. package/esm/util/localStorage.js +137 -0
  885. package/esm/util/makeAssembly.d.ts +54 -0
  886. package/esm/util/makeAssembly.js +52 -0
  887. package/esm/util/makeTrackId.d.ts +14 -0
  888. package/esm/util/makeTrackId.js +14 -0
  889. package/esm/util/matchTrackId.d.ts +11 -0
  890. package/esm/util/matchTrackId.js +14 -0
  891. package/esm/util/measureText.d.ts +24 -0
  892. package/esm/util/measureText.js +51 -0
  893. package/esm/util/mst-reflection.d.ts +14 -4
  894. package/esm/util/mst-reflection.js +33 -32
  895. package/esm/util/mstUtils.d.ts +100 -0
  896. package/esm/util/mstUtils.js +140 -0
  897. package/esm/util/nanoid.d.ts +0 -4
  898. package/esm/util/nanoid.js +10 -20
  899. package/esm/util/numericUtils.d.ts +20 -0
  900. package/esm/util/numericUtils.js +127 -0
  901. package/esm/util/objectUtils.d.ts +2 -0
  902. package/esm/util/objectUtils.js +9 -0
  903. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  904. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  905. package/esm/util/openDisplays.d.ts +23 -0
  906. package/esm/util/openDisplays.js +79 -0
  907. package/esm/util/openFeatureWidget.d.ts +33 -0
  908. package/esm/util/openFeatureWidget.js +64 -0
  909. package/esm/util/paintLayer.d.ts +32 -0
  910. package/esm/util/paintLayer.js +33 -0
  911. package/esm/util/parentWalk.d.ts +32 -0
  912. package/esm/util/parentWalk.js +84 -0
  913. package/esm/util/parseLineByLine.d.ts +45 -2
  914. package/esm/util/parseLineByLine.js +156 -15
  915. package/esm/util/parseMotifList.d.ts +17 -0
  916. package/esm/util/parseMotifList.js +69 -0
  917. package/esm/util/pluginStore.d.ts +114 -0
  918. package/esm/util/pluginStore.js +260 -0
  919. package/esm/util/pointerPresence.d.ts +5 -0
  920. package/esm/util/pointerPresence.js +21 -0
  921. package/esm/util/progress.d.ts +459 -0
  922. package/esm/util/progress.js +820 -0
  923. package/esm/util/range.d.ts +46 -1
  924. package/esm/util/range.js +68 -2
  925. package/esm/util/renameRegions.d.ts +21 -0
  926. package/esm/util/renameRegions.js +129 -0
  927. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  928. package/esm/util/renderToStaticMarkup.js +50 -0
  929. package/esm/util/reorder.d.ts +35 -0
  930. package/esm/util/reorder.js +83 -0
  931. package/esm/util/resolveRowHeight.d.ts +27 -0
  932. package/esm/util/resolveRowHeight.js +30 -0
  933. package/esm/util/revlist.d.ts +13 -0
  934. package/esm/util/revlist.js +14 -0
  935. package/esm/util/rowStackGeometry.d.ts +66 -0
  936. package/esm/util/rowStackGeometry.js +70 -0
  937. package/esm/util/rpc.d.ts +16 -1
  938. package/esm/util/rpc.js +12 -1
  939. package/esm/util/rxjs.d.ts +30 -1
  940. package/esm/util/rxjs.js +88 -10
  941. package/esm/util/sameStrings.d.ts +16 -0
  942. package/esm/util/sameStrings.js +20 -0
  943. package/esm/util/scrollLatch.d.ts +4 -0
  944. package/esm/util/scrollLatch.js +59 -0
  945. package/esm/util/selectNamedRegions.d.ts +136 -0
  946. package/esm/util/selectNamedRegions.js +222 -0
  947. package/esm/util/seqUtils.d.ts +17 -0
  948. package/esm/util/seqUtils.js +80 -0
  949. package/esm/util/sessionServices.d.ts +29 -0
  950. package/esm/util/sessionServices.js +46 -0
  951. package/esm/util/sessionSharing.d.ts +38 -0
  952. package/esm/util/sessionSharing.js +154 -0
  953. package/esm/util/sessionStorage.d.ts +1 -0
  954. package/esm/util/sessionStorage.js +15 -0
  955. package/esm/util/setStackTraceLimit.d.ts +6 -0
  956. package/esm/util/setStackTraceLimit.js +20 -0
  957. package/esm/util/simpleFeature.d.ts +112 -4
  958. package/esm/util/simpleFeature.js +181 -29
  959. package/esm/util/springAnimate.d.ts +20 -0
  960. package/esm/util/springAnimate.js +80 -0
  961. package/esm/util/stats.d.ts +25 -2
  962. package/esm/util/stats.js +39 -8
  963. package/esm/util/stopToken.d.ts +207 -15
  964. package/esm/util/stopToken.js +403 -55
  965. package/esm/util/stringUtils.d.ts +5 -0
  966. package/esm/util/stringUtils.js +34 -0
  967. package/esm/util/svgColorProps.d.ts +7 -0
  968. package/esm/util/svgColorProps.js +28 -0
  969. package/esm/util/tabix.d.ts +126 -0
  970. package/esm/util/tabix.js +149 -0
  971. package/esm/util/tags.d.ts +2 -0
  972. package/esm/util/tags.js +5 -0
  973. package/esm/util/temporaryAssembly.d.ts +21 -0
  974. package/esm/util/temporaryAssembly.js +29 -0
  975. package/esm/util/tickLabels.d.ts +36 -0
  976. package/esm/util/tickLabels.js +45 -0
  977. package/esm/util/timeGate.d.ts +26 -0
  978. package/esm/util/timeGate.js +79 -0
  979. package/esm/util/trackConfigDelta.d.ts +84 -0
  980. package/esm/util/trackConfigDelta.js +190 -0
  981. package/esm/util/tracks.d.ts +398 -30
  982. package/esm/util/tracks.js +699 -191
  983. package/esm/util/tss-react/cssAndCx.js +11 -66
  984. package/esm/util/tss-react/index.d.ts +11 -2
  985. package/esm/util/tss-react/index.js +9 -2
  986. package/esm/util/tss-react/makeStyles.js +7 -4
  987. package/esm/util/tss-react/mergeClasses.js +1 -0
  988. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  989. package/esm/util/tss-react/tools/classnames.js +3 -0
  990. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  991. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  992. package/esm/util/tss-react/types.d.ts +1 -1
  993. package/esm/util/tss-react/types.js +1 -6
  994. package/esm/util/types/ElementId.js +1 -1
  995. package/esm/util/types/data.d.ts +75 -0
  996. package/esm/util/types/data.js +41 -0
  997. package/esm/util/types/index.d.ts +402 -120
  998. package/esm/util/types/index.js +90 -64
  999. package/esm/util/types/isAny.d.ts +11 -0
  1000. package/esm/util/types/isAny.js +1 -0
  1001. package/esm/util/types/mst.d.ts +71 -47
  1002. package/esm/util/types/mst.js +27 -22
  1003. package/esm/util/types/predicate.d.ts +9 -0
  1004. package/esm/util/types/predicate.js +1 -0
  1005. package/esm/util/types/renderingServices.d.ts +16 -0
  1006. package/esm/util/types/renderingServices.js +1 -0
  1007. package/esm/util/types/services.d.ts +55 -0
  1008. package/esm/util/types/services.js +10 -0
  1009. package/esm/util/types/util.d.ts +8 -2
  1010. package/esm/util/unknownSnapshotKeys.d.ts +36 -0
  1011. package/esm/util/unknownSnapshotKeys.js +69 -0
  1012. package/esm/util/unzip.d.ts +1 -0
  1013. package/esm/util/unzip.js +6 -0
  1014. package/esm/util/useEventCallback.d.ts +1 -0
  1015. package/esm/util/useEventCallback.js +16 -0
  1016. package/esm/util/useFeatureSequence.d.ts +13 -7
  1017. package/esm/util/useFeatureSequence.js +56 -78
  1018. package/esm/util/useFetch.d.ts +56 -0
  1019. package/esm/util/useFetch.js +188 -0
  1020. package/esm/util/useFetchPlugins.d.ts +12 -0
  1021. package/esm/util/useFetchPlugins.js +14 -0
  1022. package/esm/util/useMeasure.d.ts +11 -1
  1023. package/esm/util/useMeasure.js +20 -6
  1024. package/esm/util/usePanZoom.d.ts +75 -0
  1025. package/esm/util/usePanZoom.js +175 -0
  1026. package/esm/util/usePanelVirtualScroll.d.ts +37 -0
  1027. package/esm/util/usePanelVirtualScroll.js +42 -0
  1028. package/esm/util/usePointerDrag.d.ts +37 -0
  1029. package/esm/util/usePointerDrag.js +61 -0
  1030. package/esm/util/useRafCommit.d.ts +4 -0
  1031. package/esm/util/useRafCommit.js +50 -0
  1032. package/esm/util/useResizeDrag.d.ts +91 -0
  1033. package/esm/util/useResizeDrag.js +105 -0
  1034. package/esm/util/useRowVirtualScroll.d.ts +32 -0
  1035. package/esm/util/useRowVirtualScroll.js +63 -0
  1036. package/esm/util/useVirtualScrollWheel.d.ts +7 -0
  1037. package/esm/util/useVirtualScrollWheel.js +108 -0
  1038. package/esm/util/viewStatus.d.ts +81 -0
  1039. package/esm/util/viewStatus.js +37 -0
  1040. package/esm/util/virtualRange.d.ts +36 -0
  1041. package/esm/util/virtualRange.js +26 -0
  1042. package/esm/util/webStorage.d.ts +26 -0
  1043. package/esm/util/webStorage.js +92 -0
  1044. package/esm/util/wheelZoom.d.ts +59 -0
  1045. package/esm/util/wheelZoom.js +231 -0
  1046. package/esm/util/whenViewSettled.d.ts +40 -0
  1047. package/esm/util/whenViewSettled.js +41 -0
  1048. package/esm/util/withFeatureDetails.d.ts +34 -0
  1049. package/esm/util/withFeatureDetails.js +59 -0
  1050. package/esm/util/withLaunchInput.d.ts +123 -0
  1051. package/esm/util/withLaunchInput.js +228 -0
  1052. package/package.json +243 -820
  1053. package/esm/ReExports/DataGrid.d.ts +0 -1
  1054. package/esm/ReExports/DataGrid.js +0 -1
  1055. package/esm/configuration/util.d.ts +0 -10
  1056. package/esm/configuration/util.js +0 -123
  1057. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1058. package/esm/data_adapters/util.d.ts +0 -1
  1059. package/esm/data_adapters/util.js +0 -6
  1060. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1061. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1062. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1063. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1064. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1065. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1066. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1067. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1068. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1069. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1070. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1071. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1072. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1073. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1074. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1075. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1076. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1077. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1078. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1079. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1080. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1081. package/esm/rpc/baseRpcConfig.js +0 -10
  1082. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1083. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1084. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1085. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1086. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1087. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1088. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1089. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1090. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1091. package/esm/rpc/methods/CoreRender.js +0 -40
  1092. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1093. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1094. package/esm/rpc/methods/util.d.ts +0 -15
  1095. package/esm/rpc/methods/util.js +0 -7
  1096. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1097. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1098. package/esm/ui/MenuButton.d.ts +0 -1
  1099. package/esm/ui/MenuButton.js +0 -1
  1100. package/esm/ui/MenuItems.d.ts +0 -15
  1101. package/esm/ui/MenuItems.js +0 -59
  1102. package/esm/ui/useEvent.d.ts +0 -1
  1103. package/esm/ui/useEvent.js +0 -10
  1104. package/esm/util/blobToDataURL.d.ts +0 -1
  1105. package/esm/util/blobToDataURL.js +0 -14
  1106. package/esm/util/compositeMap.d.ts +0 -11
  1107. package/esm/util/compositeMap.js +0 -59
  1108. package/esm/util/flatqueue/index.d.ts +0 -11
  1109. package/esm/util/flatqueue/index.js +0 -61
  1110. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1111. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1112. package/esm/util/layouts/MultiLayout.js +0 -40
  1113. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1114. package/esm/util/layouts/PileupLayout.js +0 -202
  1115. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1116. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1117. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1118. package/esm/util/layouts/SceneGraph.js +0 -121
  1119. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1120. package/esm/util/makeAbortableReaction.js +0 -47
  1121. package/esm/util/map-obj/index.d.ts +0 -13
  1122. package/esm/util/map-obj/index.js +0 -92
  1123. package/esm/util/nextTick.d.ts +0 -1
  1124. package/esm/util/nextTick.js +0 -3
  1125. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1126. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1127. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1128. package/esm/util/offscreenCanvasUtils.js +0 -19
  1129. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1130. package/esm/util/renderToAbstractCanvas.js +0 -53
  1131. package/esm/util/transferables.d.ts +0 -2
  1132. package/esm/util/transferables.js +0 -35
  1133. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1134. package/esm/util/tss-react/mui/index.js +0 -1
  1135. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1136. package/esm/util/tss-react/mui/mui.js +0 -5
  1137. package/esm/util/when.d.ts +0 -1
  1138. package/esm/util/when.js +0 -1
  1139. /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
  1140. /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
@@ -0,0 +1,177 @@
1
+ import type { IAnyStateTreeNode } from '@jbrowse/mobx-state-tree';
2
+ /**
3
+ * Checks that a display's fetch foundation attached it exactly once — the one
4
+ * ordering contract here that is a *state* rather than a declaration, so no
5
+ * selector can reach it. Costs a `WeakSet` lookup, so it runs in a production
6
+ * build too and reports through `contractReports`, which is silent until
7
+ * something arms it.
8
+ *
9
+ * Called once per display from **whichever fetch foundation installed its
10
+ * autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
11
+ * family, `installGlobalFetchAutorun` for the global one,
12
+ * `installComparativeFetchAutorun` for the comparative one. Landing here twice
13
+ * for one node means every autorun that foundation installs is installed twice:
14
+ * double fetches, double clears, and nothing anywhere says so.
15
+ *
16
+ * The named cause is a display that chains to `super` in its own `afterAttach`
17
+ * — our MST fork auto-chains lifecycle hooks, so the explicit call re-enters the
18
+ * foundation's hook. **That cause is a declaration and could be a lint selector;
19
+ * this check is not, because it is not the only cause**: composing two fetch
20
+ * foundations onto one display, or calling an installer from a display that
21
+ * already composes the mixin, arrives here the same way, through a composition
22
+ * assembled across files that no single one of them spells out. So the message
23
+ * leads with the common cause and then describes the state, not the syntax.
24
+ *
25
+ * `installedBy` names the caller so the message can describe the right thing;
26
+ * the WeakSet is shared, which is correct — a display composes one fetch
27
+ * foundation, so reaching here twice is the bug regardless of which.
28
+ *
29
+ * ARCHITECTURAL_LIMITS.md §"Ordering is the contract" is the authoritative
30
+ * account of which contracts report themselves at runtime, which are lint
31
+ * selectors and which are still silent; don't restate the split here, because
32
+ * this comment said "four places" against a heading that said five and a list
33
+ * that held six.
34
+ *
35
+ * Every message names the fix, not just the symptom — the failure modes here
36
+ * cost hours precisely because the symptom (a wedged display, a stale cache)
37
+ * points nowhere near the cause.
38
+ */
39
+ export declare function assertDisplayContract(self: IAnyStateTreeNode, installedBy?: string): void;
40
+ /** What one run of a display's fetch autorun did. */
41
+ export type FetchAutorunOutcome =
42
+ /** the display's own gate opened and a fetch started */
43
+ 'fetched'
44
+ /** the gate stayed shut, so this run did nothing */
45
+ | 'declined'
46
+ /** a foundation gate skipped the run before the display's own was consulted */
47
+ | 'gated'
48
+ /**
49
+ * The run stopped on something that re-wakes this autorun by itself, so it
50
+ * answers nothing either way — the same deferral `awaitingPrerequisite` gets,
51
+ * reached from inside the foundation rather than declared by the display. The
52
+ * per-region family's in-flight-fetch skip is the case: `reload()` signals the
53
+ * running fetch's stop token but `activeStopToken` clears in `runFetch`'s
54
+ * finally, so the very next run can still see `isLoading` — and that fetch
55
+ * ending bumps `fetchGeneration`, which the autorun tracks. Consuming the bump
56
+ * there would answer the retry with a run that predates it.
57
+ */
58
+ | 'deferred';
59
+ interface RetryContractHost {
60
+ reloadCounter: number;
61
+ fetchInert: boolean;
62
+ /**
63
+ * Optional: the comparative family has no two-stage fetch, so nothing there
64
+ * declares it. A family that grows one declares it and gets the deferral.
65
+ */
66
+ awaitingPrerequisite?: boolean;
67
+ /**
68
+ * Optional for the same reason: it is the LGV foundations' term for a view
69
+ * holding no content block, and a comparative display draws onto a shared
70
+ * surface that has no such state.
71
+ */
72
+ viewportEmpty?: boolean;
73
+ }
74
+ /** Called by `FetchMixin.runFetch`. */
75
+ export declare function noteFetchStarted(self: object): void;
76
+ /** Reads and clears the flag above, so each check starts from a known state. */
77
+ export declare function takeFetchStarted(self: object): boolean;
78
+ /**
79
+ * Checks that a display's `reload()` can actually reach a fetch — the retry
80
+ * contract, which `DisplayErrorBar` depends on and which no type can state.
81
+ * Costs an `untracked` read per autorun run against a fetch, so it runs in a
82
+ * production build too and reports through `contractReports`.
83
+ *
84
+ * **The button is the contract.** `DisplayErrorBar`'s only action is
85
+ * `model.reload()`, so every state that can raise the error bar has to be one
86
+ * `reload()` actually undoes; otherwise the button is present, looks live, and
87
+ * does nothing. It has failed three times, and the shape this catches is the one
88
+ * that recurs on its own: a gate that goes shut the moment data lands.
89
+ * `GlobalFetchMixin.reload()` clears the error and bumps `reloadCounter`,
90
+ * `installGlobalFetchAutorun` reads that counter unconditionally so the autorun
91
+ * re-runs — and then the gate declines, because from its point of view nothing
92
+ * has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
93
+ * with the error clearing on click and no arcs ever coming back. The fix this
94
+ * message asks for is what `GlobalFetchMixin.reload()` now does for that whole
95
+ * family — drop `loadedFetchSignature`, so `dataCurrent` goes false and the
96
+ * gate opens.
97
+ *
98
+ * Detected at the moment it happens rather than statically, because the relation
99
+ * between `reload()` and the gate is semantic: a run that follows a
100
+ * `reloadCounter` bump and declines to fetch IS the dead button.
101
+ *
102
+ * **The bump is the only thing that arms this**, so a `reload()` override that
103
+ * neither bumps nor chains to super turns the whole check off for its display —
104
+ * silently, and for as long as nobody reads the override. Canvas shipped in that
105
+ * shape, which is two of the most-used displays in the product. What watches for
106
+ * the next one is `MultiRegionDisplayMixin`'s `reloadReachesCounter.test.ts`,
107
+ * which reads every `reload()` in the tree.
108
+ *
109
+ * **Both fetch foundations install it**, and what counts as the gate differs.
110
+ * The global family's `prepare()` returns the fetch's args or `undefined`, so
111
+ * its run classifies itself. The per-region family's gate is block coverage — a
112
+ * `reload()` that invalidates nothing leaves `needed` empty — plus the
113
+ * `fetchNeeded` override, which can decline inside an async body the foundation
114
+ * cannot read a return value from. So `MultiRegionDisplayMixin` classifies on
115
+ * whether the override reached `runFetch`, which every one of the nine does in
116
+ * its synchronous prefix. An override that awaits before fetching would read as a
117
+ * decline; there is no such override, and one added later gets a false report
118
+ * rather than a silent gap, which is the right way round.
119
+ *
120
+ * **A fetch also answers the retry on its own** (`noteFetchStarted`), because
121
+ * `reload()` may reach one without an autorun run in between: canvas's clears and
122
+ * calls `fetchNeeded` directly rather than waiting out the 600ms debounce, and
123
+ * the autorun's next run then finds the blocks covered.
124
+ *
125
+ * A display deliberately not fetching at all is the one exempt decline — LD with
126
+ * the triangle off, whose `reload()` correctly does nothing because there is
127
+ * nothing to load. That is already a named state: `fetchInert`, which the
128
+ * loading scrim reads for the same reason, so the exemption is not a second
129
+ * thing to remember. A display that suppresses the scrim and still wants the
130
+ * retry checked has the two questions genuinely apart and should say so here.
131
+ *
132
+ * `viewportEmpty` is the second exemption and the same shape once more, reached
133
+ * from the view rather than declared by the display: with no content block on
134
+ * screen there is no region to ask for, so every display in that view declines
135
+ * and every one of their Retry buttons is inert *because the viewport is*, not
136
+ * because a `reload()` forgot to invalidate anything. Reporting there would be
137
+ * true and useless — the fix the message names does not exist — and it would
138
+ * fire on every display at once, which is how a check stops being read. Same
139
+ * term the scrim, the export gate and `painted` read, so this is the fourth
140
+ * reader of one answer rather than a rule of its own.
141
+ *
142
+ * `awaitingPrerequisite` is not a second exemption — it is a *deferral*, and the
143
+ * difference is the point. A two-stage `reload()` bumps the counter, wakes a
144
+ * prerequisite fetch in another autorun, and declines here only until that
145
+ * lands. HiC is the case: the contacts autorun runs first and declines because
146
+ * `effectiveResolution` is still undefined, and the header arriving a moment
147
+ * later wakes it again through the tracked read that declined. So the bump is
148
+ * left outstanding instead of consumed, and the run after the prerequisite
149
+ * lands is the one that has to reach a fetch — if it declines too, the report
150
+ * lands then. A display cannot spend its retry on a decline it called
151
+ * preliminary, which is what an exemption here would have let it do.
152
+ * `fetchInert` is the wrong thing for HiC to say in any case, because it
153
+ * does want the scrim while the header is re-read.
154
+ *
155
+ * Both flags are read off the node, and both are declared once on `FetchMixin`
156
+ * — the one mixin all three display foundations compose. Neither foundation
157
+ * passes them in: the global family's three phases are autorun options because
158
+ * that is what they are, and these two are properties of the
159
+ * display, which is why an earlier arrangement that made this one an option
160
+ * there and a getter on the per-region mixin had one concept in two spellings.
161
+ *
162
+ * **The predicate has to be strictly narrower than the gate's own decline to be
163
+ * a deferral at all.** One that restates the gate's negation makes every decline a
164
+ * deferred one, so no run is ever judged and the display has opted out — an
165
+ * exemption by another name. HiC's is that shape, because its gate and its
166
+ * prerequisite are the same condition, and what covers HiC's retry instead is
167
+ * `LinearHicDisplay/infoFetchFailure.test.ts`. Say so at any call site that
168
+ * lands there, and pick a narrower predicate wherever one exists.
169
+ *
170
+ * **Everything it reads is `untracked`.** It runs inside the fetch autorun, so a
171
+ * tracked read of `fetchInert` — or of whatever `awaitingPrerequisite`
172
+ * reaches — would put that observable in the autorun's dependency set in dev and
173
+ * not in production, a display whose fetch re-fires only in development, which
174
+ * is worse than the bug being checked for.
175
+ */
176
+ export declare function makeRetryContractCheck(self: IAnyStateTreeNode & RetryContractHost): (outcome: FetchAutorunOutcome) => void;
177
+ export {};
@@ -0,0 +1,239 @@
1
+ import { getMembers } from '@jbrowse/mobx-state-tree';
2
+ import { reportContractViolation } from '@jbrowse/render-core/contractReports';
3
+ import { untracked } from 'mobx';
4
+ // Nodes whose fetch foundation has already installed its autoruns. Keyed on the
5
+ // node rather than the model type: every display of a type would otherwise
6
+ // report from the second instance onward.
7
+ const attached = new WeakSet();
8
+ function report(message) {
9
+ reportContractViolation('display', message);
10
+ }
11
+ /**
12
+ * Checks that a display's fetch foundation attached it exactly once — the one
13
+ * ordering contract here that is a *state* rather than a declaration, so no
14
+ * selector can reach it. Costs a `WeakSet` lookup, so it runs in a production
15
+ * build too and reports through `contractReports`, which is silent until
16
+ * something arms it.
17
+ *
18
+ * Called once per display from **whichever fetch foundation installed its
19
+ * autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
20
+ * family, `installGlobalFetchAutorun` for the global one,
21
+ * `installComparativeFetchAutorun` for the comparative one. Landing here twice
22
+ * for one node means every autorun that foundation installs is installed twice:
23
+ * double fetches, double clears, and nothing anywhere says so.
24
+ *
25
+ * The named cause is a display that chains to `super` in its own `afterAttach`
26
+ * — our MST fork auto-chains lifecycle hooks, so the explicit call re-enters the
27
+ * foundation's hook. **That cause is a declaration and could be a lint selector;
28
+ * this check is not, because it is not the only cause**: composing two fetch
29
+ * foundations onto one display, or calling an installer from a display that
30
+ * already composes the mixin, arrives here the same way, through a composition
31
+ * assembled across files that no single one of them spells out. So the message
32
+ * leads with the common cause and then describes the state, not the syntax.
33
+ *
34
+ * `installedBy` names the caller so the message can describe the right thing;
35
+ * the WeakSet is shared, which is correct — a display composes one fetch
36
+ * foundation, so reaching here twice is the bug regardless of which.
37
+ *
38
+ * ARCHITECTURAL_LIMITS.md §"Ordering is the contract" is the authoritative
39
+ * account of which contracts report themselves at runtime, which are lint
40
+ * selectors and which are still silent; don't restate the split here, because
41
+ * this comment said "four places" against a heading that said five and a list
42
+ * that held six.
43
+ *
44
+ * Every message names the fix, not just the symptom — the failure modes here
45
+ * cost hours precisely because the symptom (a wedged display, a stale cache)
46
+ * points nowhere near the cause.
47
+ */
48
+ export function assertDisplayContract(self, installedBy = "the per-region fetch foundation's afterAttach") {
49
+ if (attached.has(self)) {
50
+ report(`${getMembers(self).name}: ${installedBy} ran twice on one display, ` +
51
+ `so its fetch autoruns are installed twice (double fetches, double ` +
52
+ `clears). Our MST fork auto-chains lifecycle hooks, so the usual ` +
53
+ `cause is a superAfterAttach() call in this display's afterAttach — ` +
54
+ `delete it. Otherwise this display composes two fetch foundations, ` +
55
+ `or calls an installer it already gets from a mixin. ` +
56
+ `See agent-docs/ARCHITECTURE.md §"What not to do".`);
57
+ }
58
+ else {
59
+ attached.add(self);
60
+ }
61
+ }
62
+ // Displays whose fetch has started since the last time the caller looked, and
63
+ // the ledger each of those nodes reports to. Both module-scope and keyed on the
64
+ // node for the same reason `attached` above is: the state is per display
65
+ // *instance*, and the code that needs it — `FetchMixin.runFetch`, a `.actions()`
66
+ // block, an `afterAttach` — cannot share a closure, because a mixin factory runs
67
+ // once per model type.
68
+ //
69
+ // The signal is `FetchMixin.runFetch`, the one place a fetch starts in every
70
+ // family, reached in the synchronous prefix of every one of the nine
71
+ // `fetchNeeded` overrides (directly, or through `fetchEachRegion` /
72
+ // `fetchAllRegions` / `fetchRegions`). The per-region foundation needs it because
73
+ // its gate is not a boolean it can read: `fetchNeeded` is an async action that
74
+ // returns the fetch's promise, and an override declines by returning early, which
75
+ // is indistinguishable from returning the promise of a fetch that has started.
76
+ //
77
+ // **A fetch answers an outstanding retry wherever `reload()` reached it from**,
78
+ // which is why `noteFetchStarted` tells the ledger rather than only setting a
79
+ // flag for the autorun to read. Canvas's `reload()` fetches directly — it clears
80
+ // and calls `fetchNeeded` itself instead of waiting out `FetchVisibleRegions`'
81
+ // 600ms debounce — so by the time that autorun runs, the blocks are covered and
82
+ // the run reads as a decline. Judging only from the autorun reports a dead button
83
+ // on the display with the liveliest one.
84
+ const fetchStarted = new WeakSet();
85
+ const ledgers = new WeakMap();
86
+ /** Called by `FetchMixin.runFetch`. */
87
+ export function noteFetchStarted(self) {
88
+ fetchStarted.add(self);
89
+ ledgers.get(self)?.('fetched');
90
+ }
91
+ /** Reads and clears the flag above, so each check starts from a known state. */
92
+ export function takeFetchStarted(self) {
93
+ return fetchStarted.delete(self);
94
+ }
95
+ /**
96
+ * Checks that a display's `reload()` can actually reach a fetch — the retry
97
+ * contract, which `DisplayErrorBar` depends on and which no type can state.
98
+ * Costs an `untracked` read per autorun run against a fetch, so it runs in a
99
+ * production build too and reports through `contractReports`.
100
+ *
101
+ * **The button is the contract.** `DisplayErrorBar`'s only action is
102
+ * `model.reload()`, so every state that can raise the error bar has to be one
103
+ * `reload()` actually undoes; otherwise the button is present, looks live, and
104
+ * does nothing. It has failed three times, and the shape this catches is the one
105
+ * that recurs on its own: a gate that goes shut the moment data lands.
106
+ * `GlobalFetchMixin.reload()` clears the error and bumps `reloadCounter`,
107
+ * `installGlobalFetchAutorun` reads that counter unconditionally so the autorun
108
+ * re-runs — and then the gate declines, because from its point of view nothing
109
+ * has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
110
+ * with the error clearing on click and no arcs ever coming back. The fix this
111
+ * message asks for is what `GlobalFetchMixin.reload()` now does for that whole
112
+ * family — drop `loadedFetchSignature`, so `dataCurrent` goes false and the
113
+ * gate opens.
114
+ *
115
+ * Detected at the moment it happens rather than statically, because the relation
116
+ * between `reload()` and the gate is semantic: a run that follows a
117
+ * `reloadCounter` bump and declines to fetch IS the dead button.
118
+ *
119
+ * **The bump is the only thing that arms this**, so a `reload()` override that
120
+ * neither bumps nor chains to super turns the whole check off for its display —
121
+ * silently, and for as long as nobody reads the override. Canvas shipped in that
122
+ * shape, which is two of the most-used displays in the product. What watches for
123
+ * the next one is `MultiRegionDisplayMixin`'s `reloadReachesCounter.test.ts`,
124
+ * which reads every `reload()` in the tree.
125
+ *
126
+ * **Both fetch foundations install it**, and what counts as the gate differs.
127
+ * The global family's `prepare()` returns the fetch's args or `undefined`, so
128
+ * its run classifies itself. The per-region family's gate is block coverage — a
129
+ * `reload()` that invalidates nothing leaves `needed` empty — plus the
130
+ * `fetchNeeded` override, which can decline inside an async body the foundation
131
+ * cannot read a return value from. So `MultiRegionDisplayMixin` classifies on
132
+ * whether the override reached `runFetch`, which every one of the nine does in
133
+ * its synchronous prefix. An override that awaits before fetching would read as a
134
+ * decline; there is no such override, and one added later gets a false report
135
+ * rather than a silent gap, which is the right way round.
136
+ *
137
+ * **A fetch also answers the retry on its own** (`noteFetchStarted`), because
138
+ * `reload()` may reach one without an autorun run in between: canvas's clears and
139
+ * calls `fetchNeeded` directly rather than waiting out the 600ms debounce, and
140
+ * the autorun's next run then finds the blocks covered.
141
+ *
142
+ * A display deliberately not fetching at all is the one exempt decline — LD with
143
+ * the triangle off, whose `reload()` correctly does nothing because there is
144
+ * nothing to load. That is already a named state: `fetchInert`, which the
145
+ * loading scrim reads for the same reason, so the exemption is not a second
146
+ * thing to remember. A display that suppresses the scrim and still wants the
147
+ * retry checked has the two questions genuinely apart and should say so here.
148
+ *
149
+ * `viewportEmpty` is the second exemption and the same shape once more, reached
150
+ * from the view rather than declared by the display: with no content block on
151
+ * screen there is no region to ask for, so every display in that view declines
152
+ * and every one of their Retry buttons is inert *because the viewport is*, not
153
+ * because a `reload()` forgot to invalidate anything. Reporting there would be
154
+ * true and useless — the fix the message names does not exist — and it would
155
+ * fire on every display at once, which is how a check stops being read. Same
156
+ * term the scrim, the export gate and `painted` read, so this is the fourth
157
+ * reader of one answer rather than a rule of its own.
158
+ *
159
+ * `awaitingPrerequisite` is not a second exemption — it is a *deferral*, and the
160
+ * difference is the point. A two-stage `reload()` bumps the counter, wakes a
161
+ * prerequisite fetch in another autorun, and declines here only until that
162
+ * lands. HiC is the case: the contacts autorun runs first and declines because
163
+ * `effectiveResolution` is still undefined, and the header arriving a moment
164
+ * later wakes it again through the tracked read that declined. So the bump is
165
+ * left outstanding instead of consumed, and the run after the prerequisite
166
+ * lands is the one that has to reach a fetch — if it declines too, the report
167
+ * lands then. A display cannot spend its retry on a decline it called
168
+ * preliminary, which is what an exemption here would have let it do.
169
+ * `fetchInert` is the wrong thing for HiC to say in any case, because it
170
+ * does want the scrim while the header is re-read.
171
+ *
172
+ * Both flags are read off the node, and both are declared once on `FetchMixin`
173
+ * — the one mixin all three display foundations compose. Neither foundation
174
+ * passes them in: the global family's three phases are autorun options because
175
+ * that is what they are, and these two are properties of the
176
+ * display, which is why an earlier arrangement that made this one an option
177
+ * there and a getter on the per-region mixin had one concept in two spellings.
178
+ *
179
+ * **The predicate has to be strictly narrower than the gate's own decline to be
180
+ * a deferral at all.** One that restates the gate's negation makes every decline a
181
+ * deferred one, so no run is ever judged and the display has opted out — an
182
+ * exemption by another name. HiC's is that shape, because its gate and its
183
+ * prerequisite are the same condition, and what covers HiC's retry instead is
184
+ * `LinearHicDisplay/infoFetchFailure.test.ts`. Say so at any call site that
185
+ * lands there, and pick a narrower predicate wherever one exists.
186
+ *
187
+ * **Everything it reads is `untracked`.** It runs inside the fetch autorun, so a
188
+ * tracked read of `fetchInert` — or of whatever `awaitingPrerequisite`
189
+ * reaches — would put that observable in the autorun's dependency set in dev and
190
+ * not in production, a display whose fetch re-fires only in development, which
191
+ * is worse than the bug being checked for.
192
+ */
193
+ export function makeRetryContractCheck(self) {
194
+ // eslint-disable-next-line no-restricted-syntax -- instrumentation
195
+ let lastCounter = untracked(() => self.reloadCounter);
196
+ function noteRetryContractOutcome(outcome) {
197
+ // eslint-disable-next-line no-restricted-syntax -- instrumentation
198
+ untracked(() => {
199
+ // A decline while a prerequisite is still in flight is a stage of the
200
+ // retry, so the bump stays OUTSTANDING rather than being either reported
201
+ // or forgotten — the run that follows the prerequisite landing is the one
202
+ // that answers it, and if that run declines too the report lands then.
203
+ // Deferring rather than exempting is what keeps the check's teeth here: a
204
+ // display cannot spend its retry on a decline it called preliminary.
205
+ if (outcome === 'deferred') {
206
+ return;
207
+ }
208
+ if (outcome === 'declined' && self.awaitingPrerequisite) {
209
+ return;
210
+ }
211
+ const retried = self.reloadCounter !== lastCounter;
212
+ // Consumed on every other outcome, `gated` included: a run the byte gate
213
+ // skipped answers the retry legitimately (that banner offers Force load,
214
+ // not Retry), and leaving the bump unconsumed would report against
215
+ // whichever unrelated run cleared the gate later.
216
+ lastCounter = self.reloadCounter;
217
+ if (retried &&
218
+ outcome === 'declined' &&
219
+ !self.fetchInert &&
220
+ !self.viewportEmpty) {
221
+ report(`${getMembers(self).name}: reload() bumped reloadCounter but the ` +
222
+ `fetch autorun's gate still declines, so Retry is a dead ` +
223
+ `button — it clears the error and nothing refetches. reload() has ` +
224
+ `to invalidate whatever that gate reads, not just bump the ` +
225
+ `counter (GlobalFetchMixin.reload drops loadedFetchSignature so ` +
226
+ `dataCurrent goes false). If this display is deliberately not ` +
227
+ `fetching, say so with fetchInert — the loading scrim and the SVG ` +
228
+ `export read it too; if this run declined only because a ` +
229
+ `prerequisite fetch in another autorun has not landed, say so with ` +
230
+ `awaitingPrerequisite and the retry is judged on the run after ` +
231
+ `it does. See DISPLAYCHROME.md §"The retry contract".`);
232
+ }
233
+ });
234
+ }
235
+ // So `noteFetchStarted` can answer an outstanding retry the moment a fetch
236
+ // begins, whether or not an autorun run is what began it.
237
+ ledgers.set(self, noteRetryContractOutcome);
238
+ return noteRetryContractOutcome;
239
+ }
@@ -1,14 +1,28 @@
1
1
  import type { Instance } from '@jbrowse/mobx-state-tree';
2
+ /**
3
+ * #config BaseConnection
4
+ * #gotcha A connection config is only a pointer: the hub's track list is
5
+ * fetched when the connection loads and held in memory, and is **not** written
6
+ * into a saved or shared session. Only a track you actually open is stored
7
+ * (under `connectionTrackConfigs`, keyed by `trackId`), which is what keeps a
8
+ * shared session small even against a very large hub.
9
+ */
2
10
  declare const BaseConnectionConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
3
- name: {
4
- type: string;
5
- defaultValue: string;
6
- description: string;
11
+ /**
12
+ * #slot
13
+ */
14
+ readonly name: {
15
+ readonly type: "string";
16
+ readonly defaultValue: "nameOfConnection";
17
+ readonly description: "a unique name for this connection";
7
18
  };
8
- assemblyNames: {
9
- type: string;
10
- defaultValue: never[];
11
- description: string;
19
+ /**
20
+ * #slot
21
+ */
22
+ readonly assemblyNames: {
23
+ readonly type: "stringArray";
24
+ readonly defaultValue: readonly [];
25
+ readonly description: "optional list of names of assemblies in this connection";
12
26
  };
13
27
  }, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "connectionId">>;
14
28
  export default BaseConnectionConfig;
@@ -1,11 +1,24 @@
1
- import { ConfigurationSchema } from "../../configuration/index.js";
2
- function x() { }
1
+ import { ConfigurationSchema } from '../../configuration/index.js';
2
+ /**
3
+ * #config BaseConnection
4
+ * #gotcha A connection config is only a pointer: the hub's track list is
5
+ * fetched when the connection loads and held in memory, and is **not** written
6
+ * into a saved or shared session. Only a track you actually open is stored
7
+ * (under `connectionTrackConfigs`, keyed by `trackId`), which is what keeps a
8
+ * shared session small even against a very large hub.
9
+ */
3
10
  const BaseConnectionConfig = ConfigurationSchema('BaseConnection', {
11
+ /**
12
+ * #slot
13
+ */
4
14
  name: {
5
15
  type: 'string',
6
16
  defaultValue: 'nameOfConnection',
7
17
  description: 'a unique name for this connection',
8
18
  },
19
+ /**
20
+ * #slot
21
+ */
9
22
  assemblyNames: {
10
23
  type: 'stringArray',
11
24
  defaultValue: [],
@@ -13,6 +26,9 @@ const BaseConnectionConfig = ConfigurationSchema('BaseConnection', {
13
26
  },
14
27
  }, {
15
28
  explicitlyTyped: true,
29
+ /**
30
+ * #identifier
31
+ */
16
32
  explicitIdentifier: 'connectionId',
17
33
  });
18
34
  export default BaseConnectionConfig;
@@ -1,27 +1,46 @@
1
+ /**
2
+ * #config BaseInternetAccount
3
+ * the "base" internet account type
4
+ */
1
5
  export declare const BaseInternetAccountConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
2
- name: {
3
- description: string;
4
- type: string;
5
- defaultValue: string;
6
+ /**
7
+ * #slot
8
+ */
9
+ readonly name: {
10
+ readonly description: "descriptive name of the internet account";
11
+ readonly type: "string";
12
+ readonly defaultValue: "";
6
13
  };
7
- description: {
8
- description: string;
9
- type: string;
10
- defaultValue: string;
14
+ /**
15
+ * #slot
16
+ */
17
+ readonly description: {
18
+ readonly description: "a description of the internet account";
19
+ readonly type: "string";
20
+ readonly defaultValue: "";
11
21
  };
12
- authHeader: {
13
- description: string;
14
- type: string;
15
- defaultValue: string;
22
+ /**
23
+ * #slot
24
+ */
25
+ readonly authHeader: {
26
+ readonly description: "request header for credentials";
27
+ readonly type: "string";
28
+ readonly defaultValue: "Authorization";
16
29
  };
17
- tokenType: {
18
- description: string;
19
- type: string;
20
- defaultValue: string;
30
+ /**
31
+ * #slot
32
+ */
33
+ readonly tokenType: {
34
+ readonly description: "a custom name for a token to include in the header";
35
+ readonly type: "string";
36
+ readonly defaultValue: "";
21
37
  };
22
- domains: {
23
- description: string;
24
- type: string;
25
- defaultValue: never[];
38
+ /**
39
+ * #slot
40
+ */
41
+ readonly domains: {
42
+ readonly description: "array of valid domains the url can contain to use this account";
43
+ readonly type: "stringArray";
44
+ readonly defaultValue: readonly [];
26
45
  };
27
46
  }, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "internetAccountId">>;
@@ -1,32 +1,53 @@
1
- import { ConfigurationSchema } from "../../configuration/index.js";
2
- function x() { }
1
+ import { ConfigurationSchema } from '../../configuration/index.js';
2
+ /**
3
+ * #config BaseInternetAccount
4
+ * the "base" internet account type
5
+ */
3
6
  export const BaseInternetAccountConfig = ConfigurationSchema('InternetAccount', {
7
+ /**
8
+ * #slot
9
+ */
4
10
  name: {
5
11
  description: 'descriptive name of the internet account',
6
12
  type: 'string',
7
13
  defaultValue: '',
8
14
  },
15
+ /**
16
+ * #slot
17
+ */
9
18
  description: {
10
19
  description: 'a description of the internet account',
11
20
  type: 'string',
12
21
  defaultValue: '',
13
22
  },
23
+ /**
24
+ * #slot
25
+ */
14
26
  authHeader: {
15
27
  description: 'request header for credentials',
16
28
  type: 'string',
17
29
  defaultValue: 'Authorization',
18
30
  },
31
+ /**
32
+ * #slot
33
+ */
19
34
  tokenType: {
20
35
  description: 'a custom name for a token to include in the header',
21
36
  type: 'string',
22
37
  defaultValue: '',
23
38
  },
39
+ /**
40
+ * #slot
41
+ */
24
42
  domains: {
25
43
  description: 'array of valid domains the url can contain to use this account',
26
44
  type: 'stringArray',
27
45
  defaultValue: [],
28
46
  },
29
47
  }, {
48
+ /**
49
+ * #identifier
50
+ */
30
51
  explicitIdentifier: 'internetAccountId',
31
52
  explicitlyTyped: true,
32
53
  });