@jbrowse/core 5.0.0-beta.1 → 5.0.0-beta.11
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 +1709 -390
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +5 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +34 -29
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +1 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +37 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +15 -31
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +4 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +12 -25
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +6 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +7 -18
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +49 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +6 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +7 -34
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +3 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +12 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +8 -5
- package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +13 -29
- package/esm/BaseFeatureWidget/formatDetails.js +62 -83
- package/esm/BaseFeatureWidget/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +42 -29
- package/esm/BaseFeatureWidget/stateModelFactory.js +98 -98
- package/esm/BaseFeatureWidget/types.d.ts +12 -6
- package/esm/BaseFeatureWidget/util.d.ts +0 -10
- package/esm/BaseFeatureWidget/util.js +0 -17
- package/esm/CorePlugin.js +34 -3
- package/esm/PluginLoader.d.ts +24 -13
- package/esm/PluginLoader.js +167 -51
- package/esm/PluginManager.d.ts +130 -24
- package/esm/PluginManager.js +180 -32
- package/esm/ReExports/MuiDataGridReExports.d.ts +1 -0
- package/esm/ReExports/MuiDataGridReExports.js +2 -2
- package/esm/ReExports/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +530 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +490 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +68 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/list.js +528 -79
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -165
- package/esm/ReExports/registry.d.ts +1 -0
- package/esm/ReExports/registry.js +23 -5
- package/esm/ReExports/uiStub.d.ts +3 -0
- package/esm/ReExports/uiStub.js +33 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +11 -0
- package/esm/TextSearch/TextSearchManager.d.ts +27 -13
- package/esm/TextSearch/TextSearchManager.js +77 -36
- package/esm/TextSearch/places.d.ts +12 -0
- package/esm/TextSearch/places.js +94 -0
- package/esm/assemblyManager/assembly.d.ts +21 -19
- package/esm/assemblyManager/assembly.js +28 -26
- package/esm/assemblyManager/assemblyAdapters.d.ts +1 -1
- package/esm/assemblyManager/assemblyAdapters.js +8 -2
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +31 -90
- package/esm/assemblyManager/assemblyConfigSchema.js +35 -47
- package/esm/assemblyManager/assemblyManager.d.ts +35 -180
- package/esm/assemblyManager/assemblyManager.js +47 -51
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +25 -18
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +78 -49
- package/esm/assemblyManager/geneticCodes.js +2 -5
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +10 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +10 -0
- package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
- package/esm/assemblyManager/indexAssemblyNames.js +22 -0
- package/esm/assemblyManager/loadRefNameMap.d.ts +1 -1
- package/esm/assemblyManager/loadRefNameMap.js +4 -9
- package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
- package/esm/assemblyManager/refNameMapKey.js +12 -0
- package/esm/checkPlugins.d.ts +2 -0
- package/esm/checkPlugins.js +38 -17
- package/esm/configuration/bamIndexFields.d.ts +49 -0
- package/esm/configuration/bamIndexFields.js +41 -0
- package/esm/configuration/configurationSchema.d.ts +101 -71
- package/esm/configuration/configurationSchema.js +207 -134
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +56 -0
- package/esm/configuration/configurationSlot.d.ts +150 -60
- package/esm/configuration/configurationSlot.js +103 -75
- package/esm/configuration/fillLocations.d.ts +14 -0
- package/esm/configuration/fillLocations.js +14 -0
- package/esm/configuration/formatAboutConfigSchema.d.ts +7 -21
- package/esm/configuration/formatDetailsConfigSchema.d.ts +11 -37
- package/esm/configuration/formatDetailsConfigSchema.js +10 -13
- package/esm/configuration/fullConfSnapshot.d.ts +4 -19
- package/esm/configuration/fullConfSnapshot.js +30 -52
- package/esm/configuration/getConf.d.ts +45 -41
- package/esm/configuration/getConf.js +111 -44
- package/esm/configuration/index.d.ts +26 -11
- package/esm/configuration/index.js +16 -7
- package/esm/configuration/indexType.d.ts +26 -0
- package/esm/configuration/indexType.js +38 -0
- package/esm/configuration/mergeFormatCallbacks.d.ts +6 -7
- package/esm/configuration/mergeFormatCallbacks.js +13 -10
- package/esm/configuration/plot.d.ts +61 -0
- package/esm/configuration/plot.js +142 -0
- package/esm/configuration/readConfObject.d.ts +2 -24
- package/esm/configuration/readConfObject.js +20 -63
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +32 -15
- package/esm/configuration/schemaRegistry.js +33 -35
- package/esm/configuration/schemaTypes.d.ts +21 -5
- package/esm/configuration/schemaTypes.js +66 -55
- package/esm/configuration/slotFacade.d.ts +12 -29
- package/esm/configuration/slotFacade.js +44 -23
- package/esm/configuration/snapshotPreprocess.d.ts +43 -0
- package/esm/configuration/snapshotPreprocess.js +161 -0
- package/esm/configuration/tabixIndexFields.d.ts +30 -4
- package/esm/configuration/tabixIndexFields.js +21 -4
- package/esm/configuration/tabixShorthand.d.ts +34 -17
- package/esm/configuration/tabixShorthand.js +49 -22
- package/esm/configuration/types.d.ts +182 -43
- package/esm/configuration/uriShorthand.d.ts +9 -0
- package/esm/configuration/uriShorthand.js +16 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +13 -19
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +12 -19
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +40 -2
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +68 -5
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +23 -3
- package/esm/data_adapters/BaseAdapter/index.js +1 -0
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
- package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +33 -1
- package/esm/data_adapters/BaseAdapter/stats.js +52 -13
- package/esm/data_adapters/BaseAdapter/types.d.ts +8 -12
- package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -1
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +7 -11
- package/esm/data_adapters/CytobandAdapter/configSchema.js +3 -17
- package/esm/data_adapters/dataAdapterCache.d.ts +19 -2
- package/esm/data_adapters/dataAdapterCache.js +44 -10
- package/esm/data_adapters/getFeatureAdapter.d.ts +6 -4
- package/esm/data_adapters/getFeatureAdapter.js +8 -8
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +7 -9
- package/esm/data_adapters/getSequenceSubAdapter.js +8 -10
- package/esm/pluggableElementTypes/AdapterType.d.ts +8 -8
- package/esm/pluggableElementTypes/AdapterType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +53 -16
- package/esm/pluggableElementTypes/DisplayType.js +28 -12
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +3 -5
- package/esm/pluggableElementTypes/PluggableElementBase.js +3 -5
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +11 -1
- package/esm/pluggableElementTypes/RpcMethodType.js +25 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +1 -2
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/ViewType.d.ts +20 -4
- package/esm/pluggableElementTypes/ViewType.js +32 -4
- package/esm/pluggableElementTypes/WidgetType.d.ts +6 -0
- package/esm/pluggableElementTypes/WidgetType.js +6 -0
- package/esm/pluggableElementTypes/addMenuItems.d.ts +3 -2
- package/esm/pluggableElementTypes/extendElementType.d.ts +1 -2
- package/esm/pluggableElementTypes/extendElementType.js +9 -5
- package/esm/pluggableElementTypes/index.d.ts +2 -1
- package/esm/pluggableElementTypes/index.js +2 -9
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +19 -9
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +122 -28
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +155 -11
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +65 -16
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +179 -117
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +87 -18
- package/esm/pluggableElementTypes/models/BaseViewModel.js +54 -11
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +26 -16
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +15 -11
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +25 -32
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -18
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +5 -5
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +26 -31
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +108 -147
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +96 -73
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +4 -6
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +3 -4
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +3 -3
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +23 -13
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +80 -48
- package/esm/pluggableElementTypes/models/index.d.ts +2 -3
- package/esm/pluggableElementTypes/models/index.js +2 -3
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +15 -1
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +85 -25
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +4 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +141 -19
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +3 -3
- package/esm/pluginDefinitions.d.ts +34 -7
- package/esm/pluginDefinitions.js +54 -20
- package/esm/rpc/BaseRpcDriver.d.ts +2 -2
- package/esm/rpc/BaseRpcDriver.js +25 -30
- package/esm/rpc/MainThreadRpcDriver.d.ts +2 -2
- package/esm/rpc/MainThreadRpcDriver.js +13 -8
- package/esm/rpc/RpcClient.d.ts +18 -6
- package/esm/rpc/RpcClient.js +51 -16
- package/esm/rpc/RpcManager.d.ts +14 -10
- package/esm/rpc/RpcManager.js +11 -1
- package/esm/rpc/RpcRegistry.d.ts +40 -7
- package/esm/rpc/RpcServer.d.ts +3 -1
- package/esm/rpc/RpcServer.js +19 -12
- package/esm/rpc/WebWorkerRpcDriver.d.ts +11 -4
- package/esm/rpc/WebWorkerRpcDriver.js +64 -68
- package/esm/rpc/byteBudget.d.ts +20 -5
- package/esm/rpc/byteBudget.js +16 -5
- package/esm/rpc/configSchema.d.ts +7 -21
- package/esm/rpc/coreRpcMethods.d.ts +4 -0
- package/esm/rpc/coreRpcMethods.js +4 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
- package/esm/rpc/methods/CoreGetExportData.js +3 -4
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.js +3 -5
- package/esm/rpc/methods/CoreGetRefNames.js +2 -12
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +1 -1
- package/esm/rpc/methods/CoreGetSequence.js +2 -2
- package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
- package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
- package/esm/rpc/methods/layerFeatures.d.ts +33 -0
- package/esm/rpc/methods/layerFeatures.js +29 -0
- package/esm/svg/SvgExport.js +6 -7
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/exportViewSvg.d.ts +28 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgId.d.ts +1 -1
- package/esm/svg/svgId.js +1 -1
- package/esm/svg/svgReady.d.ts +9 -7
- package/esm/svg/svgReady.js +8 -7
- package/esm/svg/trackNames.d.ts +7 -5
- package/esm/svg/trackNames.js +12 -9
- package/esm/svg/wrapSvgExport.js +6 -74
- package/esm/ui/AddCustomPluginDialog.js +3 -8
- package/esm/ui/AppReadyMarker.d.ts +45 -0
- package/esm/ui/AppReadyMarker.js +89 -0
- package/esm/ui/BaseExportSvgDialog.d.ts +1 -1
- package/esm/ui/CascadingMenu.js +181 -104
- package/esm/ui/DropDownMenu.js +2 -1
- package/esm/ui/ErrorBanner.js +1 -1
- package/esm/ui/ErrorBoundary.d.ts +2 -2
- package/esm/ui/ErrorMessageStackTraceContents.js +2 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +5 -11
- package/esm/ui/ExportSvgDialog.d.ts +1 -1
- package/esm/ui/FileDropZone.js +2 -1
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +156 -96
- package/esm/ui/HoverMenu.d.ts +1 -2
- package/esm/ui/HoverMenu.js +6 -3
- package/esm/ui/JexlFilterDialog.d.ts +13 -10
- package/esm/ui/JexlFilterDialog.js +122 -50
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LegendSwatchGlyph.js +26 -21
- package/esm/ui/LoadingOverlay.d.ts +14 -0
- package/esm/ui/LoadingOverlay.js +4 -2
- package/esm/ui/MenuTypes.d.ts +23 -53
- package/esm/ui/MenuTypes.js +3 -0
- package/esm/ui/MonospaceTextField.d.ts +2 -1
- package/esm/ui/MonospaceTextField.js +23 -20
- package/esm/ui/PaletteContext.d.ts +10 -5
- package/esm/ui/PaletteContext.js +44 -6
- package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +1 -2
- package/esm/ui/RefNameAutocomplete/index.js +8 -2
- package/esm/ui/RefNameAutocomplete/util.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/util.js +42 -1
- package/esm/ui/ResizeHandle.d.ts +3 -1
- package/esm/ui/ResizeHandle.js +44 -11
- package/esm/ui/ScrollChrome.d.ts +13 -0
- package/esm/ui/ScrollChrome.js +11 -0
- package/esm/ui/ScrollEdgeShadow.d.ts +6 -9
- package/esm/ui/ScrollEdgeShadow.js +14 -35
- package/esm/ui/ScrollZoomToggle.d.ts +4 -27
- package/esm/ui/ScrollZoomToggle.js +34 -51
- package/esm/ui/SessionJsonPanel.d.ts +3 -0
- package/esm/ui/SessionJsonPanel.js +14 -0
- package/esm/ui/SettingsChangesTable.d.ts +1 -0
- package/esm/ui/SettingsChangesTable.js +49 -11
- package/esm/ui/ShareLinkField.d.ts +1 -3
- package/esm/ui/ShareLinkField.js +13 -40
- package/esm/ui/SizeSliderRow.d.ts +1 -3
- package/esm/ui/SizeSliderRow.js +4 -6
- package/esm/ui/SnackbarModel.js +79 -67
- package/esm/ui/StatusProgressBar.js +2 -2
- package/esm/ui/SvgColorLegend.d.ts +9 -4
- package/esm/ui/SvgColorLegend.js +82 -41
- package/esm/ui/VerticalScrollbar.d.ts +13 -34
- package/esm/ui/VerticalScrollbar.js +29 -83
- package/esm/ui/ViewLoadingScreen.d.ts +5 -4
- package/esm/ui/ViewLoadingScreen.js +8 -32
- package/esm/ui/colorScale.d.ts +92 -0
- package/esm/ui/colorScale.js +72 -0
- package/esm/ui/colors.d.ts +64 -0
- package/esm/ui/colors.js +230 -1
- package/esm/ui/hoverBoxStyle.d.ts +14 -2
- package/esm/ui/hoverBoxStyle.js +17 -2
- package/esm/ui/index.d.ts +12 -12
- package/esm/ui/index.js +14 -22
- package/esm/ui/launchViewMenu.js +15 -5
- package/esm/ui/legendMenuItem.d.ts +10 -32
- package/esm/ui/legendMenuItem.js +9 -36
- package/esm/ui/legendSpec.d.ts +15 -8
- package/esm/ui/legendSpec.js +14 -23
- package/esm/ui/makeSizeMenu.d.ts +0 -6
- package/esm/ui/makeSizeMenu.js +6 -30
- package/esm/ui/measureLegendText.js +1 -1
- package/esm/ui/menuItemAdornment.d.ts +9 -20
- package/esm/ui/menuItemAdornment.js +10 -32
- package/esm/ui/menuItems.d.ts +2 -7
- package/esm/ui/menuItems.js +1 -6
- package/esm/ui/multiTrackMenuItems.d.ts +6 -0
- package/esm/ui/palette.d.ts +118 -116
- package/esm/ui/palette.js +114 -75
- package/esm/ui/replaceViewAction.d.ts +1 -1
- package/esm/ui/replaceViewAction.js +1 -1
- package/esm/ui/theme.d.ts +43 -119
- package/esm/ui/theme.js +62 -78
- package/esm/ui/toggleMenuItems.d.ts +1 -3
- package/esm/ui/toggleMenuItems.js +6 -5
- package/esm/ui/useAssemblySelection.d.ts +4 -4
- package/esm/ui/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -0
- package/esm/util/Base1DUtils.d.ts +5 -3
- package/esm/util/Base1DUtils.js +14 -6
- package/esm/util/Base1DViewModel.d.ts +2 -1
- package/esm/util/Base1DViewModel.js +3 -2
- package/esm/util/SvgCanvas.d.ts +15 -13
- package/esm/util/SvgCanvas.js +76 -56
- package/esm/util/TimeTraveller.d.ts +3 -0
- package/esm/util/TimeTraveller.js +34 -2
- package/esm/util/aborting.d.ts +39 -0
- package/esm/util/aborting.js +88 -6
- package/esm/util/adapterMetadata.d.ts +1 -1
- package/esm/util/adapterMetadata.js +6 -5
- package/esm/util/addAndShowTrack.d.ts +2 -5
- package/esm/util/addAndShowTrack.js +5 -1
- package/esm/util/addRelativeUris.d.ts +17 -5
- package/esm/util/addRelativeUris.js +46 -10
- package/esm/util/addTrackFromWidget.d.ts +2 -5
- package/esm/util/addTrackFromWidget.js +5 -4
- package/esm/util/aggregateFieldName.d.ts +10 -0
- package/esm/util/aggregateFieldName.js +8 -0
- package/esm/util/analytics.js +46 -13
- package/esm/util/animationAllowed.d.ts +9 -0
- package/esm/util/animationAllowed.js +13 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -5
- package/esm/util/applyRowResizeWheel.js +10 -21
- package/esm/util/bandHeight.d.ts +10 -0
- package/esm/util/bandHeight.js +29 -0
- package/esm/util/bandLayout.d.ts +4 -4
- package/esm/util/bandLayout.js +4 -4
- package/esm/util/baseDisplayConfig.d.ts +8 -0
- package/esm/util/baseDisplayConfig.js +27 -0
- package/esm/util/bezierConnector.d.ts +4 -3
- package/esm/util/bezierConnector.js +38 -45
- package/esm/util/bgzfWorkerPool.d.ts +20 -74
- package/esm/util/bgzfWorkerPool.js +20 -74
- package/esm/util/binnedAggregate.d.ts +17 -0
- package/esm/util/binnedAggregate.js +275 -0
- package/esm/util/cacheBudgets.d.ts +22 -19
- package/esm/util/cacheBudgets.js +22 -19
- package/esm/util/cachedSetup.d.ts +16 -6
- package/esm/util/cachedSetup.js +108 -38
- package/esm/util/categoricalField.d.ts +56 -0
- package/esm/util/categoricalField.js +73 -0
- package/esm/util/cellMatches.d.ts +23 -0
- package/esm/util/cellMatches.js +264 -0
- package/esm/util/cellsStep.d.ts +29 -0
- package/esm/util/cellsStep.js +437 -0
- package/esm/util/clampToContig.d.ts +17 -0
- package/esm/util/clampToContig.js +19 -0
- package/esm/util/coarseStripHTML.js +1 -2
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +1 -0
- package/esm/util/color/index.d.ts +5 -3
- package/esm/util/color/index.js +7 -4
- package/esm/util/colorBits.d.ts +3 -3
- package/esm/util/colorBits.js +19 -44
- package/esm/util/colorRamp.d.ts +49 -5
- package/esm/util/colorRamp.js +169 -18
- package/esm/util/colorScale.d.ts +156 -0
- package/esm/util/colorScale.js +243 -0
- package/esm/util/colorSchemes.d.ts +21 -0
- package/esm/util/colorSchemes.js +30 -0
- package/esm/util/copyToClipboard.js +8 -1
- package/esm/util/{createStopTokenRotation.d.ts → createAbortRotation.d.ts} +21 -23
- package/esm/util/{createStopTokenRotation.js → createAbortRotation.js} +21 -52
- package/esm/util/createSvgRasterCanvas.d.ts +10 -0
- package/esm/util/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- package/esm/util/diagonalizeRegions.d.ts +2 -3
- package/esm/util/diagonalizeRegions.js +8 -13
- package/esm/util/expandLooseSearchIndex.d.ts +19 -0
- package/esm/util/expandLooseSearchIndex.js +29 -0
- package/esm/util/featureTable.d.ts +224 -0
- package/esm/util/featureTable.js +366 -0
- package/esm/util/featureTransforms.d.ts +81 -0
- package/esm/util/featureTransforms.js +1231 -0
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchAndMaybeUnzip.js +16 -9
- package/esm/util/fetchContext.d.ts +7 -8
- package/esm/util/fetchContext.js +3 -3
- package/esm/util/fetchHub.d.ts +4 -2
- package/esm/util/fetchHub.js +2 -2
- package/esm/util/fetchPhases.d.ts +10 -10
- package/esm/util/fetchSeq.d.ts +2 -3
- package/esm/util/fetchSeq.js +2 -2
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- package/esm/util/formatBytes.js +1 -1
- package/esm/util/formatGuessers.d.ts +25 -14
- package/esm/util/formatGuessers.js +42 -27
- package/esm/util/formatRelativeTime.js +1 -1
- package/esm/util/freezeDeep.d.ts +8 -10
- package/esm/util/freezeDeep.js +8 -10
- package/esm/util/getLocationUri.d.ts +2 -1
- package/esm/util/getLocationUri.js +8 -2
- package/esm/util/groupKeys.d.ts +76 -0
- package/esm/util/groupKeys.js +156 -0
- package/esm/util/highlights.d.ts +10 -6
- package/esm/util/highlights.js +12 -25
- package/esm/util/hooks.d.ts +31 -2
- package/esm/util/hooks.js +72 -3
- package/esm/util/index.d.ts +11 -11
- package/esm/util/index.js +11 -10
- package/esm/util/indexCandidates.d.ts +1 -31
- package/esm/util/indexCandidates.js +5 -63
- package/esm/util/installFetch.d.ts +77 -37
- package/esm/util/installFetch.js +65 -38
- package/esm/util/installInitAutorun.d.ts +14 -13
- package/esm/util/installInitAutorun.js +17 -17
- package/esm/util/installPrerequisiteFetch.d.ts +115 -0
- package/esm/util/installPrerequisiteFetch.js +111 -0
- package/esm/util/intervals.js +9 -4
- package/esm/util/io/index.js +22 -15
- package/esm/util/isDataCurrent.d.ts +7 -5
- package/esm/util/isDataCurrent.js +9 -6
- package/esm/util/isTextEntryFocused.d.ts +7 -0
- package/esm/util/isTextEntryFocused.js +16 -0
- package/esm/util/jexl.js +24 -21
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +32 -57
- package/esm/util/jexlFilters.js +31 -29
- package/esm/util/jexlStrings.d.ts +3 -4
- package/esm/util/jexlStrings.js +2 -3
- package/esm/util/layouts/GranularRectLayout.d.ts +8 -1
- package/esm/util/layouts/GranularRectLayout.js +25 -8
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/lazyWithPreload.d.ts +19 -0
- package/esm/util/lazyWithPreload.js +27 -0
- package/esm/util/legendCandidates.d.ts +72 -0
- package/esm/util/legendCandidates.js +138 -0
- package/esm/util/locString.js +5 -2
- package/esm/util/localStorage.js +4 -4
- package/esm/util/markEncoding.d.ts +150 -0
- package/esm/util/markEncoding.js +885 -0
- package/esm/util/markEncodingTypes.d.ts +595 -0
- package/esm/util/markEncodingTypes.js +8 -0
- package/esm/util/mst-reflection.d.ts +2 -20
- package/esm/util/mst-reflection.js +3 -53
- package/esm/util/mstUtils.d.ts +31 -23
- package/esm/util/mstUtils.js +39 -24
- package/esm/util/numericUtils.d.ts +7 -0
- package/esm/util/numericUtils.js +16 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -0
- package/esm/util/openFeatureWidget.d.ts +5 -0
- package/esm/util/openFeatureWidget.js +2 -2
- package/esm/util/openViews.d.ts +17 -0
- package/esm/util/openViews.js +22 -0
- package/esm/util/parentWalk.d.ts +1 -1
- package/esm/util/parentWalk.js +1 -1
- package/esm/util/parseLineByLine.d.ts +4 -5
- package/esm/util/parseLineByLine.js +8 -14
- package/esm/util/pluginStore.d.ts +6 -8
- package/esm/util/pluginStore.js +17 -16
- package/esm/util/preloadComponent.d.ts +5 -0
- package/esm/util/preloadComponent.js +11 -0
- package/esm/util/progress.d.ts +22 -22
- package/esm/util/progress.js +27 -26
- package/esm/util/quantileExtent.d.ts +49 -0
- package/esm/util/quantileExtent.js +162 -0
- package/esm/util/range.d.ts +13 -9
- package/esm/util/range.js +17 -8
- package/esm/util/renameRegions.d.ts +26 -6
- package/esm/util/renameRegions.js +68 -54
- package/esm/util/renderToStaticMarkup.js +24 -14
- package/esm/util/rxjs.d.ts +23 -8
- package/esm/util/rxjs.js +61 -15
- package/esm/util/samplesTsv.d.ts +49 -0
- package/esm/util/samplesTsv.js +86 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +1 -0
- package/esm/util/scrollLatch.js +8 -0
- package/esm/util/selectEncodedFeature.d.ts +16 -0
- package/esm/util/selectEncodedFeature.js +34 -0
- package/esm/util/sessionSharing.d.ts +7 -5
- package/esm/util/sessionSharing.js +23 -23
- package/esm/util/shapeNameList.d.ts +2 -0
- package/esm/util/shapeNameList.js +6 -0
- package/esm/util/shapeNames.d.ts +7 -0
- package/esm/util/shapeNames.js +11 -0
- package/esm/util/simpleFeature.d.ts +0 -1
- package/esm/util/springAnimate.js +1 -1
- package/esm/util/starFusion.d.ts +26 -0
- package/esm/util/starFusion.js +37 -0
- package/esm/util/stepTables.d.ts +96 -0
- package/esm/util/stepTables.js +277 -0
- package/esm/util/svAlt.d.ts +145 -0
- package/esm/util/svAlt.js +364 -0
- package/esm/util/svgColorProps.d.ts +11 -0
- package/esm/util/svgColorProps.js +28 -1
- package/esm/util/systemColorScheme.d.ts +12 -0
- package/esm/util/systemColorScheme.js +27 -0
- package/esm/util/tabix.d.ts +19 -10
- package/esm/util/tabix.js +19 -14
- package/esm/util/thresholdScale.d.ts +91 -0
- package/esm/util/thresholdScale.js +166 -0
- package/esm/util/timeGate.d.ts +4 -5
- package/esm/util/timeGate.js +4 -5
- package/esm/util/trackConfigDelta.d.ts +26 -26
- package/esm/util/trackConfigDelta.js +63 -47
- package/esm/util/tracks.d.ts +120 -66
- package/esm/util/tracks.js +501 -151
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- package/esm/util/types/data.d.ts +0 -2
- package/esm/util/types/index.d.ts +121 -22
- package/esm/util/types/index.js +9 -0
- package/esm/util/types/mst.d.ts +3 -0
- package/esm/util/types/mst.js +4 -0
- package/esm/util/types/renameIds.d.ts +1 -0
- package/esm/util/types/renameIds.js +29 -0
- package/esm/util/types/services.d.ts +1 -1
- package/esm/util/unknownSnapshotKeys.d.ts +53 -0
- package/esm/util/unknownSnapshotKeys.js +76 -0
- package/esm/util/useFeatureSequence.js +5 -5
- package/esm/util/useFetch.d.ts +3 -4
- package/esm/util/useFetch.js +19 -10
- package/esm/util/useFetchPlugins.d.ts +6 -2
- package/esm/util/useFetchPlugins.js +7 -3
- package/esm/util/usePanZoom.js +10 -3
- package/esm/util/usePanelVirtualScroll.d.ts +7 -35
- package/esm/util/usePanelVirtualScroll.js +9 -36
- package/esm/util/useRafCommit.js +1 -0
- package/esm/util/useRowVirtualScroll.d.ts +6 -29
- package/esm/util/useRowVirtualScroll.js +8 -49
- package/esm/util/useVirtualScrollWheel.d.ts +20 -4
- package/esm/util/useVirtualScrollWheel.js +40 -74
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +47 -15
- package/esm/util/viewStatus.js +34 -0
- package/esm/util/wheelZoom.d.ts +7 -1
- package/esm/util/wheelZoom.js +85 -19
- package/esm/util/whenViewSettled.d.ts +55 -8
- package/esm/util/whenViewSettled.js +56 -7
- package/esm/util/withFeatureDetails.js +4 -0
- package/esm/util/withLaunchInput.d.ts +174 -0
- package/esm/util/withLaunchInput.js +274 -0
- package/package.json +75 -24
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -10
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.js +0 -1
- package/esm/ReExports/publicUtil.d.ts +0 -1
- package/esm/ReExports/publicUtil.js +0 -28
- package/esm/configuration/promotableDefaults.d.ts +0 -199
- package/esm/configuration/promotableDefaults.js +0 -326
- package/esm/configuration/promotablePin.d.ts +0 -55
- package/esm/configuration/promotablePin.js +0 -1
- package/esm/configuration/promotableResolve.d.ts +0 -108
- package/esm/configuration/promotableResolve.js +0 -117
- package/esm/configuration/promotableSlots.d.ts +0 -12
- package/esm/configuration/promotableSlots.js +0 -45
- package/esm/configuration/slotShape.d.ts +0 -12
- package/esm/configuration/slotShape.js +0 -84
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +0 -51
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +0 -78
- package/esm/ui/PinAdornment.d.ts +0 -5
- package/esm/ui/PinAdornment.js +0 -79
- package/esm/ui/SvgGradientLegend.d.ts +0 -26
- package/esm/ui/SvgGradientLegend.js +0 -26
- package/esm/ui/highlightChipReveal.d.ts +0 -32
- package/esm/ui/highlightChipReveal.js +0 -39
- package/esm/ui/promotableMenuItems.d.ts +0 -19
- package/esm/ui/promotableMenuItems.js +0 -89
- package/esm/ui/promotablePinCoverage.d.ts +0 -44
- package/esm/ui/promotablePinCoverage.js +0 -87
- package/esm/util/applyInitSettings.d.ts +0 -79
- package/esm/util/applyInitSettings.js +0 -91
- package/esm/util/openDisplays.d.ts +0 -23
- package/esm/util/openDisplays.js +0 -79
- package/esm/util/stopToken.d.ts +0 -211
- package/esm/util/stopToken.js +0 -438
- /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/zoomRange.js} +0 -0
package/esm/ui/palette.js
CHANGED
|
@@ -231,43 +231,21 @@ const darkNeutrals = {
|
|
|
231
231
|
export const colorFwdStrand = '#EC8B8B';
|
|
232
232
|
/** #color alignments-strand | Reverse strand | Read maps to the reverse strand */
|
|
233
233
|
export const colorRevStrand = '#8F8FD8';
|
|
234
|
-
/** #color alignments-pair-orientation | LR (→
|
|
234
|
+
/** #color alignments-pair-orientation | LR (→ ←) | Normal proper pair */
|
|
235
235
|
export const colorPairLR = '#d3d3d3';
|
|
236
|
-
//
|
|
237
|
-
//
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
// Below #d3d3d3, which glares on a dark track, and light enough that
|
|
237
|
+
// insertions, soft clips and deletions stay darker than the read, the order the
|
|
238
|
+
// light theme draws them in.
|
|
239
|
+
export const colorPairLRDark = '#b0b0b0';
|
|
240
|
+
/** #color alignments-pair-orientation | RL (← →) | Mates point away from each other */
|
|
240
241
|
export const colorPairRL = '#0099bb';
|
|
241
|
-
/** #color alignments-pair-orientation | LL (→
|
|
242
|
+
/** #color alignments-pair-orientation | LL (→ →) | Both mates on the forward strand */
|
|
242
243
|
export const colorPairLL = '#4d9a4d';
|
|
243
|
-
/** #color alignments-pair-orientation | RR (←
|
|
244
|
+
/** #color alignments-pair-orientation | RR (← ←) | Both mates on the reverse strand */
|
|
244
245
|
export const colorPairRR = '#5555bb';
|
|
245
|
-
// Was `colorNostrand`, which named the one thing it essentially never paints. A
|
|
246
|
-
// SAM record's strand is DEFINED from the reverse flag inside the adapter's
|
|
247
|
-
// feature class (`SamRecordFeature.strand`), so it is always +1 or -1, and a
|
|
248
|
-
// PAF/synteny block carries a real strand too — `strandCategory`'s `noStrand`
|
|
249
|
-
// branch is the defensive third case of a `-1 | 0 | 1` return, not a category
|
|
250
|
-
// an alignments track produces. The name survived because the two places that
|
|
251
|
-
// DO reach 0 are strand questions of a different kind: a sashimi junction whose
|
|
252
|
-
// spliced reads carry no XS/TS/ts tag (ordinary unstranded RNA-seq), and a
|
|
253
|
-
// strand-valued read tag that a read simply lacks.
|
|
254
|
-
//
|
|
255
|
-
// What it actually paints, in volume, is neither — `nonSplit` ("Unsplit read",
|
|
256
|
-
// the majority of a pileup under the split-read scheme) and `mapqUnavailable`
|
|
257
|
-
// (MAPQ 255). What unites all five is that the scheme's question has no
|
|
258
|
-
// informative answer for this read, so the value is the neutral it falls back
|
|
259
|
-
// to rather than a statement about strand.
|
|
260
|
-
//
|
|
261
|
-
// It is NOT the only such neutral: `colorPairLR` #d3d3d3 is the baseline for
|
|
262
|
-
// `normalInsert`, `noTagValue` and `plain`, and the two sit dE 3.95 apart —
|
|
263
|
-
// close enough that `readTagColors.ts` moved its untagged-read case off this one
|
|
264
|
-
// and onto that one, because only that one darkens under the dark theme. Whether
|
|
265
|
-
// two neutrals are wanted at all is the open question here; this rename does not
|
|
266
|
-
// settle it, and the dark-mode half is `agent-docs/TODO.md`.
|
|
267
|
-
export const colorNeutralRead = '#c8c8c8';
|
|
268
246
|
/**
|
|
269
|
-
* #color alignments-pair-orientation | Inter-chromosomal | Mate
|
|
270
|
-
* #color alignments-insert-size | Mate on
|
|
247
|
+
* #color alignments-pair-orientation | Inter-chromosomal | Mate on another chromosome
|
|
248
|
+
* #color alignments-insert-size | Inter-chromosomal | Mate on another chromosome
|
|
271
249
|
*/
|
|
272
250
|
// THIS SLOT AND `colorUnmappedMate` WERE CHOSEN TOGETHER, and reading either one
|
|
273
251
|
// alone is how the previous pair got stuck. Both are warm, both belong to all
|
|
@@ -299,9 +277,9 @@ export const colorNeutralRead = '#c8c8c8';
|
|
|
299
277
|
// neighbour that must not be confusable: red means "insert too long", and a
|
|
300
278
|
// second red would read as a second statement about insert size.
|
|
301
279
|
export const colorInterchrom = '#af4d19';
|
|
302
|
-
/** #color alignments-insert-size | Insert larger than expected |
|
|
280
|
+
/** #color alignments-insert-size | Insert larger than expected | Deletion between the mates */
|
|
303
281
|
export const colorLongInsert = '#ff0000';
|
|
304
|
-
/** #color alignments-insert-size | Insert smaller than expected |
|
|
282
|
+
/** #color alignments-insert-size | Insert smaller than expected | Insertion between the mates */
|
|
305
283
|
// This slot has TWO neighbours it must stay clear of, and every past value has
|
|
306
284
|
// solved one by walking into the other. They sit at opposite ends of the
|
|
307
285
|
// lightness axis, which is what makes it a balance rather than a direction:
|
|
@@ -349,8 +327,8 @@ export const colorLongInsert = '#ff0000';
|
|
|
349
327
|
// them.
|
|
350
328
|
export const colorShortInsert = '#f582c0';
|
|
351
329
|
/**
|
|
352
|
-
* #color alignments-pair-orientation | Mate unmapped |
|
|
353
|
-
* #color alignments-insert-size | Mate unmapped |
|
|
330
|
+
* #color alignments-pair-orientation | Mate unmapped | Mate aligned nowhere
|
|
331
|
+
* #color alignments-insert-size | Mate unmapped | Mate aligned nowhere
|
|
354
332
|
*/
|
|
355
333
|
// A NON-COLOUR, at the dark end of the neutral scale on BOTH themes. It takes
|
|
356
334
|
// the first half of the `readOverlap` pattern and not the second, and that split
|
|
@@ -392,11 +370,6 @@ export const colorShortInsert = '#f582c0';
|
|
|
392
370
|
// gaps between rows and cannot be found. A few px of row is what a value here
|
|
393
371
|
// has to survive, not a 40 px square.
|
|
394
372
|
//
|
|
395
|
-
// The nearest dark-mode neighbour is the coverage histogram's grey[700] #616161
|
|
396
|
-
// at dE 9.7, which is not a collision in the sense the numbers above are about:
|
|
397
|
-
// coverage is a bar in a different subtrack, never a fill a read can take, so
|
|
398
|
-
// nothing is ever read against it.
|
|
399
|
-
//
|
|
400
373
|
// White was the previous dark value, and it reads as the loudest thing in a dark
|
|
401
374
|
// pileup — louder than the coloured categories it is meant to be quieter than —
|
|
402
375
|
// which is the "glaring near-white blocks" failure `colorPairLRDark` already
|
|
@@ -421,7 +394,7 @@ export const colorUnmappedMate = '#000000';
|
|
|
421
394
|
// the least that still reads as a read rather than as a hole.
|
|
422
395
|
export const colorUnmappedMateDark = '#4a4a4a';
|
|
423
396
|
export const colorLongreadInv = '#7755bb';
|
|
424
|
-
/** #color alignments-pair-orientation | Split
|
|
397
|
+
/** #color alignments-pair-orientation | Split read (inverted) | Supplementary segment on the opposite strand to its primary */
|
|
425
398
|
export const colorSplitReadInversion = '#9b30b0';
|
|
426
399
|
export const colorSupplementary = '#f0b878';
|
|
427
400
|
// Qualitative palette for coloring reads by an arbitrary tag value (e.g. the HP
|
|
@@ -473,7 +446,7 @@ const startCodon = '#3e3';
|
|
|
473
446
|
const codonNonsynonymous = '#e8930c';
|
|
474
447
|
/** #color maf | Synonymous codon | MAF codon view: the codon differs from the reference but the amino acid is unchanged (silent) */
|
|
475
448
|
const codonSynonymous = '#3a7bd5';
|
|
476
|
-
/** #color maf |
|
|
449
|
+
/** #color maf | Stop gained | MAF codon view: a stop the reference codon is not */
|
|
477
450
|
const codonStop = '#cc2222';
|
|
478
451
|
/** #color alignments-indicators | Insertion | Reads carry an insertion relative to the reference */
|
|
479
452
|
const insertion = '#800080';
|
|
@@ -496,9 +469,9 @@ const skip = '#009a8a';
|
|
|
496
469
|
* which is the same lie louder — on a foldback the arms are opposite-strand
|
|
497
470
|
* red and blue, and darkening whichever drew last reads as extra-inverted.
|
|
498
471
|
*
|
|
499
|
-
* So the value has one job: read as NEITHER segment.
|
|
500
|
-
*
|
|
501
|
-
* #
|
|
472
|
+
* So the value has one job: read as NEITHER segment. The alignments vocabulary's
|
|
473
|
+
* one neutral grey is light (`colorPairLR` #d3d3d3, and `colorPairLRDark`
|
|
474
|
+
* #b0b0b0 on the dark theme), so this sits past
|
|
502
475
|
* the dark end of them in light mode and past the light end in dark mode,
|
|
503
476
|
* which is also why it inverts rather than dimming: on a dark track background
|
|
504
477
|
* a charcoal span is the background showing through, i.e. a gap where the mark
|
|
@@ -522,6 +495,7 @@ const lightStringColors = {
|
|
|
522
495
|
coverage: grey[400],
|
|
523
496
|
insertion,
|
|
524
497
|
deletion,
|
|
498
|
+
mafGap: deletion,
|
|
525
499
|
readOverlap,
|
|
526
500
|
softclip,
|
|
527
501
|
hardclip,
|
|
@@ -539,6 +513,8 @@ const lightStringColors = {
|
|
|
539
513
|
plotGridlineMinor: 'rgba(0,0,0,0.06)',
|
|
540
514
|
plotGridlineMajor: 'rgba(0,0,0,0.13)',
|
|
541
515
|
regionBoundary: 'rgba(0,0,0,0.42)',
|
|
516
|
+
regionSeparator: grey[600],
|
|
517
|
+
tableBorder: grey[300],
|
|
542
518
|
// hover shading over a feature
|
|
543
519
|
featureHover: 'rgba(0,0,0,0.15)',
|
|
544
520
|
// stronger shade for a hovered group (e.g. a linked-read chain), so the group
|
|
@@ -548,29 +524,39 @@ const lightStringColors = {
|
|
|
548
524
|
featureSelected: 'rgba(0,100,255,0.8)',
|
|
549
525
|
// blue accent for feature description labels (e.g. gene descriptions)
|
|
550
526
|
featureDescription: 'blue',
|
|
527
|
+
featureConnector: 'rgba(0, 0, 0, 0.6)',
|
|
551
528
|
};
|
|
552
529
|
// Dark overrides. White-on-dark reads far stronger than dark-on-white at the
|
|
553
530
|
// same alpha, so the gridlines and hover shades are gentler and inverted rather
|
|
554
531
|
// than reused, and the colors that would otherwise vanish are lightened.
|
|
555
532
|
const darkStringColors = {
|
|
556
|
-
|
|
533
|
+
// above the L* 55-72 band the base colors occupy, so the SNP ticks drawn on
|
|
534
|
+
// it keep a lightness step; a mid grey inside that band hides them
|
|
535
|
+
coverage: '#cccccc',
|
|
557
536
|
gridlineMinor: 'rgba(255,255,255,0.06)',
|
|
558
537
|
gridlineMajor: 'rgba(255,255,255,0.15)',
|
|
559
538
|
plotGridlineMinor: 'rgba(255,255,255,0.05)',
|
|
560
539
|
plotGridlineMajor: 'rgba(255,255,255,0.1)',
|
|
561
540
|
regionBoundary: 'rgba(255,255,255,0.3)',
|
|
541
|
+
regionSeparator: grey[500],
|
|
542
|
+
tableBorder: '#515151',
|
|
562
543
|
featureHover: 'rgba(255,255,255,0.25)',
|
|
563
544
|
featureHoverStrong: 'rgba(255,255,255,0.4)',
|
|
564
545
|
featureSelected: 'rgba(120,180,255,0.9)',
|
|
565
546
|
// plain CSS 'blue' reads as near-black against a dark track
|
|
566
547
|
featureDescription: blue[300],
|
|
567
|
-
//
|
|
568
|
-
//
|
|
569
|
-
|
|
548
|
+
// a 1px light line on a dark ground reads thinner than the same line dark on
|
|
549
|
+
// white, so this runs at more ink than the light value's 0.6
|
|
550
|
+
featureConnector: 'rgba(255, 255, 255, 0.9)',
|
|
551
|
+
// drawn over a read, so it keeps the light theme's step below the read fill:
|
|
552
|
+
// #d3d3d3 to #808080 is 31 L*, #b0b0b0 to this is 33
|
|
553
|
+
deletion: '#5c5c5c',
|
|
554
|
+
// MAF gap cells sit beside match cells painted `action.disabledBackground`,
|
|
555
|
+
// which is dark here, so the gap is the lighter of the two
|
|
556
|
+
mafGap: '#c8c8c8',
|
|
570
557
|
// inverted rather than dimmed, for the reason on the light value: the mark
|
|
571
558
|
// has to be the one neutral no read category paints, and on a dark track that
|
|
572
|
-
// is the light end
|
|
573
|
-
// and of `colorNostrand` #c8c8c8, the two lightest fills it can land beside.
|
|
559
|
+
// is the light end, clear of `colorPairLRDark` #b0b0b0
|
|
574
560
|
readOverlap: '#e4e4e4',
|
|
575
561
|
};
|
|
576
562
|
const lightAlignmentFill = {
|
|
@@ -624,13 +610,23 @@ const defaultFrames = [
|
|
|
624
610
|
{ main: '#adadad' },
|
|
625
611
|
{ main: '#8f8f8f' },
|
|
626
612
|
];
|
|
613
|
+
// The same order as the light greys, with the outer frames nearest the ground
|
|
614
|
+
const defaultFramesDark = [
|
|
615
|
+
null,
|
|
616
|
+
{ main: '#6e6e6e' },
|
|
617
|
+
{ main: '#525252' },
|
|
618
|
+
{ main: '#303030' },
|
|
619
|
+
{ main: '#303030' },
|
|
620
|
+
{ main: '#525252' },
|
|
621
|
+
{ main: '#6e6e6e' },
|
|
622
|
+
];
|
|
627
623
|
/**
|
|
628
624
|
* The palette half of the built-in themes. `theme.ts` composes these with the
|
|
629
625
|
* display names and MUI component overrides that make up `defaultThemes`, so
|
|
630
626
|
* the preset colors are stated once.
|
|
631
627
|
*/
|
|
632
628
|
// The JBrowse-branded colors every built-in preset starts from. Deliberately
|
|
633
|
-
// does NOT carry the string colors or
|
|
629
|
+
// does NOT carry the string colors, alignmentFill or frames: those have light and dark
|
|
634
630
|
// variants that `resolvePalette` picks off `mode`, and baking the light ones in
|
|
635
631
|
// here would shadow the dark set for any theme built on top.
|
|
636
632
|
const brandDefaults = {
|
|
@@ -641,32 +637,61 @@ const brandDefaults = {
|
|
|
641
637
|
highlight: { main: mandarin },
|
|
642
638
|
textHighlight: { main: textHighlightYellow },
|
|
643
639
|
bases: defaultBases,
|
|
644
|
-
frames: defaultFrames,
|
|
645
640
|
framesCDS: defaultFramesCDS,
|
|
646
641
|
};
|
|
642
|
+
// Each palette states its colors once and, where a brand cannot survive the
|
|
643
|
+
// flip, the `dark` delta. Stock needs none: measured, its dark half is the
|
|
644
|
+
// light one with `mode: 'dark'` and nothing else, because the neutrals,
|
|
645
|
+
// semantics and string colors already follow the mode. Minimal needs one
|
|
646
|
+
// shade, grey[900] being too near the dark background to read as chrome.
|
|
647
647
|
export const palettePresets = {
|
|
648
648
|
default: { ...brandDefaults },
|
|
649
|
-
|
|
650
|
-
|
|
649
|
+
stock: { ...brandDefaults },
|
|
650
|
+
minimal: {
|
|
651
651
|
...brandDefaults,
|
|
652
652
|
primary: { main: grey[900] },
|
|
653
653
|
secondary: { main: grey[800] },
|
|
654
654
|
tertiary: { main: grey[900] },
|
|
655
|
-
|
|
656
|
-
// the dark presets change only `mode` on top of the brand colors, and the
|
|
657
|
-
// dark-tuned gridlines, hover, coverage and alignmentFill follow from it
|
|
658
|
-
darkMinimal: {
|
|
659
|
-
...brandDefaults,
|
|
660
|
-
mode: 'dark',
|
|
661
|
-
primary: { main: grey[700] },
|
|
662
|
-
secondary: { main: grey[800] },
|
|
663
|
-
tertiary: { main: grey[900] },
|
|
664
|
-
},
|
|
665
|
-
darkStock: {
|
|
666
|
-
...brandDefaults,
|
|
667
|
-
mode: 'dark',
|
|
655
|
+
dark: { primary: { main: grey[700] } },
|
|
668
656
|
},
|
|
669
657
|
};
|
|
658
|
+
/**
|
|
659
|
+
* The theme names from before light and dark were an axis, as the palette and
|
|
660
|
+
* mode each one meant. A stored selection, a share link, an admin's
|
|
661
|
+
* `configuration.theme`, `jbrowse-img --theme` and a saved figure spec all
|
|
662
|
+
* carry these, so they keep resolving rather than falling back to the default.
|
|
663
|
+
*/
|
|
664
|
+
export const legacyThemeNames = {
|
|
665
|
+
lightStock: { themeName: 'stock', mode: 'light' },
|
|
666
|
+
darkStock: { themeName: 'stock', mode: 'dark' },
|
|
667
|
+
lightMinimal: { themeName: 'minimal', mode: 'light' },
|
|
668
|
+
darkMinimal: { themeName: 'minimal', mode: 'dark' },
|
|
669
|
+
};
|
|
670
|
+
// indexed through hasOwn so the miss is a value rather than a lie the key cast
|
|
671
|
+
// tells the checker
|
|
672
|
+
function legacyEntry(name) {
|
|
673
|
+
return name !== undefined && Object.hasOwn(legacyThemeNames, name)
|
|
674
|
+
? legacyThemeNames[name]
|
|
675
|
+
: undefined;
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* What a name and a mode mean together, with a name that predates the axis
|
|
679
|
+
* resolved to the pair it stood for. An explicit `mode` still wins — a user
|
|
680
|
+
* picking Dark over a stored `lightStock` gets dark stock, not light.
|
|
681
|
+
*
|
|
682
|
+
* `themes` is whatever map the caller looks names up in, so an admin's
|
|
683
|
+
* `extraThemes` entry taking one of the retired names wins over the alias it
|
|
684
|
+
* would otherwise shadow.
|
|
685
|
+
*/
|
|
686
|
+
export function resolveThemeSelection(themeName, mode, themes) {
|
|
687
|
+
if (themeName !== undefined && themes?.[themeName]) {
|
|
688
|
+
return { themeName, mode };
|
|
689
|
+
}
|
|
690
|
+
const legacy = legacyEntry(themeName);
|
|
691
|
+
return legacy
|
|
692
|
+
? { themeName: legacy.themeName, mode: mode ?? legacy.mode }
|
|
693
|
+
: { themeName: themeName ?? 'default', mode };
|
|
694
|
+
}
|
|
670
695
|
/**
|
|
671
696
|
* Resolve a frame tuple. A theme's tuple replaces the default wholesale rather
|
|
672
697
|
* than splicing entry by entry onto stale shades, so slots it leaves out are
|
|
@@ -691,15 +716,26 @@ function resolveFrames(entry, fallback) {
|
|
|
691
716
|
* "Default (from config)" means. Do not "fix" that.
|
|
692
717
|
*/
|
|
693
718
|
export function resolvePalette(args = {}) {
|
|
694
|
-
const { configTheme,
|
|
719
|
+
const { configTheme, extraThemes } = args;
|
|
695
720
|
const presets = {
|
|
696
721
|
...palettePresets,
|
|
697
722
|
...Object.fromEntries(Object.entries(extraThemes ?? {}).map(([k, v]) => [k, v.palette ?? {}])),
|
|
698
723
|
};
|
|
724
|
+
const selection = resolveThemeSelection(args.themeName, args.mode, presets);
|
|
725
|
+
const themeName = selection.themeName;
|
|
699
726
|
const preset = presets[themeName] ?? presets.default ?? {};
|
|
700
|
-
const
|
|
701
|
-
|
|
727
|
+
const declared = themeName === 'default' ? { ...preset, ...configTheme?.palette } : preset;
|
|
728
|
+
// A palette that declares a `mode` is pinned to it: an admin who registers a
|
|
729
|
+
// dark `extraThemes` entry picked its colours for dark, and the light half
|
|
730
|
+
// they never wrote is not JBrowse's to invent. A `mode` in the config `theme`
|
|
731
|
+
// slot is the opposite — the site's starting point for the one palette that
|
|
732
|
+
// merges it — so a reader's own pick wins over that.
|
|
733
|
+
const mode = preset.mode ?? selection.mode ?? configTheme?.palette?.mode ?? 'light';
|
|
702
734
|
const isDark = mode === 'dark';
|
|
735
|
+
// the palette's own dark half, over the light one it is a delta against
|
|
736
|
+
const input = isDark
|
|
737
|
+
? { ...declared, ...declared.dark }
|
|
738
|
+
: declared;
|
|
703
739
|
const neutrals = isDark ? darkNeutrals : lightNeutrals;
|
|
704
740
|
const brandFallback = isDark ? darkBrandFallback : lightBrandFallback;
|
|
705
741
|
const semantics = isDark ? darkSemantics : lightSemantics;
|
|
@@ -713,16 +749,19 @@ export function resolvePalette(args = {}) {
|
|
|
713
749
|
strings[key] = override;
|
|
714
750
|
}
|
|
715
751
|
}
|
|
752
|
+
const text = { ...neutrals.text, ...input.text };
|
|
753
|
+
const primary = augmentColor(input.primary ?? brandFallback.primary);
|
|
716
754
|
return {
|
|
717
755
|
...strings,
|
|
718
756
|
mode,
|
|
719
|
-
text
|
|
757
|
+
text,
|
|
720
758
|
background: { ...neutrals.background, ...input.background },
|
|
721
759
|
divider: input.divider ?? neutrals.divider,
|
|
722
760
|
common: { ...neutrals.common, ...input.common },
|
|
723
761
|
grey: { ...neutrals.grey, ...input.grey },
|
|
724
762
|
action: { ...neutrals.action, ...input.action },
|
|
725
|
-
primary
|
|
763
|
+
primary,
|
|
764
|
+
accent: input.accent ?? (isDark ? text.secondary : primary.main),
|
|
726
765
|
secondary: augmentColor(input.secondary ?? brandFallback.secondary),
|
|
727
766
|
error: augmentColor(input.error ?? semantics.error),
|
|
728
767
|
warning: augmentColor(input.warning ?? semantics.warning),
|
|
@@ -736,7 +775,7 @@ export function resolvePalette(args = {}) {
|
|
|
736
775
|
key,
|
|
737
776
|
augmentColor(input.bases?.[key] ?? defaultBases[key]),
|
|
738
777
|
])),
|
|
739
|
-
frames: resolveFrames(input.frames, defaultFrames),
|
|
778
|
+
frames: resolveFrames(input.frames, isDark ? defaultFramesDark : defaultFrames),
|
|
740
779
|
framesCDS: resolveFrames(input.framesCDS, defaultFramesCDS),
|
|
741
780
|
alignmentFill: {
|
|
742
781
|
...(isDark ? darkAlignmentFill : lightAlignmentFill),
|
|
@@ -6,7 +6,7 @@ import type { SubmitFormProps } from './SubmitForm.tsx';
|
|
|
6
6
|
* the launching view occupies.
|
|
7
7
|
*
|
|
8
8
|
* Every launcher anchored on what a view is already showing — the synteny
|
|
9
|
-
* launches, "read vs ref"
|
|
9
|
+
* launches, "read vs ref" — wants exactly this
|
|
10
10
|
* pair, and each had written the same four lines around
|
|
11
11
|
* {@link ReplaceCurrentViewButton}: the guard, the button, its disabled state,
|
|
12
12
|
* and the renaming of Submit that only makes sense once there are two buttons.
|
|
@@ -7,7 +7,7 @@ import ReplaceCurrentViewButton from './ReplaceCurrentViewButton.js';
|
|
|
7
7
|
* the launching view occupies.
|
|
8
8
|
*
|
|
9
9
|
* Every launcher anchored on what a view is already showing — the synteny
|
|
10
|
-
* launches, "read vs ref"
|
|
10
|
+
* launches, "read vs ref" — wants exactly this
|
|
11
11
|
* pair, and each had written the same four lines around
|
|
12
12
|
* {@link ReplaceCurrentViewButton}: the guard, the button, its disabled state,
|
|
13
13
|
* and the renaming of Submit that only makes sense once there are two buttons.
|
package/esm/ui/theme.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AlignmentFill, StringColors } from './palette.ts';
|
|
1
|
+
import type { AlignmentFill, PaletteMode, StringColors, legacyThemeNames } from './palette.ts';
|
|
2
2
|
import type { PaletteColor, PaletteColorOptions, Theme, ThemeOptions } from '@mui/material/styles';
|
|
3
3
|
type FrameTuple<T> = [
|
|
4
4
|
null,
|
|
@@ -13,6 +13,13 @@ type Frames = FrameTuple<PaletteColor>;
|
|
|
13
13
|
type FramesOptions = FrameTuple<PaletteColorOptions>;
|
|
14
14
|
declare module '@mui/material/styles' {
|
|
15
15
|
interface Palette extends StringColors {
|
|
16
|
+
/**
|
|
17
|
+
* The primary colour where it marks something on the page's own ground,
|
|
18
|
+
* such as a checked box or a selected row. `primary.main` in light mode,
|
|
19
|
+
* and the secondary text colour in dark mode, where a midnight primary
|
|
20
|
+
* vanishes
|
|
21
|
+
*/
|
|
22
|
+
accent: string;
|
|
16
23
|
/** Accordion headers and some toolbar chrome */
|
|
17
24
|
tertiary: PaletteColor;
|
|
18
25
|
/** Secondary floating-action-button background */
|
|
@@ -42,6 +49,7 @@ declare module '@mui/material/styles' {
|
|
|
42
49
|
alignmentFill: AlignmentFill;
|
|
43
50
|
}
|
|
44
51
|
interface PaletteOptions extends Partial<StringColors> {
|
|
52
|
+
accent?: string;
|
|
45
53
|
tertiary?: PaletteColorOptions;
|
|
46
54
|
quaternary?: PaletteColorOptions;
|
|
47
55
|
highlight?: PaletteColorOptions;
|
|
@@ -58,7 +66,7 @@ declare module '@mui/material/styles' {
|
|
|
58
66
|
alignmentFill?: Partial<AlignmentFill>;
|
|
59
67
|
}
|
|
60
68
|
}
|
|
61
|
-
export { colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv,
|
|
69
|
+
export { colorFwdStrand, colorInterchrom, colorLongInsert, colorLongreadInv, colorPairLL, colorPairLR, colorPairLRDark, colorPairRL, colorPairRR, colorRevStrand, colorShortInsert, colorSplitReadInversion, colorSupplementary, colorUnmappedMate, colorUnmappedMateDark, methylated5hmC, methylated5mC, tagColorPalette, unmethylated5mC, } from './palette.ts';
|
|
62
70
|
export type { JBrowsePalette } from './palette.ts';
|
|
63
71
|
/**
|
|
64
72
|
* The structurally-serializable inputs that fully describe a session's active
|
|
@@ -72,6 +80,8 @@ export interface SerializableThemeArgs {
|
|
|
72
80
|
configTheme?: ThemeOptions;
|
|
73
81
|
themeName?: string;
|
|
74
82
|
extraThemes?: ThemeMap;
|
|
83
|
+
/** light or dark, whichever the named palette declares; see `PaletteArgs` */
|
|
84
|
+
mode?: PaletteMode;
|
|
75
85
|
}
|
|
76
86
|
export declare const defaultThemes: {
|
|
77
87
|
default: {
|
|
@@ -87,6 +97,7 @@ export declare const defaultThemes: {
|
|
|
87
97
|
skip?: string | undefined;
|
|
88
98
|
hardclip?: string | undefined;
|
|
89
99
|
deletion?: string | undefined;
|
|
100
|
+
mafGap?: string | undefined;
|
|
90
101
|
readOverlap?: string | undefined;
|
|
91
102
|
modificationFwd?: string | undefined;
|
|
92
103
|
modificationRev?: string | undefined;
|
|
@@ -97,12 +108,17 @@ export declare const defaultThemes: {
|
|
|
97
108
|
plotGridlineMinor?: string | undefined;
|
|
98
109
|
plotGridlineMajor?: string | undefined;
|
|
99
110
|
regionBoundary?: string | undefined;
|
|
111
|
+
regionSeparator?: string | undefined;
|
|
112
|
+
tableBorder?: string | undefined;
|
|
100
113
|
featureHover?: string | undefined;
|
|
101
114
|
featureHoverStrong?: string | undefined;
|
|
102
115
|
featureSelected?: string | undefined;
|
|
103
116
|
featureDescription?: string | undefined;
|
|
117
|
+
featureConnector?: string | undefined;
|
|
104
118
|
mode?: 'light' | 'dark';
|
|
119
|
+
dark?: import("./palette.ts").DarkPaletteInput;
|
|
105
120
|
primary?: import("./palette.ts").ShadeInput;
|
|
121
|
+
accent?: string;
|
|
106
122
|
secondary?: import("./palette.ts").ShadeInput;
|
|
107
123
|
tertiary?: import("./palette.ts").ShadeInput;
|
|
108
124
|
quaternary?: import("./palette.ts").ShadeInput;
|
|
@@ -125,7 +141,8 @@ export declare const defaultThemes: {
|
|
|
125
141
|
};
|
|
126
142
|
name: string;
|
|
127
143
|
};
|
|
128
|
-
|
|
144
|
+
stock: {
|
|
145
|
+
name: string;
|
|
129
146
|
palette: {
|
|
130
147
|
stopCodon?: string | undefined;
|
|
131
148
|
startCodon?: string | undefined;
|
|
@@ -138,6 +155,7 @@ export declare const defaultThemes: {
|
|
|
138
155
|
skip?: string | undefined;
|
|
139
156
|
hardclip?: string | undefined;
|
|
140
157
|
deletion?: string | undefined;
|
|
158
|
+
mafGap?: string | undefined;
|
|
141
159
|
readOverlap?: string | undefined;
|
|
142
160
|
modificationFwd?: string | undefined;
|
|
143
161
|
modificationRev?: string | undefined;
|
|
@@ -148,12 +166,17 @@ export declare const defaultThemes: {
|
|
|
148
166
|
plotGridlineMinor?: string | undefined;
|
|
149
167
|
plotGridlineMajor?: string | undefined;
|
|
150
168
|
regionBoundary?: string | undefined;
|
|
169
|
+
regionSeparator?: string | undefined;
|
|
170
|
+
tableBorder?: string | undefined;
|
|
151
171
|
featureHover?: string | undefined;
|
|
152
172
|
featureHoverStrong?: string | undefined;
|
|
153
173
|
featureSelected?: string | undefined;
|
|
154
174
|
featureDescription?: string | undefined;
|
|
175
|
+
featureConnector?: string | undefined;
|
|
155
176
|
mode?: 'light' | 'dark';
|
|
177
|
+
dark?: import("./palette.ts").DarkPaletteInput;
|
|
156
178
|
primary?: import("./palette.ts").ShadeInput;
|
|
179
|
+
accent?: string;
|
|
157
180
|
secondary?: import("./palette.ts").ShadeInput;
|
|
158
181
|
tertiary?: import("./palette.ts").ShadeInput;
|
|
159
182
|
quaternary?: import("./palette.ts").ShadeInput;
|
|
@@ -174,9 +197,8 @@ export declare const defaultThemes: {
|
|
|
174
197
|
grey?: Partial<import("./palette.ts").NeutralTokens['grey']>;
|
|
175
198
|
action?: Partial<import("./palette.ts").NeutralTokens['action']>;
|
|
176
199
|
};
|
|
177
|
-
name: string;
|
|
178
200
|
};
|
|
179
|
-
|
|
201
|
+
minimal: {
|
|
180
202
|
name: string;
|
|
181
203
|
palette: {
|
|
182
204
|
stopCodon?: string | undefined;
|
|
@@ -190,6 +212,7 @@ export declare const defaultThemes: {
|
|
|
190
212
|
skip?: string | undefined;
|
|
191
213
|
hardclip?: string | undefined;
|
|
192
214
|
deletion?: string | undefined;
|
|
215
|
+
mafGap?: string | undefined;
|
|
193
216
|
readOverlap?: string | undefined;
|
|
194
217
|
modificationFwd?: string | undefined;
|
|
195
218
|
modificationRev?: string | undefined;
|
|
@@ -200,11 +223,15 @@ export declare const defaultThemes: {
|
|
|
200
223
|
plotGridlineMinor?: string | undefined;
|
|
201
224
|
plotGridlineMajor?: string | undefined;
|
|
202
225
|
regionBoundary?: string | undefined;
|
|
226
|
+
regionSeparator?: string | undefined;
|
|
227
|
+
tableBorder?: string | undefined;
|
|
203
228
|
featureHover?: string | undefined;
|
|
204
229
|
featureHoverStrong?: string | undefined;
|
|
205
230
|
featureSelected?: string | undefined;
|
|
206
231
|
featureDescription?: string | undefined;
|
|
232
|
+
featureConnector?: string | undefined;
|
|
207
233
|
mode?: 'light' | 'dark';
|
|
234
|
+
accent?: string;
|
|
208
235
|
quaternary?: import("./palette.ts").ShadeInput;
|
|
209
236
|
highlight?: import("./palette.ts").ShadeInput;
|
|
210
237
|
textHighlight?: import("./palette.ts").ShadeInput;
|
|
@@ -231,124 +258,21 @@ export declare const defaultThemes: {
|
|
|
231
258
|
tertiary: {
|
|
232
259
|
main: string;
|
|
233
260
|
};
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
name: string;
|
|
238
|
-
palette: {
|
|
239
|
-
stopCodon?: string | undefined;
|
|
240
|
-
startCodon?: string | undefined;
|
|
241
|
-
codonNonsynonymous?: string | undefined;
|
|
242
|
-
codonSynonymous?: string | undefined;
|
|
243
|
-
codonStop?: string | undefined;
|
|
244
|
-
coverage?: string | undefined;
|
|
245
|
-
insertion?: string | undefined;
|
|
246
|
-
softclip?: string | undefined;
|
|
247
|
-
skip?: string | undefined;
|
|
248
|
-
hardclip?: string | undefined;
|
|
249
|
-
deletion?: string | undefined;
|
|
250
|
-
readOverlap?: string | undefined;
|
|
251
|
-
modificationFwd?: string | undefined;
|
|
252
|
-
modificationRev?: string | undefined;
|
|
253
|
-
mutedSnpBase?: string | undefined;
|
|
254
|
-
missingData?: string | undefined;
|
|
255
|
-
gridlineMinor?: string | undefined;
|
|
256
|
-
gridlineMajor?: string | undefined;
|
|
257
|
-
plotGridlineMinor?: string | undefined;
|
|
258
|
-
plotGridlineMajor?: string | undefined;
|
|
259
|
-
regionBoundary?: string | undefined;
|
|
260
|
-
featureHover?: string | undefined;
|
|
261
|
-
featureHoverStrong?: string | undefined;
|
|
262
|
-
featureSelected?: string | undefined;
|
|
263
|
-
featureDescription?: string | undefined;
|
|
264
|
-
quaternary?: import("./palette.ts").ShadeInput;
|
|
265
|
-
highlight?: import("./palette.ts").ShadeInput;
|
|
266
|
-
textHighlight?: import("./palette.ts").ShadeInput;
|
|
267
|
-
error?: import("./palette.ts").ShadeInput;
|
|
268
|
-
warning?: import("./palette.ts").ShadeInput;
|
|
269
|
-
info?: import("./palette.ts").ShadeInput;
|
|
270
|
-
success?: import("./palette.ts").ShadeInput;
|
|
271
|
-
bases?: Partial<Record<import("./palette.ts").BaseKey, import("./palette.ts").ShadeInput>>;
|
|
272
|
-
frames?: import("./palette.ts").FrameTuple<import("./palette.ts").ShadeInput>;
|
|
273
|
-
framesCDS?: import("./palette.ts").FrameTuple<import("./palette.ts").ShadeInput>;
|
|
274
|
-
alignmentFill?: Partial<AlignmentFill>;
|
|
275
|
-
text?: Partial<import("./palette.ts").NeutralTokens['text']>;
|
|
276
|
-
background?: Partial<import("./palette.ts").NeutralTokens['background']>;
|
|
277
|
-
divider?: string;
|
|
278
|
-
common?: Partial<import("./palette.ts").NeutralTokens['common']>;
|
|
279
|
-
grey?: Partial<import("./palette.ts").NeutralTokens['grey']>;
|
|
280
|
-
action?: Partial<import("./palette.ts").NeutralTokens['action']>;
|
|
281
|
-
mode: "dark";
|
|
282
|
-
primary: {
|
|
283
|
-
main: string;
|
|
284
|
-
};
|
|
285
|
-
secondary: {
|
|
286
|
-
main: string;
|
|
287
|
-
};
|
|
288
|
-
tertiary: {
|
|
289
|
-
main: string;
|
|
290
|
-
};
|
|
291
|
-
};
|
|
292
|
-
};
|
|
293
|
-
darkStock: {
|
|
294
|
-
name: string;
|
|
295
|
-
palette: {
|
|
296
|
-
stopCodon?: string | undefined;
|
|
297
|
-
startCodon?: string | undefined;
|
|
298
|
-
codonNonsynonymous?: string | undefined;
|
|
299
|
-
codonSynonymous?: string | undefined;
|
|
300
|
-
codonStop?: string | undefined;
|
|
301
|
-
coverage?: string | undefined;
|
|
302
|
-
insertion?: string | undefined;
|
|
303
|
-
softclip?: string | undefined;
|
|
304
|
-
skip?: string | undefined;
|
|
305
|
-
hardclip?: string | undefined;
|
|
306
|
-
deletion?: string | undefined;
|
|
307
|
-
readOverlap?: string | undefined;
|
|
308
|
-
modificationFwd?: string | undefined;
|
|
309
|
-
modificationRev?: string | undefined;
|
|
310
|
-
mutedSnpBase?: string | undefined;
|
|
311
|
-
missingData?: string | undefined;
|
|
312
|
-
gridlineMinor?: string | undefined;
|
|
313
|
-
gridlineMajor?: string | undefined;
|
|
314
|
-
plotGridlineMinor?: string | undefined;
|
|
315
|
-
plotGridlineMajor?: string | undefined;
|
|
316
|
-
regionBoundary?: string | undefined;
|
|
317
|
-
featureHover?: string | undefined;
|
|
318
|
-
featureHoverStrong?: string | undefined;
|
|
319
|
-
featureSelected?: string | undefined;
|
|
320
|
-
featureDescription?: string | undefined;
|
|
321
|
-
primary?: import("./palette.ts").ShadeInput;
|
|
322
|
-
secondary?: import("./palette.ts").ShadeInput;
|
|
323
|
-
tertiary?: import("./palette.ts").ShadeInput;
|
|
324
|
-
quaternary?: import("./palette.ts").ShadeInput;
|
|
325
|
-
highlight?: import("./palette.ts").ShadeInput;
|
|
326
|
-
textHighlight?: import("./palette.ts").ShadeInput;
|
|
327
|
-
error?: import("./palette.ts").ShadeInput;
|
|
328
|
-
warning?: import("./palette.ts").ShadeInput;
|
|
329
|
-
info?: import("./palette.ts").ShadeInput;
|
|
330
|
-
success?: import("./palette.ts").ShadeInput;
|
|
331
|
-
bases?: Partial<Record<import("./palette.ts").BaseKey, import("./palette.ts").ShadeInput>>;
|
|
332
|
-
frames?: import("./palette.ts").FrameTuple<import("./palette.ts").ShadeInput>;
|
|
333
|
-
framesCDS?: import("./palette.ts").FrameTuple<import("./palette.ts").ShadeInput>;
|
|
334
|
-
alignmentFill?: Partial<AlignmentFill>;
|
|
335
|
-
text?: Partial<import("./palette.ts").NeutralTokens['text']>;
|
|
336
|
-
background?: Partial<import("./palette.ts").NeutralTokens['background']>;
|
|
337
|
-
divider?: string;
|
|
338
|
-
common?: Partial<import("./palette.ts").NeutralTokens['common']>;
|
|
339
|
-
grey?: Partial<import("./palette.ts").NeutralTokens['grey']>;
|
|
340
|
-
action?: Partial<import("./palette.ts").NeutralTokens['action']>;
|
|
341
|
-
mode: "dark";
|
|
342
|
-
};
|
|
343
|
-
components: {
|
|
344
|
-
MuiAppBar: {
|
|
345
|
-
defaultProps: {
|
|
346
|
-
enableColorOnDark: true;
|
|
261
|
+
dark: {
|
|
262
|
+
primary: {
|
|
263
|
+
main: string;
|
|
347
264
|
};
|
|
348
265
|
};
|
|
349
266
|
};
|
|
350
267
|
};
|
|
351
268
|
};
|
|
269
|
+
/**
|
|
270
|
+
* Every theme name JBrowse answers to: the palettes above, plus the names from
|
|
271
|
+
* before light and dark were an axis. `jbrowse-img --theme` and the SVG export
|
|
272
|
+
* picker enumerate this, so a palette added or renamed fails their builds
|
|
273
|
+
* rather than leaving a name that silently resolves to the default.
|
|
274
|
+
*/
|
|
275
|
+
export type ThemeSelectionName = keyof typeof defaultThemes | keyof typeof legacyThemeNames;
|
|
352
276
|
export declare function createJBrowseBaseTheme(theme?: ThemeOptions): ThemeOptions;
|
|
353
277
|
export type ThemeMap = Record<string, ThemeOptions & {
|
|
354
278
|
name?: string;
|
|
@@ -368,5 +292,5 @@ export declare function createJBrowseThemeFromArgs(args?: SerializableThemeArgs)
|
|
|
368
292
|
* component defaults and style overrides in `baseThemeOptions`, plus whatever
|
|
369
293
|
* non-palette options the selected theme or the config theme declares.
|
|
370
294
|
*/
|
|
371
|
-
export declare function createJBrowseTheme(configTheme?: ThemeOptions, themes?: ThemeMap,
|
|
295
|
+
export declare function createJBrowseTheme(configTheme?: ThemeOptions, themes?: ThemeMap, requestedName?: string, requestedMode?: PaletteMode): Theme;
|
|
372
296
|
export type JBrowseTheme = Theme;
|