aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
46 lines • 1.68 kB
TypeScript
import React from 'react';
export type ThemeMode = 'light' | 'dark' | 'system';
export type GlassIntensity = 'subtle' | 'balanced' | 'strong';
export type ContrastMode = 'normal' | 'high';
export type Density = 'comfortable' | 'compact';
export interface Settings {
themeMode: ThemeMode;
glassIntensity: GlassIntensity;
contrastMode: ContrastMode;
reducedMotion: 'system' | 'on' | 'off';
fontScale: 1 | 1.1 | 1.25 | 1.5;
focusStyle: 'default' | 'strong';
density: Density;
locale: string;
experiments: Record<string, boolean>;
}
export type SettingsPatch = Partial<Settings>;
export interface SettingsStorageAdapter {
get: (key: string) => Promise<string | null> | string | null;
set: (key: string, value: string) => Promise<void> | void;
remove?: (key: string) => Promise<void> | void;
}
export interface SettingsContextValue {
settings: Settings;
updateSettings: (patch: SettingsPatch) => void;
resetSettings: () => void;
isReady: boolean;
}
declare const SettingsContext: React.Context<SettingsContextValue | undefined>;
export interface SettingsProviderProps {
children: React.ReactNode;
initialSettings?: SettingsPatch;
storageAdapter?: SettingsStorageAdapter;
onChange?: (settings: Settings) => void;
}
export declare const SettingsProvider: React.FC<SettingsProviderProps>;
/**
* Hook to access settings.
*/
export declare function useSettings(): SettingsContextValue;
/**
* Hook to access a single setting with proper typing.
*/
export declare function useSetting<K extends keyof Settings>(key: K): Settings[K];
export default SettingsContext;
//# sourceMappingURL=SettingsContext.d.ts.map