diff --git a/registry/schemas/CardStack.schema.json b/registry/schemas/CardStack.schema.json new file mode 100644 index 0000000..6fb29c3 --- /dev/null +++ b/registry/schemas/CardStack.schema.json @@ -0,0 +1,35 @@ +{ + "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' (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", + "tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", + "buttons?": "Array<{text: string, onClick?: () => void, href?: string}>", + "buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'", + "textboxLayout": "'default' | 'split' | 'split-actions' | 'split-description' | 'inline-image' (required - 'inline-image' uses titleSegments for rich text with images)", + "useInvertedBackground?": "boolean", + "ariaLabel?": "string (default: 'Card stack')", + "className?": "string", + "containerClassName?": "string", + "gridClassName?": "string", + "carouselClassName?": "string", + "controlsClassName?": "string", + "textBoxClassName?": "string", + "titleClassName?": "string", + "titleImageWrapperClassName?": "string", + "titleImageClassName?": "string", + "descriptionClassName?": "string", + "tagClassName?": "string", + "buttonContainerClassName?": "string", + "buttonClassName?": "string", + "buttonTextClassName?": "string" + } +} \ No newline at end of file