@jbrowse/core 4.3.0 → 5.0.0-beta.10
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 +1994 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +14 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +36 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +10 -7
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +124 -21
- 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 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +12 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +19 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +18 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +9 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +33 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -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 +19 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +8 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +7 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +15 -20
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +50 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +9 -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 +35 -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 +3 -3
- 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 +20 -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 +62 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +69 -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/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.d.ts +1 -1
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +22 -0
- package/esm/BaseFeatureWidget/formatDetails.js +82 -0
- package/esm/BaseFeatureWidget/index.d.ts +4 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +102 -71
- package/esm/BaseFeatureWidget/stateModelFactory.js +162 -63
- package/esm/BaseFeatureWidget/types.d.ts +15 -8
- package/esm/BaseFeatureWidget/util.d.ts +2 -37
- package/esm/BaseFeatureWidget/util.js +4 -85
- package/esm/CorePlugin.js +12 -7
- 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 +55 -44
- package/esm/PluginLoader.js +290 -90
- package/esm/PluginManager.d.ts +476 -57
- package/esm/PluginManager.js +480 -91
- package/esm/ReExports/MuiDataGridReExports.d.ts +3 -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/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +528 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +488 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +68 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +433 -160
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -146
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/registry.d.ts +3 -0
- package/esm/ReExports/registry.js +46 -0
- package/esm/ReExports/uiStub.d.ts +3 -0
- package/esm/ReExports/uiStub.js +33 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +11 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +30 -36
- package/esm/TextSearch/TextSearchManager.js +138 -44
- package/esm/TextSearch/places.d.ts +12 -0
- package/esm/TextSearch/places.js +94 -0
- package/esm/assemblyManager/assembly.d.ts +310 -35
- package/esm/assemblyManager/assembly.js +554 -263
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +24 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +135 -19
- package/esm/assemblyManager/assemblyConfigSchema.js +205 -23
- package/esm/assemblyManager/assemblyManager.d.ts +586 -323
- package/esm/assemblyManager/assemblyManager.js +352 -51
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +39 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +114 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +44 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +19 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +22 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
- package/esm/assemblyManager/indexAssemblyNames.js +22 -0
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +75 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
- package/esm/assemblyManager/refNameMapKey.js +12 -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 +13 -0
- package/esm/checkPlugins.js +98 -0
- package/esm/configuration/bamIndexFields.d.ts +49 -0
- package/esm/configuration/bamIndexFields.js +41 -0
- package/esm/configuration/configurationSchema.d.ts +194 -29
- package/esm/configuration/configurationSchema.js +439 -145
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +56 -0
- package/esm/configuration/configurationSlot.d.ts +373 -30
- package/esm/configuration/configurationSlot.js +231 -224
- package/esm/configuration/fillLocations.d.ts +14 -0
- package/esm/configuration/fillLocations.js +14 -0
- package/esm/configuration/formatAboutConfigSchema.d.ts +41 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +54 -0
- package/esm/configuration/formatDetailsConfigSchema.js +87 -0
- package/esm/configuration/fullConfSnapshot.d.ts +13 -0
- package/esm/configuration/fullConfSnapshot.js +44 -0
- package/esm/configuration/getConf.d.ts +92 -0
- package/esm/configuration/getConf.js +141 -0
- package/esm/configuration/index.d.ts +32 -3
- package/esm/configuration/index.js +27 -2
- package/esm/configuration/indexType.d.ts +26 -0
- package/esm/configuration/indexType.js +38 -0
- package/esm/configuration/mergeFormatCallbacks.d.ts +14 -0
- package/esm/configuration/mergeFormatCallbacks.js +27 -0
- package/esm/configuration/readConfObject.d.ts +34 -0
- package/esm/configuration/readConfObject.js +118 -0
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +52 -0
- package/esm/configuration/schemaRegistry.js +48 -0
- package/esm/configuration/schemaTypes.d.ts +39 -0
- package/esm/configuration/schemaTypes.js +105 -0
- package/esm/configuration/slotFacade.d.ts +65 -0
- package/esm/configuration/slotFacade.js +110 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/snapshotPreprocess.d.ts +43 -0
- package/esm/configuration/snapshotPreprocess.js +161 -0
- package/esm/configuration/tabixIndexFields.d.ts +70 -0
- package/esm/configuration/tabixIndexFields.js +62 -0
- package/esm/configuration/tabixShorthand.d.ts +51 -0
- package/esm/configuration/tabixShorthand.js +72 -0
- package/esm/configuration/types.d.ts +315 -13
- package/esm/configuration/uriShorthand.d.ts +9 -0
- package/esm/configuration/uriShorthand.js +16 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +19 -11
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +19 -18
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +158 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +164 -29
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +28 -6
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
- package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
- package/esm/data_adapters/BaseAdapter/stats.js +89 -24
- package/esm/data_adapters/BaseAdapter/types.d.ts +11 -13
- 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/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +5 -5
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +34 -6
- package/esm/data_adapters/CytobandAdapter/configSchema.js +47 -17
- 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 +53 -2
- package/esm/data_adapters/dataAdapterCache.js +99 -25
- package/esm/data_adapters/getFeatureAdapter.d.ts +24 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +19 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +42 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +57 -7
- 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 +54 -14
- package/esm/pluggableElementTypes/DisplayType.js +30 -7
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +11 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +11 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +142 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +279 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +18 -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 +7 -7
- 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 +22 -5
- package/esm/pluggableElementTypes/ViewType.js +40 -5
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +88 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +29 -0
- package/esm/pluggableElementTypes/extendElementType.js +72 -0
- package/esm/pluggableElementTypes/index.d.ts +8 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +80 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +643 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +230 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +246 -37
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +416 -107
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +236 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +154 -16
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +169 -25
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +178 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +26 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +31 -17
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +142 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +215 -90
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +111 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +54 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +50 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +147 -0
- package/esm/pluggableElementTypes/models/index.d.ts +5 -3
- package/esm/pluggableElementTypes/models/index.js +9 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +48 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +114 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +10 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +272 -100
- 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 +225 -0
- package/esm/pluginDefinitions.js +254 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +68 -106
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +23 -29
- package/esm/rpc/RpcClient.d.ts +50 -0
- package/esm/rpc/RpcClient.js +189 -0
- package/esm/rpc/RpcManager.d.ts +120 -27
- package/esm/rpc/RpcManager.js +187 -50
- package/esm/rpc/RpcRegistry.d.ts +298 -0
- package/esm/rpc/RpcServer.d.ts +43 -0
- package/esm/rpc/RpcServer.js +242 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +78 -24
- package/esm/rpc/WebWorkerRpcDriver.js +311 -30
- package/esm/rpc/byteBudget.d.ts +64 -0
- package/esm/rpc/byteBudget.js +61 -0
- package/esm/rpc/configSchema.d.ts +13 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +6 -5
- package/esm/rpc/coreRpcMethods.js +13 -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/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +25 -15
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +14 -18
- 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 +16 -15
- 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/methods/CoreLoadAdapterCode.d.ts +13 -0
- package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
- package/esm/rpc/methods/layerFeatures.d.ts +33 -0
- package/esm/rpc/methods/layerFeatures.js +29 -0
- 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 +52 -0
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/exportViewSvg.d.ts +28 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +138 -0
- package/esm/svg/svgReady.js +165 -0
- package/esm/svg/trackNames.d.ts +29 -0
- package/esm/svg/trackNames.js +34 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +10 -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 +56 -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/AppReadyMarker.d.ts +45 -0
- package/esm/ui/AppReadyMarker.js +89 -0
- 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 +446 -42
- 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 +6 -5
- 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 +5 -4
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +51 -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 +129 -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 +436 -64
- 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 +11 -3
- package/esm/ui/HoverMenu.js +34 -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 +26 -0
- package/esm/ui/JexlFilterDialog.js +167 -0
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +30 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +23 -0
- package/esm/ui/LoadingOverlay.js +139 -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 +95 -5
- package/esm/ui/MenuTypes.js +16 -1
- package/esm/ui/MonospaceTextField.d.ts +10 -0
- package/esm/ui/MonospaceTextField.js +40 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +90 -0
- package/esm/ui/PaletteContext.js +142 -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/SearchOption.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +21 -0
- package/esm/ui/RefNameAutocomplete/index.js +84 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +62 -0
- package/esm/ui/RefNameAutocomplete/util.js +209 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +15 -7
- package/esm/ui/ResizeHandle.js +73 -53
- 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/ScrollChrome.d.ts +13 -0
- package/esm/ui/ScrollChrome.js +11 -0
- package/esm/ui/ScrollEdgeShadow.d.ts +41 -0
- package/esm/ui/ScrollEdgeShadow.js +77 -0
- package/esm/ui/ScrollZoomToggle.d.ts +15 -0
- package/esm/ui/ScrollZoomToggle.js +75 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SessionJsonPanel.d.ts +3 -0
- package/esm/ui/SessionJsonPanel.js +14 -0
- package/esm/ui/SettingsChangesTable.d.ts +15 -0
- package/esm/ui/SettingsChangesTable.js +87 -0
- package/esm/ui/ShareLinkField.d.ts +4 -0
- package/esm/ui/ShareLinkField.js +15 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +14 -0
- package/esm/ui/SizeSliderRow.js +48 -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 +96 -52
- 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 +18 -0
- package/esm/ui/SvgColorLegend.js +106 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +24 -0
- package/esm/ui/VerticalScrollbar.js +104 -0
- package/esm/ui/ViewLoadingScreen.d.ts +25 -0
- package/esm/ui/ViewLoadingScreen.js +52 -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/colorScale.d.ts +92 -0
- package/esm/ui/colorScale.js +72 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +125 -8
- package/esm/ui/colors.js +364 -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/hoverBoxStyle.d.ts +23 -0
- package/esm/ui/hoverBoxStyle.js +28 -0
- package/esm/ui/index.d.ts +77 -5
- package/esm/ui/index.js +83 -20
- 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 +46 -0
- package/esm/ui/legendMenuItem.d.ts +16 -0
- package/esm/ui/legendMenuItem.js +17 -0
- package/esm/ui/legendSpec.d.ts +69 -0
- package/esm/ui/legendSpec.js +69 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +24 -0
- package/esm/ui/makeSizeMenu.js +58 -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 +22 -0
- package/esm/ui/menuItemAdornment.js +28 -0
- package/esm/ui/menuItems.d.ts +23 -0
- package/esm/ui/menuItems.js +21 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +25 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +561 -0
- package/esm/ui/palette.js +785 -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/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 +268 -30
- package/esm/ui/theme.js +250 -350
- package/esm/ui/toggleMenuItems.d.ts +42 -0
- package/esm/ui/toggleMenuItems.js +61 -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/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -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 +207 -17
- package/esm/util/Base1DUtils.js +316 -173
- package/esm/util/Base1DViewModel.d.ts +99 -21
- package/esm/util/Base1DViewModel.js +151 -41
- 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 +83 -0
- package/esm/util/SvgCanvas.js +520 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +56 -4
- package/esm/util/aborting.js +112 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +40 -0
- package/esm/util/addAndShowTrack.d.ts +19 -0
- package/esm/util/addAndShowTrack.js +27 -0
- package/esm/util/addRelativeUris.d.ts +29 -0
- package/esm/util/addRelativeUris.js +78 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +91 -0
- package/esm/util/addTrackFromWidget.js +91 -0
- package/esm/util/aggregateFieldName.d.ts +10 -0
- package/esm/util/aggregateFieldName.js +8 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +135 -49
- package/esm/util/animationAllowed.d.ts +26 -0
- package/esm/util/animationAllowed.js +35 -0
- package/esm/util/applyRowResizeWheel.d.ts +15 -0
- package/esm/util/applyRowResizeWheel.js +23 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +63 -0
- package/esm/util/bandHeight.js +85 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +15 -0
- package/esm/util/bezierConnector.js +101 -0
- package/esm/util/bgzfWorkerPool.d.ts +24 -0
- package/esm/util/bgzfWorkerPool.js +27 -0
- package/esm/util/binnedAggregate.d.ts +17 -0
- package/esm/util/binnedAggregate.js +275 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +55 -0
- package/esm/util/cacheBudgets.js +55 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/categoricalField.d.ts +56 -0
- package/esm/util/categoricalField.js +73 -0
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +43 -0
- package/esm/util/clampToContig.js +47 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +2 -15
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +7 -2
- package/esm/util/color/index.d.ts +84 -3
- package/esm/util/color/index.js +197 -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 +155 -0
- package/esm/util/colorRamp.d.ts +81 -0
- package/esm/util/colorRamp.js +244 -0
- package/esm/util/colorScale.d.ts +156 -0
- package/esm/util/colorScale.js +243 -0
- package/esm/util/colorSchemes.d.ts +21 -0
- package/esm/util/colorSchemes.js +30 -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/createAbortRotation.d.ts +115 -0
- package/esm/util/createAbortRotation.js +116 -0
- package/esm/util/createSvgRasterCanvas.d.ts +17 -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/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- 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 +22 -0
- package/esm/util/diagonalizeRegions.js +187 -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/expandLooseSearchIndex.d.ts +19 -0
- package/esm/util/expandLooseSearchIndex.js +29 -0
- package/esm/util/featureTable.d.ts +224 -0
- package/esm/util/featureTable.js +366 -0
- package/esm/util/featureTransforms.d.ts +80 -0
- package/esm/util/featureTransforms.js +1579 -0
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +71 -0
- package/esm/util/fetchContext.d.ts +81 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +17 -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 +4 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- 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 +26 -0
- package/esm/util/freezeDeep.js +39 -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/groupKeys.d.ts +77 -0
- package/esm/util/groupKeys.js +155 -0
- package/esm/util/highlights.d.ts +25 -0
- package/esm/util/highlights.js +87 -0
- package/esm/util/hooks.d.ts +189 -0
- package/esm/util/hooks.js +485 -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 +137 -853
- package/esm/util/indexCandidates.d.ts +20 -0
- package/esm/util/indexCandidates.js +43 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +234 -0
- package/esm/util/installFetch.js +205 -0
- package/esm/util/installInitAutorun.d.ts +63 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/installPrerequisiteFetch.d.ts +115 -0
- package/esm/util/installPrerequisiteFetch.js +111 -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 +120 -12
- package/esm/util/isDataCurrent.d.ts +9 -0
- package/esm/util/isDataCurrent.js +12 -0
- package/esm/util/isTextEntryFocused.d.ts +7 -0
- package/esm/util/isTextEntryFocused.js +16 -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 +146 -19
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +68 -0
- package/esm/util/jexlFilters.js +61 -0
- package/esm/util/jexlStrings.d.ts +21 -1
- package/esm/util/jexlStrings.js +20 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +20 -25
- package/esm/util/layouts/GranularRectLayout.js +116 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/lazyWithPreload.d.ts +19 -0
- package/esm/util/lazyWithPreload.js +27 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +72 -0
- package/esm/util/legendCandidates.js +138 -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/markEncoding.d.ts +150 -0
- package/esm/util/markEncoding.js +845 -0
- package/esm/util/markEncodingTypes.d.ts +588 -0
- package/esm/util/markEncodingTypes.js +8 -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 +3 -11
- package/esm/util/mst-reflection.js +3 -52
- package/esm/util/mstUtils.d.ts +97 -0
- package/esm/util/mstUtils.js +137 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +27 -0
- package/esm/util/numericUtils.js +143 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -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/openFeatureWidget.d.ts +38 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/openViews.d.ts +17 -0
- package/esm/util/openViews.js +22 -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 +44 -2
- package/esm/util/parseLineByLine.js +150 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +111 -0
- package/esm/util/pluginStore.js +254 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/preloadComponent.d.ts +5 -0
- package/esm/util/preloadComponent.js +11 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +821 -0
- package/esm/util/quantileExtent.d.ts +49 -0
- package/esm/util/quantileExtent.js +162 -0
- package/esm/util/range.d.ts +46 -1
- package/esm/util/range.js +68 -2
- package/esm/util/renameRegions.d.ts +41 -0
- package/esm/util/renameRegions.js +143 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +60 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +30 -2
- package/esm/util/rxjs.js +85 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/samplesTsv.d.ts +49 -0
- package/esm/util/samplesTsv.js +86 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +5 -0
- package/esm/util/scrollLatch.js +67 -0
- package/esm/util/selectEncodedFeature.d.ts +16 -0
- package/esm/util/selectEncodedFeature.js +34 -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 +40 -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/shapeNameList.d.ts +2 -0
- package/esm/util/shapeNameList.js +6 -0
- package/esm/util/shapeNames.d.ts +7 -0
- package/esm/util/shapeNames.js +11 -0
- package/esm/util/simpleFeature.d.ts +111 -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/starFusion.d.ts +26 -0
- package/esm/util/starFusion.js +37 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stepTables.d.ts +82 -0
- package/esm/util/stepTables.js +243 -0
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svAlt.d.ts +145 -0
- package/esm/util/svAlt.js +364 -0
- package/esm/util/svgColorProps.d.ts +18 -0
- package/esm/util/svgColorProps.js +55 -0
- package/esm/util/systemColorScheme.d.ts +12 -0
- package/esm/util/systemColorScheme.js +27 -0
- package/esm/util/tabix.d.ts +125 -0
- package/esm/util/tabix.js +148 -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/thresholdScale.d.ts +91 -0
- package/esm/util/thresholdScale.js +166 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +25 -0
- package/esm/util/timeGate.js +78 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +206 -0
- package/esm/util/tracks.d.ts +431 -30
- package/esm/util/tracks.js +952 -185
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- 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 +73 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +459 -121
- package/esm/util/types/index.js +96 -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 +74 -47
- package/esm/util/types/mst.js +31 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renameIds.d.ts +1 -0
- package/esm/util/types/renameIds.js +29 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unknownSnapshotKeys.d.ts +51 -0
- package/esm/util/unknownSnapshotKeys.js +82 -0
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +55 -77
- package/esm/util/useFetch.d.ts +55 -0
- package/esm/util/useFetch.js +197 -0
- package/esm/util/useFetchPlugins.d.ts +16 -0
- package/esm/util/useFetchPlugins.js +18 -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 +9 -0
- package/esm/util/usePanelVirtualScroll.js +15 -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 +9 -0
- package/esm/util/useRowVirtualScroll.js +22 -0
- package/esm/util/useVirtualScrollWheel.d.ts +23 -0
- package/esm/util/useVirtualScrollWheel.js +74 -0
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +90 -0
- package/esm/util/viewStatus.js +54 -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 +65 -0
- package/esm/util/wheelZoom.js +297 -0
- package/esm/util/whenViewSettled.d.ts +74 -0
- package/esm/util/whenViewSettled.js +77 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +174 -0
- package/esm/util/withLaunchInput.js +274 -0
- package/package.json +290 -820
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -9
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.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/stopToken.d.ts +0 -19
- package/esm/util/stopToken.js +0 -90
- 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/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
- /package/esm/data_adapters/BaseAdapter/{BaseOptions.js → zoomRange.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → rpc/RpcRegistry.js} +0 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ConfigurationSchema } from './configurationSchema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Levels of subfeature the `subfeatures` callback runs on when no tier sets
|
|
4
|
+
* `depth`. Applied by the reader rather than as the slot's `defaultValue`, so
|
|
5
|
+
* the slot can still read as unset and the session's value reach a track.
|
|
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
|
+
* `track` is the track's config, so one session-wide callback can link out
|
|
44
|
+
* per assembly or name the track. A plain object works too, for fields
|
|
45
|
+
* that are the same on every feature
|
|
46
|
+
*/
|
|
47
|
+
feature: {
|
|
48
|
+
type: 'frozen',
|
|
49
|
+
description: 'adds extra fields to the feature details',
|
|
50
|
+
defaultValue: {},
|
|
51
|
+
contextVariable: ['feature', 'track'],
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* #slot formatDetails.subfeatures
|
|
55
|
+
* the same, applied to each subfeature down to `depth`. `parent` is the
|
|
56
|
+
* feature it sits in and `depth` how far down, 1 for a gene's transcript
|
|
57
|
+
* and 2 for the transcript's exon
|
|
58
|
+
*/
|
|
59
|
+
subfeatures: {
|
|
60
|
+
type: 'frozen',
|
|
61
|
+
description: 'adds extra fields to the subfeatures of a feature',
|
|
62
|
+
defaultValue: {},
|
|
63
|
+
contextVariable: ['feature', 'parent', 'depth', 'track'],
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* #slot formatDetails.depth
|
|
67
|
+
* how many levels of subfeature the `subfeatures` callback runs on,
|
|
68
|
+
* defaulting to 2, which stops at a gene's transcripts rather than
|
|
69
|
+
* descending into their exons and CDSs. A track's value wins over the
|
|
70
|
+
* session's
|
|
71
|
+
*/
|
|
72
|
+
depth: {
|
|
73
|
+
type: 'maybeNumber',
|
|
74
|
+
description: 'levels of subfeature the formatDetails.subfeatures callback runs on, default 2',
|
|
75
|
+
},
|
|
76
|
+
/**
|
|
77
|
+
* #slot formatDetails.maxDepth
|
|
78
|
+
* how many levels of subfeature card the panel renders at all, which is a
|
|
79
|
+
* separate question from how deep `subfeatures` formats. Unset means no
|
|
80
|
+
* limit. A track's value wins over the session's
|
|
81
|
+
*/
|
|
82
|
+
maxDepth: {
|
|
83
|
+
type: 'maybeNumber',
|
|
84
|
+
description: 'hide subfeatures nested deeper than this, default no limit',
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
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. A sub-schema recurses, and so does each entry of an
|
|
9
|
+
* array or map of them; an explicitly typed schema carries its `type`, which
|
|
10
|
+
* is what tells the entries of a union list apart. Constants are the editor's
|
|
11
|
+
* and are left out.
|
|
12
|
+
*/
|
|
13
|
+
export declare function fullConfSnapshot(confObject: AnyConfigurationModel): Record<string, unknown>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getSnapshot, getType, isArrayType, isMapType, isStateTreeNode, } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { getConfigurationSchemaMetadata } from './schemaRegistry.js';
|
|
3
|
+
import { isConfigurationSchemaType, isSlotDefinitionEntry, } from './schemaTypes.js';
|
|
4
|
+
// a sub-schema member: one node, or an array or map of them, entry by entry
|
|
5
|
+
function subConfSnapshot(member) {
|
|
6
|
+
if (!isStateTreeNode(member)) {
|
|
7
|
+
return member;
|
|
8
|
+
}
|
|
9
|
+
const type = getType(member);
|
|
10
|
+
if (isArrayType(type)) {
|
|
11
|
+
return member.map(fullConfSnapshot);
|
|
12
|
+
}
|
|
13
|
+
if (isMapType(type)) {
|
|
14
|
+
return Object.fromEntries([...member.entries()].map(([key, node]) => [key, fullConfSnapshot(node)]));
|
|
15
|
+
}
|
|
16
|
+
return fullConfSnapshot(member);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Plain-object snapshot of a configuration model including ALL values, even
|
|
20
|
+
* defaults. Unlike `getSnapshot()`, which strips a slot sitting at its default
|
|
21
|
+
* via `types.stripDefault`, this returns every slot's current value, so the
|
|
22
|
+
* result is a self-contained config object an RPC worker can read with no
|
|
23
|
+
* schema. JEXL callback slots keep their raw `"jexl:..."` string for the worker
|
|
24
|
+
* to evaluate per-feature. A sub-schema recurses, and so does each entry of an
|
|
25
|
+
* array or map of them; an explicitly typed schema carries its `type`, which
|
|
26
|
+
* is what tells the entries of a union list apart. Constants are the editor's
|
|
27
|
+
* and are left out.
|
|
28
|
+
*/
|
|
29
|
+
export function fullConfSnapshot(confObject) {
|
|
30
|
+
const meta = getConfigurationSchemaMetadata(getType(confObject));
|
|
31
|
+
const result = meta?.options.explicitlyTyped
|
|
32
|
+
? { type: confObject.type }
|
|
33
|
+
: {};
|
|
34
|
+
for (const [key, def] of Object.entries(meta?.definition ?? {})) {
|
|
35
|
+
const member = confObject[key];
|
|
36
|
+
if (isSlotDefinitionEntry(def)) {
|
|
37
|
+
result[key] = isStateTreeNode(member) ? getSnapshot(member) : member;
|
|
38
|
+
}
|
|
39
|
+
else if (isConfigurationSchemaType(def) && member !== undefined) {
|
|
40
|
+
result[key] = subConfSnapshot(member);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { AnyConfigurationModel, AnyConfigurationSnapshot, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotPath, ConfigurationSlotPathValue, ConfigurationSlotValue } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* #api core/configuration
|
|
4
|
+
* Reads a configuration value from a state model that has a `.configuration`
|
|
5
|
+
* member (a track or display state model). For a raw configuration model, use
|
|
6
|
+
* `readConfObject` instead.
|
|
7
|
+
*
|
|
8
|
+
* **This is exactly `readConfObject(model.configuration, path)`** — sugar for
|
|
9
|
+
* the `.configuration` hop, and nothing more. The two readers carry the same
|
|
10
|
+
* slot-name check, so reaching for the other one does not get a typo past tsc.
|
|
11
|
+
* It does not consult the session and has no per-slot behavior; what you read is
|
|
12
|
+
* what the track stores.
|
|
13
|
+
*
|
|
14
|
+
* @param model - object containing a 'configuration' member
|
|
15
|
+
* @param slotPaths - array of paths to read
|
|
16
|
+
* @param args - extra arguments e.g. for a feature callback,
|
|
17
|
+
* will be sent to each of the slotNames
|
|
18
|
+
*/
|
|
19
|
+
export declare function getConf(model: {
|
|
20
|
+
configuration: AnyConfigurationModel;
|
|
21
|
+
}): AnyConfigurationSnapshot;
|
|
22
|
+
export declare function getConf<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(model: {
|
|
23
|
+
configuration: CONFMODEL;
|
|
24
|
+
}, slotPath: SLOT, args?: Record<string, unknown>): SLOT extends string ? ConfigurationSlotValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT> : ConfigurationSlotPathValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT>;
|
|
25
|
+
/**
|
|
26
|
+
* #api core/configuration
|
|
27
|
+
* Write counterpart to `getConf`, and it takes the same path: a slot name, or
|
|
28
|
+
* an array naming a sub-schema's member at any depth —
|
|
29
|
+
* `setConf(self, ['scales', 'y', 'domainMin'], 5)`. Takes the display or track
|
|
30
|
+
* model, or a config node directly.
|
|
31
|
+
*
|
|
32
|
+
* **The path length says what the write replaces.** A path ending on a slot
|
|
33
|
+
* writes that slot and leaves the object around it alone; a path ending on a
|
|
34
|
+
* sub-schema replaces the whole object, which is how a channel whose members
|
|
35
|
+
* move together — a facet's field and the domain that field's values order —
|
|
36
|
+
* gets written without a stale member surviving underneath.
|
|
37
|
+
*
|
|
38
|
+
* **Prefer this over a bare `self.configuration.setSlot('x', v)`.** The
|
|
39
|
+
* constraint here mirrors `getConf`'s, so on a model with a concrete schema an
|
|
40
|
+
* unknown slot name is a compile error. `setSlot` itself stays untyped on
|
|
41
|
+
* purpose — the config editor's slot facade routes dynamic slot names through
|
|
42
|
+
* it (`configurationSchema.ts`) — and guards the name at runtime instead
|
|
43
|
+
* (ADR-052), so a misspelled write is diagnosed one way or the other.
|
|
44
|
+
*
|
|
45
|
+
* **The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
46
|
+
* schema doesn't declare returns `undefined` and reports nothing, at any layer,
|
|
47
|
+
* so the slot keeps reading as its default forever. Which makes the
|
|
48
|
+
* compile-time constraint worth keeping *reachable*: it is only as good as the
|
|
49
|
+
* schema of the holder handed in, and a holder widened to
|
|
50
|
+
* `AnyConfigurationModel` switches it off entirely — the trap a mixin casting
|
|
51
|
+
* to reach its host walks into. Every such cast names a concrete schema instead
|
|
52
|
+
* (`ConfigModelForFields`, or the base schema when the slot is the base's), and
|
|
53
|
+
* `HostChecksSlotNames` pins each one.
|
|
54
|
+
*
|
|
55
|
+
* A wrong *value* type still throws at runtime (MST type-checks the assignment)
|
|
56
|
+
* rather than at compile time. `value` is deliberately `unknown` because
|
|
57
|
+
* `undefined` is a legitimate write — it resets a slot to its schema default —
|
|
58
|
+
* and the declared slot value type doesn't include it.
|
|
59
|
+
*
|
|
60
|
+
* @param target - a model with a `configuration` member, or a config node
|
|
61
|
+
* @param slotPath - the slot to write, or the path to one
|
|
62
|
+
* @param value - the new value
|
|
63
|
+
*/
|
|
64
|
+
export declare function setConf<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(target: CONFMODEL | {
|
|
65
|
+
configuration: CONFMODEL;
|
|
66
|
+
}, slotPath: SLOT, value: unknown): void;
|
|
67
|
+
export interface ConfSettingsReport {
|
|
68
|
+
/** the keys the config declares, written */
|
|
69
|
+
applied: string[];
|
|
70
|
+
/** the keys it does not, with the values the lift left them */
|
|
71
|
+
undeclared: Record<string, unknown>;
|
|
72
|
+
/** a declared key whose write threw, and why */
|
|
73
|
+
failed: {
|
|
74
|
+
key: string;
|
|
75
|
+
error: string;
|
|
76
|
+
}[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* #api core/configuration
|
|
80
|
+
* Write a settings bag — a session spec's track entry, a share link, an agent
|
|
81
|
+
* call — onto a config. Each key names a member: a slot or a channel is written
|
|
82
|
+
* whole, as `setConf` writes it, so `null` resets it (ADR-146); a namespace's
|
|
83
|
+
* object names members inside it, at any depth, and the ones it leaves out
|
|
84
|
+
* keep their values. The config's own lift and checks run over the bag first,
|
|
85
|
+
* and each namespace's over its part, so a shorthand or a legacy key reads the
|
|
86
|
+
* same here as in `config.json`. A key the config does not declare is reported
|
|
87
|
+
* for the caller to route or refuse, and a declared key whose write throws
|
|
88
|
+
* costs that key alone.
|
|
89
|
+
*/
|
|
90
|
+
export declare function applyConfSettings(target: AnyConfigurationModel | {
|
|
91
|
+
configuration: AnyConfigurationModel;
|
|
92
|
+
}, settings: Record<string, unknown>): ConfSettingsReport;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { getType, isStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { isPlainObject } from '../util/objectUtils.js';
|
|
3
|
+
import { readConfObject } from './readConfObject.js';
|
|
4
|
+
import { getConfigurationSchemaDefinition, getConfigurationSchemaMetadata, } from './schemaRegistry.js';
|
|
5
|
+
import { isConfigurationModel, isConfigurationSchemaType, isConstantEntry, } from './schemaTypes.js';
|
|
6
|
+
import { preProcessSnapshotWith } from './snapshotPreprocess.js';
|
|
7
|
+
export function getConf(model, slotPath, args = {}) {
|
|
8
|
+
return readConfObject(model.configuration, slotPath, args);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* #api core/configuration
|
|
12
|
+
* Write counterpart to `getConf`, and it takes the same path: a slot name, or
|
|
13
|
+
* an array naming a sub-schema's member at any depth —
|
|
14
|
+
* `setConf(self, ['scales', 'y', 'domainMin'], 5)`. Takes the display or track
|
|
15
|
+
* model, or a config node directly.
|
|
16
|
+
*
|
|
17
|
+
* **The path length says what the write replaces.** A path ending on a slot
|
|
18
|
+
* writes that slot and leaves the object around it alone; a path ending on a
|
|
19
|
+
* sub-schema replaces the whole object, which is how a channel whose members
|
|
20
|
+
* move together — a facet's field and the domain that field's values order —
|
|
21
|
+
* gets written without a stale member surviving underneath.
|
|
22
|
+
*
|
|
23
|
+
* **Prefer this over a bare `self.configuration.setSlot('x', v)`.** The
|
|
24
|
+
* constraint here mirrors `getConf`'s, so on a model with a concrete schema an
|
|
25
|
+
* unknown slot name is a compile error. `setSlot` itself stays untyped on
|
|
26
|
+
* purpose — the config editor's slot facade routes dynamic slot names through
|
|
27
|
+
* it (`configurationSchema.ts`) — and guards the name at runtime instead
|
|
28
|
+
* (ADR-052), so a misspelled write is diagnosed one way or the other.
|
|
29
|
+
*
|
|
30
|
+
* **The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
31
|
+
* schema doesn't declare returns `undefined` and reports nothing, at any layer,
|
|
32
|
+
* so the slot keeps reading as its default forever. Which makes the
|
|
33
|
+
* compile-time constraint worth keeping *reachable*: it is only as good as the
|
|
34
|
+
* schema of the holder handed in, and a holder widened to
|
|
35
|
+
* `AnyConfigurationModel` switches it off entirely — the trap a mixin casting
|
|
36
|
+
* to reach its host walks into. Every such cast names a concrete schema instead
|
|
37
|
+
* (`ConfigModelForFields`, or the base schema when the slot is the base's), and
|
|
38
|
+
* `HostChecksSlotNames` pins each one.
|
|
39
|
+
*
|
|
40
|
+
* A wrong *value* type still throws at runtime (MST type-checks the assignment)
|
|
41
|
+
* rather than at compile time. `value` is deliberately `unknown` because
|
|
42
|
+
* `undefined` is a legitimate write — it resets a slot to its schema default —
|
|
43
|
+
* and the declared slot value type doesn't include it.
|
|
44
|
+
*
|
|
45
|
+
* @param target - a model with a `configuration` member, or a config node
|
|
46
|
+
* @param slotPath - the slot to write, or the path to one
|
|
47
|
+
* @param value - the new value
|
|
48
|
+
*/
|
|
49
|
+
export function setConf(target, slotPath, value) {
|
|
50
|
+
writeConfPath(isConfigurationModel(target) ? target : target.configuration, typeof slotPath === 'string' ? [slotPath] : slotPath, value);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Walk to the node the last segment names a member of, then write that member
|
|
54
|
+
* through whichever of the node's two write actions the member is: a
|
|
55
|
+
* sub-schema, single or a collection, is replaced whole, and a slot goes
|
|
56
|
+
* through `setSlot` so ADR-052's name guard and the value-type guard both run.
|
|
57
|
+
* MST's `applyPatch` takes the same path and runs neither guard.
|
|
58
|
+
*/
|
|
59
|
+
function writeConfPath(conf, path, value) {
|
|
60
|
+
if (!path.length) {
|
|
61
|
+
throw new Error('setConf needs a slot name or a path to one');
|
|
62
|
+
}
|
|
63
|
+
let node = conf;
|
|
64
|
+
for (const segment of path.slice(0, -1)) {
|
|
65
|
+
const child = node[segment];
|
|
66
|
+
if (!isConfigurationModel(child)) {
|
|
67
|
+
throw new Error(`${getType(node).name} has no sub-schema "${segment}", so ${path.join('.')} names nothing to write`);
|
|
68
|
+
}
|
|
69
|
+
node = child;
|
|
70
|
+
}
|
|
71
|
+
const leaf = path.at(-1);
|
|
72
|
+
// Classify off the declaration, never off what the member holds: a
|
|
73
|
+
// `stringArray` slot holds an array node, and an optional sub-schema nobody
|
|
74
|
+
// has written yet holds nothing.
|
|
75
|
+
const declared = getConfigurationSchemaDefinition(node)?.[leaf];
|
|
76
|
+
if (isConfigurationSchemaType(declared)) {
|
|
77
|
+
// eslint-disable-next-line no-restricted-syntax -- this is setConf
|
|
78
|
+
node.setSubschema(leaf, value);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// eslint-disable-next-line no-restricted-syntax -- this is setConf
|
|
82
|
+
node.setSlot(leaf, value);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// A sub-schema of independent settings, whose members a bag names one by one.
|
|
86
|
+
// A channel — a sub-schema with a shorthand — takes one written value, so a
|
|
87
|
+
// bag replaces it whole: `{ field }` after `{ field, domain }` is a facet with
|
|
88
|
+
// no domain, and a merge would leave the old domain standing.
|
|
89
|
+
function namespaceMetadata(member) {
|
|
90
|
+
const meta = isStateTreeNode(member)
|
|
91
|
+
? getConfigurationSchemaMetadata(getType(member))
|
|
92
|
+
: undefined;
|
|
93
|
+
return meta?.options.shorthand === undefined ? meta : undefined;
|
|
94
|
+
}
|
|
95
|
+
function writeConfMember(conf, key, value) {
|
|
96
|
+
const member = conf[key];
|
|
97
|
+
const namespace = isPlainObject(value) ? namespaceMetadata(member) : undefined;
|
|
98
|
+
if (namespace) {
|
|
99
|
+
for (const [k, v] of Object.entries(preProcessSnapshotWith(namespace, value))) {
|
|
100
|
+
writeConfMember(member, k, v);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
writeConfPath(conf, [key], value);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* #api core/configuration
|
|
109
|
+
* Write a settings bag — a session spec's track entry, a share link, an agent
|
|
110
|
+
* call — onto a config. Each key names a member: a slot or a channel is written
|
|
111
|
+
* whole, as `setConf` writes it, so `null` resets it (ADR-146); a namespace's
|
|
112
|
+
* object names members inside it, at any depth, and the ones it leaves out
|
|
113
|
+
* keep their values. The config's own lift and checks run over the bag first,
|
|
114
|
+
* and each namespace's over its part, so a shorthand or a legacy key reads the
|
|
115
|
+
* same here as in `config.json`. A key the config does not declare is reported
|
|
116
|
+
* for the caller to route or refuse, and a declared key whose write throws
|
|
117
|
+
* costs that key alone.
|
|
118
|
+
*/
|
|
119
|
+
export function applyConfSettings(target, settings) {
|
|
120
|
+
const conf = isConfigurationModel(target) ? target : target.configuration;
|
|
121
|
+
const meta = getConfigurationSchemaMetadata(conf);
|
|
122
|
+
const values = meta ? preProcessSnapshotWith(meta, settings) : settings;
|
|
123
|
+
const report = { applied: [], undeclared: {}, failed: [] };
|
|
124
|
+
for (const [key, value] of Object.entries(values)) {
|
|
125
|
+
const declared = Object.hasOwn(meta?.definition ?? {}, key)
|
|
126
|
+
? meta.definition[key]
|
|
127
|
+
: undefined;
|
|
128
|
+
if (declared === undefined || isConstantEntry(declared)) {
|
|
129
|
+
report.undeclared[key] = value;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
writeConfMember(conf, key, value);
|
|
134
|
+
report.applied.push(key);
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
report.failed.push({ key, error: `${e}` });
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return report;
|
|
141
|
+
}
|
|
@@ -1,3 +1,32 @@
|
|
|
1
|
-
export { ConfigurationReference, ConfigurationSchema, } from './configurationSchema.ts';
|
|
2
|
-
export type {
|
|
3
|
-
export
|
|
1
|
+
export { ConfigurationReference, ConfigurationSchema, hydrateTrackConfig, } from './configurationSchema.ts';
|
|
2
|
+
export type { ConfigurationSchemaDefinition, RetiredSpelling, } from './configurationSchema.ts';
|
|
3
|
+
export { ConfigurationSchemaUnion, arraySlotUnion, } from './configurationSchemaUnion.ts';
|
|
4
|
+
export type { ConfigurationSchemaUnionType } from './configurationSchemaUnion.ts';
|
|
5
|
+
export type { ConfigSlotDefinition } from './configurationSlot.ts';
|
|
6
|
+
export type { AnyConfiguration, AnyConfigurationModel, AnyConfigurationSchemaType, AnyConfigurationSnapshot, ConfigModelForFields, ConfigNodeActions, ConfigNodeBrand, ConfigNodeProps, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotPath, ConfigurationSlotPathValue, ConfigurationSlotValue, ConfigurationSnapshot, HostChecksSlotNames, IdentifierSlotDef, PluggableConfigNode, TypeSlotDef, } from './types.ts';
|
|
7
|
+
export { getConfigurationSchemaDefinition, getConfigurationSchemaMetadata, getConfigurationSchemaUnion, } from './schemaRegistry.ts';
|
|
8
|
+
export type { ConfigurationSchemaUnionMetadata } from './schemaRegistry.ts';
|
|
9
|
+
export { getTypeNamesFromExplicitlyTypedUnion, isBareConfigurationSchemaType, isConfigurationModel, isConfigurationSchemaType, isConstantEntry, isSlotDefinitionEntry, } from './schemaTypes.ts';
|
|
10
|
+
export { FormatAboutConfigSchemaFactory } from './formatAboutConfigSchema.ts';
|
|
11
|
+
export { DEFAULT_FORMAT_DETAILS_DEPTH, FormatDetailsConfigSchemaFactory, } from './formatDetailsConfigSchema.ts';
|
|
12
|
+
export { mergeFormatCallbacks } from './mergeFormatCallbacks.ts';
|
|
13
|
+
export { readConfObject, readConfigValue } from './readConfObject.ts';
|
|
14
|
+
export { applyConfSettings, getConf, setConf } from './getConf.ts';
|
|
15
|
+
export type { ConfSettingsReport } from './getConf.ts';
|
|
16
|
+
export { fillLocations } from './fillLocations.ts';
|
|
17
|
+
export { applyRetiredSpellings, liftRetiredSpellings, preProcessConfigSnapshot, preProcessSnapshotWith, } from './snapshotPreprocess.ts';
|
|
18
|
+
export { shorthandTargets, shorthandTargetsOf } from './schemaTypes.ts';
|
|
19
|
+
export type { ShorthandForm } from './schemaTypes.ts';
|
|
20
|
+
export { requirementProblems } from './requirements.ts';
|
|
21
|
+
export type { ConfigurationSchemaRequirement, RequirementProblem, } from './requirements.ts';
|
|
22
|
+
export { expandTabixShorthand, indexSnapshot, requestedIndexType, tabixIndexSnapshot, } from './tabixShorthand.ts';
|
|
23
|
+
export { expandUriShorthand } from './uriShorthand.ts';
|
|
24
|
+
export { bamIndexFields, bamIndexSchema } from './bamIndexFields.ts';
|
|
25
|
+
export { tabixIndexFields, tabixIndexSchema } from './tabixIndexFields.ts';
|
|
26
|
+
export { fillIndexType, indexSuffix, isCsiLocation } from './indexType.ts';
|
|
27
|
+
export type { IndexType, SiblingIndexType } from './indexType.ts';
|
|
28
|
+
export { evaluateJexl, isCallbackValue } from './slotValueUtils.ts';
|
|
29
|
+
export { toCallbackValue, toFixedValue } from './configurationSlot.ts';
|
|
30
|
+
export { getSlotDefinition, isConfigurationSlot, makeSlotFacade, slotChoices, slotValueRefusal, } from './slotFacade.ts';
|
|
31
|
+
export type { SlotFacade } from './slotFacade.ts';
|
|
32
|
+
export { fullConfSnapshot } from './fullConfSnapshot.ts';
|
|
@@ -1,2 +1,27 @@
|
|
|
1
|
-
export { ConfigurationReference, ConfigurationSchema, } from
|
|
2
|
-
export
|
|
1
|
+
export { ConfigurationReference, ConfigurationSchema, hydrateTrackConfig, } from './configurationSchema.js';
|
|
2
|
+
export { ConfigurationSchemaUnion, arraySlotUnion, } from './configurationSchemaUnion.js';
|
|
3
|
+
export { getConfigurationSchemaDefinition,
|
|
4
|
+
// exported for scripts/generateConfigManifest.ts, which needs the
|
|
5
|
+
// preProcessSnapshot off a schema whose pluggable type does not expose one —
|
|
6
|
+
// TextSearchAdapterType, where the shorthand is nonetheless the documented
|
|
7
|
+
// way to write the config
|
|
8
|
+
getConfigurationSchemaMetadata, getConfigurationSchemaUnion, } from './schemaRegistry.js';
|
|
9
|
+
export { getTypeNamesFromExplicitlyTypedUnion, isBareConfigurationSchemaType, isConfigurationModel, isConfigurationSchemaType, isConstantEntry, isSlotDefinitionEntry, } from './schemaTypes.js';
|
|
10
|
+
export { FormatAboutConfigSchemaFactory } from './formatAboutConfigSchema.js';
|
|
11
|
+
export { DEFAULT_FORMAT_DETAILS_DEPTH, FormatDetailsConfigSchemaFactory, } from './formatDetailsConfigSchema.js';
|
|
12
|
+
export { mergeFormatCallbacks } from './mergeFormatCallbacks.js';
|
|
13
|
+
export { readConfObject, readConfigValue } from './readConfObject.js';
|
|
14
|
+
export { applyConfSettings, getConf, setConf } from './getConf.js';
|
|
15
|
+
export { fillLocations } from './fillLocations.js';
|
|
16
|
+
export { applyRetiredSpellings, liftRetiredSpellings, preProcessConfigSnapshot, preProcessSnapshotWith, } from './snapshotPreprocess.js';
|
|
17
|
+
export { shorthandTargets, shorthandTargetsOf } from './schemaTypes.js';
|
|
18
|
+
export { requirementProblems } from './requirements.js';
|
|
19
|
+
export { expandTabixShorthand, indexSnapshot, requestedIndexType, tabixIndexSnapshot, } from './tabixShorthand.js';
|
|
20
|
+
export { expandUriShorthand } from './uriShorthand.js';
|
|
21
|
+
export { bamIndexFields, bamIndexSchema } from './bamIndexFields.js';
|
|
22
|
+
export { tabixIndexFields, tabixIndexSchema } from './tabixIndexFields.js';
|
|
23
|
+
export { fillIndexType, indexSuffix, isCsiLocation } from './indexType.js';
|
|
24
|
+
export { evaluateJexl, isCallbackValue } from './slotValueUtils.js';
|
|
25
|
+
export { toCallbackValue, toFixedValue } from './configurationSlot.js';
|
|
26
|
+
export { getSlotDefinition, isConfigurationSlot, makeSlotFacade, slotChoices, slotValueRefusal, } from './slotFacade.js';
|
|
27
|
+
export { fullConfSnapshot } from './fullConfSnapshot.js';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** The sibling index format of a family: TBI for tabix, BAI for BAM. */
|
|
2
|
+
export type SiblingIndexType = 'TBI' | 'BAI';
|
|
3
|
+
export type IndexType = SiblingIndexType | 'CSI';
|
|
4
|
+
/** The extension an index of this type carries: `CSI` → `.csi`, `TBI` → `.tbi`. */
|
|
5
|
+
export declare function indexSuffix(indexType: IndexType): string;
|
|
6
|
+
/**
|
|
7
|
+
* Whether a file location names a CSI. htslib writes `.csi` in place of a `.bai`
|
|
8
|
+
* or a `.tbi` for a reference over 512 Mb and on request at any size, so the
|
|
9
|
+
* extension is the only thing distinguishing the two parsers.
|
|
10
|
+
*
|
|
11
|
+
* `makeIndexType` in `util/tracks.ts` asks this of a bare filename, for the
|
|
12
|
+
* guessers and add-track forms that WRITE an `indexType` beside the location.
|
|
13
|
+
* Those stay: a config the CLI or jbrowse-img writes is read by older JBrowse
|
|
14
|
+
* versions, which have no inference to fall back on.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isCsiLocation(location: unknown): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* An index sub-schema's snapshot with `indexType` filled in from the location it
|
|
19
|
+
* names, where it states none. Only CSI is ever filled in — the sibling format
|
|
20
|
+
* is the slot's own default.
|
|
21
|
+
*
|
|
22
|
+
* Belongs to the sub-schema rather than to the `uri` shorthand because it has to
|
|
23
|
+
* cover the paths no shorthand runs on: a long-form config, and an add-track
|
|
24
|
+
* form that writes a location and nothing else.
|
|
25
|
+
*/
|
|
26
|
+
export declare function fillIndexType(snap: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isPlainObject } from '../util/objectUtils.js';
|
|
2
|
+
/** The extension an index of this type carries: `CSI` → `.csi`, `TBI` → `.tbi`. */
|
|
3
|
+
export function indexSuffix(indexType) {
|
|
4
|
+
return `.${indexType.toLowerCase()}`;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Whether a file location names a CSI. htslib writes `.csi` in place of a `.bai`
|
|
8
|
+
* or a `.tbi` for a reference over 512 Mb and on request at any size, so the
|
|
9
|
+
* extension is the only thing distinguishing the two parsers.
|
|
10
|
+
*
|
|
11
|
+
* `makeIndexType` in `util/tracks.ts` asks this of a bare filename, for the
|
|
12
|
+
* guessers and add-track forms that WRITE an `indexType` beside the location.
|
|
13
|
+
* Those stay: a config the CLI or jbrowse-img writes is read by older JBrowse
|
|
14
|
+
* versions, which have no inference to fall back on.
|
|
15
|
+
*/
|
|
16
|
+
export function isCsiLocation(location) {
|
|
17
|
+
if (!isPlainObject(location)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const { uri, localPath } = location;
|
|
21
|
+
const name = typeof uri === 'string' ? uri : localPath;
|
|
22
|
+
// a presigned url carries its query string after the name
|
|
23
|
+
return typeof name === 'string' && /\.csi$/i.test(name.split(/[?#]/)[0]);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* An index sub-schema's snapshot with `indexType` filled in from the location it
|
|
27
|
+
* names, where it states none. Only CSI is ever filled in — the sibling format
|
|
28
|
+
* is the slot's own default.
|
|
29
|
+
*
|
|
30
|
+
* Belongs to the sub-schema rather than to the `uri` shorthand because it has to
|
|
31
|
+
* cover the paths no shorthand runs on: a long-form config, and an add-track
|
|
32
|
+
* form that writes a location and nothing else.
|
|
33
|
+
*/
|
|
34
|
+
export function fillIndexType(snap) {
|
|
35
|
+
return snap.indexType === undefined && isCsiLocation(snap.location)
|
|
36
|
+
? { ...snap, indexType: 'CSI' }
|
|
37
|
+
: snap;
|
|
38
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 returns something other than an object is an authoring mistake,
|
|
8
|
+
* `"jexl:feature.name"` where `"jexl:{name:feature.name}"` was meant, and it
|
|
9
|
+
* throws rather than vanishing: spread, the string became rows keyed 0, 1, 2,
|
|
10
|
+
* and dropped, the author's callback silently did nothing. A tier returning
|
|
11
|
+
* null or undefined has nothing to add. `null` and `undefined` *values* survive:
|
|
12
|
+
* they are how a callback hides a field, and the panels filter them downstream.
|
|
13
|
+
*/
|
|
14
|
+
export declare function mergeFormatCallbacks(...tiers: unknown[]): Record<string, unknown>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isPlainObject } 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 returns something other than an object is an authoring mistake,
|
|
9
|
+
* `"jexl:feature.name"` where `"jexl:{name:feature.name}"` was meant, and it
|
|
10
|
+
* throws rather than vanishing: spread, the string became rows keyed 0, 1, 2,
|
|
11
|
+
* and dropped, the author's callback silently did nothing. A tier returning
|
|
12
|
+
* null or undefined has nothing to add. `null` and `undefined` *values* survive:
|
|
13
|
+
* they are how a callback hides a field, and the panels filter them downstream.
|
|
14
|
+
*/
|
|
15
|
+
export function mergeFormatCallbacks(...tiers) {
|
|
16
|
+
const out = {};
|
|
17
|
+
for (const tier of tiers) {
|
|
18
|
+
if (tier == null) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (!isPlainObject(tier)) {
|
|
22
|
+
throw new Error(`a format callback returned ${Array.isArray(tier) ? 'an array' : `a ${typeof tier}`} where an object of fields was expected, e.g. "jexl:{name:feature.name}" rather than "jexl:feature.name"`);
|
|
23
|
+
}
|
|
24
|
+
Object.assign(out, tier);
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Feature } from '../util/index.ts';
|
|
2
|
+
import type { JexlInstance } from '../util/jexlStrings.ts';
|
|
3
|
+
import type { AnyConfigurationModel, AnyConfigurationSnapshot, ConfigurationSchemaForModel, ConfigurationSlotName, ConfigurationSlotPath, ConfigurationSlotPathValue, ConfigurationSlotValue } from './types.ts';
|
|
4
|
+
/**
|
|
5
|
+
* #api core/configuration
|
|
6
|
+
* Given a configuration model (an instance of a ConfigurationSchema), read the
|
|
7
|
+
* configuration value at the given path. Use this when you hold the
|
|
8
|
+
* configuration model directly, e.g. an entry from `session.tracks`.
|
|
9
|
+
*
|
|
10
|
+
* Wants a **live config node**, not a snapshot of one, and passing a snapshot is
|
|
11
|
+
* a type error. Slots are built with `types.stripDefault`, so a slot sitting at
|
|
12
|
+
* its default is absent from a snapshot — "unset" and "at its default" are
|
|
13
|
+
* indistinguishable there, and a read off one reports a default as missing.
|
|
14
|
+
*
|
|
15
|
+
* That is enforced in the types only, deliberately: it can't be a runtime check.
|
|
16
|
+
* `generateHierarchy` reads slots straight off the **un-hydrated frozen** entries
|
|
17
|
+
* of `jbrowse.tracks` on purpose, because hydrating every track to answer the
|
|
18
|
+
* track selector is what `types.frozen` exists to avoid — and those reads are
|
|
19
|
+
* indistinguishable at runtime from the broken spelling.
|
|
20
|
+
*
|
|
21
|
+
* @param model - instance of ConfigurationSchema
|
|
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 readConfObject(confObject: AnyConfigurationModel): AnyConfigurationSnapshot;
|
|
27
|
+
export declare function readConfObject<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(confObject: CONFMODEL, slotPath?: SLOT, args?: Record<string, unknown>): SLOT extends string ? ConfigurationSlotValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT> : ConfigurationSlotPathValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT>;
|
|
28
|
+
/**
|
|
29
|
+
* Read a value from a plain config snapshot object. Automatically evaluates
|
|
30
|
+
* "jexl:..." strings per-feature. Works without MST — intended for use in
|
|
31
|
+
* rendering code (GPU, Canvas2D, workers). Pass the realm's `pluginManager.jexl`
|
|
32
|
+
* so plugin-registered functions (e.g. in a custom `mouseover` slot) resolve.
|
|
33
|
+
*/
|
|
34
|
+
export declare function readConfigValue<T>(config: Record<string, unknown>, key: string | string[], feature: Feature, jexl: JexlInstance): T;
|