UNPKG

aura-glass

Version:

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

243 lines 7.01 kB
import { GalileoPhysicsSystem, PhysicsBody } from '../../animations/physics/galileoPhysicsSystem'; export interface GalileoSpringConfig { /** Spring stiffness */ stiffness?: number; /** Spring damping */ damping?: number; /** Spring mass */ mass?: number; /** Rest precision */ precision?: number; /** Initial velocity */ velocity?: number; /** Enable gravity */ gravity?: boolean; /** Gravity strength */ gravityStrength?: number; /** Enable collisions */ enableCollisions?: boolean; /** Bounds for physics world */ bounds?: { left: number; right: number; top: number; bottom: number; }; } export interface GalileoSpringTarget { id: string; position: { x: number; y: number; }; target?: { x: number; y: number; }; velocity?: { x: number; y: number; }; mass?: number; radius?: number; fixed?: boolean; } export declare function useGalileoSprings(targets?: GalileoSpringTarget[], config?: GalileoSpringConfig): { positions: Record<string, { x: number; y: number; }>; isAnimating: boolean; springTo: (id: string, target: { x: number; y: number; }, customConfig?: Partial<GalileoSpringConfig>) => void; impulse: (id: string, impulse: { x: number; y: number; }) => void; setPosition: (id: string, position: { x: number; y: number; }) => void; addBody: (body: GalileoSpringTarget) => void; removeBody: (id: string) => void; getBody: (id: string) => PhysicsBody | undefined; updateConfig: (newConfig: Partial<GalileoSpringConfig>) => void; batchUpdate: (updates: Array<{ type: "springTo" | "impulse" | "setPosition" | "addBody" | "removeBody"; id: string; data?: any; }>) => void; physicsSystem: GalileoPhysicsSystem | undefined; }; export declare function useChainReaction(bodies: GalileoSpringTarget[], connections: Array<{ from: string; to: string; strength: number; }>, config?: GalileoSpringConfig): { triggerChainReaction: (startId: string, initialImpulse: { x: number; y: number; }) => void; positions: Record<string, { x: number; y: number; }>; isAnimating: boolean; springTo: (id: string, target: { x: number; y: number; }, customConfig?: Partial<GalileoSpringConfig>) => void; impulse: (id: string, impulse: { x: number; y: number; }) => void; setPosition: (id: string, position: { x: number; y: number; }) => void; addBody: (body: GalileoSpringTarget) => void; removeBody: (id: string) => void; getBody: (id: string) => PhysicsBody | undefined; updateConfig: (newConfig: Partial<GalileoSpringConfig>) => void; batchUpdate: (updates: Array<{ type: "springTo" | "impulse" | "setPosition" | "addBody" | "removeBody"; id: string; data?: any; }>) => void; physicsSystem: GalileoPhysicsSystem | undefined; }; export declare function useOrbitalMechanics(centralBody: GalileoSpringTarget, orbitingBodies: GalileoSpringTarget[], config?: GalileoSpringConfig & { gravitationalConstant?: number; timeScale?: number; }): { centralBody: string; orbitingBodies: any[]; updateOrbits: () => void; positions: Record<string, { x: number; y: number; }>; isAnimating: boolean; springTo: (id: string, target: { x: number; y: number; }, customConfig?: Partial<GalileoSpringConfig>) => void; impulse: (id: string, impulse: { x: number; y: number; }) => void; setPosition: (id: string, position: { x: number; y: number; }) => void; addBody: (body: GalileoSpringTarget) => void; removeBody: (id: string) => void; getBody: (id: string) => PhysicsBody | undefined; updateConfig: (newConfig: Partial<GalileoSpringConfig>) => void; batchUpdate: (updates: Array<{ type: "springTo" | "impulse" | "setPosition" | "addBody" | "removeBody"; id: string; data?: any; }>) => void; physicsSystem: GalileoPhysicsSystem | undefined; }; export declare function useParticleSystem(emitterPosition: { x: number; y: number; }, config?: { particleCount?: number; emissionRate?: number; particleLife?: number; initialVelocity?: { x: number; y: number; }; spread?: number; gravity?: number; }): { particleIds: string[]; emit: () => void; updateEmitter: (newPosition: { x: number; y: number; }) => void; positions: Record<string, { x: number; y: number; }>; isAnimating: boolean; springTo: (id: string, target: { x: number; y: number; }, customConfig?: Partial<GalileoSpringConfig>) => void; impulse: (id: string, impulse: { x: number; y: number; }) => void; setPosition: (id: string, position: { x: number; y: number; }) => void; addBody: (body: GalileoSpringTarget) => void; removeBody: (id: string) => void; getBody: (id: string) => PhysicsBody | undefined; updateConfig: (newConfig: Partial<GalileoSpringConfig>) => void; batchUpdate: (updates: Array<{ type: "springTo" | "impulse" | "setPosition" | "addBody" | "removeBody"; id: string; data?: any; }>) => void; physicsSystem: GalileoPhysicsSystem | undefined; }; export declare function useSoftBodyPhysics(bodyDefinition: { nodes: Array<{ id: string; x: number; y: number; mass: number; }>; springs: Array<{ from: string; to: string; stiffness: number; restLength: number; }>; }, config?: GalileoSpringConfig): { springs: { from: string; to: string; stiffness: number; restLength: number; }[]; updateSprings: () => void; positions: Record<string, { x: number; y: number; }>; isAnimating: boolean; springTo: (id: string, target: { x: number; y: number; }, customConfig?: Partial<GalileoSpringConfig>) => void; impulse: (id: string, impulse: { x: number; y: number; }) => void; setPosition: (id: string, position: { x: number; y: number; }) => void; addBody: (body: GalileoSpringTarget) => void; removeBody: (id: string) => void; getBody: (id: string) => PhysicsBody | undefined; updateConfig: (newConfig: Partial<GalileoSpringConfig>) => void; batchUpdate: (updates: Array<{ type: "springTo" | "impulse" | "setPosition" | "addBody" | "removeBody"; id: string; data?: any; }>) => void; physicsSystem: GalileoPhysicsSystem | undefined; }; //# sourceMappingURL=useGalileoSprings.d.ts.map