From cbff92d92a09df89712e7715a01bb842f8e65786 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 17 Apr 2026 21:18:52 +0000 Subject: [PATCH] Switch to version 2: added registry/components/TeamCardTen.json --- registry/components/TeamCardTen.json | 85 ++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 registry/components/TeamCardTen.json diff --git a/registry/components/TeamCardTen.json b/registry/components/TeamCardTen.json new file mode 100644 index 0000000..22feff8 --- /dev/null +++ b/registry/components/TeamCardTen.json @@ -0,0 +1,85 @@ +{ + "name": "TeamCardTen", + "description": "Team section with animated title at top, Tag label, and member cards with images and names.", + "details": "Use for team sections with a prominent animated title. Layout: TextAnimation title at top → Below: Tag component on left, member grid on right. Each member has: Portrait image (3:3.5 aspect ratio) → Name below. Two variants available: 'default' shows members without card styling, 'card' wraps each member in card with rounded corners. Grid is 1 column for single member, 2 columns for 2+ members. Supports image or video for each member via MediaContent. Does not use CardStack - standalone section component.", + "constraints": { + "textRules": { + "title": { + "required": true, + "example": "Growing fast means tough calls. We help you turn pricing from doubt into conviction.", + "minChars": 20, + "maxChars": 300 + }, + "tag": { + "required": true, + "example": "Team", + "minChars": 2, + "maxChars": 30 + } + }, + "memberRules": { + "id": { + "required": true, + "example": "1", + "minChars": 1, + "maxChars": 20 + }, + "name": { + "required": true, + "example": "Johan van der Poel", + "minChars": 2, + "maxChars": 50 + }, + "imageSrc": { + "required": false, + "example": "/team/johan.jpg", + "note": "Portrait image (3:3.5 aspect ratio) Either imageSrc or videoSrc should be provided. Image is recommended if no videoSrc." + }, + "videoSrc": { + "required": false, + "example": "/team/johan.mp4", + "note": "Video alternative to image" + } + }, + "itemRules": { + "minItems": 1, + "maxItems": 6, + "recommendedItems": "2-4" + } + }, + "propsSchema": { + "title": "string", + "tag": "string", + "tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", + "membersAnimation": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", + "members": "Array<{ id: string, name: string, imageSrc?: string, imageAlt?: string, videoSrc?: string, videoAriaLabel?: string }>", + "memberVariant": "'default' | 'card' (required - 'default': no card styling, 'card': each member wrapped in card with rounded corners)", + "useInvertedBackground": "boolean", + "ariaLabel?": "string (default: 'Team section')", + "className?": "string", + "containerClassName?": "string", + "titleClassName?": "string", + "tagClassName?": "string", + "membersContainerClassName?": "string", + "memberClassName?": "string", + "mediaWrapperClassName?": "string", + "mediaClassName?": "string", + "nameClassName?": "string" + }, + "usageExample": "", + "do": [ + "Use for team pages", + "Use for staff directories", + "Requires members[]" + ], + "dont": [ + "Do not use multiple items", + "Do not use more than 4 items", + "Do not use more than 6 items" + ], + "editRules": { + "textOnly": true, + "layoutLocked": true, + "styleLocked": true + } +}