Initial commit
This commit is contained in:
17
registry/schemas/AboutMetric.schema.json
Normal file
17
registry/schemas/AboutMetric.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
8
registry/schemas/AnimatedAuroraBackground.schema.json
Normal file
8
registry/schemas/AnimatedAuroraBackground.schema.json
Normal 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)"
|
||||
}
|
||||
}
|
||||
9
registry/schemas/AnimatedGridBackground.schema.json
Normal file
9
registry/schemas/AnimatedGridBackground.schema.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "AnimatedGridBackground",
|
||||
"propsSchema": {
|
||||
"squareSize?": "number (default: 100)",
|
||||
"numSquares?": "number (default: 50)",
|
||||
"maxOpacity?": "number (default: 0.15)",
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
6
registry/schemas/AuroraBackground.schema.json
Normal file
6
registry/schemas/AuroraBackground.schema.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "AuroraBackground",
|
||||
"propsSchema": {
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
12
registry/schemas/AvatarGroup.schema.json
Normal file
12
registry/schemas/AvatarGroup.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
7
registry/schemas/BentoGlobe.schema.json
Normal file
7
registry/schemas/BentoGlobe.schema.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "BentoGlobe",
|
||||
"propsSchema": {
|
||||
"className?": "string",
|
||||
"config?": "COBEOptions - Custom globe configuration (see COBE docs)"
|
||||
}
|
||||
}
|
||||
42
registry/schemas/BlogCardOne.schema.json
Normal file
42
registry/schemas/BlogCardOne.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/BlogCardThree.schema.json
Normal file
39
registry/schemas/BlogCardThree.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/BlogCardTwo.schema.json
Normal file
39
registry/schemas/BlogCardTwo.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
6
registry/schemas/BlurBottomBackground.schema.json
Normal file
6
registry/schemas/BlurBottomBackground.schema.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "BlurBottomBackground",
|
||||
"propsSchema": {
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonBounceEffect.schema.json
Normal file
15
registry/schemas/ButtonBounceEffect.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
16
registry/schemas/ButtonDirectionalHover.schema.json
Normal file
16
registry/schemas/ButtonDirectionalHover.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
14
registry/schemas/ButtonElasticEffect.schema.json
Normal file
14
registry/schemas/ButtonElasticEffect.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
16
registry/schemas/ButtonExpandHover.schema.json
Normal file
16
registry/schemas/ButtonExpandHover.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
16
registry/schemas/ButtonHoverBubble.schema.json
Normal file
16
registry/schemas/ButtonHoverBubble.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonHoverMagnetic.schema.json
Normal file
15
registry/schemas/ButtonHoverMagnetic.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonIconArrow.schema.json
Normal file
15
registry/schemas/ButtonIconArrow.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonShiftHover.schema.json
Normal file
15
registry/schemas/ButtonShiftHover.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonTextShift.schema.json
Normal file
15
registry/schemas/ButtonTextShift.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
15
registry/schemas/ButtonTextStagger.schema.json
Normal file
15
registry/schemas/ButtonTextStagger.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
13
registry/schemas/ButtonTextUnderline.schema.json
Normal file
13
registry/schemas/ButtonTextUnderline.schema.json
Normal 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')"
|
||||
}
|
||||
}
|
||||
33
registry/schemas/CardStack.schema.json
Normal file
33
registry/schemas/CardStack.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
7
registry/schemas/CircleGradientBackground.schema.json
Normal file
7
registry/schemas/CircleGradientBackground.schema.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "CircleGradientBackground",
|
||||
"propsSchema": {
|
||||
"diagonal?": "'primary' | 'secondary' (default: 'primary')",
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
27
registry/schemas/ContactCenter.schema.json
Normal file
27
registry/schemas/ContactCenter.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
31
registry/schemas/ContactFaq.schema.json
Normal file
31
registry/schemas/ContactFaq.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
25
registry/schemas/ContactForm.schema.json
Normal file
25
registry/schemas/ContactForm.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
35
registry/schemas/ContactSplit.schema.json
Normal file
35
registry/schemas/ContactSplit.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
28
registry/schemas/ContactSplitForm.schema.json
Normal file
28
registry/schemas/ContactSplitForm.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
16
registry/schemas/ContactText.schema.json
Normal file
16
registry/schemas/ContactText.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
8
registry/schemas/DotGridBackground.schema.json
Normal file
8
registry/schemas/DotGridBackground.schema.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "DotGridBackground",
|
||||
"propsSchema": {
|
||||
"size?": "'small' | 'medium' | 'large' (default: 'medium')",
|
||||
"perspectiveThreeD?": "boolean (default: false)",
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
9
registry/schemas/DownwardRaysBackground.schema.json
Normal file
9
registry/schemas/DownwardRaysBackground.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
12
registry/schemas/EmailSignupForm.schema.json
Normal file
12
registry/schemas/EmailSignupForm.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
35
registry/schemas/FaqBase.schema.json
Normal file
35
registry/schemas/FaqBase.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/FaqDouble.schema.json
Normal file
34
registry/schemas/FaqDouble.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
43
registry/schemas/FaqSplitMedia.schema.json
Normal file
43
registry/schemas/FaqSplitMedia.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
30
registry/schemas/FaqSplitText.schema.json
Normal file
30
registry/schemas/FaqSplitText.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/FeatureCardEight.schema.json
Normal file
34
registry/schemas/FeatureCardEight.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
42
registry/schemas/FeatureCardMedia.schema.json
Normal file
42
registry/schemas/FeatureCardMedia.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
38
registry/schemas/FeatureCardNine.schema.json
Normal file
38
registry/schemas/FeatureCardNine.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/FeatureCardNineteen.schema.json
Normal file
34
registry/schemas/FeatureCardNineteen.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/FeatureCardOne.schema.json
Normal file
39
registry/schemas/FeatureCardOne.schema.json
Normal 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'"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/FeatureCardSeven.schema.json
Normal file
34
registry/schemas/FeatureCardSeven.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
32
registry/schemas/FeatureCardSix.schema.json
Normal file
32
registry/schemas/FeatureCardSix.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/FeatureCardSixteen.schema.json
Normal file
34
registry/schemas/FeatureCardSixteen.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
37
registry/schemas/FeatureCardThree.schema.json
Normal file
37
registry/schemas/FeatureCardThree.schema.json
Normal 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'"
|
||||
}
|
||||
}
|
||||
35
registry/schemas/FeatureCardTwelve.schema.json
Normal file
35
registry/schemas/FeatureCardTwelve.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/FeatureCardTwentyOne.schema.json
Normal file
39
registry/schemas/FeatureCardTwentyOne.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
32
registry/schemas/FeatureProcessSteps.schema.json
Normal file
32
registry/schemas/FeatureProcessSteps.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
6
registry/schemas/FloatingGradientBackground.schema.json
Normal file
6
registry/schemas/FloatingGradientBackground.schema.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "FloatingGradientBackground",
|
||||
"propsSchema": {
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
6
registry/schemas/FluidBackground.schema.json
Normal file
6
registry/schemas/FluidBackground.schema.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "FluidBackground",
|
||||
"propsSchema": {
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
20
registry/schemas/FooterBase.schema.json
Normal file
20
registry/schemas/FooterBase.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
21
registry/schemas/FooterBaseCard.schema.json
Normal file
21
registry/schemas/FooterBaseCard.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
21
registry/schemas/FooterBaseReveal.schema.json
Normal file
21
registry/schemas/FooterBaseReveal.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
19
registry/schemas/FooterCard.schema.json
Normal file
19
registry/schemas/FooterCard.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
16
registry/schemas/FooterLogoEmphasis.schema.json
Normal file
16
registry/schemas/FooterLogoEmphasis.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
12
registry/schemas/FooterLogoReveal.schema.json
Normal file
12
registry/schemas/FooterLogoReveal.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
26
registry/schemas/FooterMedia.schema.json
Normal file
26
registry/schemas/FooterMedia.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
19
registry/schemas/FooterSimple.schema.json
Normal file
19
registry/schemas/FooterSimple.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
11
registry/schemas/GradientBarsBackground.schema.json
Normal file
11
registry/schemas/GradientBarsBackground.schema.json
Normal 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%')"
|
||||
}
|
||||
}
|
||||
8
registry/schemas/GridBackround.schema.json
Normal file
8
registry/schemas/GridBackround.schema.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "GridBackround",
|
||||
"propsSchema": {
|
||||
"size?": "'small' | 'medium' | 'large' (default: 'medium')",
|
||||
"perspectiveThreeD?": "boolean (default: false)",
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
27
registry/schemas/HeroBillboard.schema.json
Normal file
27
registry/schemas/HeroBillboard.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
23
registry/schemas/HeroBillboardCarousel.schema.json
Normal file
23
registry/schemas/HeroBillboardCarousel.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
24
registry/schemas/HeroBillboardGallery.schema.json
Normal file
24
registry/schemas/HeroBillboardGallery.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
25
registry/schemas/HeroBillboardRotatedCarousel.schema.json
Normal file
25
registry/schemas/HeroBillboardRotatedCarousel.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
28
registry/schemas/HeroBillboardScroll.schema.json
Normal file
28
registry/schemas/HeroBillboardScroll.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
27
registry/schemas/HeroCarouselLogo.schema.json
Normal file
27
registry/schemas/HeroCarouselLogo.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
28
registry/schemas/HeroLogo.schema.json
Normal file
28
registry/schemas/HeroLogo.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
24
registry/schemas/HeroLogoBillboard.schema.json
Normal file
24
registry/schemas/HeroLogoBillboard.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
29
registry/schemas/HeroLogoBillboardSplit.schema.json
Normal file
29
registry/schemas/HeroLogoBillboardSplit.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
31
registry/schemas/HeroOverlay.schema.json
Normal file
31
registry/schemas/HeroOverlay.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
32
registry/schemas/HeroSplit.schema.json
Normal file
32
registry/schemas/HeroSplit.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
36
registry/schemas/HeroSplitKpi.schema.json
Normal file
36
registry/schemas/HeroSplitKpi.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
17
registry/schemas/InlineImageSplitTextAbout.schema.json
Normal file
17
registry/schemas/InlineImageSplitTextAbout.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
13
registry/schemas/Input.schema.json
Normal file
13
registry/schemas/Input.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
26
registry/schemas/MediaAbout.schema.json
Normal file
26
registry/schemas/MediaAbout.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
27
registry/schemas/MediaSplitTabsAbout.schema.json
Normal file
27
registry/schemas/MediaSplitTabsAbout.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
34
registry/schemas/MetricCardEleven.schema.json
Normal file
34
registry/schemas/MetricCardEleven.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
18
registry/schemas/MetricCardFourteen.schema.json
Normal file
18
registry/schemas/MetricCardFourteen.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/MetricCardOne.schema.json
Normal file
39
registry/schemas/MetricCardOne.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
37
registry/schemas/MetricCardSeven.schema.json
Normal file
37
registry/schemas/MetricCardSeven.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/MetricCardTen.schema.json
Normal file
40
registry/schemas/MetricCardTen.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
37
registry/schemas/MetricCardThree.schema.json
Normal file
37
registry/schemas/MetricCardThree.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
36
registry/schemas/MetricCardTwo.schema.json
Normal file
36
registry/schemas/MetricCardTwo.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
31
registry/schemas/MetricSplitMediaAbout.schema.json
Normal file
31
registry/schemas/MetricSplitMediaAbout.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
12
registry/schemas/NavbarLayoutFloatingInline.schema.json
Normal file
12
registry/schemas/NavbarLayoutFloatingInline.schema.json
Normal 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: '')"
|
||||
}
|
||||
}
|
||||
11
registry/schemas/NavbarLayoutFloatingOverlay.schema.json
Normal file
11
registry/schemas/NavbarLayoutFloatingOverlay.schema.json
Normal 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: '')"
|
||||
}
|
||||
}
|
||||
7
registry/schemas/NavbarStyleApple.schema.json
Normal file
7
registry/schemas/NavbarStyleApple.schema.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "NavbarStyleApple",
|
||||
"propsSchema": {
|
||||
"navItems": "Array<{name: string, id: string}>",
|
||||
"brandName?": "string (default: 'Webild')"
|
||||
}
|
||||
}
|
||||
9
registry/schemas/NavbarStyleCentered.schema.json
Normal file
9
registry/schemas/NavbarStyleCentered.schema.json
Normal 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: '')"
|
||||
}
|
||||
}
|
||||
10
registry/schemas/NavbarStyleFullscreen.schema.json
Normal file
10
registry/schemas/NavbarStyleFullscreen.schema.json
Normal 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: '')"
|
||||
}
|
||||
}
|
||||
6
registry/schemas/PlainBackground.schema.json
Normal file
6
registry/schemas/PlainBackground.schema.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "PlainBackground",
|
||||
"propsSchema": {
|
||||
"className?": "string"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/PricingCardEight.schema.json
Normal file
40
registry/schemas/PricingCardEight.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/PricingCardFive.schema.json
Normal file
40
registry/schemas/PricingCardFive.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/PricingCardNine.schema.json
Normal file
39
registry/schemas/PricingCardNine.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
38
registry/schemas/PricingCardOne.schema.json
Normal file
38
registry/schemas/PricingCardOne.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/PricingCardThree.schema.json
Normal file
40
registry/schemas/PricingCardThree.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/PricingCardTwo.schema.json
Normal file
40
registry/schemas/PricingCardTwo.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
39
registry/schemas/ProductCardFour.schema.json
Normal file
39
registry/schemas/ProductCardFour.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
37
registry/schemas/ProductCardOne.schema.json
Normal file
37
registry/schemas/ProductCardOne.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
37
registry/schemas/ProductCardThree.schema.json
Normal file
37
registry/schemas/ProductCardThree.schema.json
Normal 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"
|
||||
}
|
||||
}
|
||||
40
registry/schemas/ProductCardTwo.schema.json
Normal file
40
registry/schemas/ProductCardTwo.schema.json
Normal 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
Reference in New Issue
Block a user