{"version":3,"file":"LinkLineVisible.DtasP1D_.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/RNy4k1kW4E9Gp7lE1X12/4lA8VwF3NdPAugLfsvoP/LinkLineVisible.js"],"sourcesContent":["// User instructions: Extend an existing Framer text button with an animated underline to include a right arrow icon.\n// Requirements: Arrow sits to the right with configurable gap, underline spans text + arrow, arrow animates in sync with underline on hover, behavior remains minimal and refined.\n/**\n * Link with animated underline and arrow\n *\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,startTransition}from\"react\";export default function ArrowUnderlineLink(props){const{linkText,textColor,lineColor,font,letterSpacing,underlineWeight,transition,arrowGap,arrowSize,style,lineGap}=props;const[hovered,setHovered]=useState(false);const duration=(transition&&transition.duration)!=null?transition.duration:.3;const easeValue=transition&&transition.ease?transition.ease:[.4,0,.2,1];const easeArray=Array.isArray(easeValue)?easeValue:[.4,0,.2,1];const easing=`cubic-bezier(${easeArray.join(\",\")})`;const handleMouseEnter=()=>{startTransition(()=>{setHovered(true);});};const handleMouseLeave=()=>{startTransition(()=>{setHovered(false);});};const isFixedWidth=style&&style.width===\"100%\";return /*#__PURE__*/_jsxs(\"div\",{className:\"link-line-visible-root\",style:{position:\"relative\",display:\"inline-block\",whiteSpace:\"nowrap\",minWidth:isFixedWidth?undefined:\"max-content\",...style},onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",paddingBottom:`${lineGap}px`,...font,color:textColor,letterSpacing:`${letterSpacing}px`},children:[/*#__PURE__*/_jsx(\"span\",{children:linkText}),/*#__PURE__*/_jsx(\"span\",{className:\"link-line-visible-arrow\",\"aria-hidden\":\"true\",style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",marginLeft:`${arrowGap}px`,transform:hovered?\"scaleX(0)\":\"scaleX(1)\",transformOrigin:hovered?\"right\":\"left\",transition:`transform ${duration}s ${easing}`},children:/*#__PURE__*/_jsxs(\"svg\",{width:arrowSize,height:arrowSize,viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M7 12H17\",stroke:textColor,strokeWidth:\"1.4\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M13.5 8.5L17 12L13.5 15.5\",stroke:textColor,strokeWidth:\"1.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"link-line-visible-underline\",style:{position:\"absolute\",bottom:0,left:0,right:0,height:`${underlineWeight}px`,backgroundColor:lineColor,transform:hovered?\"scaleX(0)\":\"scaleX(1)\",transformOrigin:hovered?\"right\":\"left\",transition:`transform ${duration}s ${easing}`}}),/*#__PURE__*/_jsx(\"style\",{children:`\n                .link-line-visible-root {\n                    overflow: hidden;\n                }\n            `})]});}addPropertyControls(ArrowUnderlineLink,{linkText:{type:ControlType.String,title:\"Content\",defaultValue:\"Explore rooms\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},lineColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"16px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-20,max:10,unit:\"px\"},underlineWeight:{type:ControlType.Number,title:\"Underline Weight\",defaultValue:1,min:1,max:10,unit:\"px\"},arrowGap:{type:ControlType.Number,title:\"Arrow Gap\",defaultValue:8,min:0,max:40,unit:\"px\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:14,min:8,max:32,unit:\"px\"},lineGap:{type:ControlType.Number,title:\"Line Gap\",defaultValue:2,min:0,max:20,unit:\"px\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{duration:.5,ease:[.25,.8,.5,1]}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArrowUnderlineLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LinkLineVisible.map"],"mappings":"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"}