{"version":3,"file":"UnderlineTextAnimation.D2jV1pPp.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/V7sAUF9QjZZr86xax683/wBpubVDSwG8hRH8bUcPl/UnderlineTextAnimation.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";const easingOptions=[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\"];const easingOptionTitles=[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In Out\"];const easingFunctions={linear:[0,0,1,1],easeIn:[.42,0,1,1],easeOut:[0,0,.58,1],easeInOut:[.42,0,.58,1]};function getEasingFunction(easing){return easingFunctions[easing];}/**\n * Underline Motion\n *\n * Animated underline effect that expands from center on hover\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function UnderlineMotion(props){const{text=\"Hover me\",textColor=\"#000000\",underlineColor=\"#000000\",font,duration=.25,easing=\"easeInOut\",underlineHeightRatio=.1,underlinePaddingRatio=.01,animationStyle=\"center\",direction=\"right\",style}=props;const underlineVariants=useMemo(()=>{const easingFunction=getEasingFunction(easing);const transition={scaleX:{duration,ease:easingFunction},originX:{duration:0}};if(animationStyle===\"center\"){return{rest:{scaleX:0,originX:.5,transition},hover:{scaleX:1,originX:.5,transition}};}if(animationStyle===\"comesInGoesOut\"){const enterOrigin=direction===\"right\"?0:1;const exitOrigin=direction===\"right\"?1:0;return{rest:{scaleX:0,originX:exitOrigin,transition},hover:{scaleX:1,originX:enterOrigin,transition}};}const outOrigin=direction===\"right\"?1:0;const inOrigin=direction===\"right\"?0:1;return{rest:{scaleX:1,originX:inOrigin,transition},hover:{scaleX:0,originX:outOrigin,transition}};},[duration,easing,animationStyle,direction]);const underlineStyle=useMemo(()=>({position:\"absolute\",display:\"block\",left:0,right:0,width:\"100%\",height:`${underlineHeightRatio}em`,bottom:`-${underlinePaddingRatio}em`,backgroundColor:underlineColor,pointerEvents:\"none\"}),[underlineColor,underlineHeightRatio,underlinePaddingRatio]);return /*#__PURE__*/_jsxs(motion.span,{style:{position:\"relative\",display:\"inline-block\",cursor:\"pointer\",color:textColor,width:\"max-content\",...font,...style},initial:\"rest\",animate:\"rest\",whileHover:\"hover\",children:[/*#__PURE__*/_jsx(\"span\",{children:text}),/*#__PURE__*/_jsx(motion.span,{style:underlineStyle,variants:underlineVariants,\"aria-hidden\":\"true\"})]});}UnderlineMotion.defaultProps={text:\"Hover me\",textColor:\"#000000\",underlineColor:\"#000000\",font:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\"},duration:.25,easing:\"easeInOut\",underlineHeightRatio:.1,underlinePaddingRatio:.01,animationStyle:\"center\",direction:\"right\"};addPropertyControls(UnderlineMotion,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Hover me\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},underlineColor:{type:ControlType.Color,title:\"Underline Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\"}},animationStyle:{type:ControlType.Enum,title:\"Animation\",options:[\"center\",\"comesInGoesOut\",\"goesOutComesIn\"],optionTitles:[\"Center\",\"Comes In Goes Out\",\"Goes Out Comes In\"],defaultValue:\"center\",displaySegmentedControl:false},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"right\",displaySegmentedControl:true,hidden:props=>props.animationStyle===\"center\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.25,min:.1,max:2,step:.05,unit:\"s\",displayStepper:true},easing:{type:ControlType.Enum,title:\"Easing\",options:easingOptions,optionTitles:easingOptionTitles,defaultValue:\"easeInOut\",displaySegmentedControl:false},underlineHeightRatio:{type:ControlType.Number,title:\"Height Ratio\",defaultValue:.1,min:.01,max:.5,step:.01,displayStepper:true},underlinePaddingRatio:{type:ControlType.Number,title:\"Padding Ratio\",defaultValue:.01,min:0,max:.2,step:.01,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UnderlineMotion\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnderlineTextAnimation.map"],"mappings":"kOAAuZ,SAAS,EAAkB,EAAO,CAAC,OAAO,EAAgB,EAAQ,CAOtd,SAAwB,EAAgB,EAAM,CAAC,GAAK,CAAC,OAAK,WAAW,YAAU,UAAU,iBAAe,UAAU,OAAK,WAAS,IAAI,SAAO,YAAY,uBAAqB,GAAG,wBAAsB,IAAI,iBAAe,SAAS,YAAU,QAAQ,SAAO,EAAY,EAAkBA,MAAY,CAAC,IAAM,EAAe,EAAkB,CAAM,EAAQ,EAAW,CAAC,OAAO,CAAC,WAAS,KAAK,CAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAqa,OAAha,IAAiB,SAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAU,CAAC,EAAM,IAAiB,iBAA2G,CAAC,KAAK,CAAC,OAAO,EAAE,QAA9C,MAAY,SAAqD,YAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAtI,IAAY,QAAQ,EAAE,EAAoI,YAAU,CAAC,EAAwF,CAAC,KAAK,CAAC,OAAO,EAAE,QAA9C,IAAY,QAAQ,EAAE,EAAyC,YAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAlI,MAAY,SAAwI,YAAU,CAAC,CAAE,EAAE,CAAC,EAAS,EAAO,EAAe,CAAS,CAAC,EAAQ,EAAeA,OAAa,CAAC,SAAS,WAAW,QAAQ,QAAQ,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,OAAO,GAAG,EAAqB,IAAI,OAAO,IAAI,EAAsB,IAAI,gBAAgB,EAAe,cAAc,MAAM,GAAG,CAAC,EAAe,EAAqB,CAAqB,CAAC,EAAE,OAAoB,EAAM,EAAO,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,QAAQ,eAAe,OAAO,UAAU,MAAM,EAAU,MAAM,cAAc,GAAG,EAAK,GAAG,CAAK,EAAE,QAAQ,OAAO,QAAQ,OAAO,WAAW,QAAQ,SAAS,CAAc,EAAK,OAAO,CAAC,SAAS,CAAI,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,MAAM,EAAe,SAAS,EAAkB,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,uBAP5iD,IAA2B,IAAkC,IAAoD,EAAO,EAAc,CAAC,SAAS,SAAS,UAAU,WAAW,EAAQ,EAAmB,CAAC,SAAS,UAAU,WAAW,aAAa,EAAQ,EAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAOgtC,EAAgB,aAAa,CAAC,KAAK,WAAW,UAAU,UAAU,eAAe,UAAU,KAAK,CAAC,SAAS,OAAO,QAAQ,WAAW,cAAc,UAAU,WAAW,KAAK,EAAE,SAAS,IAAI,OAAO,YAAY,qBAAqB,GAAG,sBAAsB,IAAI,eAAe,SAAS,UAAU,OAAO,EAAE,EAAoB,EAAgB,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,UAAU,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAkB,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,WAAW,cAAc,UAAU,WAAW,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,SAAS,iBAAiB,gBAAgB,EAAE,aAAa,CAAC,SAAS,oBAAoB,mBAAmB,EAAE,aAAa,SAAS,wBAAwB,EAAK,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,OAAO,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,aAAa,QAAQ,wBAAwB,GAAK,OAAO,GAAO,EAAM,iBAAiB,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,eAAe,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,EAAc,aAAa,EAAmB,aAAa,YAAY,wBAAwB,EAAK,EAAE,qBAAqB,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,eAAe,EAAI,EAAE,sBAAsB,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,eAAe,EAAI,CAAC,CAAC"}