@jbrowse/core 4.2.1 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +783 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +40 -40
- package/esm/PluginLoader.js +166 -82
- package/esm/PluginManager.d.ts +368 -55
- package/esm/PluginManager.js +326 -85
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +84 -65
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +154 -19
- package/esm/configuration/configurationSchema.js +359 -138
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +326 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
- package/esm/data_adapters/BaseAdapter/index.js +5 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
- package/esm/data_adapters/BaseAdapter/stats.js +48 -22
- package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +10 -0
- package/esm/pluggableElementTypes/DisplayType.js +14 -1
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +2 -1
- package/esm/pluggableElementTypes/ViewType.js +9 -2
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +68 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +196 -55
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +265 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +49 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +2 -5
- package/esm/rpc/coreRpcMethods.js +9 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +15 -17
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +24 -13
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +136 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +61 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +368 -41
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +4 -4
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +128 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +12 -3
- package/esm/ui/HoverMenu.js +31 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +9 -0
- package/esm/ui/LoadingOverlay.js +137 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +124 -4
- package/esm/ui/MenuTypes.js +13 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +85 -0
- package/esm/ui/PaletteContext.js +104 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +79 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -46
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +36 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +89 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +87 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +44 -0
- package/esm/ui/toggleMenuItems.js +60 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +23 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyInitSettings.d.ts +79 -0
- package/esm/util/applyInitSettings.js +91 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +52 -0
- package/esm/util/cacheBudgets.js +52 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createStopTokenRotation.d.ts +117 -0
- package/esm/util/createStopTokenRotation.js +147 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +23 -0
- package/esm/util/diagonalizeRegions.js +192 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +5 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +28 -0
- package/esm/util/freezeDeep.js +41 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +160 -0
- package/esm/util/hooks.js +416 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +82 -268
- package/esm/util/index.js +136 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +194 -0
- package/esm/util/installFetch.js +178 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +89 -0
- package/esm/util/mstUtils.js +122 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +113 -0
- package/esm/util/pluginStore.js +253 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +42 -1
- package/esm/util/range.js +59 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +14 -1
- package/esm/util/rxjs.js +39 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +38 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/simpleFeature.d.ts +112 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +120 -0
- package/esm/util/tabix.js +143 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +352 -32
- package/esm/util/tracks.js +576 -194
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +358 -119
- package/esm/util/types/index.js +87 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +58 -0
- package/esm/util/viewStatus.js +20 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +27 -0
- package/esm/util/whenViewSettled.js +28 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/package.json +240 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Track-config override deltas.
|
|
3
|
+
*
|
|
4
|
+
* A non-admin's track-menu / Settings edits are stored as a *delta* against the
|
|
5
|
+
* admin-owned base config (jbrowse.tracks entry), not as a full copy. The delta
|
|
6
|
+
* records only the slots the user changed; everything else resolves from the
|
|
7
|
+
* live base, so a later admin change to an untouched field (e.g. a corrected
|
|
8
|
+
* adapter URL) still flows through instead of being masked by a pinned full
|
|
9
|
+
* snapshot.
|
|
10
|
+
*
|
|
11
|
+
* Two operations, inverse of each other on the realistic edit path:
|
|
12
|
+
* - `diffTrackConfig(base, edited)` — the minimal delta
|
|
13
|
+
* - `mergeTrackConfig(base, delta)` — reconstruct the effective config
|
|
14
|
+
*
|
|
15
|
+
* Deliberate limitation (no tombstones): a delta records adds/changes only, not
|
|
16
|
+
* deletions. If a user *resets* a slot the admin had customized (base has it,
|
|
17
|
+
* edited omits it), the delta can't express "drop below the admin value", so the
|
|
18
|
+
* field keeps following the base across a reload. This keeps the merge trivial
|
|
19
|
+
* and the shared JSON free of deletion sentinels, and following the admin value
|
|
20
|
+
* is a defensible outcome.
|
|
21
|
+
*
|
|
22
|
+
* What it is NOT free to conflate is a removal with a reset. Both diff to an
|
|
23
|
+
* empty delta, and `SessionTracks.updateTrackConfiguration` used to read that as
|
|
24
|
+
* "the edit netted back to the base" and revert the track's working copy — which
|
|
25
|
+
* undid a removal on screen 400ms after it landed. Promotable slots made that
|
|
26
|
+
* reachable rather than rare: the promoted-default snackbar's "Override N
|
|
27
|
+
* customized tracks" exists to unset a slot, and an admin config is free to set
|
|
28
|
+
* one. That branch now keeps the working copy; see the comment there.
|
|
29
|
+
*
|
|
30
|
+
* `displays` is merged by `displayId` so an edit to one display doesn't pin the
|
|
31
|
+
* others. Nested config objects (e.g. `adapter`) recurse. Any other array (value
|
|
32
|
+
* arrays like `jexlFilters`, `assemblyNames`) is replaced wholesale when changed.
|
|
33
|
+
*
|
|
34
|
+
* Subtlety worth not "optimizing": when the base has NO `displays` array but the
|
|
35
|
+
* edited snapshot does (common — a track config that omits displays gets a stub
|
|
36
|
+
* per compatible display type injected by `baseTrackConfig.preProcessSnapshot`
|
|
37
|
+
* when it hydrates), the whole edited array lands in the delta, including
|
|
38
|
+
* seemingly content-free `{type, displayId}` stubs. Do not strip those stubs to
|
|
39
|
+
* shrink the delta: the array order defines the default display (`displays[0]`),
|
|
40
|
+
* and re-injection on the next hydrate would append them in a different order,
|
|
41
|
+
* silently changing which display opens by default.
|
|
42
|
+
*/
|
|
43
|
+
import { deepEqual } from './deepEqual.js';
|
|
44
|
+
function isPlainObject(v) {
|
|
45
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
46
|
+
}
|
|
47
|
+
// An array is display-shaped (merge by identity) when every element is an object
|
|
48
|
+
// carrying a displayId. Anything else is a value array (replace-on-change).
|
|
49
|
+
function isDisplayArray(v) {
|
|
50
|
+
return (Array.isArray(v) &&
|
|
51
|
+
v.length > 0 &&
|
|
52
|
+
v.every(e => isPlainObject(e) && typeof e.displayId === 'string'));
|
|
53
|
+
}
|
|
54
|
+
// Sentinel returned by diffValue when a value is unchanged, so callers can tell
|
|
55
|
+
// "no delta" apart from a legitimate `undefined` slot value.
|
|
56
|
+
const UNCHANGED = Symbol('unchanged');
|
|
57
|
+
function diffValue(base, edited) {
|
|
58
|
+
if (deepEqual(base, edited)) {
|
|
59
|
+
return UNCHANGED;
|
|
60
|
+
}
|
|
61
|
+
if (isDisplayArray(edited) && isDisplayArray(base)) {
|
|
62
|
+
const baseById = new Map(base.map(d => [d.displayId, d]));
|
|
63
|
+
const out = [];
|
|
64
|
+
for (const editedDisplay of edited) {
|
|
65
|
+
const id = editedDisplay.displayId;
|
|
66
|
+
const baseDisplay = baseById.get(id);
|
|
67
|
+
if (baseDisplay) {
|
|
68
|
+
const d = diffValue(baseDisplay, editedDisplay);
|
|
69
|
+
if (d !== UNCHANGED) {
|
|
70
|
+
// always re-key the delta entry by displayId so merge can realign it
|
|
71
|
+
out.push({ ...d, displayId: id });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// a display present only in the edited config (e.g. an added display):
|
|
76
|
+
// carry it whole
|
|
77
|
+
out.push(editedDisplay);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return out.length > 0 ? out : UNCHANGED;
|
|
81
|
+
}
|
|
82
|
+
if (isPlainObject(edited) && isPlainObject(base)) {
|
|
83
|
+
const out = {};
|
|
84
|
+
for (const [k, v] of Object.entries(edited)) {
|
|
85
|
+
const d = diffValue(base[k], v);
|
|
86
|
+
if (d !== UNCHANGED) {
|
|
87
|
+
out[k] = d;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// an object whose only difference from base is dropped keys (a reset the
|
|
91
|
+
// delta can't express, see module note) yields no adds/changes: treat it as
|
|
92
|
+
// unchanged rather than emitting a content-free entry
|
|
93
|
+
return Object.keys(out).length > 0 ? out : UNCHANGED;
|
|
94
|
+
}
|
|
95
|
+
// scalar, or an object/array replacing a scalar (or a value array): replace
|
|
96
|
+
return edited;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Minimal delta of `edited` against `base`. Both are plain config snapshots
|
|
100
|
+
* (post-stripDefault). Records adds/changes only; see the module note on the
|
|
101
|
+
* no-tombstone limitation. Always retains `trackId` so the delta is
|
|
102
|
+
* self-identifying.
|
|
103
|
+
*/
|
|
104
|
+
export function diffTrackConfig(base, edited) {
|
|
105
|
+
const d = diffValue(base, edited);
|
|
106
|
+
const delta = d === UNCHANGED ? {} : d;
|
|
107
|
+
const trackId = (edited.trackId ?? base.trackId);
|
|
108
|
+
return { ...delta, trackId };
|
|
109
|
+
}
|
|
110
|
+
function mergeValue(base, delta) {
|
|
111
|
+
if (isDisplayArray(delta) && isDisplayArray(base)) {
|
|
112
|
+
const deltaById = new Map(delta.map(d => [d.displayId, d]));
|
|
113
|
+
const merged = base.map(baseDisplay => {
|
|
114
|
+
const d = deltaById.get(baseDisplay.displayId);
|
|
115
|
+
return d ? mergeValue(baseDisplay, d) : baseDisplay;
|
|
116
|
+
});
|
|
117
|
+
// displays present only in the delta (added by the user) append after base
|
|
118
|
+
const baseIds = new Set(base.map(d => d.displayId));
|
|
119
|
+
for (const d of delta) {
|
|
120
|
+
if (!baseIds.has(d.displayId)) {
|
|
121
|
+
merged.push(d);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return merged;
|
|
125
|
+
}
|
|
126
|
+
if (isPlainObject(delta) && isPlainObject(base)) {
|
|
127
|
+
const out = { ...base };
|
|
128
|
+
for (const [k, v] of Object.entries(delta)) {
|
|
129
|
+
out[k] = mergeValue(base[k], v);
|
|
130
|
+
}
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
133
|
+
// scalar / value array / type mismatch: delta wins
|
|
134
|
+
return delta;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Reconstruct the effective config by layering `delta` over the live `base`.
|
|
138
|
+
* Inverse of `diffTrackConfig` on the add/change path (see module note).
|
|
139
|
+
*/
|
|
140
|
+
export function mergeTrackConfig(base, delta) {
|
|
141
|
+
return mergeValue(base, delta);
|
|
142
|
+
}
|
|
143
|
+
// Keys that identify a config node rather than record a user edit: trackId, kept
|
|
144
|
+
// by diffTrackConfig so the delta self-identifies, and displayId, which diffValue
|
|
145
|
+
// re-stamps on every display it emits. Neither reflects a setting the user
|
|
146
|
+
// changed, so listing changes skips them at any depth.
|
|
147
|
+
const IDENTITY_KEYS = new Set(['trackId', 'displayId']);
|
|
148
|
+
// `type` is identity only on a display-array element, where a display present in
|
|
149
|
+
// the delta for its `{type, displayId}` stub alone must emit nothing. Elsewhere
|
|
150
|
+
// it is a real edit: swapping `adapter.type` or a renderer type changes what the
|
|
151
|
+
// track shows, and skipping it by bare key name at every depth made such an edit
|
|
152
|
+
// invisible to `isTrackOverride` (no edited badge, no Reset) and to the desktop
|
|
153
|
+
// web export, whose ship gate is this same list — an adapter-type edit produced
|
|
154
|
+
// an empty change list and so travelled to the recipient not at all.
|
|
155
|
+
const DISPLAY_IDENTITY_KEYS = new Set([...IDENTITY_KEYS, 'type']);
|
|
156
|
+
function walkDelta(base, delta, path, out, identityKeys = IDENTITY_KEYS) {
|
|
157
|
+
if (isDisplayArray(delta)) {
|
|
158
|
+
const baseById = new Map((isDisplayArray(base) ? base : []).map(d => [d.displayId, d]));
|
|
159
|
+
for (const editedDisplay of delta) {
|
|
160
|
+
const id = editedDisplay.displayId;
|
|
161
|
+
const baseDisplay = baseById.get(id);
|
|
162
|
+
const label = (editedDisplay.type ?? baseDisplay?.type ?? id);
|
|
163
|
+
// recurse into every display (missing base ⇒ {}) so only real slot edits
|
|
164
|
+
// surface — a display present only for its {type, displayId} stub yields
|
|
165
|
+
// no changes rather than being dumped whole
|
|
166
|
+
walkDelta(baseDisplay ?? {}, editedDisplay, [...path, label], out, DISPLAY_IDENTITY_KEYS);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else if (isPlainObject(delta) && isPlainObject(base)) {
|
|
170
|
+
for (const [k, v] of Object.entries(delta)) {
|
|
171
|
+
if (!identityKeys.has(k)) {
|
|
172
|
+
walkDelta(base[k], v, [...path, k], out);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
out.push({ path, from: base, to: delta });
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Flatten a stored track-config `delta` (see {@link diffTrackConfig}) into a
|
|
182
|
+
* list of changed slots paired with their `base` values, so the UI can show a
|
|
183
|
+
* user exactly which settings they've overridden and what the default was.
|
|
184
|
+
* Displays are addressed by type/displayId; identity keys are omitted.
|
|
185
|
+
*/
|
|
186
|
+
export function flattenTrackConfigDelta(base, delta) {
|
|
187
|
+
const out = [];
|
|
188
|
+
walkDelta(base, delta, [], out);
|
|
189
|
+
return out;
|
|
190
|
+
}
|
package/esm/util/tracks.d.ts
CHANGED
|
@@ -1,12 +1,82 @@
|
|
|
1
|
-
|
|
1
|
+
export { getFileName } from './getFileName.ts';
|
|
2
|
+
export { getRpcSessionId } from './parentWalk.ts';
|
|
3
|
+
import type PluginManager from '../PluginManager.ts';
|
|
2
4
|
import type { AnyConfigurationModel } from '../configuration/index.ts';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
+
import type { BlobLocation, FileHandleLocation, FileLocation, PreFileLocation } from './types/data.ts';
|
|
6
|
+
import type { IAnyStateTreeNode, IAnyType, IStateTreeNode, Instance, types } from '@jbrowse/mobx-state-tree';
|
|
7
|
+
export declare function getTrackAssemblyNames(track: IStateTreeNode & {
|
|
5
8
|
configuration: AnyConfigurationModel;
|
|
6
9
|
}): string[];
|
|
10
|
+
/**
|
|
11
|
+
* What {@link canonicalAssemblyNames} needs of an assembly manager — the one
|
|
12
|
+
* method — so a picker that only resolves names says so in its signature and a
|
|
13
|
+
* test can stand in for it without building a session.
|
|
14
|
+
*/
|
|
15
|
+
export interface AssemblyNameResolver {
|
|
16
|
+
getCanonicalAssemblyName: (name: string) => string | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* {@link AssemblyNameResolver} plus the presence test, for a picker that also
|
|
20
|
+
* has to screen out names the session cannot open at all.
|
|
21
|
+
*
|
|
22
|
+
* The screen is `has`, deliberately, and not
|
|
23
|
+
* `getCanonicalAssemblyName(name) !== undefined`: that reads `assemblyNameMap`,
|
|
24
|
+
* which is built from assembly *models*, so it answers no during the window
|
|
25
|
+
* where a config exists and the manager's afterAttach autorun hasn't built its
|
|
26
|
+
* model yet — which is exactly when an import form first renders. `has` also
|
|
27
|
+
* consults `assemblyNamesList`, read off the configs, so it covers both. See
|
|
28
|
+
* assemblyManager's own note on the pair.
|
|
29
|
+
*/
|
|
30
|
+
export interface SessionAssemblies extends AssemblyNameResolver {
|
|
31
|
+
has: (assemblyName: string) => boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Assembly names as the aliases resolve them, so a track configured against
|
|
35
|
+
* `hg38` compares equal to a view on `GRCh38`. Every "does this track belong to
|
|
36
|
+
* these assemblies" test should run both sides through this, or the same track
|
|
37
|
+
* is offered by one picker and hidden by another.
|
|
38
|
+
*
|
|
39
|
+
* A name the assembly manager doesn't know is kept **as written**, not dropped.
|
|
40
|
+
* Dropping it means "matches nothing" on the track side but "no constraint at
|
|
41
|
+
* all" on the list side, and those disagree; kept, both sides compare the same
|
|
42
|
+
* raw string and matching degrades to the exact name — which is also the right
|
|
43
|
+
* answer in the window before the assembly manager has built its models. Empty
|
|
44
|
+
* names are dropped: a half-initialized view pads its assembly list with them.
|
|
45
|
+
*/
|
|
46
|
+
export declare function canonicalAssemblyNames(names: string[], assemblyManager: AssemblyNameResolver): string[];
|
|
47
|
+
/**
|
|
48
|
+
* Whether two names name the same assembly, resolving aliases on both sides.
|
|
49
|
+
*
|
|
50
|
+
* The pairwise counterpart to {@link canonicalAssemblyNames}, for the two
|
|
51
|
+
* places a list cannot be mapped: an index-aligned array, which that function's
|
|
52
|
+
* empty-name filter would desync, and a comparison where one side must come
|
|
53
|
+
* back in the caller's own spelling rather than the canonical one.
|
|
54
|
+
*
|
|
55
|
+
* **Both sides, or it buys nothing.** The names meeting at these comparisons
|
|
56
|
+
* come from different places — a view holds what the session opened it on, a
|
|
57
|
+
* track config holds what its author wrote, and a synteny mate holds whatever
|
|
58
|
+
* the adapter resolved a PanSN prefix to. Any two of those can be aliases of
|
|
59
|
+
* one assembly, and `===` says no.
|
|
60
|
+
*
|
|
61
|
+
* A name the assembly manager doesn't know compares as written, the same
|
|
62
|
+
* degradation {@link canonicalAssemblyNames} makes and for the same reason: an
|
|
63
|
+
* all-vs-all file carries sample names no config declares, and those still have
|
|
64
|
+
* to compare equal to themselves.
|
|
65
|
+
*/
|
|
66
|
+
export declare function isSameAssemblyName(a: string | undefined, b: string | undefined, assemblyManager: AssemblyNameResolver): boolean;
|
|
7
67
|
export declare function getConfAssemblyNames(conf: AnyConfigurationModel): string[];
|
|
8
|
-
|
|
9
|
-
|
|
68
|
+
/**
|
|
69
|
+
* {@link getConfAssemblyNames} for a caller that cannot afford its throw — a
|
|
70
|
+
* config answering neither way leaves the question unanswered instead.
|
|
71
|
+
*
|
|
72
|
+
* `BaseTrackModel.refNameMismatch` is the caller: it runs on every render of
|
|
73
|
+
* every track label, so an unanswerable question must not become a thrown
|
|
74
|
+
* getter. It used to read the raw `assemblyNames` slot itself for that reason,
|
|
75
|
+
* which is a second, subtly different copy of the walk above — and one that
|
|
76
|
+
* answers `[]` for a ReferenceSequenceTrack whose assembly this already knows
|
|
77
|
+
* how to name.
|
|
78
|
+
*/
|
|
79
|
+
export declare function getConfAssemblyNamesOrNone(conf: AnyConfigurationModel): string[];
|
|
10
80
|
export declare const UNKNOWN = "UNKNOWN";
|
|
11
81
|
export declare const UNSUPPORTED = "UNSUPPORTED";
|
|
12
82
|
export declare function getBlob(id: string): File | undefined;
|
|
@@ -16,60 +86,184 @@ export declare function storeBlobLocation(location: PreFileLocation): BlobLocati
|
|
|
16
86
|
export declare function getFileFromCache(handleId: string): File | undefined;
|
|
17
87
|
export declare function setFileInCache(handleId: string, file: File): void;
|
|
18
88
|
export declare function clearFileFromCache(handleId: string): void;
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function setFileHandleCache(cache: Record<string, File>): void;
|
|
89
|
+
export declare function hasFileHandlesInCache(): boolean;
|
|
21
90
|
export declare function ensureFileHandleReady(handleId: string, requestPermission?: boolean): Promise<File>;
|
|
22
91
|
export declare function storeFileHandleLocation(handle: FileSystemFileHandle): Promise<FileHandleLocation>;
|
|
92
|
+
/**
|
|
93
|
+
* Resolves a batch of stored file handles, one result per id.
|
|
94
|
+
*
|
|
95
|
+
* With `requestPermission` set these run ONE AT A TIME, and that is the whole
|
|
96
|
+
* point of the branch. `requestPermission()` needs transient user activation and
|
|
97
|
+
* the browser puts a single file-access prompt on screen at a time, so N of them
|
|
98
|
+
* fired off one "Restore access" click means the first call takes the prompt and
|
|
99
|
+
* the rest are refused without the user ever seeing a dialog — files reported
|
|
100
|
+
* back as permission failures that nobody was asked about. Taking turns, each
|
|
101
|
+
* prompt waits for the one before it to be answered, and whatever the activation
|
|
102
|
+
* window no longer covers is simply still pending for the next click instead of
|
|
103
|
+
* being spent.
|
|
104
|
+
*
|
|
105
|
+
* Without it nothing can prompt, so there is nothing to take turns over and the
|
|
106
|
+
* batch runs at once.
|
|
107
|
+
*/
|
|
23
108
|
export declare function restoreFileHandles(handleIds: string[], requestPermission?: boolean): Promise<({
|
|
24
109
|
handleId: string;
|
|
25
|
-
success:
|
|
110
|
+
success: true;
|
|
26
111
|
error?: undefined;
|
|
27
112
|
} | {
|
|
28
113
|
handleId: string;
|
|
29
|
-
success:
|
|
114
|
+
success: false;
|
|
30
115
|
error: unknown;
|
|
31
116
|
})[]>;
|
|
32
|
-
export declare function findFileHandleIds(obj: unknown
|
|
117
|
+
export declare function findFileHandleIds(obj: unknown): Set<string>;
|
|
33
118
|
export declare function restoreFileHandlesFromSnapshot(sessionSnapshot: unknown, requestPermission?: boolean): Promise<({
|
|
34
119
|
handleId: string;
|
|
35
|
-
success:
|
|
120
|
+
success: true;
|
|
36
121
|
error?: undefined;
|
|
37
122
|
} | {
|
|
38
123
|
handleId: string;
|
|
39
|
-
success:
|
|
40
|
-
error: unknown;
|
|
41
|
-
})[]>;
|
|
42
|
-
export declare function getPendingFileHandleIds(): string[];
|
|
43
|
-
export declare function setPendingFileHandleIds(ids: string[]): void;
|
|
44
|
-
export declare function clearPendingFileHandleIds(): void;
|
|
45
|
-
export declare function restorePendingFileHandles(): Promise<({
|
|
46
|
-
handleId: string;
|
|
47
|
-
success: boolean;
|
|
48
|
-
error?: undefined;
|
|
49
|
-
} | {
|
|
50
|
-
handleId: string;
|
|
51
|
-
success: boolean;
|
|
124
|
+
success: false;
|
|
52
125
|
error: unknown;
|
|
53
126
|
})[]>;
|
|
127
|
+
/**
|
|
128
|
+
* creates a new location from the provided location including the appropriate
|
|
129
|
+
* suffix and location type
|
|
130
|
+
*
|
|
131
|
+
* @param location - the FileLocation
|
|
132
|
+
* @param suffix - the file suffix (e.g. .bam)
|
|
133
|
+
* @returns the constructed location object from the provided parameters
|
|
134
|
+
*/
|
|
54
135
|
export declare function makeIndex(location: FileLocation, suffix: string): BlobLocation | FileHandleLocation | {
|
|
55
136
|
uri: string;
|
|
56
137
|
locationType: string;
|
|
138
|
+
baseUri?: string | undefined;
|
|
57
139
|
localPath?: undefined;
|
|
58
140
|
} | {
|
|
59
141
|
localPath: string;
|
|
60
142
|
locationType: string;
|
|
61
|
-
uri?: undefined;
|
|
62
143
|
};
|
|
144
|
+
/**
|
|
145
|
+
* constructs a potential index file (with suffix) from the provided file name
|
|
146
|
+
*
|
|
147
|
+
* @param name - the name of the index file
|
|
148
|
+
* @param typeA - one option of a potential two file suffix (e.g. CSI, BAI)
|
|
149
|
+
* @param typeB - the second option of a potential two file suffix (e.g. CSI, BAI)
|
|
150
|
+
* @returns a likely name of the index file for a given filename
|
|
151
|
+
*/
|
|
63
152
|
export declare function makeIndexType(name: string | undefined, typeA: string, typeB: string): string;
|
|
153
|
+
/**
|
|
154
|
+
* The `index` block a tabix-indexed adapter's guess writes: where the index is,
|
|
155
|
+
* and which of the two kinds it is.
|
|
156
|
+
*
|
|
157
|
+
* Eight guessers spelled this pair out by hand, which is the crossed-pair hazard
|
|
158
|
+
* `tabixIndexSnapshot` was extracted for on the config side: a `.csi` location
|
|
159
|
+
* filed under `indexType: 'TBI'` is a valid-looking config that opens no index
|
|
160
|
+
* at all, and nothing downstream can tell it from a correct one.
|
|
161
|
+
*
|
|
162
|
+
* BAM is deliberately not here, for the reason `tabixIndexFields` gives: BAI/CSI
|
|
163
|
+
* is a different enumeration over a different default, and folding the two would
|
|
164
|
+
* mean a slot whose vocabulary depends on its adapter.
|
|
165
|
+
*/
|
|
166
|
+
export declare function guessTabixIndex(file: FileLocation, index: FileLocation | undefined): {
|
|
167
|
+
location: BlobLocation | FileHandleLocation | import("./index.ts").UriLocation | {
|
|
168
|
+
uri: string;
|
|
169
|
+
locationType: string;
|
|
170
|
+
baseUri?: string | undefined;
|
|
171
|
+
localPath?: undefined;
|
|
172
|
+
} | {
|
|
173
|
+
localPath: string;
|
|
174
|
+
locationType: string;
|
|
175
|
+
};
|
|
176
|
+
indexType: string;
|
|
177
|
+
};
|
|
64
178
|
export interface AdapterConfig {
|
|
65
179
|
type: string;
|
|
66
180
|
[key: string]: unknown;
|
|
67
181
|
}
|
|
68
182
|
export type AdapterGuesser = (file: FileLocation, index?: FileLocation, adapterHint?: string) => AdapterConfig | undefined;
|
|
69
|
-
export type TrackTypeGuesser = (adapterName: string) => string | undefined;
|
|
70
|
-
|
|
183
|
+
export type TrackTypeGuesser = (adapterName: string, file?: FileLocation) => string | undefined;
|
|
184
|
+
declare module '../PluginManager.ts' {
|
|
185
|
+
interface ExtensionPointRegistry {
|
|
186
|
+
'Core-guessAdapterForLocation': {
|
|
187
|
+
args: AdapterGuesser;
|
|
188
|
+
result: AdapterGuesser;
|
|
189
|
+
};
|
|
190
|
+
'Core-guessTrackTypeForLocation': {
|
|
191
|
+
args: TrackTypeGuesser;
|
|
192
|
+
result: TrackTypeGuesser;
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Register a guess on `Core-guessAdapterForLocation`. Return an adapter config
|
|
198
|
+
* to claim the file, or `undefined` to defer to the plugins registered before
|
|
199
|
+
* this one.
|
|
200
|
+
*
|
|
201
|
+
* Prefer this over calling `addToExtensionPoint` directly: the chaining is done
|
|
202
|
+
* once here, so a plugin cannot break the chain by forgetting to delegate, nor
|
|
203
|
+
* drop an argument on the way through.
|
|
204
|
+
*/
|
|
205
|
+
export declare function addAdapterGuesser(pluginManager: PluginManager, guess: AdapterGuesser): void;
|
|
206
|
+
/**
|
|
207
|
+
* Register a guess on `Core-guessTrackTypeForLocation`. Return a track type
|
|
208
|
+
* name to claim the adapter, or `undefined` to defer. See `addAdapterGuesser`
|
|
209
|
+
* for why this wrapper exists — hand-written delegates here used to drop the
|
|
210
|
+
* optional `file`, which hid it from every guesser registered earlier in the
|
|
211
|
+
* chain.
|
|
212
|
+
*/
|
|
213
|
+
export declare function addTrackTypeGuesser(pluginManager: PluginManager, guess: TrackTypeGuesser): void;
|
|
214
|
+
/**
|
|
215
|
+
* Drop the format extension from a filename, plus any compression suffix, so
|
|
216
|
+
* `volvox.vcf.gz` becomes `volvox` rather than `volvox.vcf`. Names with no
|
|
217
|
+
* extension, and dotfiles, are returned unchanged.
|
|
218
|
+
*/
|
|
219
|
+
export declare function stripFileExtension(name: string): string;
|
|
71
220
|
export declare function guessAdapter(file: FileLocation, index: FileLocation | undefined, adapterHint?: string, model?: IAnyStateTreeNode): AdapterConfig;
|
|
72
|
-
export declare function guessTrackType(adapterType: string, model?: IAnyStateTreeNode): string;
|
|
221
|
+
export declare function guessTrackType(adapterType: string, model?: IAnyStateTreeNode, file?: FileLocation): string;
|
|
222
|
+
export interface LooseTrackInput {
|
|
223
|
+
uri: string;
|
|
224
|
+
index?: string;
|
|
225
|
+
[key: string]: unknown;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Expand a loose track description — a bare data-file URI, or an object with
|
|
229
|
+
* `uri` (and optional `index`) plus any extra config keys — into a full track
|
|
230
|
+
* config, the same inference the "Add track" flow does: the adapter and track
|
|
231
|
+
* type are guessed from the file via the format plugins, a stable `trackId` and
|
|
232
|
+
* a `name` are derived from the filename, and the assembly is stamped on. Extra
|
|
233
|
+
* keys on the input (`name`, `category`, `displays`, ...) override the inferred
|
|
234
|
+
* defaults. Takes a `pluginManager` (not a model) so it runs headlessly — in a
|
|
235
|
+
* worker/Node export as well as the browser. Throws when no format matches, so
|
|
236
|
+
* the caller can ask for a full config instead.
|
|
237
|
+
*/
|
|
238
|
+
export declare function guessTrackConf(input: string | LooseTrackInput, pluginManager: PluginManager, assemblyName?: string): {
|
|
239
|
+
trackId: string;
|
|
240
|
+
type: string;
|
|
241
|
+
name: string;
|
|
242
|
+
assemblyNames: string[];
|
|
243
|
+
adapter: AdapterConfig;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Whether a track snapshot is the loose `{ uri, ... }` form — a data file with
|
|
247
|
+
* no `adapter` — that {@link expandLooseTrackConfig} expands.
|
|
248
|
+
*/
|
|
249
|
+
export declare function isLooseTrackConfig(snap: unknown): snap is LooseTrackInput & {
|
|
250
|
+
trackId?: string;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Expand a loose track config into a full one and leave any other snapshot
|
|
254
|
+
* untouched, so it can sit on every path a track snapshot enters the tree by:
|
|
255
|
+
* the track config union, the root config's frozen `tracks`, `addTrackConf`,
|
|
256
|
+
* and `showTrackGeneric`'s inline config.
|
|
257
|
+
*
|
|
258
|
+
* `{ "trackId": "reads", "uri": "reads.bam", "assemblyNames": ["hg38"] }` is a
|
|
259
|
+
* whole track: the adapter and track type come from the file's extension
|
|
260
|
+
* through the format plugins' guessers, the same inference the "Add track"
|
|
261
|
+
* flow runs, and `name` defaults to the file name. Any key written beside
|
|
262
|
+
* `uri` — `trackId`, `name`, `category`, `displayDefaults`, an explicit `type`
|
|
263
|
+
* — overrides what was inferred. `assemblyName` fills `assemblyNames` when the
|
|
264
|
+
* snapshot has none, for a config or embed that has exactly one assembly.
|
|
265
|
+
*/
|
|
266
|
+
export declare function expandLooseTrackConfig<T>(snap: T, pluginManager: PluginManager, assemblyName?: string): T;
|
|
73
267
|
export declare function generateUnsupportedTrackConf(trackName: string, trackUrl: string, categories: string[] | undefined): {
|
|
74
268
|
type: string;
|
|
75
269
|
name: string;
|
|
@@ -87,6 +281,7 @@ export declare function generateUnknownTrackConf(trackName: string, trackUrl: st
|
|
|
87
281
|
export declare function getTrackName(conf: AnyConfigurationModel | {
|
|
88
282
|
name?: string;
|
|
89
283
|
type?: string;
|
|
284
|
+
trackId?: string;
|
|
90
285
|
}, session: {
|
|
91
286
|
assemblies: AnyConfigurationModel[];
|
|
92
287
|
}): string;
|
|
@@ -100,7 +295,132 @@ interface GenericView {
|
|
|
100
295
|
type: string;
|
|
101
296
|
tracks: MSTArray<MinimalTrack>;
|
|
102
297
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
298
|
+
/**
|
|
299
|
+
* The display-snapshot argument of `showTrackGeneric`, exported so a view's own
|
|
300
|
+
* `showTrack` can annotate its parameter with it rather than approximate it.
|
|
301
|
+
* `Record<string, unknown>` is the approximation that reads as equivalent and is
|
|
302
|
+
* not: it rejects the precise snapshot interfaces callers legitimately pass,
|
|
303
|
+
* which have no index signature — the same hazard the `initialSnapshot`
|
|
304
|
+
* parameter's `object` annotation exists to avoid.
|
|
305
|
+
*/
|
|
306
|
+
export interface DisplayInitialSnapshot {
|
|
307
|
+
type?: string;
|
|
308
|
+
[key: string]: unknown;
|
|
309
|
+
}
|
|
310
|
+
interface DisplayConfSnapshot {
|
|
311
|
+
type: string;
|
|
312
|
+
displayId?: string;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Which display a track opens with in a given view, and the display config that
|
|
316
|
+
* display must use: `{ type, conf }`, or undefined when the view supports none
|
|
317
|
+
* of the track's displays.
|
|
318
|
+
*
|
|
319
|
+
* Two decisions, in this order, and the order is the point. The **type** is what
|
|
320
|
+
* the caller asked for, else the track's first declared display the view
|
|
321
|
+
* supports, else the track type's first supported display. The **config** is
|
|
322
|
+
* then whichever declared entry has that type — never "the first supported one",
|
|
323
|
+
* which is what let a display be created wearing another display's config node
|
|
324
|
+
* (a multi-sample VCF declares both the matrix and the regular display, so the
|
|
325
|
+
* regular one inherited the matrix's 20px connector-line zone and drew its
|
|
326
|
+
* clustering tree offset from the rows it labels). `display.type ===
|
|
327
|
+
* display.configuration.type` is the invariant `DisplayConfigurationReference`
|
|
328
|
+
* already assumes when it falls back to resolving a display config by type; this
|
|
329
|
+
* is where it has to hold.
|
|
330
|
+
*
|
|
331
|
+
* `conf` is undefined when the track config declares no entry of that type;
|
|
332
|
+
* `baseTrackConfig.preProcessSnapshot` injects one for every registered display
|
|
333
|
+
* type, so the caller's `${trackId}-${type}` id resolves to it.
|
|
334
|
+
*/
|
|
335
|
+
/**
|
|
336
|
+
* The display type names a view can render, as a lookup set. Built once per
|
|
337
|
+
* view and handed to {@link viewCanDisplayTrack} for every track, rather than
|
|
338
|
+
* rebuilt per track.
|
|
339
|
+
*/
|
|
340
|
+
export declare function viewDisplayNames(pluginManager: PluginManager, viewType: string): Set<string>;
|
|
341
|
+
/**
|
|
342
|
+
* Whether a view rendering `viewDisplays` can open a track of this type at all
|
|
343
|
+
* — does the track type declare a display the view draws. The coarse half of
|
|
344
|
+
* the question {@link pickDisplayForView} answers precisely: a picker that
|
|
345
|
+
* offers a track this says no to is offering one `showTrackGeneric` will
|
|
346
|
+
* refuse.
|
|
347
|
+
*
|
|
348
|
+
* Reads the *track type's* registered displays rather than a config's own
|
|
349
|
+
* `displays` array, which is both cheaper and the only form available on an
|
|
350
|
+
* un-hydrated frozen track config (ADR-032). The two agree, since
|
|
351
|
+
* `preprocessTrackConfigSnapshot` injects a stub display for every display the
|
|
352
|
+
* track type registers.
|
|
353
|
+
*
|
|
354
|
+
* Two answers that are easy to get wrong, and both have been:
|
|
355
|
+
*
|
|
356
|
+
* - A type **no plugin registered** answers false rather than throwing.
|
|
357
|
+
* `getTrackType` throws on an unknown name, and a frozen track config never
|
|
358
|
+
* passes the schema that would have rejected it at load — so a config naming
|
|
359
|
+
* a plugin that failed to load put that throw inside whatever loop was
|
|
360
|
+
* filtering tracks, and one unopenable track took out the entire list. The
|
|
361
|
+
* track selector and jb2export's circular-view filter met this separately.
|
|
362
|
+
* - A view type registering **no displays at all** constrains nothing, so
|
|
363
|
+
* every track passes. That is a policy rather than a fact, and it lives here
|
|
364
|
+
* so the pickers agree on it.
|
|
365
|
+
*/
|
|
366
|
+
export declare function viewCanDisplayTrack(pluginManager: PluginManager, viewDisplays: Set<string>, trackType: string): boolean;
|
|
367
|
+
export declare function pickDisplayForView({ declaredDisplays, requestedType, trackDisplayTypes, viewDisplayTypes, }: {
|
|
368
|
+
declaredDisplays: DisplayConfSnapshot[];
|
|
369
|
+
requestedType: string | undefined;
|
|
370
|
+
trackDisplayTypes: string[];
|
|
371
|
+
viewDisplayTypes: string[];
|
|
372
|
+
}): {
|
|
373
|
+
type: string;
|
|
374
|
+
conf: DisplayConfSnapshot | undefined;
|
|
375
|
+
} | undefined;
|
|
376
|
+
export type TrackInit = string | {
|
|
377
|
+
trackId: string;
|
|
378
|
+
trackSnapshot?: Record<string, unknown>;
|
|
379
|
+
displaySnapshot?: Record<string, unknown>;
|
|
380
|
+
[key: string]: unknown;
|
|
381
|
+
};
|
|
382
|
+
export declare function normalizeTrackInit(t: TrackInit): {
|
|
383
|
+
trackId: string;
|
|
384
|
+
trackSnapshot: Record<string, unknown>;
|
|
385
|
+
displaySnapshot: {
|
|
386
|
+
[x: string]: unknown;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
export declare function showTrackGeneric(self: GenericView, trackId: string, initialSnapshot?: object, displayInitialSnapshot?: DisplayInitialSnapshot, inlineConf?: Record<string, unknown>): any;
|
|
390
|
+
export interface DisplaySnapshot {
|
|
391
|
+
id: string;
|
|
392
|
+
[key: string]: unknown;
|
|
393
|
+
}
|
|
394
|
+
export interface TrackSnapshot {
|
|
395
|
+
id: string;
|
|
396
|
+
displays: DisplaySnapshot[];
|
|
397
|
+
[key: string]: unknown;
|
|
398
|
+
}
|
|
399
|
+
export declare function stripTrackIds(tracks: TrackSnapshot[]): {
|
|
400
|
+
displays: {
|
|
401
|
+
[key: string]: unknown;
|
|
402
|
+
}[];
|
|
403
|
+
}[];
|
|
404
|
+
export declare function hideTrackGeneric(self: GenericView, trackId: string): boolean;
|
|
405
|
+
export declare function toggleTrackGeneric(self: GenericView, trackId: string): boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Every track config the session can show, connection-supplied ones included.
|
|
408
|
+
*
|
|
409
|
+
* `session.tracks` is only sessionTracks plus the admin config (see
|
|
410
|
+
* product-core's SessionTracks), so a track that arrived from a hub or registry
|
|
411
|
+
* connection is absent from it while still being toggleable from the track
|
|
412
|
+
* selector, which unions the same two sources. Anything answering "what tracks
|
|
413
|
+
* exist for X" wants this, or a feature silently can't see connection tracks.
|
|
414
|
+
*
|
|
415
|
+
* Note `session.tracks` already contains `sessionTracks` — unioning those two
|
|
416
|
+
* yields every session track twice.
|
|
417
|
+
*/
|
|
418
|
+
export declare function allSessionTracks(session: {
|
|
419
|
+
tracks: AnyConfigurationModel[];
|
|
420
|
+
connectionInstances?: {
|
|
421
|
+
tracks: AnyConfigurationModel[];
|
|
422
|
+
}[];
|
|
423
|
+
}): (import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<Record<string, any>> & {
|
|
424
|
+
setSubschema(slotName: string, data: Record<string, unknown>): any;
|
|
425
|
+
setSlot(slotName: string, value: unknown): void;
|
|
426
|
+
} & IStateTreeNode<import("../configuration/types.ts").AnyConfigurationSchemaType>)[];
|