@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,168 @@
|
|
|
1
|
+
import BaseResult, { RefSequenceResult } from '../../TextSearch/BaseResults.js';
|
|
2
|
+
import { measureText } from '../../util/index.js';
|
|
3
|
+
import { MAX_GLOB_REGIONS, matchRefNames, } from '../../util/selectNamedRegions.js';
|
|
4
|
+
// Above the 13.71px the TextField renders at, and left there deliberately. The
|
|
5
|
+
// table is Helvetica's and the box draws in Roboto, so measuring the value at 14
|
|
6
|
+
// comes out about 3% over what the browser paints — `ctgA:1..20,000` measures
|
|
7
|
+
// 90.04 against a drawn 87.74 — and that margin is what lets the reserves below
|
|
8
|
+
// be the chrome's exact width rather than a padded guess.
|
|
9
|
+
const INPUT_FONT_SIZE = 14;
|
|
10
|
+
// What the box spends on everything that is not the locstring, less the ⋮
|
|
11
|
+
// button: the search icon (17), the adornment's right margin (7), and the input
|
|
12
|
+
// padding and border (20). Measured in a built jbrowse-web, where
|
|
13
|
+
// `products/jbrowse-web/browser-tests/probe-lgv-header-fit.ts` prints the box
|
|
14
|
+
// decomposed — adding MUI's documented defaults up instead is what had this
|
|
15
|
+
// reserving 100 for a 71px chrome, so every box stood 29px wider than its
|
|
16
|
+
// contents.
|
|
17
|
+
const ADORNMENT_RESERVE_PX = 44;
|
|
18
|
+
// The ⋮ IconButton, only reserved when it is actually drawn
|
|
19
|
+
const OVERFLOW_BUTTON_RESERVE_PX = 27;
|
|
20
|
+
// quantize the computed width to this step so short locstring length changes (a
|
|
21
|
+
// digit/comma appearing while panning/zooming) don't reflow the box and jitter
|
|
22
|
+
// the surrounding header; also gives short values a little pleasant slack
|
|
23
|
+
const WIDTH_STEP_PX = 30;
|
|
24
|
+
// MUI Autocomplete is not virtualized, so a broad query that returns thousands
|
|
25
|
+
// of hits would render thousands of DOM nodes; cap the visible list instead
|
|
26
|
+
const MAX_OPTIONS = 100;
|
|
27
|
+
export function cap(options) {
|
|
28
|
+
return options.length > MAX_OPTIONS
|
|
29
|
+
? [
|
|
30
|
+
...options.slice(0, MAX_OPTIONS),
|
|
31
|
+
{
|
|
32
|
+
isLimit: true,
|
|
33
|
+
result: new BaseResult({ label: 'keep typing for more results' }),
|
|
34
|
+
},
|
|
35
|
+
]
|
|
36
|
+
: options;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* One option carrying every match as a whitespace-separated locstring — the
|
|
40
|
+
* multi-region form the box already accepts, and the form it already displays
|
|
41
|
+
* once a view holds more than one region. So picking it takes exactly the path
|
|
42
|
+
* typing those names by hand takes (`parseLocStrings` → `navToLocations` →
|
|
43
|
+
* `setDisplayedRegions` + `showAllRegions`), and there is no bulk-navigation
|
|
44
|
+
* code anywhere to keep in step with the single-region kind.
|
|
45
|
+
*
|
|
46
|
+
* It goes first in the list, and it is the reason a glob belongs in the picker
|
|
47
|
+
* rather than in the locstring parser: the set is on screen, and counted, before
|
|
48
|
+
* it is committed to. A pattern typed straight at the parser would resolve to
|
|
49
|
+
* however many regions it happened to match, sight unseen.
|
|
50
|
+
*/
|
|
51
|
+
function selectAllOption(matches, pattern) {
|
|
52
|
+
return {
|
|
53
|
+
result: new BaseResult({
|
|
54
|
+
label: `Show all ${matches.length} regions matching ${pattern}`,
|
|
55
|
+
locString: matches.join(' '),
|
|
56
|
+
}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The refName the typed text names outright, canonicalized — or undefined.
|
|
61
|
+
*
|
|
62
|
+
* Reading the name out of `allRefNames` before canonicalizing is what keeps
|
|
63
|
+
* `getCanonicalRefName`, which throws before aliases load, off a name the
|
|
64
|
+
* assembly never listed.
|
|
65
|
+
*/
|
|
66
|
+
function literalRefName(assembly, inputValue) {
|
|
67
|
+
const query = inputValue.toLowerCase();
|
|
68
|
+
const named = assembly?.allRefNames?.find(n => n.toLowerCase() === query);
|
|
69
|
+
return named === undefined
|
|
70
|
+
? undefined
|
|
71
|
+
: (assembly?.getCanonicalRefName(named) ?? named);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The browse/pre-fetch fallback list, shown while a typed query is in flight and
|
|
75
|
+
* when it comes back empty (typed queries otherwise resolve through
|
|
76
|
+
* fetchResults).
|
|
77
|
+
*
|
|
78
|
+
* The matching itself is `matchRefNames`, in core beside the glob semantics,
|
|
79
|
+
* because Enter answers for the same typed text and the two must not each grow
|
|
80
|
+
* their own reading of it. What is left here is presentation: how many rows to
|
|
81
|
+
* materialize, and the bulk row.
|
|
82
|
+
*
|
|
83
|
+
* **AN EXACT REFNAME BEATS THE GLOB READING here too**, the rule
|
|
84
|
+
* `selectNamedRegions` states and `searchUtils` orders its glob branch after.
|
|
85
|
+
* `*` is a legal refName character and GRCh38's ALT decoys are HLA allele names,
|
|
86
|
+
* so `HLA-A*01:01:01:01` is a contig somebody typed in full — offering "Show all
|
|
87
|
+
* 4 regions matching HLA-A*01:01:01:01" above it is the box promising a set that
|
|
88
|
+
* Enter, on the same text, does not open. The individual matches still list: the
|
|
89
|
+
* pattern reading is not wrong, it is just not what leads.
|
|
90
|
+
*
|
|
91
|
+
* A glob may gather up to MAX_GLOB_REGIONS for that bulk row; a plain query
|
|
92
|
+
* never needs more than the visible list, so it keeps the tighter bound and the
|
|
93
|
+
* cost it always had. Collecting one past MAX_OPTIONS is what lets `cap` render
|
|
94
|
+
* its "keep typing" hint.
|
|
95
|
+
*/
|
|
96
|
+
export function getRefNameOptions(assembly, inputValue) {
|
|
97
|
+
const literal = literalRefName(assembly, inputValue);
|
|
98
|
+
const isGlob = literal === undefined && inputValue.includes('*');
|
|
99
|
+
const matches = matchRefNames(assembly, inputValue, isGlob ? MAX_GLOB_REGIONS : MAX_OPTIONS);
|
|
100
|
+
// hoisted only when the scan actually reached it — past the ceiling
|
|
101
|
+
// `matchRefNames` stops early, and a name with no region behind it is not an
|
|
102
|
+
// option anyone can pick
|
|
103
|
+
const ordered = literal !== undefined && matches.includes(literal)
|
|
104
|
+
? [literal, ...matches.filter(refName => refName !== literal)]
|
|
105
|
+
: matches;
|
|
106
|
+
const options = ordered.slice(0, MAX_OPTIONS + 1).map(refName => ({
|
|
107
|
+
result: new RefSequenceResult({ refName, label: refName }),
|
|
108
|
+
}));
|
|
109
|
+
return isGlob && matches.length > 1 && matches.length <= MAX_GLOB_REGIONS
|
|
110
|
+
? [selectAllOption(matches, inputValue), ...options]
|
|
111
|
+
: options;
|
|
112
|
+
}
|
|
113
|
+
// group hits sharing a display string into a single multi-result option (the
|
|
114
|
+
// picker pops a dialog), leaving unique hits as plain options
|
|
115
|
+
export function getDeduplicatedResult(results) {
|
|
116
|
+
const m = new Map();
|
|
117
|
+
for (const result of results) {
|
|
118
|
+
const key = result.getDisplayString();
|
|
119
|
+
const dupes = m.get(key);
|
|
120
|
+
if (dupes) {
|
|
121
|
+
dupes.push(result);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
m.set(key, [result]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return [...m].map(([displayString, dupes]) => dupes.length === 1
|
|
128
|
+
? { result: dupes[0] }
|
|
129
|
+
: {
|
|
130
|
+
result: new BaseResult({
|
|
131
|
+
displayString,
|
|
132
|
+
results: dupes,
|
|
133
|
+
label: displayString,
|
|
134
|
+
}),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
// MUI freeSolo hands back the raw typed string when nothing in the list is
|
|
138
|
+
// selected; wrap it so callers always get a BaseResult
|
|
139
|
+
export function coerceToResult(option) {
|
|
140
|
+
return typeof option === 'string'
|
|
141
|
+
? new BaseResult({ label: option })
|
|
142
|
+
: option.result;
|
|
143
|
+
}
|
|
144
|
+
export function getOptionLabel(option) {
|
|
145
|
+
return typeof option === 'string' ? option : option.result.getDisplayString();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* What the end adornment occupies, and the number a caller passes as
|
|
149
|
+
* `adornmentWidth`.
|
|
150
|
+
*
|
|
151
|
+
* The ⋮ button is drawn for consumer-supplied rows as well as for the help one,
|
|
152
|
+
* so the reservation follows `menuItemCount || showHelp` — the same expression
|
|
153
|
+
* `EndAdornment` renders on. Both read it here rather than adding the constants
|
|
154
|
+
* up at the call site, which yields a box that has the button and is sized as
|
|
155
|
+
* if it did not.
|
|
156
|
+
*/
|
|
157
|
+
export function adornmentReservePx({ showHelp, menuItemCount = 0, }) {
|
|
158
|
+
return (ADORNMENT_RESERVE_PX +
|
|
159
|
+
(menuItemCount || showHelp ? OVERFLOW_BUTTON_RESERVE_PX : 0));
|
|
160
|
+
}
|
|
161
|
+
// sized to the committed locstring, not the in-progress typed text, so the box
|
|
162
|
+
// doesn't jitter while typing a long query. Quantized to WIDTH_STEP_PX so small
|
|
163
|
+
// length changes during navigation don't continuously reflow the box.
|
|
164
|
+
export function getInputWidth(value, minWidth, maxWidth, adornmentWidth = ADORNMENT_RESERVE_PX + OVERFLOW_BUTTON_RESERVE_PX) {
|
|
165
|
+
const raw = measureText(value, INPUT_FONT_SIZE) + adornmentWidth;
|
|
166
|
+
const stepped = Math.ceil(raw / WIDTH_STEP_PX) * WIDTH_STEP_PX;
|
|
167
|
+
return Math.min(Math.max(stepped, minWidth), maxWidth);
|
|
168
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The second way out of a launch dialog: put the view it builds in the slot the
|
|
3
|
+
* launching view occupies instead of appending it below. Offered by every launch
|
|
4
|
+
* that is anchored on what the current view is already showing — the synteny
|
|
5
|
+
* launches, "read vs ref" — where keeping both leaves two views of one place
|
|
6
|
+
* stacked and the taller of the two below the fold.
|
|
7
|
+
*
|
|
8
|
+
* Lives here rather than in one of those plugins because the gotcha it exists to
|
|
9
|
+
* carry belongs to `SubmitForm`, which is also here: an extra action is rendered
|
|
10
|
+
* inside that form, where an unset `type` means submit and one click would run
|
|
11
|
+
* BOTH actions.
|
|
12
|
+
*
|
|
13
|
+
* Pair it with `isSessionWithViewReplacement` — a session that cannot replace a
|
|
14
|
+
* view should not be offered the choice.
|
|
15
|
+
*/
|
|
16
|
+
export default function ReplaceCurrentViewButton({ disabled, onClick, }: {
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
onClick: () => void;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from '@mui/material';
|
|
3
|
+
/**
|
|
4
|
+
* The second way out of a launch dialog: put the view it builds in the slot the
|
|
5
|
+
* launching view occupies instead of appending it below. Offered by every launch
|
|
6
|
+
* that is anchored on what the current view is already showing — the synteny
|
|
7
|
+
* launches, "read vs ref" — where keeping both leaves two views of one place
|
|
8
|
+
* stacked and the taller of the two below the fold.
|
|
9
|
+
*
|
|
10
|
+
* Lives here rather than in one of those plugins because the gotcha it exists to
|
|
11
|
+
* carry belongs to `SubmitForm`, which is also here: an extra action is rendered
|
|
12
|
+
* inside that form, where an unset `type` means submit and one click would run
|
|
13
|
+
* BOTH actions.
|
|
14
|
+
*
|
|
15
|
+
* Pair it with `isSessionWithViewReplacement` — a session that cannot replace a
|
|
16
|
+
* view should not be offered the choice.
|
|
17
|
+
*/
|
|
18
|
+
export default function ReplaceCurrentViewButton({ disabled, onClick, }) {
|
|
19
|
+
return (_jsx(Button, { type: "button", variant: "contained", color: "primary", disabled: disabled, onClick: () => {
|
|
20
|
+
onClick();
|
|
21
|
+
}, children: "Replace current view" }));
|
|
22
|
+
}
|
package/esm/ui/ResizeHandle.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
declare function ResizeHandle({ onDrag, onDragStart, onDragEnd, vertical, bar, gain, className: originalClassName, onPointerDown, ...props }: {
|
|
3
|
+
onDrag: (distance: number) => void;
|
|
4
|
+
onDragStart?: () => void;
|
|
5
|
+
onDragEnd?: () => void;
|
|
4
6
|
vertical?: boolean;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
bar?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* How many px this handle moves per px of the value it drags — see
|
|
10
|
+
* `useResizeDrag`. Pass it when the value is shared by several stacked bands
|
|
11
|
+
* and this handle sits below more than one of them.
|
|
12
|
+
*/
|
|
13
|
+
gain?: number;
|
|
14
|
+
} & Omit<React.ComponentPropsWithoutRef<'div'>, 'onDrag' | 'onDragStart' | 'onDragEnd'>): React.JSX.Element;
|
|
9
15
|
export default ResizeHandle;
|
package/esm/ui/ResizeHandle.js
CHANGED
|
@@ -1,67 +1,54 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { cx, makeStyles } from '../util/tss-react/index.js';
|
|
3
|
+
import { useResizeDrag } from '../util/useResizeDrag.js';
|
|
4
|
+
// Two kinds of handle, one ladder of weight between them. A handle that draws
|
|
5
|
+
// nothing at rest reveals itself under the pointer at exactly the weight a
|
|
6
|
+
// visible one rests at (`action.disabled`); a visible one then goes past that,
|
|
7
|
+
// to `action.active` — the same resting/hover pair `VerticalScrollbar`'s thumb
|
|
8
|
+
// uses.
|
|
9
|
+
//
|
|
10
|
+
// `action.selected` (0.08 light / 0.16 dark) used to be the hover for both, and
|
|
11
|
+
// was too faint to answer "is this the thing I grab?" over a dense pileup — and
|
|
12
|
+
// on a `bar`, which rests at 0.26, it made the handle go *fainter* under the
|
|
13
|
+
// pointer, since `:hover` beats the plain class whatever the source order.
|
|
14
|
+
const useStyles = makeStyles()(theme => ({
|
|
5
15
|
horizontalHandle: {
|
|
6
16
|
cursor: 'row-resize',
|
|
7
17
|
width: '100%',
|
|
18
|
+
// stop the browser turning a touch-drag into a scroll/pan gesture so the
|
|
19
|
+
// pointer stream reaches us
|
|
20
|
+
touchAction: 'none',
|
|
21
|
+
'&:hover': { background: theme.palette.action.disabled },
|
|
8
22
|
},
|
|
9
23
|
verticalHandle: {
|
|
10
24
|
cursor: 'col-resize',
|
|
11
25
|
height: '100%',
|
|
26
|
+
touchAction: 'none',
|
|
27
|
+
'&:hover': { background: theme.palette.action.disabled },
|
|
12
28
|
},
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
function ResizeHandle({ onDrag, vertical = false, flexbox = false, className: originalClassName, onMouseDown, ...props }) {
|
|
23
|
-
const [mouseDragging, setMouseDragging] = useState(false);
|
|
24
|
-
const initialPosition = useRef(0);
|
|
25
|
-
const prevPos = useRef(0);
|
|
29
|
+
// `bar` opt-in: the standard always-visible resize divider used at the bottom
|
|
30
|
+
// (or side) of views and tracks. Other call sites stay invisible until hover.
|
|
31
|
+
bar: { '&:hover': { background: theme.palette.action.active } },
|
|
32
|
+
horizontalBar: { height: 4, background: theme.palette.action.disabled },
|
|
33
|
+
verticalBar: { width: 4, background: theme.palette.action.disabled },
|
|
34
|
+
}));
|
|
35
|
+
function ResizeHandle({ onDrag, onDragStart, onDragEnd, vertical = false, bar = false, gain, className: originalClassName, onPointerDown, ...props }) {
|
|
26
36
|
const { classes } = useStyles();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
window.addEventListener('mousemove', mouseMove, true);
|
|
44
|
-
window.addEventListener('mouseup', mouseUp, true);
|
|
45
|
-
return () => {
|
|
46
|
-
window.removeEventListener('mousemove', mouseMove, true);
|
|
47
|
-
window.removeEventListener('mouseup', mouseUp, true);
|
|
48
|
-
};
|
|
49
|
-
}, [mouseDragging, onDrag, getPosition]);
|
|
50
|
-
const handleMouseDown = useCallback((event) => {
|
|
51
|
-
event.preventDefault();
|
|
52
|
-
const pos = getPosition(event);
|
|
53
|
-
initialPosition.current = pos;
|
|
54
|
-
prevPos.current = pos;
|
|
55
|
-
setMouseDragging(true);
|
|
56
|
-
onMouseDown?.(event);
|
|
57
|
-
}, [getPosition, onMouseDown]);
|
|
58
|
-
const className = flexbox
|
|
59
|
-
? vertical
|
|
60
|
-
? classes.flexbox_verticalHandle
|
|
61
|
-
: classes.flexbox_horizontalHandle
|
|
62
|
-
: vertical
|
|
63
|
-
? classes.verticalHandle
|
|
64
|
-
: classes.horizontalHandle;
|
|
65
|
-
return (_jsx("div", { "data-resizer": "true", onMouseDown: handleMouseDown, className: cx(originalClassName, className), ...props }));
|
|
37
|
+
// The gesture, including the per-frame coalescing, the delta measurement and
|
|
38
|
+
// the `data-gesture-owner` marker that keeps ancestor drags (the LGV
|
|
39
|
+
// click-drag pan, MAF's drag-selection) off this press. All of it is published
|
|
40
|
+
// as a hook rather than living here, because an embedder drawing their own
|
|
41
|
+
// track divider needs exactly this and none of the styling below.
|
|
42
|
+
const handleProps = useResizeDrag({
|
|
43
|
+
onDrag,
|
|
44
|
+
onDragStart,
|
|
45
|
+
onDragEnd,
|
|
46
|
+
vertical,
|
|
47
|
+
gain,
|
|
48
|
+
});
|
|
49
|
+
return (_jsx("div", { ...props, className: cx(originalClassName, vertical ? classes.verticalHandle : classes.horizontalHandle, bar && classes.bar, bar && (vertical ? classes.verticalBar : classes.horizontalBar)), ...handleProps, onPointerDown: event => {
|
|
50
|
+
handleProps.onPointerDown(event);
|
|
51
|
+
onPointerDown?.(event);
|
|
52
|
+
} }));
|
|
66
53
|
}
|
|
67
54
|
export default ResizeHandle;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DialogContentText } from '@mui/material';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import
|
|
4
|
+
import ConfirmDialog from './ConfirmDialog.js';
|
|
5
5
|
const ReturnToImportFormDialog = observer(function ReturnToImportFormDialog({ model, handleClose, }) {
|
|
6
|
-
return (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
handleClose();
|
|
11
|
-
}, color: "secondary", variant: "contained", children: "Cancel" })] })] }));
|
|
6
|
+
return (_jsx(ConfirmDialog, { open: true, title: "Return to import form?", onCancel: handleClose, onSubmit: () => {
|
|
7
|
+
model.clearView();
|
|
8
|
+
handleClose();
|
|
9
|
+
}, children: _jsx(DialogContentText, { children: "Are you sure you want to return to the import form? This will lose your current view." }) }));
|
|
12
10
|
});
|
|
13
11
|
export default ReturnToImportFormDialog;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface Element {
|
|
3
|
+
setHTML?(html: string): void;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
1
6
|
export default function SanitizedHTML({ html: pre, className, }: {
|
|
2
7
|
className?: string;
|
|
3
8
|
html: unknown;
|
|
4
|
-
}): import("react
|
|
9
|
+
}): import("react").JSX.Element;
|
package/esm/ui/SanitizedHTML.js
CHANGED
|
@@ -1,46 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Suspense, lazy, useLayoutEffect, useRef } from 'react';
|
|
3
|
-
import escapeHTML from '
|
|
4
|
-
import { linkify } from
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
'b',
|
|
8
|
-
'br',
|
|
9
|
-
'code',
|
|
10
|
-
'div',
|
|
11
|
-
'em',
|
|
12
|
-
'h1',
|
|
13
|
-
'h2',
|
|
14
|
-
'h3',
|
|
15
|
-
'h4',
|
|
16
|
-
'h5',
|
|
17
|
-
'h6',
|
|
18
|
-
'i',
|
|
19
|
-
'img',
|
|
20
|
-
'li',
|
|
21
|
-
'mark',
|
|
22
|
-
'p',
|
|
23
|
-
'pre',
|
|
24
|
-
'span',
|
|
25
|
-
'small',
|
|
26
|
-
'strong',
|
|
27
|
-
'table',
|
|
28
|
-
'tbody',
|
|
29
|
-
'sup',
|
|
30
|
-
'sub',
|
|
31
|
-
'td',
|
|
32
|
-
'tfoot',
|
|
33
|
-
'th',
|
|
34
|
-
'thead',
|
|
35
|
-
'tr',
|
|
36
|
-
'u',
|
|
37
|
-
'ul',
|
|
38
|
-
];
|
|
39
|
-
const DOMPurifySanitizedHTML = lazy(() => import("./DOMPurifySanitizedHTML.js"));
|
|
40
|
-
const full = new RegExp(htmlTags.map(tag => String.raw `<${tag}\b[^>]*>`).join('|'), 'i');
|
|
41
|
-
function isHTML(str) {
|
|
42
|
-
return full.test(str);
|
|
43
|
-
}
|
|
3
|
+
import { escapeHTML, looksLikeHTML } from '../util/htmlText.js';
|
|
4
|
+
import { linkify } from '../util/index.js';
|
|
5
|
+
import { rewriteExternalAnchors } from './rewriteExternalAnchors.js';
|
|
6
|
+
const DOMPurifySanitizedHTML = lazy(() => import('./DOMPurifySanitizedHTML.js'));
|
|
44
7
|
function needsSanitization(str) {
|
|
45
8
|
return str.includes('<') || str.includes('://');
|
|
46
9
|
}
|
|
@@ -50,11 +13,8 @@ function SetHTML({ value, className }) {
|
|
|
50
13
|
const el = spanRef.current;
|
|
51
14
|
if (el) {
|
|
52
15
|
try {
|
|
53
|
-
el.setHTML(value);
|
|
54
|
-
|
|
55
|
-
a.setAttribute('rel', 'noopener noreferrer');
|
|
56
|
-
a.setAttribute('target', '_blank');
|
|
57
|
-
}
|
|
16
|
+
el.setHTML?.(value);
|
|
17
|
+
rewriteExternalAnchors(el);
|
|
58
18
|
}
|
|
59
19
|
catch (e) {
|
|
60
20
|
console.error(e);
|
|
@@ -69,7 +29,7 @@ export default function SanitizedHTML({ html: pre, className, }) {
|
|
|
69
29
|
return _jsx("span", { className: className, children: str });
|
|
70
30
|
}
|
|
71
31
|
const html = linkify(str);
|
|
72
|
-
const value =
|
|
32
|
+
const value = looksLikeHTML(html) ? html : escapeHTML(html);
|
|
73
33
|
if (typeof Element !== 'undefined' && Element.prototype.setHTML) {
|
|
74
34
|
return _jsx(SetHTML, { value: value, className: className });
|
|
75
35
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "there is more content this way" edge shadow for a display that scrolls
|
|
3
|
+
* its content virtually — the same displays that mount `VerticalScrollbar`,
|
|
4
|
+
* drawn from the same three numbers.
|
|
5
|
+
*
|
|
6
|
+
* It answers a question the scrollbar technically also answers and in practice
|
|
7
|
+
* does not: **is this track showing me all of its features?** A 6px thumb on a
|
|
8
|
+
* dense track is missed even by someone looking for it — GMOD/jbrowse-components#5589,
|
|
9
|
+
* and the figure review that read `k562_bcr_abl_split` past a scrolled-away
|
|
10
|
+
* pileup twice.
|
|
11
|
+
*
|
|
12
|
+
* Two properties are what keep it from being noise, and both are worth keeping
|
|
13
|
+
* if this is ever restyled:
|
|
14
|
+
*
|
|
15
|
+
* - **It costs nothing when nothing is hidden.** No content past an edge, no
|
|
16
|
+
* fade at that edge; a track that fits draws neither. So it is a readout of
|
|
17
|
+
* state, not a decoration — which a recoloured bottom border could not be
|
|
18
|
+
* (and which would also need `showTrackOutlines`, an option the user can turn
|
|
19
|
+
* off, to have a border to recolour).
|
|
20
|
+
* - **It says which way.** Scrolled to the bottom, the bottom fade goes and the
|
|
21
|
+
* top one appears, so "am I at the end" is answerable without scrolling.
|
|
22
|
+
*
|
|
23
|
+
* Shadowing with ink rather than dissolving the content into the track's own
|
|
24
|
+
* background is a decision, not the obvious default, and the reason is the
|
|
25
|
+
* sparse case: a dissolve over empty background is background-over-background,
|
|
26
|
+
* so a track whose last visible strip happens to be blank — with rows below it —
|
|
27
|
+
* is marked by nothing at all. Ink marks the edge whatever is under it. The cost
|
|
28
|
+
* is that the dark theme's white ink brightens the last row of a dense pileup
|
|
29
|
+
* rather than darkening it; both were drawn and compared, and covering the
|
|
30
|
+
* sparse case won.
|
|
31
|
+
*
|
|
32
|
+
* The actionable half lives in the bottom-right corner (`TrackHeightIndicator`
|
|
33
|
+
* — autogrow/fit, and the truncation warning for features that were dropped
|
|
34
|
+
* rather than merely scrolled away). This says *that*; that says *what to do*.
|
|
35
|
+
*/
|
|
36
|
+
export default function ScrollEdgeShadow({ scrollTop, viewportHeight, contentHeight, top, }: {
|
|
37
|
+
scrollTop: number;
|
|
38
|
+
/** the visible viewport height */
|
|
39
|
+
viewportHeight: number;
|
|
40
|
+
/** the full scrollable content height */
|
|
41
|
+
contentHeight: number;
|
|
42
|
+
/** viewport offset from the top, for a display with a sticky band above it */
|
|
43
|
+
top?: number;
|
|
44
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { clamp } from '../util/numericUtils.js';
|
|
3
|
+
import { makeStyles } from '../util/tss-react/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* How deep each edge fade is. Enough to read as a soft edge under the content
|
|
6
|
+
* rather than as a rule, not so deep that it dims a whole row (the shortest row
|
|
7
|
+
* a display draws is ~7px in its most compact mode).
|
|
8
|
+
*/
|
|
9
|
+
const SHADOW_HEIGHT = 16;
|
|
10
|
+
/**
|
|
11
|
+
* Sub-pixel slack before an edge counts as scrolled away from. A fit/grow mode
|
|
12
|
+
* scale leaves float epsilon in `contentHeight`, and without this a track that
|
|
13
|
+
* exactly fits draws a permanent bottom fade — the one thing this must never
|
|
14
|
+
* do, since "nothing is hidden" is the state it exists to distinguish.
|
|
15
|
+
*
|
|
16
|
+
* `VerticalScrollbar` has no equivalent and so still draws a full-height thumb
|
|
17
|
+
* on that same sub-pixel overflow. Deliberately not lifted there: a thumb
|
|
18
|
+
* filling its track reads as "nothing to scroll", where a permanent fade reads
|
|
19
|
+
* as "something is hidden" — the wrong answer rather than a redundant one.
|
|
20
|
+
*/
|
|
21
|
+
const EPSILON = 0.5;
|
|
22
|
+
const useStyles = makeStyles()(theme => {
|
|
23
|
+
// The ink flips with the theme, and has to: a black shadow is invisible on
|
|
24
|
+
// the dark theme's #121212 canvas, which is the same trap the scrollbar thumb
|
|
25
|
+
// hit before it became theme-aware.
|
|
26
|
+
const ink = theme.palette.mode === 'dark' ? '255,255,255' : '0,0,0';
|
|
27
|
+
// 0.18, down from the 0.3 this shipped at: over a dense pileup the deep end
|
|
28
|
+
// of the ramp read as a band of its own and drew the eye before the features
|
|
29
|
+
// did, which inverts what it is for. It only has to be findable when someone
|
|
30
|
+
// asks "is that everything?", not noticeable when nobody asked.
|
|
31
|
+
const from = `rgba(${ink},0.18)`;
|
|
32
|
+
// NOT the `transparent` keyword, which is transparent BLACK: interpolating to
|
|
33
|
+
// it puts a grey cast through the middle of the ramp, and on the dark theme's
|
|
34
|
+
// white ink that is the whole ramp.
|
|
35
|
+
const to = `rgba(${ink},0)`;
|
|
36
|
+
return {
|
|
37
|
+
edge: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
left: 0,
|
|
40
|
+
right: 0,
|
|
41
|
+
pointerEvents: 'none',
|
|
42
|
+
},
|
|
43
|
+
top: { background: `linear-gradient(to bottom, ${from}, ${to})` },
|
|
44
|
+
bottom: { background: `linear-gradient(to top, ${from}, ${to})` },
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* The "there is more content this way" edge shadow for a display that scrolls
|
|
49
|
+
* its content virtually — the same displays that mount `VerticalScrollbar`,
|
|
50
|
+
* drawn from the same three numbers.
|
|
51
|
+
*
|
|
52
|
+
* It answers a question the scrollbar technically also answers and in practice
|
|
53
|
+
* does not: **is this track showing me all of its features?** A 6px thumb on a
|
|
54
|
+
* dense track is missed even by someone looking for it — GMOD/jbrowse-components#5589,
|
|
55
|
+
* and the figure review that read `k562_bcr_abl_split` past a scrolled-away
|
|
56
|
+
* pileup twice.
|
|
57
|
+
*
|
|
58
|
+
* Two properties are what keep it from being noise, and both are worth keeping
|
|
59
|
+
* if this is ever restyled:
|
|
60
|
+
*
|
|
61
|
+
* - **It costs nothing when nothing is hidden.** No content past an edge, no
|
|
62
|
+
* fade at that edge; a track that fits draws neither. So it is a readout of
|
|
63
|
+
* state, not a decoration — which a recoloured bottom border could not be
|
|
64
|
+
* (and which would also need `showTrackOutlines`, an option the user can turn
|
|
65
|
+
* off, to have a border to recolour).
|
|
66
|
+
* - **It says which way.** Scrolled to the bottom, the bottom fade goes and the
|
|
67
|
+
* top one appears, so "am I at the end" is answerable without scrolling.
|
|
68
|
+
*
|
|
69
|
+
* Shadowing with ink rather than dissolving the content into the track's own
|
|
70
|
+
* background is a decision, not the obvious default, and the reason is the
|
|
71
|
+
* sparse case: a dissolve over empty background is background-over-background,
|
|
72
|
+
* so a track whose last visible strip happens to be blank — with rows below it —
|
|
73
|
+
* is marked by nothing at all. Ink marks the edge whatever is under it. The cost
|
|
74
|
+
* is that the dark theme's white ink brightens the last row of a dense pileup
|
|
75
|
+
* rather than darkening it; both were drawn and compared, and covering the
|
|
76
|
+
* sparse case won.
|
|
77
|
+
*
|
|
78
|
+
* The actionable half lives in the bottom-right corner (`TrackHeightIndicator`
|
|
79
|
+
* — autogrow/fit, and the truncation warning for features that were dropped
|
|
80
|
+
* rather than merely scrolled away). This says *that*; that says *what to do*.
|
|
81
|
+
*/
|
|
82
|
+
export default function ScrollEdgeShadow({ scrollTop, viewportHeight, contentHeight, top = 0, }) {
|
|
83
|
+
const { classes, cx } = useStyles();
|
|
84
|
+
const scrollableHeight = Math.max(0, contentHeight - viewportHeight);
|
|
85
|
+
if (scrollableHeight <= 0) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const clamped = clamp(scrollTop, 0, scrollableHeight);
|
|
89
|
+
// never deeper than the viewport itself: the bottom edge is placed by
|
|
90
|
+
// subtracting this from the viewport's floor, so an unclamped SHADOW_HEIGHT
|
|
91
|
+
// on a viewport shorter than it puts the ink above the viewport's own top,
|
|
92
|
+
// over whatever pinned band the display stacked there. Reachable both ways —
|
|
93
|
+
// the variants displays floor availableHeight at 0 because lineZoneHeight can
|
|
94
|
+
// exceed the display height on its own, and the pileup's coverage band drags
|
|
95
|
+
// up to the same place.
|
|
96
|
+
const height = Math.min(SHADOW_HEIGHT, viewportHeight);
|
|
97
|
+
return (_jsxs(_Fragment, { children: [clamped > EPSILON ? (_jsx("div", { "data-testid": "scroll-edge-shadow-top", className: cx(classes.edge, classes.top), style: { top, height } })) : null, clamped < scrollableHeight - EPSILON ? (_jsx("div", { "data-testid": "scroll-edge-shadow-bottom", className: cx(classes.edge, classes.bottom), style: { top: top + viewportHeight - height, height } })) : null] }));
|
|
98
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a view reads and writes to offer scroll-to-zoom. Duck-typed rather than
|
|
3
|
+
* a model, like the rest of the wheel-zoom layer — every view here delegates
|
|
4
|
+
* both to the session, which is where the preference lives.
|
|
5
|
+
*/
|
|
6
|
+
export interface ScrollZoomToggleModel {
|
|
7
|
+
scrollZoom: boolean;
|
|
8
|
+
setScrollZoom: (flag: boolean) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The persistent control for scroll-to-zoom, shared by every view that has one.
|
|
12
|
+
*
|
|
13
|
+
* **Carries its own label.** Scroll-to-zoom is off by default, so a wheel over
|
|
14
|
+
* the tracks does nothing until someone finds this — and the words in the header
|
|
15
|
+
* are the whole of how they find it. An icon alone is not findable, whichever
|
|
16
|
+
* icon: the glyph says "zoom" at best and nothing at all about the wheel. The
|
|
17
|
+
* tooltip is where ctrl/⌘+scroll, which zooms whatever the preference says, is
|
|
18
|
+
* named.
|
|
19
|
+
*
|
|
20
|
+
* **And it pulses when the preference changes.** The other ways to write it are
|
|
21
|
+
* somewhere else on the screen — a view menu, the Preferences dialog — so the
|
|
22
|
+
* moment the setting is learned is also the moment this button is not being
|
|
23
|
+
* looked at. The ring is what connects the two: it says the thing you just
|
|
24
|
+
* turned on lives *here*, which is what a user who wants it back off has to
|
|
25
|
+
* know. Its own click pulses too — the answer to "where is this" should not
|
|
26
|
+
* depend on which of the several places wrote it, and the other views' copies
|
|
27
|
+
* of this button pulse with it, which is the preference being session-wide made
|
|
28
|
+
* visible.
|
|
29
|
+
*
|
|
30
|
+
* `iconOnly` is for a header where this sits inside a run of icon buttons (the
|
|
31
|
+
* comparative views), where a single labelled button reads as a mistake rather
|
|
32
|
+
* than as emphasis. The tooltip carries the same words either way.
|
|
33
|
+
*/
|
|
34
|
+
declare const ScrollZoomToggle: ({ model, iconOnly, }: {
|
|
35
|
+
model: ScrollZoomToggleModel;
|
|
36
|
+
iconOnly?: boolean;
|
|
37
|
+
}) => import("react").JSX.Element;
|
|
38
|
+
export default ScrollZoomToggle;
|