theme-o-rama
Version:
A TypeScript library for dynamic theme management in react + shadcn + tailwind applications
280 lines • 7.95 kB
TypeScript
export interface Theme {
name: string;
displayName: string;
schemaVersion: number;
inherits?: string;
mostLike?: "light" | "dark";
tags?: string[];
backgroundImage?: string;
backgroundSize?: string;
backgroundPosition?: string;
backgroundRepeat?: string;
colors?: {
themeColor?: string;
background?: string;
foreground?: string;
card?: string;
cardForeground?: string;
popover?: string;
popoverForeground?: string;
primary?: string;
primaryForeground?: string;
secondary?: string;
secondaryForeground?: string;
muted?: string;
mutedForeground?: string;
accent?: string;
accentForeground?: string;
destructive?: string;
destructiveForeground?: string;
border?: string;
input?: string;
inputBackground?: string;
ring?: string;
cardBackdropFilter?: string | null;
popoverBackdropFilter?: string | null;
inputBackdropFilter?: string | null;
};
fonts?: {
sans?: string;
serif?: string;
mono?: string;
heading?: string;
body?: string;
};
corners?: {
none?: string;
sm?: string;
md?: string;
lg?: string;
xl?: string;
full?: string;
};
shadows?: {
none?: string;
sm?: string;
md?: string;
lg?: string;
xl?: string;
inner?: string;
card?: string;
button?: string;
dropdown?: string;
};
sidebar?: {
background?: string;
backdropFilter?: string | null;
border?: string;
};
tables?: {
background?: string;
border?: string;
boxShadow?: string;
header?: {
background?: string;
color?: string;
border?: string;
backdropFilter?: string | null;
};
row?: {
background?: string;
color?: string;
border?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
};
selected?: {
background?: string;
color?: string;
};
};
cell?: {
border?: string;
};
footer?: {
background?: string;
color?: string;
border?: string;
backdropFilter?: string | null;
};
};
buttons?: {
default?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
outline?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
secondary?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
destructive?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
ghost?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
link?: {
background?: string;
color?: string;
border?: string;
borderStyle?: string;
borderWidth?: string;
borderColor?: string;
borderRadius?: string;
boxShadow?: string;
backdropFilter?: string | null;
hover?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
active?: {
background?: string;
color?: string;
transform?: string;
borderStyle?: string;
borderColor?: string;
boxShadow?: string;
};
};
};
buttonStyle?: string;
switches?: {
checked?: {
background?: string;
};
unchecked?: {
background?: string;
};
thumb?: {
background?: string;
};
};
}
//# sourceMappingURL=theme.type.d.ts.map