color-q/src/q-scheme.ts

62 lines
1.2 KiB
TypeScript

import { SchemeSetting } from 'color-module';
export type ColorSet = {
root: string;
hover: string;
active: string;
focus: string;
disabled: string;
onRoot: string;
onHover: string;
onActive: string;
onFocus: string;
onDisabled: string;
};
export type Baseline = {
primary: ColorSet;
secondary: ColorSet | null;
tertiary: ColorSet | null;
accent: ColorSet | null;
neutral: ColorSet;
danger: ColorSet;
success: ColorSet;
warning: ColorSet;
info: ColorSet;
outline: ColorSet;
foreground: ColorSet;
background: ColorSet;
};
export type QScheme = {
light: Baseline | null;
dark: Baseline | null;
};
export type QSchemeSetting = {
[P in keyof SchemeSetting]: SchemeSetting[P];
};
export type QSchemeSource = {
primary: string | null;
secondary: string | null;
tertiary: string | null;
accent: string | null;
danger: string | null;
success: string | null;
warning: string | null;
info: string | null;
foreground: string | null;
background: string | null;
setting: QSchemeSetting | null;
};
export type QSchemeStorage = {
source?: QSchemeSource;
scheme?: QScheme;
cssVariables?: string;
cssAutoSchemeVariables?: string;
scssVariables?: string;
jsVariables?: string;
};