aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
74 lines • 2.28 kB
TypeScript
import React from "react";
export interface FluidParticle {
x: number;
y: number;
vx: number;
vy: number;
density: number;
pressure: number;
color: [number, number, number, number];
id: string;
}
export interface FluidForce {
x: number;
y: number;
strength: number;
type: "push" | "pull" | "vortex" | "wave";
radius: number;
id: string;
}
export interface GlassFluidSimulationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
/** Canvas width */
width?: number;
/** Canvas height */
height?: number;
/** Number of fluid particles */
particleCount?: number;
/** Fluid viscosity (0-1) */
viscosity?: number;
/** Gravity strength */
gravity?: number;
/** Smoothing radius for SPH */
smoothingRadius?: number;
/** Rest density of fluid */
restDensity?: number;
/** Gas constant for pressure */
gasConstant?: number;
/** Damping factor */
damping?: number;
/** Whether to show particle trails */
showTrails?: boolean;
/** Trail length */
trailLength?: number;
/** Fluid color */
fluidColor?: [number, number, number, number];
/** Background color */
backgroundColor?: string;
/** Whether to enable interactive forces */
interactive?: boolean;
/** Force strength multiplier */
forceStrength?: number;
/** External forces */
forces?: FluidForce[];
/** Animation speed multiplier */
timeStep?: number;
/** Whether simulation is paused */
paused?: boolean;
/** Frame rate limit */
maxFPS?: number;
/** Debug mode */
debug?: boolean;
/** Show controls */
showControls?: boolean;
/** Fluid preset */
preset?: "water" | "honey" | "mercury" | "gas" | "plasma";
/** Change handler */
onChange?: (particles: FluidParticle[]) => void;
/** Force change handler */
onForceChange?: (forces: FluidForce[]) => void;
/** Respect user's motion preferences */
respectMotionPreference?: boolean;
}
export declare const GlassFluidSimulation: React.ForwardRefExoticComponent<GlassFluidSimulationProps & React.RefAttributes<HTMLDivElement>>;
export default GlassFluidSimulation;
//# sourceMappingURL=GlassFluidSimulation.d.ts.map