@voxket-ai/voxket-live
Version:
A React widget for embedding Voxket-powered audio/video/chat experiences.
90 lines (89 loc) • 2.51 kB
TypeScript
import { ReactNode } from 'react';
export interface VoxketTheme {
name: string;
colors: {
primary: string;
secondary: string;
accent: string;
background: string;
surface: string;
text: {
primary: string;
secondary: string;
muted: string;
inverse: string;
};
status: {
success: string;
warning: string;
error: string;
info: string;
};
border: string;
shadow: string;
};
typography: {
fontFamily: string;
fontSize: {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
};
fontWeight: {
normal: number;
medium: number;
semibold: number;
bold: number;
};
lineHeight: {
tight: number;
normal: number;
relaxed: number;
};
};
spacing: {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
};
borderRadius: {
none: string;
sm: string;
md: string;
lg: string;
full: string;
};
shadows: {
sm: string;
md: string;
lg: string;
};
components?: {
[componentName: string]: Record<string, any>;
};
}
export declare const defaultTheme: VoxketTheme;
export declare const darkTheme: VoxketTheme;
export declare const enterpriseTheme: VoxketTheme;
export interface ThemeContextValue {
theme: VoxketTheme;
setTheme: (theme: VoxketTheme | string) => void;
themes: Record<string, VoxketTheme>;
registerTheme: (theme: VoxketTheme) => void;
}
export declare const useTheme: () => ThemeContextValue;
export interface ThemeProviderProps {
theme?: VoxketTheme | string;
themes?: Record<string, VoxketTheme>;
children: ReactNode;
cssVariables?: boolean;
className?: string;
}
export declare function ThemeProvider({ theme, themes: customThemes, children, cssVariables, className }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function flattenTheme(theme: VoxketTheme): Record<string, string>;
export declare function createCustomTheme(baseTheme: VoxketTheme | undefined, overrides: Partial<VoxketTheme>): VoxketTheme;
export declare function useComponentTheme(componentName: string): Record<string, any>;