@jbrowse/core 4.2.1 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +783 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +40 -40
- package/esm/PluginLoader.js +166 -82
- package/esm/PluginManager.d.ts +368 -55
- package/esm/PluginManager.js +326 -85
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +84 -65
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +154 -19
- package/esm/configuration/configurationSchema.js +359 -138
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +326 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
- package/esm/data_adapters/BaseAdapter/index.js +5 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
- package/esm/data_adapters/BaseAdapter/stats.js +48 -22
- package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +10 -0
- package/esm/pluggableElementTypes/DisplayType.js +14 -1
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +2 -1
- package/esm/pluggableElementTypes/ViewType.js +9 -2
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +68 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +196 -55
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +265 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +49 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +2 -5
- package/esm/rpc/coreRpcMethods.js +9 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +15 -17
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +24 -13
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +136 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +61 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +368 -41
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +4 -4
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +128 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +12 -3
- package/esm/ui/HoverMenu.js +31 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +9 -0
- package/esm/ui/LoadingOverlay.js +137 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +124 -4
- package/esm/ui/MenuTypes.js +13 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +85 -0
- package/esm/ui/PaletteContext.js +104 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +79 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -46
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +36 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +89 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +87 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +44 -0
- package/esm/ui/toggleMenuItems.js +60 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +23 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyInitSettings.d.ts +79 -0
- package/esm/util/applyInitSettings.js +91 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +52 -0
- package/esm/util/cacheBudgets.js +52 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createStopTokenRotation.d.ts +117 -0
- package/esm/util/createStopTokenRotation.js +147 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +23 -0
- package/esm/util/diagonalizeRegions.js +192 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +5 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +28 -0
- package/esm/util/freezeDeep.js +41 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +160 -0
- package/esm/util/hooks.js +416 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +82 -268
- package/esm/util/index.js +136 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +194 -0
- package/esm/util/installFetch.js +178 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +89 -0
- package/esm/util/mstUtils.js +122 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +113 -0
- package/esm/util/pluginStore.js +253 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +42 -1
- package/esm/util/range.js +59 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +14 -1
- package/esm/util/rxjs.js +39 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +38 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/simpleFeature.d.ts +112 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +120 -0
- package/esm/util/tabix.js +143 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +352 -32
- package/esm/util/tracks.js +576 -194
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +358 -119
- package/esm/util/types/index.js +87 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +58 -0
- package/esm/util/viewStatus.js +20 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +27 -0
- package/esm/util/whenViewSettled.js +28 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/package.json +240 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { IAnyStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
/**
|
|
3
|
+
* Dev-only check that a display's fetch foundation attached it exactly once —
|
|
4
|
+
* the one ordering contract here that is a *state* rather than a declaration,
|
|
5
|
+
* so no selector can reach it. No-op in production.
|
|
6
|
+
*
|
|
7
|
+
* Called once per display from **whichever fetch foundation installed its
|
|
8
|
+
* autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
|
|
9
|
+
* family, `installGlobalFetchAutorun` for the global one,
|
|
10
|
+
* `installComparativeFetchAutorun` for the comparative one. Landing here twice
|
|
11
|
+
* for one node means every autorun that foundation installs is installed twice:
|
|
12
|
+
* double fetches, double clears, and nothing anywhere says so.
|
|
13
|
+
*
|
|
14
|
+
* The named cause is a display that chains to `super` in its own `afterAttach`
|
|
15
|
+
* — our MST fork auto-chains lifecycle hooks, so the explicit call re-enters the
|
|
16
|
+
* foundation's hook. **That cause is a declaration and could be a lint selector;
|
|
17
|
+
* this check is not, because it is not the only cause**: composing two fetch
|
|
18
|
+
* foundations onto one display, or calling an installer from a display that
|
|
19
|
+
* already composes the mixin, arrives here the same way, through a composition
|
|
20
|
+
* assembled across files that no single one of them spells out. So the message
|
|
21
|
+
* leads with the common cause and then describes the state, not the syntax.
|
|
22
|
+
*
|
|
23
|
+
* `installedBy` names the caller so the message can describe the right thing;
|
|
24
|
+
* the WeakSet is shared, which is correct — a display composes one fetch
|
|
25
|
+
* foundation, so reaching here twice is the bug regardless of which.
|
|
26
|
+
*
|
|
27
|
+
* ARCHITECTURAL_LIMITS.md §"Ordering is the contract" is the authoritative
|
|
28
|
+
* account of which contracts report themselves at runtime, which are lint
|
|
29
|
+
* selectors and which are still silent; don't restate the split here, because
|
|
30
|
+
* this comment said "four places" against a heading that said five and a list
|
|
31
|
+
* that held six.
|
|
32
|
+
*
|
|
33
|
+
* Every message names the fix, not just the symptom — the failure modes here
|
|
34
|
+
* cost hours precisely because the symptom (a wedged display, a stale cache)
|
|
35
|
+
* points nowhere near the cause.
|
|
36
|
+
*/
|
|
37
|
+
export declare function assertDisplayContract(self: IAnyStateTreeNode, installedBy?: string): void;
|
|
38
|
+
/** What one run of a display's fetch autorun did. */
|
|
39
|
+
export type FetchAutorunOutcome =
|
|
40
|
+
/** the display's own gate opened and a fetch started */
|
|
41
|
+
'fetched'
|
|
42
|
+
/** the gate stayed shut, so this run did nothing */
|
|
43
|
+
| 'declined'
|
|
44
|
+
/** a foundation gate skipped the run before the display's own was consulted */
|
|
45
|
+
| 'gated'
|
|
46
|
+
/**
|
|
47
|
+
* The run stopped on something that re-wakes this autorun by itself, so it
|
|
48
|
+
* answers nothing either way — the same deferral `awaitingPrerequisite` gets,
|
|
49
|
+
* reached from inside the foundation rather than declared by the display. The
|
|
50
|
+
* per-region family's in-flight-fetch skip is the case: `reload()` signals the
|
|
51
|
+
* running fetch's stop token but `activeStopToken` clears in `runFetch`'s
|
|
52
|
+
* finally, so the very next run can still see `isLoading` — and that fetch
|
|
53
|
+
* ending bumps `fetchGeneration`, which the autorun tracks. Consuming the bump
|
|
54
|
+
* there would answer the retry with a run that predates it.
|
|
55
|
+
*/
|
|
56
|
+
| 'deferred';
|
|
57
|
+
interface RetryContractHost {
|
|
58
|
+
reloadCounter: number;
|
|
59
|
+
fetchInert: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Optional: the comparative family has no two-stage fetch, so nothing there
|
|
62
|
+
* declares it. A family that grows one declares it and gets the deferral.
|
|
63
|
+
*/
|
|
64
|
+
awaitingPrerequisite?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Optional for the same reason: it is the LGV foundations' term for a view
|
|
67
|
+
* holding no content block, and a comparative display draws onto a shared
|
|
68
|
+
* surface that has no such state.
|
|
69
|
+
*/
|
|
70
|
+
viewportEmpty?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/** Called by `FetchMixin.runFetch`. Dev-only. */
|
|
73
|
+
export declare function noteFetchStarted(self: object): void;
|
|
74
|
+
/** Reads and clears the flag above, so each check starts from a known state. */
|
|
75
|
+
export declare function takeFetchStarted(self: object): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Dev-only check that a display's `reload()` can actually reach a fetch — the
|
|
78
|
+
* retry contract, which `DisplayErrorBar` depends on and which no type can
|
|
79
|
+
* state. No-op in production.
|
|
80
|
+
*
|
|
81
|
+
* **The button is the contract.** `DisplayErrorBar`'s only action is
|
|
82
|
+
* `model.reload()`, so every state that can raise the error bar has to be one
|
|
83
|
+
* `reload()` actually undoes; otherwise the button is present, looks live, and
|
|
84
|
+
* does nothing. It has failed three times, and the shape this catches is the one
|
|
85
|
+
* that recurs on its own: a gate that goes shut the moment data lands.
|
|
86
|
+
* `GlobalFetchMixin.reload()` clears the error and bumps `reloadCounter`,
|
|
87
|
+
* `installGlobalFetchAutorun` reads that counter unconditionally so the autorun
|
|
88
|
+
* re-runs — and then the gate declines, because from its point of view nothing
|
|
89
|
+
* has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
|
|
90
|
+
* with the error clearing on click and no arcs ever coming back. The fix this
|
|
91
|
+
* message asks for is what `GlobalFetchMixin.reload()` now does for that whole
|
|
92
|
+
* family — drop `loadedFetchSignature`, so `dataCurrent` goes false and the
|
|
93
|
+
* gate opens.
|
|
94
|
+
*
|
|
95
|
+
* Detected at the moment it happens rather than statically, because the relation
|
|
96
|
+
* between `reload()` and the gate is semantic: a run that follows a
|
|
97
|
+
* `reloadCounter` bump and declines to fetch IS the dead button.
|
|
98
|
+
*
|
|
99
|
+
* **The bump is the only thing that arms this**, so a `reload()` override that
|
|
100
|
+
* neither bumps nor chains to super turns the whole check off for its display —
|
|
101
|
+
* silently, and for as long as nobody reads the override. Canvas shipped in that
|
|
102
|
+
* shape, which is two of the most-used displays in the product. What watches for
|
|
103
|
+
* the next one is `MultiRegionDisplayMixin`'s `reloadReachesCounter.test.ts`,
|
|
104
|
+
* which reads every `reload()` in the tree.
|
|
105
|
+
*
|
|
106
|
+
* **Both fetch foundations install it**, and what counts as the gate differs.
|
|
107
|
+
* The global family's `prepare()` returns the fetch's args or `undefined`, so
|
|
108
|
+
* its run classifies itself. The per-region family's gate is block coverage — a
|
|
109
|
+
* `reload()` that invalidates nothing leaves `needed` empty — plus the
|
|
110
|
+
* `fetchNeeded` override, which can decline inside an async body the foundation
|
|
111
|
+
* cannot read a return value from. So `MultiRegionDisplayMixin` classifies on
|
|
112
|
+
* whether the override reached `runFetch`, which every one of the nine does in
|
|
113
|
+
* its synchronous prefix. An override that awaits before fetching would read as a
|
|
114
|
+
* decline; there is no such override, and one added later gets a false report
|
|
115
|
+
* rather than a silent gap, which is the right way round.
|
|
116
|
+
*
|
|
117
|
+
* **A fetch also answers the retry on its own** (`noteFetchStarted`), because
|
|
118
|
+
* `reload()` may reach one without an autorun run in between: canvas's clears and
|
|
119
|
+
* calls `fetchNeeded` directly rather than waiting out the 600ms debounce, and
|
|
120
|
+
* the autorun's next run then finds the blocks covered.
|
|
121
|
+
*
|
|
122
|
+
* A display deliberately not fetching at all is the one exempt decline — LD with
|
|
123
|
+
* the triangle off, whose `reload()` correctly does nothing because there is
|
|
124
|
+
* nothing to load. That is already a named state: `fetchInert`, which the
|
|
125
|
+
* loading scrim reads for the same reason, so the exemption is not a second
|
|
126
|
+
* thing to remember. A display that suppresses the scrim and still wants the
|
|
127
|
+
* retry checked has the two questions genuinely apart and should say so here.
|
|
128
|
+
*
|
|
129
|
+
* `viewportEmpty` is the second exemption and the same shape once more, reached
|
|
130
|
+
* from the view rather than declared by the display: with no content block on
|
|
131
|
+
* screen there is no region to ask for, so every display in that view declines
|
|
132
|
+
* and every one of their Retry buttons is inert *because the viewport is*, not
|
|
133
|
+
* because a `reload()` forgot to invalidate anything. Reporting there would be
|
|
134
|
+
* true and useless — the fix the message names does not exist — and it would
|
|
135
|
+
* fire on every display at once, which is how a check stops being read. Same
|
|
136
|
+
* term the scrim, the export gate and `painted` read, so this is the fourth
|
|
137
|
+
* reader of one answer rather than a rule of its own.
|
|
138
|
+
*
|
|
139
|
+
* `awaitingPrerequisite` is not a second exemption — it is a *deferral*, and the
|
|
140
|
+
* difference is the point. A two-stage `reload()` bumps the counter, wakes a
|
|
141
|
+
* prerequisite fetch in another autorun, and declines here only until that
|
|
142
|
+
* lands. HiC is the case: the contacts autorun runs first and declines because
|
|
143
|
+
* `effectiveResolution` is still undefined, and the header arriving a moment
|
|
144
|
+
* later wakes it again through the tracked read that declined. So the bump is
|
|
145
|
+
* left outstanding instead of consumed, and the run after the prerequisite
|
|
146
|
+
* lands is the one that has to reach a fetch — if it declines too, the report
|
|
147
|
+
* lands then. A display cannot spend its retry on a decline it called
|
|
148
|
+
* preliminary, which is what an exemption here would have let it do.
|
|
149
|
+
* `fetchInert` is the wrong thing for HiC to say in any case, because it
|
|
150
|
+
* does want the scrim while the header is re-read.
|
|
151
|
+
*
|
|
152
|
+
* Both flags are read off the node, and both are declared once on `FetchMixin`
|
|
153
|
+
* — the one mixin all three display foundations compose. Neither foundation
|
|
154
|
+
* passes them in: the global family's three phases are autorun options because
|
|
155
|
+
* that is what they are, and these two are properties of the
|
|
156
|
+
* display, which is why an earlier arrangement that made this one an option
|
|
157
|
+
* there and a getter on the per-region mixin had one concept in two spellings.
|
|
158
|
+
*
|
|
159
|
+
* **The predicate has to be strictly narrower than the gate's own decline to be
|
|
160
|
+
* a deferral at all.** One that restates the gate's negation makes every decline a
|
|
161
|
+
* deferred one, so no run is ever judged and the display has opted out — an
|
|
162
|
+
* exemption by another name. HiC's is that shape, because its gate and its
|
|
163
|
+
* prerequisite are the same condition, and what covers HiC's retry instead is
|
|
164
|
+
* `LinearHicDisplay/infoFetchFailure.test.ts`. Say so at any call site that
|
|
165
|
+
* lands there, and pick a narrower predicate wherever one exists.
|
|
166
|
+
*
|
|
167
|
+
* **Everything it reads is `untracked`.** It runs inside the fetch autorun, so a
|
|
168
|
+
* tracked read of `fetchInert` — or of whatever `awaitingPrerequisite`
|
|
169
|
+
* reaches — would put that observable in the autorun's dependency set in dev and
|
|
170
|
+
* not in production, a display whose fetch re-fires only in development, which
|
|
171
|
+
* is worse than the bug being checked for.
|
|
172
|
+
*/
|
|
173
|
+
export declare function makeRetryContractCheck(self: IAnyStateTreeNode & RetryContractHost): (outcome: FetchAutorunOutcome) => void;
|
|
174
|
+
export {};
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { getMembers } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { untracked } from 'mobx';
|
|
3
|
+
// Nodes whose fetch foundation has already installed its autoruns. Keyed on the
|
|
4
|
+
// node rather than the model type: every display of a type would otherwise
|
|
5
|
+
// report from the second instance onward.
|
|
6
|
+
const attached = new WeakSet();
|
|
7
|
+
function report(message) {
|
|
8
|
+
// `console.error`, never `throw`: an error escaping `afterAttach` is read by
|
|
9
|
+
// the session loader as an invalid track and the display is silently dropped
|
|
10
|
+
// — which would hide the very contract violation this is reporting.
|
|
11
|
+
console.error(`[jbrowse display contract] ${message}`);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Dev-only check that a display's fetch foundation attached it exactly once —
|
|
15
|
+
* the one ordering contract here that is a *state* rather than a declaration,
|
|
16
|
+
* so no selector can reach it. No-op in production.
|
|
17
|
+
*
|
|
18
|
+
* Called once per display from **whichever fetch foundation installed its
|
|
19
|
+
* autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
|
|
20
|
+
* family, `installGlobalFetchAutorun` for the global one,
|
|
21
|
+
* `installComparativeFetchAutorun` for the comparative one. Landing here twice
|
|
22
|
+
* for one node means every autorun that foundation installs is installed twice:
|
|
23
|
+
* double fetches, double clears, and nothing anywhere says so.
|
|
24
|
+
*
|
|
25
|
+
* The named cause is a display that chains to `super` in its own `afterAttach`
|
|
26
|
+
* — our MST fork auto-chains lifecycle hooks, so the explicit call re-enters the
|
|
27
|
+
* foundation's hook. **That cause is a declaration and could be a lint selector;
|
|
28
|
+
* this check is not, because it is not the only cause**: composing two fetch
|
|
29
|
+
* foundations onto one display, or calling an installer from a display that
|
|
30
|
+
* already composes the mixin, arrives here the same way, through a composition
|
|
31
|
+
* assembled across files that no single one of them spells out. So the message
|
|
32
|
+
* leads with the common cause and then describes the state, not the syntax.
|
|
33
|
+
*
|
|
34
|
+
* `installedBy` names the caller so the message can describe the right thing;
|
|
35
|
+
* the WeakSet is shared, which is correct — a display composes one fetch
|
|
36
|
+
* foundation, so reaching here twice is the bug regardless of which.
|
|
37
|
+
*
|
|
38
|
+
* ARCHITECTURAL_LIMITS.md §"Ordering is the contract" is the authoritative
|
|
39
|
+
* account of which contracts report themselves at runtime, which are lint
|
|
40
|
+
* selectors and which are still silent; don't restate the split here, because
|
|
41
|
+
* this comment said "four places" against a heading that said five and a list
|
|
42
|
+
* that held six.
|
|
43
|
+
*
|
|
44
|
+
* Every message names the fix, not just the symptom — the failure modes here
|
|
45
|
+
* cost hours precisely because the symptom (a wedged display, a stale cache)
|
|
46
|
+
* points nowhere near the cause.
|
|
47
|
+
*/
|
|
48
|
+
export function assertDisplayContract(self, installedBy = "the per-region fetch foundation's afterAttach") {
|
|
49
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
50
|
+
if (attached.has(self)) {
|
|
51
|
+
report(`${getMembers(self).name}: ${installedBy} ran twice on one display, ` +
|
|
52
|
+
`so its fetch autoruns are installed twice (double fetches, double ` +
|
|
53
|
+
`clears). Our MST fork auto-chains lifecycle hooks, so the usual ` +
|
|
54
|
+
`cause is a superAfterAttach() call in this display's afterAttach — ` +
|
|
55
|
+
`delete it. Otherwise this display composes two fetch foundations, ` +
|
|
56
|
+
`or calls an installer it already gets from a mixin. ` +
|
|
57
|
+
`See agent-docs/ARCHITECTURE.md §"What not to do".`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
attached.add(self);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Displays whose fetch has started since the last time the caller looked, and
|
|
65
|
+
// the ledger each of those nodes reports to. Both module-scope and keyed on the
|
|
66
|
+
// node for the same reason `attached` above is: the state is per display
|
|
67
|
+
// *instance*, and the code that needs it — `FetchMixin.runFetch`, a `.actions()`
|
|
68
|
+
// block, an `afterAttach` — cannot share a closure, because a mixin factory runs
|
|
69
|
+
// once per model type.
|
|
70
|
+
//
|
|
71
|
+
// The signal is `FetchMixin.runFetch`, the one place a fetch starts in every
|
|
72
|
+
// family, reached in the synchronous prefix of every one of the nine
|
|
73
|
+
// `fetchNeeded` overrides (directly, or through `fetchEachRegion` /
|
|
74
|
+
// `fetchAllRegions` / `fetchRegions`). The per-region foundation needs it because
|
|
75
|
+
// its gate is not a boolean it can read: `fetchNeeded` is an async action that
|
|
76
|
+
// returns the fetch's promise, and an override declines by returning early, which
|
|
77
|
+
// is indistinguishable from returning the promise of a fetch that has started.
|
|
78
|
+
//
|
|
79
|
+
// **A fetch answers an outstanding retry wherever `reload()` reached it from**,
|
|
80
|
+
// which is why `noteFetchStarted` tells the ledger rather than only setting a
|
|
81
|
+
// flag for the autorun to read. Canvas's `reload()` fetches directly — it clears
|
|
82
|
+
// and calls `fetchNeeded` itself instead of waiting out `FetchVisibleRegions`'
|
|
83
|
+
// 600ms debounce — so by the time that autorun runs, the blocks are covered and
|
|
84
|
+
// the run reads as a decline. Judging only from the autorun reports a dead button
|
|
85
|
+
// on the display with the liveliest one.
|
|
86
|
+
const fetchStarted = new WeakSet();
|
|
87
|
+
const ledgers = new WeakMap();
|
|
88
|
+
/** Called by `FetchMixin.runFetch`. Dev-only. */
|
|
89
|
+
export function noteFetchStarted(self) {
|
|
90
|
+
if (process.env.NODE_ENV === 'production') {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
fetchStarted.add(self);
|
|
94
|
+
ledgers.get(self)?.('fetched');
|
|
95
|
+
}
|
|
96
|
+
/** Reads and clears the flag above, so each check starts from a known state. */
|
|
97
|
+
export function takeFetchStarted(self) {
|
|
98
|
+
return fetchStarted.delete(self);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Dev-only check that a display's `reload()` can actually reach a fetch — the
|
|
102
|
+
* retry contract, which `DisplayErrorBar` depends on and which no type can
|
|
103
|
+
* state. No-op in production.
|
|
104
|
+
*
|
|
105
|
+
* **The button is the contract.** `DisplayErrorBar`'s only action is
|
|
106
|
+
* `model.reload()`, so every state that can raise the error bar has to be one
|
|
107
|
+
* `reload()` actually undoes; otherwise the button is present, looks live, and
|
|
108
|
+
* does nothing. It has failed three times, and the shape this catches is the one
|
|
109
|
+
* that recurs on its own: a gate that goes shut the moment data lands.
|
|
110
|
+
* `GlobalFetchMixin.reload()` clears the error and bumps `reloadCounter`,
|
|
111
|
+
* `installGlobalFetchAutorun` reads that counter unconditionally so the autorun
|
|
112
|
+
* re-runs — and then the gate declines, because from its point of view nothing
|
|
113
|
+
* has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
|
|
114
|
+
* with the error clearing on click and no arcs ever coming back. The fix this
|
|
115
|
+
* message asks for is what `GlobalFetchMixin.reload()` now does for that whole
|
|
116
|
+
* family — drop `loadedFetchSignature`, so `dataCurrent` goes false and the
|
|
117
|
+
* gate opens.
|
|
118
|
+
*
|
|
119
|
+
* Detected at the moment it happens rather than statically, because the relation
|
|
120
|
+
* between `reload()` and the gate is semantic: a run that follows a
|
|
121
|
+
* `reloadCounter` bump and declines to fetch IS the dead button.
|
|
122
|
+
*
|
|
123
|
+
* **The bump is the only thing that arms this**, so a `reload()` override that
|
|
124
|
+
* neither bumps nor chains to super turns the whole check off for its display —
|
|
125
|
+
* silently, and for as long as nobody reads the override. Canvas shipped in that
|
|
126
|
+
* shape, which is two of the most-used displays in the product. What watches for
|
|
127
|
+
* the next one is `MultiRegionDisplayMixin`'s `reloadReachesCounter.test.ts`,
|
|
128
|
+
* which reads every `reload()` in the tree.
|
|
129
|
+
*
|
|
130
|
+
* **Both fetch foundations install it**, and what counts as the gate differs.
|
|
131
|
+
* The global family's `prepare()` returns the fetch's args or `undefined`, so
|
|
132
|
+
* its run classifies itself. The per-region family's gate is block coverage — a
|
|
133
|
+
* `reload()` that invalidates nothing leaves `needed` empty — plus the
|
|
134
|
+
* `fetchNeeded` override, which can decline inside an async body the foundation
|
|
135
|
+
* cannot read a return value from. So `MultiRegionDisplayMixin` classifies on
|
|
136
|
+
* whether the override reached `runFetch`, which every one of the nine does in
|
|
137
|
+
* its synchronous prefix. An override that awaits before fetching would read as a
|
|
138
|
+
* decline; there is no such override, and one added later gets a false report
|
|
139
|
+
* rather than a silent gap, which is the right way round.
|
|
140
|
+
*
|
|
141
|
+
* **A fetch also answers the retry on its own** (`noteFetchStarted`), because
|
|
142
|
+
* `reload()` may reach one without an autorun run in between: canvas's clears and
|
|
143
|
+
* calls `fetchNeeded` directly rather than waiting out the 600ms debounce, and
|
|
144
|
+
* the autorun's next run then finds the blocks covered.
|
|
145
|
+
*
|
|
146
|
+
* A display deliberately not fetching at all is the one exempt decline — LD with
|
|
147
|
+
* the triangle off, whose `reload()` correctly does nothing because there is
|
|
148
|
+
* nothing to load. That is already a named state: `fetchInert`, which the
|
|
149
|
+
* loading scrim reads for the same reason, so the exemption is not a second
|
|
150
|
+
* thing to remember. A display that suppresses the scrim and still wants the
|
|
151
|
+
* retry checked has the two questions genuinely apart and should say so here.
|
|
152
|
+
*
|
|
153
|
+
* `viewportEmpty` is the second exemption and the same shape once more, reached
|
|
154
|
+
* from the view rather than declared by the display: with no content block on
|
|
155
|
+
* screen there is no region to ask for, so every display in that view declines
|
|
156
|
+
* and every one of their Retry buttons is inert *because the viewport is*, not
|
|
157
|
+
* because a `reload()` forgot to invalidate anything. Reporting there would be
|
|
158
|
+
* true and useless — the fix the message names does not exist — and it would
|
|
159
|
+
* fire on every display at once, which is how a check stops being read. Same
|
|
160
|
+
* term the scrim, the export gate and `painted` read, so this is the fourth
|
|
161
|
+
* reader of one answer rather than a rule of its own.
|
|
162
|
+
*
|
|
163
|
+
* `awaitingPrerequisite` is not a second exemption — it is a *deferral*, and the
|
|
164
|
+
* difference is the point. A two-stage `reload()` bumps the counter, wakes a
|
|
165
|
+
* prerequisite fetch in another autorun, and declines here only until that
|
|
166
|
+
* lands. HiC is the case: the contacts autorun runs first and declines because
|
|
167
|
+
* `effectiveResolution` is still undefined, and the header arriving a moment
|
|
168
|
+
* later wakes it again through the tracked read that declined. So the bump is
|
|
169
|
+
* left outstanding instead of consumed, and the run after the prerequisite
|
|
170
|
+
* lands is the one that has to reach a fetch — if it declines too, the report
|
|
171
|
+
* lands then. A display cannot spend its retry on a decline it called
|
|
172
|
+
* preliminary, which is what an exemption here would have let it do.
|
|
173
|
+
* `fetchInert` is the wrong thing for HiC to say in any case, because it
|
|
174
|
+
* does want the scrim while the header is re-read.
|
|
175
|
+
*
|
|
176
|
+
* Both flags are read off the node, and both are declared once on `FetchMixin`
|
|
177
|
+
* — the one mixin all three display foundations compose. Neither foundation
|
|
178
|
+
* passes them in: the global family's three phases are autorun options because
|
|
179
|
+
* that is what they are, and these two are properties of the
|
|
180
|
+
* display, which is why an earlier arrangement that made this one an option
|
|
181
|
+
* there and a getter on the per-region mixin had one concept in two spellings.
|
|
182
|
+
*
|
|
183
|
+
* **The predicate has to be strictly narrower than the gate's own decline to be
|
|
184
|
+
* a deferral at all.** One that restates the gate's negation makes every decline a
|
|
185
|
+
* deferred one, so no run is ever judged and the display has opted out — an
|
|
186
|
+
* exemption by another name. HiC's is that shape, because its gate and its
|
|
187
|
+
* prerequisite are the same condition, and what covers HiC's retry instead is
|
|
188
|
+
* `LinearHicDisplay/infoFetchFailure.test.ts`. Say so at any call site that
|
|
189
|
+
* lands there, and pick a narrower predicate wherever one exists.
|
|
190
|
+
*
|
|
191
|
+
* **Everything it reads is `untracked`.** It runs inside the fetch autorun, so a
|
|
192
|
+
* tracked read of `fetchInert` — or of whatever `awaitingPrerequisite`
|
|
193
|
+
* reaches — would put that observable in the autorun's dependency set in dev and
|
|
194
|
+
* not in production, a display whose fetch re-fires only in development, which
|
|
195
|
+
* is worse than the bug being checked for.
|
|
196
|
+
*/
|
|
197
|
+
export function makeRetryContractCheck(self) {
|
|
198
|
+
if (process.env.NODE_ENV === 'production') {
|
|
199
|
+
return () => { };
|
|
200
|
+
}
|
|
201
|
+
// eslint-disable-next-line no-restricted-syntax -- instrumentation
|
|
202
|
+
let lastCounter = untracked(() => self.reloadCounter);
|
|
203
|
+
function noteRetryContractOutcome(outcome) {
|
|
204
|
+
// eslint-disable-next-line no-restricted-syntax -- instrumentation
|
|
205
|
+
untracked(() => {
|
|
206
|
+
// A decline while a prerequisite is still in flight is a stage of the
|
|
207
|
+
// retry, so the bump stays OUTSTANDING rather than being either reported
|
|
208
|
+
// or forgotten — the run that follows the prerequisite landing is the one
|
|
209
|
+
// that answers it, and if that run declines too the report lands then.
|
|
210
|
+
// Deferring rather than exempting is what keeps the check's teeth here: a
|
|
211
|
+
// display cannot spend its retry on a decline it called preliminary.
|
|
212
|
+
if (outcome === 'deferred') {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (outcome === 'declined' && self.awaitingPrerequisite) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const retried = self.reloadCounter !== lastCounter;
|
|
219
|
+
// Consumed on every other outcome, `gated` included: a run the byte gate
|
|
220
|
+
// skipped answers the retry legitimately (that banner offers Force load,
|
|
221
|
+
// not Retry), and leaving the bump unconsumed would report against
|
|
222
|
+
// whichever unrelated run cleared the gate later.
|
|
223
|
+
lastCounter = self.reloadCounter;
|
|
224
|
+
if (retried &&
|
|
225
|
+
outcome === 'declined' &&
|
|
226
|
+
!self.fetchInert &&
|
|
227
|
+
!self.viewportEmpty) {
|
|
228
|
+
report(`${getMembers(self).name}: reload() bumped reloadCounter but the ` +
|
|
229
|
+
`fetch autorun's gate still declines, so Retry is a dead ` +
|
|
230
|
+
`button — it clears the error and nothing refetches. reload() has ` +
|
|
231
|
+
`to invalidate whatever that gate reads, not just bump the ` +
|
|
232
|
+
`counter (GlobalFetchMixin.reload drops loadedFetchSignature so ` +
|
|
233
|
+
`dataCurrent goes false). If this display is deliberately not ` +
|
|
234
|
+
`fetching, say so with fetchInert — the loading scrim and the SVG ` +
|
|
235
|
+
`export read it too; if this run declined only because a ` +
|
|
236
|
+
`prerequisite fetch in another autorun has not landed, say so with ` +
|
|
237
|
+
`awaitingPrerequisite and the retry is judged on the run after ` +
|
|
238
|
+
`it does. See DISPLAYCHROME.md §"The retry contract".`);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
// So `noteFetchStarted` can answer an outstanding retry the moment a fetch
|
|
243
|
+
// begins, whether or not an autorun run is what began it.
|
|
244
|
+
ledgers.set(self, noteRetryContractOutcome);
|
|
245
|
+
return noteRetryContractOutcome;
|
|
246
|
+
}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import type { Instance } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
/**
|
|
3
|
+
* #config BaseConnection
|
|
4
|
+
* #gotcha A connection config is only a pointer: the hub's track list is
|
|
5
|
+
* fetched when the connection loads and held in memory, and is **not** written
|
|
6
|
+
* into a saved or shared session. Only a track you actually open is stored
|
|
7
|
+
* (under `connectionTrackConfigs`, keyed by `trackId`), which is what keeps a
|
|
8
|
+
* shared session small even against a very large hub.
|
|
9
|
+
*/
|
|
2
10
|
declare const BaseConnectionConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
11
|
+
/**
|
|
12
|
+
* #slot
|
|
13
|
+
*/
|
|
14
|
+
readonly name: {
|
|
15
|
+
readonly type: "string";
|
|
16
|
+
readonly defaultValue: "nameOfConnection";
|
|
17
|
+
readonly description: "a unique name for this connection";
|
|
7
18
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
19
|
+
/**
|
|
20
|
+
* #slot
|
|
21
|
+
*/
|
|
22
|
+
readonly assemblyNames: {
|
|
23
|
+
readonly type: "stringArray";
|
|
24
|
+
readonly defaultValue: readonly [];
|
|
25
|
+
readonly description: "optional list of names of assemblies in this connection";
|
|
12
26
|
};
|
|
13
27
|
}, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "connectionId">>;
|
|
14
28
|
export default BaseConnectionConfig;
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
import { ConfigurationSchema } from
|
|
2
|
-
|
|
1
|
+
import { ConfigurationSchema } from '../../configuration/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* #config BaseConnection
|
|
4
|
+
* #gotcha A connection config is only a pointer: the hub's track list is
|
|
5
|
+
* fetched when the connection loads and held in memory, and is **not** written
|
|
6
|
+
* into a saved or shared session. Only a track you actually open is stored
|
|
7
|
+
* (under `connectionTrackConfigs`, keyed by `trackId`), which is what keeps a
|
|
8
|
+
* shared session small even against a very large hub.
|
|
9
|
+
*/
|
|
3
10
|
const BaseConnectionConfig = ConfigurationSchema('BaseConnection', {
|
|
11
|
+
/**
|
|
12
|
+
* #slot
|
|
13
|
+
*/
|
|
4
14
|
name: {
|
|
5
15
|
type: 'string',
|
|
6
16
|
defaultValue: 'nameOfConnection',
|
|
7
17
|
description: 'a unique name for this connection',
|
|
8
18
|
},
|
|
19
|
+
/**
|
|
20
|
+
* #slot
|
|
21
|
+
*/
|
|
9
22
|
assemblyNames: {
|
|
10
23
|
type: 'stringArray',
|
|
11
24
|
defaultValue: [],
|
|
@@ -13,6 +26,9 @@ const BaseConnectionConfig = ConfigurationSchema('BaseConnection', {
|
|
|
13
26
|
},
|
|
14
27
|
}, {
|
|
15
28
|
explicitlyTyped: true,
|
|
29
|
+
/**
|
|
30
|
+
* #identifier
|
|
31
|
+
*/
|
|
16
32
|
explicitIdentifier: 'connectionId',
|
|
17
33
|
});
|
|
18
34
|
export default BaseConnectionConfig;
|
|
@@ -1,27 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #config BaseInternetAccount
|
|
3
|
+
* the "base" internet account type
|
|
4
|
+
*/
|
|
1
5
|
export declare const BaseInternetAccountConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* #slot
|
|
8
|
+
*/
|
|
9
|
+
readonly name: {
|
|
10
|
+
readonly description: "descriptive name of the internet account";
|
|
11
|
+
readonly type: "string";
|
|
12
|
+
readonly defaultValue: "";
|
|
6
13
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* #slot
|
|
16
|
+
*/
|
|
17
|
+
readonly description: {
|
|
18
|
+
readonly description: "a description of the internet account";
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly defaultValue: "";
|
|
11
21
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
/**
|
|
23
|
+
* #slot
|
|
24
|
+
*/
|
|
25
|
+
readonly authHeader: {
|
|
26
|
+
readonly description: "request header for credentials";
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly defaultValue: "Authorization";
|
|
16
29
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
30
|
+
/**
|
|
31
|
+
* #slot
|
|
32
|
+
*/
|
|
33
|
+
readonly tokenType: {
|
|
34
|
+
readonly description: "a custom name for a token to include in the header";
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
readonly defaultValue: "";
|
|
21
37
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
38
|
+
/**
|
|
39
|
+
* #slot
|
|
40
|
+
*/
|
|
41
|
+
readonly domains: {
|
|
42
|
+
readonly description: "array of valid domains the url can contain to use this account";
|
|
43
|
+
readonly type: "stringArray";
|
|
44
|
+
readonly defaultValue: readonly [];
|
|
26
45
|
};
|
|
27
46
|
}, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "internetAccountId">>;
|
|
@@ -1,32 +1,53 @@
|
|
|
1
|
-
import { ConfigurationSchema } from
|
|
2
|
-
|
|
1
|
+
import { ConfigurationSchema } from '../../configuration/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* #config BaseInternetAccount
|
|
4
|
+
* the "base" internet account type
|
|
5
|
+
*/
|
|
3
6
|
export const BaseInternetAccountConfig = ConfigurationSchema('InternetAccount', {
|
|
7
|
+
/**
|
|
8
|
+
* #slot
|
|
9
|
+
*/
|
|
4
10
|
name: {
|
|
5
11
|
description: 'descriptive name of the internet account',
|
|
6
12
|
type: 'string',
|
|
7
13
|
defaultValue: '',
|
|
8
14
|
},
|
|
15
|
+
/**
|
|
16
|
+
* #slot
|
|
17
|
+
*/
|
|
9
18
|
description: {
|
|
10
19
|
description: 'a description of the internet account',
|
|
11
20
|
type: 'string',
|
|
12
21
|
defaultValue: '',
|
|
13
22
|
},
|
|
23
|
+
/**
|
|
24
|
+
* #slot
|
|
25
|
+
*/
|
|
14
26
|
authHeader: {
|
|
15
27
|
description: 'request header for credentials',
|
|
16
28
|
type: 'string',
|
|
17
29
|
defaultValue: 'Authorization',
|
|
18
30
|
},
|
|
31
|
+
/**
|
|
32
|
+
* #slot
|
|
33
|
+
*/
|
|
19
34
|
tokenType: {
|
|
20
35
|
description: 'a custom name for a token to include in the header',
|
|
21
36
|
type: 'string',
|
|
22
37
|
defaultValue: '',
|
|
23
38
|
},
|
|
39
|
+
/**
|
|
40
|
+
* #slot
|
|
41
|
+
*/
|
|
24
42
|
domains: {
|
|
25
43
|
description: 'array of valid domains the url can contain to use this account',
|
|
26
44
|
type: 'stringArray',
|
|
27
45
|
defaultValue: [],
|
|
28
46
|
},
|
|
29
47
|
}, {
|
|
48
|
+
/**
|
|
49
|
+
* #identifier
|
|
50
|
+
*/
|
|
30
51
|
explicitIdentifier: 'internetAccountId',
|
|
31
52
|
explicitlyTyped: true,
|
|
32
53
|
});
|