Initial commit

This commit is contained in:
dk
2026-04-11 12:59:02 +00:00
commit 6c0ca9b28f
647 changed files with 79815 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
{
"name": "AboutMetric",
"propsSchema": {
"title": "string",
"metrics": "Array<{ icon: LucideIcon, label: string, value: string }>",
"metricsAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'About metrics section')",
"className?": "string",
"containerClassName?": "string",
"titleClassName?": "string",
"metricsContainerClassName?": "string",
"metricCardClassName?": "string",
"metricIconClassName?": "string",
"metricLabelClassName?": "string",
"metricValueClassName?": "string"
}
}

View File

@@ -0,0 +1,8 @@
{
"name": "AnimatedAuroraBackground",
"propsSchema": {
"className?": "string",
"showRadialGradient?": "boolean (default: true)",
"invertColors": "boolean (REQUIRED - true for light backgrounds, false for dark backgrounds)"
}
}

View File

@@ -0,0 +1,9 @@
{
"name": "AnimatedGridBackground",
"propsSchema": {
"squareSize?": "number (default: 100)",
"numSquares?": "number (default: 50)",
"maxOpacity?": "number (default: 0.15)",
"className?": "string"
}
}

View File

@@ -0,0 +1,6 @@
{
"name": "AuroraBackground",
"propsSchema": {
"className?": "string"
}
}

View File

@@ -0,0 +1,13 @@
{
"name": "AvatarGroup",
"propsSchema": {
"avatars": "Array<{ src: string, alt: string }>",
"text?": "string",
"maxVisible?": "number (default: 5)",
"animationType?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"className?": "string",
"avatarClassName?": "string",
"textClassName?": "string",
"ariaLabel?": "string (default: 'User avatars')"
}
}

View File

@@ -0,0 +1,7 @@
{
"name": "BentoGlobe",
"propsSchema": {
"className?": "string",
"config?": "COBEOptions - Custom globe configuration (see COBE docs)"
}
}

View File

