78 lines
2.9 KiB
JSON
78 lines
2.9 KiB
JSON
{
|
|
"name": "ContactSplit",
|
|
"description": "Split layout contact section with tag, animated title and description on one side, media content on the other, and email signup form.",
|
|
"constraints": {
|
|
"textRules": {
|
|
"tag": {
|
|
"required": true,
|
|
"example": "Newsletter",
|
|
"minChars": 2,
|
|
"maxChars": 20
|
|
},
|
|
"title": {
|
|
"required": true,
|
|
"example": "Medium length heading goes here",
|
|
"minChars": 4,
|
|
"maxChars": 50
|
|
},
|
|
"description": {
|
|
"required": true,
|
|
"example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.",
|
|
"minChars": 20,
|
|
"maxChars": 200
|
|
},
|
|
"inputPlaceholder": {
|
|
"required": false,
|
|
"default": "Enter your email",
|
|
"example": "Your email address",
|
|
"minChars": 5,
|
|
"maxChars": 30
|
|
},
|
|
"buttonText": {
|
|
"required": false,
|
|
"default": "Sign Up",
|
|
"example": "Subscribe",
|
|
"minChars": 2,
|
|
"maxChars": 15
|
|
},
|
|
"termsText": {
|
|
"required": false,
|
|
"default": "By clicking Sign Up you're confirming that you agree with our Terms and Conditions.",
|
|
"example": "We respect your privacy. Unsubscribe at any time.",
|
|
"minChars": 10,
|
|
"maxChars": 150
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"usageExample": "// Wrap in ThemeProvider\n<ThemeProvider defaultButtonVariant=\"text-stagger\" defaultTextAnimation=\"entrance-slide\" borderRadius=\"rounded\" background=\"aurora\" cardStyle=\"glass-elevated\" primaryButtonStyle=\"gradient\" secondaryButtonStyle=\"glass\">\n <ContactSplit tag=\"Newsletter\" title=\"Stay updated\" description=\"Subscribe to our newsletter for weekly updates and exclusive content.\" useInvertedBackground={\"noInvert\"} imageSrc=\"/placeholders/placeholder-16-9.svg\" onSubmit={(email) => console.log(email)} />\n</ThemeProvider>",
|
|
"do": [
|
|
"Use for feature showcases",
|
|
"Use for capability displays",
|
|
"Use for contact pages",
|
|
"Use for lead generation"
|
|
],
|
|
"dont": [],
|
|
"editRules": {
|
|
"textOnly": true,
|
|
"layoutLocked": true,
|
|
"styleLocked": true
|
|
}
|
|
} |