aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
125 lines • 3.71 kB
TypeScript
import React from 'react';
export * from './components/button';
export * from './components/layout';
export * from './components/form';
export * from './components/data-display';
export interface GlassComponentProps {
glassIntensity?: 'subtle' | 'medium' | 'strong' | 'intense';
blur?: number;
backdrop?: boolean;
interactive?: boolean;
className?: string;
children?: React.ReactNode;
}
export type ButtonVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'outline' | 'ghost' | 'link' | 'text';
export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
export type InputVariant = 'default' | 'filled' | 'outlined' | 'underlined';
export type CardVariant = 'default' | 'elevated' | 'outlined' | 'glass';
export type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
export interface ContainerProps {
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
centerContent?: boolean;
padding?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
}
export interface GridProps {
columns?: number | {
xs?: number;
sm?: number;
md?: number;
lg?: number;
xl?: number;
};
gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
alignItems?: 'start' | 'center' | 'end' | 'stretch';
justifyContent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
}
export interface FlexProps {
direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
alignItems?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
justifyContent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
}
export interface FormFieldProps {
name: string;
label?: string;
placeholder?: string;
required?: boolean;
disabled?: boolean;
error?: string;
helperText?: string;
}
export interface SelectOption {
value: string | number;
label: string;
disabled?: boolean;
group?: string;
}
export interface TableColumn<T = any> {
key: keyof T | string;
title: string;
width?: number | string;
sortable?: boolean;
filterable?: boolean;
render?: (value: any, record: T, index: number) => React.ReactNode;
}
export interface TableProps<T = any> {
columns: TableColumn<T>[];
data: T[];
loading?: boolean;
pagination?: {
current: number;
pageSize: number;
total: number;
showSizeChanger?: boolean;
showQuickJumper?: boolean;
};
onChange?: (pagination: any, filters: any, sorter: any) => void;
}
export interface ModalProps {
open: boolean;
onClose: () => void;
title?: string;
size?: ModalSize;
closable?: boolean;
maskClosable?: boolean;
centered?: boolean;
footer?: React.ReactNode | null;
}
export interface NavItem {
key: string;
label: string;
icon?: React.ReactNode;
children?: NavItem[];
disabled?: boolean;
path?: string;
}
export interface BreadcrumbItem {
title: string;
path?: string;
icon?: React.ReactNode;
}
export interface ChartProps {
data: any[];
type: 'line' | 'bar' | 'area' | 'pie' | 'scatter' | 'radar';
width?: number | string;
height?: number | string;
colors?: string[];
showLegend?: boolean;
showTooltip?: boolean;
}
export interface PhysicsInteractionProps {
stiffness?: number;
damping?: number;
mass?: number;
scale?: number;
rotation?: number;
duration?: number;
delay?: number;
}
export interface RippleEffectProps {
color?: string;
duration?: number;
disabled?: boolean;
}
//# sourceMappingURL=components.d.ts.map