{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "liquid-metal", "type": "registry:ui", "dependencies": [ "@paper-design/shaders-react" ], "files": [ { "path": "components/ui/liquid-metal.tsx", "content": "\"use client\";\r\n\r\nimport React, { memo, forwardRef } from \"react\";\r\nimport { LiquidMetal as LiquidMetalShader } from \"@paper-design/shaders-react\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\n// ============================================================================\r\n// LiquidMetal - Base shader wrapper component\r\n// ============================================================================\r\n\r\nexport interface LiquidMetalProps {\r\n /** Base background color of the liquid metal */\r\n colorBack?: string;\r\n /** Tint/highlight color for the chrome effect */\r\n colorTint?: string;\r\n /** Animation speed (0.1 - 2.0 recommended) */\r\n speed?: number;\r\n /** Pattern complexity/repetition (1 - 10) */\r\n repetition?: number;\r\n /** Wave distortion amount (0 - 1) */\r\n distortion?: number;\r\n /** Texture scale */\r\n scale?: number;\r\n /** Additional CSS classes */\r\n className?: string;\r\n /** Inline styles */\r\n style?: React.CSSProperties;\r\n}\r\n\r\nexport const LiquidMetal = memo(function LiquidMetal({\r\n colorBack = \"#aaaaac\",\r\n colorTint = \"#ffffff\",\r\n speed = 0.5,\r\n repetition = 4,\r\n distortion = 0.1,\r\n scale = 1,\r\n className,\r\n style,\r\n}: LiquidMetalProps) {\r\n return (\r\n