{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "shimmer-sweep", "title": "Shimmer Sweep", "description": "Light shine sweeps across muted text via background-clip:text.", "dependencies": [ "remotion" ], "files": [ { "path": "registry/remocn/shimmer-sweep/index.tsx", "content": "\"use client\";\n\nimport { interpolate, useCurrentFrame, useVideoConfig } from \"remotion\";\n\nexport interface ShimmerSweepProps {\n text: string;\n baseColor?: string;\n shineColor?: string;\n fontSize?: number;\n fontWeight?: number;\n speed?: number;\n className?: string;\n}\n\nexport function ShimmerSweep({\n text,\n baseColor = \"#3f3f46\",\n shineColor = \"#fafafa\",\n fontSize = 96,\n fontWeight = 700,\n speed = 1,\n className,\n}: ShimmerSweepProps) {\n const frame = useCurrentFrame() * speed;\n const { durationInFrames } = useVideoConfig();\n\n const position = interpolate(\n frame,\n [0, durationInFrames * 0.8],\n [200, -100],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n\n const textStyle: React.CSSProperties = {\n fontSize,\n fontWeight,\n letterSpacing: \"-0.03em\",\n fontFamily:\n \"var(--font-geist-sans), -apple-system, BlinkMacSystemFont, sans-serif\",\n margin: 0,\n lineHeight: 1,\n };\n\n return (\n