@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,37 @@
|
|
|
1
|
+
// Bitwise functions
|
|
2
|
+
//
|
|
3
|
+
// The color representation would ideally be 32-bits unsigned, but JS bitwise
|
|
4
|
+
// operators only work as 32-bits signed. The range of Smi values on V8 is also
|
|
5
|
+
// 32-bits signed. Those two factors make it that it's much more efficient to just
|
|
6
|
+
// use signed integers to represent the data.
|
|
7
|
+
//
|
|
8
|
+
// Colors with a R channel >= 0x80 will be a negative number, but that's not really
|
|
9
|
+
// an issue at any point because the bits for signed and unsigned integers are always
|
|
10
|
+
// the same, only their interpretation changes.
|
|
11
|
+
const INT32_TO_UINT32_OFFSET = 2 ** 32;
|
|
12
|
+
export function cast(n) {
|
|
13
|
+
if (n < 0) {
|
|
14
|
+
return n + INT32_TO_UINT32_OFFSET;
|
|
15
|
+
}
|
|
16
|
+
return n;
|
|
17
|
+
}
|
|
18
|
+
export function get(n, offset) {
|
|
19
|
+
return (n >> offset) & 0xff;
|
|
20
|
+
}
|
|
21
|
+
export function set(n, offset, byte) {
|
|
22
|
+
return n ^ ((n ^ (clampByte(byte) << offset)) & (0xff << offset));
|
|
23
|
+
}
|
|
24
|
+
// CSS clamps an out-of-range channel and this composition cannot: `<<` wraps,
|
|
25
|
+
// and `newColor`'s `+` then carries the overflow into the neighbouring channel.
|
|
26
|
+
// Unclamped, `rgb(0 0 0 / -20%)` composes to white at 80% rather than to
|
|
27
|
+
// transparent black, and `alpha(red, 1.4)` masks 357 down to 101, painting a
|
|
28
|
+
// feature at 40% opacity for a caller that asked for more than full. Both
|
|
29
|
+
// channel parsers already document a 0..255 result; this is what makes it true.
|
|
30
|
+
export function clampByte(n) {
|
|
31
|
+
// `> 0` rather than `< 0`, so NaN takes the zero branch: every comparison
|
|
32
|
+
// against NaN is false, and an unclamped NaN shifts to 0 anyway — silently,
|
|
33
|
+
// one channel at a time. `jexl:alpha(color, get(feature,'opacity'))` on a
|
|
34
|
+
// non-numeric attribute is the reachable one, and it drew the feature at
|
|
35
|
+
// alpha 0 instead of reaching the invalid-colour sentinel.
|
|
36
|
+
return n > 0 ? (n > 255 ? 255 : n) : 0;
|
|
37
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare function labToXyzd50(l: number, a: number, b: number): [number, number, number];
|
|
2
|
+
export declare function xyzd50ToLab(x: number, y: number, z: number): [number, number, number];
|
|
3
|
+
export declare function oklabToXyzd65(l: number, a: number, b: number): [number, number, number];
|
|
4
|
+
export declare function xyzd65ToOklab(x: number, y: number, z: number): [number, number, number];
|
|
5
|
+
export declare function lchToLab(l: number, c: number, h: number | undefined): [number, number, number];
|
|
6
|
+
export declare function labToLch(l: number, a: number, b: number): [number, number, number];
|
|
7
|
+
export declare function displayP3ToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
8
|
+
export declare function xyzd50ToDisplayP3(x: number, y: number, z: number): [number, number, number];
|
|
9
|
+
export declare function proPhotoToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
10
|
+
export declare function xyzd50ToProPhoto(x: number, y: number, z: number): [number, number, number];
|
|
11
|
+
export declare function adobeRGBToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
12
|
+
export declare function xyzd50ToAdobeRGB(x: number, y: number, z: number): [number, number, number];
|
|
13
|
+
export declare function rec2020ToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
14
|
+
export declare function xyzd50ToRec2020(x: number, y: number, z: number): [number, number, number];
|
|
15
|
+
export declare function xyzd50ToD65(x: number, y: number, z: number): [number, number, number];
|
|
16
|
+
export declare function xyzd65ToD50(x: number, y: number, z: number): [number, number, number];
|
|
17
|
+
export declare function xyzd65TosRGBLinear(x: number, y: number, z: number): [number, number, number];
|
|
18
|
+
export declare function xyzd50TosRGBLinear(x: number, y: number, z: number): [number, number, number];
|
|
19
|
+
export declare function srgbLinearToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
20
|
+
export declare function srgbToXyzd50(r: number, g: number, b: number): [number, number, number];
|
|
21
|
+
export declare function xyzd50ToSrgb(x: number, y: number, z: number): [number, number, number];
|
|
22
|
+
export declare function oklchToXyzd50(lInput: number, c: number, h: number): [number, number, number];
|
|
23
|
+
export declare function xyzd50ToOklch(x: number, y: number, z: number): [number, number, number];
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
//
|
|
5
|
+
// Source: https://github.com/ChromeDevTools/devtools-frontend/blob/c51201e6ee70370f7f1ac8a1a49dca7d4561aeaa/front_end/core/common/ColorConverter.ts
|
|
6
|
+
// License: https://github.com/ChromeDevTools/devtools-frontend/blob/c51201e6ee70370f7f1ac8a1a49dca7d4561aeaa/LICENSE
|
|
7
|
+
/**
|
|
8
|
+
* Implementation of this module and all the tests are heavily influenced by
|
|
9
|
+
* https://source.chromium.org/chromium/chromium/src/+/main:ui/gfx/color_conversions.cc
|
|
10
|
+
*/
|
|
11
|
+
// https://en.wikipedia.org/wiki/CIELAB_color_space#Converting_between_CIELAB_and_CIEXYZ_coordinates
|
|
12
|
+
const D50_X = 0.9642;
|
|
13
|
+
const D50_Y = 1;
|
|
14
|
+
const D50_Z = 0.8251;
|
|
15
|
+
function multiply(matrix, other) {
|
|
16
|
+
const dst = [0, 0, 0];
|
|
17
|
+
for (let row = 0; row < 3; ++row) {
|
|
18
|
+
dst[row] =
|
|
19
|
+
matrix[row][0] * other[0] +
|
|
20
|
+
matrix[row][1] * other[1] +
|
|
21
|
+
matrix[row][2] * other[2];
|
|
22
|
+
}
|
|
23
|
+
return dst;
|
|
24
|
+
}
|
|
25
|
+
// A transfer function mapping encoded values to linear values,
|
|
26
|
+
// represented by this 7-parameter piecewise function:
|
|
27
|
+
//
|
|
28
|
+
// linear = sign(encoded) * (c*|encoded| + f) , 0 <= |encoded| < d
|
|
29
|
+
// = sign(encoded) * ((a*|encoded| + b)^g + e), d <= |encoded|
|
|
30
|
+
//
|
|
31
|
+
// (A simple gamma transfer function sets g to gamma and a to 1.)
|
|
32
|
+
class TransferFunction {
|
|
33
|
+
g;
|
|
34
|
+
a;
|
|
35
|
+
b;
|
|
36
|
+
c;
|
|
37
|
+
d;
|
|
38
|
+
e;
|
|
39
|
+
f;
|
|
40
|
+
constructor(g, a, b = 0, c = 0, d = 0, e = 0, f = 0) {
|
|
41
|
+
this.g = g;
|
|
42
|
+
this.a = a;
|
|
43
|
+
this.b = b;
|
|
44
|
+
this.c = c;
|
|
45
|
+
this.d = d;
|
|
46
|
+
this.e = e;
|
|
47
|
+
this.f = f;
|
|
48
|
+
}
|
|
49
|
+
eval(val) {
|
|
50
|
+
const sign = val < 0 ? -1 : 1;
|
|
51
|
+
const abs = val * sign;
|
|
52
|
+
if (abs < this.d) {
|
|
53
|
+
return sign * (this.c * abs + this.f);
|
|
54
|
+
}
|
|
55
|
+
return sign * (Math.pow(this.a * abs + this.b, this.g) + this.e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const NAMED_TRANSFER_FN = {
|
|
59
|
+
sRGB: new TransferFunction(2.4, 1 / 1.055, 0.055 / 1.055, 1 / 12.92, 0.04045, 0, 0),
|
|
60
|
+
sRGB_INVERSE: new TransferFunction(0.416667, 1.13728, -0, 12.92, 0.0031308, -0.0549698, -0),
|
|
61
|
+
proPhotoRGB: new TransferFunction(1.8, 1),
|
|
62
|
+
proPhotoRGB_INVERSE: new TransferFunction(0.555556, 1, -0, 0, 0, 0, 0),
|
|
63
|
+
k2Dot2: new TransferFunction(2.2, 1),
|
|
64
|
+
k2Dot2_INVERSE: new TransferFunction(0.454545, 1),
|
|
65
|
+
rec2020: new TransferFunction(2.22222, 0.909672, 0.0903276, 0.222222, 0.0812429, 0, 0),
|
|
66
|
+
rec2020_INVERSE: new TransferFunction(0.45, 1.23439, -0, 4.5, 0.018054, -0.0993195, -0),
|
|
67
|
+
};
|
|
68
|
+
const NAMED_GAMUTS = {
|
|
69
|
+
sRGB: [
|
|
70
|
+
[0.436065674, 0.385147095, 0.143066406],
|
|
71
|
+
[0.222488403, 0.716873169, 0.06060791],
|
|
72
|
+
[0.013916016, 0.097076416, 0.714096069],
|
|
73
|
+
],
|
|
74
|
+
sRGB_INVERSE: [
|
|
75
|
+
[3.134112151374599, -1.6173924597114966, -0.4906334036481285],
|
|
76
|
+
[-0.9787872938826594, 1.9162795854799963, 0.0334547139520088],
|
|
77
|
+
[0.07198304248352326, -0.2289858493321844, 1.4053851325241447],
|
|
78
|
+
],
|
|
79
|
+
displayP3: [
|
|
80
|
+
[0.515102, 0.291965, 0.157153],
|
|
81
|
+
[0.241182, 0.692236, 0.0665819],
|
|
82
|
+
[-0.00104941, 0.0418818, 0.784378],
|
|
83
|
+
],
|
|
84
|
+
displayP3_INVERSE: [
|
|
85
|
+
[2.404045155982687, -0.9898986932663839, -0.3976317191366333],
|
|
86
|
+
[-0.8422283799266768, 1.7988505115115485, 0.016048170293157416],
|
|
87
|
+
[0.04818705979712955, -0.09737385156228891, 1.2735066448052303],
|
|
88
|
+
],
|
|
89
|
+
adobeRGB: [
|
|
90
|
+
[0.60974, 0.20528, 0.14919],
|
|
91
|
+
[0.31111, 0.62567, 0.06322],
|
|
92
|
+
[0.01947, 0.06087, 0.74457],
|
|
93
|
+
],
|
|
94
|
+
adobeRGB_INVERSE: [
|
|
95
|
+
[1.9625385510109137, -0.6106892546501431, -0.3413827467482388],
|
|
96
|
+
[-0.9787580455521, 1.9161624707082339, 0.03341676594241408],
|
|
97
|
+
[0.028696263137883395, -0.1406807819331586, 1.349252109991369],
|
|
98
|
+
],
|
|
99
|
+
rec2020: [
|
|
100
|
+
[0.673459, 0.165661, 0.1251],
|
|
101
|
+
[0.279033, 0.675338, 0.0456288],
|
|
102
|
+
[-0.00193139, 0.0299794, 0.797162],
|
|
103
|
+
],
|
|
104
|
+
rec2020_INVERSE: [
|
|
105
|
+
[1.647275201661012, -0.3936024771460771, -0.23598028884792507],
|
|
106
|
+
[-0.6826176165196962, 1.647617775014935, 0.01281626807852422],
|
|
107
|
+
[0.029662725298529837, -0.06291668721366285, 1.2533964313435522],
|
|
108
|
+
],
|
|
109
|
+
xyz: [
|
|
110
|
+
[1, 0, 0],
|
|
111
|
+
[0, 1, 0],
|
|
112
|
+
[0, 0, 1],
|
|
113
|
+
],
|
|
114
|
+
};
|
|
115
|
+
function degToRad(deg) {
|
|
116
|
+
return deg * (Math.PI / 180);
|
|
117
|
+
}
|
|
118
|
+
function radToDeg(rad) {
|
|
119
|
+
return rad * (180 / Math.PI);
|
|
120
|
+
}
|
|
121
|
+
function applyTransferFns(fn, r, g, b) {
|
|
122
|
+
return [fn.eval(r), fn.eval(g), fn.eval(b)];
|
|
123
|
+
}
|
|
124
|
+
const OKLAB_TO_LMS_MATRIX = [
|
|
125
|
+
[0.9999999984505198, 0.3963377921737679, 0.2158037580607588],
|
|
126
|
+
[1.000000008881761, -0.10556134232365635, -0.06385417477170591],
|
|
127
|
+
[1.00000005467241, -0.0894841820949658, -1.2914855378640917],
|
|
128
|
+
];
|
|
129
|
+
const LMS_TO_OKLAB_MATRIX = [
|
|
130
|
+
[0.2104542553, 0.7936177849999999, -0.0040720468],
|
|
131
|
+
[1.9779984951000003, -2.4285922049999997, 0.4505937099000001],
|
|
132
|
+
[0.025904037099999982, 0.7827717662, -0.8086757660000001],
|
|
133
|
+
];
|
|
134
|
+
const XYZ_TO_LMS_MATRIX = [
|
|
135
|
+
[0.8190224432164319, 0.3619062562801221, -0.12887378261216414],
|
|
136
|
+
[0.0329836671980271, 0.9292868468965546, 0.03614466816999844],
|
|
137
|
+
[0.048177199566046255, 0.26423952494422764, 0.6335478258136937],
|
|
138
|
+
];
|
|
139
|
+
const LMS_TO_XYZ_MATRIX = [
|
|
140
|
+
[1.226879873374156, -0.5578149965554814, 0.2813910501772159],
|
|
141
|
+
[-0.040575762624313734, 1.1122868293970596, -0.07171106666151703],
|
|
142
|
+
[-0.07637294974672144, -0.4214933239627915, 1.586924024427242],
|
|
143
|
+
];
|
|
144
|
+
const PRO_PHOTO_TO_XYZD50_MATRIX = [
|
|
145
|
+
[0.7976700747153241, 0.13519395152800417, 0.03135596341127167],
|
|
146
|
+
[0.28803902352472205, 0.7118744007923554, 0.00008661179538844252],
|
|
147
|
+
[2.739876695467402e-7, -0.0000014405226518969991, 0.825211112593861],
|
|
148
|
+
];
|
|
149
|
+
const XYZD50_TO_PRO_PHOTO_MATRIX = [
|
|
150
|
+
[1.3459533710138858, -0.25561367037652133, -0.051116041522131374],
|
|
151
|
+
[-0.544600415668951, 1.5081687311475767, 0.020535163968720935],
|
|
152
|
+
[-0.0000013975622054109725, 0.000002717590904589903, 1.2118111696814942],
|
|
153
|
+
];
|
|
154
|
+
const XYZD65_TO_XYZD50_MATRIX = [
|
|
155
|
+
[1.0478573189120088, 0.022907374491829943, -0.050162247377152525],
|
|
156
|
+
[0.029570500050499514, 0.9904755577034089, -0.017061518194840468],
|
|
157
|
+
[-0.00924047197558879, 0.015052921526981566, 0.7519708530777581],
|
|
158
|
+
];
|
|
159
|
+
const XYZD50_TO_XYZD65_MATRIX = [
|
|
160
|
+
[0.9555366447632887, -0.02306009252137888, 0.06321844147263304],
|
|
161
|
+
[-0.028315378228764922, 1.009951351591575, 0.021026001591792402],
|
|
162
|
+
[0.012308773293784308, -0.02050053471777469, 1.3301947294775631],
|
|
163
|
+
];
|
|
164
|
+
const XYZD65_TO_SRGB_MATRIX = [
|
|
165
|
+
[3.2408089365140573, -1.5375788839307314, -0.4985609572551541],
|
|
166
|
+
[-0.9692732213205414, 1.876110235238969, 0.041560501141251774],
|
|
167
|
+
[0.05567030990267439, -0.2040007921971802, 1.0571046720577026],
|
|
168
|
+
];
|
|
169
|
+
export function labToXyzd50(l, a, b) {
|
|
170
|
+
let y = (l + 16) / 116;
|
|
171
|
+
let x = y + a / 500;
|
|
172
|
+
let z = y - b / 200;
|
|
173
|
+
function labInverseTransferFunction(t) {
|
|
174
|
+
const delta = 24 / 116;
|
|
175
|
+
if (t <= delta) {
|
|
176
|
+
return (108 / 841) * (t - 16 / 116);
|
|
177
|
+
}
|
|
178
|
+
return t * t * t;
|
|
179
|
+
}
|
|
180
|
+
x = labInverseTransferFunction(x) * D50_X;
|
|
181
|
+
y = labInverseTransferFunction(y) * D50_Y;
|
|
182
|
+
z = labInverseTransferFunction(z) * D50_Z;
|
|
183
|
+
return [x, y, z];
|
|
184
|
+
}
|
|
185
|
+
export function xyzd50ToLab(x, y, z) {
|
|
186
|
+
function labTransferFunction(t) {
|
|
187
|
+
const deltaLimit = (24 / 116) * (24 / 116) * (24 / 116);
|
|
188
|
+
if (t <= deltaLimit) {
|
|
189
|
+
return (841 / 108) * t + 16 / 116;
|
|
190
|
+
}
|
|
191
|
+
return Math.pow(t, 1 / 3);
|
|
192
|
+
}
|
|
193
|
+
x = labTransferFunction(x / D50_X);
|
|
194
|
+
y = labTransferFunction(y / D50_Y);
|
|
195
|
+
z = labTransferFunction(z / D50_Z);
|
|
196
|
+
const l = 116 * y - 16;
|
|
197
|
+
const a = 500 * (x - y);
|
|
198
|
+
const bOut = 200 * (y - z);
|
|
199
|
+
return [l, a, bOut];
|
|
200
|
+
}
|
|
201
|
+
export function oklabToXyzd65(l, a, b) {
|
|
202
|
+
const labInput = [l, a, b];
|
|
203
|
+
const lmsIntermediate = multiply(OKLAB_TO_LMS_MATRIX, labInput);
|
|
204
|
+
lmsIntermediate[0] =
|
|
205
|
+
lmsIntermediate[0] * lmsIntermediate[0] * lmsIntermediate[0];
|
|
206
|
+
lmsIntermediate[1] =
|
|
207
|
+
lmsIntermediate[1] * lmsIntermediate[1] * lmsIntermediate[1];
|
|
208
|
+
lmsIntermediate[2] =
|
|
209
|
+
lmsIntermediate[2] * lmsIntermediate[2] * lmsIntermediate[2];
|
|
210
|
+
return multiply(LMS_TO_XYZ_MATRIX, lmsIntermediate);
|
|
211
|
+
}
|
|
212
|
+
export function xyzd65ToOklab(x, y, z) {
|
|
213
|
+
const xyzInput = [x, y, z];
|
|
214
|
+
const lmsIntermediate = multiply(XYZ_TO_LMS_MATRIX, xyzInput);
|
|
215
|
+
lmsIntermediate[0] = Math.pow(lmsIntermediate[0], 1 / 3);
|
|
216
|
+
lmsIntermediate[1] = Math.pow(lmsIntermediate[1], 1 / 3);
|
|
217
|
+
lmsIntermediate[2] = Math.pow(lmsIntermediate[2], 1 / 3);
|
|
218
|
+
const labOutput = multiply(LMS_TO_OKLAB_MATRIX, lmsIntermediate);
|
|
219
|
+
return [labOutput[0], labOutput[1], labOutput[2]];
|
|
220
|
+
}
|
|
221
|
+
export function lchToLab(l, c, h) {
|
|
222
|
+
if (h === undefined) {
|
|
223
|
+
return [l, 0, 0];
|
|
224
|
+
}
|
|
225
|
+
return [l, c * Math.cos(degToRad(h)), c * Math.sin(degToRad(h))];
|
|
226
|
+
}
|
|
227
|
+
export function labToLch(l, a, b) {
|
|
228
|
+
return [l, Math.hypot(a, b), radToDeg(Math.atan2(b, a))];
|
|
229
|
+
}
|
|
230
|
+
export function displayP3ToXyzd50(r, g, b) {
|
|
231
|
+
const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.sRGB, r, g, b);
|
|
232
|
+
return multiply(NAMED_GAMUTS.displayP3, [mappedR, mappedG, mappedB]);
|
|
233
|
+
}
|
|
234
|
+
export function xyzd50ToDisplayP3(x, y, z) {
|
|
235
|
+
const rgbOutput = multiply(NAMED_GAMUTS.displayP3_INVERSE, [x, y, z]);
|
|
236
|
+
return applyTransferFns(NAMED_TRANSFER_FN.sRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
|
|
237
|
+
}
|
|
238
|
+
export function proPhotoToXyzd50(r, g, b) {
|
|
239
|
+
const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.proPhotoRGB, r, g, b);
|
|
240
|
+
return multiply(PRO_PHOTO_TO_XYZD50_MATRIX, [mappedR, mappedG, mappedB]);
|
|
241
|
+
}
|
|
242
|
+
export function xyzd50ToProPhoto(x, y, z) {
|
|
243
|
+
const rgbOutput = multiply(XYZD50_TO_PRO_PHOTO_MATRIX, [x, y, z]);
|
|
244
|
+
return applyTransferFns(NAMED_TRANSFER_FN.proPhotoRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
|
|
245
|
+
}
|
|
246
|
+
export function adobeRGBToXyzd50(r, g, b) {
|
|
247
|
+
const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.k2Dot2, r, g, b);
|
|
248
|
+
return multiply(NAMED_GAMUTS.adobeRGB, [mappedR, mappedG, mappedB]);
|
|
249
|
+
}
|
|
250
|
+
export function xyzd50ToAdobeRGB(x, y, z) {
|
|
251
|
+
const rgbOutput = multiply(NAMED_GAMUTS.adobeRGB_INVERSE, [x, y, z]);
|
|
252
|
+
return applyTransferFns(NAMED_TRANSFER_FN.k2Dot2_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
|
|
253
|
+
}
|
|
254
|
+
export function rec2020ToXyzd50(r, g, b) {
|
|
255
|
+
const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.rec2020, r, g, b);
|
|
256
|
+
return multiply(NAMED_GAMUTS.rec2020, [mappedR, mappedG, mappedB]);
|
|
257
|
+
}
|
|
258
|
+
export function xyzd50ToRec2020(x, y, z) {
|
|
259
|
+
const rgbOutput = multiply(NAMED_GAMUTS.rec2020_INVERSE, [x, y, z]);
|
|
260
|
+
return applyTransferFns(NAMED_TRANSFER_FN.rec2020_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
|
|
261
|
+
}
|
|
262
|
+
export function xyzd50ToD65(x, y, z) {
|
|
263
|
+
return multiply(XYZD50_TO_XYZD65_MATRIX, [x, y, z]);
|
|
264
|
+
}
|
|
265
|
+
export function xyzd65ToD50(x, y, z) {
|
|
266
|
+
return multiply(XYZD65_TO_XYZD50_MATRIX, [x, y, z]);
|
|
267
|
+
}
|
|
268
|
+
export function xyzd65TosRGBLinear(x, y, z) {
|
|
269
|
+
return multiply(XYZD65_TO_SRGB_MATRIX, [x, y, z]);
|
|
270
|
+
}
|
|
271
|
+
export function xyzd50TosRGBLinear(x, y, z) {
|
|
272
|
+
return multiply(NAMED_GAMUTS.sRGB_INVERSE, [x, y, z]);
|
|
273
|
+
}
|
|
274
|
+
export function srgbLinearToXyzd50(r, g, b) {
|
|
275
|
+
return multiply(NAMED_GAMUTS.sRGB, [r, g, b]);
|
|
276
|
+
}
|
|
277
|
+
export function srgbToXyzd50(r, g, b) {
|
|
278
|
+
const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.sRGB, r, g, b);
|
|
279
|
+
return multiply(NAMED_GAMUTS.sRGB, [mappedR, mappedG, mappedB]);
|
|
280
|
+
}
|
|
281
|
+
export function xyzd50ToSrgb(x, y, z) {
|
|
282
|
+
const rgbOutput = multiply(NAMED_GAMUTS.sRGB_INVERSE, [x, y, z]);
|
|
283
|
+
return applyTransferFns(NAMED_TRANSFER_FN.sRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
|
|
284
|
+
}
|
|
285
|
+
export function oklchToXyzd50(lInput, c, h) {
|
|
286
|
+
const [l, a, b] = lchToLab(lInput, c, h);
|
|
287
|
+
const [x65, y65, z65] = oklabToXyzd65(l, a, b);
|
|
288
|
+
return xyzd65ToD50(x65, y65, z65);
|
|
289
|
+
}
|
|
290
|
+
export function xyzd50ToOklch(x, y, z) {
|
|
291
|
+
const [x65, y65, z65] = xyzd50ToD65(x, y, z);
|
|
292
|
+
const [l, a, b] = xyzd65ToOklab(x65, y65, z65);
|
|
293
|
+
return labToLch(l, a, b);
|
|
294
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type Color = number;
|
|
2
|
+
export declare const OFFSET_R = 24;
|
|
3
|
+
export declare const OFFSET_G = 16;
|
|
4
|
+
export declare const OFFSET_B = 8;
|
|
5
|
+
export declare const OFFSET_A = 0;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new color from the given RGBA components.
|
|
8
|
+
* Every component should be in the [0, 255] range.
|
|
9
|
+
*/
|
|
10
|
+
export declare function newColor(r: number, g: number, b: number, a: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new color from a number in the canonical `0xRRGGBBAA` layout —
|
|
13
|
+
* alpha in the LOW byte, which is what `newColor` composes and what
|
|
14
|
+
* `getRed`/`getAlpha` read.
|
|
15
|
+
*
|
|
16
|
+
* A 24-bit CSS hex is therefore not one of these, and this used to say it was:
|
|
17
|
+
* `from(0x599eff)` is `0x00599eff`, so it reads R=0x00, G=0x59, B=0x9e and
|
|
18
|
+
* A=0xff — every intended channel one byte down, with the blue arriving as the
|
|
19
|
+
* alpha. Spell the alpha (`from(0x599effff)`), or use `newColor(r, g, b, a)`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function from(color: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Turns the color into its equivalent number representation.
|
|
24
|
+
* This is essentially a cast from int32 to uint32.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toNumber(color: Color): number;
|
|
27
|
+
export declare function getRed(c: Color): number;
|
|
28
|
+
export declare function getGreen(c: Color): number;
|
|
29
|
+
export declare function getBlue(c: Color): number;
|
|
30
|
+
export declare function getAlpha(c: Color): number;
|
|
31
|
+
export declare function setRed(c: Color, value: number): number;
|
|
32
|
+
export declare function setGreen(c: Color, value: number): number;
|
|
33
|
+
export declare function setBlue(c: Color, value: number): number;
|
|
34
|
+
export declare function setAlpha(c: Color, value: number): number;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { cast, clampByte, get, set } from './bit.js';
|
|
2
|
+
export const OFFSET_R = 24;
|
|
3
|
+
export const OFFSET_G = 16;
|
|
4
|
+
export const OFFSET_B = 8;
|
|
5
|
+
export const OFFSET_A = 0;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new color from the given RGBA components.
|
|
8
|
+
* Every component should be in the [0, 255] range.
|
|
9
|
+
*/
|
|
10
|
+
export function newColor(r, g, b, a) {
|
|
11
|
+
return ((clampByte(r) << OFFSET_R) +
|
|
12
|
+
(clampByte(g) << OFFSET_G) +
|
|
13
|
+
(clampByte(b) << OFFSET_B) +
|
|
14
|
+
(clampByte(a) << OFFSET_A));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new color from a number in the canonical `0xRRGGBBAA` layout —
|
|
18
|
+
* alpha in the LOW byte, which is what `newColor` composes and what
|
|
19
|
+
* `getRed`/`getAlpha` read.
|
|
20
|
+
*
|
|
21
|
+
* A 24-bit CSS hex is therefore not one of these, and this used to say it was:
|
|
22
|
+
* `from(0x599eff)` is `0x00599eff`, so it reads R=0x00, G=0x59, B=0x9e and
|
|
23
|
+
* A=0xff — every intended channel one byte down, with the blue arriving as the
|
|
24
|
+
* alpha. Spell the alpha (`from(0x599effff)`), or use `newColor(r, g, b, a)`.
|
|
25
|
+
*/
|
|
26
|
+
export function from(color) {
|
|
27
|
+
return newColor(get(color, OFFSET_R), get(color, OFFSET_G), get(color, OFFSET_B), get(color, OFFSET_A));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Turns the color into its equivalent number representation.
|
|
31
|
+
* This is essentially a cast from int32 to uint32.
|
|
32
|
+
*/
|
|
33
|
+
export function toNumber(color) {
|
|
34
|
+
return cast(color);
|
|
35
|
+
}
|
|
36
|
+
// These read the canonical 0xRRGGBBAA layout (R in the HIGH byte). Their
|
|
37
|
+
// mirror image is `abgrRed`/`abgrGreen`/`abgrBlue`/`abgrAlpha` in
|
|
38
|
+
// ../colorBits.ts, which reads the ABGR u32 the GPU path packs (R in the LOW
|
|
39
|
+
// byte) — calling the wrong pair silently swaps R and B. Both take a plain
|
|
40
|
+
// number and cannot be told apart by the type system: a branded Color was
|
|
41
|
+
// considered and rejected, because ABGR values are read back out of
|
|
42
|
+
// Uint32Arrays, where indexing yields `number` and every read would need the
|
|
43
|
+
// cast that defeats the brand.
|
|
44
|
+
export function getRed(c) {
|
|
45
|
+
return get(c, OFFSET_R);
|
|
46
|
+
}
|
|
47
|
+
export function getGreen(c) {
|
|
48
|
+
return get(c, OFFSET_G);
|
|
49
|
+
}
|
|
50
|
+
export function getBlue(c) {
|
|
51
|
+
return get(c, OFFSET_B);
|
|
52
|
+
}
|
|
53
|
+
export function getAlpha(c) {
|
|
54
|
+
return get(c, OFFSET_A);
|
|
55
|
+
}
|
|
56
|
+
export function setRed(c, value) {
|
|
57
|
+
return set(c, OFFSET_R, value);
|
|
58
|
+
}
|
|
59
|
+
export function setGreen(c, value) {
|
|
60
|
+
return set(c, OFFSET_G, value);
|
|
61
|
+
}
|
|
62
|
+
export function setBlue(c, value) {
|
|
63
|
+
return set(c, OFFSET_B, value);
|
|
64
|
+
}
|
|
65
|
+
export function setAlpha(c, value) {
|
|
66
|
+
return set(c, OFFSET_A, value);
|
|
67
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Color } from './core.ts';
|
|
2
|
+
/** Format to a #RRGGBBAA string */
|
|
3
|
+
export declare const format: typeof formatHEXA;
|
|
4
|
+
/** Format to a #RRGGBBAA string */
|
|
5
|
+
export declare function formatHEXA(color: Color): string;
|
|
6
|
+
export declare function formatHEX(color: Color): string;
|
|
7
|
+
export declare function formatRGBA(color: Color): string;
|
|
8
|
+
export declare function toRGBA(color: Color): {
|
|
9
|
+
r: number;
|
|
10
|
+
g: number;
|
|
11
|
+
b: number;
|
|
12
|
+
a: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function formatHSLA(color: Color): string;
|
|
15
|
+
export declare function toHSLA(color: Color): {
|
|
16
|
+
h: number;
|
|
17
|
+
s: number;
|
|
18
|
+
l: number;
|
|
19
|
+
a: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Returns [r, g, b] as floats in 0-1 range, suitable for GPU shader uniforms.
|
|
23
|
+
*/
|
|
24
|
+
export declare function toGLrgb(color: Color): [number, number, number];
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { getAlpha, getBlue, getGreen, getRed } from './core.js';
|
|
2
|
+
// Return buffer, avoid allocations
|
|
3
|
+
const buffer = [0, 0, 0];
|
|
4
|
+
/**
|
|
5
|
+
* Map 8-bits value to its hexadecimal representation
|
|
6
|
+
* ['00', '01', '02', ..., 'fe', 'ff']
|
|
7
|
+
*/
|
|
8
|
+
const FORMAT_HEX = Array.from({ length: 256 }).map((_, byte) => byte.toString(16).padStart(2, '0'));
|
|
9
|
+
/** Format to a #RRGGBBAA string */
|
|
10
|
+
export const format = formatHEXA;
|
|
11
|
+
/** Format to a #RRGGBBAA string */
|
|
12
|
+
export function formatHEXA(color) {
|
|
13
|
+
return `#${FORMAT_HEX[getRed(color)]}${FORMAT_HEX[getGreen(color)]}${FORMAT_HEX[getBlue(color)]}${FORMAT_HEX[getAlpha(color)]}`;
|
|
14
|
+
}
|
|
15
|
+
export function formatHEX(color) {
|
|
16
|
+
return `#${FORMAT_HEX[getRed(color)]}${FORMAT_HEX[getGreen(color)]}${FORMAT_HEX[getBlue(color)]}`;
|
|
17
|
+
}
|
|
18
|
+
export function formatRGBA(color) {
|
|
19
|
+
return `rgba(${getRed(color)} ${getGreen(color)} ${getBlue(color)} / ${getAlpha(color) / 255})`;
|
|
20
|
+
}
|
|
21
|
+
export function toRGBA(color) {
|
|
22
|
+
return {
|
|
23
|
+
r: getRed(color),
|
|
24
|
+
g: getGreen(color),
|
|
25
|
+
b: getBlue(color),
|
|
26
|
+
a: getAlpha(color),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function formatHSLA(color) {
|
|
30
|
+
rgbToHSL(getRed(color), getGreen(color), getBlue(color));
|
|
31
|
+
const h = buffer[0];
|
|
32
|
+
const s = buffer[1];
|
|
33
|
+
const l = buffer[2];
|
|
34
|
+
const a = getAlpha(color) / 255;
|
|
35
|
+
return `hsla(${h} ${s}% ${l}% / ${a})`;
|
|
36
|
+
}
|
|
37
|
+
export function toHSLA(color) {
|
|
38
|
+
rgbToHSL(getRed(color), getGreen(color), getBlue(color));
|
|
39
|
+
const h = buffer[0];
|
|
40
|
+
const s = buffer[1];
|
|
41
|
+
const l = buffer[2];
|
|
42
|
+
const a = getAlpha(color) / 255;
|
|
43
|
+
return { h, s, l, a };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Returns [r, g, b] as floats in 0-1 range, suitable for GPU shader uniforms.
|
|
47
|
+
*/
|
|
48
|
+
export function toGLrgb(color) {
|
|
49
|
+
return [getRed(color) / 255, getGreen(color) / 255, getBlue(color) / 255];
|
|
50
|
+
}
|
|
51
|
+
// Conversion functions
|
|
52
|
+
// https://www.30secondsofcode.org/js/s/rgb-hex-hsl-hsb-color-format-conversion/
|
|
53
|
+
function rgbToHSL(r, g, b) {
|
|
54
|
+
r /= 255;
|
|
55
|
+
g /= 255;
|
|
56
|
+
b /= 255;
|
|
57
|
+
// `l` here is the max channel (HSV value) and `s` the chroma, not the HSL
|
|
58
|
+
// lightness/saturation; the real lightness is (max + min) / 2 = l - s / 2
|
|
59
|
+
const l = Math.max(r, g, b);
|
|
60
|
+
const s = l - Math.min(r, g, b);
|
|
61
|
+
const h = s
|
|
62
|
+
? l === r
|
|
63
|
+
? (g - b) / s
|
|
64
|
+
: l === g
|
|
65
|
+
? 2 + (b - r) / s
|
|
66
|
+
: 4 + (r - g) / s
|
|
67
|
+
: 0;
|
|
68
|
+
// the saturation formula is picked by lightness, not by the max channel:
|
|
69
|
+
// branching on `l` understated it whenever max > 0.5 while lightness < 0.5
|
|
70
|
+
// (e.g. #0a0ac8 came out 63.3% instead of 90.5%)
|
|
71
|
+
const doubleLightness = 2 * l - s;
|
|
72
|
+
buffer[0] = 60 * h < 0 ? 60 * h + 360 : 60 * h;
|
|
73
|
+
buffer[1] =
|
|
74
|
+
100 *
|
|
75
|
+
(s
|
|
76
|
+
? doubleLightness <= 1
|
|
77
|
+
? s / doubleLightness
|
|
78
|
+
: s / (2 - doubleLightness)
|
|
79
|
+
: 0);
|
|
80
|
+
buffer[2] = (100 * doubleLightness) / 2;
|
|
81
|
+
}
|
|
82
|
+
// https://stackoverflow.com/a/29463581/3112706
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Color } from './core.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Modifies color alpha channel.
|
|
4
|
+
* @param color - Color
|
|
5
|
+
* @param value - Value in the range [0, 1]
|
|
6
|
+
*/
|
|
7
|
+
export declare function alpha(color: Color, value: number): Color;
|
|
8
|
+
/**
|
|
9
|
+
* Darkens a color.
|
|
10
|
+
* @param color - Color
|
|
11
|
+
* @param coefficient - Multiplier in the range [0, 1]
|
|
12
|
+
*/
|
|
13
|
+
export declare function darken(color: Color, coefficient: number): Color;
|
|
14
|
+
/**
|
|
15
|
+
* Lighten a color.
|
|
16
|
+
* @param color - Color
|
|
17
|
+
* @param coefficient - Multiplier in the range [0, 1]
|
|
18
|
+
*/
|
|
19
|
+
export declare function lighten(color: Color, coefficient: number): Color;
|
|
20
|
+
/**
|
|
21
|
+
* Blend (aka mix) two colors together.
|
|
22
|
+
* @param background The background color
|
|
23
|
+
* @param overlay The overlay color that is affected by @opacity
|
|
24
|
+
* @param opacity Opacity (alpha) for @overlay
|
|
25
|
+
* @param [gamma=1.0] Gamma correction coefficient. `1.0` to match browser behavior, `2.2` for gamma-corrected blending.
|
|
26
|
+
*/
|
|
27
|
+
export declare function blend(background: Color, overlay: Color, opacity: number, gamma?: number): number;
|
|
28
|
+
/**
|
|
29
|
+
* The relative brightness of any point in a color space, normalized to 0 for
|
|
30
|
+
* darkest black and 1 for lightest white.
|
|
31
|
+
* @returns The relative brightness of the color in the range 0 - 1, with 3 digits precision
|
|
32
|
+
*/
|
|
33
|
+
export declare function getLuminance(color: Color): number;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getAlpha, getBlue, getGreen, getRed, newColor, setAlpha, } from './core.js';
|
|
2
|
+
/**
|
|
3
|
+
* Modifies color alpha channel.
|
|
4
|
+
* @param color - Color
|
|
5
|
+
* @param value - Value in the range [0, 1]
|
|
6
|
+
*/
|
|
7
|
+
export function alpha(color, value) {
|
|
8
|
+
return setAlpha(color, Math.round(value * 255));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Darkens a color.
|
|
12
|
+
* @param color - Color
|
|
13
|
+
* @param coefficient - Multiplier in the range [0, 1]
|
|
14
|
+
*/
|
|
15
|
+
export function darken(color, coefficient) {
|
|
16
|
+
const r = getRed(color);
|
|
17
|
+
const g = getGreen(color);
|
|
18
|
+
const b = getBlue(color);
|
|
19
|
+
const a = getAlpha(color);
|
|
20
|
+
const factor = 1 - coefficient;
|
|
21
|
+
return newColor(r * factor, g * factor, b * factor, a);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Lighten a color.
|
|
25
|
+
* @param color - Color
|
|
26
|
+
* @param coefficient - Multiplier in the range [0, 1]
|
|
27
|
+
*/
|
|
28
|
+
export function lighten(color, coefficient) {
|
|
29
|
+
const r = getRed(color);
|
|
30
|
+
const g = getGreen(color);
|
|
31
|
+
const b = getBlue(color);
|
|
32
|
+
const a = getAlpha(color);
|
|
33
|
+
return newColor(r + (255 - r) * coefficient, g + (255 - g) * coefficient, b + (255 - b) * coefficient, a);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Blend (aka mix) two colors together.
|
|
37
|
+
* @param background The background color
|
|
38
|
+
* @param overlay The overlay color that is affected by @opacity
|
|
39
|
+
* @param opacity Opacity (alpha) for @overlay
|
|
40
|
+
* @param [gamma=1.0] Gamma correction coefficient. `1.0` to match browser behavior, `2.2` for gamma-corrected blending.
|
|
41
|
+
*/
|
|
42
|
+
export function blend(background, overlay, opacity, gamma = 1) {
|
|
43
|
+
const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);
|
|
44
|
+
const r = blendChannel(getRed(background), getRed(overlay));
|
|
45
|
+
const g = blendChannel(getGreen(background), getGreen(overlay));
|
|
46
|
+
const b = blendChannel(getBlue(background), getBlue(overlay));
|
|
47
|
+
// Alpha is interpolated too, and linearly — it is a coverage fraction, not a
|
|
48
|
+
// gamma-encoded channel, so `gamma` has no business in it. Hardcoding 255
|
|
49
|
+
// made `colord(a).mix(b)` return opaque where real colord carries the
|
|
50
|
+
// operands' alpha through, on a `mix` that is public API with a colord-shaped
|
|
51
|
+
// signature. Both operands opaque is byte-identical, which is every in-tree
|
|
52
|
+
// caller today.
|
|
53
|
+
const a = Math.round(getAlpha(background) * (1 - opacity) + getAlpha(overlay) * opacity);
|
|
54
|
+
return newColor(r, g, b, a);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The relative brightness of any point in a color space, normalized to 0 for
|
|
58
|
+
* darkest black and 1 for lightest white.
|
|
59
|
+
* @returns The relative brightness of the color in the range 0 - 1, with 3 digits precision
|
|
60
|
+
*/
|
|
61
|
+
export function getLuminance(color) {
|
|
62
|
+
const r = getRed(color) / 255;
|
|
63
|
+
const g = getGreen(color) / 255;
|
|
64
|
+
const b = getBlue(color) / 255;
|
|
65
|
+
const apply = (v) => v <= 0.03928 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;
|
|
66
|
+
const r1 = apply(r);
|
|
67
|
+
const g1 = apply(g);
|
|
68
|
+
const b1 = apply(b);
|
|
69
|
+
return Math.round((0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1) * 1000) / 1000;
|
|
70
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { OFFSET_A, OFFSET_B, OFFSET_G, OFFSET_R, from, getAlpha, getBlue, getGreen, getRed, newColor, setAlpha, setBlue, setGreen, setRed, toNumber, } from './core.ts';
|
|
2
|
+
export type { Color } from './core.ts';
|
|
3
|
+
export { parse, parseColor, parseHex } from './parse.ts';
|
|
4
|
+
export { format, formatHEX, formatHEXA, formatHSLA, formatRGBA, toGLrgb, toHSLA, toRGBA, } from './format.ts';
|
|
5
|
+
export { alpha, blend, darken, getLuminance, lighten } from './functions.ts';
|