@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
package/esm/PluginManager.d.ts
CHANGED
|
@@ -1,40 +1,291 @@
|
|
|
1
1
|
import PhasedScheduler from './PhasedScheduler.ts';
|
|
2
|
-
import
|
|
3
|
-
import AdapterType from './pluggableElementTypes/AdapterType.ts';
|
|
4
|
-
import AddTrackWorkflowType from './pluggableElementTypes/AddTrackWorkflowType.ts';
|
|
5
|
-
import ConnectionType from './pluggableElementTypes/ConnectionType.ts';
|
|
6
|
-
import DisplayType from './pluggableElementTypes/DisplayType.ts';
|
|
7
|
-
import GlyphType from './pluggableElementTypes/GlyphType.ts';
|
|
8
|
-
import InternetAccountType from './pluggableElementTypes/InternetAccountType.ts';
|
|
9
|
-
import RpcMethodType from './pluggableElementTypes/RpcMethodType.ts';
|
|
10
|
-
import TextSearchAdapterType from './pluggableElementTypes/TextSearchAdapterType.ts';
|
|
11
|
-
import TrackType from './pluggableElementTypes/TrackType.ts';
|
|
12
|
-
import ViewType from './pluggableElementTypes/ViewType.ts';
|
|
13
|
-
import WidgetType from './pluggableElementTypes/WidgetType.ts';
|
|
14
|
-
import RendererType from './pluggableElementTypes/renderers/RendererType.tsx';
|
|
2
|
+
import './util/tracks.ts';
|
|
15
3
|
import type Plugin from './Plugin.ts';
|
|
16
|
-
import type
|
|
4
|
+
import type AdapterType from './pluggableElementTypes/AdapterType.ts';
|
|
5
|
+
import type AddTrackWorkflowType from './pluggableElementTypes/AddTrackWorkflowType.ts';
|
|
6
|
+
import type ConnectionType from './pluggableElementTypes/ConnectionType.ts';
|
|
7
|
+
import type DisplayType from './pluggableElementTypes/DisplayType.ts';
|
|
8
|
+
import type InternetAccountType from './pluggableElementTypes/InternetAccountType.ts';
|
|
17
9
|
import type PluggableElementBase from './pluggableElementTypes/PluggableElementBase.ts';
|
|
10
|
+
import type RpcMethodType from './pluggableElementTypes/RpcMethodType.ts';
|
|
11
|
+
import type TextSearchAdapterType from './pluggableElementTypes/TextSearchAdapterType.ts';
|
|
12
|
+
import type TrackType from './pluggableElementTypes/TrackType.ts';
|
|
13
|
+
import type ViewType from './pluggableElementTypes/ViewType.ts';
|
|
14
|
+
import type WidgetType from './pluggableElementTypes/WidgetType.ts';
|
|
18
15
|
import type { PluggableElementType } from './pluggableElementTypes/index.ts';
|
|
19
|
-
import
|
|
20
|
-
import type {
|
|
21
|
-
|
|
16
|
+
import './pluggableElementTypes/models/migrateTrackConfig.ts';
|
|
17
|
+
import type { PluginDefinition } from './pluginDefinitions.ts';
|
|
18
|
+
import './rpc/WebWorkerRpcDriver.ts';
|
|
19
|
+
import './ui/buildExtraTrackMenuItems.ts';
|
|
20
|
+
import './ui/multiTrackMenuItems.ts';
|
|
21
|
+
import './util/addTrackComponent.ts';
|
|
22
|
+
import type { AbstractRootModel, AbstractSessionModel, SimpleFeatureSerialized } from './util/index.ts';
|
|
23
|
+
import type { IAnyModelType, IStateTreeNode, IAnyType, SnapshotIn } from '@jbrowse/mobx-state-tree';
|
|
24
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
25
|
+
/**
|
|
26
|
+
* Every pluggable element group, in the order `elementCreationSchedule` builds
|
|
27
|
+
* them. The array is the declaration and the union is derived from it, so a
|
|
28
|
+
* consumer that has to visit every group — `pruneUnbuildableNodes` walking a
|
|
29
|
+
* session snapshot for containers of a pluggable union — enumerates them at
|
|
30
|
+
* runtime instead of keeping a second hand-written list that goes stale.
|
|
31
|
+
*/
|
|
32
|
+
export declare const pluggableElementTypeGroups: readonly ['adapter', 'text search adapter', 'display', 'track', 'connection', 'view', 'widget', 'rpc method', 'internet account', 'add track workflow'];
|
|
33
|
+
export type PluggableElementTypeGroup = (typeof pluggableElementTypeGroups)[number];
|
|
34
|
+
/** internal class that holds the info for a certain element type */
|
|
22
35
|
declare class TypeRecord<ElementClass extends PluggableElementBase> {
|
|
23
|
-
typeName: string;
|
|
24
|
-
baseClass: (new (...args: unknown[]) => ElementClass) | (Function & {
|
|
25
|
-
prototype: ElementClass;
|
|
26
|
-
});
|
|
27
36
|
registeredTypes: Record<string, ElementClass>;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}));
|
|
37
|
+
typeName: string;
|
|
38
|
+
constructor(typeName: string);
|
|
31
39
|
add(name: string, t: ElementClass): void;
|
|
32
40
|
has(name: string): boolean;
|
|
33
|
-
get(name: string): ElementClass
|
|
41
|
+
get(name: string): ElementClass;
|
|
42
|
+
registeredNames(): string;
|
|
34
43
|
all(): ElementClass[];
|
|
35
44
|
}
|
|
36
45
|
type AnyFunction = (...args: any) => any;
|
|
37
|
-
|
|
46
|
+
type ExtensionPointCallback = (extendee: unknown, props?: Record<string, unknown>) => unknown;
|
|
47
|
+
/**
|
|
48
|
+
* Marks a component built by wrapping the one the extension point accumulated
|
|
49
|
+
* so far, so {@link PluginManager.evaluateComponentExtensionPoint} can tell
|
|
50
|
+
* composition (two plugins each wrapping, both still visible) from a genuine
|
|
51
|
+
* clobber (a second plugin discarding the first). Set by `wrapComponent`.
|
|
52
|
+
*/
|
|
53
|
+
export declare const wrappedComponent: unique symbol;
|
|
54
|
+
/**
|
|
55
|
+
* A point that resolves to one component — a slot with a default, which a
|
|
56
|
+
* plugin wraps or replaces. Declared as
|
|
57
|
+
* `'Core-replaceWidget': ComponentSlot<ReplaceWidgetProps>`, produced by
|
|
58
|
+
* {@link PluggableComponent}, registered on with `wrapComponent`.
|
|
59
|
+
*/
|
|
60
|
+
export interface ComponentSlot<P> {
|
|
61
|
+
args: ComponentType<P>;
|
|
62
|
+
result: ComponentType<P>;
|
|
63
|
+
props: P;
|
|
64
|
+
/**
|
|
65
|
+
* Type-only: never present at runtime, and what makes the shape *declared*
|
|
66
|
+
* rather than guessed. Reading it off the value cannot work — a
|
|
67
|
+
* `TrackTypeGuesser` takes an argument and returns a string, which is also
|
|
68
|
+
* what a function component does, so a structural test admits it as a slot.
|
|
69
|
+
*/
|
|
70
|
+
kind: 'componentSlot';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* A point that accumulates an array of components — the panel points. Produced
|
|
74
|
+
* by {@link PluggableComponents}, registered on with
|
|
75
|
+
* {@link PluginManager.contributeToExtensionPoint}; each panel scopes itself
|
|
76
|
+
* and draws its own chrome.
|
|
77
|
+
*/
|
|
78
|
+
export interface ComponentList<P> {
|
|
79
|
+
args: ComponentType<P>[];
|
|
80
|
+
result: ComponentType<P>[];
|
|
81
|
+
props: P;
|
|
82
|
+
/** type-only, see {@link ComponentSlot.kind} */
|
|
83
|
+
kind: 'componentList';
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* A point that accumulates already-rendered elements — the overlay points.
|
|
87
|
+
* Produced by {@link PluggableElements}, registered on with
|
|
88
|
+
* `addExtensionElement`, which fixes the React key at registration time.
|
|
89
|
+
*/
|
|
90
|
+
export interface ElementList<P> {
|
|
91
|
+
args: ReactNode[];
|
|
92
|
+
result: ReactNode[];
|
|
93
|
+
props: P;
|
|
94
|
+
/** type-only, see {@link ComponentSlot.kind} */
|
|
95
|
+
kind: 'elementList';
|
|
96
|
+
}
|
|
97
|
+
/** The names of the points declared as `K`. */
|
|
98
|
+
export type PointsOfKind<K extends string> = {
|
|
99
|
+
[N in ExtensionPointName]: ExtensionPointRegistry[N] extends {
|
|
100
|
+
kind: K;
|
|
101
|
+
} ? N : never;
|
|
102
|
+
}[ExtensionPointName];
|
|
103
|
+
type FeatureWidgetModel = IStateTreeNode & {
|
|
104
|
+
trackId?: string;
|
|
105
|
+
trackType?: string;
|
|
106
|
+
};
|
|
107
|
+
type WidgetModel = FeatureWidgetModel & {
|
|
108
|
+
type: string;
|
|
109
|
+
};
|
|
110
|
+
export interface FeaturePanelProps {
|
|
111
|
+
/** has `trackId` and `trackType` */
|
|
112
|
+
model: FeatureWidgetModel;
|
|
113
|
+
/** snapshot of the feature being shown */
|
|
114
|
+
feature: SimpleFeatureSerialized;
|
|
115
|
+
/**
|
|
116
|
+
* how far down the subfeature tree this card is: 0 is the feature the user
|
|
117
|
+
* clicked, 1 its subfeatures, and so on. The point fires for every card, so a
|
|
118
|
+
* panel that belongs only on the clicked feature selects on `depth === 0`
|
|
119
|
+
*/
|
|
120
|
+
depth: number;
|
|
121
|
+
}
|
|
122
|
+
export interface ReplaceWidgetProps {
|
|
123
|
+
session: AbstractSessionModel;
|
|
124
|
+
/** has `type`; feature detail widgets also have `trackId` and `trackType` */
|
|
125
|
+
model: WidgetModel;
|
|
126
|
+
toolbarHeight?: number;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Typed registries of the view and display types a plugin can extend, in the
|
|
130
|
+
* same shape as {@link ExtensionPointRegistry} and augmented the same way:
|
|
131
|
+
*
|
|
132
|
+
* declare module '@jbrowse/core/PluginManager' {
|
|
133
|
+
* interface ViewTypeRegistry {
|
|
134
|
+
* LinearGenomeView: LinearGenomeViewStateModel
|
|
135
|
+
* }
|
|
136
|
+
* }
|
|
137
|
+
*
|
|
138
|
+
* That is what makes `extendViewType(pm, 'LinearGenomeView', …)` hand back a
|
|
139
|
+
* typed state model, and a misspelled or renamed name a compile error rather
|
|
140
|
+
* than an extension that quietly never applies. `getViewType` reads it too, so
|
|
141
|
+
* a caller composing another view's model into its own gets the real type
|
|
142
|
+
* instead of `IAnyModelType`.
|
|
143
|
+
*
|
|
144
|
+
* AN AUGMENTATION IS HAND-WRITTEN, so each registration annotates the model it
|
|
145
|
+
* passes to `ViewType` against its own entry here (`const stateModel:
|
|
146
|
+
* ViewTypeRegistry['CircularView'] = …`). That one line is what makes the
|
|
147
|
+
* registry earn what `getViewType` promises: without it a drifted entry is
|
|
148
|
+
* worse than the `IAnyModelType` it replaced, since a caller would get a
|
|
149
|
+
* confidently wrong type rather than an unchecked one. It cannot live on
|
|
150
|
+
* `ViewType`'s constructor — TypeScript forbids type parameters there, and a
|
|
151
|
+
* class parameter widens `name` to `string`, so the conditional never fires. Declaring them here rather than
|
|
152
|
+
* beside the helpers is load-bearing: an interface can only be augmented
|
|
153
|
+
* through the module that declares it, and a barrel re-exporting the type would
|
|
154
|
+
* give every augmentation its own unrelated copy.
|
|
155
|
+
*/
|
|
156
|
+
export interface ViewTypeRegistry {
|
|
157
|
+
}
|
|
158
|
+
export interface DisplayTypeRegistry {
|
|
159
|
+
}
|
|
160
|
+
export type ViewTypeName = keyof ViewTypeRegistry;
|
|
161
|
+
export type DisplayTypeName = keyof DisplayTypeRegistry;
|
|
162
|
+
/**
|
|
163
|
+
* What `addView(name, snapshot)` takes for a view type name. A registered name
|
|
164
|
+
* gets the view's authored shape — the snapshot type `withLaunchInput` widened
|
|
165
|
+
* to accept the launch keys beside the declared properties — so a misspelled
|
|
166
|
+
* key is a compile error at the literal site. `type` is optional because
|
|
167
|
+
* `addView` writes it. An unregistered name stays `Record<string, unknown>`,
|
|
168
|
+
* which is what an out-of-tree view's `addView` has always been.
|
|
169
|
+
*
|
|
170
|
+
* Read off `ViewTypeRegistry` rather than registered a second time, so the
|
|
171
|
+
* snapshot type cannot drift from the model: a view that augments the registry
|
|
172
|
+
* has typed `addView`, `replaceView` and `addOrReplaceView` for free.
|
|
173
|
+
*/
|
|
174
|
+
export type ViewSnapshotInput<N extends string> = N extends ViewTypeName ? Omit<SnapshotIn<ViewTypeRegistry[N]>, 'type'> & {
|
|
175
|
+
type?: N;
|
|
176
|
+
} : Record<string, unknown>;
|
|
177
|
+
export interface ExtensionPointRegistry {
|
|
178
|
+
'Core-extendSession': {
|
|
179
|
+
args: IAnyModelType;
|
|
180
|
+
result: IAnyModelType;
|
|
181
|
+
};
|
|
182
|
+
'Core-handleUnrecognizedAssembly': {
|
|
183
|
+
args: undefined;
|
|
184
|
+
result: undefined | Promise<void>;
|
|
185
|
+
props: {
|
|
186
|
+
assemblyName: string;
|
|
187
|
+
/**
|
|
188
|
+
* the session the lookup came from. `unknown` because the assembly
|
|
189
|
+
* manager holds it as the narrow shape it needs rather than the whole
|
|
190
|
+
* session model, and nothing in tree reads it — narrow it yourself if you
|
|
191
|
+
* do
|
|
192
|
+
*/
|
|
193
|
+
session?: unknown;
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
'Core-extendPluggableElement': {
|
|
197
|
+
args: PluggableElementType;
|
|
198
|
+
result: PluggableElementType;
|
|
199
|
+
props: {
|
|
200
|
+
group: PluggableElementTypeGroup;
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
'Core-extraFeaturePanel': ComponentList<FeaturePanelProps>;
|
|
204
|
+
/** #extensionPoint Core-replaceWidget | sync | Replace or wrap the component that renders a widget */
|
|
205
|
+
'Core-replaceWidget': ComponentSlot<ReplaceWidgetProps>;
|
|
206
|
+
}
|
|
207
|
+
export type ExtensionPointName = keyof ExtensionPointRegistry;
|
|
208
|
+
export type ExtensionPointArgs<N extends ExtensionPointName> = ExtensionPointRegistry[N]['args'];
|
|
209
|
+
export type ExtensionPointResult<N extends ExtensionPointName> = ExtensionPointRegistry[N]['result'];
|
|
210
|
+
export type ExtensionPointProps<N extends ExtensionPointName> = 'props' extends keyof ExtensionPointRegistry[N] ? ExtensionPointRegistry[N]['props'] : Record<string, unknown>;
|
|
211
|
+
/**
|
|
212
|
+
* Points that carry their whole payload in `props` and whose return value
|
|
213
|
+
* nothing reads — a notification rather than a fold. Registered with
|
|
214
|
+
* {@link PluginManager.listenToExtensionPoint}.
|
|
215
|
+
*/
|
|
216
|
+
export type NotificationPointName = {
|
|
217
|
+
[N in ExtensionPointName]: ExtensionPointArgs<N> extends undefined ? N : never;
|
|
218
|
+
}[ExtensionPointName];
|
|
219
|
+
/**
|
|
220
|
+
* Points whose `args` are an array accumulate: the value threaded through the
|
|
221
|
+
* fold is every plugin's entries so far. They are registered with
|
|
222
|
+
* {@link PluginManager.contributeToExtensionPoint}, never
|
|
223
|
+
* {@link PluginManager.addToExtensionPoint} — see the entry type below for why.
|
|
224
|
+
*/
|
|
225
|
+
export type AccumulatingPointName = {
|
|
226
|
+
[N in ExtensionPointName]: ExtensionPointArgs<N> extends readonly unknown[] ? N : never;
|
|
227
|
+
}[ExtensionPointName];
|
|
228
|
+
/** One element of an accumulating point's array — what a plugin contributes. */
|
|
229
|
+
export type ExtensionPointEntry<N extends AccumulatingPointName> = ExtensionPointArgs<N> extends readonly (infer E)[] ? E : never;
|
|
230
|
+
/**
|
|
231
|
+
* The trailing `props` parameter of the evaluate methods, required exactly when
|
|
232
|
+
* the point declares one. Omitting it there used to typecheck and then hand
|
|
233
|
+
* `undefined` to every callback, so each one threw on destructuring the props
|
|
234
|
+
* it was promised.
|
|
235
|
+
*/
|
|
236
|
+
export type ExtensionPointPropsArgs<N extends ExtensionPointName> = 'props' extends keyof ExtensionPointRegistry[N] ? [props: ExtensionPointProps<N>] : [props?: Record<string, unknown>];
|
|
237
|
+
/**
|
|
238
|
+
* A point name that is *not* in the registry, which is what the loose evaluate
|
|
239
|
+
* overloads accept. Keeping a registered name out of them is what makes the
|
|
240
|
+
* typed overload binding: they otherwise match whenever it doesn't, so a call
|
|
241
|
+
* that omitted a required `props` or passed the wrong `extendee` fell through
|
|
242
|
+
* and compiled. Plugin-defined points, and any name that isn't a literal, are
|
|
243
|
+
* unaffected.
|
|
244
|
+
*
|
|
245
|
+
* A registered name resolves to a message-shaped type rather than `never`
|
|
246
|
+
* because this overload is the last one tried, so its error is the one TS
|
|
247
|
+
* reports: `not assignable to never` says nothing about what to fix.
|
|
248
|
+
*/
|
|
249
|
+
export type UnregisteredPointName<S extends string> = S extends ExtensionPointName ? {
|
|
250
|
+
ERROR: 'this extension point is in ExtensionPointRegistry; check the extendee type, and pass props if it declares them';
|
|
251
|
+
} : S;
|
|
252
|
+
/**
|
|
253
|
+
* The same guard for `addToExtensionPoint`'s loose overload. Each excluded kind
|
|
254
|
+
* needs its own message, because the useful thing to say is which method the
|
|
255
|
+
* point does belong to.
|
|
256
|
+
*
|
|
257
|
+
* Excluding those names from the *typed* overload is not enough on its own. The
|
|
258
|
+
* loose overload matches whenever the typed one doesn't, so
|
|
259
|
+
* `addToExtensionPoint('Core-extraFeaturePanel', panels => [MyPanel])` — the one
|
|
260
|
+
* call `contributeToExtensionPoint` exists to make impossible — fell through and
|
|
261
|
+
* compiled, with `T` inferred from whatever the callback returned, dropping every
|
|
262
|
+
* other plugin's panels exactly as if the exclusion weren't there.
|
|
263
|
+
*
|
|
264
|
+
* `S` is inferred from the name, so this binds on the ordinary call. It does not
|
|
265
|
+
* bind when a caller writes the type argument out — `addToExtensionPoint<T>(…)`
|
|
266
|
+
* pins `T` and leaves `S` on its default — which is the price of keeping that
|
|
267
|
+
* arity working for plugins compiled against the older signature.
|
|
268
|
+
*/
|
|
269
|
+
export type FoldPointName<S extends string> = S extends AccumulatingPointName ? {
|
|
270
|
+
ERROR: 'this extension point accumulates a list; register with contributeToExtensionPoint, whose callback returns only its own entries';
|
|
271
|
+
} : S extends NotificationPointName ? {
|
|
272
|
+
ERROR: 'this extension point is a notification; register with listenToExtensionPoint, which joins async handlers rather than letting the last one registered replace the rest';
|
|
273
|
+
} : S extends ExtensionPointName ? {
|
|
274
|
+
ERROR: 'this extension point is in ExtensionPointRegistry; check the callback against its args/result types';
|
|
275
|
+
} : S;
|
|
276
|
+
/**
|
|
277
|
+
* metadata related to the instance of this plugin. `isCore` is set when the
|
|
278
|
+
* plugin was loaded as part of the "core" set of plugins for this application,
|
|
279
|
+
* and `url` records the resolved location it was loaded from. The index
|
|
280
|
+
* signature keeps it free-form so other things about why the plugin is loaded
|
|
281
|
+
* (where it came from, what depends on it, etc.) can be stashed too.
|
|
282
|
+
*/
|
|
283
|
+
export interface PluginMetadata {
|
|
284
|
+
isCore?: boolean;
|
|
285
|
+
isGlobal?: boolean;
|
|
286
|
+
url?: string;
|
|
287
|
+
[key: string]: unknown;
|
|
288
|
+
}
|
|
38
289
|
export interface PluginLoadRecord {
|
|
39
290
|
metadata?: PluginMetadata;
|
|
40
291
|
plugin: Plugin;
|
|
@@ -43,13 +294,13 @@ export interface RuntimePluginLoadRecord extends PluginLoadRecord {
|
|
|
43
294
|
definition: PluginDefinition;
|
|
44
295
|
}
|
|
45
296
|
export default class PluginManager {
|
|
297
|
+
#private;
|
|
46
298
|
plugins: Plugin[];
|
|
47
299
|
jexl: import("@jbrowse/jexl").Jexl;
|
|
48
300
|
pluginMetadata: Record<string, PluginMetadata>;
|
|
49
301
|
runtimePluginDefinitions: PluginDefinition[];
|
|
50
|
-
elementCreationSchedule: PhasedScheduler<
|
|
51
|
-
|
|
52
|
-
rendererTypes: TypeRecord<RendererType>;
|
|
302
|
+
elementCreationSchedule: PhasedScheduler<"adapter" | "add track workflow" | "connection" | "display" | "internet account" | "rpc method" | "text search adapter" | "track" | "view" | "widget">;
|
|
303
|
+
pluggableElementsCreated: boolean;
|
|
53
304
|
adapterTypes: TypeRecord<AdapterType>;
|
|
54
305
|
textSearchAdapterTypes: TypeRecord<TextSearchAdapterType>;
|
|
55
306
|
trackTypes: TypeRecord<TrackType>;
|
|
@@ -57,25 +308,49 @@ export default class PluginManager {
|
|
|
57
308
|
connectionTypes: TypeRecord<ConnectionType>;
|
|
58
309
|
viewTypes: TypeRecord<ViewType>;
|
|
59
310
|
widgetTypes: TypeRecord<WidgetType>;
|
|
60
|
-
rpcMethods: TypeRecord<RpcMethodType
|
|
311
|
+
rpcMethods: TypeRecord<RpcMethodType<string>>;
|
|
61
312
|
addTrackWidgets: TypeRecord<AddTrackWorkflowType>;
|
|
62
313
|
internetAccountTypes: TypeRecord<InternetAccountType>;
|
|
63
314
|
configured: boolean;
|
|
64
315
|
rootModel?: AbstractRootModel;
|
|
65
|
-
extensionPoints: Map<string,
|
|
66
|
-
|
|
316
|
+
extensionPoints: Map<string, ExtensionPointCallback[]>;
|
|
317
|
+
warnedClobber: Set<string>;
|
|
318
|
+
/**
|
|
319
|
+
* The lazily-hydrated MST config node for one frozen track config, built by
|
|
320
|
+
* `build` on first ask and returned by identity after that.
|
|
321
|
+
* `configuration/configurationSchema.ts` is the only caller.
|
|
322
|
+
*
|
|
323
|
+
* `jbrowse.tracks` is `types.frozen` for large-tracklist performance, so a
|
|
324
|
+
* track config is a plain JS object until first referenced; hydrating it into
|
|
325
|
+
* an MST node is deferred to that read. MST's custom-reference `getValue` has
|
|
326
|
+
* no memoization of its own — it reruns on every property access — so without
|
|
327
|
+
* this, every read of `track.configuration` would fabricate a fresh,
|
|
328
|
+
* non-identical node. Keyed by schemaType (each track type's config schema is
|
|
329
|
+
* rebuilt fresh per PluginManager instance, see addTrackType) then by the
|
|
330
|
+
* frozen object, so a hit can only ever come from this same instance and this
|
|
331
|
+
* same track type. See ADR-031.
|
|
332
|
+
*
|
|
333
|
+
* The node is never mutated: admin edits replace the frozen entry (new
|
|
334
|
+
* identity drops the WeakMap entry), and a non-admin's edits go to a private
|
|
335
|
+
* session working copy, not here (ADR-032). Both levels are `WeakMap`s so
|
|
336
|
+
* entries collect normally — no manual invalidation needed, which is why this
|
|
337
|
+
* is a memo and not a cache with a lifecycle to expose.
|
|
338
|
+
*/
|
|
339
|
+
hydratedTrackConfig(schemaType: IAnyType, frozen: object, build: () => unknown): unknown;
|
|
340
|
+
constructor(initialPlugins?: (Plugin | PluginLoadRecord | RuntimePluginLoadRecord)[]);
|
|
67
341
|
pluginConfigurationNamespacedSchemas(): Record<string, unknown>;
|
|
68
342
|
pluginConfigurationUnnamespacedSchemas(): Record<string, unknown>;
|
|
69
343
|
pluginConfigurationRootSchemas(): Record<string, unknown>;
|
|
70
344
|
addPlugin(load: Plugin | PluginLoadRecord | RuntimePluginLoadRecord): this;
|
|
71
345
|
getPlugin(name: string): Plugin | undefined;
|
|
72
346
|
hasPlugin(name: string): boolean;
|
|
347
|
+
removePlugin(pluginName: string): this;
|
|
73
348
|
createPluggableElements(): this;
|
|
74
349
|
setRootModel(rootModel: AbstractRootModel): this;
|
|
75
350
|
configure(): this;
|
|
76
351
|
getElementTypeRecord(groupName: PluggableElementTypeGroup): TypeRecord<PluggableElementBase>;
|
|
77
352
|
addElementType(groupName: PluggableElementTypeGroup, creationCallback: (pluginManager: PluginManager) => PluggableElementType): this;
|
|
78
|
-
getElementType(groupName: PluggableElementTypeGroup, typeName: string): PluggableElementBase
|
|
353
|
+
getElementType(groupName: PluggableElementTypeGroup, typeName: string): PluggableElementBase;
|
|
79
354
|
getElementTypesInGroup(groupName: PluggableElementTypeGroup): PluggableElementBase[];
|
|
80
355
|
getViewElements(): ViewType[];
|
|
81
356
|
getTrackElements(): TrackType[];
|
|
@@ -84,27 +359,63 @@ export default class PluginManager {
|
|
|
84
359
|
getRpcElements(): RpcMethodType[];
|
|
85
360
|
getDisplayElements(): DisplayType[];
|
|
86
361
|
getAdapterElements(): AdapterType[];
|
|
362
|
+
/**
|
|
363
|
+
* get a MST type for the union of all specified pluggable MST types.
|
|
364
|
+
* Membership is late-bound, so a lazily registered state model joins when
|
|
365
|
+
* its loader resolves; a snapshot naming one cannot be cast until then.
|
|
366
|
+
*/
|
|
87
367
|
pluggableMstType(groupName: PluggableElementTypeGroup, fieldName: string, fallback?: IAnyType): IAnyType;
|
|
88
|
-
|
|
368
|
+
/** get a MST type for the union of all specified pluggable config schemas */
|
|
369
|
+
pluggableConfigSchemaType(typeGroup: PluggableElementTypeGroup, fieldName?: string): IAnyType;
|
|
89
370
|
jbrequireCache: Map<any, any>;
|
|
90
|
-
lib:
|
|
371
|
+
get lib(): Record<string, unknown>;
|
|
91
372
|
load: <FTYPE extends AnyFunction>(lib: FTYPE) => ReturnType<FTYPE>;
|
|
92
|
-
|
|
373
|
+
/**
|
|
374
|
+
* Get the re-exported version of the given package name.
|
|
375
|
+
* Throws an error if the package is not re-exported by the plugin manager.
|
|
376
|
+
*
|
|
377
|
+
* @returns the library's default export
|
|
378
|
+
*/
|
|
379
|
+
jbrequire: (lib: string | AnyFunction | {
|
|
93
380
|
default: AnyFunction;
|
|
94
381
|
}) => any;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
382
|
+
getAdapterType(typeName: string): AdapterType;
|
|
383
|
+
/**
|
|
384
|
+
* Whether an adapter type is registered, for a caller walking a config where
|
|
385
|
+
* `type` names a track, a display and an adapter alike — `getAdapterType`
|
|
386
|
+
* throws on a miss, which is right when the name came from a config that
|
|
387
|
+
* claims to be an adapter and wrong when you are asking whether it is one.
|
|
388
|
+
*/
|
|
389
|
+
hasAdapterType(typeName: string): boolean;
|
|
390
|
+
getTextSearchAdapterType(typeName: string): TextSearchAdapterType;
|
|
391
|
+
getTrackType(typeName: string): TrackType;
|
|
392
|
+
getDisplayType(typeName: string): DisplayType;
|
|
393
|
+
getViewType<N extends ViewTypeName>(typeName: N): Omit<ViewType, 'stateModel'> & {
|
|
394
|
+
stateModel: ViewTypeRegistry[N];
|
|
395
|
+
};
|
|
396
|
+
getViewType(typeName: string): ViewType;
|
|
397
|
+
private sessionTypeNames;
|
|
398
|
+
/**
|
|
399
|
+
* Every async code path that hands a snapshot to a synchronous session
|
|
400
|
+
* instantiation (`setSession`, `cast`) must await this first.
|
|
401
|
+
*/
|
|
402
|
+
preloadSessionTypes(sessionSnapshot: unknown): Promise<void>;
|
|
403
|
+
unloadedSessionTypes(sessionSnapshot: unknown): string[];
|
|
404
|
+
/**
|
|
405
|
+
* Without this, a snapshot naming an unloaded lazy type fails inside MST as
|
|
406
|
+
* a union mismatch that reads like a corrupt snapshot.
|
|
407
|
+
*/
|
|
408
|
+
assertSessionTypesLoaded(sessionSnapshot: unknown): void;
|
|
409
|
+
/**
|
|
410
|
+
* Aliases resolve here because a legacy session names the alias, and the
|
|
411
|
+
* model that remaps it cannot be consulted before it is loaded.
|
|
412
|
+
*/
|
|
413
|
+
resolveDisplayTypeRecord(name: string): DisplayType | undefined;
|
|
414
|
+
getAddTrackWorkflow(typeName: string): AddTrackWorkflowType;
|
|
415
|
+
getWidgetType(typeName: string): WidgetType;
|
|
416
|
+
getConnectionType(typeName: string): ConnectionType;
|
|
417
|
+
getRpcMethodType(methodName: string): RpcMethodType<string>;
|
|
418
|
+
getInternetAccountType(name: string): InternetAccountType;
|
|
108
419
|
addAdapterType(cb: (pm: PluginManager) => AdapterType): this;
|
|
109
420
|
addTextSearchAdapterType(cb: (pm: PluginManager) => TextSearchAdapterType): this;
|
|
110
421
|
addTrackType(cb: (pm: PluginManager) => TrackType): this;
|
|
@@ -115,11 +426,66 @@ export default class PluginManager {
|
|
|
115
426
|
addRpcMethod(cb: (pm: PluginManager) => RpcMethodType): this;
|
|
116
427
|
addInternetAccountType(cb: (pm: PluginManager) => InternetAccountType): this;
|
|
117
428
|
addAddTrackWorkflowType(cb: (pm: PluginManager) => AddTrackWorkflowType): this;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
429
|
+
/**
|
|
430
|
+
* Contribute entries to an accumulating point.
|
|
431
|
+
*
|
|
432
|
+
* The callback is handed only the props and returns what it wants to add —
|
|
433
|
+
* one entry, several, or `undefined` to add nothing. It never receives the
|
|
434
|
+
* array, which is the whole point: the concatenation happens here, once, so
|
|
435
|
+
* no plugin can write the `[MyEntry]` that silently drops every other
|
|
436
|
+
* plugin's entries. That mistake looked correct to whoever made it, because
|
|
437
|
+
* with one plugin registered there is nothing to drop.
|
|
438
|
+
*/
|
|
439
|
+
contributeToExtensionPoint<N extends AccumulatingPointName>(extensionPointName: N, callback: (props: ExtensionPointProps<N>) => ExtensionPointEntry<N> | ExtensionPointEntry<N>[] | undefined): void;
|
|
440
|
+
/**
|
|
441
|
+
* Listen to a notification point — one that carries its payload in `props`
|
|
442
|
+
* and whose return value nothing reads. The callback returns nothing;
|
|
443
|
+
* `addToExtensionPoint` rejects these names, so this is the only way in.
|
|
444
|
+
*
|
|
445
|
+
* The reason it is the only way in is the async join below, not the shorter
|
|
446
|
+
* callback. A handler that works asynchronously states so by returning a
|
|
447
|
+
* promise, and the producer waits on the folded value; written by hand
|
|
448
|
+
* through `addToExtensionPoint`, the second async handler's promise silently
|
|
449
|
+
* replaced the first's, so the producer stopped waiting as soon as the
|
|
450
|
+
* *last*-registered handler finished rather than when they all had. That is
|
|
451
|
+
* not a mistake a plugin author can see, which is why it is not left to them.
|
|
452
|
+
*/
|
|
453
|
+
listenToExtensionPoint<N extends NotificationPointName>(extensionPointName: N, callback: (props: ExtensionPointProps<N>) => void | Promise<void>): void;
|
|
454
|
+
addToExtensionPoint<N extends Exclude<ExtensionPointName, AccumulatingPointName | NotificationPointName>>(extensionPointName: N, callback: (extendee: ExtensionPointArgs<N>, props: ExtensionPointProps<N>) => ExtensionPointResult<N> | Promise<ExtensionPointResult<N>>): void;
|
|
455
|
+
addToExtensionPoint<T, S extends string = string>(extensionPointName: FoldPointName<S>, callback: (extendee: T, props: Record<string, unknown>) => T | Promise<T>): void;
|
|
456
|
+
/**
|
|
457
|
+
* The one place a callback joins a point's chain. The three public
|
|
458
|
+
* registration methods go through this rather than through each other:
|
|
459
|
+
* `contributeToExtensionPoint` and `listenToExtensionPoint` register on exactly
|
|
460
|
+
* the point names their own signatures reject, so routing them via
|
|
461
|
+
* `addToExtensionPoint` would either fail to compile or force its guard to be
|
|
462
|
+
* loose enough to let a plugin do the same thing by hand.
|
|
463
|
+
*/
|
|
464
|
+
private pushExtensionPointCallback;
|
|
465
|
+
evaluateExtensionPoint<N extends ExtensionPointName>(extensionPointName: N, extendee: ExtensionPointArgs<N>, ...props: ExtensionPointPropsArgs<N>): ExtensionPointResult<N>;
|
|
466
|
+
evaluateExtensionPoint<S extends string>(extensionPointName: UnregisteredPointName<S>, extendee: unknown, props?: Record<string, unknown>): unknown;
|
|
467
|
+
/**
|
|
468
|
+
* Fire a *singular* component point — one where exactly one component can
|
|
469
|
+
* render, so a plugin that returns its own discards whatever the plugin
|
|
470
|
+
* before it returned. Same fold as {@link evaluateExtensionPoint}, plus a
|
|
471
|
+
* one-time warning naming the point when more than one callback genuinely
|
|
472
|
+
* takes the slot. A component built by `wrapComponent` still renders the
|
|
473
|
+
* one it wrapped, so it composes and is not counted.
|
|
474
|
+
*
|
|
475
|
+
* Used by {@link PluggableComponent}; producers should render through that
|
|
476
|
+
* rather than calling this directly.
|
|
477
|
+
*/
|
|
478
|
+
evaluateComponentExtensionPoint<N extends ExtensionPointName>(extensionPointName: N, extendee: ExtensionPointArgs<N>, ...props: ExtensionPointPropsArgs<N>): ExtensionPointResult<N>;
|
|
479
|
+
/**
|
|
480
|
+
* How many callbacks are registered on `extensionPointName`. For a caller
|
|
481
|
+
* that has to tell "every handler declined" apart from "nobody was
|
|
482
|
+
* listening" — the two look identical in the folded result, and
|
|
483
|
+
* assemblyManager waits out the first but not the second.
|
|
484
|
+
*/
|
|
485
|
+
extensionPointCallbackCount(extensionPointName: string): number;
|
|
486
|
+
evaluateAsyncExtensionPoint<N extends ExtensionPointName>(extensionPointName: N, extendee: ExtensionPointArgs<N>, ...props: ExtensionPointPropsArgs<N>): Promise<ExtensionPointResult<N>>;
|
|
487
|
+
evaluateAsyncExtensionPoint<S extends string>(extensionPointName: UnregisteredPointName<S>, extendee: unknown, props?: Record<string, unknown>): Promise<unknown>;
|
|
488
|
+
evaluateAsyncExtensionPointStrict<N extends ExtensionPointName>(extensionPointName: N, extendee: ExtensionPointArgs<N>, ...props: ExtensionPointPropsArgs<N>): Promise<ExtensionPointResult<N>>;
|
|
489
|
+
evaluateAsyncExtensionPointStrict<S extends string>(extensionPointName: UnregisteredPointName<S>, extendee: unknown, props?: Record<string, unknown>): Promise<unknown>;
|
|
124
490
|
}
|
|
125
491
|
export {};
|