{"version":3,"file":"components\\ui\\gradient-text.cjs","sources":["webpack://@arolariu/components/./src/components/ui/gradient-text.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface GradientTextProps extends React.HTMLAttributes<HTMLSpanElement> {\n  text: string;\n  gradient?: string;\n  neon?: boolean;\n  transition?: Transition;\n}\n\nconst GradientText = React.forwardRef<HTMLSpanElement, GradientTextProps>(\n  (\n    {\n      text,\n      className,\n      gradient = \"linear-gradient(90deg, #3b82f6 0%, #a855f7 20%, #ec4899 50%, #a855f7 80%, #3b82f6 100%)\",\n      neon = false,\n      transition = { duration: 50, repeat: Infinity, ease: \"linear\" },\n      ...props\n    },\n    ref\n  ) => {\n    const baseStyle: React.CSSProperties = {\n      backgroundImage: gradient,\n    };\n\n    return (\n      <span\n        ref={ref}\n        className={cn(\"relative inline-block\", className)}\n        {...props}\n      >\n        <motion.span\n          className=\"m-0 text-transparent bg-clip-text bg-[length:700%_100%] bg-[position:0%_0%]\"\n          style={baseStyle}\n          initial={{ backgroundPosition: \"0% 0%\" }}\n          animate={{ backgroundPosition: \"500% 100%\" }}\n          transition={transition}\n        >\n          {text}\n        </motion.span>\n\n        {neon && (\n          <motion.span\n            className=\"m-0 absolute top-0 left-0 text-transparent bg-clip-text blur-[8px] mix-blend-plus-lighter bg-[length:700%_100%] bg-[position:0%_0%]\"\n            style={baseStyle}\n            initial={{ backgroundPosition: \"0% 0%\" }}\n            animate={{ backgroundPosition: \"500% 100%\" }}\n            transition={transition}\n          >\n            {text}\n          </motion.span>\n        )}\n      </span>\n    );\n  }\n);\n\nGradientText.displayName = \"GradientText\";\n\nexport { GradientText, type GradientTextProps };\n"],"names":["GradientText","React","text","className","gradient","neon","transition","Infinity","props","ref","baseStyle","cn","motion"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAMA,eAAe,WAAfA,GAAeC,+BAAAA,UAAgB,CACnC,CACE,EACEC,IAAI,EACJC,SAAS,EACTC,WAAW,yFAAyF,EACpGC,OAAO,KAAK,EACZC,aAAa;IAAE,UAAU;IAAI,QAAQC;IAAU,MAAM;AAAS,CAAC,EAC/D,GAAGC,OACJ,EACDC;IAEA,MAAMC,YAAiC;QACrC,iBAAiBN;IACnB;IAEA,OACE,WADF,GACE,sCAAC;QACC,KAAKK;QACL,WAAWE,IAAAA,0BAAAA,EAAAA,EAAG,yBAAyBR;QACtC,GAAGK,KAAK;;0BAET,qCAACI,sBAAAA,MAAAA,CAAAA,IAAW;gBACV,WAAU;gBACV,OAAOF;gBACP,SAAS;oBAAE,oBAAoB;gBAAQ;gBACvC,SAAS;oBAAE,oBAAoB;gBAAY;gBAC3C,YAAYJ;0BAEXJ;;YAGFG,QACC,WADDA,GACC,qCAACO,sBAAAA,MAAAA,CAAAA,IAAW;gBACV,WAAU;gBACV,OAAOF;gBACP,SAAS;oBAAE,oBAAoB;gBAAQ;gBACvC,SAAS;oBAAE,oBAAoB;gBAAY;gBAC3C,YAAYJ;0BAEXJ;;;;AAKX;AAGFF,aAAa,WAAW,GAAG"}