# 🌸 Pivoine Docs Icon - Complete Documentation The official branding icon for the Pivoine Documentation Hub, featuring a beautiful peony flower with integrated documentation elements. ## 🎨 Design Concept The icon combines two powerful visual metaphors: 1. **Peony Flower (Pivoine)** - Represents the brand identity - Multiple layers of petals in purple and pink gradients - Symbolizes beauty, elegance, and growth - Reflects the "Pivoine" brand name 2. **Documentation Pages** - Represents the hub's purpose - Stacked pages in the center of the flower - Blue text lines suggesting content - Golden center representing knowledge/enlightenment ### Color Palette ```css /* Primary Petals */ Purple 1: #a855f7 β†’ #ec4899 /* Violet to pink */ Purple 2: #9333ea β†’ #db2777 /* Deep purple to rose */ Purple 3: #c026d3 β†’ #f472b6 /* Fuchsia to pink */ /* Center & Accents */ Golden: #fbbf24 β†’ #f59e0b β†’ #d97706 /* Warm gold gradient */ Pages: #f3f4f6 β†’ #e5e7eb /* Light gray */ Text: #6366f1, #a855f7 /* Indigo and purple */ Background: #1e293b /* Dark slate */ ``` ## πŸ“¦ Available Formats ### React Component (Animated) **File**: `components/icons/PivoineDocsIcon.tsx` - Full animations (hover, click, orbiting particles) - Interactive and responsive - Customizable size and behavior - For hero sections and prominent displays ### Static SVG Icons **Files**: - `public/icon.svg` (256x256) - Full detail, all platforms - `public/favicon.svg` (32x32 optimized) - Browser tabs ### PNG Icons (Generated) Generate with: `./scripts/generate-icons.sh` - `icon-192.png` - PWA icon (Android) - `icon-512.png` - PWA icon (Android HD) - `apple-touch-icon.png` - iOS home screen - `favicon-32x32.png` - Standard favicon - `favicon-16x16.png` - Small favicon ## 🎭 React Component Usage ### Basic Usage (Hero Area) ```tsx import { PivoineDocsIcon } from '@/components/icons' ``` ### Props ```typescript interface PivoineDocsIconProps { size?: string // Default: '256px' interactive?: boolean // Default: true className?: string // Additional classes showLabel?: boolean // Default: false - Shows "Pivoine Docs" text } ``` ### Examples ```tsx // Large hero icon with full interactivity // Medium size, interactive // Small, non-interactive (for cards/lists) // Custom styling ``` ## ✨ Animations & Effects ### Default State - **Flower starts CLOSED** as a tight bud 🌷 - Outer petals: 30% size, 50% opacity - Middle petals: 40% size, 60% opacity - Inner petals: 50% size, 70% opacity - **Subtle pulsing** background circle - **Twinkling sparkles** at corners - **Orbiting particles** around the flower - **Gentle floating** of document pages - **Text lines** appear with staggered animation ### Hover State (when `interactive={true}`) - Icon **scales up** and **lifts** (transform 3D) - **PETALS BLOOM OPEN** to full size! 🌸 - Smooth 0.8s transition - Staggered timing for natural bloom: - Outer petals bloom first (0s delay) - Middle petals follow (0.05s delay) - Inner petals last (0.1s delay) - All reach 100% size and full opacity - Enhanced **shadow and glow** effects - Center golden circle **glows intensely** - Sparkles **burst** and expand - Pages **fan out** slightly with rotation - Particles **accelerate** ### Click/Tap State - **3D bounce** with rotation (0-180-360Β°) - Petals **explode** outward briefly - Center **bursts** with glow - **Ripple effect** emanates from center - Duration: ~800ms - Smooth cubic-bezier easing ### Continuous Animations Even when not hovered: - Background pulse (4s cycle) - Sparkle twinkle (2s cycle, staggered) - Particle orbit (8s rotation, staggered) - Center pulse (3s cycle) - Page float (3s gentle movement) - Text lines draw in on mount ## πŸ“± Responsive & Accessible ### Responsive Behavior ```css /* Desktop: Full effects */ @media (min-width: 769px) { hover: scale(1.08) translateY(-8px) } /* Tablet/Mobile: Reduced scale */ @media (max-width: 768px) { hover: scale(1.05) translateY(-4px) } /* Touch devices: Active state */ @media (hover: none) and (pointer: coarse) { active: scale(0.95) } ``` ### Accessibility - βœ… **Reduced Motion**: All animations disabled when `prefers-reduced-motion: reduce` - βœ… **Touch Optimized**: Larger hit areas, optimized tap response - βœ… **Keyboard Navigation**: Focusable when interactive - βœ… **Screen Readers**: Appropriate ARIA labels (add as needed) ## 🎯 Integration Points ### 1. Hero Section (Landing Page) **Location**: `app/page.tsx` ```tsx
``` ### 2. Favicon (Browser Tab) **Location**: `app/layout.tsx` ```tsx icons: { icon: [ { url: '/favicon.svg', type: 'image/svg+xml' }, { url: '/icon.svg', type: 'image/svg+xml', sizes: 'any' }, ], } ``` ### 3. PWA Manifest **Location**: `public/manifest.json` ```json { "icons": [ { "src": "/icon.svg", "sizes": "any", "type": "image/svg+xml" }, { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" } ] } ``` ### 4. Apple Touch Icon **Location**: `app/layout.tsx` ```tsx icons: { apple: [ { url: '/apple-touch-icon.png', sizes: '180x180' }, ], } ``` ## πŸ› οΈ Technical Details ### Performance - **GPU Accelerated**: All animations use CSS transforms - **Optimized**: Minimal JavaScript, mostly CSS - **60 FPS**: Smooth on modern devices - **No External Assets**: Inline SVG, no image loading - **File Size**: ~10KB component + ~3KB SVG ### Browser Support - βœ… Chrome/Edge 90+ - βœ… Firefox 88+ - βœ… Safari 14+ - βœ… iOS Safari 14+ - βœ… Chrome Mobile - βœ… Samsung Internet ### SVG Filters Used - `feGaussianBlur` - Glow effects - `feMerge` - Combining blur with original - `feDropShadow` - Page shadows ### Gradients - **8 unique gradients** total - Linear gradients for petals - Radial gradients for ripple - Golden gradient for center - Page gradients for documents ## πŸ“ Size Guidelines | Context | Recommended Size | Interactive | |---------|-----------------|-------------| | Hero section | 200-256px | Yes | | Page header | 64-96px | Optional | | Sidebar | 48-64px | No | | Favicon | Auto (SVG) | N/A | | PWA Icon | Auto (PNG) | N/A | | Avatar/Profile | 40-48px | No | ## 🎨 Customization ### Changing Colors Edit the gradient definitions in `PivoineDocsIcon.tsx`: ```tsx ``` ### Adjusting Animations Modify keyframes in the `