UNPKG

aura-glass

Version:

A comprehensive glassmorphism design system for React applications with 142+ production-ready components

113 lines 3.6 kB
import React from 'react'; export * from './components'; export * from './themeTypes'; export * from './animations'; export * from './accessibility'; export interface BaseComponentProps { className?: string; children?: React.ReactNode; id?: string; style?: React.CSSProperties; 'data-testid'?: string; } export type ComponentVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info' | 'outline' | 'ghost' | 'link'; export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; export type GlassIntensity = 'subtle' | 'medium' | 'strong' | 'intense'; export type EventHandler<T = Element, E = Event> = (event: E & { currentTarget: T; }) => void; export interface HTMLDivProps extends React.HTMLAttributes<HTMLDivElement> { } export interface HTMLButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> { } export interface HTMLInputProps extends React.InputHTMLAttributes<HTMLInputElement> { } export interface HTMLTextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> { } export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & { [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>; }[Keys]; export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; export interface TransitionConfig { duration?: number; delay?: number; ease?: string | number[]; type?: 'spring' | 'tween' | 'keyframes'; } export interface ValidationRule { required?: boolean; minLength?: number; maxLength?: number; pattern?: RegExp; custom?: (value: any) => boolean | string; } export interface FormField { name: string; type: string; label?: string; placeholder?: string; validation?: ValidationRule; required?: boolean; } export interface ApiResponse<T = any> { data: T; success: boolean; message?: string; error?: string; } export interface PaginatedResponse<T = any> extends ApiResponse<T[]> { pagination: { page: number; limit: number; total: number; totalPages: number; }; } export interface ChartDataPoint { label: string; value: number; color?: string; metadata?: Record<string, any>; } export interface ChartSeries { name: string; data: ChartDataPoint[]; color?: string; type?: 'line' | 'bar' | 'area' | 'pie' | 'scatter'; } export interface Position { top?: number | string; right?: number | string; bottom?: number | string; left?: number | string; } export interface Dimensions { width?: number | string; height?: number | string; minWidth?: number | string; minHeight?: number | string; maxWidth?: number | string; maxHeight?: number | string; } export interface AriaProps { 'aria-label'?: string; 'aria-labelledby'?: string; 'aria-describedby'?: string; 'aria-expanded'?: boolean; 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'; 'aria-selected'?: boolean; 'aria-current'?: boolean | 'page' | 'step' | 'location' | 'date' | 'time'; role?: string; } export interface FocusableProps { tabIndex?: number; autoFocus?: boolean; onFocus?: EventHandler; onBlur?: EventHandler; onKeyDown?: React.KeyboardEventHandler; } export type Callback<T = void> = () => T; export type CallbackWithArg<T, A = any> = (arg: A) => T; export type AsyncCallback<T = void> = () => Promise<T>; export type AsyncCallbackWithArg<T, A = any> = (arg: A) => Promise<T>; //# sourceMappingURL=index.d.ts.map