@jbrowse/core 4.3.0 → 5.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +822 -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 +41 -40
- package/esm/PluginLoader.js +206 -78
- package/esm/PluginManager.d.ts +421 -55
- package/esm/PluginManager.js +461 -89
- 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 +62 -93
- 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/ReExports/sharedModules.d.ts +96 -0
- package/esm/ReExports/sharedModules.js +59 -0
- package/esm/ReExports/uiStub.d.ts +1 -0
- package/esm/ReExports/uiStub.js +13 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +10 -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 +122 -20
- package/esm/configuration/configurationSchema.js +374 -140
- 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 +332 -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 +132 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +136 -25
- 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/featureDensity.d.ts +29 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +17 -0
- 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 +7 -4
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
- package/esm/data_adapters/BaseAdapter/stats.js +89 -24
- package/esm/data_adapters/BaseAdapter/types.d.ts +11 -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 +19 -10
- package/esm/pluggableElementTypes/DisplayType.js +53 -5
- 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 +27 -3
- package/esm/pluggableElementTypes/ViewType.js +84 -4
- 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 +73 -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 +646 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +241 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +216 -35
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +365 -83
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +216 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +150 -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 +177 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -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 +275 -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 +58 -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 +3 -5
- package/esm/rpc/coreRpcMethods.js +10 -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/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- 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 +137 -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 +390 -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 +23 -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 +134 -5
- package/esm/ui/MenuTypes.js +16 -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 +92 -0
- package/esm/ui/PaletteContext.js +133 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +85 -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 -47
- 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 +42 -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 +91 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +88 -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 +42 -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 +27 -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/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 +55 -0
- package/esm/util/cacheBudgets.js +55 -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 +118 -0
- package/esm/util/createStopTokenRotation.js +127 -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 +168 -0
- package/esm/util/hooks.js +443 -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 +81 -268
- package/esm/util/index.js +135 -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 +220 -0
- package/esm/util/installFetch.js +206 -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/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +50 -0
- package/esm/util/legendCandidates.js +87 -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 +100 -0
- package/esm/util/mstUtils.js +140 -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 +114 -0
- package/esm/util/pluginStore.js +260 -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 +46 -1
- package/esm/util/range.js +68 -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 +30 -1
- package/esm/util/rxjs.js +88 -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 +126 -0
- package/esm/util/tabix.js +149 -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 +398 -30
- package/esm/util/tracks.js +699 -191
- 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 +402 -120
- package/esm/util/types/index.js +90 -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/unknownSnapshotKeys.d.ts +36 -0
- package/esm/util/unknownSnapshotKeys.js +69 -0
- 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 +81 -0
- package/esm/util/viewStatus.js +37 -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 +40 -0
- package/esm/util/whenViewSettled.js +41 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +123 -0
- package/esm/util/withLaunchInput.js +228 -0
- package/package.json +243 -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
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import idMaker from '../util/idMaker.js';
|
|
2
|
+
export function adapterConfigCacheKey(conf = {}) {
|
|
3
|
+
const { adapterId } = conf;
|
|
4
|
+
return typeof adapterId === 'string' && adapterId ? adapterId : idMaker(conf);
|
|
5
|
+
}
|
|
6
|
+
// Pruned by storeWithEvict (rejections) and by freeAdapterResources, which the
|
|
7
|
+
// CoreFreeResources RPC reaches when the last track holding an adapter config is
|
|
8
|
+
// closed (releaseAdapterSession). There is still no size bound: an adapter
|
|
9
|
+
// whose track stays open lives as long as its worker, by design.
|
|
2
10
|
let adapterCache = {};
|
|
11
|
+
/** stores a promise in the cache and auto-evicts if it rejects */
|
|
12
|
+
function storeWithEvict(key, p) {
|
|
13
|
+
p.catch(() => {
|
|
14
|
+
delete adapterCache[key];
|
|
15
|
+
});
|
|
16
|
+
adapterCache[key] = p;
|
|
17
|
+
return p;
|
|
18
|
+
}
|
|
3
19
|
async function getAdapterPre(pluginManager, sessionId, adapterConfigSnapshot) {
|
|
4
20
|
const adapterType = adapterConfigSnapshot?.type;
|
|
5
21
|
if (!adapterType) {
|
|
6
22
|
throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(adapterConfigSnapshot)}`);
|
|
7
23
|
}
|
|
8
24
|
const dataAdapterType = pluginManager.getAdapterType(adapterType);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
25
|
+
// instantiate the data adapter's config schema so it gets its defaults,
|
|
26
|
+
// callbacks, etc
|
|
12
27
|
const adapterConfig = dataAdapterType.configSchema.create(adapterConfigSnapshot, { pluginManager });
|
|
13
|
-
const getSubAdapter = getAdapter
|
|
28
|
+
const getSubAdapter = conf => getAdapter(pluginManager, sessionId, conf);
|
|
14
29
|
const CLASS = await dataAdapterType.getAdapterClass();
|
|
15
30
|
const dataAdapter = new CLASS(adapterConfig, getSubAdapter, pluginManager);
|
|
16
31
|
return {
|
|
@@ -18,34 +33,59 @@ async function getAdapterPre(pluginManager, sessionId, adapterConfigSnapshot) {
|
|
|
18
33
|
sessionIds: new Set([sessionId]),
|
|
19
34
|
};
|
|
20
35
|
}
|
|
21
|
-
|
|
36
|
+
/** look up the cached entry for a config, creating and storing it if absent */
|
|
37
|
+
function getOrCreateEntry(pluginManager, sessionId, adapterConfigSnapshot) {
|
|
22
38
|
const cacheKey = adapterConfigCacheKey(adapterConfigSnapshot);
|
|
23
|
-
adapterCache[cacheKey]
|
|
24
|
-
|
|
39
|
+
return (adapterCache[cacheKey] ??
|
|
40
|
+
storeWithEvict(cacheKey, getAdapterPre(pluginManager, sessionId, adapterConfigSnapshot)));
|
|
41
|
+
}
|
|
42
|
+
/** instantiate a data adapter, or return a cached one with the same config */
|
|
43
|
+
export async function getAdapter(pluginManager, sessionId, adapterConfigSnapshot) {
|
|
44
|
+
const ret = await getOrCreateEntry(pluginManager, sessionId, adapterConfigSnapshot);
|
|
25
45
|
ret.sessionIds.add(sessionId);
|
|
26
46
|
return ret;
|
|
27
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Drop this session's claim on every cached adapter, and evict the ones no
|
|
50
|
+
* other session still claims. Reached from the CoreFreeResources RPC when the
|
|
51
|
+
* last track using an adapter config closes.
|
|
52
|
+
*
|
|
53
|
+
* Deleting the key is the whole reclamation: the cache is the only strong
|
|
54
|
+
* reference to an adapter, so once it goes the instance and everything it holds
|
|
55
|
+
* — a whole parsed GFF3, a BAM chunk cache — become unreachable and are
|
|
56
|
+
* collected normally. There is nothing to free by hand.
|
|
57
|
+
*
|
|
58
|
+
* "Collected normally" is not the same as "collected now", and for the indexed
|
|
59
|
+
* adapters it is not even soon. @gmod/bam, @gmod/cram and @gmod/tabix each hold
|
|
60
|
+
* their parsed chunks in a SharedReadCache that sweeps itself on a setInterval,
|
|
61
|
+
* and a pending timer is a GC root — so the instance stays reachable through its
|
|
62
|
+
* own sweep timer until that sweep empties the cache and stops itself, three
|
|
63
|
+
* minutes later. Measured: closing a panned alignments track reclaims nothing at
|
|
64
|
+
* the time it happens, and the worker falls from 296 MB to 7 MB four minutes on.
|
|
65
|
+
* Deleting the key is still the only thing to do here; just don't read a heap
|
|
66
|
+
* immediately after a close and conclude this did nothing.
|
|
67
|
+
*
|
|
68
|
+
* The refcount is what makes this safe to call on any track close: an adapter
|
|
69
|
+
* pulled in as a sub-adapter carries its parent's sessionId (getSubAdapter
|
|
70
|
+
* passes it straight through), so a sequence adapter shared by two alignments
|
|
71
|
+
* tracks survives either one of them closing.
|
|
72
|
+
*/
|
|
28
73
|
export async function freeAdapterResources(args) {
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
31
|
-
|
|
32
|
-
|
|
74
|
+
const { sessionId } = args;
|
|
75
|
+
if (!sessionId) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
for (const [cacheKey, cacheEntryP] of Object.entries(adapterCache)) {
|
|
79
|
+
try {
|
|
33
80
|
const cacheEntry = await cacheEntryP;
|
|
34
81
|
cacheEntry.sessionIds.delete(sessionId);
|
|
35
82
|
if (cacheEntry.sessionIds.size === 0) {
|
|
36
83
|
delete adapterCache[cacheKey];
|
|
37
84
|
}
|
|
38
85
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const cacheEntry = await cacheEntryP;
|
|
43
|
-
const regions = args.regions || (args.region ? [args.region] : []);
|
|
44
|
-
for (const region of regions) {
|
|
45
|
-
if (region.refName !== undefined) {
|
|
46
|
-
cacheEntry.dataAdapter.freeResources(region);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
console.error(`dataAdapterCache: evicting failed adapter "${cacheKey}"`, e);
|
|
88
|
+
delete adapterCache[cacheKey];
|
|
49
89
|
}
|
|
50
90
|
}
|
|
51
91
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type PluginManager from '../PluginManager.ts';
|
|
2
|
+
import type { BaseFeatureDataAdapter } from './BaseAdapter/index.ts';
|
|
3
|
+
export interface GetFeatureAdapterArgs {
|
|
4
|
+
pluginManager: PluginManager;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
adapterConfig: Record<string, unknown>;
|
|
7
|
+
sequenceAdapter?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a feature data adapter and prime its reference-sequence adapter
|
|
11
|
+
* config in one step — the single resolution path for every RPC that reads
|
|
12
|
+
* features. Returns undefined when the config resolves to a non-feature
|
|
13
|
+
* adapter, so callers that can degrade (e.g. getRefNames → []) decide how; use
|
|
14
|
+
* {@link getFeatureAdapterOrThrow} when a feature adapter is required.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getFeatureAdapter({ pluginManager, sessionId, adapterConfig, sequenceAdapter, }: GetFeatureAdapterArgs): Promise<BaseFeatureDataAdapter | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* {@link getFeatureAdapter} for the common case where the RPC cannot proceed
|
|
19
|
+
* without a feature adapter: throws a clear error instead of returning
|
|
20
|
+
* undefined, so callers get a definite type and no cast.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getFeatureAdapterOrThrow(args: GetFeatureAdapterArgs): Promise<BaseFeatureDataAdapter>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isFeatureAdapter } from './BaseAdapter/index.js';
|
|
2
|
+
import { getAdapter } from './dataAdapterCache.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a feature data adapter and prime its reference-sequence adapter
|
|
5
|
+
* config in one step — the single resolution path for every RPC that reads
|
|
6
|
+
* features. Returns undefined when the config resolves to a non-feature
|
|
7
|
+
* adapter, so callers that can degrade (e.g. getRefNames → []) decide how; use
|
|
8
|
+
* {@link getFeatureAdapterOrThrow} when a feature adapter is required.
|
|
9
|
+
*/
|
|
10
|
+
export async function getFeatureAdapter({ pluginManager, sessionId, adapterConfig, sequenceAdapter, }) {
|
|
11
|
+
const { dataAdapter } = await getAdapter(pluginManager, sessionId, adapterConfig);
|
|
12
|
+
const featureAdapter = isFeatureAdapter(dataAdapter) ? dataAdapter : undefined;
|
|
13
|
+
featureAdapter?.setSequenceAdapterConfig(sequenceAdapter);
|
|
14
|
+
return featureAdapter;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* {@link getFeatureAdapter} for the common case where the RPC cannot proceed
|
|
18
|
+
* without a feature adapter: throws a clear error instead of returning
|
|
19
|
+
* undefined, so callers get a definite type and no cast.
|
|
20
|
+
*/
|
|
21
|
+
export async function getFeatureAdapterOrThrow(args) {
|
|
22
|
+
const dataAdapter = await getFeatureAdapter(args);
|
|
23
|
+
if (!dataAdapter) {
|
|
24
|
+
throw new Error(`adapter "${args.adapterConfig.type}" is not a feature adapter`);
|
|
25
|
+
}
|
|
26
|
+
return dataAdapter;
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BaseAdapter, BaseSequenceAdapter } from './BaseAdapter/index.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the reference sequence an adapter reads from.
|
|
4
|
+
*
|
|
5
|
+
* **The assembly is the source, and a hand-written `sequenceAdapter` slot is an
|
|
6
|
+
* anti-pattern.** `getFeatureAdapter` and `CoreGetRefNames` prime every feature
|
|
7
|
+
* adapter's `sequenceAdapterConfig` from the assembly the track is displayed
|
|
8
|
+
* against, so no config has to copy a sequence adapter into a track. The slot
|
|
9
|
+
* survives as an escape hatch for reading some *other* sequence, and setting it
|
|
10
|
+
* pins the track to that source even when the assembly's own sequence changes —
|
|
11
|
+
* so it wins only when explicitly present, and `jbrowse validate` warns about it.
|
|
12
|
+
*
|
|
13
|
+
* In core rather than beside one of its callers because the field it reads is
|
|
14
|
+
* `BaseAdapter`'s. Deliberately NOT in `BaseAdapter/index.ts`: that barrel is a
|
|
15
|
+
* `@jbrowse/core/*` re-export, and a name published there is load-bearing ABI —
|
|
16
|
+
* `abi.test.ts`/`abiBaseline.json` fails a removal from it.
|
|
17
|
+
*
|
|
18
|
+
* `configured` is passed in rather than read here so each adapter reads its own
|
|
19
|
+
* slot through its own config type.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSequenceSubAdapter(adapter: BaseAdapter, configured: unknown): Promise<BaseSequenceAdapter>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the reference sequence an adapter reads from.
|
|
3
|
+
*
|
|
4
|
+
* **The assembly is the source, and a hand-written `sequenceAdapter` slot is an
|
|
5
|
+
* anti-pattern.** `getFeatureAdapter` and `CoreGetRefNames` prime every feature
|
|
6
|
+
* adapter's `sequenceAdapterConfig` from the assembly the track is displayed
|
|
7
|
+
* against, so no config has to copy a sequence adapter into a track. The slot
|
|
8
|
+
* survives as an escape hatch for reading some *other* sequence, and setting it
|
|
9
|
+
* pins the track to that source even when the assembly's own sequence changes —
|
|
10
|
+
* so it wins only when explicitly present, and `jbrowse validate` warns about it.
|
|
11
|
+
*
|
|
12
|
+
* In core rather than beside one of its callers because the field it reads is
|
|
13
|
+
* `BaseAdapter`'s. Deliberately NOT in `BaseAdapter/index.ts`: that barrel is a
|
|
14
|
+
* `@jbrowse/core/*` re-export, and a name published there is load-bearing ABI —
|
|
15
|
+
* `abi.test.ts`/`abiBaseline.json` fails a removal from it.
|
|
16
|
+
*
|
|
17
|
+
* `configured` is passed in rather than read here so each adapter reads its own
|
|
18
|
+
* slot through its own config type.
|
|
19
|
+
*/
|
|
20
|
+
export async function getSequenceSubAdapter(adapter, configured) {
|
|
21
|
+
const config = configured ?? adapter.sequenceAdapterConfig;
|
|
22
|
+
if (!config) {
|
|
23
|
+
throw new Error('No sequence adapter available: either set the `sequenceAdapter` slot or display this track against an assembly that has one');
|
|
24
|
+
}
|
|
25
|
+
const result = await adapter.getSubAdapter?.(config);
|
|
26
|
+
if (!result) {
|
|
27
|
+
throw new Error('Error getting subadapter');
|
|
28
|
+
}
|
|
29
|
+
// An assembly can be backed by an adapter that carries no residues at all
|
|
30
|
+
// (ChromSizesAdapter defines refName lengths only), and auto-resolution makes
|
|
31
|
+
// that reachable without anyone having named a sequence adapter. Check for the
|
|
32
|
+
// method rather than casting blind, so this fails with the reason instead of
|
|
33
|
+
// `getSequence is not a function` deep in a scan.
|
|
34
|
+
const { dataAdapter } = result;
|
|
35
|
+
if (!isSequenceAdapter(dataAdapter)) {
|
|
36
|
+
// named from the config, not `constructor.name`, which minifies to noise
|
|
37
|
+
const { type } = config;
|
|
38
|
+
throw new Error(`Cannot scan the reference: adapter "${String(type)}" provides no sequence`);
|
|
39
|
+
}
|
|
40
|
+
return dataAdapter;
|
|
41
|
+
}
|
|
42
|
+
function isSequenceAdapter(adapter) {
|
|
43
|
+
return (typeof adapter.getSequence === 'function');
|
|
44
|
+
}
|
|
@@ -5,21 +5,71 @@ export interface AdapterMetadata {
|
|
|
5
5
|
category?: string;
|
|
6
6
|
hiddenFromGUI?: boolean;
|
|
7
7
|
description?: string;
|
|
8
|
+
/**
|
|
9
|
+
* File names this adapter is a valid reading of, but which the extension
|
|
10
|
+
* guess does not hand it — either because another adapter claims the same
|
|
11
|
+
* extension (an all-vs-all PAF looks like any `.paf`) or because no guesser
|
|
12
|
+
* claims it at all.
|
|
13
|
+
*
|
|
14
|
+
* Purely an "Add track" hint: it does not enter
|
|
15
|
+
* `Core-guessAdapterForLocation`, which stays a single first-match-wins chain,
|
|
16
|
+
* so it changes nothing about what a file resolves to headlessly, from the
|
|
17
|
+
* CLI, or in an existing plugin's guesser. What it does is let the form say
|
|
18
|
+
* the alternative exists at the moment the adapter is chosen, instead of
|
|
19
|
+
* leaving it to be found in a dropdown of every adapter JBrowse has.
|
|
20
|
+
*
|
|
21
|
+
* State the fact, not a preference — every adapter naming a pattern is
|
|
22
|
+
* offered together, in registration order, with the guess still selected.
|
|
23
|
+
*/
|
|
24
|
+
alsoReads?: RegExp;
|
|
8
25
|
}
|
|
26
|
+
/** Expand a raw adapter config snapshot (plain JSON) to its canonical form. */
|
|
27
|
+
export type NormalizeSnapshot = (snap: Record<string, unknown>) => Record<string, unknown>;
|
|
9
28
|
export default class AdapterType extends PluggableElementBase {
|
|
10
29
|
getAdapterClass: () => Promise<AnyAdapter>;
|
|
11
30
|
configSchema: AnyConfigurationSchemaType;
|
|
12
31
|
adapterCapabilities: string[];
|
|
13
32
|
adapterMetadata?: AdapterMetadata;
|
|
33
|
+
private declaredNormalizeSnapshot?;
|
|
34
|
+
/**
|
|
35
|
+
* Normalize a raw adapter config snapshot (plain JSON, before MST
|
|
36
|
+
* instantiation). Adapters that support shorthand notation (e.g. just
|
|
37
|
+
* `{type, uri}`) expand it to the canonical form so downstream code can read
|
|
38
|
+
* location keys without knowing each shorthand.
|
|
39
|
+
*
|
|
40
|
+
* **Defaults to the config schema's own `preProcessSnapshot`**, which is the
|
|
41
|
+
* function that already runs when MST builds the config, so an adapter
|
|
42
|
+
* declaring the shorthand once gets both. It used to be a second, separate
|
|
43
|
+
* registration, and five in-tree adapters had only the schema half
|
|
44
|
+
* (`MafTabixAdapter`, `BgzipMafAdapter`, `BgzipTaffyAdapter`,
|
|
45
|
+
* `AllVsAllPAFAdapter`, `MCScanBlocksAdapter`) — which reads as working,
|
|
46
|
+
* because loading such a config from a URL goes through the schema. Only
|
|
47
|
+
* `normalizeAdapterSnapshots` consults *this*, so what broke was `localFiles`
|
|
48
|
+
* in the embedded products: the shorthand stayed unexpanded, `uri` never
|
|
49
|
+
* became a location node, and the blob substitution silently found nothing to
|
|
50
|
+
* substitute.
|
|
51
|
+
*
|
|
52
|
+
* Pass one explicitly only to normalize *differently* here than at MST
|
|
53
|
+
* create, which nothing in tree needs.
|
|
54
|
+
*/
|
|
55
|
+
get normalizeSnapshot(): NormalizeSnapshot | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The config key holding the adapter's primary file location (e.g.
|
|
58
|
+
* `'vcfGzLocation'`). Used by import forms to extract the file location from
|
|
59
|
+
* a track's adapter config.
|
|
60
|
+
*/
|
|
61
|
+
locationKey?: string;
|
|
14
62
|
constructor(stuff: {
|
|
15
63
|
name: string;
|
|
16
64
|
configSchema: AnyConfigurationSchemaType;
|
|
17
65
|
displayName?: string;
|
|
18
66
|
adapterCapabilities?: string[];
|
|
19
67
|
adapterMetadata?: AdapterMetadata;
|
|
68
|
+
normalizeSnapshot?: NormalizeSnapshot;
|
|
69
|
+
locationKey?: string;
|
|
20
70
|
} & ({
|
|
21
|
-
AdapterClass: AnyAdapter;
|
|
22
|
-
} | {
|
|
23
71
|
getAdapterClass: () => Promise<AnyAdapter>;
|
|
72
|
+
} | {
|
|
73
|
+
AdapterClass: AnyAdapter;
|
|
24
74
|
}));
|
|
25
75
|
}
|
|
@@ -1,17 +1,56 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getConfigurationSchemaMetadata } from '../configuration/schemaRegistry.js';
|
|
2
|
+
import PluggableElementBase from './PluggableElementBase.js';
|
|
2
3
|
export default class AdapterType extends PluggableElementBase {
|
|
3
4
|
getAdapterClass;
|
|
4
5
|
configSchema;
|
|
5
6
|
adapterCapabilities;
|
|
6
7
|
adapterMetadata;
|
|
8
|
+
declaredNormalizeSnapshot;
|
|
9
|
+
/**
|
|
10
|
+
* Normalize a raw adapter config snapshot (plain JSON, before MST
|
|
11
|
+
* instantiation). Adapters that support shorthand notation (e.g. just
|
|
12
|
+
* `{type, uri}`) expand it to the canonical form so downstream code can read
|
|
13
|
+
* location keys without knowing each shorthand.
|
|
14
|
+
*
|
|
15
|
+
* **Defaults to the config schema's own `preProcessSnapshot`**, which is the
|
|
16
|
+
* function that already runs when MST builds the config, so an adapter
|
|
17
|
+
* declaring the shorthand once gets both. It used to be a second, separate
|
|
18
|
+
* registration, and five in-tree adapters had only the schema half
|
|
19
|
+
* (`MafTabixAdapter`, `BgzipMafAdapter`, `BgzipTaffyAdapter`,
|
|
20
|
+
* `AllVsAllPAFAdapter`, `MCScanBlocksAdapter`) — which reads as working,
|
|
21
|
+
* because loading such a config from a URL goes through the schema. Only
|
|
22
|
+
* `normalizeAdapterSnapshots` consults *this*, so what broke was `localFiles`
|
|
23
|
+
* in the embedded products: the shorthand stayed unexpanded, `uri` never
|
|
24
|
+
* became a location node, and the blob substitution silently found nothing to
|
|
25
|
+
* substitute.
|
|
26
|
+
*
|
|
27
|
+
* Pass one explicitly only to normalize *differently* here than at MST
|
|
28
|
+
* create, which nothing in tree needs.
|
|
29
|
+
*/
|
|
30
|
+
get normalizeSnapshot() {
|
|
31
|
+
return (this.declaredNormalizeSnapshot ??
|
|
32
|
+
getConfigurationSchemaMetadata(this.configSchema)?.options
|
|
33
|
+
.preProcessSnapshot);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The config key holding the adapter's primary file location (e.g.
|
|
37
|
+
* `'vcfGzLocation'`). Used by import forms to extract the file location from
|
|
38
|
+
* a track's adapter config.
|
|
39
|
+
*/
|
|
40
|
+
locationKey;
|
|
41
|
+
// `AdapterClass` is retained for backward compatibility with third-party
|
|
42
|
+
// plugins that pass an eager class reference; new code should prefer
|
|
43
|
+
// `getAdapterClass` for code splitting.
|
|
7
44
|
constructor(stuff) {
|
|
8
45
|
super(stuff);
|
|
9
46
|
this.getAdapterClass =
|
|
10
|
-
'
|
|
11
|
-
?
|
|
12
|
-
: stuff.
|
|
47
|
+
'getAdapterClass' in stuff
|
|
48
|
+
? stuff.getAdapterClass
|
|
49
|
+
: async () => stuff.AdapterClass;
|
|
13
50
|
this.configSchema = stuff.configSchema;
|
|
14
|
-
this.adapterCapabilities = stuff.adapterCapabilities
|
|
51
|
+
this.adapterCapabilities = stuff.adapterCapabilities ?? [];
|
|
15
52
|
this.adapterMetadata = stuff.adapterMetadata;
|
|
53
|
+
this.declaredNormalizeSnapshot = stuff.normalizeSnapshot;
|
|
54
|
+
this.locationKey = stuff.locationKey;
|
|
16
55
|
}
|
|
17
56
|
}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
1
|
import PluggableElementBase from './PluggableElementBase.ts';
|
|
3
2
|
import type { IAnyModelType } from '@jbrowse/mobx-state-tree';
|
|
3
|
+
import type React from 'react';
|
|
4
4
|
type BasicComponent = React.ComponentType<{
|
|
5
5
|
model: any;
|
|
6
|
+
switchWorkflow: (name: string) => void;
|
|
6
7
|
}>;
|
|
7
8
|
type AddTrackWorkflowComponentType = React.LazyExoticComponent<BasicComponent> | BasicComponent;
|
|
9
|
+
export type AddTrackWorkflowCategory = 'general' | 'specialized';
|
|
8
10
|
export default class AddTrackWorkflow extends PluggableElementBase {
|
|
9
11
|
ReactComponent: AddTrackWorkflowComponentType;
|
|
12
|
+
category: AddTrackWorkflowCategory;
|
|
10
13
|
stateModel: IAnyModelType;
|
|
11
14
|
constructor(stuff: {
|
|
12
15
|
name: string;
|
|
16
|
+
displayName?: string;
|
|
17
|
+
category?: AddTrackWorkflowCategory;
|
|
13
18
|
ReactComponent: AddTrackWorkflowComponentType;
|
|
14
19
|
stateModel: IAnyModelType;
|
|
15
20
|
});
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import PluggableElementBase from
|
|
1
|
+
import PluggableElementBase from './PluggableElementBase.js';
|
|
2
2
|
export default class AddTrackWorkflow extends PluggableElementBase {
|
|
3
3
|
ReactComponent;
|
|
4
|
+
category;
|
|
4
5
|
stateModel;
|
|
5
6
|
constructor(stuff) {
|
|
6
7
|
super(stuff);
|
|
7
8
|
this.ReactComponent = stuff.ReactComponent;
|
|
9
|
+
this.category = stuff.category ?? 'specialized';
|
|
8
10
|
this.stateModel = stuff.stateModel;
|
|
9
11
|
}
|
|
10
12
|
}
|
|
@@ -5,16 +5,16 @@ import type { IAnyModelType } from '@jbrowse/mobx-state-tree';
|
|
|
5
5
|
export default class ConnectionType extends PluggableElementBase {
|
|
6
6
|
stateModel: IAnyModelType;
|
|
7
7
|
configSchema: AnyConfigurationSchemaType;
|
|
8
|
-
description
|
|
9
|
-
url
|
|
8
|
+
description?: string;
|
|
9
|
+
url?: string;
|
|
10
10
|
configEditorComponent?: AnyReactComponentType;
|
|
11
11
|
constructor(stuff: {
|
|
12
12
|
name: string;
|
|
13
13
|
stateModel: IAnyModelType;
|
|
14
14
|
configSchema: AnyConfigurationSchemaType;
|
|
15
|
-
displayName
|
|
16
|
-
description
|
|
15
|
+
displayName?: string;
|
|
16
|
+
description?: string;
|
|
17
17
|
configEditorComponent?: AnyReactComponentType;
|
|
18
|
-
url
|
|
18
|
+
url?: string;
|
|
19
19
|
});
|
|
20
20
|
}
|
|
@@ -3,28 +3,37 @@ import type { AnyConfigurationSchemaType } from '../configuration/index.ts';
|
|
|
3
3
|
import type { AnyReactComponentType } from '../util/index.ts';
|
|
4
4
|
import type { IAnyModelType } from '@jbrowse/mobx-state-tree';
|
|
5
5
|
export default class DisplayType extends PluggableElementBase {
|
|
6
|
-
|
|
6
|
+
private loadedStateModel?;
|
|
7
|
+
get stateModel(): IAnyModelType;
|
|
8
|
+
stateModelLoader?: () => Promise<IAnyModelType>;
|
|
9
|
+
private stateModelPromise?;
|
|
10
|
+
private pendingStateModelExtensions;
|
|
7
11
|
configSchema: AnyConfigurationSchemaType;
|
|
8
12
|
ReactComponent: AnyReactComponentType;
|
|
13
|
+
/**
|
|
14
|
+
* The track type the display is associated with
|
|
15
|
+
*/
|
|
9
16
|
trackType: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
17
|
+
/**
|
|
18
|
+
* The view type the display is associated with
|
|
19
|
+
*/
|
|
14
20
|
viewType: string;
|
|
21
|
+
/**
|
|
22
|
+
* Help text describing the display type
|
|
23
|
+
*/
|
|
15
24
|
helpText?: string;
|
|
16
25
|
constructor(stuff: {
|
|
17
26
|
name: string;
|
|
18
|
-
stateModel: IAnyModelType;
|
|
27
|
+
stateModel: IAnyModelType | (() => Promise<IAnyModelType>);
|
|
19
28
|
trackType: string;
|
|
20
29
|
viewType: string;
|
|
21
30
|
displayName?: string;
|
|
22
|
-
subDisplay?: {
|
|
23
|
-
type: string;
|
|
24
|
-
[key: string]: unknown;
|
|
25
|
-
};
|
|
26
31
|
configSchema: AnyConfigurationSchemaType;
|
|
27
32
|
ReactComponent: AnyReactComponentType;
|
|
28
33
|
helpText?: string;
|
|
34
|
+
aliases?: string[];
|
|
29
35
|
});
|
|
36
|
+
get isStateModelLoaded(): boolean;
|
|
37
|
+
loadStateModel(): Promise<IAnyModelType>;
|
|
38
|
+
extendStateModel(extend: (stateModel: IAnyModelType) => IAnyModelType): void;
|
|
30
39
|
}
|
|
@@ -1,20 +1,68 @@
|
|
|
1
|
-
import PluggableElementBase from
|
|
1
|
+
import PluggableElementBase from './PluggableElementBase.js';
|
|
2
2
|
export default class DisplayType extends PluggableElementBase {
|
|
3
|
-
|
|
3
|
+
loadedStateModel;
|
|
4
|
+
// same contract as ViewType.stateModel
|
|
5
|
+
get stateModel() {
|
|
6
|
+
return this.loadedStateModel;
|
|
7
|
+
}
|
|
8
|
+
stateModelLoader;
|
|
9
|
+
stateModelPromise;
|
|
10
|
+
pendingStateModelExtensions = [];
|
|
4
11
|
configSchema;
|
|
5
12
|
ReactComponent;
|
|
13
|
+
/**
|
|
14
|
+
* The track type the display is associated with
|
|
15
|
+
*/
|
|
6
16
|
trackType;
|
|
7
|
-
|
|
17
|
+
/**
|
|
18
|
+
* The view type the display is associated with
|
|
19
|
+
*/
|
|
8
20
|
viewType;
|
|
21
|
+
/**
|
|
22
|
+
* Help text describing the display type
|
|
23
|
+
*/
|
|
9
24
|
helpText;
|
|
10
25
|
constructor(stuff) {
|
|
11
26
|
super(stuff);
|
|
12
|
-
|
|
13
|
-
|
|
27
|
+
if (typeof stuff.stateModel === 'function') {
|
|
28
|
+
this.stateModelLoader = stuff.stateModel;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.loadedStateModel = stuff.stateModel;
|
|
32
|
+
}
|
|
14
33
|
this.configSchema = stuff.configSchema;
|
|
15
34
|
this.ReactComponent = stuff.ReactComponent;
|
|
16
35
|
this.trackType = stuff.trackType;
|
|
17
36
|
this.viewType = stuff.viewType;
|
|
18
37
|
this.helpText = stuff.helpText;
|
|
19
38
|
}
|
|
39
|
+
get isStateModelLoaded() {
|
|
40
|
+
return this.loadedStateModel !== undefined;
|
|
41
|
+
}
|
|
42
|
+
loadStateModel() {
|
|
43
|
+
if (this.loadedStateModel !== undefined) {
|
|
44
|
+
return Promise.resolve(this.loadedStateModel);
|
|
45
|
+
}
|
|
46
|
+
if (!this.stateModelLoader) {
|
|
47
|
+
throw new Error(`display type ${this.name} has neither a state model nor a loader`);
|
|
48
|
+
}
|
|
49
|
+
this.stateModelPromise ??= this.stateModelLoader().then(loaded => {
|
|
50
|
+
let stateModel = loaded;
|
|
51
|
+
for (const extend of this.pendingStateModelExtensions) {
|
|
52
|
+
stateModel = extend(stateModel);
|
|
53
|
+
}
|
|
54
|
+
this.pendingStateModelExtensions = [];
|
|
55
|
+
this.loadedStateModel = stateModel;
|
|
56
|
+
return stateModel;
|
|
57
|
+
});
|
|
58
|
+
return this.stateModelPromise;
|
|
59
|
+
}
|
|
60
|
+
extendStateModel(extend) {
|
|
61
|
+
if (this.loadedStateModel !== undefined) {
|
|
62
|
+
this.loadedStateModel = extend(this.loadedStateModel);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.pendingStateModelExtensions.push(extend);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
20
68
|
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
export default abstract class PluggableElementBase {
|
|
2
2
|
name: string;
|
|
3
3
|
maybeDisplayName?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Older names for this element that should be remapped to it when a session
|
|
6
|
+
* or config names one. Each entry is a legacy `type` value previously used.
|
|
7
|
+
*
|
|
8
|
+
* Lets an element own its renames instead of a central migration file, so a
|
|
9
|
+
* plugin can be renamed out of tree. A per-element `preProcessSnapshot` hook
|
|
10
|
+
* then handles any property migrations within the renamed type; for a
|
|
11
|
+
* migration that rewrites the value of an existing constrained slot (an enum
|
|
12
|
+
* rename, a type narrow) use `addDisplayConfigMigration` instead — see that
|
|
13
|
+
* helper for why.
|
|
14
|
+
*/
|
|
15
|
+
aliases?: string[];
|
|
4
16
|
constructor(args?: {
|
|
5
17
|
name?: string;
|
|
6
18
|
displayName?: string;
|
|
19
|
+
aliases?: string[];
|
|
7
20
|
});
|
|
8
21
|
get displayName(): string;
|
|
9
22
|
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
export default class PluggableElementBase {
|
|
2
2
|
name;
|
|
3
3
|
maybeDisplayName;
|
|
4
|
+
/**
|
|
5
|
+
* Older names for this element that should be remapped to it when a session
|
|
6
|
+
* or config names one. Each entry is a legacy `type` value previously used.
|
|
7
|
+
*
|
|
8
|
+
* Lets an element own its renames instead of a central migration file, so a
|
|
9
|
+
* plugin can be renamed out of tree. A per-element `preProcessSnapshot` hook
|
|
10
|
+
* then handles any property migrations within the renamed type; for a
|
|
11
|
+
* migration that rewrites the value of an existing constrained slot (an enum
|
|
12
|
+
* rename, a type narrow) use `addDisplayConfigMigration` instead — see that
|
|
13
|
+
* helper for why.
|
|
14
|
+
*/
|
|
15
|
+
aliases;
|
|
4
16
|
constructor(args) {
|
|
5
17
|
this.name = args?.name || 'UNKNOWN';
|
|
6
18
|
this.maybeDisplayName = args?.displayName;
|
|
19
|
+
this.aliases = args?.aliases;
|
|
7
20
|
}
|
|
8
21
|
get displayName() {
|
|
9
22
|
return this.maybeDisplayName || this.name;
|