aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
118 lines • 2.9 kB
TypeScript
import React from "react";
import type { ConsciousnessFeatures } from "../layout/GlassContainer";
export interface ChatMessage {
id: string;
content: string;
sender: {
id: string;
name: string;
avatar?: string;
status?: "online" | "offline" | "away" | "busy";
};
timestamp: Date;
type: "text" | "image" | "file" | "system";
reactions?: Array<{
emoji: string;
count: number;
users: string[];
}>;
replyTo?: string;
edited?: boolean;
attachments?: Array<{
type: "image" | "file" | "video";
url: string;
name: string;
size?: number;
}>;
}
export interface ChatParticipant {
id: string;
name: string;
avatar?: string;
status: "online" | "offline" | "away" | "busy";
role?: "admin" | "moderator" | "member";
lastSeen?: Date;
}
export interface GlassChatProps extends ConsciousnessFeatures {
/**
* Chat messages
*/
messages: ChatMessage[];
/**
* Chat participants
*/
participants?: ChatParticipant[];
/**
* Current user
*/
currentUser?: {
id: string;
name: string;
avatar?: string;
};
/**
* Chat title
*/
title?: string;
/**
* Chat subtitle/description
*/
subtitle?: string;
/**
* Enable message reactions
*/
enableReactions?: boolean;
/**
* Enable file attachments
*/
enableAttachments?: boolean;
/**
* Enable voice messages
*/
enableVoice?: boolean;
/**
* Enable typing indicators
*/
enableTyping?: boolean;
/**
* Show participant list
*/
showParticipants?: boolean;
/**
* Show message timestamps
*/
showTimestamps?: boolean;
/**
* Show user avatars
*/
showAvatars?: boolean;
/**
* Message send handler
*/
onSendMessage?: (content: string, attachments?: File[]) => void;
/**
* Message reaction handler
*/
onMessageReaction?: (messageId: string, emoji: string) => void;
/**
* Typing handler
*/
onTyping?: (isTyping: boolean) => void;
/**
* Custom className
*/
className?: string;
}
/**
* GlassChat component
* A comprehensive chat interface with messages, participants, and real-time features
*/
export declare const GlassChat: React.FC<GlassChatProps>;
export declare const GlassPredictiveChat: React.FC<GlassChatProps>;
export declare const GlassAdaptiveChat: React.FC<GlassChatProps>;
export declare const GlassEyeTrackingChat: React.FC<GlassChatProps>;
export declare const GlassSpatialAudioChat: React.FC<GlassChatProps>;
export declare const GlassAchievementChat: React.FC<GlassChatProps>;
export declare const GlassConsciousnessChat: React.FC<GlassChatProps>;
export default GlassChat;
//# sourceMappingURL=GlassChat.d.ts.map