aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
111 lines • 3.68 kB
TypeScript
/**
* AuraGlass Eye Tracking Integration
* Gaze-responsive glass effects using WebGazer.js and device camera
*/
import React from 'react';
interface GazeRegion {
id: string;
x: number;
y: number;
width: number;
height: number;
element?: HTMLElement;
}
interface GazeInteraction {
region: GazeRegion;
duration: number;
intensity: number;
type: 'fixation' | 'saccade' | 'pursuit' | 'drift';
startTime: number;
endTime: number;
}
declare class EyeTrackingEngine {
private webgazer;
private gazeHistory;
private regions;
private activeInteractions;
private fixationThreshold;
private saccadeThreshold;
private isTracking;
constructor();
initialize(): Promise<boolean>;
private handleGazePoint;
private analyzeGazePatterns;
private handleFixation;
private handleSaccade;
private checkRegionInteractions;
private findRegionAt;
registerRegion(region: GazeRegion): void;
unregisterRegion(regionId: string): void;
getActiveInteractions(): GazeInteraction[];
getRegionInteraction(regionId: string): GazeInteraction | null;
startCalibration(): Promise<void>;
calibratePoint(x: number, y: number): Promise<void>;
finishCalibration(): void;
cleanup(): void;
}
export declare function GlassEyeTrackingProvider({ children, autoInitialize, onGazeInteraction, }: {
children: React.ReactNode;
autoInitialize?: boolean;
onGazeInteraction?: (interaction: GazeInteraction) => void;
}): import("react/jsx-runtime").JSX.Element;
export declare function useEyeTracking(): {
engine: EyeTrackingEngine | null;
isInitialized: boolean;
isCalibrating: boolean;
activeInteractions: GazeInteraction[];
startCalibration: () => Promise<void>;
finishCalibration: () => void;
};
export declare function GlassEyeTrackingCalibration({ onComplete, className, }: {
onComplete?: () => void;
className?: string;
}): import("react/jsx-runtime").JSX.Element | null;
export declare function GlassGazeResponsive({ children, className, regionId, onGazeEnter, onGazeLeave, onGazeIntensityChange, glassIntensity, glassRadius, glassBlur, }: {
children: React.ReactNode;
className?: string;
regionId: string;
onGazeEnter?: (interaction: GazeInteraction) => void;
onGazeLeave?: () => void;
onGazeIntensityChange?: (intensity: number) => void;
glassIntensity?: boolean;
glassRadius?: boolean;
glassBlur?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export declare function GlassGazeVisualization({ show, className, }: {
show?: boolean;
className?: string;
}): import("react/jsx-runtime").JSX.Element | null;
export declare const eyeTrackingPresets: {
subtle: {
glassIntensity: number;
responsiveness: number;
visualFeedback: boolean;
};
standard: {
glassIntensity: number;
responsiveness: number;
visualFeedback: boolean;
};
dramatic: {
glassIntensity: number;
responsiveness: number;
visualFeedback: boolean;
};
accessibility: {
glassIntensity: number;
responsiveness: number;
visualFeedback: boolean;
highContrast: boolean;
};
};
interface GlassEyeTrackingProps extends React.HTMLAttributes<HTMLDivElement> {
autoInitialize?: boolean;
showCalibration?: boolean;
showVisualization?: boolean;
children?: React.ReactNode;
onGazeInteraction?: (interaction: GazeInteraction) => void;
}
export declare const GlassEyeTracking: React.FC<GlassEyeTrackingProps>;
export default GlassEyeTracking;
//# sourceMappingURL=GlassEyeTracking.d.ts.map