igniteui-webcomponents
Version:
Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.
27 lines (26 loc) • 766 B
TypeScript
import type { CSSResult } from 'lit';
export type Theme = 'material' | 'bootstrap' | 'indigo' | 'fluent';
export type ThemeVariant = 'light' | 'dark';
export type Themes = {
light: {
[K in Theme | 'shared']?: CSSResult;
};
dark: {
[K in Theme | 'shared']?: CSSResult;
};
};
export type ThemeChangedCallback = (theme: Theme) => unknown;
/**
* A controller responsible for adopting various component themes;
* See also {@link updateWhenThemeChanges}.
*/
export interface ThemeController {
/**
* The name of the currently adopted theme. See {@link Theme}.
*/
theme: Theme;
/**
* Optional callback function to invoke when the theme is changed at runtime.
*/
onThemeChanged?: ThemeChangedCallback;
}