aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
75 lines • 1.96 kB
TypeScript
import React from 'react';
export interface MagneticEffectConfig {
strength?: number;
range?: number;
scale?: number;
rotation?: number;
easing?: string;
duration?: number;
enabled?: boolean;
resetOnLeave?: boolean;
}
export interface MagneticEffectState {
isActive: boolean;
distance: number;
intensity: number;
transform: {
x: number;
y: number;
scale: number;
rotation: number;
};
}
export declare function useMouseMagneticEffect(config?: MagneticEffectConfig): {
ref: React.RefObject<HTMLElement>;
state: MagneticEffectState;
reset: () => void;
config: {
strength: number;
range: number;
scale: number;
rotation: number;
easing: string;
duration: number;
enabled: boolean;
resetOnLeave: boolean;
};
};
export declare function useMagneticField(config?: MagneticEffectConfig): {
containerRef: React.RefObject<HTMLElement>;
registerElement: (id: string, element: HTMLElement) => () => void;
unregisterElement: (id: string) => void;
activeElement: string | null;
resetAll: () => void;
config: {
strength: number;
range: number;
scale: number;
rotation: number;
easing: string;
duration: number;
enabled: boolean;
resetOnLeave: boolean;
};
};
export declare function useMagneticButton(config?: MagneticEffectConfig & {
onClick?: () => void;
disabled?: boolean;
}): {
handleClick: () => void;
disabled: boolean;
ref: React.RefObject<HTMLElement>;
state: MagneticEffectState;
reset: () => void;
config: {
strength: number;
range: number;
scale: number;
rotation: number;
easing: string;
duration: number;
enabled: boolean;
resetOnLeave: boolean;
};
};
//# sourceMappingURL=useMouseMagneticEffect.d.ts.map