@jbrowse/core 4.3.0 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1124) hide show
  1. package/README.md +783 -0
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
  33. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
  34. package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
  35. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
  36. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
  37. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
  38. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
  39. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
  40. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
  41. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
  57. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
  58. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
  59. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
  60. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
  61. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
  62. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
  63. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  64. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
  65. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
  66. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
  67. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
  68. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
  69. package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
  70. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
  71. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
  72. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
  73. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
  74. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
  75. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
  76. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
  77. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
  78. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
  79. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
  80. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
  81. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
  82. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
  83. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
  84. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
  85. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
  86. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
  87. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
  88. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
  89. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
  90. package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
  91. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
  92. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
  93. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
  94. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
  95. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
  96. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
  97. package/esm/BaseFeatureWidget/configSchema.js +1 -1
  98. package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
  99. package/esm/BaseFeatureWidget/formatDetails.js +103 -0
  100. package/esm/BaseFeatureWidget/index.d.ts +3 -1
  101. package/esm/BaseFeatureWidget/index.js +2 -2
  102. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
  103. package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
  104. package/esm/BaseFeatureWidget/types.d.ts +4 -3
  105. package/esm/BaseFeatureWidget/util.d.ts +4 -29
  106. package/esm/BaseFeatureWidget/util.js +20 -84
  107. package/esm/CorePlugin.js +11 -6
  108. package/esm/PhasedScheduler.d.ts +4 -2
  109. package/esm/PhasedScheduler.js +18 -2
  110. package/esm/Plugin.d.ts +6 -1
  111. package/esm/Plugin.js +7 -0
  112. package/esm/PluginLoader.d.ts +40 -40
  113. package/esm/PluginLoader.js +166 -82
  114. package/esm/PluginManager.d.ts +368 -55
  115. package/esm/PluginManager.js +326 -85
  116. package/esm/ReExports/BaseFeatureDetails.js +7 -6
  117. package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
  118. package/esm/ReExports/MuiDataGridReExports.js +58 -130
  119. package/esm/ReExports/MuiReExports.d.ts +3 -134
  120. package/esm/ReExports/MuiReExports.js +43 -16
  121. package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
  122. package/esm/ReExports/MuiStylesReExports.js +55 -0
  123. package/esm/ReExports/index.js +1 -1
  124. package/esm/ReExports/lazify.d.ts +2 -2
  125. package/esm/ReExports/lazify.js +16 -3
  126. package/esm/ReExports/list.js +54 -229
  127. package/esm/ReExports/modules.js +84 -65
  128. package/esm/ReExports/muiComponentNames.d.ts +18 -0
  129. package/esm/ReExports/muiComponentNames.js +130 -0
  130. package/esm/ReExports/publicUtil.d.ts +1 -0
  131. package/esm/ReExports/publicUtil.js +28 -0
  132. package/esm/ReExports/registry.d.ts +2 -0
  133. package/esm/ReExports/registry.js +28 -0
  134. package/esm/TextSearch/BaseResults.d.ts +20 -21
  135. package/esm/TextSearch/BaseResults.js +8 -33
  136. package/esm/TextSearch/TextSearchManager.d.ts +14 -34
  137. package/esm/TextSearch/TextSearchManager.js +87 -34
  138. package/esm/assemblyManager/assembly.d.ts +307 -34
  139. package/esm/assemblyManager/assembly.js +551 -262
  140. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  141. package/esm/assemblyManager/assemblyAdapters.js +18 -0
  142. package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
  143. package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
  144. package/esm/assemblyManager/assemblyManager.d.ts +711 -303
  145. package/esm/assemblyManager/assemblyManager.js +351 -46
  146. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
  147. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
  148. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  149. package/esm/assemblyManager/geneticCodes.js +47 -0
  150. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
  151. package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
  152. package/esm/assemblyManager/index.d.ts +1 -1
  153. package/esm/assemblyManager/index.js +2 -2
  154. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  155. package/esm/assemblyManager/loadRefNameMap.js +80 -0
  156. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  157. package/esm/assemblyManager/refNameColors.js +32 -0
  158. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  159. package/esm/assemblyManager/refNameMaps.js +87 -0
  160. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  161. package/esm/assemblyManager/refNameMismatch.js +66 -0
  162. package/esm/checkPlugins.d.ts +11 -0
  163. package/esm/checkPlugins.js +77 -0
  164. package/esm/configuration/configurationSchema.d.ts +154 -19
  165. package/esm/configuration/configurationSchema.js +359 -138
  166. package/esm/configuration/configurationSlot.d.ts +283 -30
  167. package/esm/configuration/configurationSlot.js +205 -226
  168. package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
  169. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  170. package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
  171. package/esm/configuration/formatDetailsConfigSchema.js +90 -0
  172. package/esm/configuration/fullConfSnapshot.d.ts +28 -0
  173. package/esm/configuration/fullConfSnapshot.js +66 -0
  174. package/esm/configuration/getConf.d.ts +88 -0
  175. package/esm/configuration/getConf.js +74 -0
  176. package/esm/configuration/index.d.ts +19 -3
  177. package/esm/configuration/index.js +19 -2
  178. package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
  179. package/esm/configuration/mergeFormatCallbacks.js +24 -0
  180. package/esm/configuration/promotableDefaults.d.ts +199 -0
  181. package/esm/configuration/promotableDefaults.js +326 -0
  182. package/esm/configuration/promotablePin.d.ts +55 -0
  183. package/esm/configuration/promotableResolve.d.ts +108 -0
  184. package/esm/configuration/promotableResolve.js +117 -0
  185. package/esm/configuration/promotableSlots.d.ts +12 -0
  186. package/esm/configuration/promotableSlots.js +45 -0
  187. package/esm/configuration/readConfObject.d.ts +56 -0
  188. package/esm/configuration/readConfObject.js +161 -0
  189. package/esm/configuration/schemaRegistry.d.ts +35 -0
  190. package/esm/configuration/schemaRegistry.js +50 -0
  191. package/esm/configuration/schemaTypes.d.ts +23 -0
  192. package/esm/configuration/schemaTypes.js +94 -0
  193. package/esm/configuration/slotFacade.d.ts +82 -0
  194. package/esm/configuration/slotFacade.js +89 -0
  195. package/esm/configuration/slotShape.d.ts +12 -0
  196. package/esm/configuration/slotShape.js +84 -0
  197. package/esm/configuration/slotValueUtils.d.ts +17 -0
  198. package/esm/configuration/slotValueUtils.js +25 -0
  199. package/esm/configuration/tabixIndexFields.d.ts +44 -0
  200. package/esm/configuration/tabixIndexFields.js +45 -0
  201. package/esm/configuration/tabixShorthand.d.ts +34 -0
  202. package/esm/configuration/tabixShorthand.js +45 -0
  203. package/esm/configuration/types.d.ts +170 -7
  204. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
  205. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
  206. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
  207. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
  208. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  209. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  210. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  211. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  212. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  213. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  214. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  215. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  216. package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
  217. package/esm/data_adapters/BaseAdapter/index.js +5 -5
  218. package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
  219. package/esm/data_adapters/BaseAdapter/stats.js +48 -22
  220. package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
  221. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  222. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  223. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  224. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  225. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
  226. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
  227. package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
  228. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  229. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  230. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  231. package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
  232. package/esm/data_adapters/dataAdapterCache.js +62 -22
  233. package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
  234. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  235. package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
  236. package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
  237. package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
  238. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  239. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  240. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  241. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  242. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  243. package/esm/pluggableElementTypes/DisplayType.d.ts +10 -0
  244. package/esm/pluggableElementTypes/DisplayType.js +14 -1
  245. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  246. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
  247. package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
  248. package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
  249. package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
  250. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
  251. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  252. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  253. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  254. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  255. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  256. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
  257. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  258. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  259. package/esm/pluggableElementTypes/TrackType.js +1 -1
  260. package/esm/pluggableElementTypes/ViewType.d.ts +2 -1
  261. package/esm/pluggableElementTypes/ViewType.js +9 -2
  262. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  263. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  264. package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
  265. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  266. package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
  267. package/esm/pluggableElementTypes/extendElementType.js +68 -0
  268. package/esm/pluggableElementTypes/index.d.ts +7 -7
  269. package/esm/pluggableElementTypes/index.js +24 -14
  270. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
  271. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  272. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
  273. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
  274. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +195 -35
  275. package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
  276. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
  277. package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
  278. package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
  279. package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
  280. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
  281. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  282. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
  283. package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
  284. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
  285. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  286. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
  287. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  288. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
  289. package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
  290. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  291. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
  292. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
  293. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  294. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
  295. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
  296. package/esm/pluggableElementTypes/models/index.d.ts +6 -3
  297. package/esm/pluggableElementTypes/models/index.js +10 -8
  298. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
  299. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
  300. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  301. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
  302. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
  303. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  304. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  305. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  306. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  307. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  308. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  309. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  310. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  311. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  312. package/esm/pluginDefinitions.d.ts +198 -0
  313. package/esm/pluginDefinitions.js +220 -0
  314. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  315. package/esm/rpc/BaseRpcDriver.js +74 -107
  316. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  317. package/esm/rpc/MainThreadRpcDriver.js +18 -29
  318. package/esm/rpc/RpcClient.d.ts +38 -0
  319. package/esm/rpc/RpcClient.js +154 -0
  320. package/esm/rpc/RpcManager.d.ts +116 -27
  321. package/esm/rpc/RpcManager.js +177 -50
  322. package/esm/rpc/RpcRegistry.d.ts +265 -0
  323. package/esm/rpc/RpcRegistry.js +1 -0
  324. package/esm/rpc/RpcServer.d.ts +41 -0
  325. package/esm/rpc/RpcServer.js +235 -0
  326. package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
  327. package/esm/rpc/WebWorkerRpcDriver.js +312 -27
  328. package/esm/rpc/byteBudget.d.ts +49 -0
  329. package/esm/rpc/byteBudget.js +50 -0
  330. package/esm/rpc/configSchema.d.ts +27 -5
  331. package/esm/rpc/configSchema.js +40 -16
  332. package/esm/rpc/coreRpcMethods.d.ts +2 -5
  333. package/esm/rpc/coreRpcMethods.js +9 -12
  334. package/esm/rpc/explainTransferError.d.ts +35 -0
  335. package/esm/rpc/explainTransferError.js +158 -0
  336. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  337. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  338. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  339. package/esm/rpc/methods/CoreGetExportData.js +26 -15
  340. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  341. package/esm/rpc/methods/CoreGetFeatures.js +15 -17
  342. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  343. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  344. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  345. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  346. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  347. package/esm/rpc/methods/CoreGetRefNames.js +24 -13
  348. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  349. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  350. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  351. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  352. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  353. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  354. package/esm/rpc/serializeError/index.d.ts +9 -0
  355. package/esm/rpc/serializeError/index.js +86 -0
  356. package/esm/svg/SvgExport.d.ts +30 -0
  357. package/esm/svg/SvgExport.js +53 -0
  358. package/esm/svg/constants.d.ts +1 -0
  359. package/esm/svg/constants.js +5 -0
  360. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  361. package/esm/svg/saveSvgAsImage.js +90 -0
  362. package/esm/svg/svgId.d.ts +42 -0
  363. package/esm/svg/svgId.js +84 -0
  364. package/esm/svg/svgReady.d.ts +136 -0
  365. package/esm/svg/svgReady.js +164 -0
  366. package/esm/svg/trackNames.d.ts +27 -0
  367. package/esm/svg/trackNames.js +31 -0
  368. package/esm/svg/wrapSvgExport.d.ts +12 -0
  369. package/esm/svg/wrapSvgExport.js +78 -0
  370. package/esm/ui/ActionLink.d.ts +7 -0
  371. package/esm/ui/ActionLink.js +9 -0
  372. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  373. package/esm/ui/AddCustomPluginDialog.js +61 -0
  374. package/esm/ui/AddGenomePane.d.ts +8 -0
  375. package/esm/ui/AddGenomePane.js +228 -0
  376. package/esm/ui/AdvancedOptions.d.ts +6 -0
  377. package/esm/ui/AdvancedOptions.js +17 -0
  378. package/esm/ui/AppLogo.d.ts +1 -1
  379. package/esm/ui/AppLogo.js +2 -2
  380. package/esm/ui/AssemblySelector.d.ts +5 -8
  381. package/esm/ui/AssemblySelector.js +8 -26
  382. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  383. package/esm/ui/BaseExportSvgDialog.js +84 -0
  384. package/esm/ui/BaseTooltip.d.ts +14 -3
  385. package/esm/ui/BaseTooltip.js +151 -34
  386. package/esm/ui/CascadingMenu.d.ts +9 -18
  387. package/esm/ui/CascadingMenu.js +368 -41
  388. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  389. package/esm/ui/CascadingMenuButton.js +36 -18
  390. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  391. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  392. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  393. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  394. package/esm/ui/ColorPicker.d.ts +6 -9
  395. package/esm/ui/ColorPicker.js +36 -39
  396. package/esm/ui/ConfirmDialog.d.ts +2 -9
  397. package/esm/ui/ConfirmDialog.js +6 -9
  398. package/esm/ui/ContextMenu.d.ts +50 -0
  399. package/esm/ui/ContextMenu.js +55 -0
  400. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  401. package/esm/ui/CopyToClipboardButton.js +14 -0
  402. package/esm/ui/Crosshairs.d.ts +10 -0
  403. package/esm/ui/Crosshairs.js +15 -0
  404. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  405. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  406. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  407. package/esm/ui/DataGridFlexContainer.js +4 -3
  408. package/esm/ui/Dialog.d.ts +5 -2
  409. package/esm/ui/Dialog.js +35 -27
  410. package/esm/ui/DraggableDialog.d.ts +3 -3
  411. package/esm/ui/DraggableDialog.js +50 -12
  412. package/esm/ui/DropDownMenu.d.ts +4 -2
  413. package/esm/ui/DropDownMenu.js +4 -4
  414. package/esm/ui/EditableTypography.d.ts +3 -1
  415. package/esm/ui/EditableTypography.js +34 -26
  416. package/esm/ui/ErrorActions.d.ts +24 -0
  417. package/esm/ui/ErrorActions.js +20 -0
  418. package/esm/ui/ErrorBanner.d.ts +7 -0
  419. package/esm/ui/ErrorBanner.js +35 -0
  420. package/esm/ui/ErrorBar.d.ts +6 -0
  421. package/esm/ui/ErrorBar.js +35 -0
  422. package/esm/ui/ErrorBoundary.d.ts +29 -5
  423. package/esm/ui/ErrorBoundary.js +32 -2
  424. package/esm/ui/ErrorMessage.d.ts +2 -4
  425. package/esm/ui/ErrorMessage.js +17 -52
  426. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  427. package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
  428. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  429. package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
  430. package/esm/ui/ErrorOverlay.d.ts +8 -0
  431. package/esm/ui/ErrorOverlay.js +5 -0
  432. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  433. package/esm/ui/ExportSvgDialog.js +9 -0
  434. package/esm/ui/ExternalLink.d.ts +1 -1
  435. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  436. package/esm/ui/FactoryResetDialog.js +6 -15
  437. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  438. package/esm/ui/FatalErrorDialog.js +6 -5
  439. package/esm/ui/FileDropZone.d.ts +25 -0
  440. package/esm/ui/FileDropZone.js +128 -0
  441. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  442. package/esm/ui/FileSelector/FileSelector.js +59 -30
  443. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  444. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  445. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  446. package/esm/ui/FileSelector/LocationInput.js +8 -12
  447. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  448. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  449. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  450. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  451. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  452. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  453. package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
  454. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  455. package/esm/ui/FileSelector/util.d.ts +58 -3
  456. package/esm/ui/FileSelector/util.js +128 -11
  457. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  458. package/esm/ui/GpuFallbackButton.js +20 -0
  459. package/esm/ui/HoverMenu.d.ts +12 -3
  460. package/esm/ui/HoverMenu.js +31 -9
  461. package/esm/ui/HoverTooltip.d.ts +27 -0
  462. package/esm/ui/HoverTooltip.js +24 -0
  463. package/esm/ui/Icons.d.ts +6 -4
  464. package/esm/ui/Icons.js +9 -0
  465. package/esm/ui/InfoDialog.d.ts +7 -0
  466. package/esm/ui/InfoDialog.js +16 -0
  467. package/esm/ui/InlineMenuControls.d.ts +6 -0
  468. package/esm/ui/InlineMenuControls.js +17 -0
  469. package/esm/ui/JexlFilterDialog.d.ts +23 -0
  470. package/esm/ui/JexlFilterDialog.js +94 -0
  471. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  472. package/esm/ui/LabeledCheckbox.js +7 -0
  473. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  474. package/esm/ui/LegendSwatchGlyph.js +25 -0
  475. package/esm/ui/LoadingDots.d.ts +1 -0
  476. package/esm/ui/LoadingDots.js +30 -0
  477. package/esm/ui/LoadingEllipses.d.ts +17 -1
  478. package/esm/ui/LoadingEllipses.js +20 -29
  479. package/esm/ui/LoadingOverlay.d.ts +9 -0
  480. package/esm/ui/LoadingOverlay.js +137 -0
  481. package/esm/ui/LoadingProgress.d.ts +16 -0
  482. package/esm/ui/LoadingProgress.js +16 -0
  483. package/esm/ui/Logo.d.ts +2 -2
  484. package/esm/ui/Logo.js +23 -24
  485. package/esm/ui/Menu.js +1 -1
  486. package/esm/ui/MenuItemChevron.d.ts +3 -0
  487. package/esm/ui/MenuItemChevron.js +19 -0
  488. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  489. package/esm/ui/MenuItemEndDecoration.js +28 -0
  490. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  491. package/esm/ui/MenuItemTrailing.js +42 -0
  492. package/esm/ui/MenuTypes.d.ts +124 -4
  493. package/esm/ui/MenuTypes.js +13 -1
  494. package/esm/ui/MonospaceTextField.d.ts +9 -0
  495. package/esm/ui/MonospaceTextField.js +37 -0
  496. package/esm/ui/NumberTextField.d.ts +31 -0
  497. package/esm/ui/NumberTextField.js +33 -0
  498. package/esm/ui/PaletteContext.d.ts +85 -0
  499. package/esm/ui/PaletteContext.js +104 -0
  500. package/esm/ui/PinAdornment.d.ts +5 -0
  501. package/esm/ui/PinAdornment.js +79 -0
  502. package/esm/ui/PluggableComponent.d.ts +10 -0
  503. package/esm/ui/PluggableComponent.js +19 -0
  504. package/esm/ui/PluggableComponents.d.ts +29 -0
  505. package/esm/ui/PluggableComponents.js +28 -0
  506. package/esm/ui/PluggableElements.d.ts +23 -0
  507. package/esm/ui/PluggableElements.js +24 -0
  508. package/esm/ui/PluginStoreCard.d.ts +17 -0
  509. package/esm/ui/PluginStoreCard.js +45 -0
  510. package/esm/ui/PopoverPicker.d.ts +6 -0
  511. package/esm/ui/PopoverPicker.js +25 -0
  512. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  513. package/esm/ui/PrerenderedCanvas.js +5 -4
  514. package/esm/ui/ProgressChip.d.ts +37 -0
  515. package/esm/ui/ProgressChip.js +66 -0
  516. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  517. package/esm/ui/RedErrorMessageBox.js +9 -3
  518. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  519. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  520. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  521. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  522. package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
  523. package/esm/ui/RefNameAutocomplete/index.js +78 -0
  524. package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
  525. package/esm/ui/RefNameAutocomplete/util.js +168 -0
  526. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  527. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  528. package/esm/ui/ResizeHandle.d.ts +13 -7
  529. package/esm/ui/ResizeHandle.js +42 -55
  530. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  531. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  532. package/esm/ui/SanitizedHTML.d.ts +6 -1
  533. package/esm/ui/SanitizedHTML.js +7 -47
  534. package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
  535. package/esm/ui/ScrollEdgeShadow.js +98 -0
  536. package/esm/ui/ScrollZoomToggle.d.ts +38 -0
  537. package/esm/ui/ScrollZoomToggle.js +92 -0
  538. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  539. package/esm/ui/SequenceAdapterInputs.js +30 -0
  540. package/esm/ui/SettingsChangesTable.d.ts +14 -0
  541. package/esm/ui/SettingsChangesTable.js +49 -0
  542. package/esm/ui/ShareLinkField.d.ts +6 -0
  543. package/esm/ui/ShareLinkField.js +42 -0
  544. package/esm/ui/SingleSlider.d.ts +8 -0
  545. package/esm/ui/SingleSlider.js +11 -0
  546. package/esm/ui/SizeSliderRow.d.ts +16 -0
  547. package/esm/ui/SizeSliderRow.js +50 -0
  548. package/esm/ui/SliderTooltip.d.ts +2 -0
  549. package/esm/ui/SliderTooltip.js +17 -0
  550. package/esm/ui/Snackbar.d.ts +4 -2
  551. package/esm/ui/Snackbar.js +11 -8
  552. package/esm/ui/SnackbarContents.d.ts +1 -1
  553. package/esm/ui/SnackbarContents.js +21 -3
  554. package/esm/ui/SnackbarModel.d.ts +40 -0
  555. package/esm/ui/SnackbarModel.js +43 -11
  556. package/esm/ui/StackTraceButton.d.ts +5 -0
  557. package/esm/ui/StackTraceButton.js +16 -0
  558. package/esm/ui/StatusProgressBar.d.ts +37 -0
  559. package/esm/ui/StatusProgressBar.js +76 -0
  560. package/esm/ui/SubmitDialog.d.ts +6 -0
  561. package/esm/ui/SubmitDialog.js +9 -0
  562. package/esm/ui/SubmitForm.d.ts +23 -0
  563. package/esm/ui/SubmitForm.js +23 -0
  564. package/esm/ui/SvgColorLegend.d.ts +13 -0
  565. package/esm/ui/SvgColorLegend.js +65 -0
  566. package/esm/ui/SvgGradientLegend.d.ts +26 -0
  567. package/esm/ui/SvgGradientLegend.js +26 -0
  568. package/esm/ui/TagTextField.d.ts +40 -0
  569. package/esm/ui/TagTextField.js +32 -0
  570. package/esm/ui/VerticalScrollbar.d.ts +45 -0
  571. package/esm/ui/VerticalScrollbar.js +158 -0
  572. package/esm/ui/ViewLoadingScreen.d.ts +24 -0
  573. package/esm/ui/ViewLoadingScreen.js +76 -0
  574. package/esm/ui/addExtensionElement.d.ts +18 -0
  575. package/esm/ui/addExtensionElement.js +23 -0
  576. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  577. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  578. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  579. package/esm/ui/colorSwatchStyle.js +11 -0
  580. package/esm/ui/colors.d.ts +61 -8
  581. package/esm/ui/colors.js +135 -1
  582. package/esm/ui/extensionSelectors.d.ts +38 -0
  583. package/esm/ui/extensionSelectors.js +49 -0
  584. package/esm/ui/filterMenuItems.d.ts +112 -0
  585. package/esm/ui/filterMenuItems.js +86 -0
  586. package/esm/ui/formatErrorStack.d.ts +1 -0
  587. package/esm/ui/formatErrorStack.js +56 -0
  588. package/esm/ui/gpuFallback.d.ts +33 -0
  589. package/esm/ui/gpuFallback.js +39 -0
  590. package/esm/ui/highlightChipReveal.d.ts +32 -0
  591. package/esm/ui/highlightChipReveal.js +39 -0
  592. package/esm/ui/hoverBoxStyle.d.ts +11 -0
  593. package/esm/ui/hoverBoxStyle.js +13 -0
  594. package/esm/ui/index.d.ts +76 -4
  595. package/esm/ui/index.js +90 -19
  596. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  597. package/esm/ui/inlineMenuRowWidth.js +8 -0
  598. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  599. package/esm/ui/launchTargetsMenuItem.js +24 -0
  600. package/esm/ui/launchViewMenu.d.ts +4 -0
  601. package/esm/ui/launchViewMenu.js +36 -0
  602. package/esm/ui/legendMenuItem.d.ts +38 -0
  603. package/esm/ui/legendMenuItem.js +44 -0
  604. package/esm/ui/legendSpec.d.ts +62 -0
  605. package/esm/ui/legendSpec.js +78 -0
  606. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  607. package/esm/ui/loadingDotKeyframes.js +17 -0
  608. package/esm/ui/makeSizeMenu.d.ts +30 -0
  609. package/esm/ui/makeSizeMenu.js +82 -0
  610. package/esm/ui/mapStackTrace.d.ts +8 -0
  611. package/esm/ui/mapStackTrace.js +108 -0
  612. package/esm/ui/measureLegendText.d.ts +1 -0
  613. package/esm/ui/measureLegendText.js +8 -0
  614. package/esm/ui/menuItemAdornment.d.ts +33 -0
  615. package/esm/ui/menuItemAdornment.js +50 -0
  616. package/esm/ui/menuItems.d.ts +28 -0
  617. package/esm/ui/menuItems.js +26 -0
  618. package/esm/ui/menuLabels.d.ts +41 -0
  619. package/esm/ui/menuLabels.js +43 -0
  620. package/esm/ui/multiTrackMenuItems.d.ts +19 -0
  621. package/esm/ui/multiTrackMenuItems.js +15 -0
  622. package/esm/ui/palette.d.ts +559 -0
  623. package/esm/ui/palette.js +746 -0
  624. package/esm/ui/parseError.d.ts +4 -0
  625. package/esm/ui/parseError.js +18 -0
  626. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  627. package/esm/ui/persistentScrollbarStyle.js +53 -0
  628. package/esm/ui/promotableMenuItems.d.ts +19 -0
  629. package/esm/ui/promotableMenuItems.js +89 -0
  630. package/esm/ui/promotablePinCoverage.d.ts +44 -0
  631. package/esm/ui/promotablePinCoverage.js +87 -0
  632. package/esm/ui/radioSubMenu.d.ts +33 -0
  633. package/esm/ui/radioSubMenu.js +32 -0
  634. package/esm/ui/react-colorful.js +5 -1
  635. package/esm/ui/replaceViewAction.d.ts +31 -0
  636. package/esm/ui/replaceViewAction.js +39 -0
  637. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  638. package/esm/ui/rewriteExternalAnchors.js +8 -0
  639. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  640. package/esm/ui/scrollZoomLabels.js +22 -0
  641. package/esm/ui/showSubMenu.d.ts +19 -0
  642. package/esm/ui/showSubMenu.js +30 -0
  643. package/esm/ui/sliderScale.d.ts +6 -0
  644. package/esm/ui/sliderScale.js +30 -0
  645. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  646. package/esm/ui/statusProgressKeyframes.js +14 -0
  647. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  648. package/esm/ui/stripStackTraceMessage.js +9 -0
  649. package/esm/ui/styleTheme.d.ts +158 -0
  650. package/esm/ui/styleTheme.js +115 -0
  651. package/esm/ui/submenuAim.d.ts +30 -0
  652. package/esm/ui/submenuAim.js +37 -0
  653. package/esm/ui/theme.d.ts +343 -29
  654. package/esm/ui/theme.js +258 -342
  655. package/esm/ui/toggleMenuItems.d.ts +44 -0
  656. package/esm/ui/toggleMenuItems.js +60 -0
  657. package/esm/ui/useAssemblySelection.d.ts +153 -0
  658. package/esm/ui/useAssemblySelection.js +54 -0
  659. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  660. package/esm/ui/useCoalescedPointer.js +60 -0
  661. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  662. package/esm/ui/useCopyToClipboard.js +41 -0
  663. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  664. package/esm/ui/useExportSvgPreference.js +4 -0
  665. package/esm/ui/useMouseTracking.d.ts +71 -0
  666. package/esm/ui/useMouseTracking.js +179 -0
  667. package/esm/ui/useRecentLocations.d.ts +28 -0
  668. package/esm/ui/useRecentLocations.js +31 -0
  669. package/esm/ui/wrapComponent.d.ts +47 -0
  670. package/esm/ui/wrapComponent.js +58 -0
  671. package/esm/ui/zIndexes.d.ts +28 -0
  672. package/esm/ui/zIndexes.js +38 -0
  673. package/esm/util/Base1DUtils.d.ts +204 -16
  674. package/esm/util/Base1DUtils.js +310 -175
  675. package/esm/util/Base1DViewModel.d.ts +97 -20
  676. package/esm/util/Base1DViewModel.js +148 -39
  677. package/esm/util/FileSaver/index.d.ts +1 -0
  678. package/esm/util/FileSaver/index.js +27 -0
  679. package/esm/util/IntervalTree.d.ts +18 -39
  680. package/esm/util/IntervalTree.js +63 -244
  681. package/esm/util/SvgCanvas.d.ts +81 -0
  682. package/esm/util/SvgCanvas.js +500 -0
  683. package/esm/util/TimeTraveller.d.ts +12 -0
  684. package/esm/util/TimeTraveller.js +130 -27
  685. package/esm/util/aborting.d.ts +17 -4
  686. package/esm/util/aborting.js +30 -25
  687. package/esm/util/adapterMetadata.d.ts +20 -0
  688. package/esm/util/adapterMetadata.js +39 -0
  689. package/esm/util/addAndShowTrack.d.ts +22 -0
  690. package/esm/util/addAndShowTrack.js +23 -0
  691. package/esm/util/addRelativeUris.d.ts +17 -0
  692. package/esm/util/addRelativeUris.js +42 -0
  693. package/esm/util/addTrackComponent.d.ts +72 -0
  694. package/esm/util/addTrackComponent.js +53 -0
  695. package/esm/util/addTrackFromWidget.d.ts +94 -0
  696. package/esm/util/addTrackFromWidget.js +90 -0
  697. package/esm/util/analytics.d.ts +32 -3
  698. package/esm/util/analytics.js +102 -49
  699. package/esm/util/animationAllowed.d.ts +17 -0
  700. package/esm/util/animationAllowed.js +22 -0
  701. package/esm/util/applyInitSettings.d.ts +79 -0
  702. package/esm/util/applyInitSettings.js +91 -0
  703. package/esm/util/applyRowResizeWheel.d.ts +10 -0
  704. package/esm/util/applyRowResizeWheel.js +34 -0
  705. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  706. package/esm/util/assemblyConfigUtils.js +498 -0
  707. package/esm/util/bandHeight.d.ts +53 -0
  708. package/esm/util/bandHeight.js +56 -0
  709. package/esm/util/bandLayout.d.ts +51 -0
  710. package/esm/util/bandLayout.js +36 -0
  711. package/esm/util/bezierConnector.d.ts +14 -0
  712. package/esm/util/bezierConnector.js +108 -0
  713. package/esm/util/bgzfWorkerPool.d.ts +78 -0
  714. package/esm/util/bgzfWorkerPool.js +81 -0
  715. package/esm/util/blockTypes.d.ts +64 -45
  716. package/esm/util/blockTypes.js +67 -74
  717. package/esm/util/bpUtils.d.ts +81 -0
  718. package/esm/util/bpUtils.js +103 -0
  719. package/esm/util/cacheBudgets.d.ts +52 -0
  720. package/esm/util/cacheBudgets.js +52 -0
  721. package/esm/util/cachedSetup.d.ts +51 -0
  722. package/esm/util/cachedSetup.js +87 -0
  723. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  724. package/esm/util/calculateDynamicBlocks.js +85 -82
  725. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  726. package/esm/util/calculateStaticBlocks.js +48 -71
  727. package/esm/util/chooseGridPitch.d.ts +9 -0
  728. package/esm/util/chooseGridPitch.js +31 -0
  729. package/esm/util/clampToContig.d.ts +26 -0
  730. package/esm/util/clampToContig.js +28 -0
  731. package/esm/util/cmpStr.d.ts +1 -0
  732. package/esm/util/cmpStr.js +7 -0
  733. package/esm/util/coarseStripHTML.js +3 -15
  734. package/esm/util/color/cssColorsLevel4.js +6 -2
  735. package/esm/util/color/index.d.ts +81 -2
  736. package/esm/util/color/index.js +194 -25
  737. package/esm/util/color-bits/bit.d.ts +4 -0
  738. package/esm/util/color-bits/bit.js +37 -0
  739. package/esm/util/color-bits/convert.d.ts +23 -0
  740. package/esm/util/color-bits/convert.js +294 -0
  741. package/esm/util/color-bits/core.d.ts +34 -0
  742. package/esm/util/color-bits/core.js +67 -0
  743. package/esm/util/color-bits/format.d.ts +24 -0
  744. package/esm/util/color-bits/format.js +82 -0
  745. package/esm/util/color-bits/functions.d.ts +33 -0
  746. package/esm/util/color-bits/functions.js +70 -0
  747. package/esm/util/color-bits/index.d.ts +5 -0
  748. package/esm/util/color-bits/index.js +4 -0
  749. package/esm/util/color-bits/parse.d.ts +17 -0
  750. package/esm/util/color-bits/parse.js +382 -0
  751. package/esm/util/colorBits.d.ts +39 -0
  752. package/esm/util/colorBits.js +180 -0
  753. package/esm/util/colorRamp.d.ts +37 -0
  754. package/esm/util/colorRamp.js +93 -0
  755. package/esm/util/colord.d.ts +8 -0
  756. package/esm/util/colord.js +43 -191
  757. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  758. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  759. package/esm/util/copyText.d.ts +18 -0
  760. package/esm/util/copyText.js +30 -0
  761. package/esm/util/copyToClipboard.d.ts +4 -0
  762. package/esm/util/copyToClipboard.js +58 -0
  763. package/esm/util/createStopTokenRotation.d.ts +117 -0
  764. package/esm/util/createStopTokenRotation.js +147 -0
  765. package/esm/util/createSvgRasterCanvas.d.ts +7 -0
  766. package/esm/util/createSvgRasterCanvas.js +22 -0
  767. package/esm/util/crypto.d.ts +24 -0
  768. package/esm/util/crypto.js +85 -2
  769. package/esm/util/dataGridUtils.d.ts +9 -0
  770. package/esm/util/dataGridUtils.js +36 -0
  771. package/esm/util/dedupe.js +1 -0
  772. package/esm/util/deepEqual.d.ts +8 -0
  773. package/esm/util/deepEqual.js +22 -0
  774. package/esm/util/deepMerge.d.ts +20 -0
  775. package/esm/util/deepMerge.js +44 -0
  776. package/esm/util/diagonalizeRegions.d.ts +23 -0
  777. package/esm/util/diagonalizeRegions.js +192 -0
  778. package/esm/util/environment.d.ts +4 -0
  779. package/esm/util/environment.js +43 -0
  780. package/esm/util/eventPoint.d.ts +32 -0
  781. package/esm/util/eventPoint.js +28 -0
  782. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  783. package/esm/util/fetchAndMaybeUnzip.js +64 -0
  784. package/esm/util/fetchContext.d.ts +82 -0
  785. package/esm/util/fetchContext.js +59 -0
  786. package/esm/util/fetchHub.d.ts +15 -0
  787. package/esm/util/fetchHub.js +31 -0
  788. package/esm/util/fetchJson.d.ts +1 -0
  789. package/esm/util/fetchJson.js +7 -0
  790. package/esm/util/fetchPhases.d.ts +77 -0
  791. package/esm/util/fetchPhases.js +1 -0
  792. package/esm/util/fetchSeq.d.ts +5 -1
  793. package/esm/util/fetchSeq.js +18 -6
  794. package/esm/util/fileHandleStore.d.ts +19 -2
  795. package/esm/util/fileHandleStore.js +95 -35
  796. package/esm/util/flatbush/index.d.ts +27 -6
  797. package/esm/util/flatbush/index.js +194 -218
  798. package/esm/util/formatBytes.d.ts +9 -0
  799. package/esm/util/formatBytes.js +18 -0
  800. package/esm/util/formatFastaStrings.d.ts +13 -0
  801. package/esm/util/formatFastaStrings.js +13 -0
  802. package/esm/util/formatGuessers.d.ts +30 -0
  803. package/esm/util/formatGuessers.js +69 -0
  804. package/esm/util/formatRelativeTime.d.ts +1 -0
  805. package/esm/util/formatRelativeTime.js +25 -0
  806. package/esm/util/frameCoalescer.d.ts +30 -0
  807. package/esm/util/frameCoalescer.js +22 -0
  808. package/esm/util/freezeDeep.d.ts +28 -0
  809. package/esm/util/freezeDeep.js +41 -0
  810. package/esm/util/geneticCodes.d.ts +56 -0
  811. package/esm/util/geneticCodes.js +371 -0
  812. package/esm/util/getFileName.d.ts +11 -0
  813. package/esm/util/getFileName.js +34 -0
  814. package/esm/util/getLocationUri.d.ts +49 -0
  815. package/esm/util/getLocationUri.js +63 -0
  816. package/esm/util/getRelativeX.d.ts +4 -0
  817. package/esm/util/getRelativeX.js +7 -0
  818. package/esm/util/getStr.d.ts +6 -0
  819. package/esm/util/getStr.js +15 -0
  820. package/esm/util/highlights.d.ts +21 -0
  821. package/esm/util/highlights.js +100 -0
  822. package/esm/util/hooks.d.ts +160 -0
  823. package/esm/util/hooks.js +416 -0
  824. package/esm/util/htmlText.d.ts +13 -0
  825. package/esm/util/htmlText.js +66 -0
  826. package/esm/util/idMaker.d.ts +1 -1
  827. package/esm/util/idMaker.js +31 -18
  828. package/esm/util/index.d.ts +82 -268
  829. package/esm/util/index.js +136 -853
  830. package/esm/util/indexCandidates.d.ts +50 -0
  831. package/esm/util/indexCandidates.js +101 -0
  832. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  833. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  834. package/esm/util/installFetch.d.ts +194 -0
  835. package/esm/util/installFetch.js +178 -0
  836. package/esm/util/installInitAutorun.d.ts +62 -0
  837. package/esm/util/installInitAutorun.js +107 -0
  838. package/esm/util/intervals.d.ts +20 -0
  839. package/esm/util/intervals.js +37 -0
  840. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  841. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  842. package/esm/util/io/index.d.ts +39 -2
  843. package/esm/util/io/index.js +115 -12
  844. package/esm/util/isDataCurrent.d.ts +7 -0
  845. package/esm/util/isDataCurrent.js +9 -0
  846. package/esm/util/isWebWorker.js +1 -2
  847. package/esm/util/iupac.d.ts +4 -0
  848. package/esm/util/iupac.js +59 -0
  849. package/esm/util/jexl.js +141 -17
  850. package/esm/util/jexlFilters.d.ts +75 -0
  851. package/esm/util/jexlFilters.js +49 -0
  852. package/esm/util/jexlStrings.d.ts +22 -1
  853. package/esm/util/jexlStrings.js +21 -14
  854. package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
  855. package/esm/util/layouts/GranularRectLayout.js +99 -356
  856. package/esm/util/layouts/index.d.ts +1 -7
  857. package/esm/util/layouts/index.js +2 -6
  858. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  859. package/esm/util/layouts/intervalUtils.js +13 -31
  860. package/esm/util/layouts/placeRect.d.ts +50 -0
  861. package/esm/util/layouts/placeRect.js +97 -0
  862. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  863. package/esm/util/leadingEdgeAutorun.js +51 -0
  864. package/esm/util/librpc.d.ts +5 -2
  865. package/esm/util/librpc.js +6 -1
  866. package/esm/util/linkify.js +2 -0
  867. package/esm/util/locString.d.ts +72 -0
  868. package/esm/util/locString.js +178 -7
  869. package/esm/util/locStringsToRegions.d.ts +10 -0
  870. package/esm/util/locStringsToRegions.js +35 -0
  871. package/esm/util/localStorage.d.ts +36 -0
  872. package/esm/util/localStorage.js +137 -0
  873. package/esm/util/makeAssembly.d.ts +54 -0
  874. package/esm/util/makeAssembly.js +52 -0
  875. package/esm/util/makeTrackId.d.ts +14 -0
  876. package/esm/util/makeTrackId.js +14 -0
  877. package/esm/util/matchTrackId.d.ts +11 -0
  878. package/esm/util/matchTrackId.js +14 -0
  879. package/esm/util/measureText.d.ts +24 -0
  880. package/esm/util/measureText.js +51 -0
  881. package/esm/util/mst-reflection.d.ts +14 -4
  882. package/esm/util/mst-reflection.js +33 -32
  883. package/esm/util/mstUtils.d.ts +89 -0
  884. package/esm/util/mstUtils.js +122 -0
  885. package/esm/util/nanoid.d.ts +0 -4
  886. package/esm/util/nanoid.js +10 -20
  887. package/esm/util/numericUtils.d.ts +20 -0
  888. package/esm/util/numericUtils.js +127 -0
  889. package/esm/util/objectUtils.d.ts +2 -0
  890. package/esm/util/objectUtils.js +9 -0
  891. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  892. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  893. package/esm/util/openDisplays.d.ts +23 -0
  894. package/esm/util/openDisplays.js +79 -0
  895. package/esm/util/openFeatureWidget.d.ts +33 -0
  896. package/esm/util/openFeatureWidget.js +64 -0
  897. package/esm/util/paintLayer.d.ts +32 -0
  898. package/esm/util/paintLayer.js +33 -0
  899. package/esm/util/parentWalk.d.ts +32 -0
  900. package/esm/util/parentWalk.js +84 -0
  901. package/esm/util/parseLineByLine.d.ts +45 -2
  902. package/esm/util/parseLineByLine.js +156 -15
  903. package/esm/util/parseMotifList.d.ts +17 -0
  904. package/esm/util/parseMotifList.js +69 -0
  905. package/esm/util/pluginStore.d.ts +113 -0
  906. package/esm/util/pluginStore.js +253 -0
  907. package/esm/util/pointerPresence.d.ts +5 -0
  908. package/esm/util/pointerPresence.js +21 -0
  909. package/esm/util/progress.d.ts +459 -0
  910. package/esm/util/progress.js +820 -0
  911. package/esm/util/range.d.ts +42 -1
  912. package/esm/util/range.js +59 -2
  913. package/esm/util/renameRegions.d.ts +21 -0
  914. package/esm/util/renameRegions.js +129 -0
  915. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  916. package/esm/util/renderToStaticMarkup.js +50 -0
  917. package/esm/util/reorder.d.ts +35 -0
  918. package/esm/util/reorder.js +83 -0
  919. package/esm/util/resolveRowHeight.d.ts +27 -0
  920. package/esm/util/resolveRowHeight.js +30 -0
  921. package/esm/util/revlist.d.ts +13 -0
  922. package/esm/util/revlist.js +14 -0
  923. package/esm/util/rowStackGeometry.d.ts +66 -0
  924. package/esm/util/rowStackGeometry.js +70 -0
  925. package/esm/util/rpc.d.ts +16 -1
  926. package/esm/util/rpc.js +12 -1
  927. package/esm/util/rxjs.d.ts +14 -1
  928. package/esm/util/rxjs.js +39 -10
  929. package/esm/util/sameStrings.d.ts +16 -0
  930. package/esm/util/sameStrings.js +20 -0
  931. package/esm/util/scrollLatch.d.ts +4 -0
  932. package/esm/util/scrollLatch.js +59 -0
  933. package/esm/util/selectNamedRegions.d.ts +136 -0
  934. package/esm/util/selectNamedRegions.js +222 -0
  935. package/esm/util/seqUtils.d.ts +17 -0
  936. package/esm/util/seqUtils.js +80 -0
  937. package/esm/util/sessionServices.d.ts +29 -0
  938. package/esm/util/sessionServices.js +46 -0
  939. package/esm/util/sessionSharing.d.ts +38 -0
  940. package/esm/util/sessionSharing.js +154 -0
  941. package/esm/util/sessionStorage.d.ts +1 -0
  942. package/esm/util/sessionStorage.js +15 -0
  943. package/esm/util/setStackTraceLimit.d.ts +6 -0
  944. package/esm/util/setStackTraceLimit.js +20 -0
  945. package/esm/util/simpleFeature.d.ts +112 -4
  946. package/esm/util/simpleFeature.js +181 -29
  947. package/esm/util/springAnimate.d.ts +20 -0
  948. package/esm/util/springAnimate.js +80 -0
  949. package/esm/util/stats.d.ts +25 -2
  950. package/esm/util/stats.js +39 -8
  951. package/esm/util/stopToken.d.ts +207 -15
  952. package/esm/util/stopToken.js +403 -55
  953. package/esm/util/stringUtils.d.ts +5 -0
  954. package/esm/util/stringUtils.js +34 -0
  955. package/esm/util/svgColorProps.d.ts +7 -0
  956. package/esm/util/svgColorProps.js +28 -0
  957. package/esm/util/tabix.d.ts +120 -0
  958. package/esm/util/tabix.js +143 -0
  959. package/esm/util/tags.d.ts +2 -0
  960. package/esm/util/tags.js +5 -0
  961. package/esm/util/temporaryAssembly.d.ts +21 -0
  962. package/esm/util/temporaryAssembly.js +29 -0
  963. package/esm/util/tickLabels.d.ts +36 -0
  964. package/esm/util/tickLabels.js +45 -0
  965. package/esm/util/timeGate.d.ts +26 -0
  966. package/esm/util/timeGate.js +79 -0
  967. package/esm/util/trackConfigDelta.d.ts +84 -0
  968. package/esm/util/trackConfigDelta.js +190 -0
  969. package/esm/util/tracks.d.ts +350 -30
  970. package/esm/util/tracks.js +574 -192
  971. package/esm/util/tss-react/cssAndCx.js +11 -66
  972. package/esm/util/tss-react/index.d.ts +11 -2
  973. package/esm/util/tss-react/index.js +9 -2
  974. package/esm/util/tss-react/makeStyles.js +7 -4
  975. package/esm/util/tss-react/mergeClasses.js +1 -0
  976. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  977. package/esm/util/tss-react/tools/classnames.js +3 -0
  978. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  979. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  980. package/esm/util/tss-react/types.d.ts +1 -1
  981. package/esm/util/tss-react/types.js +1 -6
  982. package/esm/util/types/ElementId.js +1 -1
  983. package/esm/util/types/data.d.ts +75 -0
  984. package/esm/util/types/data.js +41 -0
  985. package/esm/util/types/index.d.ts +358 -119
  986. package/esm/util/types/index.js +87 -64
  987. package/esm/util/types/isAny.d.ts +11 -0
  988. package/esm/util/types/isAny.js +1 -0
  989. package/esm/util/types/mst.d.ts +71 -47
  990. package/esm/util/types/mst.js +27 -22
  991. package/esm/util/types/predicate.d.ts +9 -0
  992. package/esm/util/types/predicate.js +1 -0
  993. package/esm/util/types/renderingServices.d.ts +16 -0
  994. package/esm/util/types/renderingServices.js +1 -0
  995. package/esm/util/types/services.d.ts +55 -0
  996. package/esm/util/types/services.js +10 -0
  997. package/esm/util/types/util.d.ts +8 -2
  998. package/esm/util/unzip.d.ts +1 -0
  999. package/esm/util/unzip.js +6 -0
  1000. package/esm/util/useEventCallback.d.ts +1 -0
  1001. package/esm/util/useEventCallback.js +16 -0
  1002. package/esm/util/useFeatureSequence.d.ts +13 -7
  1003. package/esm/util/useFeatureSequence.js +56 -78
  1004. package/esm/util/useFetch.d.ts +56 -0
  1005. package/esm/util/useFetch.js +188 -0
  1006. package/esm/util/useFetchPlugins.d.ts +12 -0
  1007. package/esm/util/useFetchPlugins.js +14 -0
  1008. package/esm/util/useMeasure.d.ts +11 -1
  1009. package/esm/util/useMeasure.js +20 -6
  1010. package/esm/util/usePanZoom.d.ts +75 -0
  1011. package/esm/util/usePanZoom.js +175 -0
  1012. package/esm/util/usePanelVirtualScroll.d.ts +37 -0
  1013. package/esm/util/usePanelVirtualScroll.js +42 -0
  1014. package/esm/util/usePointerDrag.d.ts +37 -0
  1015. package/esm/util/usePointerDrag.js +61 -0
  1016. package/esm/util/useRafCommit.d.ts +4 -0
  1017. package/esm/util/useRafCommit.js +50 -0
  1018. package/esm/util/useResizeDrag.d.ts +91 -0
  1019. package/esm/util/useResizeDrag.js +105 -0
  1020. package/esm/util/useRowVirtualScroll.d.ts +32 -0
  1021. package/esm/util/useRowVirtualScroll.js +63 -0
  1022. package/esm/util/useVirtualScrollWheel.d.ts +7 -0
  1023. package/esm/util/useVirtualScrollWheel.js +108 -0
  1024. package/esm/util/viewStatus.d.ts +58 -0
  1025. package/esm/util/viewStatus.js +20 -0
  1026. package/esm/util/virtualRange.d.ts +36 -0
  1027. package/esm/util/virtualRange.js +26 -0
  1028. package/esm/util/webStorage.d.ts +26 -0
  1029. package/esm/util/webStorage.js +92 -0
  1030. package/esm/util/wheelZoom.d.ts +59 -0
  1031. package/esm/util/wheelZoom.js +231 -0
  1032. package/esm/util/whenViewSettled.d.ts +27 -0
  1033. package/esm/util/whenViewSettled.js +28 -0
  1034. package/esm/util/withFeatureDetails.d.ts +34 -0
  1035. package/esm/util/withFeatureDetails.js +59 -0
  1036. package/package.json +240 -820
  1037. package/esm/ReExports/DataGrid.d.ts +0 -1
  1038. package/esm/ReExports/DataGrid.js +0 -1
  1039. package/esm/configuration/util.d.ts +0 -10
  1040. package/esm/configuration/util.js +0 -123
  1041. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1042. package/esm/data_adapters/util.d.ts +0 -1
  1043. package/esm/data_adapters/util.js +0 -6
  1044. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1045. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1046. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1047. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1048. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1049. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1050. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1051. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1052. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1053. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1054. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1055. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1056. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1057. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1058. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1059. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1060. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1061. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1062. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1063. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1064. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1065. package/esm/rpc/baseRpcConfig.js +0 -10
  1066. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1067. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1068. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1069. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1070. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1071. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1072. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1073. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1074. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1075. package/esm/rpc/methods/CoreRender.js +0 -40
  1076. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1077. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1078. package/esm/rpc/methods/util.d.ts +0 -15
  1079. package/esm/rpc/methods/util.js +0 -7
  1080. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1081. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1082. package/esm/ui/MenuButton.d.ts +0 -1
  1083. package/esm/ui/MenuButton.js +0 -1
  1084. package/esm/ui/MenuItems.d.ts +0 -15
  1085. package/esm/ui/MenuItems.js +0 -59
  1086. package/esm/ui/useEvent.d.ts +0 -1
  1087. package/esm/ui/useEvent.js +0 -10
  1088. package/esm/util/blobToDataURL.d.ts +0 -1
  1089. package/esm/util/blobToDataURL.js +0 -14
  1090. package/esm/util/compositeMap.d.ts +0 -11
  1091. package/esm/util/compositeMap.js +0 -59
  1092. package/esm/util/flatqueue/index.d.ts +0 -11
  1093. package/esm/util/flatqueue/index.js +0 -61
  1094. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1095. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1096. package/esm/util/layouts/MultiLayout.js +0 -40
  1097. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1098. package/esm/util/layouts/PileupLayout.js +0 -202
  1099. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1100. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1101. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1102. package/esm/util/layouts/SceneGraph.js +0 -121
  1103. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1104. package/esm/util/makeAbortableReaction.js +0 -47
  1105. package/esm/util/map-obj/index.d.ts +0 -13
  1106. package/esm/util/map-obj/index.js +0 -92
  1107. package/esm/util/nextTick.d.ts +0 -1
  1108. package/esm/util/nextTick.js +0 -3
  1109. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1110. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1111. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1112. package/esm/util/offscreenCanvasUtils.js +0 -19
  1113. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1114. package/esm/util/renderToAbstractCanvas.js +0 -53
  1115. package/esm/util/transferables.d.ts +0 -2
  1116. package/esm/util/transferables.js +0 -35
  1117. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1118. package/esm/util/tss-react/mui/index.js +0 -1
  1119. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1120. package/esm/util/tss-react/mui/mui.js +0 -5
  1121. package/esm/util/when.d.ts +0 -1
  1122. package/esm/util/when.js +0 -1
  1123. /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
  1124. /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
