@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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ConfigurationSchema } from './configurationSchema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Levels of subfeature the `subfeatures` callback runs on when no tier sets
|
|
4
|
+
* `depth`. Lives here rather than as the slot's `defaultValue` because the slot
|
|
5
|
+
* has to be able to say "unset": see the `depth` slot's own comment.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_FORMAT_DETAILS_DEPTH = 2;
|
|
8
|
+
/**
|
|
9
|
+
* #config FormatDetails
|
|
10
|
+
* #category root
|
|
11
|
+
* jexl callbacks that add, rewrite or hide fields in the feature-details panel.
|
|
12
|
+
* The same schema hangs off every track and off the session as
|
|
13
|
+
* `configuration.formatDetails`, which applies to every track at once. Where
|
|
14
|
+
* both are set, the callbacks merge with the track's object over the session's,
|
|
15
|
+
* so a track can override individual keys the global callback added, and the
|
|
16
|
+
* numeric slots take the track's value when the track sets one.
|
|
17
|
+
*
|
|
18
|
+
* #example
|
|
19
|
+
* On a track. The callback returns an object merged over the feature: a new key
|
|
20
|
+
* adds a row, an existing key rewrites it, and `undefined` hides it. A bare URL
|
|
21
|
+
* is turned into a link for you, so no `<a>` markup is needed:
|
|
22
|
+
* ```js
|
|
23
|
+
* {
|
|
24
|
+
* type: 'FeatureTrack',
|
|
25
|
+
* trackId: 'genes',
|
|
26
|
+
* name: 'Genes',
|
|
27
|
+
* assemblyNames: ['hg38'],
|
|
28
|
+
* adapter: {
|
|
29
|
+
* type: 'Gff3TabixAdapter',
|
|
30
|
+
* uri: 'https://example.com/genes.gff.gz',
|
|
31
|
+
* },
|
|
32
|
+
* formatDetails: {
|
|
33
|
+
* feature: "jexl:{ncbi:'https://www.ncbi.nlm.nih.gov/gene/?term='+feature.name, phase:undefined}",
|
|
34
|
+
* },
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function FormatDetailsConfigSchemaFactory() {
|
|
39
|
+
return ConfigurationSchema('FormatDetails', {
|
|
40
|
+
/**
|
|
41
|
+
* #slot formatDetails.feature
|
|
42
|
+
* callback returning an object of fields to merge onto the clicked feature.
|
|
43
|
+
* A plain object works too, for fields that are the same on every feature
|
|
44
|
+
*/
|
|
45
|
+
feature: {
|
|
46
|
+
type: 'frozen',
|
|
47
|
+
description: 'adds extra fields to the feature details',
|
|
48
|
+
defaultValue: {},
|
|
49
|
+
contextVariable: ['feature'],
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* #slot formatDetails.subfeatures
|
|
53
|
+
* the same, applied to each subfeature down to `depth`
|
|
54
|
+
*/
|
|
55
|
+
subfeatures: {
|
|
56
|
+
type: 'frozen',
|
|
57
|
+
description: 'adds extra fields to the subfeatures of a feature',
|
|
58
|
+
defaultValue: {},
|
|
59
|
+
contextVariable: ['feature'],
|
|
60
|
+
},
|
|
61
|
+
/**
|
|
62
|
+
* #slot formatDetails.depth
|
|
63
|
+
* how many levels of subfeature the `subfeatures` callback runs on,
|
|
64
|
+
* defaulting to 2, which stops at a gene's transcripts rather than
|
|
65
|
+
* descending into their exons and CDSs. A track's value wins over the
|
|
66
|
+
* session's
|
|
67
|
+
*/
|
|
68
|
+
depth: {
|
|
69
|
+
// `maybeNumber`, so unset is expressible. With a `defaultValue` the two
|
|
70
|
+
// tiers cannot be told apart -- a plain number slot reads back its own
|
|
71
|
+
// default, so "the track set 2" and "the track set nothing" are the same
|
|
72
|
+
// read, and the session-wide value can never apply to a track. The
|
|
73
|
+
// resolved default is DEFAULT_FORMAT_DETAILS_DEPTH, applied by the reader
|
|
74
|
+
type: 'maybeNumber',
|
|
75
|
+
description: 'levels of subfeature the formatDetails.subfeatures callback runs on, default 2',
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* #slot formatDetails.maxDepth
|
|
79
|
+
* how many levels of subfeature card the panel renders at all, which is a
|
|
80
|
+
* separate question from how deep `subfeatures` formats. Unset means no
|
|
81
|
+
* limit. A track's value wins over the session's
|
|
82
|
+
*/
|
|
83
|
+
maxDepth: {
|
|
84
|
+
// `maybeNumber` for the same reason as `depth`, and here unset is also
|
|
85
|
+
// the meaningful value: no limit at all
|
|
86
|
+
type: 'maybeNumber',
|
|
87
|
+
description: 'hide subfeatures nested deeper than this, default no limit',
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AnyConfigurationModel } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Plain-object snapshot of a configuration model including ALL values, even
|
|
4
|
+
* defaults. Unlike `getSnapshot()`, which strips a slot sitting at its default
|
|
5
|
+
* via `types.stripDefault`, this returns every slot's current value, so the
|
|
6
|
+
* result is a self-contained config object an RPC worker can read with no
|
|
7
|
+
* schema. JEXL callback slots keep their raw `"jexl:..."` string for the worker
|
|
8
|
+
* to evaluate per-feature.
|
|
9
|
+
*
|
|
10
|
+
* **Why this isn't exported from `@jbrowse/core/configuration`.** It was
|
|
11
|
+
* (as `getConfSnapshot`), and being reachable was the hazard. A promotable slot
|
|
12
|
+
* resolves against the session at read time, so snapshotting one raw ships the
|
|
13
|
+
* bare `undefined` inherit sentinel to a worker with no session to resolve it
|
|
14
|
+
* against — and every display in the repo now has promotable slots. The public
|
|
15
|
+
* form used to defend itself by *throwing* on such a config, which meant the
|
|
16
|
+
* obvious spelling in a new `rpcProps()` failed at runtime, on the first fetch,
|
|
17
|
+
* in whichever product exercised that display. Off the barrel, the same mistake
|
|
18
|
+
* is an unresolved import: it can't be written at all, and
|
|
19
|
+
* `getConfigSnapshotWithPromotables(display)` is the one way across the boundary.
|
|
20
|
+
* So this is the shared walker those resolvers are built on, not an entry point.
|
|
21
|
+
*
|
|
22
|
+
* The nested-schema guard below is the part of that defense still worth
|
|
23
|
+
* enforcing at runtime, since no import can express it.
|
|
24
|
+
*
|
|
25
|
+
* Note: only handles slots and direct sub-configuration models. Arrays or maps
|
|
26
|
+
* of sub-schemas are silently dropped — nothing has needed them.
|
|
27
|
+
*/
|
|
28
|
+
export declare function fullConfSnapshot(confObject: AnyConfigurationModel): Record<string, unknown>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { getSnapshot, isArrayType, isMapType, isStateTreeNode, } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { promotableSlotNames } from './promotableSlots.js';
|
|
3
|
+
import { getConfigurationSchemaDefinition } from './schemaRegistry.js';
|
|
4
|
+
import { isConfigurationModel, isConfigurationSchemaType, isSlotDefinitionEntry, } from './schemaTypes.js';
|
|
5
|
+
/**
|
|
6
|
+
* Plain-object snapshot of a configuration model including ALL values, even
|
|
7
|
+
* defaults. Unlike `getSnapshot()`, which strips a slot sitting at its default
|
|
8
|
+
* via `types.stripDefault`, this returns every slot's current value, so the
|
|
9
|
+
* result is a self-contained config object an RPC worker can read with no
|
|
10
|
+
* schema. JEXL callback slots keep their raw `"jexl:..."` string for the worker
|
|
11
|
+
* to evaluate per-feature.
|
|
12
|
+
*
|
|
13
|
+
* **Why this isn't exported from `@jbrowse/core/configuration`.** It was
|
|
14
|
+
* (as `getConfSnapshot`), and being reachable was the hazard. A promotable slot
|
|
15
|
+
* resolves against the session at read time, so snapshotting one raw ships the
|
|
16
|
+
* bare `undefined` inherit sentinel to a worker with no session to resolve it
|
|
17
|
+
* against — and every display in the repo now has promotable slots. The public
|
|
18
|
+
* form used to defend itself by *throwing* on such a config, which meant the
|
|
19
|
+
* obvious spelling in a new `rpcProps()` failed at runtime, on the first fetch,
|
|
20
|
+
* in whichever product exercised that display. Off the barrel, the same mistake
|
|
21
|
+
* is an unresolved import: it can't be written at all, and
|
|
22
|
+
* `getConfigSnapshotWithPromotables(display)` is the one way across the boundary.
|
|
23
|
+
* So this is the shared walker those resolvers are built on, not an entry point.
|
|
24
|
+
*
|
|
25
|
+
* The nested-schema guard below is the part of that defense still worth
|
|
26
|
+
* enforcing at runtime, since no import can express it.
|
|
27
|
+
*
|
|
28
|
+
* Note: only handles slots and direct sub-configuration models. Arrays or maps
|
|
29
|
+
* of sub-schemas are silently dropped — nothing has needed them.
|
|
30
|
+
*/
|
|
31
|
+
export function fullConfSnapshot(confObject) {
|
|
32
|
+
const result = {};
|
|
33
|
+
const table = getConfigurationSchemaDefinition(confObject);
|
|
34
|
+
for (const [key, def] of Object.entries(table ?? {})) {
|
|
35
|
+
const v = confObject[key];
|
|
36
|
+
if (isSlotDefinitionEntry(def)) {
|
|
37
|
+
// jexl callback strings pass through raw for per-feature evaluation in
|
|
38
|
+
// the worker.
|
|
39
|
+
result[key] = isStateTreeNode(v) ? getSnapshot(v) : v;
|
|
40
|
+
}
|
|
41
|
+
else if (isConfigurationSchemaType(def) &&
|
|
42
|
+
!isArrayType(def) &&
|
|
43
|
+
!isMapType(def) &&
|
|
44
|
+
isConfigurationModel(v)) {
|
|
45
|
+
// a direct sub-configuration recurses. Arrays/maps of sub-schemas are
|
|
46
|
+
// dropped: their MST node also reports as a config model, but the
|
|
47
|
+
// array/map type carries no registered slot table, so recursing would
|
|
48
|
+
// emit a meaningless `{}` (a type-confusion hazard for a consumer
|
|
49
|
+
// expecting the array). Constants are skipped entirely.
|
|
50
|
+
assertNoPromotableSlots(v);
|
|
51
|
+
result[key] = fullConfSnapshot(v);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
// A promotable slot is only ever resolvable at a config's own top level — the
|
|
57
|
+
// resolver walks that one slot table (`promotableSlotNames` / `getSlotDefinition`)
|
|
58
|
+
// and never descends. So one declared inside a *nested* schema would resolve
|
|
59
|
+
// nowhere and serialize as its bare inherit sentinel, with no import to get wrong
|
|
60
|
+
// and no symptom until a worker read the sentinel. Fail at the snapshot instead.
|
|
61
|
+
function assertNoPromotableSlots(confObject) {
|
|
62
|
+
const promotable = promotableSlotNames(confObject);
|
|
63
|
+
if (promotable.size > 0) {
|
|
64
|
+
throw new Error(`nested config schema declares promotable slots (${[...promotable].join(', ')}): the cascade only resolves a display config's own top-level slots, so these would serialize as the bare inherit sentinel. Declare them on the display's own schema instead.`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { ResolvableDisplay } from './promotableResolve.ts';
|
|
2
|
+
import type { AnyConfigurationModel, AnyConfigurationSnapshot, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotValue, ConfigurationSlotValueResolved } from './types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* #api core/configuration
|
|
5
|
+
* Reads a configuration value from a state model that has a `.configuration`
|
|
6
|
+
* member (a track or display state model). For a raw configuration model, use
|
|
7
|
+
* `readConfObject` instead.
|
|
8
|
+
*
|
|
9
|
+
* **This is exactly `readConfObject(model.configuration, path)`** — sugar for
|
|
10
|
+
* the `.configuration` hop, and nothing more. The two readers carry the same
|
|
11
|
+
* slot-name check, so reaching for the other one does not get a typo past tsc.
|
|
12
|
+
* It does not consult the session and has no per-slot behavior; what you read is
|
|
13
|
+
* what the track stores.
|
|
14
|
+
*
|
|
15
|
+
* A `promotable` slot read this way therefore yields the raw stored value,
|
|
16
|
+
* `undefined` included — that `undefined` is the cascade's inherit sentinel, and
|
|
17
|
+
* `resolveConf` is what turns it into a real value. The read type keeps the
|
|
18
|
+
* `undefined` on purpose, so reaching for the wrong reader is a compile error
|
|
19
|
+
* rather than a silent one.
|
|
20
|
+
*
|
|
21
|
+
* @param model - object containing a 'configuration' member
|
|
22
|
+
* @param slotPaths - array of paths to read
|
|
23
|
+
* @param args - extra arguments e.g. for a feature callback,
|
|
24
|
+
* will be sent to each of the slotNames
|
|
25
|
+
*/
|
|
26
|
+
export declare function getConf(model: {
|
|
27
|
+
configuration: AnyConfigurationModel;
|
|
28
|
+
}): AnyConfigurationSnapshot;
|
|
29
|
+
export declare function getConf<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | string[] = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(model: {
|
|
30
|
+
configuration: CONFMODEL;
|
|
31
|
+
}, slotPath: SLOT, args?: Record<string, unknown>): SLOT extends string ? ConfigurationSlotValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT> : any;
|
|
32
|
+
/**
|
|
33
|
+
* #api core/configuration
|
|
34
|
+
* Reads a `promotable` slot through the display-type-default cascade — the
|
|
35
|
+
* track's own value, else the session-wide promoted default for this display
|
|
36
|
+
* type, else the slot's `promotedBase`. Always yields a real value, never the
|
|
37
|
+
* `undefined` inherit sentinel, so a display's value getter is
|
|
38
|
+
* `get displayMode(): DisplayMode { return resolveConf(self, 'displayMode') }`
|
|
39
|
+
* with no post-guard and no cast.
|
|
40
|
+
*
|
|
41
|
+
* Separate from `getConf` rather than folded into it, deliberately: resolution
|
|
42
|
+
* consults the session, so it is main-thread only and throws on a detached node.
|
|
43
|
+
* Folding it in was built and reverted — ADR-046.
|
|
44
|
+
*
|
|
45
|
+
* Throws if `slot` isn't promotable — the cascade has nothing to say about a
|
|
46
|
+
* plain slot, and `getConf` is what you want there.
|
|
47
|
+
*
|
|
48
|
+
* Takes no jexl `args`, unlike `getConf`: a promotable slot cannot hold a
|
|
49
|
+
* callback (see `SlotResolution`), so there is no per-feature context to supply.
|
|
50
|
+
*
|
|
51
|
+
* @param model - the display state model (needs the session + display type)
|
|
52
|
+
* @param slot - the promotable slot to resolve
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveConf<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(model: ResolvableDisplay<CONFMODEL>, slot: SLOT): ConfigurationSlotValueResolved<ConfigurationSchemaForModel<CONFMODEL>, SLOT>;
|
|
55
|
+
/**
|
|
56
|
+
* #api core/configuration
|
|
57
|
+
* Write counterpart to `getConf`: sets a slot on a state model that has a
|
|
58
|
+
* `.configuration` member (a track or display state model).
|
|
59
|
+
*
|
|
60
|
+
* **Prefer this over a bare `self.configuration.setSlot('x', v)`.** The
|
|
61
|
+
* constraint here mirrors `getConf`'s, so on a model with a concrete schema an
|
|
62
|
+
* unknown slot name is a compile error. `setSlot` itself stays untyped on
|
|
63
|
+
* purpose — the config editor's slot facade routes dynamic slot names through
|
|
64
|
+
* it (`configurationSchema.ts`) — and guards the name at runtime instead
|
|
65
|
+
* (ADR-052), so a misspelled write is diagnosed one way or the other.
|
|
66
|
+
*
|
|
67
|
+
* **The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
68
|
+
* schema doesn't declare returns `undefined` and reports nothing, at any layer,
|
|
69
|
+
* so the slot keeps reading as its default forever. Which makes the
|
|
70
|
+
* compile-time constraint worth keeping *reachable*: it is only as good as the
|
|
71
|
+
* schema of the holder handed in, and a holder widened to
|
|
72
|
+
* `AnyConfigurationModel` switches it off entirely — the trap a mixin casting
|
|
73
|
+
* to reach its host walks into. Every such cast names a concrete schema instead
|
|
74
|
+
* (`ConfigModelForFields`, or the base schema when the slot is the base's), and
|
|
75
|
+
* `HostChecksSlotNames` pins each one.
|
|
76
|
+
*
|
|
77
|
+
* A wrong *value* type still throws at runtime (MST type-checks the assignment)
|
|
78
|
+
* rather than at compile time. `value` is deliberately `unknown` because the
|
|
79
|
+
* inherit sentinel (`undefined`/`null`) is a legitimate write on every
|
|
80
|
+
* promotable slot, which the declared slot value type doesn't include.
|
|
81
|
+
*
|
|
82
|
+
* @param model - object containing a 'configuration' member
|
|
83
|
+
* @param slotName - the slot to write
|
|
84
|
+
* @param value - the new value
|
|
85
|
+
*/
|
|
86
|
+
export declare function setConf<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(model: {
|
|
87
|
+
configuration: CONFMODEL;
|
|
88
|
+
}, slotName: SLOT, value: unknown): void;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { resolveSlot } from './promotableResolve.js';
|
|
2
|
+
import { readConfObject } from './readConfObject.js';
|
|
3
|
+
export function getConf(model, slotPath, args = {}) {
|
|
4
|
+
return readConfObject(model.configuration, slotPath, args);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* #api core/configuration
|
|
8
|
+
* Reads a `promotable` slot through the display-type-default cascade — the
|
|
9
|
+
* track's own value, else the session-wide promoted default for this display
|
|
10
|
+
* type, else the slot's `promotedBase`. Always yields a real value, never the
|
|
11
|
+
* `undefined` inherit sentinel, so a display's value getter is
|
|
12
|
+
* `get displayMode(): DisplayMode { return resolveConf(self, 'displayMode') }`
|
|
13
|
+
* with no post-guard and no cast.
|
|
14
|
+
*
|
|
15
|
+
* Separate from `getConf` rather than folded into it, deliberately: resolution
|
|
16
|
+
* consults the session, so it is main-thread only and throws on a detached node.
|
|
17
|
+
* Folding it in was built and reverted — ADR-046.
|
|
18
|
+
*
|
|
19
|
+
* Throws if `slot` isn't promotable — the cascade has nothing to say about a
|
|
20
|
+
* plain slot, and `getConf` is what you want there.
|
|
21
|
+
*
|
|
22
|
+
* Takes no jexl `args`, unlike `getConf`: a promotable slot cannot hold a
|
|
23
|
+
* callback (see `SlotResolution`), so there is no per-feature context to supply.
|
|
24
|
+
*
|
|
25
|
+
* @param model - the display state model (needs the session + display type)
|
|
26
|
+
* @param slot - the promotable slot to resolve
|
|
27
|
+
*/
|
|
28
|
+
export function resolveConf(
|
|
29
|
+
// the display state node itself, not just its `.configuration`: the cascade
|
|
30
|
+
// keys the session-wide tier on `type` and reaches the session through the
|
|
31
|
+
// node. Asking for that shape is what keeps this cast-free — hand it a bare
|
|
32
|
+
// config holder and tsc names the missing members instead of failing at the
|
|
33
|
+
// first read. `ResolvableDisplay<CONFMODEL>`, never
|
|
34
|
+
// `ResolvableDisplay & { configuration: CONFMODEL }`: the intersection
|
|
35
|
+
// re-widens the slot names to `string` (see `ResolvableDisplay`)
|
|
36
|
+
model, slot) {
|
|
37
|
+
// the resolution is `unknown`, which the declared return type can't infer
|
|
38
|
+
return resolveSlot(model, slot).value;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* #api core/configuration
|
|
42
|
+
* Write counterpart to `getConf`: sets a slot on a state model that has a
|
|
43
|
+
* `.configuration` member (a track or display state model).
|
|
44
|
+
*
|
|
45
|
+
* **Prefer this over a bare `self.configuration.setSlot('x', v)`.** The
|
|
46
|
+
* constraint here mirrors `getConf`'s, so on a model with a concrete schema an
|
|
47
|
+
* unknown slot name is a compile error. `setSlot` itself stays untyped on
|
|
48
|
+
* purpose — the config editor's slot facade routes dynamic slot names through
|
|
49
|
+
* it (`configurationSchema.ts`) — and guards the name at runtime instead
|
|
50
|
+
* (ADR-052), so a misspelled write is diagnosed one way or the other.
|
|
51
|
+
*
|
|
52
|
+
* **The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
53
|
+
* schema doesn't declare returns `undefined` and reports nothing, at any layer,
|
|
54
|
+
* so the slot keeps reading as its default forever. Which makes the
|
|
55
|
+
* compile-time constraint worth keeping *reachable*: it is only as good as the
|
|
56
|
+
* schema of the holder handed in, and a holder widened to
|
|
57
|
+
* `AnyConfigurationModel` switches it off entirely — the trap a mixin casting
|
|
58
|
+
* to reach its host walks into. Every such cast names a concrete schema instead
|
|
59
|
+
* (`ConfigModelForFields`, or the base schema when the slot is the base's), and
|
|
60
|
+
* `HostChecksSlotNames` pins each one.
|
|
61
|
+
*
|
|
62
|
+
* A wrong *value* type still throws at runtime (MST type-checks the assignment)
|
|
63
|
+
* rather than at compile time. `value` is deliberately `unknown` because the
|
|
64
|
+
* inherit sentinel (`undefined`/`null`) is a legitimate write on every
|
|
65
|
+
* promotable slot, which the declared slot value type doesn't include.
|
|
66
|
+
*
|
|
67
|
+
* @param model - object containing a 'configuration' member
|
|
68
|
+
* @param slotName - the slot to write
|
|
69
|
+
* @param value - the new value
|
|
70
|
+
*/
|
|
71
|
+
export function setConf(model, slotName, value) {
|
|
72
|
+
// eslint-disable-next-line no-restricted-syntax -- this is setConf
|
|
73
|
+
model.configuration.setSlot(slotName, value);
|
|
74
|
+
}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
export { ConfigurationReference, ConfigurationSchema, } from './configurationSchema.ts';
|
|
2
|
-
export type {
|
|
3
|
-
export
|
|
1
|
+
export { ConfigurationReference, ConfigurationSchema, hydrateTrackConfig, } from './configurationSchema.ts';
|
|
2
|
+
export type { ConfigurationSchemaDefinition } from './configurationSchema.ts';
|
|
3
|
+
export type { AnyConfiguration, AnyConfigurationModel, AnyConfigurationSchemaType, AnyConfigurationSnapshot, ConfigModelForFields, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotValue, ConfigurationSnapshot, HostChecksSlotNames, } from './types.ts';
|
|
4
|
+
export { getConfigurationSchemaDefinition, getConfigurationSchemaMetadata, } from './schemaRegistry.ts';
|
|
5
|
+
export { getTypeNamesFromExplicitlyTypedUnion, isBareConfigurationSchemaType, isConfigurationModel, isConfigurationSchemaType, isConstantEntry, isSlotDefinitionEntry, } from './schemaTypes.ts';
|
|
6
|
+
export { FormatAboutConfigSchemaFactory } from './formatAboutConfigSchema.ts';
|
|
7
|
+
export { DEFAULT_FORMAT_DETAILS_DEPTH, FormatDetailsConfigSchemaFactory, } from './formatDetailsConfigSchema.ts';
|
|
8
|
+
export { mergeFormatCallbacks } from './mergeFormatCallbacks.ts';
|
|
9
|
+
export { readConfObject, readConfSlot, readConfigValue, } from './readConfObject.ts';
|
|
10
|
+
export { getConf, resolveConf, setConf } from './getConf.ts';
|
|
11
|
+
export { expandTabixShorthand, tabixIndexSnapshot } from './tabixShorthand.ts';
|
|
12
|
+
export { tabixIndexFields } from './tabixIndexFields.ts';
|
|
13
|
+
export { evaluateJexl, isCallbackValue } from './slotValueUtils.ts';
|
|
14
|
+
export { toCallbackValue, toFixedValue } from './configurationSlot.ts';
|
|
15
|
+
export { getSlotDefinition, isConfigurationSlot, makeSlotFacade, preProcessSlotValues, slotChoices, } from './slotFacade.ts';
|
|
16
|
+
export type { SlotFacade } from './slotFacade.ts';
|
|
17
|
+
export type { ResolvableDisplay } from './promotableResolve.ts';
|
|
18
|
+
export { clearPromotedDefaults, getDisplayTypeDefaultChanges, isSlotCustomized, makePin, getConfigSnapshotWithPromotables, getTrackConfigWithPromotables, } from './promotableDefaults.ts';
|
|
19
|
+
export type { Pin, ResolvedConfigSnapshot, TrackConfigWithPromotables, } from './promotableDefaults.ts';
|
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
export { ConfigurationReference, ConfigurationSchema, } from
|
|
2
|
-
export
|
|
1
|
+
export { ConfigurationReference, ConfigurationSchema, hydrateTrackConfig, } from './configurationSchema.js';
|
|
2
|
+
export { getConfigurationSchemaDefinition,
|
|
3
|
+
// exported for scripts/generateConfigManifest.ts, which needs the
|
|
4
|
+
// preProcessSnapshot off a schema whose pluggable type does not expose one —
|
|
5
|
+
// TextSearchAdapterType, where the shorthand is nonetheless the documented
|
|
6
|
+
// way to write the config
|
|
7
|
+
getConfigurationSchemaMetadata, } from './schemaRegistry.js';
|
|
8
|
+
export { getTypeNamesFromExplicitlyTypedUnion, isBareConfigurationSchemaType, isConfigurationModel, isConfigurationSchemaType, isConstantEntry, isSlotDefinitionEntry, } from './schemaTypes.js';
|
|
9
|
+
export { FormatAboutConfigSchemaFactory } from './formatAboutConfigSchema.js';
|
|
10
|
+
export { DEFAULT_FORMAT_DETAILS_DEPTH, FormatDetailsConfigSchemaFactory, } from './formatDetailsConfigSchema.js';
|
|
11
|
+
export { mergeFormatCallbacks } from './mergeFormatCallbacks.js';
|
|
12
|
+
export { readConfObject, readConfSlot, readConfigValue, } from './readConfObject.js';
|
|
13
|
+
export { getConf, resolveConf, setConf } from './getConf.js';
|
|
14
|
+
export { expandTabixShorthand, tabixIndexSnapshot } from './tabixShorthand.js';
|
|
15
|
+
export { tabixIndexFields } from './tabixIndexFields.js';
|
|
16
|
+
export { evaluateJexl, isCallbackValue } from './slotValueUtils.js';
|
|
17
|
+
export { toCallbackValue, toFixedValue } from './configurationSlot.js';
|
|
18
|
+
export { getSlotDefinition, isConfigurationSlot, makeSlotFacade, preProcessSlotValues, slotChoices, } from './slotFacade.js';
|
|
19
|
+
export { clearPromotedDefaults, getDisplayTypeDefaultChanges, isSlotCustomized, makePin, getConfigSnapshotWithPromotables, getTrackConfigWithPromotables, } from './promotableDefaults.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Combine the tiers of an object-returning format callback (`formatDetails` on
|
|
3
|
+
* the feature-details panel, `formatAbout` on the About dialog), earliest
|
|
4
|
+
* first, so a track's object is spread over the session-wide one and can
|
|
5
|
+
* override individual keys the global callback added.
|
|
6
|
+
*
|
|
7
|
+
* A tier that isn't a plain object is dropped rather than spread. The classic
|
|
8
|
+
* slip is `"jexl:feature.name"` where `"jexl:{name:feature.name}"` was meant;
|
|
9
|
+
* spreading the resulting string produced attribute rows keyed `0`, `1`, `2`,
|
|
10
|
+
* and an array does the same, which is why `isObject` alone isn't the gate.
|
|
11
|
+
*
|
|
12
|
+
* `null` and `undefined` *values* survive on purpose: they are how a callback
|
|
13
|
+
* hides a field, and the panels filter them out downstream.
|
|
14
|
+
*/
|
|
15
|
+
export declare function mergeFormatCallbacks(...tiers: unknown[]): Record<string, unknown>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { isObject } from '../util/objectUtils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Combine the tiers of an object-returning format callback (`formatDetails` on
|
|
4
|
+
* the feature-details panel, `formatAbout` on the About dialog), earliest
|
|
5
|
+
* first, so a track's object is spread over the session-wide one and can
|
|
6
|
+
* override individual keys the global callback added.
|
|
7
|
+
*
|
|
8
|
+
* A tier that isn't a plain object is dropped rather than spread. The classic
|
|
9
|
+
* slip is `"jexl:feature.name"` where `"jexl:{name:feature.name}"` was meant;
|
|
10
|
+
* spreading the resulting string produced attribute rows keyed `0`, `1`, `2`,
|
|
11
|
+
* and an array does the same, which is why `isObject` alone isn't the gate.
|
|
12
|
+
*
|
|
13
|
+
* `null` and `undefined` *values* survive on purpose: they are how a callback
|
|
14
|
+
* hides a field, and the panels filter them out downstream.
|
|
15
|
+
*/
|
|
16
|
+
export function mergeFormatCallbacks(...tiers) {
|
|
17
|
+
const out = {};
|
|
18
|
+
for (const tier of tiers) {
|
|
19
|
+
if (isObject(tier) && !Array.isArray(tier)) {
|
|
20
|
+
Object.assign(out, tier);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import type { TrackConfigChange } from '../util/trackConfigDelta.ts';
|
|
2
|
+
import type { Pin } from './promotablePin.ts';
|
|
3
|
+
import type { PromotedDefaultStore, ResolvableDisplay } from './promotableResolve.ts';
|
|
4
|
+
import type { AnyConfigurationModel, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotValueResolved } from './types.ts';
|
|
5
|
+
export type { Pin } from './promotablePin.ts';
|
|
6
|
+
/**
|
|
7
|
+
* #api core/configuration
|
|
8
|
+
* Whether this track has customized the slot (holds a non-default value of its
|
|
9
|
+
* own) rather than following the display type's default. The correct "reset to
|
|
10
|
+
* default" predicate for a promotable slot: comparing the resolved value to the
|
|
11
|
+
* base instead reads as at-default for a track merely *following* a non-base
|
|
12
|
+
* promoted default, so the reset control lights up on a no-op.
|
|
13
|
+
*
|
|
14
|
+
* `SLOT` is constrained the way `getConf`'s is. A pin or a reset over a slot
|
|
15
|
+
* name the schema does not declare is inert and silent — `resolveSlot` answers
|
|
16
|
+
* about nothing, so the control draws outline forever — and a widened `self`
|
|
17
|
+
* switches the check off (`HostChecksSlotNames`).
|
|
18
|
+
*/
|
|
19
|
+
export declare function isSlotCustomized<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(self: ResolvableDisplay<CONFMODEL>, slot: SLOT): boolean;
|
|
20
|
+
declare const promotablesResolved: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* #api core/configuration
|
|
23
|
+
* A display config snapshot whose promotable slots hold RESOLVED values rather
|
|
24
|
+
* than the inherit sentinel — what a worker payload has to be built from.
|
|
25
|
+
*
|
|
26
|
+
* The brand is required and unforgeable, so a plain `Record<string, unknown>`
|
|
27
|
+
* is not assignable to it and neither is `getSnapshot(self.configuration)`.
|
|
28
|
+
* That is the whole point. Everything downstream of the resolve is an ERASED
|
|
29
|
+
* container — a snapshot is `Record<string, unknown>`, and the payload it
|
|
30
|
+
* becomes is an `as`-asserted interface — so a payload builder handed the RAW
|
|
31
|
+
* snapshot instead typechecks, ships `undefined` for every promotable slot, and
|
|
32
|
+
* types it as the resolved value. That was measured, not supposed: the raw
|
|
33
|
+
* spelling in `LinearBasicDisplay`'s `rpcProps()` passed `pnpm typecheck` and
|
|
34
|
+
* every suite in `plugins/canvas`, `packages/core/src/configuration` and
|
|
35
|
+
* `products/jbrowse-web`, while sending the worker `undefined` for chevrons,
|
|
36
|
+
* subfeature labels and feature height.
|
|
37
|
+
*
|
|
38
|
+
* The rest of this subsystem's guarantees are carried by types that stay
|
|
39
|
+
* connected to the schema: a raw read of a promotable `maybe*` slot is
|
|
40
|
+
* `T | undefined` (see `ConfigurationSlotValue`), so `getConf` where
|
|
41
|
+
* `resolveConf` was meant is a compile error at any typed consumer. The brand is
|
|
42
|
+
* that guarantee re-established at the point where the connection is cut.
|
|
43
|
+
*/
|
|
44
|
+
export interface ResolvedConfigSnapshot extends Record<string, unknown> {
|
|
45
|
+
readonly [promotablesResolved]: true;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* #api core/configuration
|
|
49
|
+
* The display's full config snapshot with every `promotable`
|
|
50
|
+
* slot overwritten by its resolved value in place. For building a worker payload:
|
|
51
|
+
* a promotable slot serializes as its raw inherit sentinel (`undefined`, since
|
|
52
|
+
* they're all `maybe*` types), which the worker can't interpret — it has no
|
|
53
|
+
* session to resolve against. This hands it concrete values instead, with no per-slot
|
|
54
|
+
* bookkeeping, so adding a promotable worker-consumed slot needs no rpcProps
|
|
55
|
+
* change and can't silently ship a sentinel. Main-thread only (the cascade
|
|
56
|
+
* consults the session). Display-only promotable slots the worker never reads
|
|
57
|
+
* (e.g. displayMode) are still excluded by the caller — resolving them here is a
|
|
58
|
+
* harmless no-op since they're dropped anyway.
|
|
59
|
+
*
|
|
60
|
+
* The return type is branded (`ResolvedConfigSnapshot`) so a payload builder can
|
|
61
|
+
* demand a snapshot that has been through here. The assertion below is the one
|
|
62
|
+
* place the brand is applied, and it sits on the line after the resolve.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getConfigSnapshotWithPromotables(self: ResolvableDisplay): ResolvedConfigSnapshot;
|
|
65
|
+
/**
|
|
66
|
+
* #api core/configuration
|
|
67
|
+
* A track config snapshot with every display's `promotable` slots resolved, plus
|
|
68
|
+
* the list of values that came from a session-wide default rather than from the
|
|
69
|
+
* config itself.
|
|
70
|
+
*
|
|
71
|
+
* For handing a track's config to somewhere that leaves the cascade for good —
|
|
72
|
+
* the About dialog's "Copy config", whose output a user pastes into a
|
|
73
|
+
* `config.json`. A raw `getSnapshot` records a slot a track merely *follows* as
|
|
74
|
+
* absent (`stripDefault` collapsed it), so the copied config renders differently
|
|
75
|
+
* from the track it was copied from. This is `getComputedStyle` at that
|
|
76
|
+
* boundary, and `fromDisplayTypeDefaults` is what lets the UI say so rather than
|
|
77
|
+
* silently materializing a session preference into a track config.
|
|
78
|
+
*
|
|
79
|
+
* Resolves from the display *config* alone, whether or not the track is open.
|
|
80
|
+
* Everything the cascade takes is on the config node: it is the same node an
|
|
81
|
+
* open display's `configuration` points at (the hydration cache makes it
|
|
82
|
+
* stable), its `type` is the display type the session-wide tier is keyed on
|
|
83
|
+
* (every display schema is `explicitlyTyped` under the display type's own name),
|
|
84
|
+
* and the session is passed in. So an unopened track — which has no display
|
|
85
|
+
* state at all — still has an answer to "what would this render as", by the same
|
|
86
|
+
* code path.
|
|
87
|
+
*
|
|
88
|
+
* **Writes every promotable slot, including the ones sitting at `promotedBase`,
|
|
89
|
+
* and that is the decision — don't "align" it with the share bake.** A pasted
|
|
90
|
+
* `config.json` is read by a mechanism with no cascade in it at all, so writing
|
|
91
|
+
* only the inherited values would leave every other slot to pick up whatever the
|
|
92
|
+
* reader has promoted in their own browser. Pinned by
|
|
93
|
+
* `products/jbrowse-web/src/tests/CopyConfigPromotedDefaults.test.ts`.
|
|
94
|
+
*/
|
|
95
|
+
export interface TrackConfigWithPromotables {
|
|
96
|
+
config: Record<string, unknown>;
|
|
97
|
+
/** `<displayType>.<slot>`, one per value inherited from a promoted default */
|
|
98
|
+
fromDisplayTypeDefaults: string[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* #api core/configuration
|
|
102
|
+
* See {@link TrackConfigWithPromotables}.
|
|
103
|
+
*/
|
|
104
|
+
export declare function getTrackConfigWithPromotables(session: PromotedDefaultStore, trackConfig: AnyConfigurationModel): TrackConfigWithPromotables;
|
|
105
|
+
/**
|
|
106
|
+
* Open displays of this display's type, **one entry per track** — the set the
|
|
107
|
+
* pin's click writes. Module-internal (exercised by promotableDefaults.test.ts);
|
|
108
|
+
* not part of the public barrel.
|
|
109
|
+
*
|
|
110
|
+
* A track open in two views is two display *models* over one display *config* —
|
|
111
|
+
* `TrackConfigurationReference` resolves both through the hydration cache
|
|
112
|
+
* (ADR-031) — so the raw walk yields it twice. That is the ordinary case in a
|
|
113
|
+
* breakpoint-split view, which shows the same track in both halves and is one of
|
|
114
|
+
* the composite shapes `openPromotableDisplays` recurses into. The count reaches
|
|
115
|
+
* the user in the snackbar and the set gets written, and both
|
|
116
|
+
* go wrong on a duplicate: the toast offered to act on "2 tracks" over a single
|
|
117
|
+
* track, and the second write was a no-op against a node the first had already
|
|
118
|
+
* set.
|
|
119
|
+
*
|
|
120
|
+
* Keying on the config node rather than on `trackId` is what keeps this
|
|
121
|
+
* cast-free: the node is a member of `ResolvableDisplay`, and within one display
|
|
122
|
+
* type it is 1:1 with the track.
|
|
123
|
+
*/
|
|
124
|
+
export declare function openTracksOfType(self: ResolvableDisplay): ResolvableDisplay[];
|
|
125
|
+
/**
|
|
126
|
+
* Whether `value` is the current session default for `slot`. The live state the
|
|
127
|
+
* pin's filled/outline reflects — a session-wide fact, so it reads the raw
|
|
128
|
+
* promoted default rather than what this display resolves to (a customized track
|
|
129
|
+
* can be showing something else entirely). The named form of the comparison
|
|
130
|
+
* {@link makePin} inlines off a resolution it already holds. Module-internal
|
|
131
|
+
* (exercised by promotableDefaults.test.ts); not part of the public barrel.
|
|
132
|
+
*/
|
|
133
|
+
export declare function isPromotableDefault(self: ResolvableDisplay, slot: string, value: unknown): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Write `value` into each display's own config for `slot`, so the track *holds*
|
|
136
|
+
* it rather than resolving it through the cascade. The pin's click, over every
|
|
137
|
+
* open track of the display type.
|
|
138
|
+
*
|
|
139
|
+
* **A track already showing `value` still has to be written**, which is why this
|
|
140
|
+
* compares the *stored* value and not the resolved one: a follower stores
|
|
141
|
+
* nothing and is showing `value` only by way of some promoted default, so
|
|
142
|
+
* skipping it would leave it to move again the moment that default changed.
|
|
143
|
+
* Comparing the stored value is also what lets a `jexl:` value answer "is this
|
|
144
|
+
* already what we would write?" without being evaluated.
|
|
145
|
+
*
|
|
146
|
+
* Skips dead displays, since the caller supplies the list and MST throws on any
|
|
147
|
+
* read or write to a destroyed node.
|
|
148
|
+
*/
|
|
149
|
+
export declare function applySlotToOpenTracks(displays: ResolvableDisplay[], slot: string, value: unknown): void;
|
|
150
|
+
/**
|
|
151
|
+
* #api core/configuration
|
|
152
|
+
* The pin for one promotable slot: "apply this value to every open track of this
|
|
153
|
+
* display type", and — via the snackbar it raises — "keep it as the default for
|
|
154
|
+
* the ones opened later".
|
|
155
|
+
*
|
|
156
|
+
* `value` chooses between the subsystem's two meanings, which are otherwise
|
|
157
|
+
* identical:
|
|
158
|
+
*
|
|
159
|
+
* - **Give it** for a per-value pin — "make *arcs* the default" — independent of
|
|
160
|
+
* what the track currently shows. Use on an always-visible pin so it can never
|
|
161
|
+
* promote a meaningless value, and so two rows sharing one slot (arcs `'arc'`
|
|
162
|
+
* vs read cloud `'cloud'`; sashimi `'down'` vs `'auto'`) stay independent.
|
|
163
|
+
* - **Omit it** for "whatever I'm showing", resolved through the cascade. Use for
|
|
164
|
+
* a symmetric or continuous setting where no fixed on-value makes sense
|
|
165
|
+
* (wiggle point size, arc line width, `mismatchAlpha`).
|
|
166
|
+
*
|
|
167
|
+
* One function with an optional argument, rather than the two exported builders
|
|
168
|
+
* it replaces — a per-value one and a `…CurrentValue…` one, the second of which
|
|
169
|
+
* was exactly the first applied to `resolveSlot(self, slot).value`. The pair was
|
|
170
|
+
* one function plus a doc section explaining which name to reach for; omitting
|
|
171
|
+
* the argument now says what the longer name said.
|
|
172
|
+
*/
|
|
173
|
+
export declare function makePin<CONFMODEL extends AnyConfigurationModel, SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(self: ResolvableDisplay<CONFMODEL>, slot: SLOT, ...value: [] | [
|
|
174
|
+
ConfigurationSlotValueResolved<ConfigurationSchemaForModel<CONFMODEL>, SLOT>
|
|
175
|
+
]): Pin;
|
|
176
|
+
/**
|
|
177
|
+
* #api core/configuration
|
|
178
|
+
* Effective differences a track following the default inherits from session-wide
|
|
179
|
+
* defaults, one per promotable slot whose inherited value differs from its schema
|
|
180
|
+
* default. Drives the track-selector "affected by a session default" badge.
|
|
181
|
+
*/
|
|
182
|
+
export declare function getDisplayTypeDefaultChanges(self: ResolvableDisplay): TrackConfigChange[];
|
|
183
|
+
/**
|
|
184
|
+
* #api core/configuration
|
|
185
|
+
* Clear the named promoted defaults for this display type, so every track
|
|
186
|
+
* following one reverts to its own config value. Backs the badge's "clear
|
|
187
|
+
* session default" action, which passes the slots it actually listed
|
|
188
|
+
* (`getDisplayTypeDefaultChanges`).
|
|
189
|
+
*
|
|
190
|
+
* **`slots` is required, and an all-slots default is not the convenience it
|
|
191
|
+
* looks like.** It reaches further than any list a dialog can have shown: a
|
|
192
|
+
* promoted default the track *customized* over, or one promoted to a value
|
|
193
|
+
* equal to `promotedBase`, is `inherited: false` and so appears in no row, yet
|
|
194
|
+
* still governs sibling tracks — so clearing it from a dialog that never showed
|
|
195
|
+
* it moves tracks other than the one whose badge was clicked. Clearing every
|
|
196
|
+
* promoted default at once is a preferences-scope action, and Preferences →
|
|
197
|
+
* "Reset to defaults" is where it lives (`clearPreferenceOverrides`).
|
|
198
|
+
*/
|
|
199
|
+
export declare function clearPromotedDefaults(self: ResolvableDisplay, slots: Iterable<string>): void;
|