@jbrowse/core 4.2.1 → 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 +196 -55
- 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 -46
- 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 +352 -32
- package/esm/util/tracks.js +576 -194
- 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,39 @@
|
|
|
1
|
+
import type { Color } from './color-bits/index.ts';
|
|
2
|
+
import type { Feature } from './simpleFeature.ts';
|
|
3
|
+
export { alpha, blend, darken, formatHEX, formatHEXA, formatRGBA, getAlpha, getBlue, getGreen, getLuminance, getRed, lighten, newColor, parse, toHSLA, toRGBA, } from './color-bits/index.ts';
|
|
4
|
+
export type { Color } from './color-bits/index.ts';
|
|
5
|
+
/**
|
|
6
|
+
* One raw attribute value as a usable BED color, or undefined when it isn't
|
|
7
|
+
* one. Deliberately strict: this feeds an *automatic* coloring path, so a value
|
|
8
|
+
* is only claimed when it is unambiguously an in-range BED triple. Anything
|
|
9
|
+
* else — a hex string, a `reserved` column holding something that isn't a color
|
|
10
|
+
* at all — reads as absent and leaves the configured default alone, rather than
|
|
11
|
+
* rendering as the magenta invalid-color sentinel. Takes the raw value so it
|
|
12
|
+
* stays dependency-free and directly testable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function featureItemRgb(raw: unknown): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* The BED color a feature declares for itself, under either column name, or
|
|
17
|
+
* undefined if it declares none.
|
|
18
|
+
*/
|
|
19
|
+
export declare function featureBedColor(feature: Feature): string | undefined;
|
|
20
|
+
export declare function parseCssColorOr(color: string, fallback: Color): Color;
|
|
21
|
+
export declare function parseCssColor(color: string | undefined | null): number;
|
|
22
|
+
export declare function cssColorToNormalizedRgb(color: string): [number, number, number];
|
|
23
|
+
export declare function cssColorToRgb(color: string): [number, number, number];
|
|
24
|
+
export declare function cssColorToRgba(color: string): [number, number, number, number];
|
|
25
|
+
export declare function packAbgr(r: number, g: number, b: number, a: number): number;
|
|
26
|
+
export declare function cssColorToABGR(color: string): number;
|
|
27
|
+
export declare function withAbgrAlpha(c: number, a: number): number;
|
|
28
|
+
export declare function normalizedRgbToABGR(r: number, g: number, b: number): number;
|
|
29
|
+
export declare function normalizedRgbToCss(c: readonly [number, number, number]): string;
|
|
30
|
+
export declare function normalizedRgbToCssRgba(c: readonly [number, number, number], alpha: number): string;
|
|
31
|
+
export declare function setAbgrFill(ctx: {
|
|
32
|
+
fillStyle: string | CanvasGradient | CanvasPattern;
|
|
33
|
+
}, c: number): void;
|
|
34
|
+
export declare function abgrRed(c: number): number;
|
|
35
|
+
export declare function abgrGreen(c: number): number;
|
|
36
|
+
export declare function abgrBlue(c: number): number;
|
|
37
|
+
export declare function abgrAlpha(c: number): number;
|
|
38
|
+
export declare function abgrToCssRgba(c: number): string;
|
|
39
|
+
export declare function cssColorToNormalizedRgba(color: string): [number, number, number, number];
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { getAlpha, getBlue, getGreen, getRed, newColor, parse, } from './color-bits/index.js';
|
|
2
|
+
import { namedColorToHex } from './color/cssColorsLevel4.js';
|
|
3
|
+
export { alpha, blend, darken, formatHEX, formatHEXA, formatRGBA, getAlpha, getBlue, getGreen, getLuminance, getRed, lighten, newColor, parse, toHSLA, toRGBA, } from './color-bits/index.js';
|
|
4
|
+
// Magenta sentinel for invalid input. User-written jexl color callbacks can
|
|
5
|
+
// legitimately return undefined (e.g. when a feature lacks the field they
|
|
6
|
+
// reference); crashing the worker on `undefined.trim()` was the failure mode.
|
|
7
|
+
// Returning magenta makes the bad slot visually obvious without breaking the
|
|
8
|
+
// rest of the render.
|
|
9
|
+
const INVALID_COLOR = newColor(255, 0, 255, 255);
|
|
10
|
+
// A bare BED color triple ("255,0,0"), which is not a CSS color but is what
|
|
11
|
+
// BED-family adapters put on the feature verbatim. The spec has no spaces, but
|
|
12
|
+
// tolerate them rather than silently ignoring an otherwise-usable color.
|
|
13
|
+
const BED_TRIPLE = /^(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})$/;
|
|
14
|
+
// UCSC's convention is that a color of "0" means "no color specified", and plain
|
|
15
|
+
// BED12 files fill the column with that placeholder (often spelled as the
|
|
16
|
+
// all-zero triple) rather than omitting it — every itemRgb in our own
|
|
17
|
+
// volvox-bed12 fixture is "0,0,0". Honoring those literally would paint an
|
|
18
|
+
// ordinary BED12 track solid black, so read them as absent. A file that really
|
|
19
|
+
// wants black can say so with an explicit `color` slot.
|
|
20
|
+
const BED_TRIPLE_UNSET = /^0(,0,0)?$/;
|
|
21
|
+
/**
|
|
22
|
+
* Normalize a bare BED color triple to canonical "r,g,b", or undefined if the
|
|
23
|
+
* string isn't one. Each component must be in range: the underlying parser
|
|
24
|
+
* masks to 8 bits, so a bogus "999,0,0" would otherwise *wrap* to 231 and paint
|
|
25
|
+
* a plausible-looking but wrong color rather than being caught.
|
|
26
|
+
*/
|
|
27
|
+
function bedTriple(str) {
|
|
28
|
+
const m = BED_TRIPLE.exec(str.trim());
|
|
29
|
+
const rgb = m?.slice(1, 4).map(Number);
|
|
30
|
+
return rgb?.every(n => n <= 255) ? rgb.join(',') : undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* One raw attribute value as a usable BED color, or undefined when it isn't
|
|
34
|
+
* one. Deliberately strict: this feeds an *automatic* coloring path, so a value
|
|
35
|
+
* is only claimed when it is unambiguously an in-range BED triple. Anything
|
|
36
|
+
* else — a hex string, a `reserved` column holding something that isn't a color
|
|
37
|
+
* at all — reads as absent and leaves the configured default alone, rather than
|
|
38
|
+
* rendering as the magenta invalid-color sentinel. Takes the raw value so it
|
|
39
|
+
* stays dependency-free and directly testable.
|
|
40
|
+
*/
|
|
41
|
+
export function featureItemRgb(raw) {
|
|
42
|
+
const triple = typeof raw === 'string' ? bedTriple(raw) : undefined;
|
|
43
|
+
return triple !== undefined && !BED_TRIPLE_UNSET.test(triple)
|
|
44
|
+
? triple
|
|
45
|
+
: undefined;
|
|
46
|
+
}
|
|
47
|
+
// The names the BED color column goes by, most specific first.
|
|
48
|
+
//
|
|
49
|
+
// - `itemRgb` — the BED spec's name. What the parser emits for a full BED12.
|
|
50
|
+
// - `reserved` — what UCSC's canonical autoSql calls it ("uint reserved; Used
|
|
51
|
+
// as itemRgb as of 2004-11-22"). bigBed/bigGenePred embed that autoSql and
|
|
52
|
+
// BigBedAdapter takes its field names from it, so bigBed features carry this.
|
|
53
|
+
// - `field8` — the parser only applies the *named* BED schema at exactly 12
|
|
54
|
+
// columns; a BED9/10/11 falls back to positional auto-naming, so the color
|
|
55
|
+
// lands in `field8` (column index 8, which the spec fixes as itemRgb). That
|
|
56
|
+
// makes plain BED9 — the classic "I just want colored features" file — the
|
|
57
|
+
// case this whole thing exists for. Reading the positional name is safe
|
|
58
|
+
// *because* featureItemRgb is strict: a 9th column holding something that
|
|
59
|
+
// isn't an in-range triple is simply not claimed.
|
|
60
|
+
//
|
|
61
|
+
// Nothing is renamed on the feature, deliberately: a config already reading
|
|
62
|
+
// `jexl:get(feature,'field8')` (the workaround this issue's users were told to
|
|
63
|
+
// write) keeps working, and can now just be deleted.
|
|
64
|
+
const BED_COLOR_FIELDS = ['itemRgb', 'reserved', 'field8'];
|
|
65
|
+
/**
|
|
66
|
+
* The BED color a feature declares for itself, under either column name, or
|
|
67
|
+
* undefined if it declares none.
|
|
68
|
+
*/
|
|
69
|
+
export function featureBedColor(feature) {
|
|
70
|
+
let found;
|
|
71
|
+
for (const field of BED_COLOR_FIELDS) {
|
|
72
|
+
found ??= featureItemRgb(feature.get(field));
|
|
73
|
+
}
|
|
74
|
+
return found;
|
|
75
|
+
}
|
|
76
|
+
// Resolve a CSS color string to a Color: honors named colors, `transparent`,
|
|
77
|
+
// and bare BED color triples, and returns `fallback` on malformed-but-nonempty
|
|
78
|
+
// input. `parse` throws on e.g. an empty "rgb()"; callers pass a fallback so one
|
|
79
|
+
// bad per-feature color can't crash a whole render/RPC. An out-of-range triple
|
|
80
|
+
// is left to throw into `fallback` (magenta) rather than wrapping to a wrong
|
|
81
|
+
// color — the same rule featureItemRgb applies, so a jexl callback reading an
|
|
82
|
+
// itemRgb column and the automatic path agree on what counts as a color.
|
|
83
|
+
export function parseCssColorOr(color, fallback) {
|
|
84
|
+
const str = color.trim().toLowerCase();
|
|
85
|
+
if (str === 'transparent') {
|
|
86
|
+
return newColor(0, 0, 0, 0);
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const hex = namedColorToHex(str);
|
|
90
|
+
const triple = bedTriple(str);
|
|
91
|
+
return parse(hex ? hex : triple ? `rgb(${triple})` : str);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return fallback;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export function parseCssColor(color) {
|
|
98
|
+
if (typeof color !== 'string' || color.length === 0) {
|
|
99
|
+
return INVALID_COLOR;
|
|
100
|
+
}
|
|
101
|
+
return parseCssColorOr(color, INVALID_COLOR);
|
|
102
|
+
}
|
|
103
|
+
export function cssColorToNormalizedRgb(color) {
|
|
104
|
+
const c = parseCssColor(color);
|
|
105
|
+
return [getRed(c) / 255, getGreen(c) / 255, getBlue(c) / 255];
|
|
106
|
+
}
|
|
107
|
+
export function cssColorToRgb(color) {
|
|
108
|
+
const c = parseCssColor(color);
|
|
109
|
+
return [getRed(c), getGreen(c), getBlue(c)];
|
|
110
|
+
}
|
|
111
|
+
export function cssColorToRgba(color) {
|
|
112
|
+
const c = parseCssColor(color);
|
|
113
|
+
return [getRed(c), getGreen(c), getBlue(c), getAlpha(c)];
|
|
114
|
+
}
|
|
115
|
+
// Pack 0..255 RGBA channel bytes into an ABGR u32 (R at byte 0, A at byte 3).
|
|
116
|
+
// >>> 0 keeps the result an unsigned 32-bit — bit 31 (alpha's top bit) would
|
|
117
|
+
// otherwise make opaque colors negative in JS.
|
|
118
|
+
export function packAbgr(r, g, b, a) {
|
|
119
|
+
return ((a << 24) | (b << 16) | (g << 8) | r) >>> 0;
|
|
120
|
+
}
|
|
121
|
+
export function cssColorToABGR(color) {
|
|
122
|
+
const c = parseCssColor(color);
|
|
123
|
+
return packAbgr(getRed(c), getGreen(c), getBlue(c), getAlpha(c));
|
|
124
|
+
}
|
|
125
|
+
// Replace the alpha byte of an ABGR-packed u32, keeping its RGB. RGB already
|
|
126
|
+
// occupies the low 24 bits (b<<16 | g<<8 | r), so this is a mask + or — no
|
|
127
|
+
// per-channel unpack/repack. >>> 0 keeps the result unsigned (see packAbgr).
|
|
128
|
+
export function withAbgrAlpha(c, a) {
|
|
129
|
+
return ((c & 0x00ffffff) | (a << 24)) >>> 0;
|
|
130
|
+
}
|
|
131
|
+
// Pack a 0..1 normalized RGB triple into an ABGR u32 (opaque alpha). Inverse
|
|
132
|
+
// of cssColorToNormalizedRgb at the GPU write boundary — the shader side
|
|
133
|
+
// unpacks with unpackRGBA() (see packages/render-core/src/shaders/colorPack.slang).
|
|
134
|
+
export function normalizedRgbToABGR(r, g, b) {
|
|
135
|
+
return packAbgr(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), 255);
|
|
136
|
+
}
|
|
137
|
+
// Format a 0..1 normalized RGB triple as a CSS `rgb(r,g,b)` string.
|
|
138
|
+
export function normalizedRgbToCss(c) {
|
|
139
|
+
return `rgb(${Math.round(c[0] * 255)},${Math.round(c[1] * 255)},${Math.round(c[2] * 255)})`;
|
|
140
|
+
}
|
|
141
|
+
// Format a 0..1 normalized RGB triple + alpha as a CSS `rgba(r,g,b,a)` string.
|
|
142
|
+
// Preferred over `ctx.globalAlpha = a; fillStyle = rgb(...)` bracketing.
|
|
143
|
+
export function normalizedRgbToCssRgba(c, alpha) {
|
|
144
|
+
return `rgba(${Math.round(c[0] * 255)},${Math.round(c[1] * 255)},${Math.round(c[2] * 255)},${alpha})`;
|
|
145
|
+
}
|
|
146
|
+
// Set fillStyle from an ABGR-packed u32.
|
|
147
|
+
export function setAbgrFill(ctx, c) {
|
|
148
|
+
ctx.fillStyle = abgrToCssRgba(c);
|
|
149
|
+
}
|
|
150
|
+
// Channel accessors for the ABGR packed layout (R at byte 0, A at byte 3 —
|
|
151
|
+
// the layout produced by cssColorToABGR and consumed by GPU shaders that
|
|
152
|
+
// unpack via bit shifts from a u32 vertex attribute). Mirror of the
|
|
153
|
+
// color-bits getRed/Green/Blue/Alpha, which operate on the canonical
|
|
154
|
+
// 0xRRGGBBAA layout and therefore give wrong results if called on an ABGR
|
|
155
|
+
// value.
|
|
156
|
+
export function abgrRed(c) {
|
|
157
|
+
return c & 0xff;
|
|
158
|
+
}
|
|
159
|
+
export function abgrGreen(c) {
|
|
160
|
+
return (c >>> 8) & 0xff;
|
|
161
|
+
}
|
|
162
|
+
export function abgrBlue(c) {
|
|
163
|
+
return (c >>> 16) & 0xff;
|
|
164
|
+
}
|
|
165
|
+
export function abgrAlpha(c) {
|
|
166
|
+
return (c >>> 24) & 0xff;
|
|
167
|
+
}
|
|
168
|
+
// Format an ABGR-packed u32 as a CSS rgba() string.
|
|
169
|
+
export function abgrToCssRgba(c) {
|
|
170
|
+
return `rgba(${abgrRed(c)},${abgrGreen(c)},${abgrBlue(c)},${abgrAlpha(c) / 255})`;
|
|
171
|
+
}
|
|
172
|
+
export function cssColorToNormalizedRgba(color) {
|
|
173
|
+
const c = parseCssColor(color);
|
|
174
|
+
return [
|
|
175
|
+
getRed(c) / 255,
|
|
176
|
+
getGreen(c) / 255,
|
|
177
|
+
getBlue(c) / 255,
|
|
178
|
+
getAlpha(c) / 255,
|
|
179
|
+
];
|
|
180
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { GradientStop } from '../ui/SvgGradientLegend.tsx';
|
|
2
|
+
/** One evenly-spaced ramp stop: 8-bit red, green, blue, alpha. */
|
|
3
|
+
export type ColorRampStop = readonly [number, number, number, number];
|
|
4
|
+
/**
|
|
5
|
+
* #api
|
|
6
|
+
* The 256 viridis stops, fully opaque. Feed them to {@link buildColorRampLut}
|
|
7
|
+
* for the texture/fillStyle form, or to {@link sampleColorRamp} for legend
|
|
8
|
+
* stops.
|
|
9
|
+
*/
|
|
10
|
+
export declare const VIRIDIS_STOPS: readonly ColorRampStop[];
|
|
11
|
+
/**
|
|
12
|
+
* #api
|
|
13
|
+
* The color at `t` in `[0, 1]` across a list of EVENLY SPACED stops, linearly
|
|
14
|
+
* interpolated per channel. `t` is clamped, so the ends are the end stops
|
|
15
|
+
* rather than an extrapolation past them, and a one-stop ramp is that stop
|
|
16
|
+
* everywhere.
|
|
17
|
+
*/
|
|
18
|
+
export declare function sampleColorRamp(stops: readonly ColorRampStop[], t: number): ColorRampStop;
|
|
19
|
+
/**
|
|
20
|
+
* #api
|
|
21
|
+
* An RGBA lookup table over {@link sampleColorRamp}, laid out as the Nx1
|
|
22
|
+
* texture both GPU backends upload and the Canvas2D twins index — entry `i` is
|
|
23
|
+
* the color at `t = i / (N - 1)`. N comes off the shader that samples it, so
|
|
24
|
+
* the table and `rampColor`'s texel mapping cannot disagree.
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildColorRampLut(stops: readonly ColorRampStop[]): Uint8Array<ArrayBuffer>;
|
|
27
|
+
/**
|
|
28
|
+
* #api
|
|
29
|
+
* `n` evenly spaced legend stops read straight out of a
|
|
30
|
+
* {@link buildColorRampLut} byte table — the same 256×1 RGBA array
|
|
31
|
+
* `uploadColorRampLut` hands the GPU and the Canvas2D fillStyle LUTs index —
|
|
32
|
+
* formatted for `SvgGradientLegend`. It holds one claim by construction: the
|
|
33
|
+
* swatch at bar fraction `t` is byte-identical to the ramp entry at `t` on
|
|
34
|
+
* both backends. Alpha rides `opacity` (the juicebox fade), never baked into
|
|
35
|
+
* the color string.
|
|
36
|
+
*/
|
|
37
|
+
export declare function stopsFromRampLut(lut: Uint8Array, n: number): GradientStop[];
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { COLOR_RAMP_LUT_ENTRIES } from '@jbrowse/render-core/colorRampLut';
|
|
2
|
+
// Viridis full 256-color hex spec, kept whole so a LUT built from these stops
|
|
3
|
+
// carries the smooth perceptually-uniform gradient rather than an
|
|
4
|
+
// interpolation over a subset. Lived in the hic plugin until wiggle density
|
|
5
|
+
// gained the same named ramp; both build their 256×1 GPU/Canvas2D LUTs from
|
|
6
|
+
// this one table.
|
|
7
|
+
const VIRIDIS_HEX_SPEC = '44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725';
|
|
8
|
+
function viridisStopsFromHex() {
|
|
9
|
+
const out = [];
|
|
10
|
+
for (let i = 0; i < 256; i++) {
|
|
11
|
+
const hex = VIRIDIS_HEX_SPEC.slice(i * 6, i * 6 + 6);
|
|
12
|
+
out.push([
|
|
13
|
+
Number.parseInt(hex.slice(0, 2), 16),
|
|
14
|
+
Number.parseInt(hex.slice(2, 4), 16),
|
|
15
|
+
Number.parseInt(hex.slice(4, 6), 16),
|
|
16
|
+
255,
|
|
17
|
+
]);
|
|
18
|
+
}
|
|
19
|
+
return out;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* #api
|
|
23
|
+
* The 256 viridis stops, fully opaque. Feed them to {@link buildColorRampLut}
|
|
24
|
+
* for the texture/fillStyle form, or to {@link sampleColorRamp} for legend
|
|
25
|
+
* stops.
|
|
26
|
+
*/
|
|
27
|
+
export const VIRIDIS_STOPS = viridisStopsFromHex();
|
|
28
|
+
function lerp8(a, b, t) {
|
|
29
|
+
return Math.round(a * (1 - t) + b * t);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* #api
|
|
33
|
+
* The color at `t` in `[0, 1]` across a list of EVENLY SPACED stops, linearly
|
|
34
|
+
* interpolated per channel. `t` is clamped, so the ends are the end stops
|
|
35
|
+
* rather than an extrapolation past them, and a one-stop ramp is that stop
|
|
36
|
+
* everywhere.
|
|
37
|
+
*/
|
|
38
|
+
export function sampleColorRamp(stops, t) {
|
|
39
|
+
const position = Math.max(0, Math.min(1, t)) * (stops.length - 1);
|
|
40
|
+
const lower = Math.floor(position);
|
|
41
|
+
const lo = stops[lower];
|
|
42
|
+
const hi = stops[Math.min(lower + 1, stops.length - 1)];
|
|
43
|
+
const frac = position - lower;
|
|
44
|
+
return [
|
|
45
|
+
lerp8(lo[0], hi[0], frac),
|
|
46
|
+
lerp8(lo[1], hi[1], frac),
|
|
47
|
+
lerp8(lo[2], hi[2], frac),
|
|
48
|
+
lerp8(lo[3], hi[3], frac),
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* #api
|
|
53
|
+
* An RGBA lookup table over {@link sampleColorRamp}, laid out as the Nx1
|
|
54
|
+
* texture both GPU backends upload and the Canvas2D twins index — entry `i` is
|
|
55
|
+
* the color at `t = i / (N - 1)`. N comes off the shader that samples it, so
|
|
56
|
+
* the table and `rampColor`'s texel mapping cannot disagree.
|
|
57
|
+
*/
|
|
58
|
+
export function buildColorRampLut(stops) {
|
|
59
|
+
const last = COLOR_RAMP_LUT_ENTRIES - 1;
|
|
60
|
+
const data = new Uint8Array(COLOR_RAMP_LUT_ENTRIES * 4);
|
|
61
|
+
for (let i = 0; i < COLOR_RAMP_LUT_ENTRIES; i++) {
|
|
62
|
+
const [r, g, b, a] = sampleColorRamp(stops, i / last);
|
|
63
|
+
data[i * 4] = r;
|
|
64
|
+
data[i * 4 + 1] = g;
|
|
65
|
+
data[i * 4 + 2] = b;
|
|
66
|
+
data[i * 4 + 3] = a;
|
|
67
|
+
}
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* #api
|
|
72
|
+
* `n` evenly spaced legend stops read straight out of a
|
|
73
|
+
* {@link buildColorRampLut} byte table — the same 256×1 RGBA array
|
|
74
|
+
* `uploadColorRampLut` hands the GPU and the Canvas2D fillStyle LUTs index —
|
|
75
|
+
* formatted for `SvgGradientLegend`. It holds one claim by construction: the
|
|
76
|
+
* swatch at bar fraction `t` is byte-identical to the ramp entry at `t` on
|
|
77
|
+
* both backends. Alpha rides `opacity` (the juicebox fade), never baked into
|
|
78
|
+
* the color string.
|
|
79
|
+
*/
|
|
80
|
+
export function stopsFromRampLut(lut, n) {
|
|
81
|
+
const lastEntry = lut.length / 4 - 1;
|
|
82
|
+
const out = [];
|
|
83
|
+
for (let i = 0; i < n; i++) {
|
|
84
|
+
const t = n === 1 ? 0 : i / (n - 1);
|
|
85
|
+
const o = Math.round(t * lastEntry) * 4;
|
|
86
|
+
out.push({
|
|
87
|
+
offset: `${+(t * 100).toFixed(2)}%`,
|
|
88
|
+
color: `rgb(${lut[o]},${lut[o + 1]},${lut[o + 2]})`,
|
|
89
|
+
opacity: lut[o + 3] / 255,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return out;
|
|
93
|
+
}
|
package/esm/util/colord.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
interface RGBA {
|
|
2
|
+
r: number;
|
|
3
|
+
g: number;
|
|
4
|
+
b: number;
|
|
5
|
+
a: number;
|
|
6
|
+
}
|
|
1
7
|
interface HSLA {
|
|
2
8
|
h: number;
|
|
3
9
|
s: number;
|
|
@@ -8,6 +14,7 @@ export interface Colord {
|
|
|
8
14
|
alpha(): number;
|
|
9
15
|
alpha(value: number): Colord;
|
|
10
16
|
toHex(): string;
|
|
17
|
+
toRgb(): RGBA;
|
|
11
18
|
toRgbString(): string;
|
|
12
19
|
toHsl(): HSLA;
|
|
13
20
|
toHslString(): string;
|
|
@@ -20,4 +27,5 @@ export declare function colord(input: string | {
|
|
|
20
27
|
s: number;
|
|
21
28
|
l: number;
|
|
22
29
|
}): Colord;
|
|
30
|
+
export declare function hexToGLrgb(hex: string): [number, number, number];
|
|
23
31
|
export {};
|
package/esm/util/colord.js
CHANGED
|
@@ -1,231 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
import { blend, alpha as cbAlpha, formatHEX, formatHEXA, getAlpha, getBlue, getGreen, getRed, newColor, parse, toGLrgb, toHSLA, toRGBA, } from './color-bits/index.js';
|
|
2
|
+
import { parseCssColorOr } from './colorBits.js';
|
|
3
|
+
import { clamp } from './numericUtils.js';
|
|
5
4
|
function round(value, precision = 0) {
|
|
6
5
|
const mult = 10 ** precision;
|
|
7
6
|
return Math.round(value * mult) / mult;
|
|
8
7
|
}
|
|
9
|
-
function
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const hexStr = match[1];
|
|
15
|
-
if (hexStr.length === 3) {
|
|
16
|
-
return {
|
|
17
|
-
r: parseInt(hexStr[0] + hexStr[0], 16),
|
|
18
|
-
g: parseInt(hexStr[1] + hexStr[1], 16),
|
|
19
|
-
b: parseInt(hexStr[2] + hexStr[2], 16),
|
|
20
|
-
a: 1,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
if (hexStr.length === 4) {
|
|
24
|
-
return {
|
|
25
|
-
r: parseInt(hexStr[0] + hexStr[0], 16),
|
|
26
|
-
g: parseInt(hexStr[1] + hexStr[1], 16),
|
|
27
|
-
b: parseInt(hexStr[2] + hexStr[2], 16),
|
|
28
|
-
a: parseInt(hexStr[3] + hexStr[3], 16) / 255,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
if (hexStr.length === 6) {
|
|
32
|
-
return {
|
|
33
|
-
r: parseInt(hexStr.slice(0, 2), 16),
|
|
34
|
-
g: parseInt(hexStr.slice(2, 4), 16),
|
|
35
|
-
b: parseInt(hexStr.slice(4, 6), 16),
|
|
36
|
-
a: 1,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
if (hexStr.length === 8) {
|
|
40
|
-
return {
|
|
41
|
-
r: parseInt(hexStr.slice(0, 2), 16),
|
|
42
|
-
g: parseInt(hexStr.slice(2, 4), 16),
|
|
43
|
-
b: parseInt(hexStr.slice(4, 6), 16),
|
|
44
|
-
a: parseInt(hexStr.slice(6, 8), 16) / 255,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
function parseRgb(str) {
|
|
50
|
-
const match = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(str);
|
|
51
|
-
if (match) {
|
|
52
|
-
return {
|
|
53
|
-
r: parseInt(match[1], 10),
|
|
54
|
-
g: parseInt(match[2], 10),
|
|
55
|
-
b: parseInt(match[3], 10),
|
|
56
|
-
a: match[4] ? parseFloat(match[4]) : 1,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
8
|
+
function hslShiftLightness(c, amount) {
|
|
9
|
+
const hsla = toHSLA(c);
|
|
10
|
+
const newL = clamp(hsla.l + amount, 0, 100);
|
|
11
|
+
const parsed = parse(`hsl(${hsla.h}, ${hsla.s}%, ${newL}%)`);
|
|
12
|
+
return cbAlpha(parsed, getAlpha(c) / 255);
|
|
60
13
|
}
|
|
61
|
-
function
|
|
62
|
-
const match = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%\s*(?:,\s*([\d.]+)\s*)?\)$/i.exec(str);
|
|
63
|
-
if (match) {
|
|
64
|
-
const h = parseFloat(match[1]);
|
|
65
|
-
const s = parseFloat(match[2]) / 100;
|
|
66
|
-
const l = parseFloat(match[3]) / 100;
|
|
67
|
-
const a = match[4] ? parseFloat(match[4]) : 1;
|
|
68
|
-
return { ...hslToRgb(h, s, l), a };
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
function hslToRgb(h, s, l) {
|
|
73
|
-
h = ((h % 360) + 360) % 360;
|
|
74
|
-
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
75
|
-
const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
|
|
76
|
-
const m = l - c / 2;
|
|
77
|
-
let r = 0;
|
|
78
|
-
let g = 0;
|
|
79
|
-
let b = 0;
|
|
80
|
-
if (h < 60) {
|
|
81
|
-
r = c;
|
|
82
|
-
g = x;
|
|
83
|
-
}
|
|
84
|
-
else if (h < 120) {
|
|
85
|
-
r = x;
|
|
86
|
-
g = c;
|
|
87
|
-
}
|
|
88
|
-
else if (h < 180) {
|
|
89
|
-
g = c;
|
|
90
|
-
b = x;
|
|
91
|
-
}
|
|
92
|
-
else if (h < 240) {
|
|
93
|
-
g = x;
|
|
94
|
-
b = c;
|
|
95
|
-
}
|
|
96
|
-
else if (h < 300) {
|
|
97
|
-
r = x;
|
|
98
|
-
b = c;
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
r = c;
|
|
102
|
-
b = x;
|
|
103
|
-
}
|
|
104
|
-
return {
|
|
105
|
-
r: Math.round((r + m) * 255),
|
|
106
|
-
g: Math.round((g + m) * 255),
|
|
107
|
-
b: Math.round((b + m) * 255),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
function rgbToHsl(r, g, b) {
|
|
111
|
-
r /= 255;
|
|
112
|
-
g /= 255;
|
|
113
|
-
b /= 255;
|
|
114
|
-
const max = Math.max(r, g, b);
|
|
115
|
-
const min = Math.min(r, g, b);
|
|
116
|
-
const l = (max + min) / 2;
|
|
117
|
-
if (max === min) {
|
|
118
|
-
return { h: 0, s: 0, l };
|
|
119
|
-
}
|
|
120
|
-
const d = max - min;
|
|
121
|
-
const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
122
|
-
let h = 0;
|
|
123
|
-
if (max === r) {
|
|
124
|
-
h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
|
|
125
|
-
}
|
|
126
|
-
else if (max === g) {
|
|
127
|
-
h = ((b - r) / d + 2) / 6;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
h = ((r - g) / d + 4) / 6;
|
|
131
|
-
}
|
|
132
|
-
return { h: h * 360, s, l };
|
|
133
|
-
}
|
|
134
|
-
function parseColor(input) {
|
|
14
|
+
function parseInput(input) {
|
|
135
15
|
if (typeof input === 'object') {
|
|
136
16
|
const { h, s, l } = input;
|
|
137
|
-
return {
|
|
138
|
-
}
|
|
139
|
-
const str = input.trim().toLowerCase();
|
|
140
|
-
const namedHex = namedColorToHex(str);
|
|
141
|
-
if (namedHex) {
|
|
142
|
-
return parseHex(namedHex);
|
|
143
|
-
}
|
|
144
|
-
if (str === 'transparent') {
|
|
145
|
-
return { r: 0, g: 0, b: 0, a: 0 };
|
|
17
|
+
return parse(`hsl(${h}, ${s}%, ${l}%)`);
|
|
146
18
|
}
|
|
147
|
-
|
|
148
|
-
if (hex) {
|
|
149
|
-
return hex;
|
|
150
|
-
}
|
|
151
|
-
const rgb = parseRgb(str);
|
|
152
|
-
if (rgb) {
|
|
153
|
-
return rgb;
|
|
154
|
-
}
|
|
155
|
-
const hsl = parseHsl(str);
|
|
156
|
-
if (hsl) {
|
|
157
|
-
return hsl;
|
|
158
|
-
}
|
|
159
|
-
return { r: 0, g: 0, b: 0, a: 1 };
|
|
160
|
-
}
|
|
161
|
-
function toHex2(n) {
|
|
162
|
-
return Math.round(clamp(n, 0, 255))
|
|
163
|
-
.toString(16)
|
|
164
|
-
.padStart(2, '0');
|
|
19
|
+
return parseCssColorOr(input, newColor(0, 0, 0, 255));
|
|
165
20
|
}
|
|
166
|
-
function createColord(
|
|
21
|
+
function createColord(c) {
|
|
167
22
|
const obj = {
|
|
168
23
|
alpha(value) {
|
|
169
24
|
if (value === undefined) {
|
|
170
|
-
return
|
|
25
|
+
return getAlpha(c) / 255;
|
|
171
26
|
}
|
|
172
|
-
return createColord(
|
|
27
|
+
return createColord(cbAlpha(c, value));
|
|
173
28
|
},
|
|
174
29
|
toHex() {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return `#${toHex2(r)}${toHex2(g)}${toHex2(b)}${toHex2(a * 255)}`;
|
|
30
|
+
if (getAlpha(c) < 255) {
|
|
31
|
+
return formatHEXA(c);
|
|
178
32
|
}
|
|
179
|
-
return
|
|
33
|
+
return formatHEX(c);
|
|
34
|
+
},
|
|
35
|
+
toRgb() {
|
|
36
|
+
const rgba = toRGBA(c);
|
|
37
|
+
return { r: rgba.r, g: rgba.g, b: rgba.b, a: rgba.a / 255 };
|
|
180
38
|
},
|
|
181
39
|
toRgbString() {
|
|
182
|
-
const
|
|
40
|
+
const a = getAlpha(c) / 255;
|
|
183
41
|
if (a < 1) {
|
|
184
|
-
return `rgba(${
|
|
42
|
+
return `rgba(${getRed(c)}, ${getGreen(c)}, ${getBlue(c)}, ${round(a, 3)})`;
|
|
185
43
|
}
|
|
186
|
-
return `rgb(${
|
|
44
|
+
return `rgb(${getRed(c)}, ${getGreen(c)}, ${getBlue(c)})`;
|
|
187
45
|
},
|
|
188
46
|
toHsl() {
|
|
189
|
-
const
|
|
47
|
+
const hsla = toHSLA(c);
|
|
190
48
|
return {
|
|
191
|
-
h: round(h, 1),
|
|
192
|
-
s: round(s
|
|
193
|
-
l: round(l
|
|
194
|
-
a:
|
|
49
|
+
h: round(hsla.h, 1),
|
|
50
|
+
s: round(hsla.s, 1),
|
|
51
|
+
l: round(hsla.l, 1),
|
|
52
|
+
a: getAlpha(c) / 255,
|
|
195
53
|
};
|
|
196
54
|
},
|
|
197
55
|
toHslString() {
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
56
|
+
const hsla = toHSLA(c);
|
|
57
|
+
const a = getAlpha(c) / 255;
|
|
58
|
+
if (a < 1) {
|
|
59
|
+
return `hsla(${round(hsla.h, 1)}, ${round(hsla.s, 1)}%, ${round(hsla.l, 1)}%, ${round(a, 3)})`;
|
|
201
60
|
}
|
|
202
|
-
return `hsl(${round(h, 1)}, ${round(s
|
|
61
|
+
return `hsl(${round(hsla.h, 1)}, ${round(hsla.s, 1)}%, ${round(hsla.l, 1)}%)`;
|
|
203
62
|
},
|
|
204
63
|
mix(color2, ratio = 0.5) {
|
|
205
64
|
const c2 = typeof color2 === 'string'
|
|
206
|
-
?
|
|
207
|
-
:
|
|
208
|
-
|
|
209
|
-
const g = rgba.g + (c2.g - rgba.g) * ratio;
|
|
210
|
-
const b = rgba.b + (c2.b - rgba.b) * ratio;
|
|
211
|
-
const a = rgba.a + (c2.a - rgba.a) * ratio;
|
|
212
|
-
return createColord({ r, g, b, a });
|
|
65
|
+
? parseInput(color2)
|
|
66
|
+
: parseInput(color2.toHex());
|
|
67
|
+
return createColord(blend(c, c2, ratio));
|
|
213
68
|
},
|
|
214
69
|
darken(amount = 0.1) {
|
|
215
|
-
|
|
216
|
-
const newL = clamp(l - amount, 0, 1);
|
|
217
|
-
const rgb = hslToRgb(h, s, newL);
|
|
218
|
-
return createColord({ ...rgb, a: rgba.a });
|
|
70
|
+
return createColord(hslShiftLightness(c, -amount * 100));
|
|
219
71
|
},
|
|
220
72
|
lighten(amount = 0.1) {
|
|
221
|
-
|
|
222
|
-
const newL = clamp(l + amount, 0, 1);
|
|
223
|
-
const rgb = hslToRgb(h, s, newL);
|
|
224
|
-
return createColord({ ...rgb, a: rgba.a });
|
|
73
|
+
return createColord(hslShiftLightness(c, amount * 100));
|
|
225
74
|
},
|
|
226
75
|
};
|
|
227
76
|
return obj;
|
|
228
77
|
}
|
|
229
78
|
export function colord(input) {
|
|
230
|
-
return createColord(
|
|
79
|
+
return createColord(parseInput(input));
|
|
80
|
+
}
|
|
81
|
+
export function hexToGLrgb(hex) {
|
|
82
|
+
return toGLrgb(parse(hex));
|
|
231
83
|
}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function
|
|
3
|
-
cds:
|
|
1
|
+
import type { TranslExcept } from './geneticCodes.ts';
|
|
2
|
+
export declare function translExceptProteinPositions({ cds, translExcept, }: {
|
|
3
|
+
cds: {
|
|
4
|
+
start: number;
|
|
5
|
+
end: number;
|
|
6
|
+
phase?: number;
|
|
7
|
+
}[];
|
|
8
|
+
translExcept?: TranslExcept[];
|
|
9
|
+
}): Set<number>;
|
|
10
|
+
export declare function convertCodingSequenceToPeptides({ cds, sequence, codonTable, starts, translExcept, }: {
|
|
11
|
+
cds: {
|
|
12
|
+
start: number;
|
|
13
|
+
end: number;
|
|
14
|
+
phase?: number;
|
|
15
|
+
}[];
|
|
4
16
|
sequence: string;
|
|
5
17
|
codonTable: Record<string, string>;
|
|
18
|
+
starts?: string[];
|
|
19
|
+
translExcept?: TranslExcept[];
|
|
6
20
|
}): string;
|