{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "ai-loading-skeleton-shadcnui", "type": "registry:component", "title": "AI Loading Skeleton", "description": "Loading state with diagonal shimmer gradient and opacity wave", "registryDependencies": [ "button" ], "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/motion-core/ai-loading-skeleton.tsx", "content": "\"use client\";\n\nimport { motion } from \"framer-motion\";\n\ntype SkeletonItemProps = {\n width?: string;\n height?: string;\n className?: string;\n};\n\nfunction SkeletonItem({\n width = \"100%\",\n height = \"1rem\",\n className = \"\",\n}: SkeletonItemProps) {\n return (\n
\n \n
\n );\n}\n\ntype AILoadingSkeletonProps = {\n lines?: number;\n};\n\nexport function AILoadingSkeleton({ lines = 4 }: AILoadingSkeletonProps) {\n return (\n
\n {/* Avatar */}\n
\n \n
\n \n \n
\n
\n\n {/* Content lines */}\n
\n {Array.from({ length: lines }).map((_, index) => (\n \n \n \n ))}\n
\n\n {/* Actions */}\n
\n \n \n
\n
\n );\n}\n", "type": "registry:component", "target": "components/uitripled/ai-loading-skeleton-shadcnui.tsx" } ] }