@brutalcomponent/react
Version:
Brutalist React components
61 lines (58 loc) • 1.55 kB
TypeScript
import React__default from 'react';
interface BrutalTheme {
name: string;
label: string;
colors: {
white: string;
black: string;
gray: {
50: string;
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
};
accent: {
primary: string;
secondary: string;
tertiary: string;
quaternary: string;
};
success: string;
warning: string;
danger: string;
info: string;
};
shadows: {
sm: string;
base: string;
md: string;
lg: string;
xl: string;
};
}
declare const brutalThemes: Record<string, BrutalTheme>;
interface ThemeContextValue {
theme: BrutalTheme;
themeName: string;
setTheme: (themeName: string) => void;
accentColor: keyof BrutalTheme["colors"]["accent"];
setAccentColor: (color: keyof BrutalTheme["colors"]["accent"]) => void;
}
interface ThemeProviderProps {
children: React__default.ReactNode;
defaultTheme?: string;
storageKey?: string;
}
/**
* @component ThemeProvider
* @description Provider for brutal theme management
*/
declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
declare const useTheme: () => ThemeContextValue;
export { type BrutalTheme, ThemeProvider, type ThemeProviderProps, brutalThemes, useTheme };