@djangocfg/ui-nextjs 2.1.102 → 2.1.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/animations/AnimatedBackground.tsx","../src/animations/MouseFollower.tsx"],"names":["useMemo","jsxs","cn","jsx","Fragment","useState","useRef","useEffect","useCallback"],"mappings":"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","file":"animations.cjs","sourcesContent":["'use client';\n\nimport React, { useMemo } from 'react';\n\nimport { cn } from '@djangocfg/ui-core/lib';\n\nexport type BackgroundVariant =\n | 'aurora-borealis'\n | 'mesh-gradient'\n | 'floating-orbs'\n | 'geometric-flow'\n | 'liquid-gradient'\n | 'spotlight'\n | 'none'\n // Legacy aliases\n | 'gradient-mesh'\n | 'dot-matrix'\n | 'grid-lines'\n | 'aurora'\n | 'particles'\n | 'waves';\n\ninterface AnimatedBackgroundProps {\n variant?: BackgroundVariant;\n className?: string;\n intensity?: 'subtle' | 'medium' | 'strong';\n /** Color scheme - 'vibrant' uses multiple colors, 'monochrome' uses primary only */\n colorScheme?: 'vibrant' | 'monochrome' | 'cool' | 'warm';\n}\n\n// Map legacy variants to new ones\nconst variantMap: Record<string, BackgroundVariant> = {\n 'gradient-mesh': 'mesh-gradient',\n 'dot-matrix': 'geometric-flow',\n 'grid-lines': 'geometric-flow',\n 'aurora': 'aurora-borealis',\n 'particles': 'floating-orbs',\n 'waves': 'liquid-gradient',\n};\n\nexport const AnimatedBackground: React.FC<AnimatedBackgroundProps> = ({\n variant = 'mesh-gradient',\n className,\n intensity = 'medium',\n colorScheme = 'vibrant',\n}) => {\n // Map legacy variants\n const resolvedVariant = variantMap[variant] || variant;\n\n const intensityConfig = useMemo(() => ({\n subtle: { opacity: 0.15, blur: 'blur-3xl', scale: 0.8 },\n medium: { opacity: 0.25, blur: 'blur-2xl', scale: 1 },\n strong: { opacity: 0.4, blur: 'blur-xl', scale: 1.2 },\n }[intensity]), [intensity]);\n\n // Color palettes using CSS variables\n const colors = useMemo(() => {\n const palettes = {\n vibrant: [\n 'hsl(var(--chart-1))', // Blue\n 'hsl(var(--chart-2))', // Green\n 'hsl(var(--chart-3))', // Purple\n 'hsl(var(--chart-4))', // Orange\n 'hsl(var(--chart-5))', // Red\n ],\n monochrome: [\n 'hsl(var(--primary))',\n 'hsl(var(--primary) / 0.8)',\n 'hsl(var(--primary) / 0.6)',\n ],\n cool: [\n 'hsl(var(--chart-1))', // Blue\n 'hsl(var(--chart-3))', // Purple\n 'hsl(210 100% 50%)', // Bright blue\n 'hsl(260 100% 60%)', // Violet\n ],\n warm: [\n 'hsl(var(--chart-4))', // Orange\n 'hsl(var(--chart-5))', // Red\n 'hsl(35 100% 55%)', // Gold\n 'hsl(350 100% 60%)', // Rose\n ],\n };\n return palettes[colorScheme];\n }, [colorScheme]);\n\n if (resolvedVariant === 'none') {\n return null;\n }\n\n return (\n <div\n className={cn(\"absolute overflow-hidden pointer-events-none\", className)}\n style={{ inset: 0, width: '100%', height: '100%' }}\n >\n {resolvedVariant === 'aurora-borealis' && (\n <AuroraBorealis colors={colors} intensity={intensityConfig} />\n )}\n\n {resolvedVariant === 'mesh-gradient' && (\n <MeshGradient colors={colors} intensity={intensityConfig} />\n )}\n\n {resolvedVariant === 'floating-orbs' && (\n <FloatingOrbs colors={colors} intensity={intensityConfig} />\n )}\n\n {resolvedVariant === 'geometric-flow' && (\n <GeometricFlow colors={colors} intensity={intensityConfig} />\n )}\n\n {resolvedVariant === 'liquid-gradient' && (\n <LiquidGradient colors={colors} intensity={intensityConfig} />\n )}\n\n {resolvedVariant === 'spotlight' && (\n <Spotlight colors={colors} intensity={intensityConfig} />\n )}\n\n <AnimationStyles />\n </div>\n );\n};\n\n// =============================================================================\n// Aurora Borealis - Flowing northern lights effect\n// =============================================================================\n\ninterface VariantProps {\n colors: string[];\n intensity: { opacity: number; blur: string; scale: number };\n}\n\nconst AuroraBorealis: React.FC<VariantProps> = ({ colors, intensity }) => (\n <>\n {/* Base layer - subtle gradient */}\n <div\n className=\"absolute inset-0\"\n style={{\n background: `linear-gradient(135deg, ${colors[0]} 0%, transparent 50%, ${colors[1]} 100%)`,\n opacity: intensity.opacity * 0.3,\n }}\n />\n\n {/* Aurora bands */}\n <div\n className={cn(\"absolute inset-0\", intensity.blur)}\n style={{\n background: `linear-gradient(110deg,\n transparent 0%,\n ${colors[0]} 20%,\n ${colors[2] || colors[0]} 35%,\n ${colors[1]} 50%,\n ${colors[3] || colors[1]} 65%,\n ${colors[0]} 80%,\n transparent 100%\n )`,\n opacity: intensity.opacity,\n animation: 'aurora-shift 15s ease-in-out infinite',\n transform: `translateY(-30%) scaleY(${intensity.scale})`,\n }}\n />\n\n {/* Secondary aurora layer */}\n <div\n className={cn(\"absolute inset-0\", intensity.blur)}\n style={{\n background: `linear-gradient(70deg,\n transparent 0%,\n ${colors[1]} 25%,\n ${colors[2] || colors[0]} 50%,\n ${colors[0]} 75%,\n transparent 100%\n )`,\n opacity: intensity.opacity * 0.7,\n animation: 'aurora-shift 20s ease-in-out infinite reverse',\n animationDelay: '-5s',\n transform: `translateY(-20%) scaleY(${intensity.scale * 0.8})`,\n }}\n />\n\n {/* Shimmer overlay */}\n <div\n className=\"absolute inset-0\"\n style={{\n background: `radial-gradient(ellipse 100% 50% at 50% 0%,\n ${colors[2] || colors[0]} 0%,\n transparent 70%\n )`,\n opacity: intensity.opacity * 0.4,\n animation: 'aurora-shimmer 8s ease-in-out infinite',\n }}\n />\n </>\n);\n\n// =============================================================================\n// Mesh Gradient - Modern Apple-style gradient mesh\n// =============================================================================\n\nconst MeshGradient: React.FC<VariantProps> = ({ colors, intensity }) => (\n <>\n {/* Large gradient orbs with different colors */}\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '60%',\n height: '60%',\n top: '-10%',\n right: '-10%',\n background: `radial-gradient(circle, ${colors[0]} 0%, transparent 70%)`,\n opacity: intensity.opacity,\n animation: 'mesh-float-1 25s ease-in-out infinite',\n transform: `scale(${intensity.scale})`,\n }}\n />\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '50%',\n height: '50%',\n bottom: '-5%',\n left: '-5%',\n background: `radial-gradient(circle, ${colors[1]} 0%, transparent 70%)`,\n opacity: intensity.opacity,\n animation: 'mesh-float-2 30s ease-in-out infinite',\n transform: `scale(${intensity.scale})`,\n }}\n />\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '40%',\n height: '40%',\n top: '30%',\n left: '25%',\n background: `radial-gradient(circle, ${colors[2] || colors[0]} 0%, transparent 70%)`,\n opacity: intensity.opacity * 0.8,\n animation: 'mesh-float-3 20s ease-in-out infinite',\n transform: `scale(${intensity.scale})`,\n }}\n />\n {colors[3] && (\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '35%',\n height: '35%',\n bottom: '20%',\n right: '15%',\n background: `radial-gradient(circle, ${colors[3]} 0%, transparent 70%)`,\n opacity: intensity.opacity * 0.6,\n animation: 'mesh-float-4 22s ease-in-out infinite',\n transform: `scale(${intensity.scale})`,\n }}\n />\n )}\n </>\n);\n\n// =============================================================================\n// Floating Orbs - Animated glowing spheres\n// =============================================================================\n\nconst FloatingOrbs: React.FC<VariantProps> = ({ colors, intensity }) => {\n const orbs = useMemo(() => {\n return Array.from({ length: 12 }).map((_, i) => ({\n id: i,\n size: 60 + (i % 4) * 40,\n x: (i * 23) % 100,\n y: (i * 31) % 100,\n color: colors[i % colors.length],\n duration: 15 + (i % 5) * 5,\n delay: i * 1.5,\n }));\n }, [colors]);\n\n return (\n <>\n {orbs.map((orb) => (\n <div\n key={orb.id}\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: `${orb.size * intensity.scale}px`,\n height: `${orb.size * intensity.scale}px`,\n left: `${orb.x}%`,\n top: `${orb.y}%`,\n background: `radial-gradient(circle at 30% 30%, ${orb.color}, transparent 70%)`,\n opacity: intensity.opacity * (0.5 + (orb.id % 3) * 0.2),\n animation: `orb-float-${(orb.id % 4) + 1} ${orb.duration}s ease-in-out infinite`,\n animationDelay: `${orb.delay}s`,\n }}\n />\n ))}\n </>\n );\n};\n\n// =============================================================================\n// Geometric Flow - Clean geometric patterns\n// =============================================================================\n\nconst GeometricFlow: React.FC<VariantProps> = ({ colors, intensity }) => (\n <>\n {/* Gradient base */}\n <div\n className=\"absolute inset-0\"\n style={{\n background: `linear-gradient(135deg,\n ${colors[0]} 0%,\n transparent 30%,\n transparent 70%,\n ${colors[1]} 100%\n )`,\n opacity: intensity.opacity * 0.3,\n }}\n />\n\n {/* Animated grid */}\n <div\n className=\"absolute inset-0\"\n style={{\n backgroundImage: `\n linear-gradient(${colors[0]}20 1px, transparent 1px),\n linear-gradient(90deg, ${colors[0]}20 1px, transparent 1px)\n `,\n backgroundSize: '60px 60px',\n animation: 'grid-drift 30s linear infinite',\n opacity: intensity.opacity,\n }}\n />\n\n {/* Diagonal lines */}\n <div\n className=\"absolute inset-0\"\n style={{\n backgroundImage: `repeating-linear-gradient(\n 45deg,\n transparent,\n transparent 80px,\n ${colors[2] || colors[0]}10 80px,\n ${colors[2] || colors[0]}10 82px\n )`,\n animation: 'diagonal-shift 20s linear infinite',\n opacity: intensity.opacity,\n }}\n />\n\n {/* Glowing intersection points */}\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '40%',\n height: '40%',\n top: '20%',\n left: '50%',\n transform: 'translateX(-50%)',\n background: `radial-gradient(circle, ${colors[0]} 0%, transparent 70%)`,\n opacity: intensity.opacity * 0.5,\n animation: 'pulse-glow 8s ease-in-out infinite',\n }}\n />\n </>\n);\n\n// =============================================================================\n// Liquid Gradient - Smooth flowing liquid effect\n// =============================================================================\n\nconst LiquidGradient: React.FC<VariantProps> = ({ colors, intensity }) => (\n <>\n {/* Base gradient */}\n <div\n className=\"absolute inset-0\"\n style={{\n background: `linear-gradient(180deg,\n transparent 0%,\n ${colors[0]}15 30%,\n ${colors[1]}20 50%,\n ${colors[2] || colors[0]}15 70%,\n transparent 100%\n )`,\n opacity: intensity.opacity,\n }}\n />\n\n {/* Liquid blob 1 */}\n <div\n className={cn(\"absolute\", intensity.blur)}\n style={{\n width: '120%',\n height: '50%',\n bottom: '-10%',\n left: '-10%',\n background: `linear-gradient(90deg,\n ${colors[0]} 0%,\n ${colors[1]} 33%,\n ${colors[2] || colors[0]} 66%,\n ${colors[0]} 100%\n )`,\n opacity: intensity.opacity,\n borderRadius: '50% 50% 0 0',\n animation: 'liquid-flow-1 12s ease-in-out infinite',\n transform: `scaleY(${intensity.scale})`,\n }}\n />\n\n {/* Liquid blob 2 */}\n <div\n className={cn(\"absolute\", intensity.blur)}\n style={{\n width: '100%',\n height: '40%',\n bottom: '-5%',\n left: '0',\n background: `linear-gradient(90deg,\n ${colors[1]} 0%,\n ${colors[2] || colors[0]} 50%,\n ${colors[3] || colors[1]} 100%\n )`,\n opacity: intensity.opacity * 0.8,\n borderRadius: '60% 40% 0 0',\n animation: 'liquid-flow-2 15s ease-in-out infinite',\n transform: `scaleY(${intensity.scale * 0.9})`,\n }}\n />\n\n {/* Floating bubbles */}\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n key={i}\n className=\"absolute rounded-full\"\n style={{\n width: `${12 + i * 4}px`,\n height: `${12 + i * 4}px`,\n left: `${15 + i * 15}%`,\n bottom: '10%',\n background: `radial-gradient(circle at 30% 30%,\n ${colors[i % colors.length]}80,\n ${colors[i % colors.length]}20\n )`,\n border: `1px solid ${colors[i % colors.length]}40`,\n opacity: intensity.opacity,\n animation: `bubble-float ${8 + i * 2}s ease-in-out infinite`,\n animationDelay: `${i * 2}s`,\n }}\n />\n ))}\n </>\n);\n\n// =============================================================================\n// Spotlight - Dramatic spotlight effect\n// =============================================================================\n\nconst Spotlight: React.FC<VariantProps> = ({ colors, intensity }) => (\n <>\n {/* Main spotlight */}\n <div\n className={cn(\"absolute\", intensity.blur)}\n style={{\n width: '80%',\n height: '80%',\n top: '-20%',\n left: '50%',\n transform: 'translateX(-50%)',\n background: `conic-gradient(from 180deg at 50% 50%,\n ${colors[0]} 0deg,\n ${colors[1]} 60deg,\n ${colors[2] || colors[0]} 120deg,\n ${colors[3] || colors[1]} 180deg,\n ${colors[0]} 240deg,\n ${colors[1]} 300deg,\n ${colors[0]} 360deg\n )`,\n opacity: intensity.opacity,\n animation: 'spotlight-rotate 30s linear infinite',\n }}\n />\n\n {/* Center fade */}\n <div\n className=\"absolute inset-0\"\n style={{\n background: `radial-gradient(circle at 50% 30%,\n transparent 0%,\n hsl(var(--background)) 70%\n )`,\n }}\n />\n\n {/* Accent glow */}\n <div\n className={cn(\"absolute rounded-full\", intensity.blur)}\n style={{\n width: '50%',\n height: '50%',\n top: '10%',\n left: '25%',\n background: `radial-gradient(circle, ${colors[0]} 0%, transparent 70%)`,\n opacity: intensity.opacity * 0.5,\n animation: 'pulse-glow 6s ease-in-out infinite',\n }}\n />\n </>\n);\n\n// =============================================================================\n// Animation Styles\n// =============================================================================\n\nconst AnimationStyles: React.FC = () => (\n <style>{`\n @keyframes aurora-shift {\n 0%, 100% {\n transform: translateX(-10%) translateY(-30%) scaleX(1.1);\n }\n 50% {\n transform: translateX(10%) translateY(-25%) scaleX(0.9);\n }\n }\n\n @keyframes aurora-shimmer {\n 0%, 100% {\n opacity: 0.2;\n transform: scale(1);\n }\n 50% {\n opacity: 0.4;\n transform: scale(1.05);\n }\n }\n\n @keyframes mesh-float-1 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 25% { transform: translate(-5%, 10%) scale(1.05); }\n 50% { transform: translate(5%, 5%) scale(0.95); }\n 75% { transform: translate(-3%, -5%) scale(1.02); }\n }\n\n @keyframes mesh-float-2 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 33% { transform: translate(8%, -8%) scale(1.08); }\n 66% { transform: translate(-6%, 6%) scale(0.92); }\n }\n\n @keyframes mesh-float-3 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 50% { transform: translate(10%, 10%) scale(1.1); }\n }\n\n @keyframes mesh-float-4 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 25% { transform: translate(5%, -10%) scale(0.95); }\n 75% { transform: translate(-8%, 5%) scale(1.05); }\n }\n\n @keyframes orb-float-1 {\n 0%, 100% { transform: translate(0, 0); }\n 50% { transform: translate(30px, -40px); }\n }\n\n @keyframes orb-float-2 {\n 0%, 100% { transform: translate(0, 0); }\n 50% { transform: translate(-25px, 35px); }\n }\n\n @keyframes orb-float-3 {\n 0%, 100% { transform: translate(0, 0); }\n 33% { transform: translate(40px, 20px); }\n 66% { transform: translate(-20px, -30px); }\n }\n\n @keyframes orb-float-4 {\n 0%, 100% { transform: translate(0, 0); }\n 25% { transform: translate(-35px, -25px); }\n 75% { transform: translate(25px, 40px); }\n }\n\n @keyframes grid-drift {\n 0% { transform: translate(0, 0); }\n 100% { transform: translate(60px, 60px); }\n }\n\n @keyframes diagonal-shift {\n 0% { transform: translateX(0); }\n 100% { transform: translateX(160px); }\n }\n\n @keyframes pulse-glow {\n 0%, 100% { opacity: 0.3; transform: translateX(-50%) scale(1); }\n 50% { opacity: 0.6; transform: translateX(-50%) scale(1.1); }\n }\n\n @keyframes liquid-flow-1 {\n 0%, 100% {\n transform: translateY(0) scaleX(1);\n border-radius: 50% 50% 0 0;\n }\n 25% {\n transform: translateY(-30px) scaleX(1.05);\n border-radius: 45% 55% 0 0;\n }\n 50% {\n transform: translateY(-50px) scaleX(0.95);\n border-radius: 55% 45% 0 0;\n }\n 75% {\n transform: translateY(-25px) scaleX(1.02);\n border-radius: 48% 52% 0 0;\n }\n }\n\n @keyframes liquid-flow-2 {\n 0%, 100% {\n transform: translateY(0) scaleX(1);\n border-radius: 60% 40% 0 0;\n }\n 33% {\n transform: translateY(-40px) scaleX(1.08);\n border-radius: 40% 60% 0 0;\n }\n 66% {\n transform: translateY(-60px) scaleX(0.92);\n border-radius: 55% 45% 0 0;\n }\n }\n\n @keyframes bubble-float {\n 0%, 100% {\n transform: translateY(0) scale(1);\n opacity: 0.6;\n }\n 50% {\n transform: translateY(-100px) scale(1.2);\n opacity: 0.3;\n }\n }\n\n @keyframes spotlight-rotate {\n 0% { transform: translateX(-50%) rotate(0deg); }\n 100% { transform: translateX(-50%) rotate(360deg); }\n }\n `}</style>\n);\n","'use client';\n\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\n\nimport { cn } from '@djangocfg/ui-core/lib';\n\nexport type MouseFollowerVariant =\n | 'glow'\n | 'spotlight'\n | 'gradient-blob'\n | 'ring'\n | 'trail';\n\ninterface MouseFollowerProps {\n /** Visual style of the follower */\n variant?: MouseFollowerVariant;\n /** Size of the effect in pixels */\n size?: number;\n /** Color - can be CSS color or 'primary' to use theme */\n color?: string;\n /** Smoothness of following (0.05 = very smooth, 0.3 = snappy) */\n smoothness?: number;\n /** Opacity of the effect (0-1) */\n opacity?: number;\n /** Blur amount for glow effects */\n blur?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';\n /** Additional className for the container */\n className?: string;\n /** Whether to show on mobile (touch devices) */\n showOnMobile?: boolean;\n /** Disable the effect */\n disabled?: boolean;\n}\n\ninterface Position {\n x: number;\n y: number;\n}\n\nconst blurMap = {\n sm: 'blur-sm',\n md: 'blur-md',\n lg: 'blur-lg',\n xl: 'blur-xl',\n '2xl': 'blur-2xl',\n '3xl': 'blur-3xl',\n};\n\nexport const MouseFollower: React.FC<MouseFollowerProps> = ({\n variant = 'glow',\n size = 300,\n color = 'primary',\n smoothness = 0.1,\n opacity = 0.3,\n blur = '2xl',\n className,\n showOnMobile = false,\n disabled = false,\n}) => {\n const [mounted, setMounted] = useState(false);\n const [isVisible, setIsVisible] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const positionRef = useRef<Position>({ x: 0, y: 0 });\n const targetRef = useRef<Position>({ x: 0, y: 0 });\n const elementRef = useRef<HTMLDivElement>(null);\n const rafRef = useRef<number>(0);\n\n // Resolve color\n const resolvedColor = useMemo(() => {\n if (color === 'primary') return 'hsl(var(--primary))';\n if (color === 'secondary') return 'hsl(var(--secondary))';\n if (color === 'accent') return 'hsl(var(--accent))';\n return color;\n }, [color]);\n\n // Check if mobile\n useEffect(() => {\n setMounted(true);\n const checkMobile = () => {\n setIsMobile('ontouchstart' in window || navigator.maxTouchPoints > 0);\n };\n checkMobile();\n window.addEventListener('resize', checkMobile);\n return () => window.removeEventListener('resize', checkMobile);\n }, []);\n\n // Animation loop with lerp\n const animate = useCallback(() => {\n const dx = targetRef.current.x - positionRef.current.x;\n const dy = targetRef.current.y - positionRef.current.y;\n\n positionRef.current.x += dx * smoothness;\n positionRef.current.y += dy * smoothness;\n\n if (elementRef.current) {\n elementRef.current.style.transform = `translate(${positionRef.current.x - size / 2}px, ${positionRef.current.y - size / 2}px)`;\n }\n\n rafRef.current = requestAnimationFrame(animate);\n }, [smoothness, size]);\n\n // Mouse move handler\n useEffect(() => {\n if (disabled || !mounted) return;\n if (isMobile && !showOnMobile) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n targetRef.current = { x: e.clientX, y: e.clientY };\n if (!isVisible) setIsVisible(true);\n };\n\n const handleMouseLeave = () => {\n setIsVisible(false);\n };\n\n const handleMouseEnter = () => {\n setIsVisible(true);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseleave', handleMouseLeave);\n document.addEventListener('mouseenter', handleMouseEnter);\n\n rafRef.current = requestAnimationFrame(animate);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseleave', handleMouseLeave);\n document.removeEventListener('mouseenter', handleMouseEnter);\n cancelAnimationFrame(rafRef.current);\n };\n }, [disabled, mounted, isMobile, showOnMobile, animate, isVisible]);\n\n if (!mounted || disabled) return null;\n if (isMobile && !showOnMobile) return null;\n\n return (\n <div\n className={cn(\n 'fixed inset-0 pointer-events-none overflow-hidden z-0',\n className\n )}\n >\n <div\n ref={elementRef}\n className={cn(\n 'absolute top-0 left-0 transition-opacity duration-300',\n isVisible ? 'opacity-100' : 'opacity-0'\n )}\n style={{ width: size, height: size }}\n >\n {variant === 'glow' && (\n <GlowEffect\n size={size}\n color={resolvedColor}\n opacity={opacity}\n blur={blurMap[blur]}\n />\n )}\n\n {variant === 'spotlight' && (\n <SpotlightEffect\n size={size}\n color={resolvedColor}\n opacity={opacity}\n blur={blurMap[blur]}\n />\n )}\n\n {variant === 'gradient-blob' && (\n <GradientBlobEffect\n size={size}\n color={resolvedColor}\n opacity={opacity}\n blur={blurMap[blur]}\n />\n )}\n\n {variant === 'ring' && (\n <RingEffect\n size={size}\n color={resolvedColor}\n opacity={opacity}\n />\n )}\n\n {variant === 'trail' && (\n <TrailEffect\n size={size}\n color={resolvedColor}\n opacity={opacity}\n blur={blurMap[blur]}\n />\n )}\n </div>\n </div>\n );\n};\n\n// =============================================================================\n// Effect Variants\n// =============================================================================\n\ninterface EffectProps {\n size: number;\n color: string;\n opacity: number;\n blur?: string;\n}\n\nconst GlowEffect: React.FC<EffectProps> = ({ size, color, opacity, blur }) => (\n <div\n className={cn('w-full h-full rounded-full', blur)}\n style={{\n background: `radial-gradient(circle, ${color} 0%, transparent 70%)`,\n opacity,\n }}\n />\n);\n\nconst SpotlightEffect: React.FC<EffectProps> = ({ size, color, opacity, blur }) => (\n <>\n {/* Main spotlight cone */}\n <div\n className={cn('absolute inset-0', blur)}\n style={{\n background: `conic-gradient(from 180deg at 50% 50%,\n transparent 0deg,\n ${color} 150deg,\n ${color} 210deg,\n transparent 360deg\n )`,\n opacity: opacity * 0.6,\n }}\n />\n {/* Center glow */}\n <div\n className={cn('absolute rounded-full', blur)}\n style={{\n width: '40%',\n height: '40%',\n top: '30%',\n left: '30%',\n background: `radial-gradient(circle, ${color} 0%, transparent 70%)`,\n opacity,\n }}\n />\n </>\n);\n\nconst GradientBlobEffect: React.FC<EffectProps> = ({ size, color, opacity, blur }) => (\n <>\n {/* Animated blob shape */}\n <div\n className={cn('w-full h-full', blur)}\n style={{\n background: `radial-gradient(ellipse 60% 40% at 50% 50%, ${color} 0%, transparent 70%)`,\n opacity,\n animation: 'blob-morph 8s ease-in-out infinite',\n }}\n />\n {/* Secondary blob */}\n <div\n className={cn('absolute inset-0', blur)}\n style={{\n background: `radial-gradient(ellipse 40% 60% at 50% 50%, ${color} 0%, transparent 60%)`,\n opacity: opacity * 0.5,\n animation: 'blob-morph 8s ease-in-out infinite reverse',\n animationDelay: '-4s',\n }}\n />\n <style>{`\n @keyframes blob-morph {\n 0%, 100% { transform: scale(1) rotate(0deg); border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }\n 25% { transform: scale(1.1) rotate(90deg); border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%; }\n 50% { transform: scale(0.9) rotate(180deg); border-radius: 50% 60% 30% 60% / 30% 60% 70% 40%; }\n 75% { transform: scale(1.05) rotate(270deg); border-radius: 60% 40% 50% 40% / 70% 30% 50% 60%; }\n }\n `}</style>\n </>\n);\n\nconst RingEffect: React.FC<EffectProps> = ({ size, color, opacity }) => (\n <>\n {/* Outer ring */}\n <div\n className=\"absolute inset-0 rounded-full\"\n style={{\n border: `2px solid ${color}`,\n opacity: opacity * 0.3,\n }}\n />\n {/* Middle ring */}\n <div\n className=\"absolute rounded-full\"\n style={{\n inset: '15%',\n border: `2px solid ${color}`,\n opacity: opacity * 0.5,\n animation: 'ring-pulse 2s ease-in-out infinite',\n }}\n />\n {/* Inner ring */}\n <div\n className=\"absolute rounded-full\"\n style={{\n inset: '30%',\n border: `2px solid ${color}`,\n opacity: opacity * 0.7,\n animation: 'ring-pulse 2s ease-in-out infinite',\n animationDelay: '-1s',\n }}\n />\n {/* Center dot */}\n <div\n className=\"absolute rounded-full\"\n style={{\n width: '8px',\n height: '8px',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n background: color,\n opacity,\n }}\n />\n <style>{`\n @keyframes ring-pulse {\n 0%, 100% { opacity: 0.3; transform: scale(1); }\n 50% { opacity: 0.7; transform: scale(1.05); }\n }\n `}</style>\n </>\n);\n\nconst TrailEffect: React.FC<EffectProps> = ({ size, color, opacity, blur }) => (\n <>\n {/* Multiple trailing circles */}\n {Array.from({ length: 5 }).map((_, i) => (\n <div\n key={i}\n className={cn('absolute rounded-full', blur)}\n style={{\n width: `${100 - i * 15}%`,\n height: `${100 - i * 15}%`,\n top: `${i * 7.5}%`,\n left: `${i * 7.5}%`,\n background: `radial-gradient(circle, ${color} 0%, transparent 70%)`,\n opacity: opacity * (1 - i * 0.15),\n transition: `transform ${0.1 + i * 0.05}s ease-out`,\n }}\n />\n ))}\n </>\n);\n"]}