@jbrowse/core 4.3.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +195 -35
- 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 -47
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +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 +350 -30
- package/esm/util/tracks.js +574 -192
- 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
package/README.md
CHANGED
|
@@ -18,3 +18,786 @@ be linked from [jbrowse.org](http://jbrowse.org).
|
|
|
18
18
|
## License
|
|
19
19
|
|
|
20
20
|
Apache-2.0 © Evolutionary Software Foundation
|
|
21
|
+
|
|
22
|
+
<!-- API_DOCS_START -->
|
|
23
|
+
|
|
24
|
+
## API
|
|
25
|
+
|
|
26
|
+
Auto-generated from `#api` JSDoc tags in this package. Do not edit by hand.
|
|
27
|
+
|
|
28
|
+
### Band
|
|
29
|
+
|
|
30
|
+
One band of a display's vertical stack — a coverage histogram, an arc strip, a
|
|
31
|
+
conservation row, a variant lane. The contract is the pair: `active` is whether
|
|
32
|
+
the band exists right now (the display pre-ANDs its settings half, `showX`, with
|
|
33
|
+
its data half, "some lane has ink"), and `height` is the stated height when it
|
|
34
|
+
does. Consumers read pixels through reservedPx or stackBands, never by
|
|
35
|
+
re-combining the pair — the re-combination is where the reserver and the painter
|
|
36
|
+
historically drifted.
|
|
37
|
+
|
|
38
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
39
|
+
|
|
40
|
+
### boundBandHeight
|
|
41
|
+
|
|
42
|
+
Bound a band height to its legal range — a config value, a menu choice, or a
|
|
43
|
+
slider position, i.e. anywhere the number is being _stated_ rather than dragged.
|
|
44
|
+
|
|
45
|
+
The **floor** keeps the band operable at its smallest: for a drag-resized band
|
|
46
|
+
that means keeping the handle grabbable, for a menu-sized one it is the height
|
|
47
|
+
below which its content stops reading. The **ceiling** stops a band from
|
|
48
|
+
swallowing the plot it sits over — every display floors its plot area at 0, so
|
|
49
|
+
an unbounded band takes the rows to zero height rather than to a scrollbar, and
|
|
50
|
+
takes the band's own handle off-screen with them.
|
|
51
|
+
|
|
52
|
+
The bounds differ per band and the rule does not, which is why this takes them
|
|
53
|
+
rather than each band re-deriving the reasoning — that is how the two
|
|
54
|
+
`clampBandHeight`s in this repo drifted apart, each ending up with one half of
|
|
55
|
+
this rule and a doc comment claiming to be the whole of it.
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
// type signature
|
|
59
|
+
(n: number, { min, max }?: BandBounds) => number
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandHeight.ts)
|
|
63
|
+
|
|
64
|
+
### buildColorRampLut
|
|
65
|
+
|
|
66
|
+
An RGBA lookup table over sampleColorRamp, laid out as the Nx1 texture both GPU
|
|
67
|
+
backends upload and the Canvas2D twins index — entry `i` is the color at
|
|
68
|
+
`t = i / (N - 1)`. N comes off the shader that samples it, so the table and
|
|
69
|
+
`rampColor`'s texel mapping cannot disagree.
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
// type signature
|
|
73
|
+
(stops: readonly ColorRampStop[]) => Uint8Array<ArrayBuffer>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
77
|
+
|
|
78
|
+
### canonicalizeViewRefName
|
|
79
|
+
|
|
80
|
+
Resolve user-authored refName text against the assembly of the view containing
|
|
81
|
+
`node` — the one normalization layer, which resolves aliases and casing
|
|
82
|
+
together. Falls back to the input when the assembly is absent or its aliases
|
|
83
|
+
have not loaded.
|
|
84
|
+
|
|
85
|
+
Keyed off the VIEW's assembly rather than the track's, because the view is what
|
|
86
|
+
the comparison is against: displayed regions, loaded regions and blocks all
|
|
87
|
+
carry the refNames the view laid out.
|
|
88
|
+
|
|
89
|
+
Reach for this wherever a refName a _person_ wrote is about to be compared
|
|
90
|
+
against regions, features or blocks, which carry the assembly's canonical name.
|
|
91
|
+
A refName a display copied off a region is canonical already and needs nothing;
|
|
92
|
+
one that arrived in a session spec, a config slot or a URL is whatever the
|
|
93
|
+
author read out of the location box.
|
|
94
|
+
|
|
95
|
+
Skipping it fails silently and, worse, assembly-dependently: `chr12` matches on
|
|
96
|
+
an assembly canonicalized `chr12` and matches nothing on one canonicalized `12`,
|
|
97
|
+
so the same spec key works on one config and quietly does nothing on the next,
|
|
98
|
+
with no error for anyone to act on.
|
|
99
|
+
|
|
100
|
+
Resolves through `getCanonicalRefName2`, whose fallback is what keeps a spec
|
|
101
|
+
read before the alias file has loaded from throwing — and the getters that read
|
|
102
|
+
user specs do run from the first render.
|
|
103
|
+
|
|
104
|
+
Takes a refName, not a spec that might hold one: the resolver reads
|
|
105
|
+
`refName.toLowerCase()`, so anything else throws once the aliases are there, and
|
|
106
|
+
a caller reading an untyped `frozen` slot has to establish that it names a
|
|
107
|
+
refName at all before this is the right question to ask of it.
|
|
108
|
+
|
|
109
|
+
```js
|
|
110
|
+
// type signature
|
|
111
|
+
(node: IAnyStateTreeNode, refName: string) => string
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
115
|
+
|
|
116
|
+
### clampBandHeight
|
|
117
|
+
|
|
118
|
+
Clamp one _resize_ of a drag-resizable band: boundBandHeight, plus the one rule
|
|
119
|
+
a resize needs that a stated height does not.
|
|
120
|
+
|
|
121
|
+
The floor becomes `min(bounds.min, current)`, never the bare bound: a band whose
|
|
122
|
+
config declares it smaller than the floor must stay where it is. Taking the bare
|
|
123
|
+
floor instead made the _first_ drag on such a band jump it up to the floor
|
|
124
|
+
before honoring the delta. A band at or above the floor is unaffected, one below
|
|
125
|
+
it can still be dragged but never smaller than it already is, and one dragged
|
|
126
|
+
back past the floor regains it.
|
|
127
|
+
|
|
128
|
+
The ceiling is not relaxed the same way — a band already over its ceiling is the
|
|
129
|
+
state the user is trying to escape, so a resize brings it back inside.
|
|
130
|
+
|
|
131
|
+
`ResizeHandle` emits one delta per animation frame, so callers driving a drag
|
|
132
|
+
pass `current + distance` as the target and read `current` inside the action — a
|
|
133
|
+
component computing the target from a rendered height drops every tick that
|
|
134
|
+
lands before React re-renders.
|
|
135
|
+
|
|
136
|
+
```js
|
|
137
|
+
// type signature
|
|
138
|
+
(current: number, target: number, bounds?: BandBounds) => number
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandHeight.ts)
|
|
142
|
+
|
|
143
|
+
### clearPromotedDefaults
|
|
144
|
+
|
|
145
|
+
Clear the named promoted defaults for this display type, so every track
|
|
146
|
+
following one reverts to its own config value. Backs the badge's "clear session
|
|
147
|
+
default" action, which passes the slots it actually listed
|
|
148
|
+
(`getDisplayTypeDefaultChanges`).
|
|
149
|
+
|
|
150
|
+
**`slots` is required, and an all-slots default is not the convenience it looks
|
|
151
|
+
like.** It reaches further than any list a dialog can have shown: a promoted
|
|
152
|
+
default the track _customized_ over, or one promoted to a value equal to
|
|
153
|
+
`promotedBase`, is `inherited: false` and so appears in no row, yet still
|
|
154
|
+
governs sibling tracks — so clearing it from a dialog that never showed it moves
|
|
155
|
+
tracks other than the one whose badge was clicked. Clearing every promoted
|
|
156
|
+
default at once is a preferences-scope action, and Preferences → "Reset to
|
|
157
|
+
defaults" is where it lives (`clearPreferenceOverrides`).
|
|
158
|
+
|
|
159
|
+
```js
|
|
160
|
+
// type signature
|
|
161
|
+
(self: ResolvableDisplay, slots: Iterable<string>) => void
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
165
|
+
|
|
166
|
+
### getAssemblyHost
|
|
167
|
+
|
|
168
|
+
The host's assembly manager, for a module that resolves names and nothing else.
|
|
169
|
+
|
|
170
|
+
Unlike the accessors in `sessionServices.ts` this one buys the caller no smaller
|
|
171
|
+
type graph — an `AssemblyManager` is an MST model a `PluginManager` built, so
|
|
172
|
+
naming it costs what naming a session costs. It is here to say which service is
|
|
173
|
+
wanted, and because that cost is the finding: the assembly manager is the one
|
|
174
|
+
thing on `AbstractSessionModel` a third-party host cannot simply implement.
|
|
175
|
+
|
|
176
|
+
```js
|
|
177
|
+
// type signature
|
|
178
|
+
(node: IAnyStateTreeNode) => AssemblyHost
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
182
|
+
|
|
183
|
+
### getConf
|
|
184
|
+
|
|
185
|
+
Reads a configuration value from a state model that has a `.configuration`
|
|
186
|
+
member (a track or display state model). For a raw configuration model, use
|
|
187
|
+
`readConfObject` instead.
|
|
188
|
+
|
|
189
|
+
**This is exactly `readConfObject(model.configuration, path)`** — sugar for the
|
|
190
|
+
`.configuration` hop, and nothing more. The two readers carry the same slot-name
|
|
191
|
+
check, so reaching for the other one does not get a typo past tsc. It does not
|
|
192
|
+
consult the session and has no per-slot behavior; what you read is what the
|
|
193
|
+
track stores.
|
|
194
|
+
|
|
195
|
+
A `promotable` slot read this way therefore yields the raw stored value,
|
|
196
|
+
`undefined` included — that `undefined` is the cascade's inherit sentinel, and
|
|
197
|
+
`resolveConf` is what turns it into a real value. The read type keeps the
|
|
198
|
+
`undefined` on purpose, so reaching for the wrong reader is a compile error
|
|
199
|
+
rather than a silent one.
|
|
200
|
+
|
|
201
|
+
```js
|
|
202
|
+
// type signature
|
|
203
|
+
{ (model: {…}): ModelSnapshotType<…>; <…>(model: {…}, slotPath: SLOT, args?: Record<…> | undefined): SLOT extends string ? ConfigurationSlotValue<…> : any; }
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
207
|
+
|
|
208
|
+
### getConfigSnapshotWithPromotables
|
|
209
|
+
|
|
210
|
+
The display's full config snapshot with every `promotable` slot overwritten by
|
|
211
|
+
its resolved value in place. For building a worker payload: a promotable slot
|
|
212
|
+
serializes as its raw inherit sentinel (`undefined`, since they're all `maybe*`
|
|
213
|
+
types), which the worker can't interpret — it has no session to resolve against.
|
|
214
|
+
This hands it concrete values instead, with no per-slot bookkeeping, so adding a
|
|
215
|
+
promotable worker-consumed slot needs no rpcProps change and can't silently ship
|
|
216
|
+
a sentinel. Main-thread only (the cascade consults the session). Display-only
|
|
217
|
+
promotable slots the worker never reads (e.g. displayMode) are still excluded by
|
|
218
|
+
the caller — resolving them here is a harmless no-op since they're dropped
|
|
219
|
+
anyway.
|
|
220
|
+
|
|
221
|
+
The return type is branded (`ResolvedConfigSnapshot`) so a payload builder can
|
|
222
|
+
demand a snapshot that has been through here. The assertion below is the one
|
|
223
|
+
place the brand is applied, and it sits on the line after the resolve.
|
|
224
|
+
|
|
225
|
+
```js
|
|
226
|
+
// type signature
|
|
227
|
+
(self: ResolvableDisplay) => ResolvedConfigSnapshot
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
231
|
+
|
|
232
|
+
### getContainingDisplay
|
|
233
|
+
|
|
234
|
+
Returns the display model that contains the given node. Throws if the node has
|
|
235
|
+
no containing display.
|
|
236
|
+
|
|
237
|
+
```js
|
|
238
|
+
// type signature
|
|
239
|
+
(node: IAnyStateTreeNode) => AbstractDisplayModel
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
243
|
+
|
|
244
|
+
### getContainingTrack
|
|
245
|
+
|
|
246
|
+
Returns the track model that contains the given node. Throws if the node has no
|
|
247
|
+
containing track.
|
|
248
|
+
|
|
249
|
+
```js
|
|
250
|
+
// type signature
|
|
251
|
+
(node: IAnyStateTreeNode) => AbstractTrackModel
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
255
|
+
|
|
256
|
+
### getContainingView
|
|
257
|
+
|
|
258
|
+
Returns the view model that contains the given node. Throws if the node has no
|
|
259
|
+
containing view.
|
|
260
|
+
|
|
261
|
+
```js
|
|
262
|
+
// type signature
|
|
263
|
+
(node: IAnyStateTreeNode) => AbstractViewModel
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
267
|
+
|
|
268
|
+
### getDialogHost
|
|
269
|
+
|
|
270
|
+
Where a display puts a dialog it cannot mount itself.
|
|
271
|
+
|
|
272
|
+
```js
|
|
273
|
+
// type signature
|
|
274
|
+
(node: IAnyStateTreeNode) => DialogHost
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
278
|
+
|
|
279
|
+
### getDisplayTypeDefaultChanges
|
|
280
|
+
|
|
281
|
+
Effective differences a track following the default inherits from session-wide
|
|
282
|
+
defaults, one per promotable slot whose inherited value differs from its schema
|
|
283
|
+
default. Drives the track-selector "affected by a session default" badge.
|
|
284
|
+
|
|
285
|
+
```js
|
|
286
|
+
// type signature
|
|
287
|
+
(self: ResolvableDisplay) => TrackConfigChange[]
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
291
|
+
|
|
292
|
+
### getEnv
|
|
293
|
+
|
|
294
|
+
Returns the MST environment for a node, which carries the `pluginManager`.
|
|
295
|
+
|
|
296
|
+
```js
|
|
297
|
+
// type signature
|
|
298
|
+
(obj: IAnyStateTreeNode) => { pluginManager: PluginManager; }
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
302
|
+
|
|
303
|
+
### getNotificationSink
|
|
304
|
+
|
|
305
|
+
Where a display puts a message it cannot draw itself.
|
|
306
|
+
|
|
307
|
+
```js
|
|
308
|
+
// type signature
|
|
309
|
+
(node: IAnyStateTreeNode) => NotificationSink
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
313
|
+
|
|
314
|
+
### getPaletteHost
|
|
315
|
+
|
|
316
|
+
The colors to draw with, and the args that rebuild them in a worker.
|
|
317
|
+
|
|
318
|
+
```js
|
|
319
|
+
// type signature
|
|
320
|
+
(node: IAnyStateTreeNode) => PaletteHost
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
324
|
+
|
|
325
|
+
### getRenderingServices
|
|
326
|
+
|
|
327
|
+
Everything a display needs of its host in order to draw a region: the
|
|
328
|
+
assemblies, the RPC entry point and the colors.
|
|
329
|
+
|
|
330
|
+
```js
|
|
331
|
+
// type signature
|
|
332
|
+
(node: IAnyStateTreeNode) => RenderingServices
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
336
|
+
|
|
337
|
+
### getRpcHost
|
|
338
|
+
|
|
339
|
+
The host's RPC entry point, for a module that issues RPCs and nothing else.
|
|
340
|
+
|
|
341
|
+
```js
|
|
342
|
+
// type signature
|
|
343
|
+
(node: IAnyStateTreeNode) => RpcHost
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
347
|
+
|
|
348
|
+
### getSession
|
|
349
|
+
|
|
350
|
+
Returns the JBrowse session model for any node in the state tree. Throws if the
|
|
351
|
+
node has no session ancestor.
|
|
352
|
+
|
|
353
|
+
```js
|
|
354
|
+
// type signature
|
|
355
|
+
(node: IAnyStateTreeNode) => AbstractSessionModel
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
359
|
+
|
|
360
|
+
### getSessionServices
|
|
361
|
+
|
|
362
|
+
The services a session offers that cost nothing application-shaped to name.
|
|
363
|
+
Prefer one of the narrower accessors below, which say which of them the calling
|
|
364
|
+
module actually uses.
|
|
365
|
+
|
|
366
|
+
```js
|
|
367
|
+
// type signature
|
|
368
|
+
(node: IAnyStateTreeNode) => SessionServices
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
372
|
+
|
|
373
|
+
### getTrackConfigWithPromotables
|
|
374
|
+
|
|
375
|
+
See TrackConfigWithPromotables.
|
|
376
|
+
|
|
377
|
+
```js
|
|
378
|
+
// type signature
|
|
379
|
+
(session: PromotedDefaultStore, trackConfig: ModelInstanceTypeProps<…> & {…} & IStateTreeNode<…>) => TrackConfigWithPromotables
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
383
|
+
|
|
384
|
+
### hydrateTrackConfig
|
|
385
|
+
|
|
386
|
+
Hydrate a plain track config into a live config node, dispatching on its `type`
|
|
387
|
+
to find the schema. `session.tracks` holds `types.frozen` plain objects until
|
|
388
|
+
something references a track (ADR-031), so a caller handed one of those has a
|
|
389
|
+
config that reads nothing but what was literally authored: a slot at its schema
|
|
390
|
+
default is absent, `preProcessSnapshot` has not run, and nothing that walks a
|
|
391
|
+
live node — the promotable cascade above all — applies to it.
|
|
392
|
+
|
|
393
|
+
For the callers that need the resolved answer rather than the authored one and
|
|
394
|
+
cannot know which of the two they were handed. The About dialog's "Copy config"
|
|
395
|
+
is the case this exists for: it is reached from two menus, and one of them
|
|
396
|
+
passes a `session.tracks` entry.
|
|
397
|
+
|
|
398
|
+
Returns **undefined** rather than throwing when the config names a track type no
|
|
399
|
+
plugin registered, or when it is invalid enough that `create` rejects it — an
|
|
400
|
+
un-hydrated config has never been validated, so a dialog that opens over it must
|
|
401
|
+
not be the thing that discovers this. Callers fall back to treating it as the
|
|
402
|
+
plain object it is.
|
|
403
|
+
|
|
404
|
+
Shares `TrackConfigurationReference`'s per-PluginManager cache, so hydrating the
|
|
405
|
+
same entry twice returns the same node and a track that gets opened later reuses
|
|
406
|
+
it.
|
|
407
|
+
|
|
408
|
+
```js
|
|
409
|
+
// type signature
|
|
410
|
+
(pluginManager: PluginManager, config: Record<string, unknown>) => (ModelInstanceTypeProps<Record<string, any>> & { ...; } & IStateTreeNode<...>) | undefined
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/configurationSchema.ts)
|
|
414
|
+
|
|
415
|
+
### isSlotCustomized
|
|
416
|
+
|
|
417
|
+
Whether this track has customized the slot (holds a non-default value of its
|
|
418
|
+
own) rather than following the display type's default. The correct "reset to
|
|
419
|
+
default" predicate for a promotable slot: comparing the resolved value to the
|
|
420
|
+
base instead reads as at-default for a track merely _following_ a non-base
|
|
421
|
+
promoted default, so the reset control lights up on a no-op.
|
|
422
|
+
|
|
423
|
+
`SLOT` is constrained the way `getConf`'s is. A pin or a reset over a slot name
|
|
424
|
+
the schema does not declare is inert and silent — `resolveSlot` answers about
|
|
425
|
+
nothing, so the control draws outline forever — and a widened `self` switches
|
|
426
|
+
the check off (`HostChecksSlotNames`).
|
|
427
|
+
|
|
428
|
+
```js
|
|
429
|
+
// type signature
|
|
430
|
+
<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(self: ResolvableDisplay<CONFMODEL>, slot: SLOT) => boolean
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
434
|
+
|
|
435
|
+
### makePin
|
|
436
|
+
|
|
437
|
+
The pin for one promotable slot: "apply this value to every open track of this
|
|
438
|
+
display type", and — via the snackbar it raises — "keep it as the default for
|
|
439
|
+
the ones opened later".
|
|
440
|
+
|
|
441
|
+
`value` chooses between the subsystem's two meanings, which are otherwise
|
|
442
|
+
identical:
|
|
443
|
+
|
|
444
|
+
- **Give it** for a per-value pin — "make _arcs_ the default" — independent of
|
|
445
|
+
what the track currently shows. Use on an always-visible pin so it can never
|
|
446
|
+
promote a meaningless value, and so two rows sharing one slot (arcs `'arc'` vs
|
|
447
|
+
read cloud `'cloud'`; sashimi `'down'` vs `'auto'`) stay independent.
|
|
448
|
+
- **Omit it** for "whatever I'm showing", resolved through the cascade. Use for
|
|
449
|
+
a symmetric or continuous setting where no fixed on-value makes sense (wiggle
|
|
450
|
+
point size, arc line width, `mismatchAlpha`).
|
|
451
|
+
|
|
452
|
+
One function with an optional argument, rather than the two exported builders it
|
|
453
|
+
replaces — a per-value one and a `…CurrentValue…` one, the second of which was
|
|
454
|
+
exactly the first applied to `resolveSlot(self, slot).value`. The pair was one
|
|
455
|
+
function plus a doc section explaining which name to reach for; omitting the
|
|
456
|
+
argument now says what the longer name said.
|
|
457
|
+
|
|
458
|
+
```js
|
|
459
|
+
// type signature
|
|
460
|
+
<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<…>>(self: ResolvableDisplay<CONFMODEL>, slot: SLOT, ...value: [] | [...]) => Pin
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
464
|
+
|
|
465
|
+
### openPromotableDisplays
|
|
466
|
+
|
|
467
|
+
Every display on an open track, across all open views — the reach of anything
|
|
468
|
+
that acts on "the tracks the user is looking at": a promoted default's "apply to
|
|
469
|
+
open tracks", and the share/export bake. One walk so those can't drift apart.
|
|
470
|
+
|
|
471
|
+
Recurses into composite views. A display nested in one resolves the cascade like
|
|
472
|
+
any other but was invisible to both callers, so the share/export bake didn't
|
|
473
|
+
bake its inherited values and a shared session containing a breakpoint-split or
|
|
474
|
+
synteny view rendered differently for the recipient. `LGVSyntenyDisplay` is only
|
|
475
|
+
ever reached through this branch, so don't flatten the recursion away.
|
|
476
|
+
`hasChildViews` names the one composite shape it does not cover.
|
|
477
|
+
|
|
478
|
+
A view holding neither (e.g. spreadsheet) drops out via the structural guards. A
|
|
479
|
+
view whose displays declare no promotable slot (e.g. dotplot, which does hold
|
|
480
|
+
tracks) is walked and contributes nothing — harmless, and cheaper than asking
|
|
481
|
+
each display whether it has anything to promote.
|
|
482
|
+
|
|
483
|
+
```js
|
|
484
|
+
// type signature
|
|
485
|
+
(session: AbstractSessionModel) => ResolvableDisplay[]
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/openDisplays.ts)
|
|
489
|
+
|
|
490
|
+
### Pin
|
|
491
|
+
|
|
492
|
+
The "apply this to every open track of this type" affordance on a menu row — the
|
|
493
|
+
trailing `PushPin`, bundled so the row consumes it as one prop. Built by
|
|
494
|
+
makePin.
|
|
495
|
+
|
|
496
|
+
`active` = this value is currently the session default (a filled pin), which is
|
|
497
|
+
the state, not the click. `toggle` **applies the value to every open track of
|
|
498
|
+
the display type** and raises a snackbar whose one action promotes it to the
|
|
499
|
+
display type's default; on an already-promoted value it clears that default
|
|
500
|
+
instead, touching no track (see `applyPinClick`).
|
|
501
|
+
|
|
502
|
+
**`toggle` rather than an `apply`/`clear` pair**, which was tried and dropped:
|
|
503
|
+
the sole renderer is a MUI `ToggleButton` whose `onChange` means exactly "flip",
|
|
504
|
+
so splitting it adds a member _and_ a branch at the one call site that never
|
|
505
|
+
needed one. `active` is already public for a caller that wants to state a
|
|
506
|
+
direction. (The house preference for explicit setters over toggles is about MST
|
|
507
|
+
actions, where a toggle destroys the ability to set a known state; nothing here
|
|
508
|
+
stores a value.)
|
|
509
|
+
|
|
510
|
+
Lives here, alone and with no imports, rather than beside `makePin` in
|
|
511
|
+
`promotableDefaults.ts`: the menu types describe a pin without building one, and
|
|
512
|
+
`MenuTypes.ts` taking this one interface from that module gave a React-free type
|
|
513
|
+
file a type closure of 374 files. See
|
|
514
|
+
`agent-docs/ideas/barrels-block-extraction.md` and `scripts/moduleClosure.ts`.
|
|
515
|
+
|
|
516
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotablePin.ts)
|
|
517
|
+
|
|
518
|
+
### readConfObject
|
|
519
|
+
|
|
520
|
+
Given a configuration model (an instance of a ConfigurationSchema), read the
|
|
521
|
+
configuration value at the given path. Use this when you hold the configuration
|
|
522
|
+
model directly, e.g. an entry from `session.tracks`.
|
|
523
|
+
|
|
524
|
+
Wants a **live config node**, not a snapshot of one, and passing a snapshot is a
|
|
525
|
+
type error. Slots are built with `types.stripDefault`, so a slot sitting at its
|
|
526
|
+
default is absent from a snapshot — "unset" and "at its default" are
|
|
527
|
+
indistinguishable there, and a read off one reports a default as missing.
|
|
528
|
+
|
|
529
|
+
That is enforced in the types only, deliberately: it can't be a runtime check.
|
|
530
|
+
`generateHierarchy` reads slots straight off the **un-hydrated frozen** entries
|
|
531
|
+
of `jbrowse.tracks` on purpose, because hydrating every track to answer the
|
|
532
|
+
track selector is what `types.frozen` exists to avoid — and those reads are
|
|
533
|
+
indistinguishable at runtime from the broken spelling.
|
|
534
|
+
|
|
535
|
+
```js
|
|
536
|
+
// type signature
|
|
537
|
+
{…}
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/readConfObject.ts)
|
|
541
|
+
|
|
542
|
+
### readConfSlot
|
|
543
|
+
|
|
544
|
+
Read a single config slot from a config that may be **either** a live MST node
|
|
545
|
+
or a plain snapshot object, evaluating the value if it is a `jexl:` expression.
|
|
546
|
+
For the dialogs and panels that are handed a track config without knowing which
|
|
547
|
+
of the two they got. An About panel gets a hydrated track config from the
|
|
548
|
+
session and a bare object from an embedded caller.
|
|
549
|
+
|
|
550
|
+
Reach for `readConfObject` or `readConfigValue` when the shape is known: this
|
|
551
|
+
one decides at runtime, and the plain branch inherits the snapshot caveat (a
|
|
552
|
+
slot at its default is absent from a snapshot, so it reads `undefined`).
|
|
553
|
+
|
|
554
|
+
```js
|
|
555
|
+
// type signature
|
|
556
|
+
<…>(config: Record<…> | (ModelInstanceTypeProps<…> & {…} & IStateTreeNode<…>), slotPath: string | string[], args?: Record<…>, jexl?: JexlInstance | undefined) => T
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/readConfObject.ts)
|
|
560
|
+
|
|
561
|
+
### relight
|
|
562
|
+
|
|
563
|
+
Move a color's OKLCH lightness by `lightnessShift` and scale its chroma, holding
|
|
564
|
+
its hue.
|
|
565
|
+
|
|
566
|
+
For extending a categorical palette past its length. Cycling a nine-color list
|
|
567
|
+
over a 24-chromosome karyotype repeats the color outright; cycling it with a
|
|
568
|
+
lightness shift per lap gives the hue back as a variant still told apart from
|
|
569
|
+
the original — tab20's construction, which pairs a light and a dark of each hue.
|
|
570
|
+
|
|
571
|
+
SHIFT rather than a fixed lightness, and SCALE rather than a fixed chroma,
|
|
572
|
+
because a categorical palette is uneven on purpose: category10's brown and its
|
|
573
|
+
red are 5 degrees apart in hue and are told apart by chroma alone, so
|
|
574
|
+
re-lighting both to one (lightness, chroma) makes them the same color. Keeping
|
|
575
|
+
each color's own relative chroma keeps brown reading as brown.
|
|
576
|
+
|
|
577
|
+
In OKLCH rather than through `lighten`/`darken`, which work in sRGB, where the
|
|
578
|
+
same coefficient moves a yellow and a blue by visibly different amounts: a lap
|
|
579
|
+
has to read as one tone across the whole palette or it reads as noise.
|
|
580
|
+
|
|
581
|
+
```js
|
|
582
|
+
// type signature
|
|
583
|
+
(color: string, lightnessShift: number, chromaScale?: number) => string
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/color/index.ts)
|
|
587
|
+
|
|
588
|
+
### reservedPx
|
|
589
|
+
|
|
590
|
+
The pixels a band takes from the plot below it: 0 when off, the (optionally
|
|
591
|
+
bound) stated height when on. This is the single spelling of "off spends 0 px".
|
|
592
|
+
|
|
593
|
+
```js
|
|
594
|
+
// type signature
|
|
595
|
+
(band: Band) => number
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
599
|
+
|
|
600
|
+
### resolveConf
|
|
601
|
+
|
|
602
|
+
Reads a `promotable` slot through the display-type-default cascade — the track's
|
|
603
|
+
own value, else the session-wide promoted default for this display type, else
|
|
604
|
+
the slot's `promotedBase`. Always yields a real value, never the `undefined`
|
|
605
|
+
inherit sentinel, so a display's value getter is
|
|
606
|
+
`get displayMode(): DisplayMode { return resolveConf(self, 'displayMode') }`
|
|
607
|
+
with no post-guard and no cast.
|
|
608
|
+
|
|
609
|
+
Separate from `getConf` rather than folded into it, deliberately: resolution
|
|
610
|
+
consults the session, so it is main-thread only and throws on a detached node.
|
|
611
|
+
Folding it in was built and reverted — ADR-046.
|
|
612
|
+
|
|
613
|
+
Throws if `slot` isn't promotable — the cascade has nothing to say about a plain
|
|
614
|
+
slot, and `getConf` is what you want there.
|
|
615
|
+
|
|
616
|
+
Takes no jexl `args`, unlike `getConf`: a promotable slot cannot hold a callback
|
|
617
|
+
(see `SlotResolution`), so there is no per-feature context to supply.
|
|
618
|
+
|
|
619
|
+
```js
|
|
620
|
+
// type signature
|
|
621
|
+
<…>(model: ResolvableDisplay<...>, slot: SLOT) => ConfigurationSlotValueResolved<...>
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
625
|
+
|
|
626
|
+
### ResolvedConfigSnapshot
|
|
627
|
+
|
|
628
|
+
A display config snapshot whose promotable slots hold RESOLVED values rather
|
|
629
|
+
than the inherit sentinel — what a worker payload has to be built from.
|
|
630
|
+
|
|
631
|
+
The brand is required and unforgeable, so a plain `Record<string, unknown>` is
|
|
632
|
+
not assignable to it and neither is `getSnapshot(self.configuration)`. That is
|
|
633
|
+
the whole point. Everything downstream of the resolve is an ERASED container — a
|
|
634
|
+
snapshot is `Record<string, unknown>`, and the payload it becomes is an
|
|
635
|
+
`as`-asserted interface — so a payload builder handed the RAW snapshot instead
|
|
636
|
+
typechecks, ships `undefined` for every promotable slot, and types it as the
|
|
637
|
+
resolved value. That was measured, not supposed: the raw spelling in
|
|
638
|
+
`LinearBasicDisplay`'s `rpcProps()` passed `pnpm typecheck` and every suite in
|
|
639
|
+
`plugins/canvas`, `packages/core/src/configuration` and `products/jbrowse-web`,
|
|
640
|
+
while sending the worker `undefined` for chevrons, subfeature labels and feature
|
|
641
|
+
height.
|
|
642
|
+
|
|
643
|
+
The rest of this subsystem's guarantees are carried by types that stay connected
|
|
644
|
+
to the schema: a raw read of a promotable `maybe*` slot is `T | undefined` (see
|
|
645
|
+
`ConfigurationSlotValue`), so `getConf` where `resolveConf` was meant is a
|
|
646
|
+
compile error at any typed consumer. The brand is that guarantee re-established
|
|
647
|
+
at the point where the connection is cut.
|
|
648
|
+
|
|
649
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
650
|
+
|
|
651
|
+
### sampleColorRamp
|
|
652
|
+
|
|
653
|
+
The color at `t` in `[0, 1]` across a list of EVENLY SPACED stops, linearly
|
|
654
|
+
interpolated per channel. `t` is clamped, so the ends are the end stops rather
|
|
655
|
+
than an extrapolation past them, and a one-stop ramp is that stop everywhere.
|
|
656
|
+
|
|
657
|
+
```js
|
|
658
|
+
// type signature
|
|
659
|
+
(stops: readonly ColorRampStop[], t: number) => ColorRampStop
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
663
|
+
|
|
664
|
+
### SessionPaletteProvider
|
|
665
|
+
|
|
666
|
+
Make JBrowse follow the host's light/dark state — the whole of it, in one mount:
|
|
667
|
+
|
|
668
|
+
```tsx
|
|
669
|
+
<SessionPaletteProvider session={session} mode={myAppIsDark ? 'dark' : 'light'}>
|
|
670
|
+
{tracks}
|
|
671
|
+
</SessionPaletteProvider>
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
A component rather than a documented pair of calls because the pair has a half
|
|
675
|
+
that can be left out with nothing to show for it. `PaletteProvider` is the name
|
|
676
|
+
a host reaches for, and it colors the React side alone; the session write is
|
|
677
|
+
what reaches the RPC worker, which bakes feature labels into the rendered image.
|
|
678
|
+
So a host that mounts only the provider gets light-mode labels on a dark page,
|
|
679
|
+
from a canvas whose every other pixel is right, and nothing errors. See
|
|
680
|
+
useSessionPalette for the mechanism.
|
|
681
|
+
|
|
682
|
+
The session is the only thing that resolves a palette here, so a host supplying
|
|
683
|
+
colors of its own mounts `PaletteProvider` directly instead.
|
|
684
|
+
|
|
685
|
+
```js
|
|
686
|
+
// type signature
|
|
687
|
+
({ session, mode, children, }: { session: ThemeModeSession; mode: "dark" | "light"; children: ReactNode; }) => Element
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/ui/PaletteContext.tsx)
|
|
691
|
+
|
|
692
|
+
### setConf
|
|
693
|
+
|
|
694
|
+
Write counterpart to `getConf`: sets a slot on a state model that has a
|
|
695
|
+
`.configuration` member (a track or display state model).
|
|
696
|
+
|
|
697
|
+
**Prefer this over a bare `self.configuration.setSlot('x', v)`.** The constraint
|
|
698
|
+
here mirrors `getConf`'s, so on a model with a concrete schema an unknown slot
|
|
699
|
+
name is a compile error. `setSlot` itself stays untyped on purpose — the config
|
|
700
|
+
editor's slot facade routes dynamic slot names through it
|
|
701
|
+
(`configurationSchema.ts`) — and guards the name at runtime instead (ADR-052),
|
|
702
|
+
so a misspelled write is diagnosed one way or the other.
|
|
703
|
+
|
|
704
|
+
**The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
705
|
+
schema doesn't declare returns `undefined` and reports nothing, at any layer, so
|
|
706
|
+
the slot keeps reading as its default forever. Which makes the compile-time
|
|
707
|
+
constraint worth keeping _reachable_: it is only as good as the schema of the
|
|
708
|
+
holder handed in, and a holder widened to `AnyConfigurationModel` switches it
|
|
709
|
+
off entirely — the trap a mixin casting to reach its host walks into. Every such
|
|
710
|
+
cast names a concrete schema instead (`ConfigModelForFields`, or the base schema
|
|
711
|
+
when the slot is the base's), and `HostChecksSlotNames` pins each one.
|
|
712
|
+
|
|
713
|
+
A wrong _value_ type still throws at runtime (MST type-checks the assignment)
|
|
714
|
+
rather than at compile time. `value` is deliberately `unknown` because the
|
|
715
|
+
inherit sentinel (`undefined`/`null`) is a legitimate write on every promotable
|
|
716
|
+
slot, which the declared slot value type doesn't include.
|
|
717
|
+
|
|
718
|
+
```js
|
|
719
|
+
// type signature
|
|
720
|
+
<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<…> = ConfigurationSlotName<…>>(model: { ...; }, slotName: SLOT, value: unknown) => void
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
724
|
+
|
|
725
|
+
### stackBands
|
|
726
|
+
|
|
727
|
+
Fold an ordered set of bands into tops and a bottom. The order is the argument,
|
|
728
|
+
so a display states its band order exactly once; reserve, paint and pick all
|
|
729
|
+
read the same fold, which is what keeps "the reserver and the painter read one
|
|
730
|
+
function" true by construction rather than by prose.
|
|
731
|
+
|
|
732
|
+
Only the fold is shared. What varies per display stays there: per-lane iteration
|
|
733
|
+
runs this once per lane, sticky-vs-scrolling is a property of how the result is
|
|
734
|
+
projected to the screen, and a band drawn outside its reservation (an overlay)
|
|
735
|
+
carries its own draw rect beside the stack.
|
|
736
|
+
|
|
737
|
+
```js
|
|
738
|
+
// type signature
|
|
739
|
+
<K extends string>(order: readonly K[], bands: Record<K, Band>) => BandStack<K>
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
743
|
+
|
|
744
|
+
### stopsFromRampLut
|
|
745
|
+
|
|
746
|
+
`n` evenly spaced legend stops read straight out of a buildColorRampLut byte
|
|
747
|
+
table — the same 256×1 RGBA array `uploadColorRampLut` hands the GPU and the
|
|
748
|
+
Canvas2D fillStyle LUTs index — formatted for `SvgGradientLegend`. It holds one
|
|
749
|
+
claim by construction: the swatch at bar fraction `t` is byte-identical to the
|
|
750
|
+
ramp entry at `t` on both backends. Alpha rides `opacity` (the juicebox fade),
|
|
751
|
+
never baked into the color string.
|
|
752
|
+
|
|
753
|
+
```js
|
|
754
|
+
// type signature
|
|
755
|
+
(lut: Uint8Array<ArrayBufferLike>, n: number) => GradientStop[]
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
759
|
+
|
|
760
|
+
### TrackConfigWithPromotables
|
|
761
|
+
|
|
762
|
+
A track config snapshot with every display's `promotable` slots resolved, plus
|
|
763
|
+
the list of values that came from a session-wide default rather than from the
|
|
764
|
+
config itself.
|
|
765
|
+
|
|
766
|
+
For handing a track's config to somewhere that leaves the cascade for good — the
|
|
767
|
+
About dialog's "Copy config", whose output a user pastes into a `config.json`. A
|
|
768
|
+
raw `getSnapshot` records a slot a track merely _follows_ as absent
|
|
769
|
+
(`stripDefault` collapsed it), so the copied config renders differently from the
|
|
770
|
+
track it was copied from. This is `getComputedStyle` at that boundary, and
|
|
771
|
+
`fromDisplayTypeDefaults` is what lets the UI say so rather than silently
|
|
772
|
+
materializing a session preference into a track config.
|
|
773
|
+
|
|
774
|
+
Resolves from the display _config_ alone, whether or not the track is open.
|
|
775
|
+
Everything the cascade takes is on the config node: it is the same node an open
|
|
776
|
+
display's `configuration` points at (the hydration cache makes it stable), its
|
|
777
|
+
`type` is the display type the session-wide tier is keyed on (every display
|
|
778
|
+
schema is `explicitlyTyped` under the display type's own name), and the session
|
|
779
|
+
is passed in. So an unopened track — which has no display state at all — still
|
|
780
|
+
has an answer to "what would this render as", by the same code path.
|
|
781
|
+
|
|
782
|
+
**Writes every promotable slot, including the ones sitting at `promotedBase`,
|
|
783
|
+
and that is the decision — don't "align" it with the share bake.** A pasted
|
|
784
|
+
`config.json` is read by a mechanism with no cascade in it at all, so writing
|
|
785
|
+
only the inherited values would leave every other slot to pick up whatever the
|
|
786
|
+
reader has promoted in their own browser. Pinned by
|
|
787
|
+
`products/jbrowse-web/src/tests/CopyConfigPromotedDefaults.test.ts`.
|
|
788
|
+
|
|
789
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/promotableDefaults.ts)
|
|
790
|
+
|
|
791
|
+
### VIRIDIS_STOPS
|
|
792
|
+
|
|
793
|
+
The 256 viridis stops, fully opaque. Feed them to buildColorRampLut for the
|
|
794
|
+
texture/fillStyle form, or to sampleColorRamp for legend stops.
|
|
795
|
+
|
|
796
|
+
```js
|
|
797
|
+
// type signature
|
|
798
|
+
readonly ColorRampStop[]
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
802
|
+
|
|
803
|
+
<!-- API_DOCS_END -->
|