aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
118 lines • 3.05 kB
TypeScript
import React from "react";
export interface Particle {
id: string;
x: number;
y: number;
z: number;
vx: number;
vy: number;
vz: number;
size: number;
life: number;
maxLife: number;
color: string;
opacity: number;
type: "sphere" | "square" | "triangle" | "star" | "custom";
mass?: number;
charge?: number;
trail?: boolean;
customShape?: React.ReactNode;
}
export interface ParticleEmitter {
id: string;
x: number;
y: number;
z: number;
rate: number;
velocity: {
min: number;
max: number;
};
angle: {
min: number;
max: number;
};
size: {
min: number;
max: number;
};
life: {
min: number;
max: number;
};
colors: string[];
enabled: boolean;
burst?: {
count: number;
interval: number;
};
}
export interface ParticleForce {
type: "gravity" | "wind" | "magnetic" | "vortex" | "repulsion" | "attraction";
strength: number;
x: number;
y: number;
z: number;
radius?: number;
enabled: boolean;
}
export interface GlassParticleFieldProps extends React.HTMLAttributes<HTMLDivElement> {
/** Particle emitters */
emitters?: ParticleEmitter[];
/** Environmental forces */
forces?: ParticleForce[];
/** Maximum number of particles */
maxParticles?: number;
/** Particle physics enabled */
physics?: boolean;
/** Collision detection */
collisions?: boolean;
/** Particle trails */
trails?: boolean;
/** Background interaction */
interactive?: boolean;
/** Mouse interaction force */
mouseForce?: {
type: "attraction" | "repulsion";
strength: number;
radius: number;
};
/** Particle system bounds */
bounds?: {
width: number;
height: number;
depth: number;
};
/** Performance settings */
performance?: {
culling: boolean;
lodDistance: number;
targetFPS: number;
};
/** Visual effects */
effects?: {
bloom: boolean;
blur: boolean;
glow: boolean;
sparkle: boolean;
};
/** Color scheme */
colorScheme?: "warm" | "cool" | "rainbow" | "monochrome" | "neon";
/** Animation speed multiplier */
speed?: number;
/** Pause animation */
paused?: boolean;
/** Debug mode */
debug?: boolean;
/** Event handlers */
onParticleClick?: (particle: Particle) => void;
onEmitterTrigger?: (emitter: ParticleEmitter) => void;
onForceApply?: (force: ParticleForce, particles: Particle[]) => void;
/** Custom particle renderer */
renderParticle?: (particle: Particle) => React.ReactNode;
/** Respect motion preferences */
respectMotionPreference?: boolean;
}
export declare const GlassParticleField: React.ForwardRefExoticComponent<GlassParticleFieldProps & React.RefAttributes<HTMLDivElement>>;
export default GlassParticleField;
//# sourceMappingURL=GlassParticleField.d.ts.map