{ "name": "shimmer-button", "type": "registry:ui", "dependencies": [], "registryDependencies": [], "description": "A button with a shimmering light effect.", "files": [ { "path": "components/ui/shimmer-button.tsx", "content": "\"use client\"\n\nimport React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface ShimmerButtonProps\n extends React.ButtonHTMLAttributes {\n shimmerColor?: string\n shimmerSize?: string\n borderRadius?: string\n shimmerDuration?: string\n background?: string\n className?: string\n children?: React.ReactNode\n}\n\nconst ShimmerButton = React.forwardRef(\n (\n {\n shimmerColor = \"#ffffff\",\n shimmerSize = \"0.05em\",\n shimmerDuration = \"3s\",\n borderRadius = \"100px\",\n background = \"rgba(0, 0, 0, 1)\",\n className,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n \n {/* spark container */}\n \n {/* spark */}\n
\n {/* spark before */}\n
\n
\n
\n {children}\n\n {/* Highlight */}\n \n\n {/* backdrop */}\n \n \n )\n },\n)\n\nShimmerButton.displayName = \"ShimmerButton\"\n\nexport { ShimmerButton }\n", "type": "registry:ui" } ], "tailwind": { "config": { "theme": { "extend": { "animation": { "shimmer-slide": "shimmer-slide var(--speed) ease-in-out infinite alternate", "spin-around": "spin-around calc(var(--speed) * 2) infinite linear" }, "keyframes": { "shimmer-slide": { "to": { "transform": "translate(calc(100cqw - 100%), 0)" } }, "spin-around": { "0%": { "transform": "translateZ(0) rotate(0)" }, "15%, 35%": { "transform": "translateZ(0) rotate(90deg)" }, "65%, 85%": { "transform": "translateZ(0) rotate(270deg)" }, "100%": { "transform": "translateZ(0) rotate(360deg)" } } } } } } } }