@jbrowse/core 4.3.0 → 5.0.0-beta.2
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 +822 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +41 -40
- package/esm/PluginLoader.js +206 -78
- package/esm/PluginManager.d.ts +421 -55
- package/esm/PluginManager.js +461 -89
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +62 -93
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/ReExports/sharedModules.d.ts +96 -0
- package/esm/ReExports/sharedModules.js +59 -0
- package/esm/ReExports/uiStub.d.ts +1 -0
- package/esm/ReExports/uiStub.js +13 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +10 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +122 -20
- package/esm/configuration/configurationSchema.js +374 -140
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +332 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +132 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +136 -25
- 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 +29 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +17 -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 +7 -4
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- 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 -8
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +19 -10
- package/esm/pluggableElementTypes/DisplayType.js +53 -5
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +27 -3
- package/esm/pluggableElementTypes/ViewType.js +84 -4
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +73 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +646 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +241 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +216 -35
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +365 -83
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +216 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +150 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +177 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +275 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +58 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +3 -5
- package/esm/rpc/coreRpcMethods.js +10 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/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 +15 -17
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +24 -13
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +137 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +61 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +390 -41
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +4 -4
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +128 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +12 -3
- package/esm/ui/HoverMenu.js +31 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +23 -0
- package/esm/ui/LoadingOverlay.js +137 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +134 -5
- package/esm/ui/MenuTypes.js +16 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +92 -0
- package/esm/ui/PaletteContext.js +133 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +85 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -47
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +42 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +91 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +88 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +42 -0
- package/esm/ui/toggleMenuItems.js +60 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +27 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +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/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createStopTokenRotation.d.ts +118 -0
- package/esm/util/createStopTokenRotation.js +127 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +23 -0
- package/esm/util/diagonalizeRegions.js +192 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +5 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +28 -0
- package/esm/util/freezeDeep.js +41 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +168 -0
- package/esm/util/hooks.js +443 -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 +81 -268
- package/esm/util/index.js +135 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +220 -0
- package/esm/util/installFetch.js +206 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +50 -0
- package/esm/util/legendCandidates.js +87 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +100 -0
- package/esm/util/mstUtils.js +140 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +114 -0
- package/esm/util/pluginStore.js +260 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +46 -1
- package/esm/util/range.js +68 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +30 -1
- package/esm/util/rxjs.js +88 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +38 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/simpleFeature.d.ts +112 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +126 -0
- package/esm/util/tabix.js +149 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +398 -30
- package/esm/util/tracks.js +699 -191
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +402 -120
- package/esm/util/types/index.js +90 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unknownSnapshotKeys.d.ts +36 -0
- package/esm/util/unknownSnapshotKeys.js +69 -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 +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +81 -0
- package/esm/util/viewStatus.js +37 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +40 -0
- package/esm/util/whenViewSettled.js +41 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +123 -0
- package/esm/util/withLaunchInput.js +228 -0
- package/package.json +243 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import FilterAltIcon from '@mui/icons-material/FilterAlt';
|
|
2
|
+
import FilterAltOffIcon from '@mui/icons-material/FilterAltOff';
|
|
3
|
+
/** Total in effect — what a "(n)" in a group label counts. */
|
|
4
|
+
export function activeCount(items) {
|
|
5
|
+
return Object.values(items).reduce((a, b) => a + b.count, 0);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Reverse every one. Inactive entries are cleared too (their `clear` is a
|
|
9
|
+
* no-op), so this stays a plain fold rather than a filtered one — a caller
|
|
10
|
+
* cannot half-clear by getting the gate wrong.
|
|
11
|
+
*/
|
|
12
|
+
export function clearAll(items) {
|
|
13
|
+
for (const item of Object.values(items)) {
|
|
14
|
+
item.clear();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The undo rows: one per entry that is in effect AND names itself. Spread,
|
|
19
|
+
* don't insert — an entry holding nothing contributes nothing.
|
|
20
|
+
*/
|
|
21
|
+
export function undoItems(items, priority) {
|
|
22
|
+
return Object.values(items)
|
|
23
|
+
.filter(item => item.count > 0 && item.label)
|
|
24
|
+
.map(item => ({
|
|
25
|
+
label: item.label(item.count),
|
|
26
|
+
icon: item.icon,
|
|
27
|
+
priority,
|
|
28
|
+
onClick: () => {
|
|
29
|
+
item.clear();
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The "Filter by..." family, in the one shape every display uses.
|
|
35
|
+
*
|
|
36
|
+
* On a track with nothing to recover this is the single dialog opener, because
|
|
37
|
+
* a submenu wrapping one row is pure indirection. Once filters are on — or a
|
|
38
|
+
* display contributes its own inline controls — the recovery rows join it and
|
|
39
|
+
* the group earns its submenu, with the dialog opener as its first row.
|
|
40
|
+
*
|
|
41
|
+
* Spread, don't insert: a display with neither a dialog nor sub-items (a
|
|
42
|
+
* pre-computed LD file has nothing to filter) contributes no row at all.
|
|
43
|
+
*
|
|
44
|
+
* Written once because the four copies had drifted into four designs, and only
|
|
45
|
+
* the alignments one put the active count in the label — so a filtered LD or
|
|
46
|
+
* multi-sample variant track said nothing, anywhere, about the rows it was
|
|
47
|
+
* dropping.
|
|
48
|
+
*/
|
|
49
|
+
export function filterMenuItems({ narrowings, activeCount: explicitCount = 0, onEdit, subItems = [], recoveryItems: explicitRecovery = [], onClear: explicitClear, priority, editLabel = 'Edit filters...', }) {
|
|
50
|
+
// One declaration drives all three, or the caller supplies them separately —
|
|
51
|
+
// the pre-`Reversible` shape, kept for the displays that haven't adopted it.
|
|
52
|
+
const count = narrowings ? activeCount(narrowings) : explicitCount;
|
|
53
|
+
const recoveryItems = narrowings ? undoItems(narrowings) : explicitRecovery;
|
|
54
|
+
const onClear = narrowings
|
|
55
|
+
? () => {
|
|
56
|
+
clearAll(narrowings);
|
|
57
|
+
}
|
|
58
|
+
: explicitClear;
|
|
59
|
+
const label = count > 0 ? `Filter by... (${count})` : 'Filter by...';
|
|
60
|
+
const editItem = onEdit
|
|
61
|
+
? [
|
|
62
|
+
{
|
|
63
|
+
label: editLabel,
|
|
64
|
+
icon: FilterAltIcon,
|
|
65
|
+
onClick: onEdit,
|
|
66
|
+
},
|
|
67
|
+
]
|
|
68
|
+
: [];
|
|
69
|
+
const clearItem = onClear && count > 0
|
|
70
|
+
? [
|
|
71
|
+
{
|
|
72
|
+
label: 'Clear all filters',
|
|
73
|
+
icon: FilterAltOffIcon,
|
|
74
|
+
onClick: onClear,
|
|
75
|
+
},
|
|
76
|
+
]
|
|
77
|
+
: [];
|
|
78
|
+
const rows = [...editItem, ...subItems, ...recoveryItems, ...clearItem];
|
|
79
|
+
if (!rows.length) {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
// the lone dialog opener stays a top-level row rather than a one-item submenu
|
|
83
|
+
return rows.length === 1 && onEdit
|
|
84
|
+
? [{ label, icon: FilterAltIcon, priority, onClick: onEdit }]
|
|
85
|
+
: [{ label, icon: FilterAltIcon, priority, type: 'subMenu', subMenu: rows }];
|
|
86
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatErrorStack(error: unknown): string;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { stripStackTraceMessage } from './stripStackTraceMessage.js';
|
|
2
|
+
// An error's own .stack never includes its cause's stack, so the chain has to be
|
|
3
|
+
// walked by hand — and the cause is usually where the real failure is, since the
|
|
4
|
+
// wrappers (`new Error(msg, { cause: e })` in configurationSchema, mstUtils,
|
|
5
|
+
// tracks, ...) only stack up frames from the machinery that caught it. Causes
|
|
6
|
+
// survive the worker boundary intact (see rpc/serializeError), so this is the
|
|
7
|
+
// last place the chain would otherwise be dropped.
|
|
8
|
+
// guards against a pathologically long chain; cycles are caught by `seen`
|
|
9
|
+
const MAX_CAUSE_DEPTH = 10;
|
|
10
|
+
function getStack(error) {
|
|
11
|
+
return typeof error === 'object' && error !== null && 'stack' in error
|
|
12
|
+
? `${error.stack}`
|
|
13
|
+
: '';
|
|
14
|
+
}
|
|
15
|
+
function getCause(error) {
|
|
16
|
+
return typeof error === 'object' && error !== null && 'cause' in error
|
|
17
|
+
? error.cause
|
|
18
|
+
: undefined;
|
|
19
|
+
}
|
|
20
|
+
// an AggregateError's own stack points at whatever collected the failures, and
|
|
21
|
+
// its message names none of them, so the sub-errors have to be walked the same
|
|
22
|
+
// way causes are. PhasedScheduler throws one of these for every plugin that
|
|
23
|
+
// fails to create its pluggable elements.
|
|
24
|
+
function getAggregated(error) {
|
|
25
|
+
return typeof error === 'object' &&
|
|
26
|
+
error !== null &&
|
|
27
|
+
'errors' in error &&
|
|
28
|
+
Array.isArray(error.errors)
|
|
29
|
+
? error.errors
|
|
30
|
+
: [];
|
|
31
|
+
}
|
|
32
|
+
export function formatErrorStack(error) {
|
|
33
|
+
const parts = [];
|
|
34
|
+
const seen = new Set();
|
|
35
|
+
// a cause chain is linear but an aggregate branches, so both are walked from
|
|
36
|
+
// one queue; the label is decided when a child is enqueued
|
|
37
|
+
const queue = [{ error, label: '' }];
|
|
38
|
+
while (queue.length > 0 && parts.length < MAX_CAUSE_DEPTH) {
|
|
39
|
+
const { error: current, label } = queue.shift();
|
|
40
|
+
if (current !== undefined && current !== null && !seen.has(current)) {
|
|
41
|
+
seen.add(current);
|
|
42
|
+
// chrome prepends the message to every stack in the chain; drop it and
|
|
43
|
+
// reintroduce it as the "Caused by" label so both browsers read the same
|
|
44
|
+
const stack = stripStackTraceMessage(getStack(current), `${current}`).replace(/^\n/, '');
|
|
45
|
+
parts.push([label, stack].filter(Boolean).join('\n'));
|
|
46
|
+
const cause = getCause(current);
|
|
47
|
+
if (cause !== undefined && cause !== null) {
|
|
48
|
+
queue.push({ error: cause, label: `Caused by: ${cause}` });
|
|
49
|
+
}
|
|
50
|
+
for (const sub of getAggregated(current)) {
|
|
51
|
+
queue.push({ error: sub, label: `Aggregated error: ${sub}` });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return parts.filter(Boolean).join('\n');
|
|
56
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The page-wide escape from a lost GPU context, as the three things every
|
|
3
|
+
* presentation of it needs. React-free on purpose: the MUI banners take
|
|
4
|
+
* {@link default as GpuFallbackButton} next door, but the plain-chrome overlays
|
|
5
|
+
* an embedder gets are deliberately MUI-free and render their own `<button>`,
|
|
6
|
+
* so the only thing all of them can share is this.
|
|
7
|
+
*
|
|
8
|
+
* Sharing it is not tidiness. The tooltip below was already written out twice,
|
|
9
|
+
* word for word, in the two overlays that offered the button — and the ones that
|
|
10
|
+
* did not offer it at all (dotplot, synteny) were the actual bug: a lost context
|
|
11
|
+
* is page-wide, so those views are the *victims* of a budget some other view
|
|
12
|
+
* spent, and they were the ones left with no way out.
|
|
13
|
+
*/
|
|
14
|
+
export declare const GPU_FALLBACK_LABEL = "Use Canvas2D";
|
|
15
|
+
export declare const GPU_FALLBACK_TOOLTIP = "Stop using the GPU for the rest of this session and draw with Canvas2D instead. Slower on dense data, but unaffected by how many views are open.";
|
|
16
|
+
/**
|
|
17
|
+
* Whether this error is one switching to Canvas2D would actually fix, and the
|
|
18
|
+
* GPU is still on. Both halves matter: an over-allocation error's remedy is to
|
|
19
|
+
* zoom in rather than to change backend, and once the GPU is off the button is a
|
|
20
|
+
* no-op that only invites a second click.
|
|
21
|
+
*
|
|
22
|
+
* **Pass the GPU error itself, not a combined one.** The flag lives on the error
|
|
23
|
+
* object, so anything that has flattened errors into a string — synteny's level
|
|
24
|
+
* banner joins the GPU error with each display's fetch error for display —
|
|
25
|
+
* answers `false` here and silently drops the button.
|
|
26
|
+
*/
|
|
27
|
+
export declare function shouldOfferGpuFallback(error: unknown): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Turn the GPU off for the rest of the page. The same switch `?renderer=canvas2d`
|
|
30
|
+
* throws, so every backend built afterwards is the Canvas2D one; the caller
|
|
31
|
+
* still has to retry the display it is showing this from.
|
|
32
|
+
*/
|
|
33
|
+
export declare function disableGpuRendering(): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { isGpuRenderingDisabled, setGpuOverride, } from '@jbrowse/render-core/gpuDevice';
|
|
2
|
+
import { isGpuContextLostError } from '@jbrowse/render-core/useRenderingBackend';
|
|
3
|
+
/**
|
|
4
|
+
* The page-wide escape from a lost GPU context, as the three things every
|
|
5
|
+
* presentation of it needs. React-free on purpose: the MUI banners take
|
|
6
|
+
* {@link default as GpuFallbackButton} next door, but the plain-chrome overlays
|
|
7
|
+
* an embedder gets are deliberately MUI-free and render their own `<button>`,
|
|
8
|
+
* so the only thing all of them can share is this.
|
|
9
|
+
*
|
|
10
|
+
* Sharing it is not tidiness. The tooltip below was already written out twice,
|
|
11
|
+
* word for word, in the two overlays that offered the button — and the ones that
|
|
12
|
+
* did not offer it at all (dotplot, synteny) were the actual bug: a lost context
|
|
13
|
+
* is page-wide, so those views are the *victims* of a budget some other view
|
|
14
|
+
* spent, and they were the ones left with no way out.
|
|
15
|
+
*/
|
|
16
|
+
export const GPU_FALLBACK_LABEL = 'Use Canvas2D';
|
|
17
|
+
export const GPU_FALLBACK_TOOLTIP = 'Stop using the GPU for the rest of this session and draw with Canvas2D instead. Slower on dense data, but unaffected by how many views are open.';
|
|
18
|
+
/**
|
|
19
|
+
* Whether this error is one switching to Canvas2D would actually fix, and the
|
|
20
|
+
* GPU is still on. Both halves matter: an over-allocation error's remedy is to
|
|
21
|
+
* zoom in rather than to change backend, and once the GPU is off the button is a
|
|
22
|
+
* no-op that only invites a second click.
|
|
23
|
+
*
|
|
24
|
+
* **Pass the GPU error itself, not a combined one.** The flag lives on the error
|
|
25
|
+
* object, so anything that has flattened errors into a string — synteny's level
|
|
26
|
+
* banner joins the GPU error with each display's fetch error for display —
|
|
27
|
+
* answers `false` here and silently drops the button.
|
|
28
|
+
*/
|
|
29
|
+
export function shouldOfferGpuFallback(error) {
|
|
30
|
+
return isGpuContextLostError(error) && !isGpuRenderingDisabled();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Turn the GPU off for the rest of the page. The same switch `?renderer=canvas2d`
|
|
34
|
+
* throws, so every backend built afterwards is the Canvas2D one; the caller
|
|
35
|
+
* still has to retry the display it is showing this from.
|
|
36
|
+
*/
|
|
37
|
+
export function disableGpuRendering() {
|
|
38
|
+
setGpuOverride('canvas2d');
|
|
39
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { MouseTracker } from './useMouseTracking.ts';
|
|
2
|
+
export declare const OverlayPointerProvider: import("react").Provider<MouseTracker | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* The stripe a band occupies: an x span across a full-height band, a y span
|
|
5
|
+
* across a full-width one. The other axis is the whole overlay, which is why it
|
|
6
|
+
* isn't here.
|
|
7
|
+
*/
|
|
8
|
+
export type HighlightStripe = {
|
|
9
|
+
left: number;
|
|
10
|
+
width: number;
|
|
11
|
+
} | {
|
|
12
|
+
top: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Whether a band should be drawing its chip, and the `setOpen` that keeps it
|
|
17
|
+
* drawn while its menu is up.
|
|
18
|
+
*
|
|
19
|
+
* A band reveals its chip while the pointer is in its stripe, so the highlight's
|
|
20
|
+
* menu is reachable where the highlight is rather than only from the view menu,
|
|
21
|
+
* and a view full of bands is not also a view full of link icons. `persistent`
|
|
22
|
+
* is the `showHighlightChips` pin, which a screenshot needs because nothing
|
|
23
|
+
* hovers in one.
|
|
24
|
+
*
|
|
25
|
+
* The menu is the reason this owns state at all: it is portalled out of the
|
|
26
|
+
* band, so opening it moves the pointer off the stripe that revealed it, and
|
|
27
|
+
* unmounting the chip under an open menu takes the menu's own anchor with it.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useHighlightChip(stripe: HighlightStripe | undefined, persistent: boolean): {
|
|
30
|
+
chipVisible: boolean;
|
|
31
|
+
setMenuOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
32
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createContext, use, useState } from 'react';
|
|
2
|
+
import { useMouseSelector } from './useMouseTracking.js';
|
|
3
|
+
/**
|
|
4
|
+
* The pointer over the surface a view's highlight bands are positioned in — the
|
|
5
|
+
* LinearGenomeView's tracks container, the DotplotView's plot area. Published by
|
|
6
|
+
* whichever of those bound the handlers.
|
|
7
|
+
*
|
|
8
|
+
* A context rather than a prop because a band is often drawn by another plugin
|
|
9
|
+
* through an extension point (grid-bookmark's bookmark bands), and those carry
|
|
10
|
+
* only their `{ model }` props bag — the band families are siblings on screen
|
|
11
|
+
* and would otherwise reach the pointer two different ways.
|
|
12
|
+
*/
|
|
13
|
+
const OverlayPointerContext = createContext(undefined);
|
|
14
|
+
export const OverlayPointerProvider = OverlayPointerContext.Provider;
|
|
15
|
+
function pointerInStripe(stripe, state) {
|
|
16
|
+
return 'left' in stripe
|
|
17
|
+
? state.x >= stripe.left && state.x < stripe.left + stripe.width
|
|
18
|
+
: state.y >= stripe.top && state.y < stripe.top + stripe.height;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Whether a band should be drawing its chip, and the `setOpen` that keeps it
|
|
22
|
+
* drawn while its menu is up.
|
|
23
|
+
*
|
|
24
|
+
* A band reveals its chip while the pointer is in its stripe, so the highlight's
|
|
25
|
+
* menu is reachable where the highlight is rather than only from the view menu,
|
|
26
|
+
* and a view full of bands is not also a view full of link icons. `persistent`
|
|
27
|
+
* is the `showHighlightChips` pin, which a screenshot needs because nothing
|
|
28
|
+
* hovers in one.
|
|
29
|
+
*
|
|
30
|
+
* The menu is the reason this owns state at all: it is portalled out of the
|
|
31
|
+
* band, so opening it moves the pointer off the stripe that revealed it, and
|
|
32
|
+
* unmounting the chip under an open menu takes the menu's own anchor with it.
|
|
33
|
+
*/
|
|
34
|
+
export function useHighlightChip(stripe, persistent) {
|
|
35
|
+
const tracker = use(OverlayPointerContext);
|
|
36
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
37
|
+
const hovered = useMouseSelector(tracker, state => !!state && !!stripe && pointerInStripe(stripe, state));
|
|
38
|
+
return { chipVisible: persistent || hovered || menuOpen, setMenuOpen };
|
|
39
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The hover mark for a cell or block on a canvas display: a white wash plus a
|
|
4
|
+
* dark border, never a color tint — the cell colors are the data, and a tint
|
|
5
|
+
* washes them out.
|
|
6
|
+
*
|
|
7
|
+
* One definition because the alternative was proven to fail: `highlightBoxColors`
|
|
8
|
+
* exists for the same reason, after two backends drifted apart on their own alpha
|
|
9
|
+
* literals kept in step by a comment.
|
|
10
|
+
*/
|
|
11
|
+
export declare const hoverBoxStyle: CSSProperties;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hover mark for a cell or block on a canvas display: a white wash plus a
|
|
3
|
+
* dark border, never a color tint — the cell colors are the data, and a tint
|
|
4
|
+
* washes them out.
|
|
5
|
+
*
|
|
6
|
+
* One definition because the alternative was proven to fail: `highlightBoxColors`
|
|
7
|
+
* exists for the same reason, after two backends drifted apart on their own alpha
|
|
8
|
+
* literals kept in step by a comment.
|
|
9
|
+
*/
|
|
10
|
+
export const hoverBoxStyle = {
|
|
11
|
+
border: '1px solid rgba(0,0,0,0.5)',
|
|
12
|
+
background: 'rgba(255,255,255,0.3)',
|
|
13
|
+
};
|
package/esm/ui/index.d.ts
CHANGED
|
@@ -1,20 +1,92 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { type JBrowseTheme, type SerializableThemeArgs, type ThemeMap, colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv, colorNeutralRead, colorPairLL, colorPairLR, colorPairLRDark, colorPairRL, colorPairRR, colorRevStrand, colorShortInsert, colorSplitReadInversion, colorSupplementary, colorUnmappedMate, colorUnmappedMateDark, createJBrowseBaseTheme, createJBrowseTheme, createJBrowseThemeFromArgs, defaultThemes, methylated5hmC, methylated5mC, tagColorPalette, unmethylated5mC, } from './theme.ts';
|
|
2
|
+
export { default as BaseExportSvgDialog } from './BaseExportSvgDialog.tsx';
|
|
3
|
+
export type { BaseExportSvgOptions } from './BaseExportSvgDialog.tsx';
|
|
4
|
+
export { default as ExportSvgDialog } from './ExportSvgDialog.tsx';
|
|
5
|
+
export { useExportSvgPreference } from './useExportSvgPreference.ts';
|
|
2
6
|
export { LogoFull, Logomark } from './Logo.tsx';
|
|
3
7
|
export { default as AssemblySelector } from './AssemblySelector.tsx';
|
|
8
|
+
export { useAssemblySelection } from './useAssemblySelection.ts';
|
|
9
|
+
export { useRecentLocations } from './useRecentLocations.ts';
|
|
10
|
+
export type { RecentLocation } from './useRecentLocations.ts';
|
|
11
|
+
export { RefNameAutocompleteEndAdornment, adornmentReservePx, getInputWidth, default as RefNameAutocomplete, } from './RefNameAutocomplete/index.tsx';
|
|
4
12
|
export { default as CascadingMenu } from './CascadingMenu.tsx';
|
|
5
13
|
export { default as CascadingMenuButton } from './CascadingMenuButton.tsx';
|
|
14
|
+
export { default as ContextMenu } from './ContextMenu.tsx';
|
|
15
|
+
export type { ContextMenuAnchor } from './ContextMenu.tsx';
|
|
16
|
+
export { CONTEXT_MENU_Z_INDEX, TOOLTIP_Z_INDEX } from './zIndexes.ts';
|
|
17
|
+
export { default as ConfirmDialog } from './ConfirmDialog.tsx';
|
|
18
|
+
export { default as JexlFilterDialog } from './JexlFilterDialog.tsx';
|
|
19
|
+
export { default as CopyToClipboardButton } from './CopyToClipboardButton.tsx';
|
|
20
|
+
export { useCopyToClipboard } from './useCopyToClipboard.ts';
|
|
6
21
|
export { default as Dialog } from './Dialog.tsx';
|
|
7
22
|
export { default as EditableTypography } from './EditableTypography.tsx';
|
|
23
|
+
export { default as ErrorBanner } from './ErrorBanner.tsx';
|
|
24
|
+
export { default as GpuFallbackButton } from './GpuFallbackButton.tsx';
|
|
8
25
|
export { default as ErrorMessage } from './ErrorMessage.tsx';
|
|
9
26
|
export { default as FatalErrorDialog } from './FatalErrorDialog.tsx';
|
|
10
27
|
export { default as FileSelector } from './FileSelector/FileSelector.tsx';
|
|
28
|
+
export { default as FileDropZone } from './FileDropZone.tsx';
|
|
29
|
+
export { default as LabeledCheckbox } from './LabeledCheckbox.tsx';
|
|
11
30
|
export { default as LoadingEllipses } from './LoadingEllipses.tsx';
|
|
31
|
+
export { default as LoadingProgress } from './LoadingProgress.tsx';
|
|
32
|
+
export { default as ViewLoadingScreen } from './ViewLoadingScreen.tsx';
|
|
33
|
+
export { default as ProgressChip } from './ProgressChip.tsx';
|
|
34
|
+
export { default as NumberTextField } from './NumberTextField.tsx';
|
|
35
|
+
export { type TagQuickPick, default as TagTextField } from './TagTextField.tsx';
|
|
36
|
+
export { default as MonospaceTextField } from './MonospaceTextField.tsx';
|
|
37
|
+
export { default as ShareLinkField } from './ShareLinkField.tsx';
|
|
38
|
+
export { default as SingleSlider } from './SingleSlider.tsx';
|
|
39
|
+
export { default as SliderTooltip } from './SliderTooltip.tsx';
|
|
40
|
+
export { makePromotableSizeMenu, makeSizeMenu, makeSizeSubMenu, } from './makeSizeMenu.tsx';
|
|
41
|
+
export { INLINE_MENU_ROW_WIDTH, ResetToDefaultButton, } from './InlineMenuControls.tsx';
|
|
42
|
+
export { sliderScale } from './sliderScale.ts';
|
|
43
|
+
export type { SliderScale } from './sliderScale.ts';
|
|
44
|
+
export { default as ErrorBar } from './ErrorBar.tsx';
|
|
45
|
+
export { default as ErrorOverlay } from './ErrorOverlay.tsx';
|
|
46
|
+
export { default as LoadingOverlay } from './LoadingOverlay.tsx';
|
|
47
|
+
export { default as StatusProgressBar } from './StatusProgressBar.tsx';
|
|
12
48
|
export { default as Menu } from './Menu.tsx';
|
|
13
49
|
export { default as PrerenderedCanvas } from './PrerenderedCanvas.tsx';
|
|
14
50
|
export { default as ResizeHandle } from './ResizeHandle.tsx';
|
|
51
|
+
export { default as ScrollEdgeShadow } from './ScrollEdgeShadow.tsx';
|
|
52
|
+
export { default as VerticalScrollbar } from './VerticalScrollbar.tsx';
|
|
53
|
+
export { default as SubmitDialog } from './SubmitDialog.tsx';
|
|
54
|
+
export { default as SubmitForm } from './SubmitForm.tsx';
|
|
55
|
+
export { default as ReplaceCurrentViewButton } from './ReplaceCurrentViewButton.tsx';
|
|
56
|
+
export { replaceViewAction } from './replaceViewAction.tsx';
|
|
57
|
+
export { default as InfoDialog } from './InfoDialog.tsx';
|
|
58
|
+
export { default as SettingsChangesTable } from './SettingsChangesTable.tsx';
|
|
59
|
+
export { default as ActionLink } from './ActionLink.tsx';
|
|
15
60
|
export { default as ExternalLink } from './ExternalLink.tsx';
|
|
16
61
|
export { default as SanitizedHTML } from './SanitizedHTML.tsx';
|
|
17
|
-
export { default as
|
|
18
|
-
export
|
|
19
|
-
export
|
|
62
|
+
export { default as PluggableComponent } from './PluggableComponent.tsx';
|
|
63
|
+
export { default as PluggableComponents } from './PluggableComponents.tsx';
|
|
64
|
+
export type { ComponentExtensionPointName } from './PluggableComponents.tsx';
|
|
65
|
+
export { default as PluggableElements } from './PluggableElements.tsx';
|
|
66
|
+
export { addExtensionElement } from './addExtensionElement.tsx';
|
|
67
|
+
export type { ElementExtensionPointName } from './addExtensionElement.tsx';
|
|
68
|
+
export { wrapComponent } from './wrapComponent.tsx';
|
|
69
|
+
export type { SlotExtensionPointName, SlotProps, WrapperProps, } from './wrapComponent.tsx';
|
|
70
|
+
export { matchesTrackSelector } from './extensionSelectors.ts';
|
|
71
|
+
export type { TrackSelector } from './extensionSelectors.ts';
|
|
72
|
+
export type { BaseMenuItem, CheckboxMenuItem, ClickableMenuItem, CustomMenuItem, MenuDivider, MenuItem, MenuItemClickHandler, MenuItemsGetter, MenuSubHeader, NormalMenuItem, RadioMenuItem, SubMenuItem, } from './MenuTypes.ts';
|
|
73
|
+
export { resolveSubMenu, staysOpenOnClick } from './MenuTypes.ts';
|
|
74
|
+
export { LAUNCH_LABEL, pushIntoSubMenu, pushLaunchViewMenuItem, } from './launchViewMenu.ts';
|
|
75
|
+
export { launchTargetsMenuItem } from './launchTargetsMenuItem.ts';
|
|
76
|
+
export { default as Crosshairs } from './Crosshairs.tsx';
|
|
77
|
+
export { hoverBoxStyle } from './hoverBoxStyle.ts';
|
|
78
|
+
export { useMouseState, useMouseTracking } from './useMouseTracking.ts';
|
|
79
|
+
export type { MouseState, MouseTracker } from './useMouseTracking.ts';
|
|
80
|
+
export { PinAdornment } from './PinAdornment.tsx';
|
|
81
|
+
export { promotableRadioItem, promotableRadioItems, promotableToggleItem, } from './promotableMenuItems.ts';
|
|
82
|
+
export { displayTypesWithPromotableSlots, promotableSlotsWithoutPin, } from './promotablePinCoverage.ts';
|
|
20
83
|
export declare const VIEW_HEADER_HEIGHT = 28;
|
|
84
|
+
export { GRADIENT_LEGEND_HEIGHT, GRADIENT_LEGEND_SVG_AREA_WIDTH, GRADIENT_LEGEND_WIDTH, default as SvgGradientLegend, } from './SvgGradientLegend.tsx';
|
|
85
|
+
export type { GradientLabel, GradientStop } from './SvgGradientLegend.tsx';
|
|
86
|
+
export { LEGEND_ROW_HEIGHT, LEGEND_SWATCH, default as SvgColorLegend, } from './SvgColorLegend.tsx';
|
|
87
|
+
export type { ColorLegendEntry } from './SvgColorLegend.tsx';
|
|
88
|
+
export { measureLegendText } from './measureLegendText.ts';
|
|
89
|
+
export { LegendSwatchGlyph } from './LegendSwatchGlyph.tsx';
|
|
90
|
+
export { MAX_LEGEND_ITEMS, legendEntries, legendIsReadable, legendSwatches, nonEmptyLegendSections, } from './legendSpec.ts';
|
|
91
|
+
export type { LegendItem, LegendMark, LegendSection, LegendSpec, LegendSwatch, } from './legendSpec.ts';
|
|
92
|
+
export { checkboxItem, radioItems } from './toggleMenuItems.ts';
|
package/esm/ui/index.js
CHANGED
|
@@ -1,20 +1,91 @@
|
|
|
1
|
-
export
|
|
2
|
-
export {
|
|
3
|
-
export { default as
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export { default as
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
11
|
-
export { default as
|
|
12
|
-
export { default as
|
|
13
|
-
export {
|
|
14
|
-
export { default as
|
|
15
|
-
export { default as
|
|
16
|
-
export { default as
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
19
|
-
export
|
|
1
|
+
export { colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv, colorNeutralRead, colorPairLL, colorPairLR, colorPairLRDark, colorPairRL, colorPairRR, colorRevStrand, colorShortInsert, colorSplitReadInversion, colorSupplementary, colorUnmappedMate, colorUnmappedMateDark, createJBrowseBaseTheme, createJBrowseTheme, createJBrowseThemeFromArgs, defaultThemes, methylated5hmC, methylated5mC, tagColorPalette, unmethylated5mC, } from './theme.js';
|
|
2
|
+
export { default as BaseExportSvgDialog } from './BaseExportSvgDialog.js';
|
|
3
|
+
export { default as ExportSvgDialog } from './ExportSvgDialog.js';
|
|
4
|
+
export { useExportSvgPreference } from './useExportSvgPreference.js';
|
|
5
|
+
export { LogoFull, Logomark } from './Logo.js';
|
|
6
|
+
export { default as AssemblySelector } from './AssemblySelector.js';
|
|
7
|
+
export { useAssemblySelection } from './useAssemblySelection.js';
|
|
8
|
+
export { useRecentLocations } from './useRecentLocations.js';
|
|
9
|
+
export { RefNameAutocompleteEndAdornment, adornmentReservePx, getInputWidth, default as RefNameAutocomplete, } from './RefNameAutocomplete/index.js';
|
|
10
|
+
export { default as CascadingMenu } from './CascadingMenu.js';
|
|
11
|
+
export { default as CascadingMenuButton } from './CascadingMenuButton.js';
|
|
12
|
+
export { default as ContextMenu } from './ContextMenu.js';
|
|
13
|
+
export { CONTEXT_MENU_Z_INDEX, TOOLTIP_Z_INDEX } from './zIndexes.js';
|
|
14
|
+
export { default as ConfirmDialog } from './ConfirmDialog.js';
|
|
15
|
+
export { default as JexlFilterDialog } from './JexlFilterDialog.js';
|
|
16
|
+
export { default as CopyToClipboardButton } from './CopyToClipboardButton.js';
|
|
17
|
+
export { useCopyToClipboard } from './useCopyToClipboard.js';
|
|
18
|
+
export { default as Dialog } from './Dialog.js';
|
|
19
|
+
export { default as EditableTypography } from './EditableTypography.js';
|
|
20
|
+
export { default as ErrorBanner } from './ErrorBanner.js';
|
|
21
|
+
export { default as GpuFallbackButton } from './GpuFallbackButton.js';
|
|
22
|
+
export { default as ErrorMessage } from './ErrorMessage.js';
|
|
23
|
+
export { default as FatalErrorDialog } from './FatalErrorDialog.js';
|
|
24
|
+
export { default as FileSelector } from './FileSelector/FileSelector.js';
|
|
25
|
+
export { default as FileDropZone } from './FileDropZone.js';
|
|
26
|
+
export { default as LabeledCheckbox } from './LabeledCheckbox.js';
|
|
27
|
+
export { default as LoadingEllipses } from './LoadingEllipses.js';
|
|
28
|
+
export { default as LoadingProgress } from './LoadingProgress.js';
|
|
29
|
+
export { default as ViewLoadingScreen } from './ViewLoadingScreen.js';
|
|
30
|
+
export { default as ProgressChip } from './ProgressChip.js';
|
|
31
|
+
export { default as NumberTextField } from './NumberTextField.js';
|
|
32
|
+
export { default as TagTextField } from './TagTextField.js';
|
|
33
|
+
export { default as MonospaceTextField } from './MonospaceTextField.js';
|
|
34
|
+
export { default as ShareLinkField } from './ShareLinkField.js';
|
|
35
|
+
export { default as SingleSlider } from './SingleSlider.js';
|
|
36
|
+
export { default as SliderTooltip } from './SliderTooltip.js';
|
|
37
|
+
export { makePromotableSizeMenu, makeSizeMenu, makeSizeSubMenu, } from './makeSizeMenu.js';
|
|
38
|
+
export { INLINE_MENU_ROW_WIDTH, ResetToDefaultButton, } from './InlineMenuControls.js';
|
|
39
|
+
export { sliderScale } from './sliderScale.js';
|
|
40
|
+
export { default as ErrorBar } from './ErrorBar.js';
|
|
41
|
+
export { default as ErrorOverlay } from './ErrorOverlay.js';
|
|
42
|
+
export { default as LoadingOverlay } from './LoadingOverlay.js';
|
|
43
|
+
export { default as StatusProgressBar } from './StatusProgressBar.js';
|
|
44
|
+
export { default as Menu } from './Menu.js';
|
|
45
|
+
export { default as PrerenderedCanvas } from './PrerenderedCanvas.js';
|
|
46
|
+
export { default as ResizeHandle } from './ResizeHandle.js';
|
|
47
|
+
export { default as ScrollEdgeShadow } from './ScrollEdgeShadow.js';
|
|
48
|
+
export { default as VerticalScrollbar } from './VerticalScrollbar.js';
|
|
49
|
+
export { default as SubmitDialog } from './SubmitDialog.js';
|
|
50
|
+
export { default as SubmitForm } from './SubmitForm.js';
|
|
51
|
+
export { default as ReplaceCurrentViewButton } from './ReplaceCurrentViewButton.js';
|
|
52
|
+
export { replaceViewAction } from './replaceViewAction.js';
|
|
53
|
+
export { default as InfoDialog } from './InfoDialog.js';
|
|
54
|
+
export { default as SettingsChangesTable } from './SettingsChangesTable.js';
|
|
55
|
+
export { default as ActionLink } from './ActionLink.js';
|
|
56
|
+
export { default as ExternalLink } from './ExternalLink.js';
|
|
57
|
+
export { default as SanitizedHTML } from './SanitizedHTML.js';
|
|
58
|
+
// BaseTooltip is deliberately NOT re-exported here: it reaches @floating-ui
|
|
59
|
+
// (~266KB), and this barrel is imported by eager plugin entries, so the
|
|
60
|
+
// re-export alone held that dependency on the startup path. Every consumer
|
|
61
|
+
// deep-imports '@jbrowse/core/ui/BaseTooltip' instead.
|
|
62
|
+
export { default as PluggableComponent } from './PluggableComponent.js';
|
|
63
|
+
export { default as PluggableComponents } from './PluggableComponents.js';
|
|
64
|
+
export { default as PluggableElements } from './PluggableElements.js';
|
|
65
|
+
export { addExtensionElement } from './addExtensionElement.js';
|
|
66
|
+
export { wrapComponent } from './wrapComponent.js';
|
|
67
|
+
export { matchesTrackSelector } from './extensionSelectors.js';
|
|
68
|
+
export { resolveSubMenu, staysOpenOnClick } from './MenuTypes.js';
|
|
69
|
+
export { LAUNCH_LABEL, pushIntoSubMenu, pushLaunchViewMenuItem, } from './launchViewMenu.js';
|
|
70
|
+
export { launchTargetsMenuItem } from './launchTargetsMenuItem.js';
|
|
71
|
+
export { default as Crosshairs } from './Crosshairs.js';
|
|
72
|
+
export { hoverBoxStyle } from './hoverBoxStyle.js';
|
|
73
|
+
export { useMouseState, useMouseTracking } from './useMouseTracking.js';
|
|
74
|
+
export { PinAdornment } from './PinAdornment.js';
|
|
75
|
+
export { promotableRadioItem, promotableRadioItems, promotableToggleItem, } from './promotableMenuItems.js';
|
|
76
|
+
// Not on the React-free `menuItems.ts` entry beside the two builders above: this
|
|
77
|
+
// reads a config's slot table, so it pulls `configuration/promotableSlots.ts`
|
|
78
|
+
// in, and that entry exists precisely to stay out of every plugin's eager graph.
|
|
79
|
+
//
|
|
80
|
+
// `pinnedSlots`, the walk underneath it, stays module-private: the question a
|
|
81
|
+
// caller has is "which promotable slots does this menu miss", and answering the
|
|
82
|
+
// half of it that lists what a menu *does* offer needs the schema's slot table
|
|
83
|
+
// to mean anything.
|
|
84
|
+
export { displayTypesWithPromotableSlots, promotableSlotsWithoutPin, } from './promotablePinCoverage.js';
|
|
20
85
|
export const VIEW_HEADER_HEIGHT = 28;
|
|
86
|
+
export { GRADIENT_LEGEND_HEIGHT, GRADIENT_LEGEND_SVG_AREA_WIDTH, GRADIENT_LEGEND_WIDTH, default as SvgGradientLegend, } from './SvgGradientLegend.js';
|
|
87
|
+
export { LEGEND_ROW_HEIGHT, LEGEND_SWATCH, default as SvgColorLegend, } from './SvgColorLegend.js';
|
|
88
|
+
export { measureLegendText } from './measureLegendText.js';
|
|
89
|
+
export { LegendSwatchGlyph } from './LegendSwatchGlyph.js';
|
|
90
|
+
export { MAX_LEGEND_ITEMS, legendEntries, legendIsReadable, legendSwatches, nonEmptyLegendSections, } from './legendSpec.js';
|
|
91
|
+
export { checkboxItem, radioItems } from './toggleMenuItems.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const INLINE_MENU_ROW_WIDTH = 220;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Width of an inline menu row (a slider row, a stepper) in px.
|
|
2
|
+
//
|
|
3
|
+
// Its own module, and not a const in `InlineMenuControls.tsx`, because that file
|
|
4
|
+
// imports MUI: a caller that wants only the number — to size a placeholder while
|
|
5
|
+
// the real row loads, say — would otherwise pull `IconButton`, `Tooltip` and an
|
|
6
|
+
// icon in with it. Same reason `ui/menuItems.ts` exists; see
|
|
7
|
+
// reference/EAGER_BUNDLE.md.
|
|
8
|
+
export const INLINE_MENU_ROW_WIDTH = 220;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MenuItem } from './MenuTypes.ts';
|
|
2
|
+
import type { SvgIconComponent } from '@mui/icons-material';
|
|
3
|
+
/**
|
|
4
|
+
* One launch offer, over the datasets that can serve it: nothing at all when
|
|
5
|
+
* none can, otherwise a submenu naming each. Which dataset a launch reads from
|
|
6
|
+
* changes the answer, so the name is always on screen — a single dataset gets
|
|
7
|
+
* the same submenu as several rather than a flat item that leaves it unsaid.
|
|
8
|
+
*
|
|
9
|
+
* Kept apart from the discovery it is fed so the shape is testable on plain
|
|
10
|
+
* data.
|
|
11
|
+
*/
|
|
12
|
+
export declare function launchTargetsMenuItem<T>({ label, icon, entries, entryLabel, onSelect, }: {
|
|
13
|
+
label: string;
|
|
14
|
+
icon: SvgIconComponent;
|
|
15
|
+
entries: T[];
|
|
16
|
+
entryLabel: (entry: T) => string;
|
|
17
|
+
onSelect: (entry: T) => () => void;
|
|
18
|
+
}): MenuItem[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One launch offer, over the datasets that can serve it: nothing at all when
|
|
3
|
+
* none can, otherwise a submenu naming each. Which dataset a launch reads from
|
|
4
|
+
* changes the answer, so the name is always on screen — a single dataset gets
|
|
5
|
+
* the same submenu as several rather than a flat item that leaves it unsaid.
|
|
6
|
+
*
|
|
7
|
+
* Kept apart from the discovery it is fed so the shape is testable on plain
|
|
8
|
+
* data.
|
|
9
|
+
*/
|
|
10
|
+
export function launchTargetsMenuItem({ label, icon, entries, entryLabel, onSelect, }) {
|
|
11
|
+
return entries.length
|
|
12
|
+
? [
|
|
13
|
+
{
|
|
14
|
+
label,
|
|
15
|
+
icon,
|
|
16
|
+
type: 'subMenu',
|
|
17
|
+
subMenu: entries.map(entry => ({
|
|
18
|
+
label: entryLabel(entry),
|
|
19
|
+
onClick: onSelect(entry),
|
|
20
|
+
})),
|
|
21
|
+
},
|
|
22
|
+
]
|
|
23
|
+
: [];
|
|
24
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MenuItem } from './MenuTypes.ts';
|
|
2
|
+
export declare const LAUNCH_LABEL = "Launch";
|
|
3
|
+
export declare function pushIntoSubMenu(items: MenuItem[], label: string, item: MenuItem): void;
|
|
4
|
+
export declare function pushLaunchViewMenuItem(items: MenuItem[], item: MenuItem): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// The submenu every "open something for this region" contribution collects
|
|
2
|
+
// under, in a track menu, a view menu and the rubberband menu alike. One word,
|
|
3
|
+
// because half of what it now launches is not a view — a consensus dialog, the
|
|
4
|
+
// MAF subsequence widget, a sequence readout — and the rubberband menu has
|
|
5
|
+
// spelled it this way all along.
|
|
6
|
+
export const LAUNCH_LABEL = 'Launch';
|
|
7
|
+
// Add `item` under the `label` submenu of `items`, creating that submenu the
|
|
8
|
+
// first time. What makes several plugins' contributions collect in one place
|
|
9
|
+
// instead of each becoming its own top-level row, whatever order they ran in.
|
|
10
|
+
export function pushIntoSubMenu(items, label, item) {
|
|
11
|
+
const existing = items.find((i) => i.type === 'subMenu' && i.label === label);
|
|
12
|
+
if (existing) {
|
|
13
|
+
const { subMenu } = existing;
|
|
14
|
+
if (typeof subMenu === 'function') {
|
|
15
|
+
existing.subMenu = () => [...subMenu(), item];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
subMenu.push(item);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
items.push({ label, type: 'subMenu', subMenu: [item] });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Several independent plugins (dotplot-view, linear-comparative-view, …) each
|
|
26
|
+
// contribute one "open another view for this feature" context-menu item. Call
|
|
27
|
+
// this instead of pushing a top-level item so the contributions land in a
|
|
28
|
+
// single "Launch" submenu regardless of which plugin's extension runs
|
|
29
|
+
// first. The `group` option on `addViewMenuItems`/`addDisplayMenuItems` does the
|
|
30
|
+
// same thing for a contributor registered that way, and is the shorter road to
|
|
31
|
+
// it.
|
|
32
|
+
//
|
|
33
|
+
// The rubberband menu has its own seam for the same job —
|
|
34
|
+
// `rubberBandLaunchMenuItems()` on the linear genome view — because there the
|
|
35
|
+
// grouping is the model's, not each contributor's, to do.
|
|
36
|
+
//
|
|
37
|
+
// Keeps its name while the label loses a word: this one is pinned by
|
|
38
|
+
// `abiBaseline.json`, so a published plugin bundle reads it off the host at
|
|
39
|
+
// module scope and a rename is `undefined` inside an already-shipped UMD.
|
|
40
|
+
export function pushLaunchViewMenuItem(items, item) {
|
|
41
|
+
pushIntoSubMenu(items, LAUNCH_LABEL, item);
|
|
42
|
+
}
|