UNPKG

theme-vir

Version:
23 lines (22 loc) 1.09 kB
import { type RequireAtLeastOne } from 'type-fest'; import { type ColorInit, type ColorThemeInit, type ColorThemeOverride } from './color-theme-init.js'; import { themeDefaultKey, type ColorTheme, type NoRefColorInit } from './color-theme.js'; /** * Input for {@link defineColorThemeOverride} color overrides. * * @category Internal */ export type ColorThemeOverrideInit<Theme extends ColorTheme = ColorTheme> = Omit<Partial<{ [ColorName in keyof Theme['colors']]: ColorInit; }>, typeof themeDefaultKey>; /** * Define a color theme override. Use this to define multiple theme variations, like light mode vs * dark mode. * * @category Color Theme */ export declare function defineColorThemeOverride<const Init extends ColorThemeInit>(originalTheme: ColorTheme<Init>, overrideName: string, { defaultOverride, colorOverrides, }: Readonly<RequireAtLeastOne<{ /** Override the default foreground and/or background colors. */ defaultOverride: Readonly<NoRefColorInit>; colorOverrides: Readonly<ColorThemeOverrideInit<ColorTheme<Init>>>; }>>): ColorThemeOverride<Init>;