Initial commit

This commit is contained in:
DK
2026-02-09 17:11:08 +00:00
commit e842bbd47b
656 changed files with 77277 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
{
"name": "AboutMetric",
"propsSchema": {
"title": "string",
"metrics": "Array<{ icon: LucideIcon, label: string, value: string }>",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,12 @@
{
"name": "AvatarGroup",
"propsSchema": {
"avatars": "Array<{ src: string, alt: string }> - User avatar images",
"text?": "string",
"maxVisible?": "number (default: 5)",
"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,42 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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 - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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 - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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 - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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,33 @@
{
"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' | 'timeline' (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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground?": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Card stack')",
"className?": "string",
"containerClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,27 @@
{
"name": "ContactCenter",
"propsSchema": {
"tag": "string",
"title": "string",
"description": "string",
"tagIcon?": "LucideIcon",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,31 @@
{
"name": "ContactFaq",
"propsSchema": {
"faqs": "Array<{ id: string, title: string, content: string }>",
"ctaTitle": "string",
"ctaDescription": "string",
"ctaButton": "{text: string, onClick?: () => void, href?: string}",
"ctaIcon": "LucideIcon (required)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect on panels)",
"accordionAnimationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true - controls accordion card styling)",
"ariaLabel?": "string (default: 'Contact and FAQ section')",
"className?": "string",
"containerClassName?": "string",
"ctaPanelClassName?": "string",
"ctaIconClassName?": "string",
"ctaTitleClassName?": "string",
"ctaDescriptionClassName?": "string",
"ctaButtonClassName?": "string",
"ctaButtonTextClassName?": "string",
"faqsPanelClassName?": "string",
"faqsContainerClassName?": "string",
"accordionClassName?": "string",
"accordionTitleClassName?": "string",
"accordionIconContainerClassName?": "string",
"accordionIconClassName?": "string",
"accordionContentClassName?": "string",
"separatorClassName?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "ContactForm",
"propsSchema": {
"title": "string (required)",
"description": "string (required)",
"tag": "string (required)",
"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": "'noInvert' | 'invertDefault' (required)",
"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,35 @@
{
"name": "ContactSplit",
"propsSchema": {
"tag": "string",
"title": "string",
"description": "string",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Contact section video')",
"mediaPosition?": "'left' | 'right' (default: 'right')",
"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",
"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,28 @@
{
"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)",
"textarea?": "{ name: string, placeholder: string, rows?: number, required?: boolean, className?: string } - Optional textarea field",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Contact section video')",
"mediaPosition?": "'left' | 'right' (default: 'right')",
"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": "'noInvert' | 'invertDefault'",
"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,35 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,34 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,43 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"animationType?": "'smooth' | 'instant' (default: 'smooth')",
"showCard?": "boolean (default: true)",
"ariaLabel?": "string (default: 'FAQ section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,30 @@
{
"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}>",
"textPosition?": "'left' | 'right' (default: 'left')",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,34 @@
{
"name": "FeatureCardEight",
"propsSchema": {
"features": "Array<{ id: number, 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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,42 @@
{
"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": "'noInvert' | 'invertDefault'",
"titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }>",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "ButtonConfig[]",
"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,38 @@
{
"name": "FeatureCardNine",
"propsSchema": {
"features": "Array<{ id: number, 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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,34 @@
{
"name": "FeatureCardNineteen",
"propsSchema": {
"features": "Array<{ id: number, tag: string, title: string, subtitle: string, description: string, imageSrc?: string, videoSrc?: string, imageAlt?: string, videoAriaLabel?: string, buttons?: Array<{text: string, onClick?: () => void, href?: string}> }> (required)",
"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)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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,39 @@
{
"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' | 'timeline' (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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 - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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": "'noInvert' | 'invertDefault'"
}
}

View File

@@ -0,0 +1,34 @@
{
"name": "FeatureCardSeven",
"propsSchema": {
"features": "Array<{ id: number, 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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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,32 @@
{
"name": "FeatureCardSix",
"propsSchema": {
"features": "Array<{ id: number, 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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Feature section')",
"className?": "string",
"containerClassName?": "string",
"textBoxTitleClassName?": "string",
"titleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"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": "FeatureCardSixteen",
"propsSchema": {
"negativeCard": "{ items: string[] } (required)",
"positiveCard": "{ items: string[] } (required)",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' | 'depth-3d' (required)",
"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)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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,37 @@
{
"name": "FeatureCardThree",
"propsSchema": {
"features": "Array<{ id: string, 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' | 'timeline' (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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 - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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": "'noInvert' | 'invertDefault'"
}
}

View File

@@ -0,0 +1,35 @@
{
"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' (required)",
"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": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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 - For styling image wrapper in inline-image layout",
"titleImageClassName?": "string - For styling images in inline-image layout",
"cardContentClassName?": "string",
"labelClassName?": "string",
"cardTitleClassName?": "string",
"itemsContainerClassName?": "string",
"itemTextClassName?": "string",
"cardButtonClassName?": "string",
"cardButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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": "'noInvert' | 'invertDefault'",
"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": "FeatureProcessSteps",
"propsSchema": {
"title": "string",
"description": "string",
"steps": "Array<{ number: string, title: string, description: string, tag?: string }>",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "ButtonConfig[]",
"ariaLabel?": "string (default: 'Process steps section')",
"className?": "string",
"containerClassName?": "string",
"gridClassName?": "string",
"leftColumnClassName?": "string",
"rightColumnClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"stepsContainerClassName?": "string",
"stepClassName?": "string",
"stepNumberClassName?": "string",
"stepContentClassName?": "string",
"stepTitleClassName?": "string",
"stepTagClassName?": "string",
"stepDescriptionClassName?": "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,20 @@
{
"name": "FooterBase",
"propsSchema": {
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
"logoText?": "string (default: 'Webild')",
"copyrightText?": "string (default: '© 2025 | Webild')",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"logoTextClassName?": "string",
"columnsClassName?": "string",
"columnClassName?": "string",
"columnTitleClassName?": "string",
"columnItemClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"privacyButtonClassName?": "string"
}
}

View File

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

View File

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

View File

@@ -0,0 +1,19 @@
{
"name": "FooterCard",
"propsSchema": {
"logoText?": "string (default: 'Webild')",
"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",
"logoLineHeight?": "number (default: 1.1)",
"logoClassName?": "string",
"dividerClassName?": "string",
"copyrightContainerClassName?": "string",
"copyrightTextClassName?": "string",
"socialContainerClassName?": "string",
"socialIconClassName?": "string"
}
}

View File

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

View File

@@ -0,0 +1,12 @@
{
"name": "FooterLogoReveal",
"propsSchema": {
"logoText?": "string (default: 'Webild')",
"logoLineHeight?": "number (default: 1.1)",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"wrapperClassName?": "string",
"containerClassName?": "string",
"logoClassName?": "string"
}
}

View File

@@ -0,0 +1,26 @@
{
"name": "FooterMedia",
"propsSchema": {
"imageSrc": "string (required if no videoSrc)",
"imageAlt?": "string (default: '')",
"videoSrc": "string (required if no imageSrc)",
"videoAriaLabel?": "string (default: 'Footer video')",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
"logoText?": "string (default: 'Webild')",
"copyrightText?": "string (default: '© 2025 | Webild')",
"onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')",
"className?": "string",
"containerClassName?": "string",
"mediaWrapperClassName?": "string",
"mediaClassName?": "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,27 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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"
}
}

View File

@@ -0,0 +1,23 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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,24 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,25 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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)",
"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"
}
}

View File

@@ -0,0 +1,28 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"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",
"cardWrapperClassName?": "string",
"cardInnerClassName?": "string",
"imageClassName?": "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,28 @@
{
"name": "HeroLogo",
"propsSchema": {
"logoText": "string",
"description": "string",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"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,24 @@
{
"name": "HeroLogoBillboard",
"propsSchema": {
"logoText": "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' } (required)",
"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,29 @@
{
"name": "HeroLogoBillboardSplit",
"propsSchema": {
"logoText": "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' } (required)",
"buttons": "Array<{text: string, onClick?: () => void, href?: string}>",
"layoutOrder": "'default' | 'reverse'",
"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",
"descriptionClassName?": "string",
"buttonContainerClassName?": "string",
"buttonClassName?": "string",
"buttonTextClassName?": "string",
"logoClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"browserBarClassName?": "string",
"addressBarClassName?": "string"
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "HeroOverlay",
"propsSchema": {
"title": "string",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string (default: '')",
"videoAriaLabel?": "string (default: 'Hero video')",
"textPosition?": "'center' | 'bottom-left' (default: 'bottom-left')",
"showDimOverlay?": "boolean (default: false)",
"showBlur?": "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",
"mediaWrapperClassName?": "string",
"imageClassName?": "string",
"blurClassName?": "string",
"dimOverlayClassName?": "string"
}
}

View File

@@ -0,0 +1,32 @@
{
"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' } (required)",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"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,36 @@
{
"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' } (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"avatars?": "Avatar[] - Array of avatar objects with src and alt properties",
"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')",
"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,17 @@
{
"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>> }>",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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 (required)",
"onChange": "(value: string) => void (required)",
"type?": "string (default: 'text')",
"placeholder?": "string",
"required?": "boolean (default: false)",
"disabled?": "boolean (default: false)",
"ariaLabel?": "string",
"className?": "string"
}
}

View File

@@ -0,0 +1,26 @@
{
"name": "MediaAbout",
"propsSchema": {
"title": "string",
"description": "string",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string",
"videoAriaLabel?": "string",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,27 @@
{
"name": "MediaSplitTabsAbout",
"propsSchema": {
"title": "string",
"description?": "string",
"tabs": "Array<{ id: string, label: string, description: string }> - Tab options for content switching",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string",
"videoAriaLabel?": "string",
"imagePosition?": "'left' | 'right' (default: 'right')",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'About section')",
"className?": "string",
"containerClassName?": "string",
"contentCardClassName?": "string",
"titleClassName?": "string",
"titleDescriptionClassName?": "string",
"tabsContainerClassName?": "string",
"tabClassName?": "string",
"activeTabClassName?": "string",
"tabIndicatorClassName?": "string",
"descriptionClassName?": "string",
"mediaCardClassName?": "string",
"mediaClassName?": "string"
}
}

View File

@@ -0,0 +1,34 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,18 @@
{
"name": "MetricCardFourteen",
"propsSchema": {
"title": "string",
"tag": "string",
"metrics": "Array<{ id: string, value: string, description: string }>",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"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,39 @@
{
"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' (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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,37 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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,40 @@
{
"name": "MetricCardTen",
"propsSchema": {
"metrics": "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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Metrics 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,37 @@
{
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"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"
}
}

View File

@@ -0,0 +1,36 @@
{
"name": "MetricCardTwo",
"propsSchema": {
"metrics": "Array<{ id: string, value: string, description: string }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"gridVariant": "'uniform-all-items-equal' | 'bento-grid' | 'bento-grid-inverted' (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Metrics section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"valueClassName?": "string",
"metricDescriptionClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,31 @@
{
"name": "MetricSplitMediaAbout",
"propsSchema": {
"title": "string",
"description": "string",
"metrics": "Array<{ value: string, title: string }>",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"imageSrc?": "string",
"videoSrc?": "string",
"imageAlt?": "string",
"videoAriaLabel?": "string (default: 'About section video')",
"ariaLabel?": "string (default: 'About section')",
"className?": "string",
"containerClassName?": "string",
"gridClassName?": "string",
"leftColumnClassName?": "string",
"rightColumnClassName?": "string",
"textBoxClassName?": "string",
"titleClassName?": "string",
"descriptionClassName?": "string",
"tagClassName?": "string",
"metricsContainerClassName?": "string",
"metricCardClassName?": "string",
"metricValueClassName?": "string",
"metricTitleClassName?": "string",
"mediaWrapperClassName?": "string",
"imageClassName?": "string"
}
}

View File

@@ -0,0 +1,12 @@
{
"name": "NavbarLayoutFloatingInline",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')",
"button": "{text: string, onClick?: () => void, href?: string}",
"className?": "string (default: '')",
"navItemClassName?": "string (default: '')",
"buttonClassName?": "string (default: '')",
"buttonTextClassName?": "string (default: '')"
}
}

View File

@@ -0,0 +1,11 @@
{
"name": "NavbarLayoutFloatingOverlay",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"className?": "string",
"brandName?": "string (default: 'Webild')",
"button": "{text: string, onClick?: () => void, href?: string}",
"buttonClassName?": "string (default: '')",
"buttonTextClassName?": "string (default: '')"
}
}

View File

@@ -0,0 +1,7 @@
{
"name": "NavbarStyleApple",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')"
}
}

View File

@@ -0,0 +1,9 @@
{
"name": "NavbarStyleCentered",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"button": "{text: string, onClick?: () => void, href?: string}",
"brandName?": "string (default: 'Webild')",
"className?": "string (default: '')"
}
}

View File

@@ -0,0 +1,10 @@
{
"name": "NavbarStyleFullscreen",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')",
"bottomLeftText?": "string (default: 'Global Community')",
"bottomRightText?": "string (default: 'hello@example.com')",
"topBarClassName?": "string (default: '')"
}
}

View File

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

View File

@@ -0,0 +1,40 @@
{
"name": "PricingCardEight",
"propsSchema": {
"plans": "Array<{ id: string, badge: string, badgeIcon?: LucideIcon, price: string, subtitle: string, buttons: Array<{text: string, onClick?: () => void, href?: string}>, features: 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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image'",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Pricing section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string",
"textBoxTitleImageClassName?": "string",
"textBoxDescriptionClassName?": "string",
"badgeClassName?": "string",
"priceClassName?": "string",
"subtitleClassName?": "string",
"planButtonContainerClassName?": "string",
"planButtonClassName?": "string",
"featuresClassName?": "string",
"featureItemClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "PricingCardFive",
"propsSchema": {
"plans": "Array<{ id: string, tag: string, tagIcon?: LucideIcon, price: string, period: string, description: string, button: {text: string, onClick?: () => void, href?: string}, featuresTitle: string, features: string[] }>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required)",
"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)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"ariaLabel?": "string (default: 'Pricing 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",
"planTagClassName?": "string",
"planPriceClassName?": "string",
"planPeriodClassName?": "string",
"planDescriptionClassName?": "string",
"planButtonClassName?": "string",
"planButtonTextClassName?": "string",
"featuresTitleClassName?": "string",
"featuresListClassName?": "string",
"featureItemClassName?": "string",
"featureIconClassName?": "string",
"featureTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "PricingCardNine",
"propsSchema": {
"plans": "Array<{ id: string, title: string, price: string, period: string, features: string[], button: {text: string, onClick?: () => void, href?: string}, imageSrc: string, imageAlt?: string }>",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required)",
"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)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"tag?": "string",
"tagIcon?": "LucideIcon",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"ariaLabel?": "string (default: 'Pricing 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",
"planImageWrapperClassName?": "string",
"planImageClassName?": "string",
"planTitleClassName?": "string",
"planPriceClassName?": "string",
"planButtonClassName?": "string",
"planButtonTextClassName?": "string",
"featuresListClassName?": "string",
"featureItemClassName?": "string",
"featureIconClassName?": "string",
"featureTextClassName?": "string"
}
}

View File

@@ -0,0 +1,38 @@
{
"name": "PricingCardOne",
"propsSchema": {
"plans": "Array<{ id: string, badge: string, badgeIcon?: LucideIcon, price: string, subtitle: string, features: string[] }>",
"carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
"uniformGridCustomHeightClasses?": "string",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Pricing section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"badgeClassName?": "string",
"priceClassName?": "string",
"subtitleClassName?": "string",
"featuresClassName?": "string",
"featureItemClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "PricingCardThree",
"propsSchema": {
"plans": "Array<{ id: string, badge?: string, badgeIcon?: LucideIcon, price: string, name: string, buttons: Array<{text: string, onClick?: () => void, href?: string}>, features: string[] }>",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Pricing section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"badgeClassName?": "string",
"priceClassName?": "string",
"nameClassName?": "string",
"planButtonContainerClassName?": "string",
"planButtonClassName?": "string",
"featuresClassName?": "string",
"featureItemClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "PricingCardTwo",
"propsSchema": {
"plans": "Array<{ id: string, badge: string, badgeIcon?: LucideIcon, price: string, subtitle: string, buttons: Array<{text: string, onClick?: () => void, href?: string}>, features: string[] }>",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Pricing section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"badgeClassName?": "string",
"priceClassName?": "string",
"subtitleClassName?": "string",
"planButtonContainerClassName?": "string",
"planButtonClassName?": "string",
"featuresClassName?": "string",
"featureItemClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,39 @@
{
"name": "ProductCardFour",
"propsSchema": {
"products": "Array<{ id: string, name: string, price: string, variant: string, imageSrc: string, imageAlt?: string, onFavorite?: () => void, onProductClick?: () => void, isFavorited?: boolean }> - Product items",
"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' | 'one-large-left-three-stacked-right' (required)",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-95 2xl:min-h-105')",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required)",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault' (required)",
"ariaLabel?": "string (default: 'Product section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"cardNameClassName?": "string",
"cardPriceClassName?": "string",
"cardVariantClassName?": "string",
"actionButtonClassName?": "string - Styles the action button on product image",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,37 @@
{
"name": "ProductCardOne",
"propsSchema": {
"products": "Array<{ id: string, name: string, price: string, imageSrc: string, imageAlt?: string, onFavorite?: () => void, onProductClick?: () => void, isFavorited?: boolean }>",
"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' (required)",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-95 2xl:min-h-105')",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Product section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"cardNameClassName?": "string",
"cardPriceClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,37 @@
{
"name": "ProductCardThree",
"propsSchema": {
"products": "Array<{ id: string, name: string, price: string, imageSrc: string, imageAlt?: string, onFavorite?: () => void, onProductClick?: () => void, onQuantityChange?: (quantity: number) => void, isFavorited?: boolean, initialQuantity?: number, priceButtonProps?: Partial<ButtonPropsForVariant<CTAButtonVariant>> }>",
"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' | 'one-large-left-three-stacked-right' (required)",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-95 2xl:min-h-105')",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Product section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"cardNameClassName?": "string",
"quantityControlsClassName?": "string",
"gridClassName?": "string",
"carouselClassName?": "string",
"controlsClassName?": "string",
"textBoxClassName?": "string",
"textBoxTagClassName?": "string",
"textBoxButtonContainerClassName?": "string",
"textBoxButtonClassName?": "string",
"textBoxButtonTextClassName?": "string"
}
}

View File

@@ -0,0 +1,40 @@
{
"name": "ProductCardTwo",
"propsSchema": {
"products": "Array<{ id: string, brand: string, name: string, price: string, rating: number, reviewCount: string, imageSrc: string, imageAlt?: string, onFavorite?: () => void, onProductClick?: () => void, isFavorited?: boolean }>",
"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' (required)",
"animationType": "'none' | 'opacity' | 'slide-up' | 'scale-rotate' | 'blur-reveal' (required - controls GSAP scroll animations with stagger effect)",
"uniformGridCustomHeightClasses?": "string (default: 'min-h-95 2xl:min-h-105')",
"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",
"buttons?": "Array<{text: string, onClick?: () => void, href?: string}>",
"textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)",
"useInvertedBackground": "'noInvert' | 'invertDefault'",
"ariaLabel?": "string (default: 'Product section')",
"className?": "string",
"containerClassName?": "string",
"cardClassName?": "string",
"imageClassName?": "string",
"textBoxTitleClassName?": "string",
"textBoxTitleImageWrapperClassName?": "string - For styling image wrapper in inline-image layout",
"textBoxTitleImageClassName?": "string - For styling images in inline-image layout",
"textBoxDescriptionClassName?": "string",
"cardBrandClassName?": "string",
"cardNameClassName?": "string",
"cardPriceClassName?": "string",
"cardRatingClassName?": "string",
"actionButtonClassName?": "string - Styles the action button on product image",
"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