UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

93 lines (91 loc) 3.67 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Color } from '@sussudio/base/common/color.mjs'; import { IDisposable } from '@sussudio/base/common/lifecycle.mjs'; import { IThemable, styleFn } from '@sussudio/base/common/styler.mjs'; import { ColorIdentifier, ColorValue } from './colorRegistry.mjs'; import { IColorTheme, IThemeService } from './themeService.mjs'; export interface IStyleOverrides { [color: string]: ColorIdentifier | undefined; } export interface IColorMapping { [optionsKey: string]: ColorValue | undefined; } export interface IComputedStyles { [color: string]: Color | undefined; } export declare function computeStyles(theme: IColorTheme, styleMap: IColorMapping): IComputedStyles; export declare function attachStyler<T extends IColorMapping>( themeService: IThemeService, styleMap: T, widgetOrCallback: IThemable | styleFn, ): IDisposable; export interface ISelectBoxStyleOverrides extends IStyleOverrides, IListStyleOverrides { selectBackground?: ColorIdentifier; selectListBackground?: ColorIdentifier; selectForeground?: ColorIdentifier; decoratorRightForeground?: ColorIdentifier; selectBorder?: ColorIdentifier; focusBorder?: ColorIdentifier; } export declare function attachSelectBoxStyler( widget: IThemable, themeService: IThemeService, style?: ISelectBoxStyleOverrides, ): IDisposable; export interface IListStyleOverrides extends IStyleOverrides { listBackground?: ColorIdentifier; listFocusBackground?: ColorIdentifier; listFocusForeground?: ColorIdentifier; listFocusOutline?: ColorIdentifier; listActiveSelectionBackground?: ColorIdentifier; listActiveSelectionForeground?: ColorIdentifier; listActiveSelectionIconForeground?: ColorIdentifier; listFocusAndSelectionOutline?: ColorIdentifier; listFocusAndSelectionBackground?: ColorIdentifier; listFocusAndSelectionForeground?: ColorIdentifier; listInactiveSelectionBackground?: ColorIdentifier; listInactiveSelectionIconForeground?: ColorIdentifier; listInactiveSelectionForeground?: ColorIdentifier; listInactiveFocusBackground?: ColorIdentifier; listInactiveFocusOutline?: ColorIdentifier; listHoverBackground?: ColorIdentifier; listHoverForeground?: ColorIdentifier; listDropBackground?: ColorIdentifier; listSelectionOutline?: ColorIdentifier; listHoverOutline?: ColorIdentifier; treeIndentGuidesStroke?: ColorIdentifier; tableColumnsBorder?: ColorIdentifier; tableOddRowsBackgroundColor?: ColorIdentifier; } export declare function attachListStyler( widget: IThemable, themeService: IThemeService, overrides?: IColorMapping, ): IDisposable; export declare const defaultListStyles: IColorMapping; export declare function attachStylerCallback( themeService: IThemeService, colors: { [name: string]: ColorIdentifier; }, callback: styleFn, ): IDisposable; export interface IMenuStyleOverrides extends IColorMapping { shadowColor?: ColorIdentifier; borderColor?: ColorIdentifier; foregroundColor?: ColorIdentifier; backgroundColor?: ColorIdentifier; selectionForegroundColor?: ColorIdentifier; selectionBackgroundColor?: ColorIdentifier; selectionBorderColor?: ColorIdentifier; separatorColor?: ColorIdentifier; } export declare const defaultMenuStyles: IMenuStyleOverrides; export declare function attachMenuStyler( widget: IThemable, themeService: IThemeService, style?: IMenuStyleOverrides, ): IDisposable;