{"version":3,"file":"AnimatedTextButton.78Fbjnr3.mjs","names":["useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/ZJdlK1gVihKXHWHtKWch/4w7sxZwDXuyclOsaXnXq/AnimatedTextButton.js"],"sourcesContent":["// Animated Text Button with Directional Underline\n// Goal: Reusable text button where on desktop hover the underline animates left → right and exits, and on mobile the underline is always visible with no animation.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,// Removed unused PropertyControls import\nuseIsStaticRenderer}from\"framer\";import{useState,useEffect,useMemo,useCallback,startTransition}from\"react\";import{motion}from\"framer-motion\";/**\n * AnimatedTextButton\n *\n * Text button with directional underline animation on desktop hover.\n *\n * @framerIntrinsicWidth 160\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function AnimatedTextButton(props){const{label,textColor,underlineColor,underlineThickness,underlineOffset,hoverDuration,font,style,onClick,iconEnabled,iconText,iconHoverShift,iconPosition,iconVerticalOffset,easing,deviceMode=\"auto\",link,// ... existing code ...\neasingType=\"preset\",easingBezierP1x=.25,easingBezierP1y=.1,easingBezierP2x=.25,easingBezierP2y=1}=props;const isStatic=useIsStaticRenderer();const[supportsHover,setSupportsHover]=useState(true);const[isHovering,setIsHovering]=useState(false);const[runId,setRunId]=useState(0);const[isLeaving,setIsLeaving]=useState(false);// Compute easing value, supporting presets or custom bezier\nconst easingValue=useMemo(()=>{if(easingType===\"customBezier\"){return[easingBezierP1x,easingBezierP1y,easingBezierP2x,easingBezierP2y];}return easing||\"linear\";},[easingType,easing,easingBezierP1x,easingBezierP1y,easingBezierP2x,easingBezierP2y]);// Detect if device supports hover (desktop-like)\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(isStatic)return;if(deviceMode!==\"auto\")return;const mq=window.matchMedia(\"(hover: hover) and (pointer: fine)\");const update=()=>{const value=mq.matches;startTransition(()=>setSupportsHover(value));};update();if(typeof mq.addEventListener===\"function\"){mq.addEventListener(\"change\",update);}else if(typeof mq.addListener===\"function\"){// Fallback for older browsers\nmq.addListener(update);}return()=>{if(typeof mq.removeEventListener===\"function\"){mq.removeEventListener(\"change\",update);}else if(typeof mq.removeListener===\"function\"){mq.removeListener(update);}};},[deviceMode,isStatic]);const isDesktopLike=useMemo(()=>{if(deviceMode===\"desktop\")return true;if(deviceMode===\"mobile\")return false;return supportsHover;},[deviceMode,supportsHover]);const handleMouseEnter=useCallback(e=>{if(!isDesktopLike||isStatic)return;startTransition(()=>{setIsHovering(true);setIsLeaving(false);setRunId(prev=>prev+1);});},[isDesktopLike,isStatic]);const handleMouseLeave=useCallback(e=>{if(!isDesktopLike||isStatic)return;startTransition(()=>{setIsHovering(false);setIsLeaving(true);setRunId(prev=>prev+1);});},[isDesktopLike,isStatic]);const showUnderline=useMemo(()=>{if(!isDesktopLike)return true;return isHovering||isLeaving;},[isDesktopLike,isHovering,isLeaving]);const underlineInitial=useMemo(()=>{if(!isDesktopLike||isStatic)return{x:\"0%\"};if(isHovering)return{x:\"-100%\"};if(isLeaving)return{x:\"0%\"};return{x:\"-100%\"};},[isDesktopLike,isStatic,isHovering,isLeaving]);const underlineAnimate=useMemo(()=>{if(!isDesktopLike||isStatic)return{x:\"0%\"};if(!showUnderline)return{x:\"-100%\"};if(isHovering)return{x:\"0%\"};if(isLeaving)return{x:\"100%\"};return{x:\"-100%\"};},[isDesktopLike,isStatic,showUnderline,isHovering,isLeaving]);const underlineTransition=useMemo(()=>{if(!isDesktopLike||isStatic){return{duration:0};}return{duration:hoverDuration,ease:easingValue};},[isDesktopLike,isStatic,hoverDuration,easingValue]);const handleUnderlineComplete=useCallback(()=>{if(!isDesktopLike||isStatic)return;startTransition(()=>{if(isLeaving&&!isHovering){setIsLeaving(false);}});},[isDesktopLike,isStatic,isLeaving,isHovering]);const containerStyles=useMemo(()=>({position:\"relative\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"flex-start\",cursor:\"pointer\",background:\"transparent\",border:\"none\",padding:0,margin:0,outline:\"none\",color:textColor,...font,// Leave layout sizing to Framer frame\n    width:\"100%\",height:\"100%\",overflow:\"hidden\"}),[textColor,font]);const textWrapperStyles=useMemo(()=>({position:\"relative\",display:\"inline-block\",color:textColor,minWidth:\"max-content\",paddingBottom:underlineThickness+underlineOffset,overflow:\"hidden\"}),[textColor,underlineThickness,underlineOffset]);const iconStyles=useMemo(()=>({display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",marginRight:iconPosition===\"left\"?8:0,marginLeft:iconPosition===\"right\"?8:0}),[iconPosition]);const underlineStyles=useMemo(()=>({position:\"absolute\",left:0,bottom:0,width:\"100%\",height:underlineThickness,backgroundColor:underlineColor,pointerEvents:\"none\"}),[underlineColor,underlineThickness]);const handleClick=useCallback(()=>{if(onClick){onClick();}if(link&&typeof window!==\"undefined\"){window.location.href=link;}},[onClick,link]);return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",style:{...containerStyles,...style,position:\"relative\"},onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,\"aria-label\":label,children:[iconEnabled&&iconPosition===\"left\"&&(!isDesktopLike||isStatic?/*#__PURE__*/_jsx(\"span\",{style:{...iconStyles,transform:`translateY(${iconVerticalOffset}px)`},children:iconText}):/*#__PURE__*/_jsx(motion.span,{style:iconStyles,animate:isHovering?{x:iconHoverShift,y:iconVerticalOffset}:{x:0,y:iconVerticalOffset},transition:{duration:hoverDuration,ease:easingValue},children:iconText})),/*#__PURE__*/_jsxs(\"span\",{style:textWrapperStyles,children:[label,showUnderline&&(!isDesktopLike||isStatic?/*#__PURE__*/_jsx(\"div\",{style:underlineStyles}):/*#__PURE__*/_jsx(motion.div,{initial:underlineInitial,animate:underlineAnimate,transition:underlineTransition,style:underlineStyles,onAnimationComplete:handleUnderlineComplete},runId))]}),iconEnabled&&iconPosition===\"right\"&&(!isDesktopLike||isStatic?/*#__PURE__*/_jsx(\"span\",{style:{...iconStyles,transform:`translateY(${iconVerticalOffset}px)`},children:iconText}):/*#__PURE__*/_jsx(motion.span,{style:iconStyles,animate:isHovering?{x:iconHoverShift,y:iconVerticalOffset}:{x:0,y:iconVerticalOffset},transition:{duration:hoverDuration,ease:easingValue},children:iconText}))]});}// ... existing code ...\naddPropertyControls(AnimatedTextButton,{label:{type:ControlType.String,title:\"Text\",defaultValue:\"Learn more\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},underlineColor:{type:ControlType.Color,title:\"Underline\",defaultValue:\"#000000\"},underlineThickness:{type:ControlType.Number,title:\"Thickness\",defaultValue:2,min:1,max:8,unit:\"px\",step:1},underlineOffset:{type:ControlType.Number,title:\"Offset\",defaultValue:2,min:0,max:12,unit:\"px\",step:1},hoverDuration:{type:ControlType.Number,title:\"Duration\",defaultValue:.8,min:.2,max:2,step:.1,unit:\"s\"},easingType:{type:ControlType.Enum,title:\"Easing Type\",options:[\"preset\",\"customBezier\"],optionTitles:[\"Preset\",\"Custom Bezier\"],defaultValue:\"preset\"},easing:{type:ControlType.Enum,title:\"Preset Easing\",options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\",\"circOut\",\"theWelcome\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease InOut\",\"Circ Out\",\"The Welcome\"],defaultValue:\"linear\",hidden:props=>props.easingType===\"customBezier\"},easingBezierP1x:{type:ControlType.Number,title:\"P1.x\",defaultValue:.25,min:0,max:1,step:.01,hidden:props=>props.easingType!==\"customBezier\"},easingBezierP1y:{type:ControlType.Number,title:\"P1.y\",defaultValue:.1,min:0,max:1,step:.01,hidden:props=>props.easingType!==\"customBezier\"},easingBezierP2x:{type:ControlType.Number,title:\"P2.x\",defaultValue:.25,min:0,max:1,step:.01,hidden:props=>props.easingType!==\"customBezier\"},easingBezierP2y:{type:ControlType.Number,title:\"P2.y\",defaultValue:1,min:0,max:1,step:.01,hidden:props=>props.easingType!==\"customBezier\"},deviceMode:{type:ControlType.Enum,title:\"Mode\",options:[\"auto\",\"desktop\",\"mobile\"],optionTitles:[\"Auto\",\"Desktop\",\"Mobile\"],defaultValue:\"auto\"},iconEnabled:{type:ControlType.Boolean,title:\"Icon\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},iconText:{type:ControlType.String,title:\"Icon Text\",defaultValue:\"→\",hidden:props=>!props.iconEnabled},iconPosition:{type:ControlType.Enum,title:\"Icon Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"left\",hidden:props=>!props.iconEnabled},iconHoverShift:{type:ControlType.Number,title:\"Icon Shift\",defaultValue:6,min:0,max:24,step:1,unit:\"px\",hidden:props=>!props.iconEnabled},iconVerticalOffset:{type:ControlType.Number,title:\"Icon Y Offset\",defaultValue:0,min:-20,max:20,step:1,unit:\"px\",hidden:props=>!props.iconEnabled},link:{type:ControlType.Link,title:\"Link\",defaultValue:\"\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},onClick:{type:ControlType.EventHandler,title:\"On Click\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedTextButton\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"160\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedTextButton.map"],"mappings":"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"}