@jbrowse/core 4.3.0 → 5.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1265) hide show
  1. package/README.md +1994 -0
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +14 -3
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +36 -23
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +10 -7
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +124 -21
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +12 -1
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +19 -5
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +18 -23
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +9 -6
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +33 -30
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +19 -0
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +5 -3
  33. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +8 -6
  34. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  35. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
  36. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +7 -2
  37. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +15 -20
  38. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
  39. package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +50 -0
  40. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -1
  41. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +9 -10
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +35 -24
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +3 -3
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
  57. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
  58. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
  59. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
  60. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
  61. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
  62. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
  63. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
  64. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
  65. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
  66. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
  67. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
  68. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  69. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
  70. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
  71. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +20 -0
  72. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
  73. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
  74. package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
  75. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +62 -63
  76. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +69 -59
  77. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
  78. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
  79. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
  80. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
  81. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
  82. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
  83. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
  84. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
  85. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
  86. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
  87. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
  88. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
  89. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
  90. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
  91. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
  92. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
  93. package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
  94. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
  95. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
  96. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
  97. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
  98. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
  99. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
  100. package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
  101. package/esm/BaseFeatureWidget/configSchema.js +1 -1
  102. package/esm/BaseFeatureWidget/formatDetails.d.ts +22 -0
  103. package/esm/BaseFeatureWidget/formatDetails.js +82 -0
  104. package/esm/BaseFeatureWidget/index.d.ts +4 -1
  105. package/esm/BaseFeatureWidget/index.js +2 -2
  106. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +102 -71
  107. package/esm/BaseFeatureWidget/stateModelFactory.js +162 -63
  108. package/esm/BaseFeatureWidget/types.d.ts +15 -8
  109. package/esm/BaseFeatureWidget/util.d.ts +2 -37
  110. package/esm/BaseFeatureWidget/util.js +4 -85
  111. package/esm/CorePlugin.js +12 -7
  112. package/esm/PhasedScheduler.d.ts +4 -2
  113. package/esm/PhasedScheduler.js +18 -2
  114. package/esm/Plugin.d.ts +6 -1
  115. package/esm/Plugin.js +7 -0
  116. package/esm/PluginLoader.d.ts +55 -44
  117. package/esm/PluginLoader.js +290 -90
  118. package/esm/PluginManager.d.ts +476 -57
  119. package/esm/PluginManager.js +480 -91
  120. package/esm/ReExports/MuiDataGridReExports.d.ts +3 -2
  121. package/esm/ReExports/MuiDataGridReExports.js +58 -130
  122. package/esm/ReExports/MuiReExports.d.ts +3 -134
  123. package/esm/ReExports/MuiReExports.js +43 -16
  124. package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
  125. package/esm/ReExports/MuiStylesReExports.js +55 -0
  126. package/esm/ReExports/coreModules.generated.d.ts +2 -0
  127. package/esm/ReExports/coreModules.generated.js +528 -0
  128. package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
  129. package/esm/ReExports/coreWorkerModules.generated.js +488 -0
  130. package/esm/ReExports/frameworkModules.d.ts +2 -0
  131. package/esm/ReExports/frameworkModules.js +68 -0
  132. package/esm/ReExports/frameworkShared.d.ts +12 -0
  133. package/esm/ReExports/frameworkShared.js +16 -0
  134. package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
  135. package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
  136. package/esm/ReExports/lazify.d.ts +2 -2
  137. package/esm/ReExports/lazify.js +16 -3
  138. package/esm/ReExports/list.js +433 -160
  139. package/esm/ReExports/modules.d.ts +1 -1
  140. package/esm/ReExports/modules.js +10 -146
  141. package/esm/ReExports/muiComponentNames.d.ts +18 -0
  142. package/esm/ReExports/muiComponentNames.js +130 -0
  143. package/esm/ReExports/registry.d.ts +3 -0
  144. package/esm/ReExports/registry.js +46 -0
  145. package/esm/ReExports/uiStub.d.ts +3 -0
  146. package/esm/ReExports/uiStub.js +33 -0
  147. package/esm/ReExports/workerModules.d.ts +2 -0
  148. package/esm/ReExports/workerModules.js +11 -0
  149. package/esm/TextSearch/BaseResults.d.ts +20 -21
  150. package/esm/TextSearch/BaseResults.js +8 -33
  151. package/esm/TextSearch/TextSearchManager.d.ts +30 -36
  152. package/esm/TextSearch/TextSearchManager.js +138 -44
  153. package/esm/TextSearch/places.d.ts +12 -0
  154. package/esm/TextSearch/places.js +94 -0
  155. package/esm/assemblyManager/assembly.d.ts +310 -35
  156. package/esm/assemblyManager/assembly.js +554 -263
  157. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  158. package/esm/assemblyManager/assemblyAdapters.js +24 -0
  159. package/esm/assemblyManager/assemblyConfigSchema.d.ts +135 -19
  160. package/esm/assemblyManager/assemblyConfigSchema.js +205 -23
  161. package/esm/assemblyManager/assemblyManager.d.ts +586 -323
  162. package/esm/assemblyManager/assemblyManager.js +352 -51
  163. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +39 -0
  164. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +114 -0
  165. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  166. package/esm/assemblyManager/geneticCodes.js +44 -0
  167. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +19 -0
  168. package/esm/assemblyManager/getSequenceAdapterConfig.js +22 -0
  169. package/esm/assemblyManager/index.d.ts +1 -1
  170. package/esm/assemblyManager/index.js +2 -2
  171. package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
  172. package/esm/assemblyManager/indexAssemblyNames.js +22 -0
  173. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  174. package/esm/assemblyManager/loadRefNameMap.js +75 -0
  175. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  176. package/esm/assemblyManager/refNameColors.js +32 -0
  177. package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
  178. package/esm/assemblyManager/refNameMapKey.js +12 -0
  179. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  180. package/esm/assemblyManager/refNameMaps.js +87 -0
  181. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  182. package/esm/assemblyManager/refNameMismatch.js +66 -0
  183. package/esm/checkPlugins.d.ts +13 -0
  184. package/esm/checkPlugins.js +98 -0
  185. package/esm/configuration/bamIndexFields.d.ts +49 -0
  186. package/esm/configuration/bamIndexFields.js +41 -0
  187. package/esm/configuration/configurationSchema.d.ts +194 -29
  188. package/esm/configuration/configurationSchema.js +439 -145
  189. package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
  190. package/esm/configuration/configurationSchemaUnion.js +56 -0
  191. package/esm/configuration/configurationSlot.d.ts +373 -30
  192. package/esm/configuration/configurationSlot.js +231 -224
  193. package/esm/configuration/fillLocations.d.ts +14 -0
  194. package/esm/configuration/fillLocations.js +14 -0
  195. package/esm/configuration/formatAboutConfigSchema.d.ts +41 -0
  196. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  197. package/esm/configuration/formatDetailsConfigSchema.d.ts +54 -0
  198. package/esm/configuration/formatDetailsConfigSchema.js +87 -0
  199. package/esm/configuration/fullConfSnapshot.d.ts +13 -0
  200. package/esm/configuration/fullConfSnapshot.js +44 -0
  201. package/esm/configuration/getConf.d.ts +92 -0
  202. package/esm/configuration/getConf.js +141 -0
  203. package/esm/configuration/index.d.ts +32 -3
  204. package/esm/configuration/index.js +27 -2
  205. package/esm/configuration/indexType.d.ts +26 -0
  206. package/esm/configuration/indexType.js +38 -0
  207. package/esm/configuration/mergeFormatCallbacks.d.ts +14 -0
  208. package/esm/configuration/mergeFormatCallbacks.js +27 -0
  209. package/esm/configuration/readConfObject.d.ts +34 -0
  210. package/esm/configuration/readConfObject.js +118 -0
  211. package/esm/configuration/requirements.d.ts +37 -0
  212. package/esm/configuration/requirements.js +88 -0
  213. package/esm/configuration/schemaRegistry.d.ts +52 -0
  214. package/esm/configuration/schemaRegistry.js +48 -0
  215. package/esm/configuration/schemaTypes.d.ts +39 -0
  216. package/esm/configuration/schemaTypes.js +105 -0
  217. package/esm/configuration/slotFacade.d.ts +65 -0
  218. package/esm/configuration/slotFacade.js +110 -0
  219. package/esm/configuration/slotValueUtils.d.ts +17 -0
  220. package/esm/configuration/slotValueUtils.js +25 -0
  221. package/esm/configuration/snapshotPreprocess.d.ts +43 -0
  222. package/esm/configuration/snapshotPreprocess.js +161 -0
  223. package/esm/configuration/tabixIndexFields.d.ts +70 -0
  224. package/esm/configuration/tabixIndexFields.js +62 -0
  225. package/esm/configuration/tabixShorthand.d.ts +51 -0
  226. package/esm/configuration/tabixShorthand.js +72 -0
  227. package/esm/configuration/types.d.ts +315 -13
  228. package/esm/configuration/uriShorthand.d.ts +9 -0
  229. package/esm/configuration/uriShorthand.js +16 -0
  230. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +19 -11
  231. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +19 -18
  232. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +158 -7
  233. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +164 -29
  234. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  235. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  236. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  237. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  238. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  239. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  240. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
  241. package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
  242. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  243. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  244. package/esm/data_adapters/BaseAdapter/index.d.ts +28 -6
  245. package/esm/data_adapters/BaseAdapter/index.js +6 -5
  246. package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
  247. package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
  248. package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
  249. package/esm/data_adapters/BaseAdapter/stats.js +89 -24
  250. package/esm/data_adapters/BaseAdapter/types.d.ts +11 -13
  251. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  252. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  253. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  254. package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
  255. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  256. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +5 -5
  257. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +34 -6
  258. package/esm/data_adapters/CytobandAdapter/configSchema.js +47 -17
  259. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  260. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  261. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  262. package/esm/data_adapters/dataAdapterCache.d.ts +53 -2
  263. package/esm/data_adapters/dataAdapterCache.js +99 -25
  264. package/esm/data_adapters/getFeatureAdapter.d.ts +24 -0
  265. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  266. package/esm/data_adapters/getSequenceSubAdapter.d.ts +19 -0
  267. package/esm/data_adapters/getSequenceSubAdapter.js +42 -0
  268. package/esm/pluggableElementTypes/AdapterType.d.ts +57 -7
  269. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  270. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  271. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  272. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  273. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  274. package/esm/pluggableElementTypes/DisplayType.d.ts +54 -14
  275. package/esm/pluggableElementTypes/DisplayType.js +30 -7
  276. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  277. package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
  278. package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
  279. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +11 -0
  280. package/esm/pluggableElementTypes/PluggableElementBase.js +11 -0
  281. package/esm/pluggableElementTypes/RpcMethodType.d.ts +142 -12
  282. package/esm/pluggableElementTypes/RpcMethodType.js +279 -98
  283. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +18 -9
  284. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  285. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  286. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  287. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  288. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  289. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
  290. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  291. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  292. package/esm/pluggableElementTypes/TrackType.js +1 -1
  293. package/esm/pluggableElementTypes/ViewType.d.ts +22 -5
  294. package/esm/pluggableElementTypes/ViewType.js +40 -5
  295. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  296. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  297. package/esm/pluggableElementTypes/addMenuItems.d.ts +88 -0
  298. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  299. package/esm/pluggableElementTypes/extendElementType.d.ts +29 -0
  300. package/esm/pluggableElementTypes/extendElementType.js +72 -0
  301. package/esm/pluggableElementTypes/index.d.ts +8 -7
  302. package/esm/pluggableElementTypes/index.js +24 -14
  303. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +80 -15
  304. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  305. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +643 -84
  306. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +230 -60
  307. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +246 -37
  308. package/esm/pluggableElementTypes/models/BaseTrackModel.js +416 -107
  309. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +236 -16
  310. package/esm/pluggableElementTypes/models/BaseViewModel.js +154 -16
  311. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +169 -25
  312. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  313. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +178 -0
  314. package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
  315. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +26 -8
  316. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  317. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +31 -17
  318. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  319. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +142 -65
  320. package/esm/pluggableElementTypes/models/baseTrackConfig.js +215 -90
  321. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  322. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +111 -139
  323. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +54 -0
  324. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  325. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +50 -0
  326. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +147 -0
  327. package/esm/pluggableElementTypes/models/index.d.ts +5 -3
  328. package/esm/pluggableElementTypes/models/index.js +9 -8
  329. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +48 -0
  330. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +114 -0
  331. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  332. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +10 -3
  333. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +272 -100
  334. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  335. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  336. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  337. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  338. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  339. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  340. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  341. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  342. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  343. package/esm/pluginDefinitions.d.ts +225 -0
  344. package/esm/pluginDefinitions.js +254 -0
  345. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  346. package/esm/rpc/BaseRpcDriver.js +68 -106
  347. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  348. package/esm/rpc/MainThreadRpcDriver.js +23 -29
  349. package/esm/rpc/RpcClient.d.ts +50 -0
  350. package/esm/rpc/RpcClient.js +189 -0
  351. package/esm/rpc/RpcManager.d.ts +120 -27
  352. package/esm/rpc/RpcManager.js +187 -50
  353. package/esm/rpc/RpcRegistry.d.ts +298 -0
  354. package/esm/rpc/RpcServer.d.ts +43 -0
  355. package/esm/rpc/RpcServer.js +242 -0
  356. package/esm/rpc/WebWorkerRpcDriver.d.ts +78 -24
  357. package/esm/rpc/WebWorkerRpcDriver.js +311 -30
  358. package/esm/rpc/byteBudget.d.ts +64 -0
  359. package/esm/rpc/byteBudget.js +61 -0
  360. package/esm/rpc/configSchema.d.ts +13 -5
  361. package/esm/rpc/configSchema.js +40 -16
  362. package/esm/rpc/coreRpcMethods.d.ts +6 -5
  363. package/esm/rpc/coreRpcMethods.js +13 -12
  364. package/esm/rpc/explainTransferError.d.ts +35 -0
  365. package/esm/rpc/explainTransferError.js +158 -0
  366. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  367. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  368. package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
  369. package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
  370. package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
  371. package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
  372. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  373. package/esm/rpc/methods/CoreGetExportData.js +25 -15
  374. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
  375. package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
  376. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  377. package/esm/rpc/methods/CoreGetFeatures.js +14 -18
  378. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  379. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  380. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  381. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  382. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  383. package/esm/rpc/methods/CoreGetRefNames.js +16 -15
  384. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  385. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  386. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  387. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  388. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  389. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  390. package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
  391. package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
  392. package/esm/rpc/methods/layerFeatures.d.ts +33 -0
  393. package/esm/rpc/methods/layerFeatures.js +29 -0
  394. package/esm/rpc/serializeError/index.d.ts +9 -0
  395. package/esm/rpc/serializeError/index.js +86 -0
  396. package/esm/svg/SvgExport.d.ts +30 -0
  397. package/esm/svg/SvgExport.js +52 -0
  398. package/esm/svg/SvgThemeProviders.d.ts +12 -0
  399. package/esm/svg/SvgThemeProviders.js +15 -0
  400. package/esm/svg/constants.d.ts +1 -0
  401. package/esm/svg/constants.js +5 -0
  402. package/esm/svg/exportViewSvg.d.ts +28 -0
  403. package/esm/svg/exportViewSvg.js +13 -0
  404. package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
  405. package/esm/svg/normalizeSvgMarkup.js +99 -0
  406. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  407. package/esm/svg/saveSvgAsImage.js +90 -0
  408. package/esm/svg/serializeSvg.d.ts +7 -0
  409. package/esm/svg/serializeSvg.js +11 -0
  410. package/esm/svg/svgId.d.ts +42 -0
  411. package/esm/svg/svgId.js +84 -0
  412. package/esm/svg/svgReady.d.ts +138 -0
  413. package/esm/svg/svgReady.js +165 -0
  414. package/esm/svg/trackNames.d.ts +29 -0
  415. package/esm/svg/trackNames.js +34 -0
  416. package/esm/svg/wrapSvgExport.d.ts +12 -0
  417. package/esm/svg/wrapSvgExport.js +10 -0
  418. package/esm/ui/ActionLink.d.ts +7 -0
  419. package/esm/ui/ActionLink.js +9 -0
  420. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  421. package/esm/ui/AddCustomPluginDialog.js +56 -0
  422. package/esm/ui/AddGenomePane.d.ts +8 -0
  423. package/esm/ui/AddGenomePane.js +228 -0
  424. package/esm/ui/AdvancedOptions.d.ts +6 -0
  425. package/esm/ui/AdvancedOptions.js +17 -0
  426. package/esm/ui/AppLogo.d.ts +1 -1
  427. package/esm/ui/AppLogo.js +2 -2
  428. package/esm/ui/AppReadyMarker.d.ts +45 -0
  429. package/esm/ui/AppReadyMarker.js +89 -0
  430. package/esm/ui/AssemblySelector.d.ts +5 -8
  431. package/esm/ui/AssemblySelector.js +8 -26
  432. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  433. package/esm/ui/BaseExportSvgDialog.js +84 -0
  434. package/esm/ui/BaseTooltip.d.ts +14 -3
  435. package/esm/ui/BaseTooltip.js +151 -34
  436. package/esm/ui/CascadingMenu.d.ts +9 -18
  437. package/esm/ui/CascadingMenu.js +446 -42
  438. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  439. package/esm/ui/CascadingMenuButton.js +36 -18
  440. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  441. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  442. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  443. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  444. package/esm/ui/ColorPicker.d.ts +6 -9
  445. package/esm/ui/ColorPicker.js +36 -39
  446. package/esm/ui/ConfirmDialog.d.ts +2 -9
  447. package/esm/ui/ConfirmDialog.js +6 -9
  448. package/esm/ui/ContextMenu.d.ts +50 -0
  449. package/esm/ui/ContextMenu.js +55 -0
  450. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  451. package/esm/ui/CopyToClipboardButton.js +14 -0
  452. package/esm/ui/Crosshairs.d.ts +10 -0
  453. package/esm/ui/Crosshairs.js +15 -0
  454. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  455. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  456. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  457. package/esm/ui/DataGridFlexContainer.js +4 -3
  458. package/esm/ui/Dialog.d.ts +5 -2
  459. package/esm/ui/Dialog.js +35 -27
  460. package/esm/ui/DraggableDialog.d.ts +3 -3
  461. package/esm/ui/DraggableDialog.js +50 -12
  462. package/esm/ui/DropDownMenu.d.ts +4 -2
  463. package/esm/ui/DropDownMenu.js +6 -5
  464. package/esm/ui/EditableTypography.d.ts +3 -1
  465. package/esm/ui/EditableTypography.js +34 -26
  466. package/esm/ui/ErrorActions.d.ts +24 -0
  467. package/esm/ui/ErrorActions.js +20 -0
  468. package/esm/ui/ErrorBanner.d.ts +7 -0
  469. package/esm/ui/ErrorBanner.js +35 -0
  470. package/esm/ui/ErrorBar.d.ts +6 -0
  471. package/esm/ui/ErrorBar.js +35 -0
  472. package/esm/ui/ErrorBoundary.d.ts +29 -5
  473. package/esm/ui/ErrorBoundary.js +32 -2
  474. package/esm/ui/ErrorMessage.d.ts +2 -4
  475. package/esm/ui/ErrorMessage.js +17 -52
  476. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  477. package/esm/ui/ErrorMessageStackTraceContents.js +5 -4
  478. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  479. package/esm/ui/ErrorMessageStackTraceDialog.js +51 -96
  480. package/esm/ui/ErrorOverlay.d.ts +8 -0
  481. package/esm/ui/ErrorOverlay.js +5 -0
  482. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  483. package/esm/ui/ExportSvgDialog.js +9 -0
  484. package/esm/ui/ExternalLink.d.ts +1 -1
  485. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  486. package/esm/ui/FactoryResetDialog.js +6 -15
  487. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  488. package/esm/ui/FatalErrorDialog.js +6 -5
  489. package/esm/ui/FileDropZone.d.ts +25 -0
  490. package/esm/ui/FileDropZone.js +129 -0
  491. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  492. package/esm/ui/FileSelector/FileSelector.js +59 -30
  493. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  494. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  495. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  496. package/esm/ui/FileSelector/LocationInput.js +8 -12
  497. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  498. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  499. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  500. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  501. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  502. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  503. package/esm/ui/FileSelector/useInternetAccounts.d.ts +436 -64
  504. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  505. package/esm/ui/FileSelector/util.d.ts +58 -3
  506. package/esm/ui/FileSelector/util.js +128 -11
  507. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  508. package/esm/ui/GpuFallbackButton.js +20 -0
  509. package/esm/ui/HoverMenu.d.ts +11 -3
  510. package/esm/ui/HoverMenu.js +34 -9
  511. package/esm/ui/HoverTooltip.d.ts +27 -0
  512. package/esm/ui/HoverTooltip.js +24 -0
  513. package/esm/ui/Icons.d.ts +6 -4
  514. package/esm/ui/Icons.js +9 -0
  515. package/esm/ui/InfoDialog.d.ts +7 -0
  516. package/esm/ui/InfoDialog.js +16 -0
  517. package/esm/ui/InlineMenuControls.d.ts +6 -0
  518. package/esm/ui/InlineMenuControls.js +17 -0
  519. package/esm/ui/JexlFilterDialog.d.ts +26 -0
  520. package/esm/ui/JexlFilterDialog.js +167 -0
  521. package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
  522. package/esm/ui/JexlFilterRowEditors.js +90 -0
  523. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  524. package/esm/ui/LabeledCheckbox.js +7 -0
  525. package/esm/ui/LazyBaseTooltip.d.ts +4 -0
  526. package/esm/ui/LazyBaseTooltip.js +9 -0
  527. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  528. package/esm/ui/LegendSwatchGlyph.js +30 -0
  529. package/esm/ui/LoadingDots.d.ts +1 -0
  530. package/esm/ui/LoadingDots.js +30 -0
  531. package/esm/ui/LoadingEllipses.d.ts +17 -1
  532. package/esm/ui/LoadingEllipses.js +20 -29
  533. package/esm/ui/LoadingOverlay.d.ts +23 -0
  534. package/esm/ui/LoadingOverlay.js +139 -0
  535. package/esm/ui/LoadingProgress.d.ts +16 -0
  536. package/esm/ui/LoadingProgress.js +16 -0
  537. package/esm/ui/Logo.d.ts +2 -2
  538. package/esm/ui/Logo.js +23 -24
  539. package/esm/ui/Menu.js +1 -1
  540. package/esm/ui/MenuItemChevron.d.ts +3 -0
  541. package/esm/ui/MenuItemChevron.js +19 -0
  542. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  543. package/esm/ui/MenuItemEndDecoration.js +28 -0
  544. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  545. package/esm/ui/MenuItemTrailing.js +42 -0
  546. package/esm/ui/MenuTypes.d.ts +95 -5
  547. package/esm/ui/MenuTypes.js +16 -1
  548. package/esm/ui/MonospaceTextField.d.ts +10 -0
  549. package/esm/ui/MonospaceTextField.js +40 -0
  550. package/esm/ui/NumberTextField.d.ts +31 -0
  551. package/esm/ui/NumberTextField.js +33 -0
  552. package/esm/ui/PaletteContext.d.ts +90 -0
  553. package/esm/ui/PaletteContext.js +142 -0
  554. package/esm/ui/PluggableComponent.d.ts +10 -0
  555. package/esm/ui/PluggableComponent.js +19 -0
  556. package/esm/ui/PluggableComponents.d.ts +29 -0
  557. package/esm/ui/PluggableComponents.js +28 -0
  558. package/esm/ui/PluggableElements.d.ts +23 -0
  559. package/esm/ui/PluggableElements.js +24 -0
  560. package/esm/ui/PluginStoreCard.d.ts +17 -0
  561. package/esm/ui/PluginStoreCard.js +45 -0
  562. package/esm/ui/PopoverPicker.d.ts +6 -0
  563. package/esm/ui/PopoverPicker.js +25 -0
  564. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  565. package/esm/ui/PrerenderedCanvas.js +5 -4
  566. package/esm/ui/ProgressChip.d.ts +37 -0
  567. package/esm/ui/ProgressChip.js +66 -0
  568. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  569. package/esm/ui/RedErrorMessageBox.js +9 -3
  570. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  571. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  572. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  573. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  574. package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
  575. package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
  576. package/esm/ui/RefNameAutocomplete/index.d.ts +21 -0
  577. package/esm/ui/RefNameAutocomplete/index.js +84 -0
  578. package/esm/ui/RefNameAutocomplete/util.d.ts +62 -0
  579. package/esm/ui/RefNameAutocomplete/util.js +209 -0
  580. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  581. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  582. package/esm/ui/ResizeHandle.d.ts +15 -7
  583. package/esm/ui/ResizeHandle.js +73 -53
  584. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  585. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  586. package/esm/ui/SanitizedHTML.d.ts +6 -1
  587. package/esm/ui/SanitizedHTML.js +7 -47
  588. package/esm/ui/ScrollChrome.d.ts +13 -0
  589. package/esm/ui/ScrollChrome.js +11 -0
  590. package/esm/ui/ScrollEdgeShadow.d.ts +41 -0
  591. package/esm/ui/ScrollEdgeShadow.js +77 -0
  592. package/esm/ui/ScrollZoomToggle.d.ts +15 -0
  593. package/esm/ui/ScrollZoomToggle.js +75 -0
  594. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  595. package/esm/ui/SequenceAdapterInputs.js +30 -0
  596. package/esm/ui/SessionJsonPanel.d.ts +3 -0
  597. package/esm/ui/SessionJsonPanel.js +14 -0
  598. package/esm/ui/SettingsChangesTable.d.ts +15 -0
  599. package/esm/ui/SettingsChangesTable.js +87 -0
  600. package/esm/ui/ShareLinkField.d.ts +4 -0
  601. package/esm/ui/ShareLinkField.js +15 -0
  602. package/esm/ui/SingleSlider.d.ts +8 -0
  603. package/esm/ui/SingleSlider.js +11 -0
  604. package/esm/ui/SizeSliderRow.d.ts +14 -0
  605. package/esm/ui/SizeSliderRow.js +48 -0
  606. package/esm/ui/SliderTooltip.d.ts +2 -0
  607. package/esm/ui/SliderTooltip.js +17 -0
  608. package/esm/ui/Snackbar.d.ts +4 -2
  609. package/esm/ui/Snackbar.js +11 -8
  610. package/esm/ui/SnackbarContents.d.ts +1 -1
  611. package/esm/ui/SnackbarContents.js +21 -3
  612. package/esm/ui/SnackbarModel.d.ts +40 -0
  613. package/esm/ui/SnackbarModel.js +96 -52
  614. package/esm/ui/StackTraceButton.d.ts +5 -0
  615. package/esm/ui/StackTraceButton.js +16 -0
  616. package/esm/ui/StatusProgressBar.d.ts +37 -0
  617. package/esm/ui/StatusProgressBar.js +76 -0
  618. package/esm/ui/SubmitDialog.d.ts +6 -0
  619. package/esm/ui/SubmitDialog.js +9 -0
  620. package/esm/ui/SubmitForm.d.ts +23 -0
  621. package/esm/ui/SubmitForm.js +23 -0
  622. package/esm/ui/SvgColorLegend.d.ts +18 -0
  623. package/esm/ui/SvgColorLegend.js +106 -0
  624. package/esm/ui/TagTextField.d.ts +40 -0
  625. package/esm/ui/TagTextField.js +32 -0
  626. package/esm/ui/VerticalScrollbar.d.ts +24 -0
  627. package/esm/ui/VerticalScrollbar.js +104 -0
  628. package/esm/ui/ViewLoadingScreen.d.ts +25 -0
  629. package/esm/ui/ViewLoadingScreen.js +52 -0
  630. package/esm/ui/addExtensionElement.d.ts +18 -0
  631. package/esm/ui/addExtensionElement.js +23 -0
  632. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  633. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  634. package/esm/ui/colorScale.d.ts +92 -0
  635. package/esm/ui/colorScale.js +72 -0
  636. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  637. package/esm/ui/colorSwatchStyle.js +11 -0
  638. package/esm/ui/colors.d.ts +125 -8
  639. package/esm/ui/colors.js +364 -1
  640. package/esm/ui/extensionSelectors.d.ts +38 -0
  641. package/esm/ui/extensionSelectors.js +49 -0
  642. package/esm/ui/filterMenuItems.d.ts +112 -0
  643. package/esm/ui/filterMenuItems.js +86 -0
  644. package/esm/ui/formatErrorStack.d.ts +1 -0
  645. package/esm/ui/formatErrorStack.js +56 -0
  646. package/esm/ui/gpuFallback.d.ts +33 -0
  647. package/esm/ui/gpuFallback.js +39 -0
  648. package/esm/ui/hoverBoxStyle.d.ts +23 -0
  649. package/esm/ui/hoverBoxStyle.js +28 -0
  650. package/esm/ui/index.d.ts +77 -5
  651. package/esm/ui/index.js +83 -20
  652. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  653. package/esm/ui/inlineMenuRowWidth.js +8 -0
  654. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  655. package/esm/ui/launchTargetsMenuItem.js +24 -0
  656. package/esm/ui/launchViewMenu.d.ts +4 -0
  657. package/esm/ui/launchViewMenu.js +46 -0
  658. package/esm/ui/legendMenuItem.d.ts +16 -0
  659. package/esm/ui/legendMenuItem.js +17 -0
  660. package/esm/ui/legendSpec.d.ts +69 -0
  661. package/esm/ui/legendSpec.js +69 -0
  662. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  663. package/esm/ui/loadingDotKeyframes.js +17 -0
  664. package/esm/ui/makeSizeMenu.d.ts +24 -0
  665. package/esm/ui/makeSizeMenu.js +58 -0
  666. package/esm/ui/mapStackTrace.d.ts +8 -0
  667. package/esm/ui/mapStackTrace.js +108 -0
  668. package/esm/ui/measureLegendText.d.ts +1 -0
  669. package/esm/ui/measureLegendText.js +8 -0
  670. package/esm/ui/menuItemAdornment.d.ts +22 -0
  671. package/esm/ui/menuItemAdornment.js +28 -0
  672. package/esm/ui/menuItems.d.ts +23 -0
  673. package/esm/ui/menuItems.js +21 -0
  674. package/esm/ui/menuLabels.d.ts +41 -0
  675. package/esm/ui/menuLabels.js +43 -0
  676. package/esm/ui/multiTrackMenuItems.d.ts +25 -0
  677. package/esm/ui/multiTrackMenuItems.js +15 -0
  678. package/esm/ui/palette.d.ts +561 -0
  679. package/esm/ui/palette.js +785 -0
  680. package/esm/ui/parseError.d.ts +4 -0
  681. package/esm/ui/parseError.js +18 -0
  682. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  683. package/esm/ui/persistentScrollbarStyle.js +53 -0
  684. package/esm/ui/radioSubMenu.d.ts +33 -0
  685. package/esm/ui/radioSubMenu.js +32 -0
  686. package/esm/ui/react-colorful.js +5 -1
  687. package/esm/ui/replaceViewAction.d.ts +31 -0
  688. package/esm/ui/replaceViewAction.js +39 -0
  689. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  690. package/esm/ui/rewriteExternalAnchors.js +8 -0
  691. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  692. package/esm/ui/scrollZoomLabels.js +22 -0
  693. package/esm/ui/showSubMenu.d.ts +19 -0
  694. package/esm/ui/showSubMenu.js +30 -0
  695. package/esm/ui/sliderScale.d.ts +6 -0
  696. package/esm/ui/sliderScale.js +30 -0
  697. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  698. package/esm/ui/statusProgressKeyframes.js +14 -0
  699. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  700. package/esm/ui/stripStackTraceMessage.js +9 -0
  701. package/esm/ui/styleTheme.d.ts +158 -0
  702. package/esm/ui/styleTheme.js +115 -0
  703. package/esm/ui/submenuAim.d.ts +30 -0
  704. package/esm/ui/submenuAim.js +37 -0
  705. package/esm/ui/theme.d.ts +268 -30
  706. package/esm/ui/theme.js +250 -350
  707. package/esm/ui/toggleMenuItems.d.ts +42 -0
  708. package/esm/ui/toggleMenuItems.js +61 -0
  709. package/esm/ui/useAssemblySelection.d.ts +153 -0
  710. package/esm/ui/useAssemblySelection.js +54 -0
  711. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  712. package/esm/ui/useCoalescedPointer.js +60 -0
  713. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  714. package/esm/ui/useCopyToClipboard.js +41 -0
  715. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  716. package/esm/ui/useExportSvgPreference.js +4 -0
  717. package/esm/ui/useMouseTracking.d.ts +71 -0
  718. package/esm/ui/useMouseTracking.js +179 -0
  719. package/esm/ui/useRecentLocations.d.ts +28 -0
  720. package/esm/ui/useRecentLocations.js +31 -0
  721. package/esm/ui/viewHeaderHeight.d.ts +1 -0
  722. package/esm/ui/viewHeaderHeight.js +1 -0
  723. package/esm/ui/wrapComponent.d.ts +47 -0
  724. package/esm/ui/wrapComponent.js +58 -0
  725. package/esm/ui/zIndexes.d.ts +28 -0
  726. package/esm/ui/zIndexes.js +38 -0
  727. package/esm/util/Base1DUtils.d.ts +207 -17
  728. package/esm/util/Base1DUtils.js +316 -173
  729. package/esm/util/Base1DViewModel.d.ts +99 -21
  730. package/esm/util/Base1DViewModel.js +151 -41
  731. package/esm/util/FileSaver/index.d.ts +1 -0
  732. package/esm/util/FileSaver/index.js +27 -0
  733. package/esm/util/IntervalTree.d.ts +18 -39
  734. package/esm/util/IntervalTree.js +63 -244
  735. package/esm/util/SvgCanvas.d.ts +83 -0
  736. package/esm/util/SvgCanvas.js +520 -0
  737. package/esm/util/TimeTraveller.d.ts +12 -0
  738. package/esm/util/TimeTraveller.js +130 -27
  739. package/esm/util/aborting.d.ts +56 -4
  740. package/esm/util/aborting.js +112 -25
  741. package/esm/util/adapterMetadata.d.ts +20 -0
  742. package/esm/util/adapterMetadata.js +40 -0
  743. package/esm/util/addAndShowTrack.d.ts +19 -0
  744. package/esm/util/addAndShowTrack.js +27 -0
  745. package/esm/util/addRelativeUris.d.ts +29 -0
  746. package/esm/util/addRelativeUris.js +78 -0
  747. package/esm/util/addTrackComponent.d.ts +72 -0
  748. package/esm/util/addTrackComponent.js +53 -0
  749. package/esm/util/addTrackFromWidget.d.ts +91 -0
  750. package/esm/util/addTrackFromWidget.js +91 -0
  751. package/esm/util/aggregateFieldName.d.ts +10 -0
  752. package/esm/util/aggregateFieldName.js +8 -0
  753. package/esm/util/analytics.d.ts +32 -3
  754. package/esm/util/analytics.js +135 -49
  755. package/esm/util/animationAllowed.d.ts +26 -0
  756. package/esm/util/animationAllowed.js +35 -0
  757. package/esm/util/applyRowResizeWheel.d.ts +15 -0
  758. package/esm/util/applyRowResizeWheel.js +23 -0
  759. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  760. package/esm/util/assemblyConfigUtils.js +498 -0
  761. package/esm/util/bandHeight.d.ts +63 -0
  762. package/esm/util/bandHeight.js +85 -0
  763. package/esm/util/bandLayout.d.ts +51 -0
  764. package/esm/util/bandLayout.js +36 -0
  765. package/esm/util/bezierConnector.d.ts +15 -0
  766. package/esm/util/bezierConnector.js +101 -0
  767. package/esm/util/bgzfWorkerPool.d.ts +24 -0
  768. package/esm/util/bgzfWorkerPool.js +27 -0
  769. package/esm/util/binnedAggregate.d.ts +17 -0
  770. package/esm/util/binnedAggregate.js +275 -0
  771. package/esm/util/blockTypes.d.ts +64 -45
  772. package/esm/util/blockTypes.js +67 -74
  773. package/esm/util/bpUtils.d.ts +81 -0
  774. package/esm/util/bpUtils.js +103 -0
  775. package/esm/util/cacheBudgets.d.ts +55 -0
  776. package/esm/util/cacheBudgets.js +55 -0
  777. package/esm/util/cachedSetup.d.ts +51 -0
  778. package/esm/util/cachedSetup.js +87 -0
  779. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  780. package/esm/util/calculateDynamicBlocks.js +85 -82
  781. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  782. package/esm/util/calculateStaticBlocks.js +48 -71
  783. package/esm/util/categoricalField.d.ts +56 -0
  784. package/esm/util/categoricalField.js +73 -0
  785. package/esm/util/chooseGridPitch.d.ts +9 -0
  786. package/esm/util/chooseGridPitch.js +31 -0
  787. package/esm/util/clampToContig.d.ts +43 -0
  788. package/esm/util/clampToContig.js +47 -0
  789. package/esm/util/cmpStr.d.ts +1 -0
  790. package/esm/util/cmpStr.js +7 -0
  791. package/esm/util/coarseStripHTML.js +2 -15
  792. package/esm/util/color/cssColorsLevel4.d.ts +1 -0
  793. package/esm/util/color/cssColorsLevel4.js +7 -2
  794. package/esm/util/color/index.d.ts +84 -3
  795. package/esm/util/color/index.js +197 -25
  796. package/esm/util/color-bits/bit.d.ts +4 -0
  797. package/esm/util/color-bits/bit.js +37 -0
  798. package/esm/util/color-bits/convert.d.ts +23 -0
  799. package/esm/util/color-bits/convert.js +294 -0
  800. package/esm/util/color-bits/core.d.ts +34 -0
  801. package/esm/util/color-bits/core.js +67 -0
  802. package/esm/util/color-bits/format.d.ts +24 -0
  803. package/esm/util/color-bits/format.js +82 -0
  804. package/esm/util/color-bits/functions.d.ts +33 -0
  805. package/esm/util/color-bits/functions.js +70 -0
  806. package/esm/util/color-bits/index.d.ts +5 -0
  807. package/esm/util/color-bits/index.js +4 -0
  808. package/esm/util/color-bits/parse.d.ts +17 -0
  809. package/esm/util/color-bits/parse.js +382 -0
  810. package/esm/util/colorBits.d.ts +39 -0
  811. package/esm/util/colorBits.js +155 -0
  812. package/esm/util/colorRamp.d.ts +81 -0
  813. package/esm/util/colorRamp.js +244 -0
  814. package/esm/util/colorScale.d.ts +156 -0
  815. package/esm/util/colorScale.js +243 -0
  816. package/esm/util/colorSchemes.d.ts +21 -0
  817. package/esm/util/colorSchemes.js +30 -0
  818. package/esm/util/colord.d.ts +8 -0
  819. package/esm/util/colord.js +43 -191
  820. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  821. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  822. package/esm/util/copyText.d.ts +18 -0
  823. package/esm/util/copyText.js +30 -0
  824. package/esm/util/copyToClipboard.d.ts +4 -0
  825. package/esm/util/copyToClipboard.js +58 -0
  826. package/esm/util/createAbortRotation.d.ts +115 -0
  827. package/esm/util/createAbortRotation.js +116 -0
  828. package/esm/util/createSvgRasterCanvas.d.ts +17 -0
  829. package/esm/util/createSvgRasterCanvas.js +22 -0
  830. package/esm/util/crypto.d.ts +24 -0
  831. package/esm/util/crypto.js +85 -2
  832. package/esm/util/cssColorParse.d.ts +15 -0
  833. package/esm/util/cssColorParse.js +53 -0
  834. package/esm/util/dataGridUtils.d.ts +9 -0
  835. package/esm/util/dataGridUtils.js +36 -0
  836. package/esm/util/dedupe.js +1 -0
  837. package/esm/util/deepEqual.d.ts +8 -0
  838. package/esm/util/deepEqual.js +22 -0
  839. package/esm/util/deepMerge.d.ts +20 -0
  840. package/esm/util/deepMerge.js +44 -0
  841. package/esm/util/diagonalizeRegions.d.ts +22 -0
  842. package/esm/util/diagonalizeRegions.js +187 -0
  843. package/esm/util/environment.d.ts +4 -0
  844. package/esm/util/environment.js +43 -0
  845. package/esm/util/eventPoint.d.ts +32 -0
  846. package/esm/util/eventPoint.js +28 -0
  847. package/esm/util/expandLooseSearchIndex.d.ts +19 -0
  848. package/esm/util/expandLooseSearchIndex.js +29 -0
  849. package/esm/util/featureTable.d.ts +224 -0
  850. package/esm/util/featureTable.js +366 -0
  851. package/esm/util/featureTransforms.d.ts +80 -0
  852. package/esm/util/featureTransforms.js +1579 -0
  853. package/esm/util/featureTypes.d.ts +24 -0
  854. package/esm/util/featureTypes.js +35 -0
  855. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  856. package/esm/util/fetchAndMaybeUnzip.js +71 -0
  857. package/esm/util/fetchContext.d.ts +81 -0
  858. package/esm/util/fetchContext.js +59 -0
  859. package/esm/util/fetchHub.d.ts +17 -0
  860. package/esm/util/fetchHub.js +31 -0
  861. package/esm/util/fetchJson.d.ts +1 -0
  862. package/esm/util/fetchJson.js +7 -0
  863. package/esm/util/fetchPhases.d.ts +77 -0
  864. package/esm/util/fetchPhases.js +1 -0
  865. package/esm/util/fetchSeq.d.ts +4 -1
  866. package/esm/util/fetchSeq.js +18 -6
  867. package/esm/util/fieldReader.d.ts +17 -0
  868. package/esm/util/fieldReader.js +62 -0
  869. package/esm/util/fileHandleStore.d.ts +19 -2
  870. package/esm/util/fileHandleStore.js +95 -35
  871. package/esm/util/flatbush/index.d.ts +27 -6
  872. package/esm/util/flatbush/index.js +194 -218
  873. package/esm/util/formatBytes.d.ts +9 -0
  874. package/esm/util/formatBytes.js +18 -0
  875. package/esm/util/formatFastaStrings.d.ts +13 -0
  876. package/esm/util/formatFastaStrings.js +13 -0
  877. package/esm/util/formatGuessers.d.ts +30 -0
  878. package/esm/util/formatGuessers.js +69 -0
  879. package/esm/util/formatRelativeTime.d.ts +1 -0
  880. package/esm/util/formatRelativeTime.js +25 -0
  881. package/esm/util/frameCoalescer.d.ts +30 -0
  882. package/esm/util/frameCoalescer.js +22 -0
  883. package/esm/util/freezeDeep.d.ts +26 -0
  884. package/esm/util/freezeDeep.js +39 -0
  885. package/esm/util/geneticCodes.d.ts +56 -0
  886. package/esm/util/geneticCodes.js +371 -0
  887. package/esm/util/getFileName.d.ts +11 -0
  888. package/esm/util/getFileName.js +34 -0
  889. package/esm/util/getLocationUri.d.ts +49 -0
  890. package/esm/util/getLocationUri.js +63 -0
  891. package/esm/util/getRelativeX.d.ts +4 -0
  892. package/esm/util/getRelativeX.js +7 -0
  893. package/esm/util/getStr.d.ts +6 -0
  894. package/esm/util/getStr.js +15 -0
  895. package/esm/util/groupKeys.d.ts +77 -0
  896. package/esm/util/groupKeys.js +155 -0
  897. package/esm/util/highlights.d.ts +25 -0
  898. package/esm/util/highlights.js +87 -0
  899. package/esm/util/hooks.d.ts +189 -0
  900. package/esm/util/hooks.js +485 -0
  901. package/esm/util/htmlText.d.ts +13 -0
  902. package/esm/util/htmlText.js +66 -0
  903. package/esm/util/idMaker.d.ts +1 -1
  904. package/esm/util/idMaker.js +31 -18
  905. package/esm/util/index.d.ts +82 -268
  906. package/esm/util/index.js +137 -853
  907. package/esm/util/indexCandidates.d.ts +20 -0
  908. package/esm/util/indexCandidates.js +43 -0
  909. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  910. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  911. package/esm/util/installFetch.d.ts +234 -0
  912. package/esm/util/installFetch.js +205 -0
  913. package/esm/util/installInitAutorun.d.ts +63 -0
  914. package/esm/util/installInitAutorun.js +107 -0
  915. package/esm/util/installPrerequisiteFetch.d.ts +115 -0
  916. package/esm/util/installPrerequisiteFetch.js +111 -0
  917. package/esm/util/intervals.d.ts +20 -0
  918. package/esm/util/intervals.js +37 -0
  919. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  920. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  921. package/esm/util/io/index.d.ts +39 -2
  922. package/esm/util/io/index.js +120 -12
  923. package/esm/util/isDataCurrent.d.ts +9 -0
  924. package/esm/util/isDataCurrent.js +12 -0
  925. package/esm/util/isTextEntryFocused.d.ts +7 -0
  926. package/esm/util/isTextEntryFocused.js +16 -0
  927. package/esm/util/isWebWorker.js +1 -2
  928. package/esm/util/iupac.d.ts +4 -0
  929. package/esm/util/iupac.js +59 -0
  930. package/esm/util/jexl.js +146 -19
  931. package/esm/util/jexlFilterRows.d.ts +89 -0
  932. package/esm/util/jexlFilterRows.js +252 -0
  933. package/esm/util/jexlFilters.d.ts +68 -0
  934. package/esm/util/jexlFilters.js +61 -0
  935. package/esm/util/jexlStrings.d.ts +21 -1
  936. package/esm/util/jexlStrings.js +20 -14
  937. package/esm/util/layouts/GranularRectLayout.d.ts +20 -25
  938. package/esm/util/layouts/GranularRectLayout.js +116 -356
  939. package/esm/util/layouts/index.d.ts +1 -7
  940. package/esm/util/layouts/index.js +2 -6
  941. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  942. package/esm/util/layouts/intervalUtils.js +13 -31
  943. package/esm/util/layouts/placeRect.d.ts +50 -0
  944. package/esm/util/layouts/placeRect.js +97 -0
  945. package/esm/util/lazyAfterAttach.d.ts +13 -0
  946. package/esm/util/lazyAfterAttach.js +31 -0
  947. package/esm/util/lazyWithPreload.d.ts +19 -0
  948. package/esm/util/lazyWithPreload.js +27 -0
  949. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  950. package/esm/util/leadingEdgeAutorun.js +51 -0
  951. package/esm/util/legendCandidates.d.ts +72 -0
  952. package/esm/util/legendCandidates.js +138 -0
  953. package/esm/util/librpc.d.ts +5 -2
  954. package/esm/util/librpc.js +6 -1
  955. package/esm/util/linkify.js +2 -0
  956. package/esm/util/locString.d.ts +72 -0
  957. package/esm/util/locString.js +178 -7
  958. package/esm/util/locStringsToRegions.d.ts +10 -0
  959. package/esm/util/locStringsToRegions.js +35 -0
  960. package/esm/util/localStorage.d.ts +36 -0
  961. package/esm/util/localStorage.js +137 -0
  962. package/esm/util/makeAssembly.d.ts +54 -0
  963. package/esm/util/makeAssembly.js +52 -0
  964. package/esm/util/makeTrackId.d.ts +14 -0
  965. package/esm/util/makeTrackId.js +14 -0
  966. package/esm/util/markEncoding.d.ts +150 -0
  967. package/esm/util/markEncoding.js +845 -0
  968. package/esm/util/markEncodingTypes.d.ts +588 -0
  969. package/esm/util/markEncodingTypes.js +8 -0
  970. package/esm/util/matchTrackId.d.ts +11 -0
  971. package/esm/util/matchTrackId.js +14 -0
  972. package/esm/util/measureText.d.ts +24 -0
  973. package/esm/util/measureText.js +51 -0
  974. package/esm/util/mst-reflection.d.ts +3 -11
  975. package/esm/util/mst-reflection.js +3 -52
  976. package/esm/util/mstUtils.d.ts +97 -0
  977. package/esm/util/mstUtils.js +137 -0
  978. package/esm/util/nanoid.d.ts +0 -4
  979. package/esm/util/nanoid.js +10 -20
  980. package/esm/util/numericUtils.d.ts +27 -0
  981. package/esm/util/numericUtils.js +143 -0
  982. package/esm/util/numericValue.d.ts +14 -0
  983. package/esm/util/numericValue.js +34 -0
  984. package/esm/util/objectUtils.d.ts +2 -0
  985. package/esm/util/objectUtils.js +9 -0
  986. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  987. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  988. package/esm/util/openFeatureWidget.d.ts +38 -0
  989. package/esm/util/openFeatureWidget.js +64 -0
  990. package/esm/util/openViews.d.ts +17 -0
  991. package/esm/util/openViews.js +22 -0
  992. package/esm/util/paintLayer.d.ts +32 -0
  993. package/esm/util/paintLayer.js +33 -0
  994. package/esm/util/parentWalk.d.ts +32 -0
  995. package/esm/util/parentWalk.js +84 -0
  996. package/esm/util/parseLineByLine.d.ts +44 -2
  997. package/esm/util/parseLineByLine.js +150 -15
  998. package/esm/util/parseMotifList.d.ts +17 -0
  999. package/esm/util/parseMotifList.js +69 -0
  1000. package/esm/util/pluginStore.d.ts +111 -0
  1001. package/esm/util/pluginStore.js +254 -0
  1002. package/esm/util/pointerPresence.d.ts +5 -0
  1003. package/esm/util/pointerPresence.js +21 -0
  1004. package/esm/util/preloadComponent.d.ts +5 -0
  1005. package/esm/util/preloadComponent.js +11 -0
  1006. package/esm/util/progress.d.ts +459 -0
  1007. package/esm/util/progress.js +821 -0
  1008. package/esm/util/quantileExtent.d.ts +49 -0
  1009. package/esm/util/quantileExtent.js +162 -0
  1010. package/esm/util/range.d.ts +46 -1
  1011. package/esm/util/range.js +68 -2
  1012. package/esm/util/renameRegions.d.ts +41 -0
  1013. package/esm/util/renameRegions.js +143 -0
  1014. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  1015. package/esm/util/renderToStaticMarkup.js +60 -0
  1016. package/esm/util/reorder.d.ts +35 -0
  1017. package/esm/util/reorder.js +83 -0
  1018. package/esm/util/resolveRowHeight.d.ts +27 -0
  1019. package/esm/util/resolveRowHeight.js +30 -0
  1020. package/esm/util/revlist.d.ts +13 -0
  1021. package/esm/util/revlist.js +14 -0
  1022. package/esm/util/rowStackGeometry.d.ts +66 -0
  1023. package/esm/util/rowStackGeometry.js +70 -0
  1024. package/esm/util/rpc.d.ts +16 -1
  1025. package/esm/util/rpc.js +12 -1
  1026. package/esm/util/rxjs.d.ts +30 -2
  1027. package/esm/util/rxjs.js +85 -10
  1028. package/esm/util/sameStrings.d.ts +16 -0
  1029. package/esm/util/sameStrings.js +20 -0
  1030. package/esm/util/samplesTsv.d.ts +49 -0
  1031. package/esm/util/samplesTsv.js +86 -0
  1032. package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
  1033. package/esm/util/scheduleDetachedDestroy.js +24 -0
  1034. package/esm/util/scrollLatch.d.ts +5 -0
  1035. package/esm/util/scrollLatch.js +67 -0
  1036. package/esm/util/selectEncodedFeature.d.ts +16 -0
  1037. package/esm/util/selectEncodedFeature.js +34 -0
  1038. package/esm/util/selectNamedRegions.d.ts +136 -0
  1039. package/esm/util/selectNamedRegions.js +222 -0
  1040. package/esm/util/seqUtils.d.ts +17 -0
  1041. package/esm/util/seqUtils.js +80 -0
  1042. package/esm/util/sessionServices.d.ts +29 -0
  1043. package/esm/util/sessionServices.js +46 -0
  1044. package/esm/util/sessionSharing.d.ts +40 -0
  1045. package/esm/util/sessionSharing.js +154 -0
  1046. package/esm/util/sessionStorage.d.ts +1 -0
  1047. package/esm/util/sessionStorage.js +15 -0
  1048. package/esm/util/setStackTraceLimit.d.ts +6 -0
  1049. package/esm/util/setStackTraceLimit.js +20 -0
  1050. package/esm/util/shapeNameList.d.ts +2 -0
  1051. package/esm/util/shapeNameList.js +6 -0
  1052. package/esm/util/shapeNames.d.ts +7 -0
  1053. package/esm/util/shapeNames.js +11 -0
  1054. package/esm/util/simpleFeature.d.ts +111 -4
  1055. package/esm/util/simpleFeature.js +181 -29
  1056. package/esm/util/springAnimate.d.ts +20 -0
  1057. package/esm/util/springAnimate.js +80 -0
  1058. package/esm/util/starFusion.d.ts +26 -0
  1059. package/esm/util/starFusion.js +37 -0
  1060. package/esm/util/stats.d.ts +25 -2
  1061. package/esm/util/stats.js +39 -8
  1062. package/esm/util/stepTables.d.ts +82 -0
  1063. package/esm/util/stepTables.js +243 -0
  1064. package/esm/util/stringUtils.d.ts +5 -0
  1065. package/esm/util/stringUtils.js +34 -0
  1066. package/esm/util/svAlt.d.ts +145 -0
  1067. package/esm/util/svAlt.js +364 -0
  1068. package/esm/util/svgColorProps.d.ts +18 -0
  1069. package/esm/util/svgColorProps.js +55 -0
  1070. package/esm/util/systemColorScheme.d.ts +12 -0
  1071. package/esm/util/systemColorScheme.js +27 -0
  1072. package/esm/util/tabix.d.ts +125 -0
  1073. package/esm/util/tabix.js +148 -0
  1074. package/esm/util/tags.d.ts +2 -0
  1075. package/esm/util/tags.js +5 -0
  1076. package/esm/util/temporaryAssembly.d.ts +21 -0
  1077. package/esm/util/temporaryAssembly.js +29 -0
  1078. package/esm/util/thresholdScale.d.ts +91 -0
  1079. package/esm/util/thresholdScale.js +166 -0
  1080. package/esm/util/tickLabels.d.ts +36 -0
  1081. package/esm/util/tickLabels.js +45 -0
  1082. package/esm/util/timeGate.d.ts +25 -0
  1083. package/esm/util/timeGate.js +78 -0
  1084. package/esm/util/trackConfigDelta.d.ts +84 -0
  1085. package/esm/util/trackConfigDelta.js +206 -0
  1086. package/esm/util/tracks.d.ts +431 -30
  1087. package/esm/util/tracks.js +952 -185
  1088. package/esm/util/translateTranscript.d.ts +44 -0
  1089. package/esm/util/translateTranscript.js +102 -0
  1090. package/esm/util/tss-react/cssAndCx.js +11 -66
  1091. package/esm/util/tss-react/index.d.ts +11 -2
  1092. package/esm/util/tss-react/index.js +9 -2
  1093. package/esm/util/tss-react/makeStyles.js +7 -4
  1094. package/esm/util/tss-react/mergeClasses.js +1 -0
  1095. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  1096. package/esm/util/tss-react/tools/classnames.js +3 -0
  1097. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  1098. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  1099. package/esm/util/tss-react/types.d.ts +1 -1
  1100. package/esm/util/tss-react/types.js +1 -6
  1101. package/esm/util/types/ElementId.js +1 -1
  1102. package/esm/util/types/data.d.ts +73 -0
  1103. package/esm/util/types/data.js +41 -0
  1104. package/esm/util/types/index.d.ts +459 -121
  1105. package/esm/util/types/index.js +96 -64
  1106. package/esm/util/types/isAny.d.ts +11 -0
  1107. package/esm/util/types/isAny.js +1 -0
  1108. package/esm/util/types/mst.d.ts +74 -47
  1109. package/esm/util/types/mst.js +31 -22
  1110. package/esm/util/types/predicate.d.ts +9 -0
  1111. package/esm/util/types/predicate.js +1 -0
  1112. package/esm/util/types/renameIds.d.ts +1 -0
  1113. package/esm/util/types/renameIds.js +29 -0
  1114. package/esm/util/types/renderingServices.d.ts +16 -0
  1115. package/esm/util/types/renderingServices.js +1 -0
  1116. package/esm/util/types/services.d.ts +55 -0
  1117. package/esm/util/types/services.js +10 -0
  1118. package/esm/util/types/util.d.ts +8 -2
  1119. package/esm/util/unknownSnapshotKeys.d.ts +51 -0
  1120. package/esm/util/unknownSnapshotKeys.js +82 -0
  1121. package/esm/util/unzip.d.ts +1 -0
  1122. package/esm/util/unzip.js +6 -0
  1123. package/esm/util/useEventCallback.d.ts +1 -0
  1124. package/esm/util/useEventCallback.js +16 -0
  1125. package/esm/util/useFeatureSequence.d.ts +13 -7
  1126. package/esm/util/useFeatureSequence.js +55 -77
  1127. package/esm/util/useFetch.d.ts +55 -0
  1128. package/esm/util/useFetch.js +197 -0
  1129. package/esm/util/useFetchPlugins.d.ts +16 -0
  1130. package/esm/util/useFetchPlugins.js +18 -0
  1131. package/esm/util/useMeasure.d.ts +11 -1
  1132. package/esm/util/useMeasure.js +20 -6
  1133. package/esm/util/usePanZoom.d.ts +75 -0
  1134. package/esm/util/usePanZoom.js +175 -0
  1135. package/esm/util/usePanelVirtualScroll.d.ts +9 -0
  1136. package/esm/util/usePanelVirtualScroll.js +15 -0
  1137. package/esm/util/usePointerDrag.d.ts +37 -0
  1138. package/esm/util/usePointerDrag.js +61 -0
  1139. package/esm/util/useRafCommit.d.ts +4 -0
  1140. package/esm/util/useRafCommit.js +50 -0
  1141. package/esm/util/useResizeDrag.d.ts +91 -0
  1142. package/esm/util/useResizeDrag.js +105 -0
  1143. package/esm/util/useRowVirtualScroll.d.ts +9 -0
  1144. package/esm/util/useRowVirtualScroll.js +22 -0
  1145. package/esm/util/useVirtualScrollWheel.d.ts +23 -0
  1146. package/esm/util/useVirtualScrollWheel.js +74 -0
  1147. package/esm/util/viewHighlights.d.ts +3 -0
  1148. package/esm/util/viewHighlights.js +5 -0
  1149. package/esm/util/viewStatus.d.ts +90 -0
  1150. package/esm/util/viewStatus.js +54 -0
  1151. package/esm/util/virtualRange.d.ts +36 -0
  1152. package/esm/util/virtualRange.js +26 -0
  1153. package/esm/util/webStorage.d.ts +26 -0
  1154. package/esm/util/webStorage.js +92 -0
  1155. package/esm/util/wheelZoom.d.ts +65 -0
  1156. package/esm/util/wheelZoom.js +297 -0
  1157. package/esm/util/whenViewSettled.d.ts +74 -0
  1158. package/esm/util/whenViewSettled.js +77 -0
  1159. package/esm/util/withFeatureDetails.d.ts +34 -0
  1160. package/esm/util/withFeatureDetails.js +59 -0
  1161. package/esm/util/withLaunchInput.d.ts +174 -0
  1162. package/esm/util/withLaunchInput.js +274 -0
  1163. package/package.json +290 -820
  1164. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
  1165. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -14
  1166. package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -7
  1167. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
  1168. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
  1169. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
  1170. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
  1171. package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
  1172. package/esm/ReExports/BaseFeatureDetails.js +0 -9
  1173. package/esm/ReExports/DataGrid.d.ts +0 -1
  1174. package/esm/ReExports/DataGrid.js +0 -1
  1175. package/esm/ReExports/index.d.ts +0 -1
  1176. package/esm/ReExports/index.js +0 -1
  1177. package/esm/configuration/util.d.ts +0 -10
  1178. package/esm/configuration/util.js +0 -123
  1179. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1180. package/esm/data_adapters/util.d.ts +0 -1
  1181. package/esm/data_adapters/util.js +0 -6
  1182. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1183. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1184. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1185. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1186. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1187. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1188. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1189. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1190. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1191. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1192. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1193. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1194. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1195. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1196. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1197. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1198. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1199. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1200. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1201. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1202. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1203. package/esm/rpc/baseRpcConfig.js +0 -10
  1204. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1205. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1206. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1207. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1208. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1209. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1210. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1211. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1212. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1213. package/esm/rpc/methods/CoreRender.js +0 -40
  1214. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1215. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1216. package/esm/rpc/methods/util.d.ts +0 -15
  1217. package/esm/rpc/methods/util.js +0 -7
  1218. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1219. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1220. package/esm/ui/MenuButton.d.ts +0 -1
  1221. package/esm/ui/MenuButton.js +0 -1
  1222. package/esm/ui/MenuItems.d.ts +0 -15
  1223. package/esm/ui/MenuItems.js +0 -59
  1224. package/esm/ui/useEvent.d.ts +0 -1
  1225. package/esm/ui/useEvent.js +0 -10
  1226. package/esm/util/blobToDataURL.d.ts +0 -1
  1227. package/esm/util/blobToDataURL.js +0 -14
  1228. package/esm/util/compositeMap.d.ts +0 -11
  1229. package/esm/util/compositeMap.js +0 -59
  1230. package/esm/util/flatqueue/index.d.ts +0 -11
  1231. package/esm/util/flatqueue/index.js +0 -61
  1232. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1233. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1234. package/esm/util/layouts/MultiLayout.js +0 -40
  1235. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1236. package/esm/util/layouts/PileupLayout.js +0 -202
  1237. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1238. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1239. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1240. package/esm/util/layouts/SceneGraph.js +0 -121
  1241. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1242. package/esm/util/makeAbortableReaction.js +0 -47
  1243. package/esm/util/map-obj/index.d.ts +0 -13
  1244. package/esm/util/map-obj/index.js +0 -92
  1245. package/esm/util/nextTick.d.ts +0 -1
  1246. package/esm/util/nextTick.js +0 -3
  1247. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1248. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1249. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1250. package/esm/util/offscreenCanvasUtils.js +0 -19
  1251. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1252. package/esm/util/renderToAbstractCanvas.js +0 -53
  1253. package/esm/util/stopToken.d.ts +0 -19
  1254. package/esm/util/stopToken.js +0 -90
  1255. package/esm/util/transferables.d.ts +0 -2
  1256. package/esm/util/transferables.js +0 -35
  1257. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1258. package/esm/util/tss-react/mui/index.js +0 -1
  1259. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1260. package/esm/util/tss-react/mui/mui.js +0 -5
  1261. package/esm/util/when.d.ts +0 -1
  1262. package/esm/util/when.js +0 -1
  1263. /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
  1264. /package/esm/data_adapters/BaseAdapter/{BaseOptions.js → zoomRange.js} +0 -0
  1265. /package/esm/{util/layouts/BaseLayout.js → rpc/RpcRegistry.js} +0 -0
