{ "name": "FeatureCardTen", "description": "Timeline process flow feature section with numbered steps, alternating layout, and list items.", "details": "Use for step-by-step process showcases with detailed feature lists. Creates a vertical timeline with a progress line that fills on scroll. Each feature displays as a horizontal layout with media (image/video card) on one side and content (title, description, icon list) on the other. Numbered badges appear on the timeline. Layout alternates between left/right based on reverse property. Desktop: centered vertical line with 30% width columns. Mobile: right-aligned vertical line with 70% width columns. Media displays in aspect-square on mobile, aspect-[16/10] on desktop with card styling. Each feature has a list of items with icons displayed in rounded icon containers. Best for 3-6 step processes to showcase detailed features with visual support.", "constraints": { "textRules": { "title": { "required": true, "example": "Powerful Features", "minChars": 2, "maxChars": 35 }, "description": { "required": true, "example": "Everything you need to build and scale your business with confidence", "minChars": 5, "maxChars": 250 }, "tag": { "required": false, "example": "Features", "minChars": 2, "maxChars": 30 } }, "featureCardRules": { "id": { "required": true, "example": "1", "minChars": 1, "maxChars": 3, "note": "Feature identifier displayed in numbered badge" }, "title": { "required": true, "example": "Advanced Analytics Dashboard", "minChars": 2, "maxChars": 60 }, "description": { "required": true, "example": "Get comprehensive insights into your business performance with our powerful analytics tools and real-time reporting.", "minChars": 10, "maxChars": 300 }, "reverse": { "required": true, "example": "false", "note": "Controls whether media and content positions are swapped (alternating layout)" } }, "mediaRules": { "imageSrc": { "required": true, "example": "/feature.webp", "note": "Either imageSrc or videoSrc required (discriminated union)" }, "videoSrc": { "required": true, "example": "/feature.mp4", "note": "Either imageSrc or videoSrc required (discriminated union)" }, "imageAlt": { "required": false, "example": "Analytics dashboard interface", "note": "Falls back to feature title if not provided" }, "videoAriaLabel": { "required": false, "example": "Analytics dashboard video", "note": "Falls back to '[title] video' if not provided" } }, "listItemRules": { "icon": { "required": true, "example": "Check", "note": "LucideIcon component for list item" }, "text": { "required": true, "example": "Real-time data visualization", "minChars": 2, "maxChars": 100 }, "minItems": 1, "maxItems": 5, "recommendedItems": "2-4" }, "itemRules": { "minItems": 3, "maxItems": 6, "recommendedItems": "3-6", "note": "Works best with 3-6 features for optimal timeline length" } }, "propsSchema": { "features": "Array<{ id: string, title: string, description: string, media: ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string }), items: Array<{ icon: LucideIcon, text: string }>, reverse: boolean }>", "title": "string", "titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }> - For inline images in title", "description": "string", "tag?": "string", "tagIcon?": "LucideIcon", "tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", "buttons?": "Array<{text: string, onClick?: () => void, href?: string}>", "buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", "textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)", "animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required)", "useInvertedBackground": "boolean", "ariaLabel?": "string (default: 'Feature section')", "className?": "string", "containerClassName?": "string", "textBoxClassName?": "string", "textBoxTitleClassName?": "string", "textBoxDescriptionClassName?": "string", "textBoxTagClassName?": "string", "textBoxButtonContainerClassName?": "string", "textBoxButtonClassName?": "string", "textBoxButtonTextClassName?": "string", "titleImageWrapperClassName?": "string", "titleImageClassName?": "string", "itemClassName?": "string", "mediaWrapperClassName?": "string", "mediaCardClassName?": "string", "numberClassName?": "string", "contentWrapperClassName?": "string", "featureTitleClassName?": "string", "featureDescriptionClassName?": "string", "listItemClassName?": "string", "iconContainerClassName?": "string", "iconClassName?": "string", "gapClassName?": "string" }, "usageExample": "", "do": [ "Use for step-by-step process showcases", "Best for 3-6 step processes", "Alternate reverse property for visual variety", "Include relevant icons for list items" ], "dont": [ "Do not use without media for each feature", "Do not use without list items" ], "editRules": { "textOnly": true, "layoutLocked": true, "styleLocked": true } }