UNPKG

aura-glass

Version:

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

139 lines 3.67 kB
import React from "react"; export interface ARObject { id: string; name: string; modelUrl?: string; thumbnail?: string; scale: { x: number; y: number; z: number; }; rotation: { x: number; y: number; z: number; }; position: { x: number; y: number; z: number; }; visible: boolean; opacity: number; material?: { color?: string; metalness?: number; roughness?: number; emissive?: string; texture?: string; }; animation?: { type: "rotate" | "float" | "pulse" | "bounce"; speed: number; enabled: boolean; }; metadata?: Record<string, any>; } export interface ARMarker { id: string; type: "qr" | "image" | "nft" | "barcode"; source: string; size?: number; confident?: number; } export interface ARCamera { position: { x: number; y: number; z: number; }; target: { x: number; y: number; z: number; }; fov: number; near: number; far: number; } export interface ARLighting { ambient: { color: string; intensity: number; }; directional: { color: string; intensity: number; position: { x: number; y: number; z: number; }; castShadow: boolean; }; environment?: string; } export interface GlassARPreviewProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onError"> { /** AR objects to display */ objects?: ARObject[]; /** AR markers for tracking */ markers?: ARMarker[]; /** Camera configuration */ camera?: ARCamera; /** Lighting setup */ lighting?: ARLighting; /** Background mode */ background?: "transparent" | "camera" | "environment" | "color"; /** Background color if mode is 'color' */ backgroundColor?: string; /** Environment map URL */ environmentMap?: string; /** Whether to enable camera feed */ enableCamera?: boolean; /** Whether to show debug info */ debug?: boolean; /** AR session state */ sessionActive?: boolean; /** WebXR support level */ xrMode?: "immersive-ar" | "inline" | "viewer"; /** Performance settings */ quality?: "low" | "medium" | "high"; /** Object interaction handlers */ onObjectSelect?: (object: ARObject) => void; onObjectMove?: (objectId: string, position: { x: number; y: number; z: number; }) => void; onObjectRotate?: (objectId: string, rotation: { x: number; y: number; z: number; }) => void; onObjectScale?: (objectId: string, scale: { x: number; y: number; z: number; }) => void; /** Marker tracking handlers */ onMarkerFound?: (marker: ARMarker) => void; onMarkerLost?: (marker: ARMarker) => void; /** Session handlers */ onSessionStart?: () => void; onSessionEnd?: () => void; onError?: (error: Error) => void; /** Custom object renderer */ renderObject?: (object: ARObject) => React.ReactNode; /** Loading component */ loadingComponent?: React.ReactNode; /** Error component */ errorComponent?: React.ReactNode; /** Controls overlay */ controlsOverlay?: React.ReactNode; /** Respect motion preferences */ respectMotionPreference?: boolean; } export declare const GlassARPreview: React.ForwardRefExoticComponent<GlassARPreviewProps & React.RefAttributes<HTMLDivElement>>; export default GlassARPreview; //# sourceMappingURL=GlassARPreview.d.ts.map