@@ -0,0 +1,44 @@
{
"name": "BlogCardOne",
"propsSchema": {
"blogs": "Array<{ id: string, category: string, title: string, excerpt: string, imageSrc: string, imageAlt?: string, authorName: string, authorAvatar: string, date: string, onBlogClick?: () => void }> - Blog card items",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Blog section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageWrapperClassName?": "string",
"imageClassName?": "string",
"categoryClassName?": "string",
"cardTitleClassName?": "string",
"excerptClassName?": "string",
"authorContainerClassName?": "string",
"authorAvatarClassName?": "string",
"authorNameClassName?": "string",
"dateClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,41 @@
{
"name": "BlogCardThree",
"propsSchema": {
"blogs": "Array<{ id: string, category: string, title: string, excerpt: string, imageSrc?: string, imageAlt?: string, authorName?: string, authorAvatar?: string, date?: string, onBlogClick?: () => void }> - Blog card items",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-none')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Blog section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"cardContentClassName?": "string",
"categoryTagClassName?": "string",
"cardTitleClassName?": "string",
"excerptClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,41 @@
{
"name": "BlogCardTwo",
"propsSchema": {
"blogs": "Array<{ id: string, category: string | string[], title: string, excerpt: string, imageSrc: string, imageAlt?: string, authorName: string, authorAvatar?: string, date: string, onBlogClick?: () => void }> - Blog card items",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Blog section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageWrapperClassName?": "string",
"imageClassName?": "string",
"authorDateClassName?": "string",
"cardTitleClassName?": "string",
"excerptClassName?": "string",
"categoryClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,6 @@
{
"name": "BlurBottomBackground",
"propsSchema": {
"className?": "string"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonBounceEffect",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string",
"textClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "ButtonDirectionalHover",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string",
"textClassName?": "string",
"circleClassName?": "string - Controls the expanding circle color",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,14 @@
{
"name": "ButtonElasticEffect",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"textClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "ButtonExpandHover",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"textClassName?": "string - Applied to the text span (automatically includes base and hover colors in sections)",
"iconClassName?": "string - Applied to the arrow icon container (automatically set in sections)",
"iconBgClassName?": "string - Applied to the expanding background (automatically set in sections)",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "ButtonHoverBubble",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string - Applied to the text container (automatically set in sections)",
"textClassName?": "string - Applied to the text span",
"iconClassName?": "string - Applied to both arrow icon containers (automatically set in sections)",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonHoverMagnetic",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"textClassName?": "string",
"strengthFactor?": "number (default: 20)",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonIconArrow",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"textClassName?": "string",
"iconClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonShiftHover",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string",
"textClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonTextShift",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string",
"textClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,15 @@
{
"name": "ButtonTextStagger",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"bgClassName?": "string",
"textClassName?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,13 @@
{
"name": "ButtonTextUnderline",
"propsSchema": {
"text": "string",
"onClick?": "() => void",
"href?": "string - External URLs open in new tab, internal values scroll to section",
"scrollToSection?": "boolean",
"className?": "string",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"type?": "'button' | 'submit' | 'reset' (default: 'button')"
}
}

View File

@@ -0,0 +1,35 @@
{
"name": "CardStack",
"propsSchema": {
"children": "React.ReactNode",
"mode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant?": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' | 'two-columns-alternating-heights' | 'asymmetric-60-wide-40-narrow' | 'three-columns-all-equal-width' | 'four-items-2x2-equal-grid' | 'one-large-right-three-stacked-left' | 'items-top-row-full-width-bottom' | 'full-width-top-items-bottom-row' | 'one-large-left-three-stacked-right' (default: 'uniform-all-items-equal')",
"uniformGridCustomHeightClasses?": "string (default: varies by usage)",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d' (required - controls GSAP scroll animations with stagger effect)",
"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)",
"useInvertedBackground?": "boolean",
"ariaLabel?": "string (default: 'Card stack')",
"className?": "string",
"containerClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,7 @@
{
"name": "CircleGradientBackground",
"propsSchema": {
"diagonal?": "'primary' | 'secondary' (default: 'primary')",
"className?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "ContactCTA",
"propsSchema": {
"tag": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"title": "string",
"description": "string",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Contact section')",
"className?": "string",
"containerClassName?": "string",
"contentClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,28 @@
{
"name": "ContactCenter",
"propsSchema": {
"tag": "string",
"title": "string",
"description": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"useInvertedBackground": "boolean",
"inputPlaceholder?": "string (default: 'Enter your email')",
"buttonText?": "string (default: 'Sign Up')",
"termsText?": "string (default: 'By clicking Sign Up you're confirming that you agree with our Terms and Conditions.')",
"onSubmit?": "(email: string) => void",
"ariaLabel?": "string (default: 'Contact section')",
"className?": "string",
"containerClassName?": "string",
"contentClassName?": "string",
"tagClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"formWrapperClassName?": "string",
"formClassName?": "string",
"inputClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"termsClassName?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "ContactForm",
"propsSchema": {
"title": "string",
"description": "string",
"tag": "string",
"tagIcon?": "LucideIcon",
"inputPlaceholder?": "string (default: 'Enter your email')",
"buttonText?": "string (default: 'Sign Up')",
"termsText?": "string (default: 'By clicking Sign Up you're confirming that you agree with our Terms and Conditions.')",
"onSubmit?": "(email: string) => void",
"useInvertedBackground": "boolean",
"centered?": "boolean (default: false)",
"className?": "string",
"tagClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"formWrapperClassName?": "string",
"formClassName?": "string",
"inputClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"termsClassName?": "string"
}
}

View File

@@ -0,0 +1,37 @@
{
"name": "ContactSplit",
"propsSchema": {
"tag": "string",
"title": "string",
"description": "string",
"useInvertedBackground": "boolean",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Contact section video')",
"mediaPosition?": "'left' | 'right' (default: 'right')",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"inputPlaceholder?": "string (default: 'Enter your email')",
"buttonText?": "string (default: 'Sign Up')",
"termsText?": "string (default: 'By clicking Sign Up you're confirming that you agree with our Terms and Conditions.')",
"onSubmit?": "(email: string) => void",
"ariaLabel?": "string (default: 'Contact section')",
"className?": "string",
"containerClassName?": "string",
"contentClassName?": "string",
"contactFormClassName?": "string",
"tagClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"formWrapperClassName?": "string",
"formClassName?": "string",
"inputClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"termsClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,30 @@
{
"name": "ContactSplitForm",
"propsSchema": {
"title": "string",
"description": "string",
"inputs": "Array<{ name: string, type: string, placeholder: string, required?: boolean, className?: string }> - Form input fields (min 2 required)",
"multiSelect?": "{ name: string, label: string, options: string[] } - Optional multi-select dropdown field",
"textarea?": "{ name: string, placeholder: string, rows?: number, required?: boolean, className?: string } - Optional textarea field",
"useInvertedBackground": "boolean",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Contact section video')",
"mediaPosition?": "'left' | 'right' (default: 'right')",
"mediaAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal' (default: 'none')",
"buttonText?": "string (default: 'Submit')",
"onSubmit?": "(data: Record<string, string>) => void",
"ariaLabel?": "string (default: 'Contact section')",
"className?": "string",
"containerClassName?": "string",
"contentClassName?": "string",
"formCardClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,16 @@
{
"name": "ContactText",
"propsSchema": {
"text": "string",
"animationType?": "'entrance-slide' | 'reveal-blur' | 'background-highlight' (default: 'entrance-slide')",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Contact section')",
"className?": "string",
"containerClassName?": "string - Card wrapper styling",
"textClassName?": "string - TextAnimation heading styling",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,8 @@
{
"name": "DotGridBackground",
"propsSchema": {
"size?": "'small' | 'medium' | 'large' (default: 'medium')",
"perspectiveThreeD?": "boolean (default: false)",
"className?": "string"
}
}

View File

@@ -0,0 +1,9 @@
{
"name": "DownwardRaysBackground",
"propsSchema": {
"animated": "boolean - Required. When true, rays animate with pulsing opacity. When false, rays display static opacity.",
"showGrid": "boolean - Required. When true, displays a grid overlay fading from top center. When false, no grid is shown.",
"className?": "string",
"containerClassName?": "string"
}
}

View File

@@ -0,0 +1,12 @@
{
"name": "EmailSignupForm",
"propsSchema": {
"inputPlaceholder?": "string (default: 'Enter your email')",
"buttonText?": "string (default: 'Sign Up')",
"onSubmit?": "(email: string) => void",
"className?": "string",
"inputClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "FaqBase",
"propsSchema": {
"faqs": "Array<{ id: string, title: string, content: string }> - FAQ items",
"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'",
"faqsAnimation": "'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)",
"useInvertedBackground": "boolean",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"faqsContainerClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string",
"accordionContentClassName?": "string",
"separatorClassName?": "string"
}
}

View File

@@ -0,0 +1,37 @@
{
"name": "FaqDouble",
"propsSchema": {
"faqs": "Array<{ id: string, title: string, content: string }> - FAQ items",
"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'",
"faqsAnimation": "'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)",
"useInvertedBackground": "boolean",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"faqsContainerClassName?": "string",
"columnClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string",
"accordionContentClassName?": "string"
}
}

View File

@@ -0,0 +1,47 @@
{
"name": "FaqSplitMedia",
"propsSchema": {
"faqs": "Array<{ id: string, title: string, content: string }> - FAQ items",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'FAQ section video')",
"mediaPosition?": "'left' | 'right' (default: 'left')",
"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'",
"faqsAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"mediaAnimation": "'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)",
"useInvertedBackground": "boolean",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"contentClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"faqsContainerClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string",
"accordionContentClassName?": "string",
"separatorClassName?": "string"
}
}

View File

@@ -0,0 +1,32 @@
{
"name": "FaqSplitText",
"propsSchema": {
"faqs": "Array<{ id: string, title: string, content: string }> - FAQ items",
"sideTitle": "string",
"sideDescription?": "string",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"faqsAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textPosition?": "'left' | 'right' (default: 'left')",
"useInvertedBackground": "boolean",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"contentClassName?": "string",
"textContainerClassName?": "string",
"sideTitleClassName?": "string",
"sideDescriptionClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"faqsContainerClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string",
"accordionContentClassName?": "string",
"separatorClassName?": "string"
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "FeatureBento",
"propsSchema": {
"features": "Array<{ title: string, description: string, button?: { text: string, href?: string }, bentoComponent: ... }> - CRITICAL: Each feature MUST use a DIFFERENT bentoComponent type (never repeat same type). Available types: 'globe' | 'icon-info-cards' | 'animated-bar-chart' | '3d-stack-cards' | '3d-task-list' | 'orbiting-icons' | 'marquee' | 'map' | 'line-chart' | '3d-card-grid' | 'phone' | 'chat' | 'reveal-icon' | 'timeline' | 'media-stack', plus bentoComponent-specific props",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "FeatureBorderGlow",
"propsSchema": {
"features": "FeatureCard[] (required) - Array with icon, title, description",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-75 2xl:min-h-85')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"iconContainerClassName?": "string",
"iconClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "FeatureCardEight",
"propsSchema": {
"features": "Array<{ title: string, description: string } & ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string })>",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"cardClassName?": "string",
"progressBarClassName?": "string",
"cardContentClassName?": "string",
"stepNumberClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"mediaContainerClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,44 @@
{
"name": "FeatureCardMedia",
"propsSchema": {
"features": "Array<{ id: string, title: string, description: string, tag: string, imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string, buttons?: ButtonConfig[], onCardClick?: () => void }>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"description": "string",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"ariaLabel?": "string (default: 'Features section')",
"className?": "string",
"containerClassName?": "string",
"itemClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"tagClassName?": "string",
"contentClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardButtonContainerClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,41 @@
{
"name": "FeatureCardNine",
"propsSchema": {
"features": "Array<{ title: string, description: string, phoneOne: ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string }), phoneTwo: ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string }) }>",
"showStepNumbers": "boolean (required - controls whether step number badges display)",
"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'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"textboxLayout": "'default' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"desktopContainerClassName?": "string",
"mobileContainerClassName?": "string",
"desktopContentClassName?": "string",
"desktopWrapperClassName?": "string",
"mobileWrapperClassName?": "string",
"phoneFrameClassName?": "string",
"mobilePhoneFrameClassName?": "string",
"featureContentClassName?": "string",
"stepNumberClassName?": "string",
"featureTitleClassName?": "string",
"featureDescriptionClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "FeatureCardNineteen",
"propsSchema": {
"features": "Array<{ tag: string, title: string, subtitle: string, description: string, imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string, buttons?: Array<{text: string, onClick?: () => void, href?: string}> }>",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }> - For inline images in title",
"description": "string",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"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'",
"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",
"cardContentClassName?": "string",
"cardTagClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string",
"imageContainerClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "FeatureCardOne",
"propsSchema": {
"features": "Array<{ title: string, description: string, button?: {text: string, onClick?: () => void, href?: string} } & ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string })>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' | 'two-columns-alternating-heights' | 'asymmetric-60-wide-40-narrow' | 'three-columns-all-equal-width' | 'four-items-2x2-equal-grid' | 'one-large-right-three-stacked-left' | 'items-top-row-full-width-bottom' | 'full-width-top-items-bottom-row' | 'one-large-left-three-stacked-right'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"mediaClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"useInvertedBackground": "boolean",
"showVerifiedBadge?": "boolean"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "FeatureCardSeven",
"propsSchema": {
"features": "Array<{ title: string, description: string } & ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string })>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"cardContentClassName?": "string",
"stepNumberClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"imageContainerClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,34 @@
{
"name": "FeatureCardSix",
"propsSchema": {
"features": "Array<{ title: string, description: string } & ({ imageSrc: string, imageAlt?: string } | { videoSrc: string, videoAriaLabel?: string })>",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"cardContentClassName?": "string",
"stepNumberClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"imageContainerClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "FeatureCardSixteen",
"propsSchema": {
"negativeCard": "{ items: string[] }",
"positiveCard": "{ items: string[] }",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }> - For inline images in title",
"description": "string",
"textboxLayout": "'default' | 'inline-image'",
"useInvertedBackground": "boolean",
"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'",
"ariaLabel?": "string (default: 'Feature comparison section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"gridClassName?": "string",
"cardClassName?": "string",
"itemsListClassName?": "string",
"itemClassName?": "string",
"itemIconClassName?": "string",
"itemTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "FeatureCardTen",
"propsSchema": {
"features": "FeatureCard[] (required) - Array with title, description, media, items, reverse",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"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"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "FeatureCardThree",
"propsSchema": {
"features": "Array<{ title: string, description: string, imageSrc: string, imageAlt?: string }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' | 'two-columns-alternating-heights' | 'asymmetric-60-wide-40-narrow' | 'three-columns-all-equal-width' | 'four-items-2x2-equal-grid' | 'one-large-right-three-stacked-left' | 'items-top-row-full-width-bottom' | 'full-width-top-items-bottom-row' | 'one-large-left-three-stacked-right'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"itemContentClassName?": "string",
"useInvertedBackground": "boolean"
}
}

View File

@@ -0,0 +1,37 @@
{
"name": "FeatureCardTwelve",
"propsSchema": {
"features": "Array<{ id: string, label: string, title: string, items: string[], buttons?: Array<{text: string, onClick?: () => void, href?: string}> }>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }> - For inline images in title",
"description": "string",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "boolean",
"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'",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"cardContentClassName?": "string",
"labelClassName?": "string",
"cardTitleClassName?": "string",
"itemsContainerClassName?": "string",
"itemTextClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "FeatureCardTwentyEight",
"propsSchema": {
"features": "Array<{ id: string, title: string, subtitle: string, category: string, value: string, buttons?: Array<{text: string, onClick?: () => void, href?: string}> }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"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'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Features section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"subtitleClassName?": "string",
"categoryClassName?": "string",
"valueClassName?": "string",
"footerClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "FeatureCardTwentyFive",
"propsSchema": {
"features": "FeatureCard[] (required) - Array with title, description, icon, mediaItems (tuple of 2)",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"mediaClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardIconClassName?": "string",
"cardIconWrapperClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "FeatureCardTwentyFour",
"propsSchema": {
"features": "FeatureItem[] (required) - Array with id, title, author, description, tags[], imageSrc/videoSrc",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Features section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"cardContentClassName?": "string",
"cardTitleClassName?": "string",
"authorClassName?": "string",
"cardDescriptionClassName?": "string",
"tagsContainerClassName?": "string",
"tagClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "FeatureCardTwentyNine",
"propsSchema": {
"features": "Array<{ title: string, description: string, imageSrc: string, imageAlt?: string, titleIconSrc: string, buttonText: string, buttonHref?: string }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' | 'two-columns-alternating-heights' | 'asymmetric-60-wide-40-narrow' | 'three-columns-all-equal-width' | 'four-items-2x2-equal-grid' | 'one-large-right-three-stacked-left' | 'items-top-row-full-width-bottom' | 'full-width-top-items-bottom-row' | 'one-large-left-three-stacked-right'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"itemContentClassName?": "string",
"useInvertedBackground": "boolean"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "FeatureCardTwentyOne",
"propsSchema": {
"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'",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"accordionItems": "Array<{ id: string, title: string, content: string }>",
"imageSrc?": "string (either imageSrc or videoSrc required)",
"imageAlt?": "string",
"videoSrc?": "string (either imageSrc or videoSrc required)",
"videoAriaLabel?": "string",
"useInvertedBackground": "boolean",
"mediaPosition?": "'left' | 'right' (default: 'left')",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"contentClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"accordionContainerClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionContentClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string"
}
}

View File

@@ -0,0 +1,32 @@
{
"name": "FeatureCardTwentySeven",
"propsSchema": {
"features": "FeatureCard[] (required) - Array with id, title, descriptions (string[], min: 1, recommended: 3, max: 5), imageSrc/videoSrc",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required)",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,34 @@
{
"name": "FeatureCardTwentySix",
"propsSchema": {
"features": "FeatureItem[] (MINIMUM 4 ITEMS REQUIRED) - Array with title, description, imageSrc/videoSrc, buttonIcon, buttonHref/buttonOnClick",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"cardButtonClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "FeatureCardTwentyThree",
"propsSchema": {
"features": "FeatureItem[] (required) - Array with id, title, tags[], imageSrc/videoSrc, onFeatureClick",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Features section')",
"className?": "string",
"containerClassName?": "string",
"itemClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"cardClassName?": "string",
"cardTitleClassName?": "string",
"tagsContainerClassName?": "string",
"tagClassName?": "string",
"arrowClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "FeatureHoverPattern",
"propsSchema": {
"features": "FeatureCard[] (required) - Array with icon, title, description, optional button",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-85 2xl:min-h-95')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"iconContainerClassName?": "string",
"iconClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"gradientClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,35 @@
{
"name": "FeatureTimelineBento",
"propsSchema": {
"features": "Array<{ title: string, description: string, buttons?: ButtonConfig[], bentoComponent: ... }> - CRITICAL: Each feature MUST use a DIFFERENT bentoComponent type (never repeat same type). Available types: 'globe' | 'icon-info-cards' | 'animated-bar-chart' | '3d-stack-cards' | '3d-task-list' | 'orbiting-icons' | 'marquee' | 'map' | 'line-chart' | '3d-card-grid' | 'phone' | 'chat' | 'reveal-icon' | 'timeline' | 'media-stack', plus bentoComponent-specific props",
"title": "string",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"cardContentClassName?": "string",
"stepNumberClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"bentoContainerClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,6 @@
{
"name": "FloatingGradientBackground",
"propsSchema": {
"className?": "string"
}
}

View File

@@ -0,0 +1,6 @@
{
"name": "FluidBackground",
"propsSchema": {
"className?": "string"
}
}

View File

@@ -0,0 +1,24 @@
{
"name": "FooterBase",
"propsSchema": {
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"copyrightText?": "string (default: '© 2025 | Webild')",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"logoTextClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"privacyButtonClassName?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "FooterBaseCard",
"propsSchema": {
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"copyrightText?": "string (default: '© 2025 | Webild')",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"logoTextClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"privacyButtonClassName?": "string"
}
}

View File

@@ -0,0 +1,27 @@
{
"name": "FooterBaseReveal",
"propsSchema": {
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"copyrightText?": "string",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string",
"className?": "string",
"wrapperClassName?": "string",
"containerClassName?": "string",
"footerClassName?": "string",
"footerContainerClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"logoTextClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"privacyButtonClassName?": "string"
}
}

View File

@@ -0,0 +1,21 @@
{
"name": "FooterCard",
"propsSchema": {
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"copyrightText?": "string (default: '© 2025 | Webild')",
"socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"dividerClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"socialContainerClassName?": "string",
"socialIconClassName?": "string"
}
}

View File

@@ -0,0 +1,19 @@
{
"name": "FooterLogoEmphasis",
"propsSchema": {
"logoSrc?": "string",
"logoAlt?": "string",
"columns": "Array<{ items: Array<{ label: string, href?: string, onClick?: () => void }> }> - Footer navigation columns (required, max 5)",
"logoText": "string (required)",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"itemClassName?": "string",
"iconClassName?": "string",
"buttonClassName?": "string"
}
}

View File

@@ -0,0 +1,19 @@
{
"name": "FooterLogoEmphasisReveal",
"propsSchema": {
"columns": "Array<{ items: Array<{ label: string, href?: string, onClick?: () => void }> }>",
"logoText": "string",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"wrapperClassName?": "string",
"containerClassName?": "string",
"footerClassName?": "string",
"footerContainerClassName?": "string",
"logoClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"itemClassName?": "string",
"iconClassName?": "string",
"buttonClassName?": "string"
}
}

View File

@@ -0,0 +1,17 @@
{
"name": "FooterLogoReveal",
"propsSchema": {
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"leftLink": "{ text: string, onClick?: () => void, href?: string } (required)",
"rightLink": "{ text: string, onClick?: () => void, href?: string } (required)",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"wrapperClassName?": "string",
"containerClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"linkClassName?": "string"
}
}

View File

@@ -0,0 +1,30 @@
{
"name": "FooterMedia",
"propsSchema": {
"imageSrc": "string (required if no videoSrc)",
"imageAlt?": "string (default: '')",
"videoSrc": "string (required if no imageSrc)",
"videoAriaLabel?": "string (default: 'Footer video')",
"logoSrc?": "string",
"logoAlt?": "string",
"logoText": "string (required)",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"copyrightText?": "string (default: '© 2025 | Webild')",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string",
"logoClassName?": "string",
"logoImageClassName?": "string",
"logoTextClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"privacyButtonClassName?": "string"
}
}

View File

@@ -0,0 +1,19 @@
{
"name": "FooterSimple",
"propsSchema": {
"columns": "Array<{ title: string, items: Array<{ label: string, href?: string, onClick?: () => void }> }>",
"bottomLeftText": "string",
"bottomRightText": "string",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"dividerClassName?": "string",
"bottomContainerClassName?": "string",
"bottomLeftTextClassName?": "string",
"bottomRightTextClassName?": "string"
}
}

View File

@@ -0,0 +1,11 @@
{
"name": "GradientBarsBackground",
"propsSchema": {
"className?": "string",
"numBarsPerSide?": "number (default: 8)",
"gradientFrom?": "string (default: 'var(--color-primary-cta)')",
"gradientTo?": "string (default: 'transparent')",
"opacity?": "number (default: 0.075)",
"sideWidth?": "string (default: '35%')"
}
}

View File

@@ -0,0 +1,8 @@
{
"name": "GridBackround",
"propsSchema": {
"size?": "'small' | 'medium' | 'large' (default: 'medium')",
"perspectiveThreeD?": "boolean (default: false)",
"className?": "string"
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "HeroBillboard",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"mediaAspectRatio?": "string (default: 'aspect-square md:aspect-video')",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "HeroBillboardCarousel",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"mediaItems": "Array<{ imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string }> - Each item requires either imageSrc or videoSrc",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string"
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "HeroBillboardDashboard",
"typeDefinitions": {
"DashboardStat": "{ title: string, values: [number, number, number], valuePrefix?: string, valueSuffix?: string, description: string, titleMobile?: string }",
"DashboardSidebarItem": "{ icon: LucideIcon, active?: boolean }",
"DashboardListItem": "{ icon: LucideIcon, title: string, status: string }",
"ChartDataItem": "{ value: number }"
},
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"dashboard": "{title: string, stats: [DashboardStat, DashboardStat, DashboardStat], logoIcon: LucideIcon, sidebarItems: DashboardSidebarItem[], searchPlaceholder?: string, buttons: ButtonConfig[], chartTitle?: string, chartData?: ChartDataItem[], listItems: DashboardListItem[], listTitle?: string, imageSrc: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string, className?: string, containerClassName?: string, sidebarClassName?: string, statClassName?: string, chartClassName?: string, listClassName?: string}",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"dashboardClassName?": "string"
}
}

View File

@@ -0,0 +1,27 @@
{
"name": "HeroBillboardGallery",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"mediaItems": "Array<{ imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string }> (MINIMUM 3 ITEMS REQUIRED, max 5)",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "HeroBillboardRotatedCarousel",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"carouselItems": "Array<{ id: string, imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string }> - Carousel items (minimum 6 items)",
"autoPlay?": "boolean (default: true)",
"autoPlayInterval?": "number (default: 4000)",
"marqueeItems?": "Array<{ type: 'image', src: string, alt?: string } | { type: 'text', text: string } | { type: 'text-icon', text: string, icon: LucideIcon }> - Logo marquee items",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"carouselClassName?": "string",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "HeroBillboardScroll",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"mediaAspectRatio?": "string (default: 'aspect-[4/3] md:aspect-[16/9]')",
"marqueeItems?": "Array<MarqueeItem>",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"cardWrapperClassName?": "string",
"cardInnerClassName?": "string",
"imageClassName?": "string",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,53 @@
{
"name": "HeroBillboardTestimonial",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"testimonials": "Array<{ name: string, handle: string, testimonial: string, rating: number, imageSrc?: string, imageAlt?: string }>",
"testimonialRotationInterval?": "number (default: 5000)",
"useInvertedBackground?": "boolean (default: false)",
"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'",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"mediaAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal' (default: 'none')",
"avatarText?": "string - Text displayed next to the avatar group",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"avatarGroupClassName?": "string",
"testimonialCardClassName?": "string",
"testimonialContentClassName?": "string",
"testimonialTextClassName?": "string",
"testimonialRatingClassName?": "string",
"testimonialAuthorClassName?": "string",
"testimonialAuthorImageClassName?": "string",
"testimonialAuthorNameClassName?": "string",
"testimonialAuthorHandleClassName?": "string",
"marqueeItems?": "Array<{ type: 'image', src: string, alt?: string } | { type: 'text', text: string } | { type: 'text-icon', text: string, icon: LucideIcon }>",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,27 @@
{
"name": "HeroCarouselLogo",
"propsSchema": {
"logoText": "string",
"description": "string",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"slides": "Array<{ imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string }> - Carousel slide items",
"autoplayDelay?": "number (default: 3000)",
"showDimOverlay?": "boolean (default: false)",
"logoLineHeight?": "number (default: 1.1)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"contentContainerClassName?": "string",
"descriptionClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"logoContainerClassName?": "string",
"logoClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"blurClassName?": "string",
"dimOverlayClassName?": "string",
"progressBarClassName?": "string"
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "HeroCentered",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"avatars": "Avatar[] (required) - Array with src and alt",
"avatarText?": "string",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"marqueeItems?": "Array<{ type: 'image', src: string, alt?: string } | { type: 'text', text: string } | { type: 'text-icon', text: string, icon: LucideIcon }>",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"avatarGroupClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,29 @@
{
"name": "HeroLogo",
"propsSchema": {
"logoText": "string",
"description": "string",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"showDimOverlay?": "boolean (default: false)",
"logoLineHeight?": "number (default: 1.1)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"contentContainerClassName?": "string",
"descriptionClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"logoContainerClassName?": "string",
"logoClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"blurClassName?": "string",
"dimOverlayClassName?": "string"
}
}

View File

@@ -0,0 +1,27 @@
{
"name": "HeroLogoBillboard",
"propsSchema": {
"logoText": "string",
"description": "string",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"frameStyle?": "'card' | 'browser' (default: 'card')",
"logoLineHeight?": "number (default: 1.1)",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"logoContainerClassName?": "string",
"logoClassName?": "string",
"descriptionClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"browserBarClassName?": "string",
"addressBarClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "HeroOverlay",
"propsSchema": {
"title": "string",
"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'",
"avatars?": "Array<{ src: string, alt: string }>",
"avatarText?": "string",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"showDimOverlay?": "boolean (default: false)",
"showBlur?": "boolean (default: true)",
"textPosition?": "'top' | 'bottom' (default: 'bottom')",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"avatarGroupClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"blurClassName?": "string",
"dimOverlayClassName?": "string"
}
}

View File

@@ -0,0 +1,46 @@
{
"name": "HeroOverlayTestimonial",
"propsSchema": {
"title": "string",
"description": "string",
"testimonials": "Array<{ name: string, handle: string, testimonial: string, rating: number, imageSrc?: string, imageAlt?: string }>",
"testimonialRotationInterval?": "number (default: 5000)",
"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'",
"avatars?": "Array<{ src: string, alt: string }>",
"avatarText?": "string",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"showDimOverlay?": "boolean (default: false)",
"showBlur?": "boolean (default: true)",
"textPosition?": "'top' | 'bottom' (default: 'bottom')",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"avatarGroupClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"blurClassName?": "string",
"dimOverlayClassName?": "string",
"testimonialCardClassName?": "string",
"testimonialContentClassName?": "string",
"testimonialTextClassName?": "string",
"testimonialRatingClassName?": "string",
"testimonialAuthorClassName?": "string",
"testimonialAuthorImageClassName?": "string",
"testimonialAuthorNameClassName?": "string",
"testimonialAuthorHandleClassName?": "string"
}
}

View File

@@ -0,0 +1,27 @@
{
"name": "HeroPersonalLinks",
"propsSchema": {
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"title": "string",
"titleSegments?": "TitleSegment[] - For inline images in title",
"socialLinks?": "SocialLink[] - Array with icon, label, href",
"linkCards": "LinkCard[] (required) - Array with icon/media, title, description, button",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"ariaLabel?": "string (default: 'Personal links section')",
"className?": "string",
"containerClassName?": "string",
"textboxClassName?": "string",
"titleClassName?": "string",
"titleImageWrapperClassName?": "string",
"titleImageClassName?": "string",
"socialLinksClassName?": "string",
"socialLinkClassName?": "string",
"linkCardsClassName?": "string",
"linkCardClassName?": "string",
"linkCardIconClassName?": "string",
"linkCardTitleClassName?": "string",
"linkCardDescriptionClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,26 @@
{
"name": "HeroSignup",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'glowing-orb-sparkles' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"tag": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"inputPlaceholder?": "string (default: 'Enter your email')",
"buttonText?": "string (default: 'Get Started')",
"onSubmit?": "(email: string) => void",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"formWrapperClassName?": "string",
"formClassName?": "string",
"inputClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,35 @@
{
"name": "HeroSplit",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"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'",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"avatarText?": "string - Text displayed next to the avatar group",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"ariaLabel?": "string (default: 'Hero section')",
"imagePosition?": "'left' | 'right' (default: 'right')",
"fixedMediaHeight?": "boolean (default: true) - When true, media wrapper is aspect-square on mobile and md:h-[65vh] on desktop",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"avatarGroupClassName?": "string"
}
}

View File

@@ -0,0 +1,42 @@
{
"name": "HeroSplitDoubleCarousel",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"leftCarouselItems": "Array<{ imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string }>",
"rightCarouselItems": "Array<{ imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: 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'",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"avatarText?": "string - Text displayed next to the avatar group",
"carouselPosition?": "'left' | 'right' (default: 'right')",
"ariaLabel?": "string (default: 'Hero section')",
"marqueeItems?": "MarqueeItem[] - Optional logo marquee items for bottom of section",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"carouselWrapperClassName?": "string",
"carouselColumnClassName?": "string",
"carouselItemClassName?": "string",
"carouselImageClassName?": "string",
"avatarGroupClassName?": "string",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,32 @@
{
"name": "HeroSplitDualMedia",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"tag": "string",
"tagIcon?": "LucideIcon",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"buttons?": "Array<{ text: string, href?: string, onClick?: () => void }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"mediaItems": "[MediaItem, MediaItem] (required) - Exactly 2 media items",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"rating": "number (required) - Number of stars (1-5)",
"ratingText": "string",
"ariaLabel?": "string (default: 'Hero section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaItemClassName?": "string",
"imageClassName?": "string",
"ratingClassName?": "string",
"ratingTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "HeroSplitKpi",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"kpis": "[KpiItem, KpiItem, KpiItem] - Array of exactly 3 KPI items with value and label",
"enableKpiAnimation": "boolean - Enable/disable mouse-following animation on KPI boxes",
"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'",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"avatarText?": "string - Text displayed next to the avatar group",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"ariaLabel?": "string (default: 'Hero section')",
"imagePosition?": "'left' | 'right' (default: 'right')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"avatarGroupClassName?": "string",
"kpiClassName?": "string",
"kpiValueClassName?": "string",
"kpiLabelClassName?": "string"
}
}

View File

@@ -0,0 +1,55 @@
{
"name": "HeroSplitTestimonial",
"propsSchema": {
"title": "string",
"description": "string",
"background": "{ variant: 'plain' | 'animated-grid' | 'canvas-reveal' | 'cell-wave' | 'downward-rays-animated' | 'downward-rays-animated-grid' | 'downward-rays-static' | 'downward-rays-static-grid' | 'glowing-orb' | 'gradient-bars' | 'radial-gradient' | 'rotated-rays-animated' | 'rotated-rays-animated-grid' | 'rotated-rays-static' | 'rotated-rays-static-grid' | 'sparkles-gradient' }",
"testimonials": "Array<{ name: string, handle: string, testimonial: string, rating: number, imageSrc?: string, imageAlt?: string }>",
"testimonialRotationInterval?": "number (default: 5000)",
"useInvertedBackground?": "boolean (default: false)",
"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'",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"avatarText?": "string - Text displayed next to the avatar group",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"ariaLabel?": "string (default: 'Hero section')",
"imagePosition?": "'left' | 'right' (default: 'right')",
"fixedMediaHeight?": "boolean (default: true)",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"avatarGroupClassName?": "string",
"testimonialCardClassName?": "string",
"testimonialContentClassName?": "string",
"testimonialTextClassName?": "string",
"testimonialRatingClassName?": "string",
"testimonialAuthorClassName?": "string",
"testimonialAuthorImageClassName?": "string",
"testimonialAuthorNameClassName?": "string",
"testimonialAuthorHandleClassName?": "string",
"marqueeItems?": "Array<{ type: 'image', src: string, alt?: string } | { type: 'text', text: string } | { type: 'text-icon', text: string, icon: LucideIcon }>",
"marqueeSpeed?": "number (default: 30)",
"showMarqueeCard?": "boolean (default: true)",
"marqueeClassName?": "string",
"marqueeItemClassName?": "string",
"marqueeCardClassName?": "string",
"marqueeImageClassName?": "string",
"marqueeTextClassName?": "string",
"marqueeIconClassName?": "string"
}
}

View File

@@ -0,0 +1,18 @@
{
"name": "InlineImageSplitTextAbout",
"propsSchema": {
"heading": "Array<{ type: 'text'; content: string } | { type: 'image'; src: string; alt?: string }>",
"buttons?": "Array<{ text: string, onClick?: () => void, href?: string, props?: Partial<ButtonPropsForVariant<CTAButtonVariant>> }>",
"buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'About section')",
"className?": "string",
"containerClassName?": "string",
"headingClassName?": "string",
"imageWrapperClassName?": "string",
"imageClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,13 @@
{
"name": "Input",
"propsSchema": {
"value": "string",
"onChange": "(value: string) => void",
"type?": "string (default: 'text')",
"placeholder?": "string",
"required?": "boolean (default: false)",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"className?": "string"
}
}

View File

@@ -0,0 +1,28 @@
{
"name": "MediaAbout",
"propsSchema": {
"title": "string",
"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'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string",
"videoAriaLabel?": "string",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'About section')",
"className?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "MetricCardEleven",
"propsSchema": {
"metrics": "Array<{ id: string, value: string, title: string, description: string, imageSrc?: string, imageAlt?: string, videoSrc?: string, videoAriaLabel?: string }>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal'",
"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'",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"textBoxClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string",
"gridClassName?": "string",
"cardClassName?": "string",
"valueClassName?": "string",
"cardTitleClassName?": "string",
"cardDescriptionClassName?": "string",
"mediaCardClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,20 @@
{
"name": "MetricCardFourteen",
"propsSchema": {
"title": "string",
"tag": "string",
"tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"metricsAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
"metrics": "Array<{ id: string, value: string, description: string }>",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"titleClassName?": "string",
"tagClassName?": "string",
"metricsContainerClassName?": "string",
"metricClassName?": "string",
"valueClassName?": "string",
"descriptionClassName?": "string"
}
}

View File

@@ -0,0 +1,41 @@
{
"name": "MetricCardOne",
"propsSchema": {
"metrics": "Array<{ id: string, value: string, title: string, description: string, icon: LucideIcon }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"valueClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"iconContainerClassName?": "string",
"iconClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "MetricCardSeven",
"propsSchema": {
"metrics": "Array<{ id: string, value: string, title: string, items: string[] }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"valueClassName?": "string - For styling the large metric value",
"metricTitleClassName?": "string - For styling the metric title text",
"featuresClassName?": "string - For styling the PricingFeatureList container",
"featureItemClassName?": "string - For styling individual feature items",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "MetricCardThree",
"propsSchema": {
"metrics": "Array<{ id: string, icon: LucideIcon, title: string, value: string }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string",
"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)",
"useInvertedBackground": "boolean",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"iconContainerClassName?": "string",
"iconClassName?": "string",
"metricTitleClassName?": "string",
"valueClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

Some files were not shown because too many files have changed in this diff Show More