{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "animated-card-stack-shadcnui", "type": "registry:component", "title": "Animated Card Stack", "description": "Stacked cards that expand on hover", "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/components/cards/shadcnui/animated-card-stack.tsx", "content": "\"use client\";\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\";\nimport { motion, useReducedMotion } from \"framer-motion\";\n\nconst cards = [\n { title: \"Card 1\", description: \"First card\" },\n { title: \"Card 2\", description: \"Second card\" },\n { title: \"Card 3\", description: \"Third card\" },\n];\n\nexport function AnimatedCardStack() {\n const shouldReduceMotion = useReducedMotion();\n\n return (\n
\n
\n \n \n
\n {cards.map((card, index) => {\n const baseScale = 1 - index * 0.04;\n const baseOffset = index * 18;\n const hoverMotion = shouldReduceMotion\n ? undefined\n : { scale: baseScale + 0.06, y: -20 };\n return (\n \n \n \n \n {card.title}\n \n \n {card.description}\n \n \n \n

\n Hover or focus to surface this panel and bring it to the\n front.\n

\n
\n
\n \n );\n })}\n
\n );\n}\n", "type": "registry:component", "target": "components/uitripled/animated-card-stack-shadcnui.tsx" } ] }