UNPKG

aura-glass

Version:

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

92 lines 2.69 kB
import React from "react"; export interface CollaborationUser { id: string; name: string; email: string; avatar?: string; color: string; cursor?: { x: number; y: number; elementId?: string; }; selection?: { elementId: string; start: number; end: number; }; lastActive: number; } export interface CollaborationComment { id: string; userId: string; content: string; position: { x: number; y: number; elementId?: string; }; timestamp: number; resolved?: boolean; replies?: CollaborationComment[]; } export interface CollaborationEdit { id: string; userId: string; type: "insert" | "delete" | "replace"; elementId: string; position: number; content: string; timestamp: number; } export interface CollaborationActivity { id: string; userId: string; type: "join" | "leave" | "edit" | "comment" | "cursor_move"; description: string; timestamp: number; metadata?: any; } interface CollaborationContextType { currentUser: CollaborationUser | null; users: CollaborationUser[]; setCurrentUser: (user: CollaborationUser) => void; updateCursor: (position: { x: number; y: number; elementId?: string; }) => void; updateSelection: (selection: { elementId: string; start: number; end: number; }) => void; comments: CollaborationComment[]; addComment: (comment: Omit<CollaborationComment, "id" | "timestamp">) => void; resolveComment: (commentId: string) => void; replyToComment: (commentId: string, reply: Omit<CollaborationComment, "id" | "timestamp" | "position">) => void; edits: CollaborationEdit[]; applyEdit: (edit: Omit<CollaborationEdit, "id" | "timestamp">) => void; activities: CollaborationActivity[]; isConnected: boolean; connectionStatus: "connecting" | "connected" | "disconnected" | "reconnecting"; showCursors: boolean; showComments: boolean; showActivity: boolean; toggleCursors: () => void; toggleComments: () => void; toggleActivity: () => void; } export declare const useCollaboration: () => CollaborationContextType; interface CollaborationProviderProps { children: React.ReactNode; roomId: string; enableRealTime?: boolean; maxUsers?: number; className?: string; "data-testid"?: string; } export declare const CollaborationProvider: React.FC<CollaborationProviderProps>; export declare const GlassCollaborationProvider: React.FC<CollaborationProviderProps>; export {}; //# sourceMappingURL=GlassCollaborationProvider.d.ts.map