@guruhotel/aura-ui
Version:
⚛️ React UI library by GuruHotel
74 lines (73 loc) • 2.38 kB
TypeScript
import { StitchesTheme, createThemeBase } from "./stitches.config";
import commonTheme from "./common";
/** Configuration Interface */
declare namespace ConfigType {
/** Theme interface. */
type Theme<T = {}> = {
fonts?: {
[token in number | string]: boolean | number | string;
};
fontSizes?: {
[token in number | string]: boolean | number | string;
};
fontWeights?: {
[token in number | string]: boolean | number | string;
};
lineHeights?: {
[token in number | string]: boolean | number | string;
};
letterSpacings?: {
[token in number | string]: boolean | number | string;
};
space?: {
[token in number | string]: boolean | number | string;
};
radii?: {
[token in number | string]: boolean | number | string;
};
zIndices?: {
[token in number | string]: boolean | number | string;
};
borderWeights?: {
[token in number | string]: boolean | number | string;
};
colors?: {
[token in number | string]: boolean | number | string;
};
shadows?: {
[token in number | string]: boolean | number | string;
};
transitions?: {
[token in number | string]: boolean | number | string;
};
breakpoints?: {
[token in number | string]: boolean | number | string;
};
} & {
[Scale in keyof T]: {
[Token in keyof T[Scale]]: T[Scale][Token] extends boolean | number | string ? T[Scale][Token] : boolean | number | string;
};
};
}
export declare type BaseTheme = ConfigType.Theme;
export declare type AuraUITheme = StitchesTheme;
export declare type ThemeType = "dark" | "light";
export declare type CreateTheme = ReturnType<typeof createThemeBase>;
export declare type TokenKeyName = keyof typeof commonTheme["theme"];
export interface TokenValue {
token: number | string;
value: number | string;
scale: string;
prefix: string;
}
export declare type Theme = {
type?: ThemeType | string;
className?: string;
theme?: BaseTheme;
};
export declare type AuraUIThemeContext = {
type: ThemeType | string;
theme?: AuraUITheme;
isDark?: boolean;
};
export {};