sussudio
Version:
An unofficial VS Code Internal API
72 lines (71 loc) • 3.76 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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 "../../../base/common/color.mjs";
import { IDisposable } from "../../../base/common/lifecycle.mjs";
import { IThemable, styleFn } from "../../../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;