lightning-auth-and-payment
Version:
Lightning Network authentication and payment processing library for modern web applications
112 lines • 2.41 kB
TypeScript
/**
* Theme system types and interfaces
* Provides type safety for the theming system
*/
export type ThemeMode = 'light' | 'dark' | 'system';
export interface ThemeColors {
background: string;
foreground: string;
muted: string;
mutedForeground: string;
primary: string;
primaryForeground: string;
secondary: string;
secondaryForeground: string;
accent: string;
accentForeground: string;
destructive: string;
destructiveForeground: string;
border: string;
input: string;
ring: string;
lightning: {
orange: string;
orangeForeground: string;
green: string;
greenForeground: string;
blue: string;
blueForeground: string;
purple: string;
purpleForeground: string;
};
bitcoin: {
400: string;
500: string;
600: string;
700: string;
};
}
export interface ThemeSpacing {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
'2xl': string;
'3xl': string;
}
export interface ThemeTypography {
fontFamily: {
sans: string[];
mono: string[];
};
fontSize: {
xs: string;
sm: string;
base: string;
lg: string;
xl: string;
'2xl': string;
'3xl': string;
'4xl': string;
};
fontWeight: {
normal: number;
medium: number;
semibold: number;
bold: number;
};
lineHeight: {
tight: number;
normal: number;
relaxed: number;
};
}
export interface ThemeRadius {
none: string;
sm: string;
md: string;
lg: string;
xl: string;
full: string;
}
export interface ThemeShadows {
sm: string;
md: string;
lg: string;
xl: string;
'2xl': string;
inner: string;
none: string;
}
export interface Theme {
mode: ThemeMode;
colors: ThemeColors;
spacing: ThemeSpacing;
typography: ThemeTypography;
radius: ThemeRadius;
shadows: ThemeShadows;
}
export interface ThemeContextValue {
theme: Theme;
setTheme: (theme: Partial<Theme>) => void;
toggleMode: () => void;
setMode: (mode: ThemeMode) => void;
}
export interface ThemeProviderProps {
children: React.ReactNode;
defaultTheme?: Partial<Theme>;
storageKey?: string;
attribute?: string;
}
//# sourceMappingURL=types.d.ts.map