'use client'; import { forwardRef, ButtonHTMLAttributes } from 'react'; import styles from './spell-button.module.css'; export type SpellType = 'fire' | 'ice' | 'lightning' | 'void'; export interface SpellButtonProps extends ButtonHTMLAttributes { /** Type of spell for visual effects */ spellType?: SpellType; /** Size of the button */ size?: 'sm' | 'md' | 'lg'; /** Intensity of the cast effect */ intensity?: 'subtle' | 'normal' | 'epic'; } const spellColors: Record = { fire: { primary: '#ff4500', glow: '#ff6b35', particle: '#ffa500' }, ice: { primary: '#00bfff', glow: '#87ceeb', particle: '#e0ffff' }, lightning: { primary: '#ff00ff', glow: '#da70d6', particle: '#ffff00' }, void: { primary: '#4b0082', glow: '#8a2be2', particle: '#9400d3' }, }; export const SpellButton = forwardRef( ( { children, spellType = 'fire', size = 'md', intensity = 'normal', className, style, ...props }, ref ) => { const colors = spellColors[spellType]; return ( ); } ); SpellButton.displayName = 'SpellButton'; export default SpellButton;