@@ -0,0 +1,63 @@
1
+ export declare const MIN_BAND_HEIGHT = 20;
2
+ /** The legal range for one band. Both ends are optional and both are px. */
3
+ export interface BandBounds {
4
+ /** Defaults to {@link MIN_BAND_HEIGHT}. */
5
+ min?: number;
6
+ /** Defaults to unbounded. A band above a plot should always state one. */
7
+ max?: number;
8
+ }
9
+ /**
10
+ * #api core/util
11
+ * Bound a band height to its legal range — a config value, a menu choice, or a
12
+ * slider position, i.e. anywhere the number is being *stated* rather than
13
+ * dragged.
14
+ *
15
+ * The **floor** keeps the band operable at its smallest: for a drag-resized
16
+ * band that means keeping the handle grabbable, for a menu-sized one it is the
17
+ * height below which its content stops reading. The **ceiling** stops a band
18
+ * from swallowing the plot it sits over — every display floors its plot area at
19
+ * 0, so an unbounded band takes the rows to zero height rather than to a
20
+ * scrollbar, and takes the band's own handle off-screen with them.
21
+ *
22
+ * The bounds differ per band and the rule does not, which is why this takes them
23
+ * rather than each band re-deriving the reasoning — that is how the two
24
+ * `clampBandHeight`s in this repo drifted apart, each ending up with one half of
25
+ * this rule and a doc comment claiming to be the whole of it.
26
+ */
27
+ export declare function boundBandHeight(n: number, { min, max }?: BandBounds): number;
28
+ /**
29
+ * #api core/util
30
+ * Clamp one *resize* of a drag-resizable band: {@link boundBandHeight}, plus the
31
+ * one rule a resize needs that a stated height does not.
32
+ *
33
+ * The floor becomes `min(bounds.min, current)`, never the bare bound: a band
34
+ * whose config declares it smaller than the floor must stay where it is. Taking
35
+ * the bare floor instead made the *first* drag on such a band jump it up to the
36
+ * floor before honoring the delta. A band at or above the floor is unaffected,
37
+ * one below it can still be dragged but never smaller than it already is, and
38
+ * one dragged back past the floor regains it.
39
+ *
40
+ * The ceiling is not relaxed the same way — a band already over its ceiling is
41
+ * the state the user is trying to escape, so a resize brings it back inside.
42
+ *
43
+ * `ResizeHandle` emits one delta per animation frame, so callers driving a drag
44
+ * pass `current + distance` as the target and read `current` inside the action —
45
+ * a component computing the target from a rendered height drops every tick that
46
+ * lands before React re-renders.
47
+ *
48
+ * @param current - the band's height right now, in px
49
+ * @param target - the height this resize is asking for, in px
50
+ * @param bounds - the band's legal range; `max` should be derived from the
51
+ * display height so the plot below cannot be squashed to nothing
52
+ */
53
+ export declare function clampBandHeight(current: number, target: number, bounds?: BandBounds): number;
54
+ /**
55
+ * #api core/util
56
+ * Heights after growing or shrinking a stack of bands by `distance` px in all:
57
+ * the one rule every whole-stack resize uses. Each band takes its share of the
58
+ * height it has above `floor`, so the tall bands give and take the most, and
59
+ * none goes below `floor`, or below its own height if it already sits under it
60
+ * (the {@link clampBandHeight} rule). Whole pixels, rounded by largest
61
+ * remainder, so the stack moves by exactly the rounded distance.
62
+ */
63
+ export declare function scaleBandHeights(heights: number[], distance: number, floor?: number): number[];
@@ -0,0 +1,85 @@
1
+ // Default floor for a user-resizable band (an alignments coverage / arc /
2
+ // sashimi band, a MAF coverage / conservation band), in px. It exists so the
3
+ // drag handle stays grabbable, which is a constraint on dragging, not on what
4
+ // config may declare. Bands with their own vocabulary of "too small" pass their
5
+ // own (the variant lane's 8 is where a record stops reading as a mark).
6
+ export const MIN_BAND_HEIGHT = 20;
7
+ /**
8
+ * #api core/util
9
+ * Bound a band height to its legal range — a config value, a menu choice, or a
10
+ * slider position, i.e. anywhere the number is being *stated* rather than
11
+ * dragged.
12
+ *
13
+ * The **floor** keeps the band operable at its smallest: for a drag-resized
14
+ * band that means keeping the handle grabbable, for a menu-sized one it is the
15
+ * height below which its content stops reading. The **ceiling** stops a band
16
+ * from swallowing the plot it sits over — every display floors its plot area at
17
+ * 0, so an unbounded band takes the rows to zero height rather than to a
18
+ * scrollbar, and takes the band's own handle off-screen with them.
19
+ *
20
+ * The bounds differ per band and the rule does not, which is why this takes them
21
+ * rather than each band re-deriving the reasoning — that is how the two
22
+ * `clampBandHeight`s in this repo drifted apart, each ending up with one half of
23
+ * this rule and a doc comment claiming to be the whole of it.
24
+ */
25
+ export function boundBandHeight(n, { min = MIN_BAND_HEIGHT, max = Number.POSITIVE_INFINITY } = {}) {
26
+ return Math.min(max, Math.max(min, Math.round(n)));
27
+ }
28
+ /**
29
+ * #api core/util
30
+ * Clamp one *resize* of a drag-resizable band: {@link boundBandHeight}, plus the
31
+ * one rule a resize needs that a stated height does not.
32
+ *
33
+ * The floor becomes `min(bounds.min, current)`, never the bare bound: a band
34
+ * whose config declares it smaller than the floor must stay where it is. Taking
35
+ * the bare floor instead made the *first* drag on such a band jump it up to the
36
+ * floor before honoring the delta. A band at or above the floor is unaffected,
37
+ * one below it can still be dragged but never smaller than it already is, and
38
+ * one dragged back past the floor regains it.
39
+ *
40
+ * The ceiling is not relaxed the same way — a band already over its ceiling is
41
+ * the state the user is trying to escape, so a resize brings it back inside.
42
+ *
43
+ * `ResizeHandle` emits one delta per animation frame, so callers driving a drag
44
+ * pass `current + distance` as the target and read `current` inside the action —
45
+ * a component computing the target from a rendered height drops every tick that
46
+ * lands before React re-renders.
47
+ *
48
+ * @param current - the band's height right now, in px
49
+ * @param target - the height this resize is asking for, in px
50
+ * @param bounds - the band's legal range; `max` should be derived from the
51
+ * display height so the plot below cannot be squashed to nothing
52
+ */
53
+ export function clampBandHeight(current, target, bounds = {}) {
54
+ const { min = MIN_BAND_HEIGHT } = bounds;
55
+ return boundBandHeight(target, { ...bounds, min: Math.min(min, current) });
56
+ }
57
+ /**
58
+ * #api core/util
59
+ * Heights after growing or shrinking a stack of bands by `distance` px in all:
60
+ * the one rule every whole-stack resize uses. Each band takes its share of the
61
+ * height it has above `floor`, so the tall bands give and take the most, and
62
+ * none goes below `floor`, or below its own height if it already sits under it
63
+ * (the {@link clampBandHeight} rule). Whole pixels, rounded by largest
64
+ * remainder, so the stack moves by exactly the rounded distance.
65
+ */
66
+ export function scaleBandHeights(heights, distance, floor = MIN_BAND_HEIGHT) {
67
+ const floors = heights.map(h => Math.min(h, floor));
68
+ const room = heights.map((h, i) => h - floors[i]);
69
+ const roomTotal = room.reduce((a, b) => a + b, 0);
70
+ const target = Math.max(0, Math.round(roomTotal + distance));
71
+ const exact = room.map(r => roomTotal > 0 ? (r * target) / roomTotal : target / heights.length);
72
+ const whole = exact.map(e => Math.floor(e));
73
+ let left = target - whole.reduce((a, b) => a + b, 0);
74
+ const byRemainder = exact
75
+ .map((e, i) => ({ i, frac: e - whole[i] }))
76
+ .sort((a, b) => b.frac - a.frac);
77
+ for (const { i } of byRemainder) {
78
+ if (left <= 0) {
79
+ break;
80
+ }
81
+ whole[i] = whole[i] + 1;
82
+ left -= 1;
83
+ }
84
+ return whole.map((w, i) => w + floors[i]);
85
+ }
@@ -0,0 +1,51 @@
1
+ import type { BandBounds } from './bandHeight.ts';
2
+ /**
3
+ * #api core/util
4
+ * One band of a display's vertical stack — a coverage histogram, an arc strip,
5
+ * a conservation row, a variant lane. The contract is the pair: `active` is
6
+ * whether the band exists right now (the display pre-ANDs its settings half,
7
+ * `showX`, with its data half, "some lane has ink"), and `height` is the stated
8
+ * height when it does. Consumers read pixels through {@link reservedPx} or
9
+ * {@link stackBands}, never by re-combining the pair — the re-combination is
10
+ * where the reserver and the painter historically drifted.
11
+ */
12
+ export interface Band {
13
+ active: boolean;
14
+ /** The stated height in px, meaningful only while `active`. */
15
+ height: number;
16
+ /**
17
+ * Present ⇒ `height` is bound at read time ({@link boundBandHeight}), for a
18
+ * band whose stored value may be stale or hand-edited. Absent ⇒ the stated
19
+ * height is trusted as-is; the setters are the only gate.
20
+ */
21
+ bounds?: BandBounds;
22
+ }
23
+ /**
24
+ * #api core/util
25
+ * The pixels a band takes from the plot below it: 0 when off, the (optionally
26
+ * bound) stated height when on. This is the single spelling of "off spends
27
+ * 0 px".
28
+ */
29
+ export declare function reservedPx(band: Band): number;
30
+ /** What {@link stackBands} derives: one top per band, and where the stack ends. */
31
+ export interface BandStack<K extends string> {
32
+ /** Content-space y where each band begins, in stack order. */
33
+ top: Record<K, number>;
34
+ /** Each band's {@link reservedPx}. */
35
+ reserved: Record<K, number>;
36
+ /** Where the content below the stack begins — the sum of every reserved px. */
37
+ bottom: number;
38
+ }
39
+ /**
40
+ * #api core/util
41
+ * Fold an ordered set of bands into tops and a bottom. The order is the
42
+ * argument, so a display states its band order exactly once. Reserve, paint
43
+ * and pick all call this function, so the reserved and painted positions
44
+ * cannot disagree.
45
+ *
46
+ * Only the fold is shared; the rest stays in each display. Per-lane
47
+ * iteration runs this once per lane, sticky-vs-scrolling is a property of how
48
+ * the result is projected to the screen, and a band drawn outside its
49
+ * reservation (an overlay) carries its own draw rect beside the stack.
50
+ */
51
+ export declare function stackBands<K extends string>(order: readonly K[], bands: Record<K, Band>): BandStack<K>;
@@ -0,0 +1,36 @@
1
+ import { boundBandHeight } from './bandHeight.js';
2
+ /**
3
+ * #api core/util
4
+ * The pixels a band takes from the plot below it: 0 when off, the (optionally
5
+ * bound) stated height when on. This is the single spelling of "off spends
6
+ * 0 px".
7
+ */
8
+ export function reservedPx(band) {
9
+ if (!band.active) {
10
+ return 0;
11
+ }
12
+ return band.bounds ? boundBandHeight(band.height, band.bounds) : band.height;
13
+ }
14
+ /**
15
+ * #api core/util
16
+ * Fold an ordered set of bands into tops and a bottom. The order is the
17
+ * argument, so a display states its band order exactly once. Reserve, paint
18
+ * and pick all call this function, so the reserved and painted positions
19
+ * cannot disagree.
20
+ *
21
+ * Only the fold is shared; the rest stays in each display. Per-lane
22
+ * iteration runs this once per lane, sticky-vs-scrolling is a property of how
23
+ * the result is projected to the screen, and a band drawn outside its
24
+ * reservation (an overlay) carries its own draw rect beside the stack.
25
+ */
26
+ export function stackBands(order, bands) {
27
+ const top = {};
28
+ const reserved = {};
29
+ let y = 0;
30
+ for (const key of order) {
31
+ top[key] = y;
32
+ reserved[key] = reservedPx(bands[key]);
33
+ y += reserved[key];
34
+ }
35
+ return { top, reserved, bottom: y };
36
+ }
@@ -0,0 +1,15 @@
1
+ export declare const CUBIC_APEX_RATIO = 0.75;
2
+ export declare const BEZIER_CONNECTOR_MAX_REACH_PX = 110;
3
+ export declare function bezierConnectorPath({ x1, y1, x2, y2, s1, s2, leadingEnd2, reversed1, reversed2, maxHandlePx, dipPx, }: {
4
+ x1: number;
5
+ y1: number;
6
+ x2: number;
7
+ y2: number;
8
+ s1: number;
9
+ s2: number;
10
+ leadingEnd2?: boolean;
11
+ reversed1?: boolean;
12
+ reversed2?: boolean;
13
+ maxHandlePx?: number;
14
+ dipPx?: number;
15
+ }): string;
@@ -0,0 +1,101 @@
1
+ // One horizontal-tangent "oval" connector curve, shared by the alignments
2
+ // linked-read bezier overlay (PileupBezierOverlay) and BreakpointSplitView's
3
+ // AlignmentConnections so the two renderers draw a connection identically. Both
4
+ // describe the same thing — two read endpoints (from the shared
5
+ // connectionEndpoints rule), each segment's strand, and whether the second end
6
+ // is a split junction's 5' edge — and this owns the curve geometry, so the
7
+ // direction logic can't drift between them.
8
+ // A handle or bow larger than the endpoints' own separation folds the cubic
9
+ // back over itself: the curve leaves along its tangent, overshoots the far
10
+ // endpoint, and has to curl back to arrive — the "loop-de-loop"/squiggle seen
11
+ // on tightly-spaced reads. So every shaping term stays under this fraction of
12
+ // the span the curve actually has to cover. Endpoints that nearly touch
13
+ // therefore get no shaping at all and draw as the straight line they should be.
14
+ const SPAN_FACTOR = 0.3;
15
+ // Ceiling on the control-handle length. The span budget is what actually scales
16
+ // the handle — it resolves below this for any connection whose endpoints are
17
+ // closer than ~667px apart, which is nearly all of them — so this only bites on
18
+ // very wide arcs. There it bounds the fold-back hook that an inversion draws at
19
+ // its leading end: unbounded, that hook grows with the arc, and a full-width
20
+ // inversion flings a ~500px curl back across unrelated reads.
21
+ const MAX_HANDLE_PX = 200;
22
+ // A symmetric cubic's extreme sits 3/4 of the way from its baseline to its
23
+ // control points, so an arc asked to reach a given apex puts its controls 4/3
24
+ // past it. Exported because the sashimi overlay solves the same equation in the
25
+ // other direction, and the two spellings drifting apart would put the insert-
26
+ // size ruler's labels at heights nothing plots at.
27
+ export const CUBIC_APEX_RATIO = 0.75;
28
+ // Vertical bow applied to a connection whose two endpoints share (or nearly
29
+ // share) a row — e.g. a chain whose split segments are all laid out on one
30
+ // pileup row. Without it the horizontal-only handles collapse the cubic to a
31
+ // flat, invisible line lying on the row; the bow lifts the control points so
32
+ // the curve arcs into a visible hump. This is the control-point lift, not the
33
+ // height the curve reaches.
34
+ const MAX_BOW_PX = 30;
35
+ // A discordant connection bows *down* instead of up, so the two classes read
36
+ // apart at a glance. Both renderers follow this: BreakpointSplitView dips its
37
+ // same-level discordant links, and the pileup overlay dips every discordant
38
+ // curve it draws (a normal-orientation pair is a plain line, or bows up over its
39
+ // row where a hidden-segment one would lie on a chain's connecting line). Keep
40
+ // it that way — a renderer that opts out makes "below the reads" mean two
41
+ // different things in two views of the same data.
42
+ //
43
+ // HOW DEEP is the renderer's call, not this file's. Depth is the mark's one free
44
+ // channel, and only the renderer knows the band the ink has to survive in — the
45
+ // pileup clips each section at its band bottom, and the split view bleeds a
46
+ // too-deep dip into the panel below. So callers pass the depth they want and
47
+ // `discordantDipPx` (@jbrowse/sv-core) is the law the two of them share.
48
+ // How far a curve can stray outside the band between its two endpoints. The dip
49
+ // is the deeper of the two shaping terms, so this is a ceiling on it, applied
50
+ // here rather than trusted to a caller: a culler pads its viewport test by this,
51
+ // and the shaping is applied to the *control points*, so a curve whose two
52
+ // endpoints both sit just outside the viewport can still have a visible body.
53
+ export const BEZIER_CONNECTOR_MAX_REACH_PX = 110;
54
+ // Sign (+1/-1) of an endpoint's horizontal control handle. The handle leaves a
55
+ // trailing (3') endpoint along the read's reading direction (`strand`); at a
56
+ // split junction's leading (5') endpoint it flips, so the curve arrives flowing
57
+ // *into* the next segment (a fwd→rev inversion folds back instead of cutting
58
+ // straight across). `reversed` flips screen-x for a reverse-complemented region.
59
+ function tangentSign(strand, leading, reversed) {
60
+ return strand * (leading ? -1 : 1) * (reversed ? -1 : 1);
61
+ }
62
+ // How much shaping (handle length, bow height) this curve may spend: a fraction
63
+ // of the distance it has to cover.
64
+ function shapingBudget(p1, p2) {
65
+ return Math.hypot(p2.x - p1.x, p2.y - p1.y) * SPAN_FACTOR;
66
+ }
67
+ // Fades to zero as the endpoints' rows separate, since a cross-row curve
68
+ // already has vertical extent — and via the budget as they close in
69
+ // horizontally, since a short connector is legible without a hump.
70
+ function bowHeight(p1, p2, budget) {
71
+ return Math.min(budget, Math.max(0, MAX_BOW_PX - Math.abs(p2.y - p1.y)));
72
+ }
73
+ function cubicPath(from, ctrl1, ctrl2, to) {
74
+ return `M ${from.x} ${from.y} C ${ctrl1.x} ${ctrl1.y} ${ctrl2.x} ${ctrl2.y} ${to.x} ${to.y}`;
75
+ }
76
+ export function bezierConnectorPath({ x1, y1, x2, y2, s1, s2,
77
+ // The second endpoint is a split junction's 5' leading edge (its handle flips
78
+ // to fold the curve into the next segment); false for a paired mate's 3' edge.
79
+ leadingEnd2 = false, reversed1 = false, reversed2 = false, maxHandlePx = MAX_HANDLE_PX,
80
+ // Depth, in px, of the dip a discordant connection draws instead of the bow a
81
+ // concordant one gets — aberrant pair orientation, or a split junction's
82
+ // strand flip, so the two classes are tellable apart by shape alone. It is
83
+ // the depth of the curve's APEX — what a caller can bound by the room it has —
84
+ // and CUBIC_APEX_RATIO converts it to the control-point drop that puts the ink
85
+ // there. Leave it out to bow up.
86
+ dipPx, }) {
87
+ const from = { x: x1, y: y1 };
88
+ const to = { x: x2, y: y2 };
89
+ const budget = shapingBudget(from, to);
90
+ const handle = Math.min(maxHandlePx, budget);
91
+ // The dip is deliberately not clamped to the budget, unlike the bow. The
92
+ // budget stops the cubic folding back over itself, and only the horizontal
93
+ // handles can do that — a vertical offset leaves x(t) monotonic however deep
94
+ // it goes, so a big event squeezed into a few px draws a narrow trough rather
95
+ // than a squiggle. Pinned by 'a dipped connection never overshoots its
96
+ // endpoints in x'.
97
+ const bow = dipPx === undefined
98
+ ? bowHeight(from, to, budget)
99
+ : -Math.min(dipPx, BEZIER_CONNECTOR_MAX_REACH_PX) / CUBIC_APEX_RATIO;
100
+ return cubicPath(from, { x: x1 + handle * tangentSign(s1, false, reversed1), y: y1 - bow }, { x: x2 + handle * tangentSign(s2, leadingEnd2, reversed2), y: y2 - bow }, to);
101
+ }
@@ -0,0 +1,24 @@
1
+ import type { BgzfWorkerPool } from '@gmod/bgzf-filehandle';
2
+ /**
3
+ * The BGZF inflate pool the indexed-format libraries decompress large chunks on,
4
+ * one per JS context like `decompressedBytesBudget`: one per RPC worker plus one
5
+ * on the main thread. BGZF decompression is 70-90% of a cold query (`@gmod/bam`
6
+ * ADR 0003), and its blocks inflate independently.
7
+ *
8
+ * Holding it costs nothing. `@gmod/bgzf-filehandle` 6.7 starts the workers only
9
+ * when a chunk of at least `POOL_MIN_DECOMPRESSED_BYTES` (0.4MB inflated)
10
+ * arrives, inflates in process while they boot, and inflates in process for good
11
+ * if one of them fails, so no read waits on a worker. What it is worth per
12
+ * format, and why GFF3 and GTF go without it: reference/BGZF_WORKER_POOL.md.
13
+ *
14
+ * A function over a dynamic import because the library inlines its worker bundle
15
+ * as a base64 string, and a static import pins it into every entry point that
16
+ * can reach this helper: measured with esbuild, 23.4kb gzipped against 141b. Test
17
+ * speed is not a reason either way; three jbrowse-web variant suites ran 13.887s
18
+ * static against 13.856s dynamic.
19
+ *
20
+ * Resolves to `undefined` wherever Workers cannot be created (node, jest), which
21
+ * keeps `@gmod/bam` and `@gmod/tabix` on their in-process path, and the `catch`
22
+ * keeps anything else going wrong here on it too.
23
+ */
24
+ export declare function sharedBgzfWorkerPool(): Promise<BgzfWorkerPool | undefined>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The BGZF inflate pool the indexed-format libraries decompress large chunks on,
3
+ * one per JS context like `decompressedBytesBudget`: one per RPC worker plus one
4
+ * on the main thread. BGZF decompression is 70-90% of a cold query (`@gmod/bam`
5
+ * ADR 0003), and its blocks inflate independently.
6
+ *
7
+ * Holding it costs nothing. `@gmod/bgzf-filehandle` 6.7 starts the workers only
8
+ * when a chunk of at least `POOL_MIN_DECOMPRESSED_BYTES` (0.4MB inflated)
9
+ * arrives, inflates in process while they boot, and inflates in process for good
10
+ * if one of them fails, so no read waits on a worker. What it is worth per
11
+ * format, and why GFF3 and GTF go without it: reference/BGZF_WORKER_POOL.md.
12
+ *
13
+ * A function over a dynamic import because the library inlines its worker bundle
14
+ * as a base64 string, and a static import pins it into every entry point that
15
+ * can reach this helper: measured with esbuild, 23.4kb gzipped against 141b. Test
16
+ * speed is not a reason either way; three jbrowse-web variant suites ran 13.887s
17
+ * static against 13.856s dynamic.
18
+ *
19
+ * Resolves to `undefined` wherever Workers cannot be created (node, jest), which
20
+ * keeps `@gmod/bam` and `@gmod/tabix` on their in-process path, and the `catch`
21
+ * keeps anything else going wrong here on it too.
22
+ */
23
+ export function sharedBgzfWorkerPool() {
24
+ return import('@gmod/bgzf-filehandle')
25
+ .then(m => m.getSharedWorkerPool())
26
+ .catch(() => undefined);
27
+ }
@@ -0,0 +1,17 @@
1
+ import type { AggregateStep, BinStep } from './markEncodingTypes.ts';
2
+ import type { Staged } from './stepTables.ts';
3
+ /**
4
+ * Whether an interval `bin` and the `aggregate` behind it run as one kernel:
5
+ * the aggregate groups by the bin's two edges, and every field it reads is a
6
+ * plain name, so a piece's value is its row's or one the bin wrote.
7
+ */
8
+ export declare function fusesBinAggregate(bin: BinStep, agg: AggregateStep): boolean;
9
+ /**
10
+ * An interval `bin` and the `aggregate` grouped by its edges as one walk: each
11
+ * row's bins accumulate straight into their group's sums, with no piece table,
12
+ * the way `binRawRegion` bins a BigWig's raw section. The groups come out in
13
+ * the order the pieces would have met them and each sum adds its pieces in
14
+ * the pieces' order, so the answer is the two steps' to the bit. Undefined
15
+ * where the bins spread too thinly over the region for a dense index.
16
+ */
17
+ export declare function binnedAggregate({ table, bounds }: Staged, bin: BinStep, agg: AggregateStep): Staged | undefined;