@jbrowse/core 4.3.0 → 5.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1994 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +14 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +36 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +10 -7
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +124 -21
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +12 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +19 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +18 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +9 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +33 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +19 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +8 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +7 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +15 -20
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +50 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +9 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +35 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +62 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +69 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +22 -0
- package/esm/BaseFeatureWidget/formatDetails.js +82 -0
- package/esm/BaseFeatureWidget/index.d.ts +4 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +102 -71
- package/esm/BaseFeatureWidget/stateModelFactory.js +162 -63
- package/esm/BaseFeatureWidget/types.d.ts +15 -8
- package/esm/BaseFeatureWidget/util.d.ts +2 -37
- package/esm/BaseFeatureWidget/util.js +4 -85
- package/esm/CorePlugin.js +12 -7
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +55 -44
- package/esm/PluginLoader.js +290 -90
- package/esm/PluginManager.d.ts +476 -57
- package/esm/PluginManager.js +480 -91
- package/esm/ReExports/MuiDataGridReExports.d.ts +3 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +528 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +488 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +68 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +433 -160
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -146
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/registry.d.ts +3 -0
- package/esm/ReExports/registry.js +46 -0
- package/esm/ReExports/uiStub.d.ts +3 -0
- package/esm/ReExports/uiStub.js +33 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +11 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +30 -36
- package/esm/TextSearch/TextSearchManager.js +138 -44
- package/esm/TextSearch/places.d.ts +12 -0
- package/esm/TextSearch/places.js +94 -0
- package/esm/assemblyManager/assembly.d.ts +310 -35
- package/esm/assemblyManager/assembly.js +554 -263
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +24 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +135 -19
- package/esm/assemblyManager/assemblyConfigSchema.js +205 -23
- package/esm/assemblyManager/assemblyManager.d.ts +586 -323
- package/esm/assemblyManager/assemblyManager.js +352 -51
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +39 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +114 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +44 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +19 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +22 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
- package/esm/assemblyManager/indexAssemblyNames.js +22 -0
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +75 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
- package/esm/assemblyManager/refNameMapKey.js +12 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +13 -0
- package/esm/checkPlugins.js +98 -0
- package/esm/configuration/bamIndexFields.d.ts +49 -0
- package/esm/configuration/bamIndexFields.js +41 -0
- package/esm/configuration/configurationSchema.d.ts +194 -29
- package/esm/configuration/configurationSchema.js +439 -145
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +56 -0
- package/esm/configuration/configurationSlot.d.ts +373 -30
- package/esm/configuration/configurationSlot.js +231 -224
- package/esm/configuration/fillLocations.d.ts +14 -0
- package/esm/configuration/fillLocations.js +14 -0
- package/esm/configuration/formatAboutConfigSchema.d.ts +41 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +54 -0
- package/esm/configuration/formatDetailsConfigSchema.js +87 -0
- package/esm/configuration/fullConfSnapshot.d.ts +13 -0
- package/esm/configuration/fullConfSnapshot.js +44 -0
- package/esm/configuration/getConf.d.ts +92 -0
- package/esm/configuration/getConf.js +141 -0
- package/esm/configuration/index.d.ts +32 -3
- package/esm/configuration/index.js +27 -2
- package/esm/configuration/indexType.d.ts +26 -0
- package/esm/configuration/indexType.js +38 -0
- package/esm/configuration/mergeFormatCallbacks.d.ts +14 -0
- package/esm/configuration/mergeFormatCallbacks.js +27 -0
- package/esm/configuration/readConfObject.d.ts +34 -0
- package/esm/configuration/readConfObject.js +118 -0
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +52 -0
- package/esm/configuration/schemaRegistry.js +48 -0
- package/esm/configuration/schemaTypes.d.ts +39 -0
- package/esm/configuration/schemaTypes.js +105 -0
- package/esm/configuration/slotFacade.d.ts +65 -0
- package/esm/configuration/slotFacade.js +110 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/snapshotPreprocess.d.ts +43 -0
- package/esm/configuration/snapshotPreprocess.js +161 -0
- package/esm/configuration/tabixIndexFields.d.ts +70 -0
- package/esm/configuration/tabixIndexFields.js +62 -0
- package/esm/configuration/tabixShorthand.d.ts +51 -0
- package/esm/configuration/tabixShorthand.js +72 -0
- package/esm/configuration/types.d.ts +315 -13
- package/esm/configuration/uriShorthand.d.ts +9 -0
- package/esm/configuration/uriShorthand.js +16 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +19 -11
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +19 -18
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +158 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +164 -29
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +28 -6
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
- package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
- package/esm/data_adapters/BaseAdapter/stats.js +89 -24
- package/esm/data_adapters/BaseAdapter/types.d.ts +11 -13
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +5 -5
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +34 -6
- package/esm/data_adapters/CytobandAdapter/configSchema.js +47 -17
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +53 -2
- package/esm/data_adapters/dataAdapterCache.js +99 -25
- package/esm/data_adapters/getFeatureAdapter.d.ts +24 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +19 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +42 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +57 -7
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +54 -14
- package/esm/pluggableElementTypes/DisplayType.js +30 -7
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +11 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +11 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +142 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +279 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +18 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +22 -5
- package/esm/pluggableElementTypes/ViewType.js +40 -5
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +88 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +29 -0
- package/esm/pluggableElementTypes/extendElementType.js +72 -0
- package/esm/pluggableElementTypes/index.d.ts +8 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +80 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +643 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +230 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +246 -37
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +416 -107
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +236 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +154 -16
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +169 -25
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +178 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +26 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +31 -17
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +142 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +215 -90
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +111 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +54 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +50 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +147 -0
- package/esm/pluggableElementTypes/models/index.d.ts +5 -3
- package/esm/pluggableElementTypes/models/index.js +9 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +48 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +114 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +10 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +272 -100
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +225 -0
- package/esm/pluginDefinitions.js +254 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +68 -106
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +23 -29
- package/esm/rpc/RpcClient.d.ts +50 -0
- package/esm/rpc/RpcClient.js +189 -0
- package/esm/rpc/RpcManager.d.ts +120 -27
- package/esm/rpc/RpcManager.js +187 -50
- package/esm/rpc/RpcRegistry.d.ts +298 -0
- package/esm/rpc/RpcServer.d.ts +43 -0
- package/esm/rpc/RpcServer.js +242 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +78 -24
- package/esm/rpc/WebWorkerRpcDriver.js +311 -30
- package/esm/rpc/byteBudget.d.ts +64 -0
- package/esm/rpc/byteBudget.js +61 -0
- package/esm/rpc/configSchema.d.ts +13 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +6 -5
- package/esm/rpc/coreRpcMethods.js +13 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +25 -15
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +14 -18
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +16 -15
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
- package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
- package/esm/rpc/methods/layerFeatures.d.ts +33 -0
- package/esm/rpc/methods/layerFeatures.js +29 -0
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +52 -0
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/exportViewSvg.d.ts +28 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +138 -0
- package/esm/svg/svgReady.js +165 -0
- package/esm/svg/trackNames.d.ts +29 -0
- package/esm/svg/trackNames.js +34 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +10 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +56 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AppReadyMarker.d.ts +45 -0
- package/esm/ui/AppReadyMarker.js +89 -0
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +446 -42
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +6 -5
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +5 -4
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +51 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +129 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +436 -64
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +11 -3
- package/esm/ui/HoverMenu.js +34 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +26 -0
- package/esm/ui/JexlFilterDialog.js +167 -0
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +30 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +23 -0
- package/esm/ui/LoadingOverlay.js +139 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +95 -5
- package/esm/ui/MenuTypes.js +16 -1
- package/esm/ui/MonospaceTextField.d.ts +10 -0
- package/esm/ui/MonospaceTextField.js +40 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +90 -0
- package/esm/ui/PaletteContext.js +142 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +21 -0
- package/esm/ui/RefNameAutocomplete/index.js +84 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +62 -0
- package/esm/ui/RefNameAutocomplete/util.js +209 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +15 -7
- package/esm/ui/ResizeHandle.js +73 -53
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -47
- package/esm/ui/ScrollChrome.d.ts +13 -0
- package/esm/ui/ScrollChrome.js +11 -0
- package/esm/ui/ScrollEdgeShadow.d.ts +41 -0
- package/esm/ui/ScrollEdgeShadow.js +77 -0
- package/esm/ui/ScrollZoomToggle.d.ts +15 -0
- package/esm/ui/ScrollZoomToggle.js +75 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SessionJsonPanel.d.ts +3 -0
- package/esm/ui/SessionJsonPanel.js +14 -0
- package/esm/ui/SettingsChangesTable.d.ts +15 -0
- package/esm/ui/SettingsChangesTable.js +87 -0
- package/esm/ui/ShareLinkField.d.ts +4 -0
- package/esm/ui/ShareLinkField.js +15 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +14 -0
- package/esm/ui/SizeSliderRow.js +48 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +96 -52
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +18 -0
- package/esm/ui/SvgColorLegend.js +106 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +24 -0
- package/esm/ui/VerticalScrollbar.js +104 -0
- package/esm/ui/ViewLoadingScreen.d.ts +25 -0
- package/esm/ui/ViewLoadingScreen.js +52 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorScale.d.ts +92 -0
- package/esm/ui/colorScale.js +72 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +125 -8
- package/esm/ui/colors.js +364 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +23 -0
- package/esm/ui/hoverBoxStyle.js +28 -0
- package/esm/ui/index.d.ts +77 -5
- package/esm/ui/index.js +83 -20
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +46 -0
- package/esm/ui/legendMenuItem.d.ts +16 -0
- package/esm/ui/legendMenuItem.js +17 -0
- package/esm/ui/legendSpec.d.ts +69 -0
- package/esm/ui/legendSpec.js +69 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +24 -0
- package/esm/ui/makeSizeMenu.js +58 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +22 -0
- package/esm/ui/menuItemAdornment.js +28 -0
- package/esm/ui/menuItems.d.ts +23 -0
- package/esm/ui/menuItems.js +21 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +25 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +561 -0
- package/esm/ui/palette.js +785 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +268 -30
- package/esm/ui/theme.js +250 -350
- package/esm/ui/toggleMenuItems.d.ts +42 -0
- package/esm/ui/toggleMenuItems.js +61 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +207 -17
- package/esm/util/Base1DUtils.js +316 -173
- package/esm/util/Base1DViewModel.d.ts +99 -21
- package/esm/util/Base1DViewModel.js +151 -41
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +83 -0
- package/esm/util/SvgCanvas.js +520 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +56 -4
- package/esm/util/aborting.js +112 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +40 -0
- package/esm/util/addAndShowTrack.d.ts +19 -0
- package/esm/util/addAndShowTrack.js +27 -0
- package/esm/util/addRelativeUris.d.ts +29 -0
- package/esm/util/addRelativeUris.js +78 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +91 -0
- package/esm/util/addTrackFromWidget.js +91 -0
- package/esm/util/aggregateFieldName.d.ts +10 -0
- package/esm/util/aggregateFieldName.js +8 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +135 -49
- package/esm/util/animationAllowed.d.ts +26 -0
- package/esm/util/animationAllowed.js +35 -0
- package/esm/util/applyRowResizeWheel.d.ts +15 -0
- package/esm/util/applyRowResizeWheel.js +23 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +63 -0
- package/esm/util/bandHeight.js +85 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +15 -0
- package/esm/util/bezierConnector.js +101 -0
- package/esm/util/bgzfWorkerPool.d.ts +24 -0
- package/esm/util/bgzfWorkerPool.js +27 -0
- package/esm/util/binnedAggregate.d.ts +17 -0
- package/esm/util/binnedAggregate.js +275 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +55 -0
- package/esm/util/cacheBudgets.js +55 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/categoricalField.d.ts +56 -0
- package/esm/util/categoricalField.js +73 -0
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +43 -0
- package/esm/util/clampToContig.js +47 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +2 -15
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +7 -2
- package/esm/util/color/index.d.ts +84 -3
- package/esm/util/color/index.js +197 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +155 -0
- package/esm/util/colorRamp.d.ts +81 -0
- package/esm/util/colorRamp.js +244 -0
- package/esm/util/colorScale.d.ts +156 -0
- package/esm/util/colorScale.js +243 -0
- package/esm/util/colorSchemes.d.ts +21 -0
- package/esm/util/colorSchemes.js +30 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createAbortRotation.d.ts +115 -0
- package/esm/util/createAbortRotation.js +116 -0
- package/esm/util/createSvgRasterCanvas.d.ts +17 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +22 -0
- package/esm/util/diagonalizeRegions.js +187 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/expandLooseSearchIndex.d.ts +19 -0
- package/esm/util/expandLooseSearchIndex.js +29 -0
- package/esm/util/featureTable.d.ts +224 -0
- package/esm/util/featureTable.js +366 -0
- package/esm/util/featureTransforms.d.ts +80 -0
- package/esm/util/featureTransforms.js +1579 -0
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +71 -0
- package/esm/util/fetchContext.d.ts +81 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +17 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +4 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +26 -0
- package/esm/util/freezeDeep.js +39 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/groupKeys.d.ts +77 -0
- package/esm/util/groupKeys.js +155 -0
- package/esm/util/highlights.d.ts +25 -0
- package/esm/util/highlights.js +87 -0
- package/esm/util/hooks.d.ts +189 -0
- package/esm/util/hooks.js +485 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +82 -268
- package/esm/util/index.js +137 -853
- package/esm/util/indexCandidates.d.ts +20 -0
- package/esm/util/indexCandidates.js +43 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +234 -0
- package/esm/util/installFetch.js +205 -0
- package/esm/util/installInitAutorun.d.ts +63 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/installPrerequisiteFetch.d.ts +115 -0
- package/esm/util/installPrerequisiteFetch.js +111 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +120 -12
- package/esm/util/isDataCurrent.d.ts +9 -0
- package/esm/util/isDataCurrent.js +12 -0
- package/esm/util/isTextEntryFocused.d.ts +7 -0
- package/esm/util/isTextEntryFocused.js +16 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +146 -19
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +68 -0
- package/esm/util/jexlFilters.js +61 -0
- package/esm/util/jexlStrings.d.ts +21 -1
- package/esm/util/jexlStrings.js +20 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +20 -25
- package/esm/util/layouts/GranularRectLayout.js +116 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/lazyWithPreload.d.ts +19 -0
- package/esm/util/lazyWithPreload.js +27 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +72 -0
- package/esm/util/legendCandidates.js +138 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/markEncoding.d.ts +150 -0
- package/esm/util/markEncoding.js +845 -0
- package/esm/util/markEncodingTypes.d.ts +588 -0
- package/esm/util/markEncodingTypes.js +8 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +3 -11
- package/esm/util/mst-reflection.js +3 -52
- package/esm/util/mstUtils.d.ts +97 -0
- package/esm/util/mstUtils.js +137 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +27 -0
- package/esm/util/numericUtils.js +143 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openFeatureWidget.d.ts +38 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/openViews.d.ts +17 -0
- package/esm/util/openViews.js +22 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +44 -2
- package/esm/util/parseLineByLine.js +150 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +111 -0
- package/esm/util/pluginStore.js +254 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/preloadComponent.d.ts +5 -0
- package/esm/util/preloadComponent.js +11 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +821 -0
- package/esm/util/quantileExtent.d.ts +49 -0
- package/esm/util/quantileExtent.js +162 -0
- package/esm/util/range.d.ts +46 -1
- package/esm/util/range.js +68 -2
- package/esm/util/renameRegions.d.ts +41 -0
- package/esm/util/renameRegions.js +143 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +60 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +30 -2
- package/esm/util/rxjs.js +85 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/samplesTsv.d.ts +49 -0
- package/esm/util/samplesTsv.js +86 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +5 -0
- package/esm/util/scrollLatch.js +67 -0
- package/esm/util/selectEncodedFeature.d.ts +16 -0
- package/esm/util/selectEncodedFeature.js +34 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +40 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/shapeNameList.d.ts +2 -0
- package/esm/util/shapeNameList.js +6 -0
- package/esm/util/shapeNames.d.ts +7 -0
- package/esm/util/shapeNames.js +11 -0
- package/esm/util/simpleFeature.d.ts +111 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/starFusion.d.ts +26 -0
- package/esm/util/starFusion.js +37 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stepTables.d.ts +82 -0
- package/esm/util/stepTables.js +243 -0
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svAlt.d.ts +145 -0
- package/esm/util/svAlt.js +364 -0
- package/esm/util/svgColorProps.d.ts +18 -0
- package/esm/util/svgColorProps.js +55 -0
- package/esm/util/systemColorScheme.d.ts +12 -0
- package/esm/util/systemColorScheme.js +27 -0
- package/esm/util/tabix.d.ts +125 -0
- package/esm/util/tabix.js +148 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/thresholdScale.d.ts +91 -0
- package/esm/util/thresholdScale.js +166 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +25 -0
- package/esm/util/timeGate.js +78 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +206 -0
- package/esm/util/tracks.d.ts +431 -30
- package/esm/util/tracks.js +952 -185
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +73 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +459 -121
- package/esm/util/types/index.js +96 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +74 -47
- package/esm/util/types/mst.js +31 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renameIds.d.ts +1 -0
- package/esm/util/types/renameIds.js +29 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unknownSnapshotKeys.d.ts +51 -0
- package/esm/util/unknownSnapshotKeys.js +82 -0
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +55 -77
- package/esm/util/useFetch.d.ts +55 -0
- package/esm/util/useFetch.js +197 -0
- package/esm/util/useFetchPlugins.d.ts +16 -0
- package/esm/util/useFetchPlugins.js +18 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +9 -0
- package/esm/util/usePanelVirtualScroll.js +15 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +9 -0
- package/esm/util/useRowVirtualScroll.js +22 -0
- package/esm/util/useVirtualScrollWheel.d.ts +23 -0
- package/esm/util/useVirtualScrollWheel.js +74 -0
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +90 -0
- package/esm/util/viewStatus.js +54 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +65 -0
- package/esm/util/wheelZoom.js +297 -0
- package/esm/util/whenViewSettled.d.ts +74 -0
- package/esm/util/whenViewSettled.js +77 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +174 -0
- package/esm/util/withLaunchInput.js +274 -0
- package/package.json +290 -820
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -9
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/stopToken.d.ts +0 -19
- package/esm/util/stopToken.js +0 -90
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
- /package/esm/data_adapters/BaseAdapter/{BaseOptions.js → zoomRange.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → rpc/RpcRegistry.js} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal row-packing primitive for integer-indexed 1D layouts.
|
|
3
|
+
*
|
|
4
|
+
* `rows[y]` is a flat `[s1,e1,s2,e2,...]` sorted ascending by start, where
|
|
5
|
+
* intervals within a row never overlap. `placeRect` finds the first row
|
|
6
|
+
* with no collision (or appends a new row), inserts `[start, end+2]`,
|
|
7
|
+
* and returns the row INDEX (0, 1, 2, ...).
|
|
8
|
+
*
|
|
9
|
+
* How this differs from `GranularRectLayout` in this same folder, and
|
|
10
|
+
* why this exists as a separate primitive:
|
|
11
|
+
*
|
|
12
|
+
* - **Keys:** GranularRectLayout keys rectangles by string ID in a
|
|
13
|
+
* `Map`, so re-adding an id returns the row it already holds;
|
|
14
|
+
* `placeRect` has no ID and no rectangle object. Callers with numeric
|
|
15
|
+
* indices (e.g. BAM read indices) don't pay the cost of allocating
|
|
16
|
+
* string IDs, Rectangle objects, or the outer Map — they use a
|
|
17
|
+
* `Uint16Array` of row indices instead.
|
|
18
|
+
*
|
|
19
|
+
* - **Scaling / height:** GranularRectLayout has `pitchX`, `pitchY`,
|
|
20
|
+
* multi-row rectangle heights, `maxHeight` / `hardRowLimit`, and
|
|
21
|
+
* returns pixel `top` values. `placeRect` is unit-agnostic (bp or
|
|
22
|
+
* px), one-row-per-rect, no limits, and returns a row index.
|
|
23
|
+
*
|
|
24
|
+
* - **State ownership:** GranularRectLayout is a class with internal
|
|
25
|
+
* state; `placeRect` is a pure function operating on a caller-owned
|
|
26
|
+
* `number[][]` array, so memory lifetime matches the caller's scope.
|
|
27
|
+
*
|
|
28
|
+
* Neither hit-tests: both are packing only, and consumers that need
|
|
29
|
+
* hit-testing build a Flatbush over the result.
|
|
30
|
+
*
|
|
31
|
+
* Use `placeRect` for tight per-call layouts over typed-array data
|
|
32
|
+
* (alignments pileup and chain rendering). Use `GranularRectLayout`
|
|
33
|
+
* when rects have variable heights or the layout needs a row limit
|
|
34
|
+
* (feature/gene tracks).
|
|
35
|
+
*
|
|
36
|
+
* Per-row complexity:
|
|
37
|
+
* - O(1) append when the row's last end ≤ new start (start-sorted
|
|
38
|
+
* input — the common case)
|
|
39
|
+
* - O(log M) collision + insertion-point lookup for wide rows via
|
|
40
|
+
* binary search on ends. Ends are monotone within a row because
|
|
41
|
+
* intervals are non-overlapping and sorted by start.
|
|
42
|
+
* - O(M) for the splice shift when inserting mid-row; only taken
|
|
43
|
+
* once per placement, and only when the fast-path misses.
|
|
44
|
+
*
|
|
45
|
+
* @param rows mutable `number[][]` — each row is `[s1,e1,s2,e2,...]`
|
|
46
|
+
* @param start rect start (any numeric unit — bp, px, etc.)
|
|
47
|
+
* @param end rect end (exclusive)
|
|
48
|
+
* @returns the row index the rect was placed in
|
|
49
|
+
*/
|
|
50
|
+
export declare function placeRect(rows: number[][], start: number, end: number): number;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal row-packing primitive for integer-indexed 1D layouts.
|
|
3
|
+
*
|
|
4
|
+
* `rows[y]` is a flat `[s1,e1,s2,e2,...]` sorted ascending by start, where
|
|
5
|
+
* intervals within a row never overlap. `placeRect` finds the first row
|
|
6
|
+
* with no collision (or appends a new row), inserts `[start, end+2]`,
|
|
7
|
+
* and returns the row INDEX (0, 1, 2, ...).
|
|
8
|
+
*
|
|
9
|
+
* How this differs from `GranularRectLayout` in this same folder, and
|
|
10
|
+
* why this exists as a separate primitive:
|
|
11
|
+
*
|
|
12
|
+
* - **Keys:** GranularRectLayout keys rectangles by string ID in a
|
|
13
|
+
* `Map`, so re-adding an id returns the row it already holds;
|
|
14
|
+
* `placeRect` has no ID and no rectangle object. Callers with numeric
|
|
15
|
+
* indices (e.g. BAM read indices) don't pay the cost of allocating
|
|
16
|
+
* string IDs, Rectangle objects, or the outer Map — they use a
|
|
17
|
+
* `Uint16Array` of row indices instead.
|
|
18
|
+
*
|
|
19
|
+
* - **Scaling / height:** GranularRectLayout has `pitchX`, `pitchY`,
|
|
20
|
+
* multi-row rectangle heights, `maxHeight` / `hardRowLimit`, and
|
|
21
|
+
* returns pixel `top` values. `placeRect` is unit-agnostic (bp or
|
|
22
|
+
* px), one-row-per-rect, no limits, and returns a row index.
|
|
23
|
+
*
|
|
24
|
+
* - **State ownership:** GranularRectLayout is a class with internal
|
|
25
|
+
* state; `placeRect` is a pure function operating on a caller-owned
|
|
26
|
+
* `number[][]` array, so memory lifetime matches the caller's scope.
|
|
27
|
+
*
|
|
28
|
+
* Neither hit-tests: both are packing only, and consumers that need
|
|
29
|
+
* hit-testing build a Flatbush over the result.
|
|
30
|
+
*
|
|
31
|
+
* Use `placeRect` for tight per-call layouts over typed-array data
|
|
32
|
+
* (alignments pileup and chain rendering). Use `GranularRectLayout`
|
|
33
|
+
* when rects have variable heights or the layout needs a row limit
|
|
34
|
+
* (feature/gene tracks).
|
|
35
|
+
*
|
|
36
|
+
* Per-row complexity:
|
|
37
|
+
* - O(1) append when the row's last end ≤ new start (start-sorted
|
|
38
|
+
* input — the common case)
|
|
39
|
+
* - O(log M) collision + insertion-point lookup for wide rows via
|
|
40
|
+
* binary search on ends. Ends are monotone within a row because
|
|
41
|
+
* intervals are non-overlapping and sorted by start.
|
|
42
|
+
* - O(M) for the splice shift when inserting mid-row; only taken
|
|
43
|
+
* once per placement, and only when the fast-path misses.
|
|
44
|
+
*
|
|
45
|
+
* @param rows mutable `number[][]` — each row is `[s1,e1,s2,e2,...]`
|
|
46
|
+
* @param start rect start (any numeric unit — bp, px, etc.)
|
|
47
|
+
* @param end rect end (exclusive)
|
|
48
|
+
* @returns the row index the rect was placed in
|
|
49
|
+
*/
|
|
50
|
+
export function placeRect(rows, start, end) {
|
|
51
|
+
const paddedEnd = end + 2;
|
|
52
|
+
let y = rows.length;
|
|
53
|
+
for (let r = 0; r < rows.length; r++) {
|
|
54
|
+
const row = rows[r];
|
|
55
|
+
const len = row.length;
|
|
56
|
+
// Fast path: entire row ends before new start → O(1) append.
|
|
57
|
+
if (row[len - 1] <= start) {
|
|
58
|
+
row.push(start, paddedEnd);
|
|
59
|
+
y = r;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
// Find j = first index where interval end > start. Only intervals
|
|
63
|
+
// at/after j can possibly collide with [start, paddedEnd).
|
|
64
|
+
let j;
|
|
65
|
+
if (len < 32) {
|
|
66
|
+
j = 0;
|
|
67
|
+
while (row[j + 1] <= start) {
|
|
68
|
+
j += 2;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
let lo = 0;
|
|
73
|
+
let hi = len >>> 1;
|
|
74
|
+
while (lo < hi) {
|
|
75
|
+
const mid = (lo + hi) >>> 1;
|
|
76
|
+
if (row[(mid << 1) + 1] <= start) {
|
|
77
|
+
lo = mid + 1;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
hi = mid;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
j = lo << 1;
|
|
84
|
+
}
|
|
85
|
+
// Only interval j can collide — if its start is past paddedEnd there
|
|
86
|
+
// is a gap and we insert at j; otherwise we collide and try next row.
|
|
87
|
+
if (row[j] >= paddedEnd) {
|
|
88
|
+
row.splice(j, 0, start, paddedEnd);
|
|
89
|
+
y = r;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (y === rows.length) {
|
|
94
|
+
rows.push([start, paddedEnd]);
|
|
95
|
+
}
|
|
96
|
+
return y;
|
|
97
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
/**
|
|
3
|
+
* #api core/util
|
|
4
|
+
* Run a display's `afterAttach` body from a module loaded on demand, so the
|
|
5
|
+
* autorun installers stay out of the display's eager bundle.
|
|
6
|
+
*
|
|
7
|
+
* One policy for the gap the `await` opens: a node torn down before the module
|
|
8
|
+
* lands installs nothing, and a module that fails to load is reported where the
|
|
9
|
+
* user can see it rather than onto the display's own error slot — that slot is
|
|
10
|
+
* what `reload()` clears, and nothing would re-run the install behind it.
|
|
11
|
+
* Three displays hand-rolled this IIFE and each drew the lines differently.
|
|
12
|
+
*/
|
|
13
|
+
export declare function runLazyAfterAttach<Self extends IStateTreeNode>(self: Self, load: () => Promise<(self: Self) => void>): void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { getNotificationSink } from './sessionServices.js';
|
|
3
|
+
/**
|
|
4
|
+
* #api core/util
|
|
5
|
+
* Run a display's `afterAttach` body from a module loaded on demand, so the
|
|
6
|
+
* autorun installers stay out of the display's eager bundle.
|
|
7
|
+
*
|
|
8
|
+
* One policy for the gap the `await` opens: a node torn down before the module
|
|
9
|
+
* lands installs nothing, and a module that fails to load is reported where the
|
|
10
|
+
* user can see it rather than onto the display's own error slot — that slot is
|
|
11
|
+
* what `reload()` clears, and nothing would re-run the install behind it.
|
|
12
|
+
* Three displays hand-rolled this IIFE and each drew the lines differently.
|
|
13
|
+
*/
|
|
14
|
+
export function runLazyAfterAttach(self, load) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
16
|
+
;
|
|
17
|
+
(async () => {
|
|
18
|
+
try {
|
|
19
|
+
const install = await load();
|
|
20
|
+
if (isAlive(self)) {
|
|
21
|
+
install(self);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
if (isAlive(self)) {
|
|
26
|
+
console.error(e);
|
|
27
|
+
getNotificationSink(self).notifyError(`${e}`, e);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
})();
|
|
31
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AnyReactComponentType } from './types/util.ts';
|
|
2
|
+
/**
|
|
3
|
+
* `React.lazy` that also exposes the import it wraps, so code that knows a
|
|
4
|
+
* component is about to render (a session naming a view, a track being shown)
|
|
5
|
+
* can start the download instead of waiting for React to reach it. A failed
|
|
6
|
+
* load is not kept, so the render that follows tries again.
|
|
7
|
+
*
|
|
8
|
+
* Once the import has landed, the first render gets the module synchronously.
|
|
9
|
+
* React.lazy suspends on any promise, settled or not, and React holds a
|
|
10
|
+
* suspended boundary's reveal for 300 ms after its fallback commits, so a
|
|
11
|
+
* preloaded component nested under another cost that 300 ms per level.
|
|
12
|
+
*/
|
|
13
|
+
export declare function lazyWithPreload<T extends AnyReactComponentType>(factory: () => Promise<{
|
|
14
|
+
default: T;
|
|
15
|
+
}>): import("react").LazyExoticComponent<T> & {
|
|
16
|
+
preload: () => Promise<{
|
|
17
|
+
default: T;
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* `React.lazy` that also exposes the import it wraps, so code that knows a
|
|
4
|
+
* component is about to render (a session naming a view, a track being shown)
|
|
5
|
+
* can start the download instead of waiting for React to reach it. A failed
|
|
6
|
+
* load is not kept, so the render that follows tries again.
|
|
7
|
+
*
|
|
8
|
+
* Once the import has landed, the first render gets the module synchronously.
|
|
9
|
+
* React.lazy suspends on any promise, settled or not, and React holds a
|
|
10
|
+
* suspended boundary's reveal for 300 ms after its fallback commits, so a
|
|
11
|
+
* preloaded component nested under another cost that 300 ms per level.
|
|
12
|
+
*/
|
|
13
|
+
export function lazyWithPreload(factory) {
|
|
14
|
+
let loaded;
|
|
15
|
+
let loading;
|
|
16
|
+
const load = () => (loading ??= factory().then(module => (loaded = module), (error) => {
|
|
17
|
+
loading = undefined;
|
|
18
|
+
throw error;
|
|
19
|
+
}));
|
|
20
|
+
const settled = (module) => ({
|
|
21
|
+
// eslint-disable-next-line unicorn/no-thenable -- React.lazy takes a module synchronously only from a then that calls back at once
|
|
22
|
+
then: (resolve) => {
|
|
23
|
+
resolve(module);
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
return Object.assign(lazy(() => (loaded ? settled(loaded) : load())), { preload: load });
|
|
27
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { IAnyStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
export interface LeadingEdgeAutorunOptions {
|
|
3
|
+
/** autorun name, for the MobX devtools/spy stream */
|
|
4
|
+
name: string;
|
|
5
|
+
/** how long to coalesce reruns once the body has started work once */
|
|
6
|
+
delay: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* An autorun that runs on the leading edge until its body reports having
|
|
10
|
+
* started work, and debounces every run after that.
|
|
11
|
+
*
|
|
12
|
+
* MobX's own `autorun(fn, { delay })` is trailing-edge only: it schedules the
|
|
13
|
+
* *first* run through `setTimeout` too, so a cold open waits the whole delay
|
|
14
|
+
* for no interaction to coalesce, and that latency lands directly on first
|
|
15
|
+
* paint. Measured on the per-region fetch autorun, display creation to first
|
|
16
|
+
* `fetchNeeded`: 683 ms under `{ delay: 600 }`, 112 ms under this.
|
|
17
|
+
*
|
|
18
|
+
* **The body returns `true` when it started the work the delay exists to
|
|
19
|
+
* coalesce**, and that is what arms the debounce. Runs that bail on a guard —
|
|
20
|
+
* a view not measured yet, a minimized track, a prerequisite that has not
|
|
21
|
+
* landed — return nothing and stay on the leading edge, so the timer is never
|
|
22
|
+
* armed by work that did not happen. Priming off the body's return rather than
|
|
23
|
+
* an imperative `prime()` call is what makes a bail-out path unable to arm it
|
|
24
|
+
* by accident: there is nothing to forget and nothing to misplace.
|
|
25
|
+
*
|
|
26
|
+
* **The leading edge is a microtask, not the install call itself**, and that
|
|
27
|
+
* one hop is what keeps the debounce's whole point. A model is routinely built
|
|
28
|
+
* and then configured in the same synchronous block — a session applying a
|
|
29
|
+
* display setting, a caller flipping a mode right after `create` — and a fetch
|
|
30
|
+
* issued between those two lines is issued against the un-configured state,
|
|
31
|
+
* invalidated by the setting that follows, and reissued. Yielding once collapses
|
|
32
|
+
* every such pair back into one run, while still starting three orders of
|
|
33
|
+
* magnitude sooner than the timer did. What it deliberately does not coalesce is
|
|
34
|
+
* a change that arrives after an await: that is a later decision, and it costs
|
|
35
|
+
* the refetch it should.
|
|
36
|
+
*
|
|
37
|
+
* The debounce is per-installation, so two autoruns on one model coalesce
|
|
38
|
+
* independently.
|
|
39
|
+
*/
|
|
40
|
+
export declare function leadingEdgeAutorun(self: IAnyStateTreeNode, body: () => boolean | void, { name, delay }: LeadingEdgeAutorunOptions): import("mobx").IReactionDisposer;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { namedAutorun } from '@jbrowse/render-core/namedReactions';
|
|
2
|
+
/**
|
|
3
|
+
* An autorun that runs on the leading edge until its body reports having
|
|
4
|
+
* started work, and debounces every run after that.
|
|
5
|
+
*
|
|
6
|
+
* MobX's own `autorun(fn, { delay })` is trailing-edge only: it schedules the
|
|
7
|
+
* *first* run through `setTimeout` too, so a cold open waits the whole delay
|
|
8
|
+
* for no interaction to coalesce, and that latency lands directly on first
|
|
9
|
+
* paint. Measured on the per-region fetch autorun, display creation to first
|
|
10
|
+
* `fetchNeeded`: 683 ms under `{ delay: 600 }`, 112 ms under this.
|
|
11
|
+
*
|
|
12
|
+
* **The body returns `true` when it started the work the delay exists to
|
|
13
|
+
* coalesce**, and that is what arms the debounce. Runs that bail on a guard —
|
|
14
|
+
* a view not measured yet, a minimized track, a prerequisite that has not
|
|
15
|
+
* landed — return nothing and stay on the leading edge, so the timer is never
|
|
16
|
+
* armed by work that did not happen. Priming off the body's return rather than
|
|
17
|
+
* an imperative `prime()` call is what makes a bail-out path unable to arm it
|
|
18
|
+
* by accident: there is nothing to forget and nothing to misplace.
|
|
19
|
+
*
|
|
20
|
+
* **The leading edge is a microtask, not the install call itself**, and that
|
|
21
|
+
* one hop is what keeps the debounce's whole point. A model is routinely built
|
|
22
|
+
* and then configured in the same synchronous block — a session applying a
|
|
23
|
+
* display setting, a caller flipping a mode right after `create` — and a fetch
|
|
24
|
+
* issued between those two lines is issued against the un-configured state,
|
|
25
|
+
* invalidated by the setting that follows, and reissued. Yielding once collapses
|
|
26
|
+
* every such pair back into one run, while still starting three orders of
|
|
27
|
+
* magnitude sooner than the timer did. What it deliberately does not coalesce is
|
|
28
|
+
* a change that arrives after an await: that is a later decision, and it costs
|
|
29
|
+
* the refetch it should.
|
|
30
|
+
*
|
|
31
|
+
* The debounce is per-installation, so two autoruns on one model coalesce
|
|
32
|
+
* independently.
|
|
33
|
+
*/
|
|
34
|
+
export function leadingEdgeAutorun(self, body, { name, delay }) {
|
|
35
|
+
let primed = false;
|
|
36
|
+
return namedAutorun(self, () => {
|
|
37
|
+
if (body()) {
|
|
38
|
+
primed = true;
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
name,
|
|
42
|
+
scheduler: run => {
|
|
43
|
+
if (primed) {
|
|
44
|
+
setTimeout(run, delay);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
queueMicrotask(run);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { CategoricalEntry, CategoricalScale } from '../ui/colorScale.ts';
|
|
2
|
+
import type { LegendSwatch } from '../ui/legendSpec.ts';
|
|
3
|
+
import type { CategoricalField } from './categoricalField.ts';
|
|
4
|
+
export interface LegendCandidate {
|
|
5
|
+
rowIndex: number;
|
|
6
|
+
value: string;
|
|
7
|
+
color: number;
|
|
8
|
+
}
|
|
9
|
+
export interface LegendEntry {
|
|
10
|
+
values: string[];
|
|
11
|
+
color: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const MAX_LEGEND_ENTRIES = 30;
|
|
14
|
+
export declare const MAX_LEGEND_CANDIDATES = 1024;
|
|
15
|
+
/**
|
|
16
|
+
* Accumulator for the distinct (row, value, color) combinations a packer walks
|
|
17
|
+
* past, in first-seen order and bounded, so the main thread never re-walks the
|
|
18
|
+
* features. Deduped on the whole triple: a row of the union lists every value
|
|
19
|
+
* painted in its color, so a second value on that color has to still be in the
|
|
20
|
+
* list to reach it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createLegendCandidateCollector(maxCandidates?: number): {
|
|
23
|
+
candidates: LegendCandidate[];
|
|
24
|
+
add(rowIndex: number, value: string, color: number): void;
|
|
25
|
+
};
|
|
26
|
+
export interface LegendCandidateSource {
|
|
27
|
+
candidates: readonly LegendCandidate[];
|
|
28
|
+
rowPaintsCandidateColor: (rowIndex: number) => boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The categorical color key over any number of packed regions: one entry per
|
|
32
|
+
* distinct color listing every value painted in it, colors in first-seen
|
|
33
|
+
* order. Keyed by color rather than by value because hiding a category hides
|
|
34
|
+
* features BY color, so two values sharing one color are one row that names
|
|
35
|
+
* both; a value met in two colors stays with the first.
|
|
36
|
+
*
|
|
37
|
+
* `[]` when there are more than `maxEntries` distinct colors, where the data is
|
|
38
|
+
* not a categorical vocabulary. `regions` is consumed lazily.
|
|
39
|
+
*/
|
|
40
|
+
export declare function unionLegendCandidates<T>(regions: Iterable<T>, resolve: (region: T) => LegendCandidateSource, maxEntries?: number): LegendEntry[];
|
|
41
|
+
/**
|
|
42
|
+
* A source whose every entry is a candidate its one row paints: the entries of
|
|
43
|
+
* a scale table `encodeFeatures` resolved, or any walk that met each value in
|
|
44
|
+
* one color.
|
|
45
|
+
*/
|
|
46
|
+
export declare function everyRowPaints(entries: readonly {
|
|
47
|
+
value: string;
|
|
48
|
+
color: number;
|
|
49
|
+
}[]): LegendCandidateSource;
|
|
50
|
+
/**
|
|
51
|
+
* The one categorical key a color channel derives from what a worker painted:
|
|
52
|
+
* the union above over the loaded regions, each row a painted color naming
|
|
53
|
+
* every value in it through `field` and ordered by it, and nothing where the
|
|
54
|
+
* rows would say nothing (`legendIsReadable`). A display resolving its own colors hands the
|
|
55
|
+
* candidates its packer recorded; one resolved by `encodeFeatures` hands the
|
|
56
|
+
* entries of the scale tables that came back. Either way the key lists what
|
|
57
|
+
* the painting holds, and a `closed` field's domain besides once anything
|
|
58
|
+
* painted. `title` heads it in place of the field's name, `''` heading
|
|
59
|
+
* nothing, and `swatches` draws a row as something other than its color's box.
|
|
60
|
+
* `besides` are the colors of rows a display lists beside these, which the
|
|
61
|
+
* one-color test counts and the length test does not.
|
|
62
|
+
*/
|
|
63
|
+
export declare function derivedColorScale<T>(regions: Iterable<T>, resolve: (region: T) => LegendCandidateSource, { id, field, title, maxItems, swatches, besides, }: {
|
|
64
|
+
id: string;
|
|
65
|
+
field: CategoricalField;
|
|
66
|
+
title?: string;
|
|
67
|
+
maxItems?: number;
|
|
68
|
+
swatches?: (row: CategoricalEntry & {
|
|
69
|
+
color: string;
|
|
70
|
+
}) => LegendSwatch[];
|
|
71
|
+
besides?: readonly string[];
|
|
72
|
+
}): CategoricalScale[];
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { MAX_LEGEND_ITEMS, legendIsReadable } from '../ui/legendSpec.js';
|
|
2
|
+
import { abgrToCssRgba, cssColorToABGR } from './colorBits.js';
|
|
3
|
+
// How many distinct colors a derived key may name and still BE a key. Past this
|
|
4
|
+
// the data is not a categorical vocabulary (a track keyed by unique per-feature
|
|
5
|
+
// names), and a list of every feature is the thing a key exists instead of.
|
|
6
|
+
//
|
|
7
|
+
// A different question from `legendIsReadable`'s lower bar, which asks whether a
|
|
8
|
+
// key a display already has is worth the rows it costs.
|
|
9
|
+
export const MAX_LEGEND_ENTRIES = 30;
|
|
10
|
+
// Bound on the candidate list one region ships. Far above MAX_LEGEND_ENTRIES, so
|
|
11
|
+
// a vocabulary that is categorical at all crosses whole, and a track with a name
|
|
12
|
+
// per feature ships a prefix that reads the same way it would have.
|
|
13
|
+
export const MAX_LEGEND_CANDIDATES = 1024;
|
|
14
|
+
/**
|
|
15
|
+
* Accumulator for the distinct (row, value, color) combinations a packer walks
|
|
16
|
+
* past, in first-seen order and bounded, so the main thread never re-walks the
|
|
17
|
+
* features. Deduped on the whole triple: a row of the union lists every value
|
|
18
|
+
* painted in its color, so a second value on that color has to still be in the
|
|
19
|
+
* list to reach it.
|
|
20
|
+
*/
|
|
21
|
+
export function createLegendCandidateCollector(maxCandidates = MAX_LEGEND_CANDIDATES) {
|
|
22
|
+
const candidates = [];
|
|
23
|
+
const seen = new Set();
|
|
24
|
+
return {
|
|
25
|
+
candidates,
|
|
26
|
+
add(rowIndex, value, color) {
|
|
27
|
+
const id = `${rowIndex}\u0000${color}\u0000${value}`;
|
|
28
|
+
if (candidates.length < maxCandidates && !seen.has(id)) {
|
|
29
|
+
seen.add(id);
|
|
30
|
+
candidates.push({ rowIndex, value, color });
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The categorical color key over any number of packed regions: one entry per
|
|
37
|
+
* distinct color listing every value painted in it, colors in first-seen
|
|
38
|
+
* order. Keyed by color rather than by value because hiding a category hides
|
|
39
|
+
* features BY color, so two values sharing one color are one row that names
|
|
40
|
+
* both; a value met in two colors stays with the first.
|
|
41
|
+
*
|
|
42
|
+
* `[]` when there are more than `maxEntries` distinct colors, where the data is
|
|
43
|
+
* not a categorical vocabulary. `regions` is consumed lazily.
|
|
44
|
+
*/
|
|
45
|
+
export function unionLegendCandidates(regions, resolve, maxEntries = MAX_LEGEND_ENTRIES) {
|
|
46
|
+
const rows = new Map();
|
|
47
|
+
const seenValues = new Set();
|
|
48
|
+
for (const region of regions) {
|
|
49
|
+
const { candidates, rowPaintsCandidateColor } = resolve(region);
|
|
50
|
+
for (const { rowIndex, value, color } of candidates) {
|
|
51
|
+
if (!rowPaintsCandidateColor(rowIndex) || seenValues.has(value)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
seenValues.add(value);
|
|
55
|
+
const row = rows.get(color);
|
|
56
|
+
if (row) {
|
|
57
|
+
row.values.push(value);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
rows.set(color, { values: [value], color });
|
|
61
|
+
if (rows.size > maxEntries) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return [...rows.values()];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A source whose every entry is a candidate its one row paints: the entries of
|
|
71
|
+
* a scale table `encodeFeatures` resolved, or any walk that met each value in
|
|
72
|
+
* one color.
|
|
73
|
+
*/
|
|
74
|
+
export function everyRowPaints(entries) {
|
|
75
|
+
return {
|
|
76
|
+
candidates: entries.map(({ value, color }) => ({
|
|
77
|
+
rowIndex: 0,
|
|
78
|
+
value,
|
|
79
|
+
color,
|
|
80
|
+
})),
|
|
81
|
+
rowPaintsCandidateColor: () => true,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The one categorical key a color channel derives from what a worker painted:
|
|
86
|
+
* the union above over the loaded regions, each row a painted color naming
|
|
87
|
+
* every value in it through `field` and ordered by it, and nothing where the
|
|
88
|
+
* rows would say nothing (`legendIsReadable`). A display resolving its own colors hands the
|
|
89
|
+
* candidates its packer recorded; one resolved by `encodeFeatures` hands the
|
|
90
|
+
* entries of the scale tables that came back. Either way the key lists what
|
|
91
|
+
* the painting holds, and a `closed` field's domain besides once anything
|
|
92
|
+
* painted. `title` heads it in place of the field's name, `''` heading
|
|
93
|
+
* nothing, and `swatches` draws a row as something other than its color's box.
|
|
94
|
+
* `besides` are the colors of rows a display lists beside these, which the
|
|
95
|
+
* one-color test counts and the length test does not.
|
|
96
|
+
*/
|
|
97
|
+
export function derivedColorScale(regions, resolve, { id, field, title = field.field, maxItems, swatches, besides = [], }) {
|
|
98
|
+
const painted = unionLegendCandidates(regions, resolve).map(({ values, color }) => {
|
|
99
|
+
const sorted = values.toSorted(field.compare);
|
|
100
|
+
const value = sorted[0];
|
|
101
|
+
return {
|
|
102
|
+
value,
|
|
103
|
+
values: sorted,
|
|
104
|
+
label: sorted.map(v => field.label(v)).join(', '),
|
|
105
|
+
color: abgrToCssRgba(color),
|
|
106
|
+
...(value === '' ? { missing: true } : {}),
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
const named = new Set(painted.flatMap(e => e.values));
|
|
110
|
+
const unpainted = field.closed && painted.length > 0
|
|
111
|
+
? field.domain
|
|
112
|
+
.filter(value => !named.has(value))
|
|
113
|
+
.map(value => ({
|
|
114
|
+
value,
|
|
115
|
+
label: field.label(value),
|
|
116
|
+
color: abgrToCssRgba(cssColorToABGR(field.color(value))),
|
|
117
|
+
}))
|
|
118
|
+
: [];
|
|
119
|
+
const entries = [...painted, ...unpainted].sort((a, b) => field.compare(a.value, b.value));
|
|
120
|
+
const beside = besides.map(color => ({
|
|
121
|
+
label: '',
|
|
122
|
+
color: abgrToCssRgba(cssColorToABGR(color)),
|
|
123
|
+
}));
|
|
124
|
+
return painted.length > 0 &&
|
|
125
|
+
legendIsReadable([...entries, ...beside], (maxItems ?? MAX_LEGEND_ITEMS) + beside.length)
|
|
126
|
+
? [
|
|
127
|
+
{
|
|
128
|
+
kind: 'categorical',
|
|
129
|
+
id,
|
|
130
|
+
...(title ? { title } : {}),
|
|
131
|
+
...(field.domain.length > 0 ? { domain: field.domain } : {}),
|
|
132
|
+
entries: swatches
|
|
133
|
+
? entries.map(row => ({ ...row, swatches: swatches(row) }))
|
|
134
|
+
: entries,
|
|
135
|
+
},
|
|
136
|
+
]
|
|
137
|
+
: [];
|
|
138
|
+
}
|
package/esm/util/librpc.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export
|
|
1
|
+
export { default as RpcClient } from '../rpc/RpcClient.ts';
|
|
2
|
+
export { default as RpcServer, rpcResult, rpcResultWithArrayBuffers, } from '../rpc/RpcServer.ts';
|
|
3
|
+
export type { RpcResult } from '../rpc/RpcServer.ts';
|
|
4
|
+
export { isRpcResult, unwrapRpcResult } from './rpc.ts';
|
|
5
|
+
export { deserializeError, serializeError, } from '../rpc/serializeError/index.ts';
|
package/esm/util/librpc.js
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { default as RpcClient } from '../rpc/RpcClient.js';
|
|
2
|
+
export { default as RpcServer, rpcResult, rpcResultWithArrayBuffers, } from '../rpc/RpcServer.js';
|
|
3
|
+
// the inverse of rpcResult, for a deserializeReturn rebuilding the caller's
|
|
4
|
+
// value out of what the worker sent
|
|
5
|
+
export { isRpcResult, unwrapRpcResult } from './rpc.js';
|
|
6
|
+
export { deserializeError, serializeError, } from '../rpc/serializeError/index.js';
|
package/esm/util/linkify.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// based on autolink-js, license MIT
|
|
2
|
+
// https://github.com/bryanwoods/autolink-js/blob/1418049970152c56ced73d43dcc62d80b320fb71/autolink.js#L9
|
|
1
3
|
const URL_PATTERN = /(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;
|
|
2
4
|
export function linkify(s) {
|
|
3
5
|
URL_PATTERN.lastIndex = 0;
|
package/esm/util/locString.d.ts
CHANGED
|
@@ -5,5 +5,77 @@ export interface ParsedLocString {
|
|
|
5
5
|
end?: number;
|
|
6
6
|
reversed?: boolean;
|
|
7
7
|
}
|
|
8
|
+
export declare class UnknownRefNameError extends Error {
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
8
11
|
export declare function parseLocStringOneBased(locString: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): ParsedLocString;
|
|
9
12
|
export declare function parseLocString(locString: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): ParsedLocString;
|
|
13
|
+
/**
|
|
14
|
+
* Assemble a 1-based "locString" from an interbase genomic location
|
|
15
|
+
* @param region - Region
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* assembleLocString({ refName: 'chr1', start: 0, end: 100 })
|
|
19
|
+
* // ↳ 'chr1:1..100'
|
|
20
|
+
* ```
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* assembleLocString({ assemblyName: 'hg19', refName: 'chr1', start: 0, end: 100 })
|
|
24
|
+
* // ↳ '{hg19}chr1:1..100'
|
|
25
|
+
* ```
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* assembleLocString({ refName: 'chr1' })
|
|
29
|
+
* // ↳ 'chr1'
|
|
30
|
+
* ```
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* assembleLocString({ refName: 'chr1', start: 0 })
|
|
34
|
+
* // ↳ 'chr1:1..'
|
|
35
|
+
* ```
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* assembleLocString({ refName: 'chr1', end: 100 })
|
|
39
|
+
* // ↳ 'chr1:1..100'
|
|
40
|
+
* ```
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* assembleLocString({ refName: 'chr1', start: 0, end: 1 })
|
|
44
|
+
* // ↳ 'chr1:1'
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function assembleLocString(region: ParsedLocString): string;
|
|
48
|
+
/**
|
|
49
|
+
* Same as {@link assembleLocString}, but with the coordinates left unformatted:
|
|
50
|
+
* no thousand separators, and never affected by the `numberGrouping` display
|
|
51
|
+
* preference. Use this wherever the result is compared, keyed on, or parsed
|
|
52
|
+
* rather than read — block keys, dedup buckets, locStrings handed back to
|
|
53
|
+
* `parseLocString` — both because it is faster (block calculations assemble a
|
|
54
|
+
* great many of these) and because a display convention shifting under an
|
|
55
|
+
* identity string is a correctness bug, not a cosmetic one.
|
|
56
|
+
*/
|
|
57
|
+
export declare function assembleLocStringRaw(region: ParsedLocString): string;
|
|
58
|
+
/**
|
|
59
|
+
* One space-separated string for a set of regions — what the header of a
|
|
60
|
+
* multi-region view says it is showing, and what an export of those regions
|
|
61
|
+
* labels itself with.
|
|
62
|
+
*
|
|
63
|
+
* The assembly name appears only when the regions disagree about it: naming it
|
|
64
|
+
* on every one of a dozen same-assembly blocks is noise, and dropping it where
|
|
65
|
+
* they differ loses the only thing telling them apart.
|
|
66
|
+
*/
|
|
67
|
+
export declare function assembleLocStrings(regions: ParsedLocString[]): string;
|
|
68
|
+
export declare function compareLocs(locA: ParsedLocString, locB: ParsedLocString): number;
|
|
69
|
+
export declare function compareLocStrings(a: string, b: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): number;
|
|
70
|
+
/**
|
|
71
|
+
* A cursor/coordinate readout: `{assembly}chr1:1,234`, with the refName
|
|
72
|
+
* shortened and the coordinate locale-grouped. The *display* counterpart to
|
|
73
|
+
* {@link assembleLocString} — this one is for showing a single position to a
|
|
74
|
+
* user, never for a location string that will be parsed back.
|
|
75
|
+
*/
|
|
76
|
+
export declare function stringify({ refName, coord, assemblyName, oob, }: {
|
|
77
|
+
assemblyName?: string;
|
|
78
|
+
coord: number;
|
|
79
|
+
refName?: string;
|
|
80
|
+
oob?: boolean;
|
|
81
|
+
}, useAssemblyName?: boolean): string;
|