aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
68 lines • 2.06 kB
TypeScript
/**
* AuraGlass Reactions System
* Interactive emoji reactions with glass physics and animations
*/
import React from "react";
interface Reaction {
id: string;
emoji: string;
position: {
x: number;
y: number;
};
user?: {
id: string;
name: string;
avatar?: string;
};
timestamp: number;
intensity: number;
physics?: {
velocity: {
x: number;
y: number;
};
rotation: number;
scale: number;
};
}
interface ReactionType {
emoji: string;
name: string;
color: string;
sound?: string;
shortcut?: string;
}
interface GlassReactionsProps {
children: React.ReactNode;
className?: string;
reactions?: Reaction[];
reactionTypes?: ReactionType[];
maxReactions?: number;
autoExpire?: number;
enablePhysics?: boolean;
enableSounds?: boolean;
enableShortcuts?: boolean;
enableBurst?: boolean;
glassEffect?: boolean;
onReactionAdd?: (reaction: Omit<Reaction, "id" | "timestamp">) => void;
onReactionExpire?: (reactionId: string) => void;
}
export declare function GlassReactions({ children, className, reactions, reactionTypes, maxReactions, autoExpire, enablePhysics, enableSounds, enableShortcuts, enableBurst, glassEffect, onReactionAdd, onReactionExpire, }: GlassReactionsProps): import("react/jsx-runtime").JSX.Element;
export declare function useGlassReactions(): {
reactions: Reaction[];
addReaction: (emoji: string, position: {
x: number;
y: number;
}, intensity?: number, user?: Reaction["user"]) => Reaction;
removeReaction: (id: string) => void;
clearReactions: () => void;
};
export declare function GlassReactionBar({ reactionTypes, onReactionClick, className, glassEffect, }: {
reactionTypes?: ReactionType[];
onReactionClick?: (emoji: string) => void;
className?: string;
glassEffect?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=GlassReactions.d.ts.map