# 🎨 KomposeIcon Component Showcase The **KomposeIcon** is a stunning, fully animated icon component converted from Vue to React for the Pivoine Docs Hub. ## 🌟 Visual Features ### Design Elements ``` ┌─────────────────────────────────────┐ │ ╔═══╗ ● │ │ ║ │ │ ║ │ │ ║ K │ │ ║ ╱ ╲ │ │ ║ ╱ ╲ │ │ ║ │ │ ╚═══╝ │ └─────────────────────────────────────┘ ``` **Components:** 1. **Letter "K"**: Stylized with glowing emerald green gradients 2. **Background**: Dark gradient with carbon fiber pattern 3. **Status Indicator**: Pulsing green dot in bottom-right corner 4. **Tech Corners**: Animated corner decorations 5. **Glow Effects**: SVG filters for depth and dimension ## 🎭 Interactive States ### Default State - Subtle pulsing status dot - Soft green glow on the "K" letter - Professional drop shadow ### Hover State (when `interactive={true}`) - Icon scales up (1.05x) and lifts - Enhanced shadow and glow effects - Lines redraw with sliding animation - Status dot expands and pulses faster - Corner decorations animate in - Overall glow intensifies ### Click/Tap State - 3D flip rotation (360° on Y-axis) - Intense glow burst - Ripple effect emanates from center - Bounce animation - Duration: ~600ms ## 📱 Usage Examples ### Basic Usage (Default) ```tsx import { KomposeIcon } from '@/components/icons' ``` Result: 192px interactive icon with all animations ### Small, Non-Interactive ```tsx ``` Result: Smaller icon without hover/click effects (used in cards) ### Medium with Custom Class ```tsx ``` Result: Medium-sized icon with additional styling ### Large Hero Icon ```tsx ``` Result: Large hero icon with full interactivity ## 🎨 Color Palette ```css Primary Green: #00DC82 /* Emerald green */ Secondary Green: #00a86b /* Darker green */ Background Dark: #1a1d2e /* Dark blue-gray */ Background Deep: #0a0e27 /* Deeper blue-black */ Pattern Dark: #060815 /* Very dark for carbon pattern */ ``` ## ⚙️ Technical Details ### Animation Performance - **GPU Accelerated**: All animations use CSS transforms - **60 FPS**: Smooth performance on modern devices - **Optimized**: Minimal JavaScript, mostly CSS ### Browser Support ✅ Chrome/Edge 90+ ✅ Firefox 88+ ✅ Safari 14+ ✅ Mobile browsers (iOS Safari, Chrome Mobile) ### Accessibility - ✅ Respects `prefers-reduced-motion` - ✅ Touch-optimized for mobile - ✅ Keyboard accessible (focusable when interactive) - ✅ Proper cursor states ### File Size - **Component**: ~8KB (uncompressed) - **Rendered**: Inline SVG, no external assets - **Runtime**: Minimal, ~2KB after gzip ## 🔄 Conversion from Vue This component was expertly converted from Vue 3 to React: | Vue Pattern | React Equivalent | |-------------|------------------| | `ref()` | `useState()` | | `@click` | `onClick` | | `@mouseenter` | `onMouseEnter` | | `:class="{}"` | `className={template}` | | `v-if` | `{condition && }` | | `