@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
|
@@ -1,239 +1,246 @@
|
|
|
1
1
|
import { types } from '@jbrowse/mobx-state-tree';
|
|
2
|
-
import {
|
|
3
|
-
import { stringToJexlExpression } from
|
|
4
|
-
import { FileLocation } from
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { isCssColor } from '../util/cssColorParse.js';
|
|
3
|
+
import { isJexl, stringToJexlExpression } from '../util/jexlStrings.js';
|
|
4
|
+
import { FileLocation, JexlExpressionString } from '../util/types/mst.js';
|
|
5
|
+
import { isCallbackValue } from './slotValueUtils.js';
|
|
6
|
+
// What a color slot admits is what the painters parse (`isCssColor`), plus the
|
|
7
|
+
// empty string a slot such as `outlineColor` spells "none" with; a field name
|
|
8
|
+
// written where a color goes used to load and paint the invalid sentinel.
|
|
9
|
+
function notAColor(value) {
|
|
10
|
+
return `${JSON.stringify(value)} is not a color. A color is a CSS color: a name like "red" or "steelblue", "#rgb" / "#rrggbb" / "#rrggbbaa", "rgb()" / "rgba()" / "hsl()" / "hsla()", or "transparent"; a color computed per feature is a "jexl:" callback, in a slot that takes one`;
|
|
7
11
|
}
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
integer: types.integer,
|
|
15
|
-
number: types.number,
|
|
16
|
-
string: types.string,
|
|
17
|
-
text: types.string,
|
|
18
|
-
fileLocation: FileLocation,
|
|
19
|
-
frozen: types.frozen(),
|
|
20
|
-
};
|
|
21
|
-
const fallbackDefaults = {
|
|
22
|
-
stringArray: [],
|
|
23
|
-
stringArrayMap: {},
|
|
24
|
-
numberMap: {},
|
|
25
|
-
boolean: true,
|
|
26
|
-
color: 'black',
|
|
27
|
-
integer: 1,
|
|
28
|
-
number: 1,
|
|
29
|
-
string: '',
|
|
30
|
-
text: '',
|
|
31
|
-
fileLocation: { uri: '/path/to/resource.txt', locationType: 'UriLocation' },
|
|
32
|
-
frozen: {},
|
|
33
|
-
};
|
|
34
|
-
const literalJSON = (self) => ({
|
|
35
|
-
views: {
|
|
36
|
-
get valueJSON() {
|
|
37
|
-
return self.value;
|
|
38
|
-
},
|
|
39
|
-
},
|
|
12
|
+
const CssColorType = types.refinement('CssColor', types.string, value => value === '' || isCssColor(value), notAColor);
|
|
13
|
+
// An entry of a colour list has no "none" to spell, so '' is refused with the
|
|
14
|
+
// rest of what is not a colour.
|
|
15
|
+
const CssColorEntryType = types.refinement('CssColorEntry', types.string, isCssColor, notAColor);
|
|
16
|
+
const MaybeFileLocation = types.snapshotProcessor(types.maybe(FileLocation), {
|
|
17
|
+
preProcessor: (snap) => snap && 'uri' in snap && snap.uri === '' ? undefined : snap,
|
|
40
18
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
19
|
+
// Single source of truth for the builtin slot type names, pairing each with its
|
|
20
|
+
// MST value type and its editor fallback default. Keeping model + fallback in
|
|
21
|
+
// one table means adding a slot type is one edit and can't half-register.
|
|
22
|
+
//
|
|
23
|
+
// `satisfies` rather than an annotation: a `Record<string, …>` annotation
|
|
24
|
+
// widens the keys to `string`, which is what let `type: 'enum'` — a name this
|
|
25
|
+
// table has never had — compile for years and silently lose the config
|
|
26
|
+
// editor's dropdown. The literal keys are what `ConfigSlotType` below is made
|
|
27
|
+
// of.
|
|
28
|
+
const slotTypes = {
|
|
29
|
+
stringArray: { model: types.array(types.string), fallbackDefault: [] },
|
|
30
|
+
expressionArray: {
|
|
31
|
+
model: types.array(JexlExpressionString),
|
|
32
|
+
fallbackDefault: [],
|
|
46
33
|
},
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
remove(key) {
|
|
83
|
-
self.value.delete(key);
|
|
84
|
-
},
|
|
85
|
-
addToKey(key, val) {
|
|
86
|
-
const ar = self.value.get(key);
|
|
87
|
-
if (!ar) {
|
|
88
|
-
throw new Error(`${key} not found`);
|
|
89
|
-
}
|
|
90
|
-
ar.push(val);
|
|
91
|
-
},
|
|
92
|
-
removeAtKeyIndex(key, idx) {
|
|
93
|
-
const ar = self.value.get(key);
|
|
94
|
-
if (!ar) {
|
|
95
|
-
throw new Error(`${key} not found`);
|
|
96
|
-
}
|
|
97
|
-
ar.splice(idx, 1);
|
|
98
|
-
},
|
|
99
|
-
setAtKeyIndex(key, idx, val) {
|
|
100
|
-
const ar = self.value.get(key);
|
|
101
|
-
if (!ar) {
|
|
102
|
-
throw new Error(`${key} not found`);
|
|
103
|
-
}
|
|
104
|
-
ar[idx] = val;
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
}),
|
|
108
|
-
numberMap: (self) => ({
|
|
109
|
-
views: {
|
|
110
|
-
get valueJSON() {
|
|
111
|
-
return JSON.stringify(self.value);
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
actions: {
|
|
115
|
-
add(key, val) {
|
|
116
|
-
self.value.set(key, val);
|
|
117
|
-
},
|
|
118
|
-
remove(key) {
|
|
119
|
-
self.value.delete(key);
|
|
120
|
-
},
|
|
34
|
+
colorArray: { model: types.array(CssColorEntryType), fallbackDefault: [] },
|
|
35
|
+
stringArrayMap: {
|
|
36
|
+
model: types.map(types.array(types.string)),
|
|
37
|
+
fallbackDefault: {},
|
|
38
|
+
},
|
|
39
|
+
numberMap: { model: types.map(types.number), fallbackDefault: {} },
|
|
40
|
+
stringMap: { model: types.map(types.string), fallbackDefault: {} },
|
|
41
|
+
boolean: { model: types.boolean, fallbackDefault: true },
|
|
42
|
+
color: { model: CssColorType, fallbackDefault: 'black' },
|
|
43
|
+
integer: { model: types.integer, fallbackDefault: 1 },
|
|
44
|
+
number: { model: types.number, fallbackDefault: 1 },
|
|
45
|
+
// The `maybe*` types spend `undefined` on "not explicitly set", which is the
|
|
46
|
+
// one value no config can spell and so the only reliable way to say it — a
|
|
47
|
+
// computed/auto fallback, e.g. a drag-resized track height.
|
|
48
|
+
maybeNumber: { model: types.maybe(types.number) },
|
|
49
|
+
maybeBoolean: { model: types.maybe(types.boolean) },
|
|
50
|
+
// for a slot whose unset state means "decide from the data" — a feature's own
|
|
51
|
+
// BED itemRgb, say
|
|
52
|
+
maybeColor: { model: types.maybe(CssColorType) },
|
|
53
|
+
// object-valued, e.g. alignments `sortedBy`
|
|
54
|
+
maybeFrozen: { model: types.maybe(types.frozen()) },
|
|
55
|
+
// for text whose unset state is a third thing beside some text and none: an
|
|
56
|
+
// axis title is derived while unset, and drawn bare once it is ''
|
|
57
|
+
maybeString: { model: types.maybe(types.string) },
|
|
58
|
+
string: { model: types.string, fallbackDefault: '' },
|
|
59
|
+
text: { model: types.string, fallbackDefault: '' },
|
|
60
|
+
// a field the display reads per feature: a name, a dotted path, or a
|
|
61
|
+
// `jexl:` expression, which the display evaluates and the reader never does
|
|
62
|
+
featureField: { model: types.string, fallbackDefault: '' },
|
|
63
|
+
fileLocation: {
|
|
64
|
+
model: FileLocation,
|
|
65
|
+
fallbackDefault: {
|
|
66
|
+
uri: '/path/to/resource.txt',
|
|
67
|
+
locationType: 'UriLocation',
|
|
121
68
|
},
|
|
122
|
-
}
|
|
69
|
+
},
|
|
70
|
+
// for a sidecar the adapter works without: unset means no file is
|
|
71
|
+
// configured, and so does the `{ uri: '' }` a cleared URL field in the
|
|
72
|
+
// config editor writes
|
|
73
|
+
maybeFileLocation: { model: MaybeFileLocation },
|
|
74
|
+
frozen: { model: types.frozen(), fallbackDefault: {} },
|
|
123
75
|
};
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
76
|
+
// The types with no builtin table entry, because the author supplies the
|
|
77
|
+
// `types.enumeration` as `model` and `ConfigSlot` wraps it: in `types.maybe`
|
|
78
|
+
// for `maybeStringEnum`, in `types.array` for `stringEnumArray`. Named once,
|
|
79
|
+
// and spliced into both the type union and the runtime set below so those two
|
|
80
|
+
// cannot drift apart.
|
|
81
|
+
const ENUM_SLOT_TYPES = [
|
|
82
|
+
'stringEnum',
|
|
83
|
+
'maybeStringEnum',
|
|
84
|
+
'stringEnumArray',
|
|
85
|
+
];
|
|
86
|
+
/**
|
|
87
|
+
* The same closed set, at runtime, because the type alone does not close it for
|
|
88
|
+
* the callers that matter most: `ConfigSlot` is plugin-facing, and a JS plugin
|
|
89
|
+
* or one built against an older core reaches it with no checking at all. Those
|
|
90
|
+
* are exactly the callers that hit the silent-degradation trap above, and
|
|
91
|
+
* `type: 'enum'` — a name this table has never had — is the one that did.
|
|
92
|
+
*
|
|
93
|
+
* Typed `Set<string>` rather than `Set<ConfigSlotType>` so the membership test
|
|
94
|
+
* stays a question TypeScript has not already answered for in-tree callers. It
|
|
95
|
+
* is a real runtime check, not a restatement of the signature.
|
|
96
|
+
*/
|
|
97
|
+
const CONFIG_SLOT_TYPE_NAMES = new Set([
|
|
98
|
+
...Object.keys(slotTypes),
|
|
99
|
+
...ENUM_SLOT_TYPES,
|
|
100
|
+
]);
|
|
101
|
+
// Lookup view over the table. The two enum types are legal `ConfigSlotType`s
|
|
102
|
+
// with no entry, so indexing by the union has to tolerate a miss — this states
|
|
103
|
+
// that in the type rather than casting it away at each call.
|
|
104
|
+
const builtinSlotTypes = slotTypes;
|
|
105
|
+
// The slot types whose default is `undefined` — the genuine "unset" state,
|
|
106
|
+
// distinguishable from every value a config can spell. Mostly derived from the
|
|
107
|
+
// table above (they're exactly the entries with no `fallbackDefault`, since
|
|
108
|
+
// "unset" is their fixed form) so the two can't drift. `maybeStringEnum` is
|
|
109
|
+
// named explicitly because, like plain `stringEnum`, it has no builtin model:
|
|
110
|
+
// the author supplies the enumeration and `ConfigSlot` wraps it in
|
|
111
|
+
// `types.maybe`.
|
|
112
|
+
const MAYBE_TYPES = new Set([
|
|
113
|
+
...Object.entries(slotTypes)
|
|
114
|
+
.filter(([, spec]) => spec.fallbackDefault === undefined)
|
|
115
|
+
.map(([name]) => name),
|
|
116
|
+
'maybeStringEnum',
|
|
117
|
+
]);
|
|
118
|
+
const JexlStringType = types.refinement('JexlString', types.string, isJexl);
|
|
119
|
+
const CALLBACK_SLOTS = 'a slot that takes a callback declares the names it reads, which its config docs list as callback args';
|
|
120
|
+
function notACallbackSlot(value) {
|
|
121
|
+
return `${JSON.stringify(value)} is a jexl: callback, and this slot takes a value: ${CALLBACK_SLOTS}`;
|
|
127
122
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
123
|
+
/** Why the slot `name`, of type `type`, refuses `value` on a write. */
|
|
124
|
+
export function slotWriteRefusal(name, type, value) {
|
|
125
|
+
const bare = type === 'expressionArray' && Array.isArray(value)
|
|
126
|
+
? value.find(entry => !isJexl(entry))
|
|
127
|
+
: undefined;
|
|
128
|
+
return isJexl(value)
|
|
129
|
+
? `${name} takes no jexl: callback, and ${JSON.stringify(value)} is one: ${CALLBACK_SLOTS}`
|
|
130
|
+
: bare !== undefined
|
|
131
|
+
? `${name} takes jexl: expressions, and ${JSON.stringify(bare)} is not an expression: write it with its prefix, as "jexl:${String(bare)}"`
|
|
132
|
+
: `${name} is a ${type} slot and cannot take ${JSON.stringify(value)}`;
|
|
133
|
+
}
|
|
134
|
+
function refusingCallbacks(model) {
|
|
135
|
+
return types.refinement(model, value => !isJexl(value), notACallbackSlot);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A configuration slot is a plain MST property holding the slot's value type,
|
|
139
|
+
* or, where the slot declares a `contextVariable`, that or a `jexl:...`
|
|
140
|
+
* callback string. Every other slot refuses a `jexl:` string, so a callback
|
|
141
|
+
* the reader would evaluate is one the schema says it takes. A `featureField`
|
|
142
|
+
* holds a `jexl:` expression as its value, which the display evaluates per
|
|
143
|
+
* feature. The value lives directly on the parent configuration model — there
|
|
144
|
+
* is no per-slot sub-model. `types.stripDefault` omits the property from the
|
|
145
|
+
* parent snapshot when it equals the default, so saved sessions stay minimal.
|
|
146
|
+
* Per-slot metadata (type/description/defaultValue/contextVariable) lives in
|
|
147
|
+
* the schema registry (a WeakMap keyed by the MST type, see
|
|
148
|
+
* schemaRegistry.ts); jexl callbacks are evaluated on read by
|
|
149
|
+
* `readConfObject`.
|
|
150
|
+
*
|
|
151
|
+
* Interning the returned type on `(type, model, defaultValue)` was prototyped
|
|
152
|
+
* and declined: a session builds 1197 slot types for 222 distinct ones, and
|
|
153
|
+
* removing the repeats moves neither the time nor the heap
|
|
154
|
+
* (`config-schema-construction`, published in `reference/EAGER_BUNDLE.md`).
|
|
155
|
+
*/
|
|
156
|
+
export default function ConfigSlot(definition) {
|
|
157
|
+
const { model, type, defaultValue } = definition;
|
|
158
|
+
if (!CONFIG_SLOT_TYPE_NAMES.has(type)) {
|
|
159
|
+
throw new Error(`config slot needs a known type name, got ${JSON.stringify(type)}`);
|
|
134
160
|
}
|
|
135
|
-
|
|
161
|
+
const valueModel = model ?? builtinSlotTypes[type]?.model;
|
|
162
|
+
if (!valueModel) {
|
|
136
163
|
throw new Error(`no builtin config slot type "${type}", and no 'model' param provided`);
|
|
137
164
|
}
|
|
138
|
-
|
|
165
|
+
// the `maybe*` types intentionally default to `undefined` (the "unset"
|
|
166
|
+
// state); every other slot type must declare a concrete default so a missing
|
|
167
|
+
// one is caught as an authoring mistake.
|
|
168
|
+
if (defaultValue === undefined && !MAYBE_TYPES.has(type)) {
|
|
139
169
|
throw new Error("no 'defaultValue' provided");
|
|
140
170
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
171
|
+
// The inverse of the `defaultValue === undefined` check above, and the half
|
|
172
|
+
// that had no guard. A `maybe*` slot whose default is concrete can never *be*
|
|
173
|
+
// unset — no config can spell `undefined` — so the unset state such a slot
|
|
174
|
+
// exists to express (auto-fit, decide-from-the-data, inherit) is unreachable
|
|
175
|
+
// and the branch reading it never runs. There is no symptom: the slot reads as
|
|
176
|
+
// a perfectly good value everywhere.
|
|
177
|
+
//
|
|
178
|
+
// The way this happens is **inheritance**, which is why the type can't catch
|
|
179
|
+
// it: a `maybe*` override of a plain base slot inherits the base's concrete
|
|
180
|
+
// default through the definition spread, and the override's own literal looks
|
|
181
|
+
// right. `LinearMafDisplay.height` over `BaseLinearDisplay`'s `number`/100 is
|
|
182
|
+
// the case in the repo, and only that display's own tests noticed.
|
|
183
|
+
if (defaultValue !== undefined && MAYBE_TYPES.has(type)) {
|
|
184
|
+
throw new Error(`a "${type}" slot cannot have a concrete defaultValue (${JSON.stringify(defaultValue)}): unset is the state a maybe* slot exists for, and no config can spell undefined, so it would be unreachable. If this slot overrides a base slot, the base's defaultValue merged in — state 'defaultValue: undefined' to overwrite it. Otherwise use the non-maybe form of the type.`);
|
|
185
|
+
}
|
|
186
|
+
const callback = !!definition.contextVariable?.length;
|
|
187
|
+
if (type === 'featureField' && callback) {
|
|
188
|
+
throw new Error('a "featureField" slot names a field the display reads per feature, and its jexl: expression is evaluated there, never called with a contextVariable. If this slot overrides a base callback slot, state \'contextVariable: undefined\'.');
|
|
189
|
+
}
|
|
190
|
+
if (!callback && isJexl(defaultValue)) {
|
|
191
|
+
throw new Error(`the defaultValue ${JSON.stringify(defaultValue)} is a jexl: callback, so the slot declares the contextVariable names it reads`);
|
|
192
|
+
}
|
|
193
|
+
const value = enumShaped(type, valueModel);
|
|
194
|
+
return types.stripDefault(callback
|
|
195
|
+
? types.union(JexlStringType, value)
|
|
196
|
+
: type === 'featureField'
|
|
197
|
+
? value
|
|
198
|
+
: refusingCallbacks(value), defaultValue);
|
|
199
|
+
}
|
|
200
|
+
// The author writes an enum slot's plain vocabulary, and the slot's shape
|
|
201
|
+
// around it is added here.
|
|
202
|
+
function enumShaped(type, model) {
|
|
203
|
+
return type === 'maybeStringEnum'
|
|
204
|
+
? types.maybe(model)
|
|
205
|
+
: type === 'stringEnumArray'
|
|
206
|
+
? types.array(model)
|
|
207
|
+
: model;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* New value when converting a fixed-value slot to a jexl callback. Already-
|
|
211
|
+
* callback values are returned unchanged.
|
|
212
|
+
*
|
|
213
|
+
* A single JSON.stringify covers every type: `jexl:${42}` and
|
|
214
|
+
* `jexl:${JSON.stringify(42)}` are identical for numbers/booleans, and the rest
|
|
215
|
+
* need the quoting/serialization anyway.
|
|
216
|
+
*/
|
|
217
|
+
export function toCallbackValue(value) {
|
|
218
|
+
return isCallbackValue(value) ? value : `jexl:${JSON.stringify(value)}`;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* New value when converting a jexl callback back to a fixed value: try
|
|
222
|
+
* evaluating with no args, else fall back to the slot default (and to the slot
|
|
223
|
+
* type's `fallbackDefault` if the default is itself a callback).
|
|
224
|
+
*/
|
|
225
|
+
export function toFixedValue(value, type, defaultValue, jexl) {
|
|
226
|
+
if (!isCallbackValue(value)) {
|
|
227
|
+
return value;
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const result = stringToJexlExpression(value, jexl).eval();
|
|
231
|
+
if (result !== undefined) {
|
|
232
|
+
return result;
|
|
190
233
|
}
|
|
191
|
-
return snap.value !== defaultValue ? snap.value : undefined;
|
|
192
|
-
})
|
|
193
|
-
.actions(self => ({
|
|
194
|
-
set(newVal) {
|
|
195
|
-
self.value = newVal;
|
|
196
|
-
},
|
|
197
|
-
reset() {
|
|
198
|
-
self.value = defaultValue;
|
|
199
|
-
},
|
|
200
|
-
convertToCallback() {
|
|
201
|
-
if (self.isCallback) {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
self.value = `jexl:${self.valueJSON || "''"}`;
|
|
205
|
-
},
|
|
206
|
-
convertToValue() {
|
|
207
|
-
if (!self.isCallback) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
try {
|
|
211
|
-
const funcResult = self.expr.eval();
|
|
212
|
-
if (funcResult !== undefined) {
|
|
213
|
-
self.value = funcResult;
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
catch (e) {
|
|
218
|
-
}
|
|
219
|
-
self.value = defaultValue;
|
|
220
|
-
if (!(type in fallbackDefaults)) {
|
|
221
|
-
throw new Error(`no fallbackDefault defined for type ${type}`);
|
|
222
|
-
}
|
|
223
|
-
self.value = fallbackDefaults[type];
|
|
224
|
-
},
|
|
225
|
-
}));
|
|
226
|
-
if (typeModelExtensions[type]) {
|
|
227
|
-
slot = slot.extend(typeModelExtensions[type]);
|
|
228
234
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
235
|
+
catch {
|
|
236
|
+
/* fall through to default */
|
|
237
|
+
}
|
|
238
|
+
if (isCallbackValue(defaultValue)) {
|
|
239
|
+
const spec = builtinSlotTypes[type];
|
|
240
|
+
if (spec?.fallbackDefault === undefined) {
|
|
241
|
+
throw new Error(`no fallbackDefault defined for type ${type}`);
|
|
242
|
+
}
|
|
243
|
+
return spec.fallbackDefault;
|
|
244
|
+
}
|
|
245
|
+
return defaultValue;
|
|
239
246
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shorthand snapshot with its location slots filled in: `derived` supplies
|
|
3
|
+
* what the shorthand implies, and any key the config spells out for itself
|
|
4
|
+
* wins.
|
|
5
|
+
*
|
|
6
|
+
* Spread the other way round — derived over the snapshot — a config naming both
|
|
7
|
+
* a `uri` and a location that is not the sibling of it, `{ uri: 'x.fa',
|
|
8
|
+
* faiLocation: { uri: 'custom.fai' } }`, silently lost the index it named to
|
|
9
|
+
* the one the shorthand invents. Every adapter's normalizer had its own copy of
|
|
10
|
+
* the spread, so the precedence had to be got right 30-odd times.
|
|
11
|
+
*/
|
|
12
|
+
export declare function fillLocations(snap: Record<string, unknown>, derived: Record<string, unknown>): {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shorthand snapshot with its location slots filled in: `derived` supplies
|
|
3
|
+
* what the shorthand implies, and any key the config spells out for itself
|
|
4
|
+
* wins.
|
|
5
|
+
*
|
|
6
|
+
* Spread the other way round — derived over the snapshot — a config naming both
|
|
7
|
+
* a `uri` and a location that is not the sibling of it, `{ uri: 'x.fa',
|
|
8
|
+
* faiLocation: { uri: 'custom.fai' } }`, silently lost the index it named to
|
|
9
|
+
* the one the shorthand invents. Every adapter's normalizer had its own copy of
|
|
10
|
+
* the spread, so the precedence had to be got right 30-odd times.
|
|
11
|
+
*/
|
|
12
|
+
export function fillLocations(snap, derived) {
|
|
13
|
+
return { ...derived, ...snap };
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #config FormatAbout
|
|
3
|
+
* #category root
|
|
4
|
+
* jexl callbacks that add, rewrite or hide fields in a track's About dialog.
|
|
5
|
+
* The same schema hangs off every track and off the session as
|
|
6
|
+
* `configuration.formatAbout`, which applies to every track at once. Where both
|
|
7
|
+
* are set the track's object is spread over the session's, so a track can
|
|
8
|
+
* override individual keys the global callback added.
|
|
9
|
+
*
|
|
10
|
+
* #example
|
|
11
|
+
* On a track. The callback's variable is `config`, not `feature`, since the
|
|
12
|
+
* dialog shows the track's own configuration rather than a feature:
|
|
13
|
+
* ```js
|
|
14
|
+
* {
|
|
15
|
+
* type: 'FeatureTrack',
|
|
16
|
+
* trackId: 'genes',
|
|
17
|
+
* name: 'Genes',
|
|
18
|
+
* assemblyNames: ['hg38'],
|
|
19
|
+
* adapter: {
|
|
20
|
+
* type: 'Gff3TabixAdapter',
|
|
21
|
+
* uri: 'https://example.com/genes.gff.gz',
|
|
22
|
+
* },
|
|
23
|
+
* formatAbout: {
|
|
24
|
+
* hideUris: true,
|
|
25
|
+
* config: "jexl:{Source:'GENCODE v44', adapter:undefined}",
|
|
26
|
+
* },
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function FormatAboutConfigSchemaFactory(): import("./configurationSchema.ts").ConfigurationSchemaType<{
|
|
31
|
+
readonly config: {
|
|
32
|
+
type: "frozen";
|
|
33
|
+
} & {
|
|
34
|
+
defaultValue: unknown;
|
|
35
|
+
};
|
|
36
|
+
readonly hideUris: {
|
|
37
|
+
type: "boolean";
|
|
38
|
+
} & {
|
|
39
|
+
defaultValue: boolean;
|
|
40
|
+
};
|
|
41
|
+
}, import("./configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined, undefined, import("./requirements.ts").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ConfigurationSchema } from './configurationSchema.js';
|
|
2
|
+
/**
|
|
3
|
+
* #config FormatAbout
|
|
4
|
+
* #category root
|
|
5
|
+
* jexl callbacks that add, rewrite or hide fields in a track's About dialog.
|
|
6
|
+
* The same schema hangs off every track and off the session as
|
|
7
|
+
* `configuration.formatAbout`, which applies to every track at once. Where both
|
|
8
|
+
* are set the track's object is spread over the session's, so a track can
|
|
9
|
+
* override individual keys the global callback added.
|
|
10
|
+
*
|
|
11
|
+
* #example
|
|
12
|
+
* On a track. The callback's variable is `config`, not `feature`, since the
|
|
13
|
+
* dialog shows the track's own configuration rather than a feature:
|
|
14
|
+
* ```js
|
|
15
|
+
* {
|
|
16
|
+
* type: 'FeatureTrack',
|
|
17
|
+
* trackId: 'genes',
|
|
18
|
+
* name: 'Genes',
|
|
19
|
+
* assemblyNames: ['hg38'],
|
|
20
|
+
* adapter: {
|
|
21
|
+
* type: 'Gff3TabixAdapter',
|
|
22
|
+
* uri: 'https://example.com/genes.gff.gz',
|
|
23
|
+
* },
|
|
24
|
+
* formatAbout: {
|
|
25
|
+
* hideUris: true,
|
|
26
|
+
* config: "jexl:{Source:'GENCODE v44', adapter:undefined}",
|
|
27
|
+
* },
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function FormatAboutConfigSchemaFactory() {
|
|
32
|
+
return ConfigurationSchema('FormatAbout', {
|
|
33
|
+
/**
|
|
34
|
+
* #slot formatAbout.config
|
|
35
|
+
* callback returning an object of fields to merge over the config shown
|
|
36
|
+
*/
|
|
37
|
+
config: {
|
|
38
|
+
type: 'frozen',
|
|
39
|
+
description: 'formats configuration object in about dialog',
|
|
40
|
+
defaultValue: {},
|
|
41
|
+
contextVariable: ['config'],
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* #slot formatAbout.hideUris
|
|
45
|
+
* leave file locations out of the About dialog, for a deployment that would
|
|
46
|
+
* rather not show users where the data sits. Hides URIs and local paths
|
|
47
|
+
* alike, drops the "Copy config" button, and suppresses the File info panel
|
|
48
|
+
* — a BAM's `@SQ UR:` and `@PG CL:` lines are locations too. "Show ref
|
|
49
|
+
* names" stays, since it exposes none. The two tiers are OR'd, so a
|
|
50
|
+
* session-wide `true` cannot be turned back on by a track. It hides the
|
|
51
|
+
* locations from the dialog only, not from `config.json`
|
|
52
|
+
*/
|
|
53
|
+
hideUris: {
|
|
54
|
+
type: 'boolean',
|
|
55
|
+
defaultValue: false,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Levels of subfeature the `subfeatures` callback runs on when no tier sets
|
|
3
|
+
* `depth`. Applied by the reader rather than as the slot's `defaultValue`, so
|
|
4
|
+
* the slot can still read as unset and the session's value reach a track.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_FORMAT_DETAILS_DEPTH = 2;
|
|
7
|
+
/**
|
|
8
|
+
* #config FormatDetails
|
|
9
|
+
* #category root
|
|
10
|
+
* jexl callbacks that add, rewrite or hide fields in the feature-details panel.
|
|
11
|
+
* The same schema hangs off every track and off the session as
|
|
12
|
+
* `configuration.formatDetails`, which applies to every track at once. Where
|
|
13
|
+
* both are set, the callbacks merge with the track's object over the session's,
|
|
14
|
+
* so a track can override individual keys the global callback added, and the
|
|
15
|
+
* numeric slots take the track's value when the track sets one.
|
|
16
|
+
*
|
|
17
|
+
* #example
|
|
18
|
+
* On a track. The callback returns an object merged over the feature: a new key
|
|
19
|
+
* adds a row, an existing key rewrites it, and `undefined` hides it. A bare URL
|
|
20
|
+
* is turned into a link for you, so no `<a>` markup is needed:
|
|
21
|
+
* ```js
|
|
22
|
+
* {
|
|
23
|
+
* type: 'FeatureTrack',
|
|
24
|
+
* trackId: 'genes',
|
|
25
|
+
* name: 'Genes',
|
|
26
|
+
* assemblyNames: ['hg38'],
|
|
27
|
+
* adapter: {
|
|
28
|
+
* type: 'Gff3TabixAdapter',
|
|
29
|
+
* uri: 'https://example.com/genes.gff.gz',
|
|
30
|
+
* },
|
|
31
|
+
* formatDetails: {
|
|
32
|
+
* feature: "jexl:{ncbi:'https://www.ncbi.nlm.nih.gov/gene/?term='+feature.name, phase:undefined}",
|
|
33
|
+
* },
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function FormatDetailsConfigSchemaFactory(): import("./configurationSchema.ts").ConfigurationSchemaType<{
|
|
38
|
+
readonly feature: {
|
|
39
|
+
type: "frozen";
|
|
40
|
+
} & {
|
|
41
|
+
defaultValue: unknown;
|
|
42
|
+
};
|
|
43
|
+
readonly subfeatures: {
|
|
44
|
+
type: "frozen";
|
|
45
|
+
} & {
|
|
46
|
+
defaultValue: unknown;
|
|
47
|
+
};
|
|
48
|
+
readonly depth: {
|
|
49
|
+
type: "maybeNumber";
|
|
50
|
+
};
|
|
51
|
+
readonly maxDepth: {
|
|
52
|
+
type: "maybeNumber";
|
|
53
|
+
};
|
|
54
|
+
}, import("./configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined, undefined, import("./requirements.ts").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|