@@ -1,52 +1,203 @@
1
1
  import type { MenuItem } from '../../ui/index.ts';
2
2
  import type { Instance } from '@jbrowse/mobx-state-tree';
3
+ /**
4
+ * #stateModel BaseViewModel
5
+ * #category view
6
+ */
3
7
  declare const BaseViewModel: import("@jbrowse/mobx-state-tree").IModelType<{
8
+ /**
9
+ * #property
10
+ */
4
11
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
12
+ /**
13
+ * #property
14
+ * displayName is displayed in the header of the view, or assembly names
15
+ * being used if none is specified
16
+ */
5
17
  displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
6
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
18
+ /**
19
+ * #property
20
+ * collapse the view to its header bar, keeping it in the session rather
21
+ * than closing it
22
+ */
23
+ minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
7
24
  }, {
8
25
  width: number;
26
+ /**
27
+ * Whether the container has this view's body in the DOM.
28
+ *
29
+ * `ViewContainer` mounts a view's body only while an IntersectionObserver
30
+ * says it is on screen, to hold the app under the WebGL2 context ceiling
31
+ * (`reference/GPU_CONTEXT_BUDGET.md`). A view below the fold therefore has
32
+ * no canvas, so nothing ever calls `markCanvasDrawn` and the pre-first-paint
33
+ * term of `displayPhase` pins every display in it at `loading` with nothing
34
+ * left to resolve it — which parks `[data-app-phase="ready"]` for the whole
35
+ * app on a view the user cannot see.
36
+ *
37
+ * Defaults true so the containers that always mount a body — embedded
38
+ * views, workspace panels, and any test rendering a display directly — are
39
+ * unaffected and need not set it.
40
+ *
41
+ * The raw flag, written by this view's own container. A display asks
42
+ * `effectiveBodyMounted` instead, because a nested view has no container of
43
+ * its own.
44
+ */
45
+ bodyMounted: boolean;
9
46
  } & {
47
+ /**
48
+ * #getter
49
+ * Whether this view's body is in the DOM, counting the views it is nested
50
+ * inside — which is the question a display's phase actually asks.
51
+ *
52
+ * `bodyMounted` alone answers it only for a view a container renders
53
+ * directly. A view nested in another view (a synteny row, a breakpoint
54
+ * panel) has no container writing its flag, so it reads `true` forever
55
+ * while its whole subtree is out of the DOM, and every display in it waits
56
+ * for a first paint that nothing will make — the hang this flag exists to
57
+ * prevent, one level down.
58
+ *
59
+ * An ancestor that does not carry the flag at all leaves the answer alone
60
+ * rather than excusing the paint: only an explicit `false` unmounts, so a
61
+ * duck-typed stand-in that forgot it keeps waiting, which is the failure
62
+ * that shows up as a slow test rather than as a picture of an empty view.
63
+ */
64
+ readonly effectiveBodyMounted: boolean;
65
+ /**
66
+ * #method
67
+ */
10
68
  menuItems(): MenuItem[];
11
69
  } & {
70
+ /**
71
+ * #action
72
+ */
12
73
  setDisplayName(name: string): void;
74
+ /**
75
+ * #action
76
+ * width is an important attribute of the view model, when it becomes set,
77
+ * it often indicates when the app can start drawing to it. certain views
78
+ * like lgv are strict about this because if it tries to draw before it
79
+ * knows the width it should draw to, it may start fetching data for
80
+ * regions it doesn't need to
81
+ *
82
+ * setWidth is updated by a ResizeObserver generally, the views often need
83
+ * to know how wide they are to properly draw genomic regions
84
+ */
13
85
  setWidth(newWidth: number): void;
86
+ /**
87
+ * #action
88
+ * See `bodyMounted`. Written by the view's container, which is the only
89
+ * thing that knows whether it rendered the body.
90
+ */
91
+ setBodyMounted(flag: boolean): void;
92
+ /**
93
+ * #action
94
+ */
14
95
  setMinimized(flag: boolean): void;
15
- }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
16
- id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
17
- displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
18
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
19
- }>>;
96
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
20
97
  export default BaseViewModel;
