UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

63 lines (62 loc) 2.33 kB
import { BaseState } from './BaseState'; import { AdaptableObject } from './Common/AdaptableObject'; import { TypeHint } from './Common/Types'; /** * Shipped AdapTable theme names. */ export type SystemThemeName = TypeHint<string, 'light' | 'dark' | 'os'>; /** * Theme section of Adaptable State */ export interface ThemeState extends BaseState { /** * Name of current Theme or theme set at startup; leave blank if using 'Light Theme', set to 'dark' for 'Dark Theme' */ CurrentTheme?: SystemThemeName; /** * Which shipped themes are available; pass theme name string, or `{ Name, AgThemeMode? }` to pair a custom AG Grid theme mode; leave unset for all shipped themes */ SystemThemes?: (SystemThemeEntry | AdaptableTheme)[]; /** * Custom themes provided by developers (deprecated) * * @deprecated Will be removed in next major version. Customise shipped `light` / `dark` themes via CSS variable overrides instead. */ UserThemes?: AdaptableTheme[]; } /** * Pairing options between AG Grid and AdapTable themes */ export interface SystemThemeOptions { /** * Shipped theme this entry configures: `light`, `dark`, or `os` */ Name: SystemThemeName; /** * AG Grid theme mode to apply when this theme is selected; valid values are `light`, `dark`, `dark-blue` or any custom theme mode defined in AG Grid */ AgThemeMode?: TypeHint<string, 'light' | 'dark' | 'dark-blue'>; /** * Ag Grid theme to apply when loading theme; relevant only when using legacy AG Grid themes * * @deprecated no longer used with new AG Grid Theming API */ AgGridClassName?: string; } /** * Configures a shipped system theme: a theme name, or an object with AG Grid pairing options */ export type SystemThemeEntry = SystemThemeName | SystemThemeOptions; /** * Used for creating Custom Themes (deprecated) * * @deprecated User-defined themes are deprecated; customise shipped themes via CSS variables and use SystemThemeOptions for AG Grid pairing */ export interface AdaptableTheme extends AdaptableObject { Name: string; Description: string; AgGridClassName?: string; CSSVariables?: Record<string, string>; Variant?: 'light' | 'dark'; AgThemeMode?: TypeHint<string, 'light' | 'dark' | 'dark-blue'>; }