@jbrowse/core 4.3.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +783 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +40 -40
- package/esm/PluginLoader.js +166 -82
- package/esm/PluginManager.d.ts +368 -55
- package/esm/PluginManager.js +326 -85
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +84 -65
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +154 -19
- package/esm/configuration/configurationSchema.js +359 -138
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +326 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
- package/esm/data_adapters/BaseAdapter/index.js +5 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
- package/esm/data_adapters/BaseAdapter/stats.js +48 -22
- package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +10 -0
- package/esm/pluggableElementTypes/DisplayType.js +14 -1
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +2 -1
- package/esm/pluggableElementTypes/ViewType.js +9 -2
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +68 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +195 -35
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +265 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +49 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +2 -5
- package/esm/rpc/coreRpcMethods.js +9 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +15 -17
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +24 -13
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +136 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +61 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +368 -41
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +4 -4
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +128 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +12 -3
- package/esm/ui/HoverMenu.js +31 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +9 -0
- package/esm/ui/LoadingOverlay.js +137 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +124 -4
- package/esm/ui/MenuTypes.js +13 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +85 -0
- package/esm/ui/PaletteContext.js +104 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +79 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -47
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +36 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +89 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +87 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +44 -0
- package/esm/ui/toggleMenuItems.js +60 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +23 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyInitSettings.d.ts +79 -0
- package/esm/util/applyInitSettings.js +91 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +52 -0
- package/esm/util/cacheBudgets.js +52 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createStopTokenRotation.d.ts +117 -0
- package/esm/util/createStopTokenRotation.js +147 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +23 -0
- package/esm/util/diagonalizeRegions.js +192 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +5 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +28 -0
- package/esm/util/freezeDeep.js +41 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +160 -0
- package/esm/util/hooks.js +416 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +82 -268
- package/esm/util/index.js +136 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +194 -0
- package/esm/util/installFetch.js +178 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +89 -0
- package/esm/util/mstUtils.js +122 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +113 -0
- package/esm/util/pluginStore.js +253 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +42 -1
- package/esm/util/range.js +59 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +14 -1
- package/esm/util/rxjs.js +39 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +38 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/simpleFeature.d.ts +112 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +120 -0
- package/esm/util/tabix.js +143 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +350 -30
- package/esm/util/tracks.js +574 -192
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +358 -119
- package/esm/util/types/index.js +87 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +58 -0
- package/esm/util/viewStatus.js +20 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +27 -0
- package/esm/util/whenViewSettled.js +28 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/package.json +240 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function tryParseJson(str) {
|
|
2
|
+
try {
|
|
3
|
+
return JSON.parse(str);
|
|
4
|
+
}
|
|
5
|
+
catch {
|
|
6
|
+
return str;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function parseError(str) {
|
|
10
|
+
let snapshotValue;
|
|
11
|
+
let message = '';
|
|
12
|
+
const match = /(?:at path "([^"]*)" )?snapshot `([^`]*)` is not assignable/.exec(str);
|
|
13
|
+
if (match) {
|
|
14
|
+
snapshotValue = tryParseJson(match[2]);
|
|
15
|
+
message = match[1] ? `Snapshot at path "${match[1]}":` : 'Snapshot:';
|
|
16
|
+
}
|
|
17
|
+
return { snapshotValue, message };
|
|
18
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { JBrowseStyleTheme } from './styleTheme.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Makes a scroll container's native scrollbar always visible.
|
|
4
|
+
*
|
|
5
|
+
* macOS (and iOS, and Android) browsers default to *overlay* scrollbars: zero
|
|
6
|
+
* layout width, drawn only while a scroll is in flight, faded out a moment
|
|
7
|
+
* later. A stack of views taller than the window then offers nothing to grab
|
|
8
|
+
* and no hint that it scrolls at all. `scrollbar-gutter` cannot fix that — it
|
|
9
|
+
* is defined to have no effect on overlay scrollbars — but giving
|
|
10
|
+
* `::-webkit-scrollbar` an explicit width does: Chromium and Safari switch that
|
|
11
|
+
* container to a classic, always-drawn, space-occupying scrollbar.
|
|
12
|
+
*
|
|
13
|
+
* Deliberately no `scrollbar-gutter: stable`, which would work once the lane is
|
|
14
|
+
* classic: it reserves the lane whether or not anything overflows, so a
|
|
15
|
+
* container showing one short view would pay 12px for a scrollbar it never
|
|
16
|
+
* draws. The lane appearing is the signal, so it has to mean something — which
|
|
17
|
+
* puts the burden on the container to overflow only when it has content to
|
|
18
|
+
* scroll to, rather than by trailing space it renders for its own reasons.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately no `scrollbar-width`/`scrollbar-color`: in Chromium the standard
|
|
21
|
+
* properties win over the `::-webkit-` pseudo-elements and put the overlay
|
|
22
|
+
* behavior back. Firefox on macOS ignores both approaches and follows the OS
|
|
23
|
+
* "Show scroll bars" setting; there is no CSS that overrides it.
|
|
24
|
+
*
|
|
25
|
+
* Thumb geometry matches {@link VerticalScrollbar}, the scrollbar the
|
|
26
|
+
* canvas-backed displays draw for themselves, so the two read as one control.
|
|
27
|
+
*/
|
|
28
|
+
export declare const persistentScrollbarStyle: (theme: JBrowseStyleTheme) => {
|
|
29
|
+
readonly '&::-webkit-scrollbar': {
|
|
30
|
+
readonly width: 12;
|
|
31
|
+
readonly height: 12;
|
|
32
|
+
};
|
|
33
|
+
readonly '&::-webkit-scrollbar-track': {
|
|
34
|
+
readonly background: 'transparent';
|
|
35
|
+
};
|
|
36
|
+
readonly '&::-webkit-scrollbar-thumb': {
|
|
37
|
+
readonly background: string;
|
|
38
|
+
readonly borderRadius: number;
|
|
39
|
+
readonly border: "3px solid transparent";
|
|
40
|
+
readonly backgroundClip: 'content-box';
|
|
41
|
+
};
|
|
42
|
+
readonly '&::-webkit-scrollbar-thumb:hover': {
|
|
43
|
+
readonly background: string;
|
|
44
|
+
readonly backgroundClip: 'content-box';
|
|
45
|
+
};
|
|
46
|
+
readonly '&::-webkit-scrollbar-corner': {
|
|
47
|
+
readonly background: 'transparent';
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const LANE_WIDTH = 12;
|
|
2
|
+
const THUMB_INSET = 3;
|
|
3
|
+
/**
|
|
4
|
+
* Makes a scroll container's native scrollbar always visible.
|
|
5
|
+
*
|
|
6
|
+
* macOS (and iOS, and Android) browsers default to *overlay* scrollbars: zero
|
|
7
|
+
* layout width, drawn only while a scroll is in flight, faded out a moment
|
|
8
|
+
* later. A stack of views taller than the window then offers nothing to grab
|
|
9
|
+
* and no hint that it scrolls at all. `scrollbar-gutter` cannot fix that — it
|
|
10
|
+
* is defined to have no effect on overlay scrollbars — but giving
|
|
11
|
+
* `::-webkit-scrollbar` an explicit width does: Chromium and Safari switch that
|
|
12
|
+
* container to a classic, always-drawn, space-occupying scrollbar.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately no `scrollbar-gutter: stable`, which would work once the lane is
|
|
15
|
+
* classic: it reserves the lane whether or not anything overflows, so a
|
|
16
|
+
* container showing one short view would pay 12px for a scrollbar it never
|
|
17
|
+
* draws. The lane appearing is the signal, so it has to mean something — which
|
|
18
|
+
* puts the burden on the container to overflow only when it has content to
|
|
19
|
+
* scroll to, rather than by trailing space it renders for its own reasons.
|
|
20
|
+
*
|
|
21
|
+
* Deliberately no `scrollbar-width`/`scrollbar-color`: in Chromium the standard
|
|
22
|
+
* properties win over the `::-webkit-` pseudo-elements and put the overlay
|
|
23
|
+
* behavior back. Firefox on macOS ignores both approaches and follows the OS
|
|
24
|
+
* "Show scroll bars" setting; there is no CSS that overrides it.
|
|
25
|
+
*
|
|
26
|
+
* Thumb geometry matches {@link VerticalScrollbar}, the scrollbar the
|
|
27
|
+
* canvas-backed displays draw for themselves, so the two read as one control.
|
|
28
|
+
*/
|
|
29
|
+
export const persistentScrollbarStyle = (theme) => ({
|
|
30
|
+
'&::-webkit-scrollbar': {
|
|
31
|
+
width: LANE_WIDTH,
|
|
32
|
+
height: LANE_WIDTH,
|
|
33
|
+
},
|
|
34
|
+
'&::-webkit-scrollbar-track': {
|
|
35
|
+
background: 'transparent',
|
|
36
|
+
},
|
|
37
|
+
'&::-webkit-scrollbar-thumb': {
|
|
38
|
+
background: theme.palette.action.disabled,
|
|
39
|
+
borderRadius: LANE_WIDTH / 2,
|
|
40
|
+
// paints the thumb inside a transparent border so the lane keeps its
|
|
41
|
+
// full hit area while the visible thumb stays the same 6px the
|
|
42
|
+
// in-display scrollbar uses
|
|
43
|
+
border: `${THUMB_INSET}px solid transparent`,
|
|
44
|
+
backgroundClip: 'content-box',
|
|
45
|
+
},
|
|
46
|
+
'&::-webkit-scrollbar-thumb:hover': {
|
|
47
|
+
background: theme.palette.action.active,
|
|
48
|
+
backgroundClip: 'content-box',
|
|
49
|
+
},
|
|
50
|
+
'&::-webkit-scrollbar-corner': {
|
|
51
|
+
background: 'transparent',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Pin } from '../configuration/promotablePin.ts';
|
|
2
|
+
import type { CheckboxMenuItem, RadioMenuItem } from './MenuTypes.ts';
|
|
3
|
+
import type { RadioOption, SettingRowOptions } from './toggleMenuItems.ts';
|
|
4
|
+
/** #menuBuilder promotableToggleItem | `checkboxItem` plus an apply-to-open-tracks pin */
|
|
5
|
+
export declare function promotableToggleItem({ label, checked, onToggle, pin, ...opts }: {
|
|
6
|
+
label: string;
|
|
7
|
+
checked: boolean;
|
|
8
|
+
onToggle: () => void;
|
|
9
|
+
pin: Pin;
|
|
10
|
+
} & SettingRowOptions): CheckboxMenuItem;
|
|
11
|
+
/** #menuBuilder promotableRadioItem | `radioItem` plus an apply-to-open-tracks pin */
|
|
12
|
+
export declare function promotableRadioItem({ label, checked, onClick, pin, ...opts }: {
|
|
13
|
+
label: string;
|
|
14
|
+
checked: boolean;
|
|
15
|
+
onClick: () => void;
|
|
16
|
+
pin?: Pin;
|
|
17
|
+
} & SettingRowOptions): RadioMenuItem;
|
|
18
|
+
/** #menuBuilder promotableRadioItems | `radioItems` plus a pin per option, from a factory over the value */
|
|
19
|
+
export declare function promotableRadioItems<T extends string>(options: readonly RadioOption<T>[], current: T | undefined, setMode: (m: T) => void, pin: (value: T) => Pin): RadioMenuItem[];
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { checkboxItem, radioItem, radioItems } from './toggleMenuItems.js';
|
|
2
|
+
// Every builder here describes the trailing pin (`pin`) rather than
|
|
3
|
+
// rendering it. That is what keeps this module — and therefore every state
|
|
4
|
+
// model and menu file that calls it — free of React and of MUI's
|
|
5
|
+
// ToggleButton/Tooltip. `menuItemAdornment.tsx` turns the description into
|
|
6
|
+
// `PinAdornment` at the point the menu is drawn. See
|
|
7
|
+
// reference/EAGER_BUNDLE.md; `menuItems.purity.test.ts` holds it.
|
|
8
|
+
//
|
|
9
|
+
// Each is the plain builder in `toggleMenuItems.ts` plus a pin, and each is
|
|
10
|
+
// written that way — `checkboxItem` / `radioItems` build the row — so the
|
|
11
|
+
// promotable and plain forms of a row can differ only by the pin.
|
|
12
|
+
// A promotable setting as one native checkbox menu row: the value toggles the
|
|
13
|
+
// track (inheriting native hover/sizing/keyboard), and a trailing pin
|
|
14
|
+
// (endAdornment) applies this value to every open track of the display type,
|
|
15
|
+
// offering the display-type default as its snackbar's one action. Always shown
|
|
16
|
+
// so the capability is discoverable.
|
|
17
|
+
//
|
|
18
|
+
// **The row itself is `checkboxItem`'s**, so the two builders can only ever
|
|
19
|
+
// differ by the pin. They used to be two literals, and had already drifted: this
|
|
20
|
+
// one accepted `helpText` and `keepMenuOpen` while silently dropping `disabled`
|
|
21
|
+
// and `disabledHelpText`, so a promotable row could not be greyed out the way
|
|
22
|
+
// its plain sibling could. Sharing the body is also what makes a future
|
|
23
|
+
// change to what a checkbox row *is* reach both — the failure `checkboxItem`'s
|
|
24
|
+
// own comment records is a menu regressing by omission.
|
|
25
|
+
//
|
|
26
|
+
// `keepMenuOpen` is left unset by default, so `CascadingMenu` keeps the row open
|
|
27
|
+
// by its checkbox type: these rows only write a setting, users flip several in
|
|
28
|
+
// one visit, and the menu is an observer so the ticks and pins move live. A row
|
|
29
|
+
// whose click opens a dialog instead (colorBy's "Tag...") passes false.
|
|
30
|
+
/** #menuBuilder promotableToggleItem | `checkboxItem` plus an apply-to-open-tracks pin */
|
|
31
|
+
export function promotableToggleItem({ label, checked, onToggle, pin, ...opts }) {
|
|
32
|
+
return {
|
|
33
|
+
...checkboxItem(label, checked, onToggle, opts),
|
|
34
|
+
pin: { control: pin, label },
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// ONE radio row of a promotable-value group — the escape hatch, for a group the
|
|
38
|
+
// plural builder below can't express. **Reach for `promotableRadioItems` first**:
|
|
39
|
+
// every option in a group has to get a pin, and hand-naming the rows is what
|
|
40
|
+
// leaves one without.
|
|
41
|
+
//
|
|
42
|
+
// The rows that genuinely need this: `pin` is optional here, for a row with no
|
|
43
|
+
// single value to promote yet (the colorBy "Tag..." row before a tag is picked)
|
|
44
|
+
// or a display whose slot isn't promotable at all (the shared colorBy menu on
|
|
45
|
+
// gwas/variants); and the alignments size presets, whose group is gated row by
|
|
46
|
+
// row (`needsContent`) and mixes in a non-promotable "Custom..." peer.
|
|
47
|
+
//
|
|
48
|
+
// **The row itself is `radioItem`'s**, for the reason `promotableToggleItem`'s
|
|
49
|
+
// is `checkboxItem`'s: it was a second literal, and it had drifted the same way
|
|
50
|
+
// its checkbox sibling had — naming `helpText`/`keepMenuOpen` by hand and so
|
|
51
|
+
// silently dropping `disabled` and `disabledHelpText`, which the
|
|
52
|
+
// alignments size presets have to bolt back on afterwards (`needsContent`).
|
|
53
|
+
/** #menuBuilder promotableRadioItem | `radioItem` plus an apply-to-open-tracks pin */
|
|
54
|
+
export function promotableRadioItem({ label, checked, onClick, pin, ...opts }) {
|
|
55
|
+
return {
|
|
56
|
+
...radioItem(label, checked, onClick, opts),
|
|
57
|
+
...(pin && {
|
|
58
|
+
pin: { control: pin, label },
|
|
59
|
+
}),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// A whole promotable radio group: `radioItems` plus one pin per option. The
|
|
63
|
+
// plural form of the builder above, and the one to reach for on a group whose
|
|
64
|
+
// options differ only in their value — which is all four of them today
|
|
65
|
+
// (`heightMode`, `displayMode`, `subfeatureLabels`, `sashimiArcsMode`).
|
|
66
|
+
//
|
|
67
|
+
// **Every option in a group gets a pin, the `promotedBase` value included** —
|
|
68
|
+
// once a non-base value is promoted, pinning the base back is the only per-value
|
|
69
|
+
// way to undo it from its own row, and a radio group with one row silently
|
|
70
|
+
// missing its trailing control reads as a bug. Building the group here is what
|
|
71
|
+
// makes that structural instead of a rule to remember: `sashimiArcsMode`'s base
|
|
72
|
+
// looked unpinnable precisely because each row had been named by hand. Prefer
|
|
73
|
+
// this over `.map(promotableRadioItem)` whenever the pin is a function of the
|
|
74
|
+
// option's value.
|
|
75
|
+
//
|
|
76
|
+
// `pin` is a factory rather than an array so it can't be a row short. Pass
|
|
77
|
+
// `value => makePin(self, slot, value)`, or a model member of that shape where
|
|
78
|
+
// the menu module is handed a duck-typed model (alignments).
|
|
79
|
+
//
|
|
80
|
+
// The rows are `radioItems`' own, so the promotable and plain groups can't drift
|
|
81
|
+
// on anything but the pin. `radioItems` maps `options` in order, which is what
|
|
82
|
+
// lets each row be paired back to the option that built it.
|
|
83
|
+
/** #menuBuilder promotableRadioItems | `radioItems` plus a pin per option, from a factory over the value */
|
|
84
|
+
export function promotableRadioItems(options, current, setMode, pin) {
|
|
85
|
+
return radioItems(options, current, setMode).map((item, i) => {
|
|
86
|
+
const { value, label } = options[i];
|
|
87
|
+
return { ...item, pin: { control: pin(value), label } };
|
|
88
|
+
});
|
|
89
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ResolvableDisplay } from '../configuration/promotableResolve.ts';
|
|
2
|
+
import type { MenuItem } from './MenuTypes.ts';
|
|
3
|
+
import type { IAnyType } from '@jbrowse/mobx-state-tree';
|
|
4
|
+
/**
|
|
5
|
+
* The registered display types whose config schema declares a promotable slot,
|
|
6
|
+
* sorted — the set a pin-coverage check has to reach, answered off the
|
|
7
|
+
* `DisplayType`s themselves before anything is opened.
|
|
8
|
+
*
|
|
9
|
+
* The other half of the same gap `promotableSlotsWithoutPin` covers, and the
|
|
10
|
+
* half that has no symptom at all: that function reports on a display it was
|
|
11
|
+
* *given*, so a display type no fixture ever opens is not checked and does not
|
|
12
|
+
* say so. Six display types declaring `showLegend` sat outside the check's
|
|
13
|
+
* reach with nothing recording it.
|
|
14
|
+
*
|
|
15
|
+
* Takes the display types rather than a `PluginManager`, so core doesn't have
|
|
16
|
+
* to name a plugin registry to answer a question about config schemas.
|
|
17
|
+
*/
|
|
18
|
+
export declare function displayTypesWithPromotableSlots(displayTypes: readonly {
|
|
19
|
+
name: string;
|
|
20
|
+
configSchema: IAnyType;
|
|
21
|
+
}[]): string[];
|
|
22
|
+
/**
|
|
23
|
+
* Every promotable slot some row of `items` carries a pin for, submenus
|
|
24
|
+
* included.
|
|
25
|
+
*
|
|
26
|
+
* Reads `pin.control.slot` and nothing else. A raw `endAdornment` is
|
|
27
|
+
* deliberately not counted: it is an arbitrary element (synteny's colour
|
|
28
|
+
* swatch), so it cannot say which slot it promotes, and a pin built by hand
|
|
29
|
+
* rather than through `promotableToggleItem`/`promotableRadioItem` is a thing to
|
|
30
|
+
* find, not to accept.
|
|
31
|
+
*/
|
|
32
|
+
export declare function pinnedSlots(items: MenuItem[]): Set<string>;
|
|
33
|
+
/**
|
|
34
|
+
* A display's promotable slots that its own track menu offers no pin for,
|
|
35
|
+
* sorted. Empty is the healthy answer.
|
|
36
|
+
*
|
|
37
|
+
* Takes the built menu rather than calling `trackMenuItems()` itself, because
|
|
38
|
+
* what a menu contains depends on the display's current state — a row can be
|
|
39
|
+
* gated on a rendering type (wiggle line width), on a parent toggle (the sashimi
|
|
40
|
+
* options), or on data having arrived. A caller that wants the whole surface has
|
|
41
|
+
* to drive the display into the states that reveal it, and that is a decision
|
|
42
|
+
* this function should not make silently.
|
|
43
|
+
*/
|
|
44
|
+
export declare function promotableSlotsWithoutPin(display: ResolvableDisplay, menuItems: MenuItem[]): string[];
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* The read side of the promotable pin: given a display, which of its promotable
|
|
4
|
+
* slots its track menu actually offers a pin for.
|
|
5
|
+
*
|
|
6
|
+
* This exists because the two halves of the feature are declared in different
|
|
7
|
+
* places and nothing joins them. Declaring `promotedBase` is a **schema** fact
|
|
8
|
+
* that travels down `baseConfiguration` to every subclass; the pin is a **menu**
|
|
9
|
+
* fact, built by whichever `trackMenuItems()` happens to construct a row for that
|
|
10
|
+
* slot. A display that inherits the slot and curates its own menu therefore ends
|
|
11
|
+
* up with a promotable slot that has no pin anywhere — and since a promoted default
|
|
12
|
+
* is keyed by *display type*, no other display's pin can write its key either, so
|
|
13
|
+
* the slot resolves to `promotedBase` forever unless a track customizes it.
|
|
14
|
+
*
|
|
15
|
+
* Nothing throws, nothing renders differently, and the config docs go on
|
|
16
|
+
* advertising the setting as having a session-wide default. The state was tracked
|
|
17
|
+
* by hand in `agent-docs/reference/DISPLAY_TYPE_DEFAULTS.md` and drifted twice
|
|
18
|
+
* before this was written — once gaining a row for a slot that had been deleted,
|
|
19
|
+
* once missing a slot that had been added.
|
|
20
|
+
*
|
|
21
|
+
* `products/jbrowse-web/src/tests/PromotablePinCoverage.test.ts` is the guard: it
|
|
22
|
+
* opens one display of every type that declares a promotable slot and holds the
|
|
23
|
+
* result against a baseline.
|
|
24
|
+
*/
|
|
25
|
+
import { promotableSlotNames } from '../configuration/promotableSlots.js';
|
|
26
|
+
/**
|
|
27
|
+
* The registered display types whose config schema declares a promotable slot,
|
|
28
|
+
* sorted — the set a pin-coverage check has to reach, answered off the
|
|
29
|
+
* `DisplayType`s themselves before anything is opened.
|
|
30
|
+
*
|
|
31
|
+
* The other half of the same gap `promotableSlotsWithoutPin` covers, and the
|
|
32
|
+
* half that has no symptom at all: that function reports on a display it was
|
|
33
|
+
* *given*, so a display type no fixture ever opens is not checked and does not
|
|
34
|
+
* say so. Six display types declaring `showLegend` sat outside the check's
|
|
35
|
+
* reach with nothing recording it.
|
|
36
|
+
*
|
|
37
|
+
* Takes the display types rather than a `PluginManager`, so core doesn't have
|
|
38
|
+
* to name a plugin registry to answer a question about config schemas.
|
|
39
|
+
*/
|
|
40
|
+
export function displayTypesWithPromotableSlots(displayTypes) {
|
|
41
|
+
return displayTypes
|
|
42
|
+
.filter(d => promotableSlotNames(d.configSchema).size > 0)
|
|
43
|
+
.map(d => d.name)
|
|
44
|
+
.sort((a, b) => a.localeCompare(b));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Every promotable slot some row of `items` carries a pin for, submenus
|
|
48
|
+
* included.
|
|
49
|
+
*
|
|
50
|
+
* Reads `pin.control.slot` and nothing else. A raw `endAdornment` is
|
|
51
|
+
* deliberately not counted: it is an arbitrary element (synteny's colour
|
|
52
|
+
* swatch), so it cannot say which slot it promotes, and a pin built by hand
|
|
53
|
+
* rather than through `promotableToggleItem`/`promotableRadioItem` is a thing to
|
|
54
|
+
* find, not to accept.
|
|
55
|
+
*/
|
|
56
|
+
export function pinnedSlots(items) {
|
|
57
|
+
const found = new Set();
|
|
58
|
+
const walk = (list) => {
|
|
59
|
+
for (const item of list) {
|
|
60
|
+
if ('pin' in item && item.pin) {
|
|
61
|
+
found.add(item.pin.control.slot);
|
|
62
|
+
}
|
|
63
|
+
if ('subMenu' in item) {
|
|
64
|
+
walk(item.subMenu);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
walk(items);
|
|
69
|
+
return found;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A display's promotable slots that its own track menu offers no pin for,
|
|
73
|
+
* sorted. Empty is the healthy answer.
|
|
74
|
+
*
|
|
75
|
+
* Takes the built menu rather than calling `trackMenuItems()` itself, because
|
|
76
|
+
* what a menu contains depends on the display's current state — a row can be
|
|
77
|
+
* gated on a rendering type (wiggle line width), on a parent toggle (the sashimi
|
|
78
|
+
* options), or on data having arrived. A caller that wants the whole surface has
|
|
79
|
+
* to drive the display into the states that reveal it, and that is a decision
|
|
80
|
+
* this function should not make silently.
|
|
81
|
+
*/
|
|
82
|
+
export function promotableSlotsWithoutPin(display, menuItems) {
|
|
83
|
+
const pinned = pinnedSlots(menuItems);
|
|
84
|
+
return [...promotableSlotNames(display.configuration)]
|
|
85
|
+
.filter(slot => !pinned.has(slot))
|
|
86
|
+
.sort((a, b) => a.localeCompare(b));
|
|
87
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { MenuItem } from './MenuTypes.ts';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Build a radio submenu from a `[value, label]` option table keyed on the
|
|
5
|
+
* current `value`. Lets a display keep one option table as the single source of
|
|
6
|
+
* truth for both its config enumeration and its track menu, so the two can't
|
|
7
|
+
* drift. Generic over the value's string-literal union. `extraItems` are
|
|
8
|
+
* appended after the radios (e.g. a related checkbox) within the same submenu.
|
|
9
|
+
*
|
|
10
|
+
* Every display has a submenu of this shape naming the one thing it draws —
|
|
11
|
+
* wiggle's "Plot type", MAF's "Row coloring", Hi-C's "Color scheme", the arc
|
|
12
|
+
* display's "Display mode". The labels stay display-specific (they name
|
|
13
|
+
* genuinely different choices); the construction is shared so a hand-rolled
|
|
14
|
+
* copy can't forget that a settings row keeps the menu open.
|
|
15
|
+
*
|
|
16
|
+
* React-free: `React.ElementType` is a type-only import, so this stays inside
|
|
17
|
+
* the `menuItems.ts` purity boundary.
|
|
18
|
+
*/
|
|
19
|
+
/** #menuBuilder makeRadioSubMenu | a radio group wrapped in a submenu row */
|
|
20
|
+
export declare function makeRadioSubMenu<T extends string>(opts: {
|
|
21
|
+
label: string;
|
|
22
|
+
icon?: React.ElementType;
|
|
23
|
+
value: T;
|
|
24
|
+
onChange: (value: T) => void;
|
|
25
|
+
options: readonly (readonly [T, string])[];
|
|
26
|
+
extraItems?: MenuItem[];
|
|
27
|
+
/**
|
|
28
|
+
* Prose for the group, on the row that opens it. One "?" here rather than one
|
|
29
|
+
* per radio, which is where a group whose options differ by a word each would
|
|
30
|
+
* otherwise repeat itself three times.
|
|
31
|
+
*/
|
|
32
|
+
helpText?: string;
|
|
33
|
+
}): MenuItem;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { radioItems } from './toggleMenuItems.js';
|
|
2
|
+
/**
|
|
3
|
+
* Build a radio submenu from a `[value, label]` option table keyed on the
|
|
4
|
+
* current `value`. Lets a display keep one option table as the single source of
|
|
5
|
+
* truth for both its config enumeration and its track menu, so the two can't
|
|
6
|
+
* drift. Generic over the value's string-literal union. `extraItems` are
|
|
7
|
+
* appended after the radios (e.g. a related checkbox) within the same submenu.
|
|
8
|
+
*
|
|
9
|
+
* Every display has a submenu of this shape naming the one thing it draws —
|
|
10
|
+
* wiggle's "Plot type", MAF's "Row coloring", Hi-C's "Color scheme", the arc
|
|
11
|
+
* display's "Display mode". The labels stay display-specific (they name
|
|
12
|
+
* genuinely different choices); the construction is shared so a hand-rolled
|
|
13
|
+
* copy can't forget that a settings row keeps the menu open.
|
|
14
|
+
*
|
|
15
|
+
* React-free: `React.ElementType` is a type-only import, so this stays inside
|
|
16
|
+
* the `menuItems.ts` purity boundary.
|
|
17
|
+
*/
|
|
18
|
+
/** #menuBuilder makeRadioSubMenu | a radio group wrapped in a submenu row */
|
|
19
|
+
export function makeRadioSubMenu(opts) {
|
|
20
|
+
const { label, icon, value, onChange, options, extraItems = [] } = opts;
|
|
21
|
+
return {
|
|
22
|
+
label,
|
|
23
|
+
icon,
|
|
24
|
+
helpText: opts.helpText,
|
|
25
|
+
subMenu: [
|
|
26
|
+
// via radioItems so these keep the menu open like every other
|
|
27
|
+
// setting row — a plot type is usually picked by trying a couple
|
|
28
|
+
...radioItems(options.map(([value, label]) => ({ value, label })), value, onChange),
|
|
29
|
+
...extraItems,
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
package/esm/ui/react-colorful.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
// vendored (e.g. copied into our source tree) because the tooling picks up "import" statements that confuse jest, could confuse other consumers of our modules
|
|
4
|
+
// copy of react-colorful/dist/index.esmodule.js
|
|
5
|
+
import e, { useState as a, useCallback as l, useLayoutEffect as n, useEffect as o, useRef as r, useMemo as t, } from 'react';
|
|
2
6
|
function s() {
|
|
3
7
|
return (s =
|
|
4
8
|
Object.assign ||
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AbstractViewContainer, AbstractViewModel } from '../util/types/index.ts';
|
|
2
|
+
import type { SubmitFormProps } from './SubmitForm.tsx';
|
|
3
|
+
/**
|
|
4
|
+
* The two destinations a launch dialog offers, as `SubmitDialog` props: Submit
|
|
5
|
+
* opens the launched view in a new one, and a second button puts it in the slot
|
|
6
|
+
* the launching view occupies.
|
|
7
|
+
*
|
|
8
|
+
* Every launcher anchored on what a view is already showing — the synteny
|
|
9
|
+
* launches, "read vs ref", the derivative reconstruction — wants exactly this
|
|
10
|
+
* pair, and each had written the same four lines around
|
|
11
|
+
* {@link ReplaceCurrentViewButton}: the guard, the button, its disabled state,
|
|
12
|
+
* and the renaming of Submit that only makes sense once there are two buttons.
|
|
13
|
+
* The guard is the part worth having in one place; see {@link canReplaceView}
|
|
14
|
+
* for the case each copy got wrong.
|
|
15
|
+
*
|
|
16
|
+
* Spread it into the dialog *before* any explicit props, so a caller that words
|
|
17
|
+
* its own Submit differently still can:
|
|
18
|
+
*
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <SubmitDialog
|
|
21
|
+
* {...replaceViewAction({ session, sourceView, disabled, onReplace: launch })}
|
|
22
|
+
* submitText="Open in new view"
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function replaceViewAction({ session, sourceView, disabled, onReplace, }: {
|
|
27
|
+
session: AbstractViewContainer;
|
|
28
|
+
sourceView: AbstractViewModel | undefined;
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
onReplace: (replacing: AbstractViewModel) => void;
|
|
31
|
+
}): Pick<SubmitFormProps, 'submitText' | 'actions'>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { canReplaceView } from '../util/types/index.js';
|
|
3
|
+
import ReplaceCurrentViewButton from './ReplaceCurrentViewButton.js';
|
|
4
|
+
/**
|
|
5
|
+
* The two destinations a launch dialog offers, as `SubmitDialog` props: Submit
|
|
6
|
+
* opens the launched view in a new one, and a second button puts it in the slot
|
|
7
|
+
* the launching view occupies.
|
|
8
|
+
*
|
|
9
|
+
* Every launcher anchored on what a view is already showing — the synteny
|
|
10
|
+
* launches, "read vs ref", the derivative reconstruction — wants exactly this
|
|
11
|
+
* pair, and each had written the same four lines around
|
|
12
|
+
* {@link ReplaceCurrentViewButton}: the guard, the button, its disabled state,
|
|
13
|
+
* and the renaming of Submit that only makes sense once there are two buttons.
|
|
14
|
+
* The guard is the part worth having in one place; see {@link canReplaceView}
|
|
15
|
+
* for the case each copy got wrong.
|
|
16
|
+
*
|
|
17
|
+
* Spread it into the dialog *before* any explicit props, so a caller that words
|
|
18
|
+
* its own Submit differently still can:
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <SubmitDialog
|
|
22
|
+
* {...replaceViewAction({ session, sourceView, disabled, onReplace: launch })}
|
|
23
|
+
* submitText="Open in new view"
|
|
24
|
+
* />
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function replaceViewAction({ session, sourceView, disabled, onReplace, }) {
|
|
28
|
+
return canReplaceView(session, sourceView)
|
|
29
|
+
? {
|
|
30
|
+
// named only when there is a second way out to tell it apart from —
|
|
31
|
+
// otherwise Submit is the only button and "Submit" is what it has
|
|
32
|
+
// always said
|
|
33
|
+
submitText: 'Open in new view',
|
|
34
|
+
actions: (_jsx(ReplaceCurrentViewButton, { disabled: disabled, onClick: () => {
|
|
35
|
+
onReplace(sourceView);
|
|
36
|
+
} })),
|
|
37
|
+
}
|
|
38
|
+
: {};
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function rewriteExternalAnchors(el: HTMLElement): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Harden anchors in sanitized HTML: open in a new tab without leaking the
|
|
2
|
+
// opener reference. Shared by the setHTML and dompurify sanitizer paths.
|
|
3
|
+
export function rewriteExternalAnchors(el) {
|
|
4
|
+
for (const a of el.querySelectorAll('a')) {
|
|
5
|
+
a.setAttribute('rel', 'noopener noreferrer');
|
|
6
|
+
a.setAttribute('target', '_blank');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The preference's name. One string, because it had four spellings across three
|
|
3
|
+
* headers and a menu, and a user who meets it twice has to recognize it as the
|
|
4
|
+
* same thing.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SCROLL_ZOOM_LABEL = "Zoom on scroll";
|
|
7
|
+
/**
|
|
8
|
+
* One paragraph doing two jobs: the control's tooltip and the menu item's help
|
|
9
|
+
* text. Short enough to hover, because it is the only explanation there is —
|
|
10
|
+
* nothing else on screen names the gesture.
|
|
11
|
+
*
|
|
12
|
+
* It names where the page still scrolls, which is the part users cannot guess:
|
|
13
|
+
* with this on, the wheel over a track is the view's, and no modifier takes it
|
|
14
|
+
* back — the browser turns shift+wheel into horizontal scroll, ctrl/meta+wheel
|
|
15
|
+
* is a trackpad pinch, and Firefox binds alt+wheel to history navigation.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SCROLL_ZOOM_HELP = "The mouse wheel zooms over the tracks instead of scrolling the page; the view header above them still scrolls. ctrl+scroll (\u2318+scroll on a Mac) zooms either way. Applies to every view in the app.";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// What every surface calls scroll-to-zoom, in a module with no React in it:
|
|
2
|
+
// LinearGenomeView's `menuItems.ts` is evaluated eagerly and must not pull a
|
|
3
|
+
// Material component graph in behind a pair of strings (see
|
|
4
|
+
// agent-docs/reference/EAGER_BUNDLE.md). The control that renders them is
|
|
5
|
+
// ScrollZoomToggle.
|
|
6
|
+
/**
|
|
7
|
+
* The preference's name. One string, because it had four spellings across three
|
|
8
|
+
* headers and a menu, and a user who meets it twice has to recognize it as the
|
|
9
|
+
* same thing.
|
|
10
|
+
*/
|
|
11
|
+
export const SCROLL_ZOOM_LABEL = 'Zoom on scroll';
|
|
12
|
+
/**
|
|
13
|
+
* One paragraph doing two jobs: the control's tooltip and the menu item's help
|
|
14
|
+
* text. Short enough to hover, because it is the only explanation there is —
|
|
15
|
+
* nothing else on screen names the gesture.
|
|
16
|
+
*
|
|
17
|
+
* It names where the page still scrolls, which is the part users cannot guess:
|
|
18
|
+
* with this on, the wheel over a track is the view's, and no modifier takes it
|
|
19
|
+
* back — the browser turns shift+wheel into horizontal scroll, ctrl/meta+wheel
|
|
20
|
+
* is a trackpad pinch, and Firefox binds alt+wheel to history navigation.
|
|
21
|
+
*/
|
|
22
|
+
export const SCROLL_ZOOM_HELP = 'The mouse wheel zooms over the tracks instead of scrolling the page; the view header above them still scrolls. ctrl+scroll (⌘+scroll on a Mac) zooms either way. Applies to every view in the app.';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MenuItem } from './MenuTypes.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The "Show..." submenu every display groups its visibility toggles under, and
|
|
4
|
+
* the empty-omit that goes with it: a display whose toggles are all
|
|
5
|
+
* inapplicable right now (wiggle in density mode with no cross hatches, a
|
|
6
|
+
* multi-row painting with no legend) drops the row rather than opening an empty
|
|
7
|
+
* submenu.
|
|
8
|
+
*
|
|
9
|
+
* One helper because this was eleven hand-written literals that had already
|
|
10
|
+
* drifted three ways: the wiggle family said `'Show'` where everyone else said
|
|
11
|
+
* `'Show...'`, only some set the redundant `type: 'subMenu'`, and only the
|
|
12
|
+
* wiggle family omitted the empty submenu.
|
|
13
|
+
*
|
|
14
|
+
* Not exported from `ui/menuItems.ts`: the icon is a value import, and that
|
|
15
|
+
* entry is the React-free one (see its header). Import this module directly —
|
|
16
|
+
* `@jbrowse/core/ui/showSubMenu` — which costs one icon rather than the
|
|
17
|
+
* `@jbrowse/core/ui` barrel's ~80 Material components.
|
|
18
|
+
*/
|
|
19
|
+
export declare function makeShowSubMenu(items: MenuItem[]): MenuItem[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import VisibilityIcon from '@mui/icons-material/Visibility';
|
|
2
|
+
/**
|
|
3
|
+
* The "Show..." submenu every display groups its visibility toggles under, and
|
|
4
|
+
* the empty-omit that goes with it: a display whose toggles are all
|
|
5
|
+
* inapplicable right now (wiggle in density mode with no cross hatches, a
|
|
6
|
+
* multi-row painting with no legend) drops the row rather than opening an empty
|
|
7
|
+
* submenu.
|
|
8
|
+
*
|
|
9
|
+
* One helper because this was eleven hand-written literals that had already
|
|
10
|
+
* drifted three ways: the wiggle family said `'Show'` where everyone else said
|
|
11
|
+
* `'Show...'`, only some set the redundant `type: 'subMenu'`, and only the
|
|
12
|
+
* wiggle family omitted the empty submenu.
|
|
13
|
+
*
|
|
14
|
+
* Not exported from `ui/menuItems.ts`: the icon is a value import, and that
|
|
15
|
+
* entry is the React-free one (see its header). Import this module directly —
|
|
16
|
+
* `@jbrowse/core/ui/showSubMenu` — which costs one icon rather than the
|
|
17
|
+
* `@jbrowse/core/ui` barrel's ~80 Material components.
|
|
18
|
+
*/
|
|
19
|
+
export function makeShowSubMenu(items) {
|
|
20
|
+
return items.length
|
|
21
|
+
? [
|
|
22
|
+
{
|
|
23
|
+
label: 'Show...',
|
|
24
|
+
icon: VisibilityIcon,
|
|
25
|
+
type: 'subMenu',
|
|
26
|
+
subMenu: items,
|
|
27
|
+
},
|
|
28
|
+
]
|
|
29
|
+
: [];
|
|
30
|
+
}
|