21
98
  export type IBaseViewModel = Instance<typeof BaseViewModel> & {
22
99
  type: string;
100
+ assemblyNames?: string[];
23
101
  };
24
- export declare const BaseViewModelWithDisplayedRegions: import("@jbrowse/mobx-state-tree").IModelType<{
102
+ export declare const BaseViewModelWithDisplayedRegions: import("@jbrowse/mobx-state-tree").IModelType<Omit<{
103
+ /**
104
+ * #property
105
+ */
25
106
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
107
+ /**
108
+ * #property
109
+ * displayName is displayed in the header of the view, or assembly names
110
+ * being used if none is specified
111
+ */
26
112
  displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
27
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
28
- } & {
29
- displayedRegions: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IModelType<{
113
+ /**
114
+ * #property
115
+ * collapse the view to its header bar, keeping it in the session rather
116
+ * than closing it
117
+ */
118
+ minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
119
+ }, "displayedRegions"> & {
120
+ displayedRegions: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IModelType<Omit<{
30
121
  refName: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
31
122
  start: import("@jbrowse/mobx-state-tree").ISimpleType<number>;
32
123
  end: import("@jbrowse/mobx-state-tree").ISimpleType<number>;
33
124
  reversed: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
34
- } & {
125
+ }, "assemblyName"> & {
35
126
  assemblyName: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
36
127
  }, {
37
128
  setRefName(newRefName: string): void;
38
129
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
39
130
  }, {
40
131
  width: number;
132
+ /**
133
+ * Whether the container has this view's body in the DOM.
134
+ *
135
+ * `ViewContainer` mounts a view's body only while an IntersectionObserver
136
+ * says it is on screen, to hold the app under the WebGL2 context ceiling
137
+ * (`reference/GPU_CONTEXT_BUDGET.md`). A view below the fold therefore has
138
+ * no canvas, so nothing ever calls `markCanvasDrawn` and the pre-first-paint
139
+ * term of `displayPhase` pins every display in it at `loading` with nothing
140
+ * left to resolve it — which parks `[data-app-phase="ready"]` for the whole
141
+ * app on a view the user cannot see.
142
+ *
143
+ * Defaults true so the containers that always mount a body — embedded
144
+ * views, workspace panels, and any test rendering a display directly — are
145
+ * unaffected and need not set it.
146
+ *
147
+ * The raw flag, written by this view's own container. A display asks
148
+ * `effectiveBodyMounted` instead, because a nested view has no container of
149
+ * its own.
150
+ */
151
+ bodyMounted: boolean;
41
152
  } & {
153
+ /**
154
+ * #getter
155
+ * Whether this view's body is in the DOM, counting the views it is nested
156
+ * inside — which is the question a display's phase actually asks.
157
+ *
158
+ * `bodyMounted` alone answers it only for a view a container renders
159
+ * directly. A view nested in another view (a synteny row, a breakpoint
160
+ * panel) has no container writing its flag, so it reads `true` forever
161
+ * while its whole subtree is out of the DOM, and every display in it waits
162
+ * for a first paint that nothing will make — the hang this flag exists to
163
+ * prevent, one level down.
164
+ *
165
+ * An ancestor that does not carry the flag at all leaves the answer alone
166
+ * rather than excusing the paint: only an explicit `false` unmounts, so a
167
+ * duck-typed stand-in that forgot it keeps waiting, which is the failure
168
+ * that shows up as a slow test rather than as a picture of an empty view.
169
+ */
170
+ readonly effectiveBodyMounted: boolean;
171
+ /**
172
+ * #method
173
+ */
42
174
  menuItems(): MenuItem[];
43
175
  } & {
176
+ /**
177
+ * #action
178
+ */
44
179
  setDisplayName(name: string): void;
180
+ /**
181
+ * #action
182
+ * width is an important attribute of the view model, when it becomes set,
183
+ * it often indicates when the app can start drawing to it. certain views
184
+ * like lgv are strict about this because if it tries to draw before it
185
+ * knows the width it should draw to, it may start fetching data for
186
+ * regions it doesn't need to
187
+ *
188
+ * setWidth is updated by a ResizeObserver generally, the views often need
189
+ * to know how wide they are to properly draw genomic regions
190
+ */
45
191
  setWidth(newWidth: number): void;
192
+ /**
193
+ * #action
194
+ * See `bodyMounted`. Written by the view's container, which is the only
195
+ * thing that knows whether it rendered the body.
196
+ */
197
+ setBodyMounted(flag: boolean): void;
198
+ /**
199
+ * #action
200
+ */
46
201
  setMinimized(flag: boolean): void;
47
- }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
48
- id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
49
- displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
50
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
51
- }>>;
202
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
52
203
  export type IBaseViewModelWithDisplayedRegions = Instance<typeof BaseViewModelWithDisplayedRegions>;
@@ -1,41 +1,136 @@
1
- import { types } from '@jbrowse/mobx-state-tree';
2
- import { ElementId, Region } from "../../util/types/mst.js";
3
- function x() { }
1
+ import { getParent, hasParent, types } from '@jbrowse/mobx-state-tree';
2
+ import { isViewModel } from '../../util/types/index.js';
3
+ import { ElementId, Region } from '../../util/types/mst.js';
4
+ /**
5
+ * The view a view is nested in, if it is nested in one at all — a synteny row
6
+ * inside its stack, a breakpoint panel inside its split view. `undefined` for
7
+ * the ordinary case of a view sitting directly in the session, and for a view
8
+ * not yet attached to a tree.
9
+ *
10
+ * `getContainingView` cannot answer this: it throws when there is no such
11
+ * ancestor, which here is the common case rather than an error.
12
+ */
13
+ function containingViewOf(node) {
14
+ let current = node;
15
+ while (hasParent(current)) {
16
+ current = getParent(current);
17
+ if (isViewModel(current)) {
18
+ return current;
19
+ }
20
+ }
21
+ return undefined;
22
+ }
23
+ /**
24
+ * #stateModel BaseViewModel
25
+ * #category view
26
+ */
4
27
  const BaseViewModel = types
5
28
  .model('BaseView', {
29
+ /**
30
+ * #property
31
+ */
6
32
  id: ElementId,
33
+ /**
34
+ * #property
35
+ * displayName is displayed in the header of the view, or assembly names
36
+ * being used if none is specified
37
+ */
7
38
  displayName: types.maybe(types.string),
8
- minimized: false,
39
+ /**
40
+ * #property
41
+ * collapse the view to its header bar, keeping it in the session rather
42
+ * than closing it
43
+ */
44
+ minimized: types.stripDefault(types.boolean, false),
9
45
  })
10
46
  .volatile(() => ({
11
47
  width: 800,
48
+ /**
49
+ * Whether the container has this view's body in the DOM.
50
+ *
51
+ * `ViewContainer` mounts a view's body only while an IntersectionObserver
52
+ * says it is on screen, to hold the app under the WebGL2 context ceiling
53
+ * (`reference/GPU_CONTEXT_BUDGET.md`). A view below the fold therefore has
54
+ * no canvas, so nothing ever calls `markCanvasDrawn` and the pre-first-paint
55
+ * term of `displayPhase` pins every display in it at `loading` with nothing
56
+ * left to resolve it — which parks `[data-app-phase="ready"]` for the whole
57
+ * app on a view the user cannot see.
58
+ *
59
+ * Defaults true so the containers that always mount a body — embedded
60
+ * views, workspace panels, and any test rendering a display directly — are
61
+ * unaffected and need not set it.
62
+ *
63
+ * The raw flag, written by this view's own container. A display asks
64
+ * `effectiveBodyMounted` instead, because a nested view has no container of
65
+ * its own.
66
+ */
67
+ bodyMounted: true,
12
68
  }))
13
- .views(() => ({
69
+ .views(self => ({
70
+ /**
71
+ * #getter
72
+ * Whether this view's body is in the DOM, counting the views it is nested
73
+ * inside — which is the question a display's phase actually asks.
74
+ *
75
+ * `bodyMounted` alone answers it only for a view a container renders
76
+ * directly. A view nested in another view (a synteny row, a breakpoint
77
+ * panel) has no container writing its flag, so it reads `true` forever
78
+ * while its whole subtree is out of the DOM, and every display in it waits
79
+ * for a first paint that nothing will make — the hang this flag exists to
80
+ * prevent, one level down.
81
+ *
82
+ * An ancestor that does not carry the flag at all leaves the answer alone
83
+ * rather than excusing the paint: only an explicit `false` unmounts, so a
84
+ * duck-typed stand-in that forgot it keeps waiting, which is the failure
85
+ * that shows up as a slow test rather than as a picture of an empty view.
86
+ */
87
+ get effectiveBodyMounted() {
88
+ return (self.bodyMounted &&
89
+ containingViewOf(self)?.effectiveBodyMounted !== false);
90
+ },
91
+ /**
92
+ * #method
93
+ */
14
94
  menuItems() {
15
95
  return [];
16
96
  },
17
97
  }))
18
98
  .actions(self => ({
99
+ /**
100
+ * #action
101
+ */
19
102
  setDisplayName(name) {
20
103
  self.displayName = name;
21
104
  },
105
+ /**
106
+ * #action
107
+ * width is an important attribute of the view model, when it becomes set,
108
+ * it often indicates when the app can start drawing to it. certain views
109
+ * like lgv are strict about this because if it tries to draw before it
110
+ * knows the width it should draw to, it may start fetching data for
111
+ * regions it doesn't need to
112
+ *
113
+ * setWidth is updated by a ResizeObserver generally, the views often need
114
+ * to know how wide they are to properly draw genomic regions
115
+ */
22
116
  setWidth(newWidth) {
23
117
  self.width = newWidth;
24
118
  },
119
+ /**
120
+ * #action
121
+ * See `bodyMounted`. Written by the view's container, which is the only
122
+ * thing that knows whether it rendered the body.
123
+ */
124
+ setBodyMounted(flag) {
125
+ self.bodyMounted = flag;
126
+ },
127
+ /**
128
+ * #action
129
+ */
25
130
  setMinimized(flag) {
26
131
  self.minimized = flag;
27
132
  },
28
- }))
29
- .postProcessSnapshot(snap => {
30
- if (!snap) {
31
- return snap;
32
- }
33
- const { minimized, ...rest } = snap;
34
- return {
35
- ...rest,
36
- ...(minimized ? { minimized } : {}),
37
- };
38
- });
133
+ }));
39
134
  export default BaseViewModel;
40
135
  export const BaseViewModelWithDisplayedRegions = BaseViewModel.props({
41
136
  displayedRegions: types.array(Region),
@@ -0,0 +1,51 @@
1
+ import type { HighlightType } from '../../util/highlights.ts';
2
+ /**
3
+ * #stateModel HighlightsMixin
4
+ * #category view
5
+ *
6
+ * The `view.highlight` band state shared verbatim by the LinearGenomeView and
7
+ * DotplotView: an array of translucent highlight regions plus the
8
+ * `showHighlightChips` toggle for their interactive chips. Both views compose
9
+ * this so the props and actions stay identical by construction rather than by
10
+ * two hand-kept copies. Visibility across all views is the session-wide
11
+ * `highlightsVisible` flag (on BaseSession), not a prop here.
12
+ */
13
+ export default function HighlightsMixin(): import("@jbrowse/mobx-state-tree").IModelType<{
14
+ /**
15
+ * #property
16
+ * translucent highlight bands, seeded from URL params or session JSON and
17
+ * added interactively via the rubber-band menu
18
+ */
19
+ highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>;
20
+ /**
21
+ * #property
22
+ * pins the interactive highlight chip (link icon + context menu) to every
23
+ * highlight band; off by default, where a band instead reveals its chip
24
+ * while the pointer is in it. This is what a screenshot needs, since
25
+ * nothing hovers in one
26
+ */
27
+ showHighlightChips: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
28
+ }, {
29
+ /**
30
+ * #action
31
+ */
32
+ addToHighlights(highlight: HighlightType): void;
33
+ /**
34
+ * #action
35
+ */
36
+ setHighlight(highlight?: HighlightType[]): void;
37
+ /**
38
+ * #action
39
+ */
40
+ removeHighlight(highlight: HighlightType): void;
41
+ /**
42
+ * #action
43
+ */
44
+ updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void;
45
+ /**
46
+ * #action
47
+ */
48
+ setShowHighlightChips(arg: boolean): void;
49
+ } & {
50
+ afterAttach(): void;
51
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
@@ -0,0 +1,78 @@
1
+ import { cast, types } from '@jbrowse/mobx-state-tree';
2
+ import { revealHighlightsOnGrowth } from '../../util/highlights.js';
3
+ import { getSession } from '../../util/index.js';
4
+ /**
5
+ * #stateModel HighlightsMixin
6
+ * #category view
7
+ *
8
+ * The `view.highlight` band state shared verbatim by the LinearGenomeView and
9
+ * DotplotView: an array of translucent highlight regions plus the
10
+ * `showHighlightChips` toggle for their interactive chips. Both views compose
11
+ * this so the props and actions stay identical by construction rather than by
12
+ * two hand-kept copies. Visibility across all views is the session-wide
13
+ * `highlightsVisible` flag (on BaseSession), not a prop here.
14
+ */
15
+ export default function HighlightsMixin() {
16
+ return types
17
+ .model({
18
+ /**
19
+ * #property
20
+ * translucent highlight bands, seeded from URL params or session JSON and
21
+ * added interactively via the rubber-band menu
22
+ */
23
+ highlight: types.stripDefault(types.array(types.frozen()), []),
24
+ /**
25
+ * #property
26
+ * pins the interactive highlight chip (link icon + context menu) to every
27
+ * highlight band; off by default, where a band instead reveals its chip
28
+ * while the pointer is in it. This is what a screenshot needs, since
29
+ * nothing hovers in one
30
+ */
31
+ showHighlightChips: types.stripDefault(types.boolean, false),
32
+ })
33
+ .actions(self => ({
34
+ /**
35
+ * #action
36
+ */
37
+ addToHighlights(highlight) {
38
+ self.highlight.push(highlight);
39
+ },
40
+ /**
41
+ * #action
42
+ */
43
+ setHighlight(highlight) {
44
+ self.highlight = cast(highlight);
45
+ },
46
+ /**
47
+ * #action
48
+ */
49
+ removeHighlight(highlight) {
50
+ self.highlight.remove(highlight);
51
+ },
52
+ /**
53
+ * #action
54
+ */
55
+ updateHighlight(old, updates) {
56
+ const idx = self.highlight.indexOf(old);
57
+ if (idx !== -1) {
58
+ self.highlight[idx] = { ...old, ...updates };
59
+ // reachable from the highlight grid, which lists entries even with
60
+ // the bands off, so recoloring there would otherwise do nothing
61
+ // visible. Not a growth, so revealHighlightsOnGrowth can't see it
62
+ getSession(self).revealHighlights();
63
+ }
64
+ },
65
+ /**
66
+ * #action
67
+ */
68
+ setShowHighlightChips(arg) {
69
+ self.showHighlightChips = arg;
70
+ },
71
+ }))
72
+ .actions(self => ({
73
+ afterAttach() {
74
+ // covers the rubber-band menu, dotplot drag and URL init alike
75
+ revealHighlightsOnGrowth(self, () => self.highlight.length);
76
+ },
77
+ }));
78
+ }