diff --git a/registry/components/FeatureCardTwentyOne.json b/registry/components/FeatureCardTwentyOne.json deleted file mode 100644 index 93cc830..0000000 --- a/registry/components/FeatureCardTwentyOne.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "name": "FeatureCardTwentyOne", - "description": "Split layout with media on one side and TextBox with accordion items on the other.", - "details": "Use for feature sections that need expandable content areas. Layout: 50/50 split with image/video on one side and TextBox + accordion on the other. Media position configurable (left/right). First accordion item open by default. Accordion items have divider lines between them. Mobile: stacked vertically with centered text. Supports inverted backgrounds.", - "constraints": { - "textRules": { - "title": { - "required": true, - "example": "Custom designs", - "minChars": 2, - "maxChars": 60 - }, - "description": { - "required": true, - "example": "Explore our range of customizable solutions designed to meet your unique needs.", - "minChars": 10, - "maxChars": 300 - }, - "tag": { - "required": false, - "example": "Features", - "minChars": 2, - "maxChars": 30 - } - }, - "accordionRules": { - "id": { - "required": true, - "example": "1", - "note": "Unique identifier for each accordion item" - }, - "title": { - "required": true, - "example": "Inspiration + innovation", - "minChars": 2, - "maxChars": 60, - "note": "Accordion header text" - }, - "content": { - "required": true, - "example": "From custom colourways to bespoke elements built from the ground up.", - "minChars": 10, - "maxChars": 500, - "note": "Accordion expanded content (supports HTML)" - } - }, - "itemRules": { - "minItems": 2, - "maxItems": 6, - "recommendedItems": 3 - } - }, - "propsSchema": { - "title": "string", - "titleSegments?": "Array<{ type: 'text', content: string } | { type: 'image', src: string, alt?: string }> - For inline images in title", - "description": "string", - "tag?": "string", - "tagIcon?": "LucideIcon", - "tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", - "buttons?": "Array<{text: string, onClick?: () => void, href?: string}>", - "buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", - "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", - "mediaAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", - "useInvertedBackground": "boolean", - "mediaPosition?": "'left' | 'right' (default: 'left')", - "ariaLabel?": "string (default: 'Feature section')", - "className?": "string", - "containerClassName?": "string", - "mediaWrapperClassName?": "string", - "mediaClassName?": "string", - "contentClassName?": "string", - "textBoxClassName?": "string", - "titleClassName?": "string", - "descriptionClassName?": "string", - "tagClassName?": "string", - "buttonContainerClassName?": "string", - "buttonClassName?": "string", - "buttonTextClassName?": "string", - "titleImageWrapperClassName?": "string", - "titleImageClassName?": "string", - "accordionContainerClassName?": "string", - "accordionClassName?": "string", - "accordionTitleClassName?": "string", - "accordionContentClassName?": "string", - "accordionIconContainerClassName?": "string", - "accordionIconClassName?": "string" - }, - "usageExample": "", - "do": [ - "Use for feature showcases", - "Use for capability displays", - "Requires titleSegments?[]", - "Requires buttons?[]", - "Requires accordionItems[]" - ], - "dont": [ - "Do not use less than 2 items", - "Do not use more than 6 items" - ], - "editRules": { - "textOnly": true, - "layoutLocked": true, - "styleLocked": true - } -}