@jbrowse/core 4.3.0 → 5.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +822 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +41 -40
- package/esm/PluginLoader.js +206 -78
- package/esm/PluginManager.d.ts +421 -55
- package/esm/PluginManager.js +461 -89
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +62 -93
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/ReExports/sharedModules.d.ts +96 -0
- package/esm/ReExports/sharedModules.js +59 -0
- package/esm/ReExports/uiStub.d.ts +1 -0
- package/esm/ReExports/uiStub.js +13 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +10 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +122 -20
- package/esm/configuration/configurationSchema.js +374 -140
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +332 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +132 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +136 -25
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +29 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +17 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +7 -4
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
- package/esm/data_adapters/BaseAdapter/stats.js +89 -24
- package/esm/data_adapters/BaseAdapter/types.d.ts +11 -8
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +19 -10
- package/esm/pluggableElementTypes/DisplayType.js +53 -5
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +27 -3
- package/esm/pluggableElementTypes/ViewType.js +84 -4
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +73 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +646 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +241 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +216 -35
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +365 -83
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +216 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +150 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +177 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +275 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +58 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +3 -5
- package/esm/rpc/coreRpcMethods.js +10 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +15 -17
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +24 -13
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +137 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +61 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +390 -41
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +4 -4
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +128 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +12 -3
- package/esm/ui/HoverMenu.js +31 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +23 -0
- package/esm/ui/LoadingOverlay.js +137 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +134 -5
- package/esm/ui/MenuTypes.js +16 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +92 -0
- package/esm/ui/PaletteContext.js +133 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +85 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -47
- package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +43 -11
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +42 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +91 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +88 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +42 -0
- package/esm/ui/toggleMenuItems.js +60 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +27 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +55 -0
- package/esm/util/cacheBudgets.js +55 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createStopTokenRotation.d.ts +118 -0
- package/esm/util/createStopTokenRotation.js +127 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +23 -0
- package/esm/util/diagonalizeRegions.js +192 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +5 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +28 -0
- package/esm/util/freezeDeep.js +41 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +168 -0
- package/esm/util/hooks.js +443 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +81 -268
- package/esm/util/index.js +135 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +220 -0
- package/esm/util/installFetch.js +206 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +50 -0
- package/esm/util/legendCandidates.js +87 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +100 -0
- package/esm/util/mstUtils.js +140 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +114 -0
- package/esm/util/pluginStore.js +260 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +46 -1
- package/esm/util/range.js +68 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +30 -1
- package/esm/util/rxjs.js +88 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +38 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/simpleFeature.d.ts +112 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +126 -0
- package/esm/util/tabix.js +149 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +398 -30
- package/esm/util/tracks.js +699 -191
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +402 -120
- package/esm/util/types/index.js +90 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unknownSnapshotKeys.d.ts +36 -0
- package/esm/util/unknownSnapshotKeys.js +69 -0
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +81 -0
- package/esm/util/viewStatus.js +37 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +40 -0
- package/esm/util/whenViewSettled.js +41 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +123 -0
- package/esm/util/withLaunchInput.js +228 -0
- package/package.json +243 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { OFFSET_A, OFFSET_B, OFFSET_G, OFFSET_R, from, getAlpha, getBlue, getGreen, getRed, newColor, setAlpha, setBlue, setGreen, setRed, toNumber, } from './core.js';
|
|
2
|
+
export { parse, parseColor, parseHex } from './parse.js';
|
|
3
|
+
export { format, formatHEX, formatHEXA, formatHSLA, formatRGBA, toGLrgb, toHSLA, toRGBA, } from './format.js';
|
|
4
|
+
export { alpha, blend, darken, getLuminance, lighten } from './functions.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Color } from './core.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Parse CSS color
|
|
4
|
+
* @param color CSS color string: #xxx, #xxxxxx, #xxxxxxxx, rgb(), rgba(), hsl(), hsla(), color()
|
|
5
|
+
*/
|
|
6
|
+
export declare function parse(color: string): Color;
|
|
7
|
+
/**
|
|
8
|
+
* Parse hexadecimal CSS color
|
|
9
|
+
* @param color Hex color string: #xxx, #xxxx, #xxxxxx, #xxxxxxxx
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseHex(color: string): Color;
|
|
12
|
+
/**
|
|
13
|
+
* Parse CSS color
|
|
14
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
|
|
15
|
+
* @param color CSS color string: rgb(), rgba(), hsl(), hsla(), color()
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseColor(color: string): Color;
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import * as convert from './convert.js';
|
|
2
|
+
import { newColor } from './core.js';
|
|
3
|
+
const HASH = '#'.charCodeAt(0);
|
|
4
|
+
const PERCENT = '%'.charCodeAt(0);
|
|
5
|
+
const G = 'g'.charCodeAt(0);
|
|
6
|
+
const N = 'n'.charCodeAt(0);
|
|
7
|
+
const D = 'd'.charCodeAt(0);
|
|
8
|
+
const E = 'e'.charCodeAt(0);
|
|
9
|
+
/**
|
|
10
|
+
* Approximative CSS colorspace string pattern, e.g. rgb(), color()
|
|
11
|
+
*
|
|
12
|
+
* **Anchored**, because the whole string has to be a colour for this to be one.
|
|
13
|
+
* Unanchored it matched a colour sitting anywhere inside anything, so
|
|
14
|
+
* `parseCssColor('foo rgb(1,2,3) bar')` answered `[1,2,3]` — and a config slot
|
|
15
|
+
* holding prose, a jexl expression that did not evaluate, or two colours by
|
|
16
|
+
* mistake read as a plausible colour instead of reaching the invalid-colour
|
|
17
|
+
* sentinel. That sentinel is a contract (`colorBits.test.ts`: a broken config
|
|
18
|
+
* reads as magenta, never as a plausible wrong colour), and it was unreachable
|
|
19
|
+
* for every such string. Surrounding whitespace is still tolerated: a slot with
|
|
20
|
+
* a trailing space is a formatting slip, not a different colour.
|
|
21
|
+
*/
|
|
22
|
+
const PATTERN = (() => {
|
|
23
|
+
const NAME = String.raw `(\w+)`;
|
|
24
|
+
const SEPARATOR = String.raw `[\s,\/]`;
|
|
25
|
+
const VALUE = String.raw `([^\s,\/]+)`;
|
|
26
|
+
const SEPARATOR_THEN_VALUE = `(?:${SEPARATOR}+${VALUE})`;
|
|
27
|
+
return new RegExp(String.raw `^\s*
|
|
28
|
+
${NAME}\(
|
|
29
|
+
${SEPARATOR}*
|
|
30
|
+
${VALUE}
|
|
31
|
+
${SEPARATOR_THEN_VALUE}
|
|
32
|
+
${SEPARATOR_THEN_VALUE}
|
|
33
|
+
${SEPARATOR_THEN_VALUE}?
|
|
34
|
+
${SEPARATOR_THEN_VALUE}?
|
|
35
|
+
${SEPARATOR}*
|
|
36
|
+
\)\s*$`.replaceAll(/\s/g, ''));
|
|
37
|
+
})();
|
|
38
|
+
/**
|
|
39
|
+
* Parse CSS color
|
|
40
|
+
* @param color CSS color string: #xxx, #xxxxxx, #xxxxxxxx, rgb(), rgba(), hsl(), hsla(), color()
|
|
41
|
+
*/
|
|
42
|
+
export function parse(color) {
|
|
43
|
+
return color.charCodeAt(0) === HASH ? parseHex(color) : parseColor(color);
|
|
44
|
+
}
|
|
45
|
+
// The four legal hex forms. Validated up front rather than trusted, because
|
|
46
|
+
// hexValue() maps any character to a number: '#zzzzzz' produced a plausible dark
|
|
47
|
+
// grey and '#ff' opaque black, so parseCssColor's invalid-color sentinel was
|
|
48
|
+
// unreachable for anything starting with '#'. Nibbles above 0xf also overflow
|
|
49
|
+
// into the neighbouring channel once packed.
|
|
50
|
+
const HEX = /^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;
|
|
51
|
+
/**
|
|
52
|
+
* Parse hexadecimal CSS color
|
|
53
|
+
* @param color Hex color string: #xxx, #xxxx, #xxxxxx, #xxxxxxxx
|
|
54
|
+
*/
|
|
55
|
+
export function parseHex(color) {
|
|
56
|
+
if (!HEX.test(color)) {
|
|
57
|
+
throw new Error(`Color.parse(): invalid CSS color: "${color}"`);
|
|
58
|
+
}
|
|
59
|
+
let r = 0x00;
|
|
60
|
+
let g = 0x00;
|
|
61
|
+
let b = 0x00;
|
|
62
|
+
let a = 0xff;
|
|
63
|
+
switch (color.length) {
|
|
64
|
+
// #59f
|
|
65
|
+
case 4: {
|
|
66
|
+
r = (hexValue(color.charCodeAt(1)) << 4) + hexValue(color.charCodeAt(1));
|
|
67
|
+
g = (hexValue(color.charCodeAt(2)) << 4) + hexValue(color.charCodeAt(2));
|
|
68
|
+
b = (hexValue(color.charCodeAt(3)) << 4) + hexValue(color.charCodeAt(3));
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
// #59fa
|
|
72
|
+
case 5: {
|
|
73
|
+
r = (hexValue(color.charCodeAt(1)) << 4) + hexValue(color.charCodeAt(1));
|
|
74
|
+
g = (hexValue(color.charCodeAt(2)) << 4) + hexValue(color.charCodeAt(2));
|
|
75
|
+
b = (hexValue(color.charCodeAt(3)) << 4) + hexValue(color.charCodeAt(3));
|
|
76
|
+
a = (hexValue(color.charCodeAt(4)) << 4) + hexValue(color.charCodeAt(4));
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
// #5599ff
|
|
80
|
+
case 7: {
|
|
81
|
+
r = (hexValue(color.charCodeAt(1)) << 4) + hexValue(color.charCodeAt(2));
|
|
82
|
+
g = (hexValue(color.charCodeAt(3)) << 4) + hexValue(color.charCodeAt(4));
|
|
83
|
+
b = (hexValue(color.charCodeAt(5)) << 4) + hexValue(color.charCodeAt(6));
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
// #5599ff88
|
|
87
|
+
case 9: {
|
|
88
|
+
r = (hexValue(color.charCodeAt(1)) << 4) + hexValue(color.charCodeAt(2));
|
|
89
|
+
g = (hexValue(color.charCodeAt(3)) << 4) + hexValue(color.charCodeAt(4));
|
|
90
|
+
b = (hexValue(color.charCodeAt(5)) << 4) + hexValue(color.charCodeAt(6));
|
|
91
|
+
a = (hexValue(color.charCodeAt(7)) << 4) + hexValue(color.charCodeAt(8));
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
default: {
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return newColor(r, g, b, a);
|
|
99
|
+
}
|
|
100
|
+
// https://lemire.me/blog/2019/04/17/parsing-short-hexadecimal-strings-efficiently/
|
|
101
|
+
function hexValue(c) {
|
|
102
|
+
return (c & 0xf) + 9 * (c >> 6);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Parse CSS color
|
|
106
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
|
|
107
|
+
* @param color CSS color string: rgb(), rgba(), hsl(), hsla(), color()
|
|
108
|
+
*/
|
|
109
|
+
export function parseColor(color) {
|
|
110
|
+
const match = PATTERN.exec(color);
|
|
111
|
+
if (match === null) {
|
|
112
|
+
throw new Error(`Color.parse(): invalid CSS color: "${color}"`);
|
|
113
|
+
}
|
|
114
|
+
const fmt = match[1];
|
|
115
|
+
const p1 = match[2];
|
|
116
|
+
const p2 = match[3];
|
|
117
|
+
const p3 = match[4];
|
|
118
|
+
const p4 = match[5];
|
|
119
|
+
const p5 = match[6];
|
|
120
|
+
switch (fmt) {
|
|
121
|
+
case 'rgb':
|
|
122
|
+
case 'rgba': {
|
|
123
|
+
const r = parseColorChannel(p1);
|
|
124
|
+
const g = parseColorChannel(p2);
|
|
125
|
+
const b = parseColorChannel(p3);
|
|
126
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
127
|
+
return newColor(r, g, b, a);
|
|
128
|
+
}
|
|
129
|
+
case 'hsl':
|
|
130
|
+
case 'hsla': {
|
|
131
|
+
const h = parseAngle(p1);
|
|
132
|
+
const s = parsePercentage(p2);
|
|
133
|
+
const l = parsePercentage(p3);
|
|
134
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
135
|
+
// https://stackoverflow.com/a/9493060/3112706
|
|
136
|
+
let r;
|
|
137
|
+
let g;
|
|
138
|
+
let b;
|
|
139
|
+
if (s === 0) {
|
|
140
|
+
r = g = b = Math.round(l * 255); // achromatic
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
144
|
+
const p = 2 * l - q;
|
|
145
|
+
r = Math.round(hueToRGB(p, q, h + 1 / 3) * 255);
|
|
146
|
+
g = Math.round(hueToRGB(p, q, h) * 255);
|
|
147
|
+
b = Math.round(hueToRGB(p, q, h - 1 / 3) * 255);
|
|
148
|
+
}
|
|
149
|
+
return newColor(r, g, b, a);
|
|
150
|
+
}
|
|
151
|
+
case 'hwb': {
|
|
152
|
+
const h = parseAngle(p1);
|
|
153
|
+
const w = parsePercentage(p2);
|
|
154
|
+
const bl = parsePercentage(p3);
|
|
155
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
156
|
+
/* https://drafts.csswg.org/css-color/#hwb-to-rgb */
|
|
157
|
+
const s = 1;
|
|
158
|
+
const l = 0.5;
|
|
159
|
+
// Same as HSL to RGB
|
|
160
|
+
const q = l + s - l * s;
|
|
161
|
+
const p = 2 * l - q;
|
|
162
|
+
let r = Math.round(hueToRGB(p, q, h + 1 / 3) * 255);
|
|
163
|
+
let g = Math.round(hueToRGB(p, q, h) * 255);
|
|
164
|
+
let b = Math.round(hueToRGB(p, q, h - 1 / 3) * 255);
|
|
165
|
+
// Then HWB
|
|
166
|
+
r = hwbApply(r, w, bl);
|
|
167
|
+
g = hwbApply(g, w, bl);
|
|
168
|
+
b = hwbApply(b, w, bl);
|
|
169
|
+
return newColor(r, g, b, a);
|
|
170
|
+
}
|
|
171
|
+
case 'lab': {
|
|
172
|
+
const l = parsePercentageFor(p1, 100);
|
|
173
|
+
const aa = parsePercentageFor(p2, 125);
|
|
174
|
+
const b = parsePercentageFor(p3, 125);
|
|
175
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
176
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.labToXyzd50(l, aa, b)));
|
|
177
|
+
}
|
|
178
|
+
case 'lch': {
|
|
179
|
+
const l = parsePercentageFor(p1, 100);
|
|
180
|
+
const c = parsePercentageFor(p2, 150);
|
|
181
|
+
const h = parseAngle(p3) * 360;
|
|
182
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
183
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.labToXyzd50(...convert.lchToLab(l, c, h))));
|
|
184
|
+
}
|
|
185
|
+
case 'oklab': {
|
|
186
|
+
const l = parsePercentageFor(p1, 1);
|
|
187
|
+
const aa = parsePercentageFor(p2, 0.4);
|
|
188
|
+
const b = parsePercentageFor(p3, 0.4);
|
|
189
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
190
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.xyzd65ToD50(...convert.oklabToXyzd65(l, aa, b))));
|
|
191
|
+
}
|
|
192
|
+
case 'oklch': {
|
|
193
|
+
const l = parsePercentageOrValue(p1);
|
|
194
|
+
const c = parsePercentageOrValue(p2);
|
|
195
|
+
const h = parsePercentageOrValue(p3);
|
|
196
|
+
const a = p4 ? parseAlphaChannel(p4) : 255;
|
|
197
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.oklchToXyzd50(l, c, h)));
|
|
198
|
+
}
|
|
199
|
+
case 'color': {
|
|
200
|
+
// https://drafts.csswg.org/css-color-4/#color-function
|
|
201
|
+
const colorspace = p1;
|
|
202
|
+
const c1 = parsePercentageOrValue(p2);
|
|
203
|
+
const c2 = parsePercentageOrValue(p3);
|
|
204
|
+
const c3 = parsePercentageOrValue(p4);
|
|
205
|
+
const a = p5 ? parseAlphaChannel(p5) : 255;
|
|
206
|
+
switch (colorspace) {
|
|
207
|
+
// RGB color spaces
|
|
208
|
+
case 'srgb': {
|
|
209
|
+
return newColorFromArray(a, [c1, c2, c3]);
|
|
210
|
+
}
|
|
211
|
+
case 'srgb-linear': {
|
|
212
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.srgbLinearToXyzd50(c1, c2, c3)));
|
|
213
|
+
}
|
|
214
|
+
case 'display-p3': {
|
|
215
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.displayP3ToXyzd50(c1, c2, c3)));
|
|
216
|
+
}
|
|
217
|
+
case 'a98-rgb': {
|
|
218
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.adobeRGBToXyzd50(c1, c2, c3)));
|
|
219
|
+
}
|
|
220
|
+
case 'prophoto-rgb': {
|
|
221
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.proPhotoToXyzd50(c1, c2, c3)));
|
|
222
|
+
}
|
|
223
|
+
case 'rec2020': {
|
|
224
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.rec2020ToXyzd50(c1, c2, c3)));
|
|
225
|
+
}
|
|
226
|
+
// XYZ color spaces
|
|
227
|
+
case 'xyz':
|
|
228
|
+
case 'xyz-d65': {
|
|
229
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(...convert.xyzd65ToD50(c1, c2, c3)));
|
|
230
|
+
}
|
|
231
|
+
case 'xyz-d50': {
|
|
232
|
+
return newColorFromArray(a, convert.xyzd50ToSrgb(c1, c2, c3));
|
|
233
|
+
}
|
|
234
|
+
default:
|
|
235
|
+
}
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
default:
|
|
239
|
+
}
|
|
240
|
+
throw new Error(`Color.parse(): invalid CSS color: "${color}"`);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Accepts: "50%", "128"
|
|
244
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb#values
|
|
245
|
+
* @returns a value in the 0 to 255 range
|
|
246
|
+
*/
|
|
247
|
+
function parseColorChannel(channel) {
|
|
248
|
+
if (channel.charCodeAt(channel.length - 1) === PERCENT) {
|
|
249
|
+
return Math.round((Number.parseFloat(channel) / 100) * 255);
|
|
250
|
+
}
|
|
251
|
+
return Math.round(Number.parseFloat(channel));
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Accepts: "50%", ".5", "0.5"
|
|
255
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/alpha-value
|
|
256
|
+
* @returns a value in the [0, 255] range
|
|
257
|
+
*/
|
|
258
|
+
function parseAlphaChannel(channel) {
|
|
259
|
+
return Math.round(parseAlphaValue(channel) * 255);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Accepts: "50%", ".5", "0.5"
|
|
263
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/alpha-value
|
|
264
|
+
* @returns a value in the [0, 1] range
|
|
265
|
+
*/
|
|
266
|
+
function parseAlphaValue(channel) {
|
|
267
|
+
if (channel.charCodeAt(0) === N) {
|
|
268
|
+
return 0;
|
|
269
|
+
}
|
|
270
|
+
if (channel.charCodeAt(channel.length - 1) === PERCENT) {
|
|
271
|
+
return Number.parseFloat(channel) / 100;
|
|
272
|
+
}
|
|
273
|
+
return Number.parseFloat(channel);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Accepts: "360", "360deg", "400grad", "6.28rad", "1turn", "none"
|
|
277
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/angle
|
|
278
|
+
* @returns a value in the 0.0 to 1.0 range
|
|
279
|
+
*/
|
|
280
|
+
function parseAngle(angle) {
|
|
281
|
+
let factor;
|
|
282
|
+
switch (angle.charCodeAt(angle.length - 1)) {
|
|
283
|
+
case E: {
|
|
284
|
+
// 'none'
|
|
285
|
+
return 0;
|
|
286
|
+
}
|
|
287
|
+
case D: {
|
|
288
|
+
// 'rad', 'grad'
|
|
289
|
+
factor =
|
|
290
|
+
angle.charCodeAt(Math.max(0, angle.length - 4)) === G
|
|
291
|
+
? 400
|
|
292
|
+
: 2 * Math.PI; // TAU
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
case N: {
|
|
296
|
+
// 'turn'
|
|
297
|
+
factor = 1;
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
// case G: // 'deg', but no need to check as it's also the default
|
|
301
|
+
default: {
|
|
302
|
+
factor = 360;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
const turns = Number.parseFloat(angle) / factor;
|
|
306
|
+
// Hue is periodic, and every caller of this is a hue. `hueToRGB` corrects its
|
|
307
|
+
// argument by at most one turn, so it reads `hsl(-720deg)` as a hue two turns
|
|
308
|
+
// below the wheel rather than as red — folding here is what makes the three
|
|
309
|
+
// hue syntaxes agree with a browser past ±1 turn.
|
|
310
|
+
return turns - Math.floor(turns);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Accepts: "100%", "none"
|
|
314
|
+
* @returns a value in the 0.0 to 1.0 range
|
|
315
|
+
*/
|
|
316
|
+
function parsePercentage(value) {
|
|
317
|
+
if (value.charCodeAt(0) === N) {
|
|
318
|
+
return 0;
|
|
319
|
+
}
|
|
320
|
+
return Number.parseFloat(value) / 100;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Accepts: "1.0", "100%", "none"
|
|
324
|
+
* @returns a value in the 0.0 to 1.0 range
|
|
325
|
+
*/
|
|
326
|
+
function parsePercentageOrValue(value) {
|
|
327
|
+
if (value.charCodeAt(0) === N) {
|
|
328
|
+
return 0;
|
|
329
|
+
}
|
|
330
|
+
if (value.charCodeAt(value.length - 1) === PERCENT) {
|
|
331
|
+
return Number.parseFloat(value) / 100;
|
|
332
|
+
}
|
|
333
|
+
return Number.parseFloat(value);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Accepts: "100", "100%", "none"
|
|
337
|
+
* @returns a value in the -@range to @range range
|
|
338
|
+
*/
|
|
339
|
+
function parsePercentageFor(value, range) {
|
|
340
|
+
if (value.charCodeAt(0) === N) {
|
|
341
|
+
return 0;
|
|
342
|
+
}
|
|
343
|
+
if (value.charCodeAt(value.length - 1) === PERCENT) {
|
|
344
|
+
return (Number.parseFloat(value) / 100) * range;
|
|
345
|
+
}
|
|
346
|
+
return Number.parseFloat(value);
|
|
347
|
+
}
|
|
348
|
+
// HSL functions
|
|
349
|
+
function hueToRGB(p, q, t) {
|
|
350
|
+
if (t < 0) {
|
|
351
|
+
t += 1;
|
|
352
|
+
}
|
|
353
|
+
if (t > 1) {
|
|
354
|
+
t -= 1;
|
|
355
|
+
}
|
|
356
|
+
if (t < 1 / 6) {
|
|
357
|
+
return p + (q - p) * 6 * t;
|
|
358
|
+
}
|
|
359
|
+
if (t < 1 / 2) {
|
|
360
|
+
return q;
|
|
361
|
+
}
|
|
362
|
+
if (t < 2 / 3) {
|
|
363
|
+
return p + (q - p) * (2 / 3 - t) * 6;
|
|
364
|
+
}
|
|
365
|
+
return p;
|
|
366
|
+
}
|
|
367
|
+
// HWB functions
|
|
368
|
+
function hwbApply(channel, w, b) {
|
|
369
|
+
let result = channel / 255;
|
|
370
|
+
result *= 1 - w - b;
|
|
371
|
+
result += w;
|
|
372
|
+
return Math.round(result * 255);
|
|
373
|
+
}
|
|
374
|
+
function clamp(value) {
|
|
375
|
+
return Math.max(0, Math.min(255, value));
|
|
376
|
+
}
|
|
377
|
+
function newColorFromArray(a, rgb) {
|
|
378
|
+
const r = clamp(Math.round(rgb[0] * 255));
|
|
379
|
+
const g = clamp(Math.round(rgb[1] * 255));
|
|
380
|
+
const b = clamp(Math.round(rgb[2] * 255));
|
|
381
|
+
return newColor(r, g, b, a);
|
|
382
|
+
}
|
|
@@ -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[];
|