{"version":3,"file":"RotatingTextButton.DGcPyVlG.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/3JY9w6fHVuxBIbnjBkRC/fqfXOWx8BQxwyUqOzb5y/RotatingTextButton.js"],"sourcesContent":["// RotatingTextButton with arrow that points northeast and rotates to east on hover\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{useState,useEffect,startTransition}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */function ArrowButton(props){const{text,variant,backgroundColor,textColor,hoverTextColor,hoverBackgroundColor,arrowColor,hoverArrowColor,borderColor,hoverBorderColor,borderRadius,paddingX,paddingY,font,borderWidth,arrowStrokeWidth,arrowSize,gap,link,openInNewTab,style}=props;const[hasAnimated,setHasAnimated]=useState(false);useEffect(()=>{if(variant===\"hover\"&&!hasAnimated){startTransition(()=>{setHasAnimated(true);});}},[variant,hasAnimated]);const characters=text.split(\"\");const isHoverVariant=variant===\"hover\";const displayBackgroundColor=isHoverVariant?\"#000000\":backgroundColor;const displayTextColor=isHoverVariant?\"#FFFFFF\":textColor;const displayArrowColor=isHoverVariant?\"#FFFFFF\":arrowColor;const displayBorderColor=isHoverVariant?\"#000000\":borderColor;const displayHoverBackgroundColor=isHoverVariant?\"#000000\":hoverBackgroundColor;const displayHoverTextColor=isHoverVariant?\"#FFFFFF\":hoverTextColor;const displayHoverArrowColor=isHoverVariant?\"#FFFFFF\":hoverArrowColor;const displayHoverBorderColor=isHoverVariant?\"#000000\":hoverBorderColor;// Get border radius from style if available, otherwise use prop\nconst effectiveBorderRadius=style?.borderRadius||borderRadius;const buttonContent=/*#__PURE__*/_jsxs(motion.button,{style:{position:\"relative\",display:style?.width===\"100%\"?\"flex\":\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:gap,backgroundColor:displayBackgroundColor,color:displayTextColor,border:`${borderWidth}px solid ${displayBorderColor}`,borderRadius:effectiveBorderRadius,paddingLeft:paddingX,paddingRight:paddingX,paddingTop:paddingY,paddingBottom:paddingY,cursor:\"pointer\",width:style?.width,height:style?.height,...font},initial:\"initial\",whileHover:isHoverVariant?undefined:\"hover\",animate:isHoverVariant&&hasAnimated?\"hover\":\"initial\",transition:{duration:.3,ease:\"easeInOut\"},variants:{initial:{borderColor:displayBorderColor},hover:{backgroundColor:displayHoverBackgroundColor,color:displayHoverTextColor,borderColor:displayHoverBorderColor}},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",position:\"relative\",height:\"1.2em\",overflow:\"hidden\",alignItems:\"center\"},children:characters.map((char,index)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",overflow:\"hidden\",height:\"100%\",display:\"inline-flex\",alignItems:\"center\",whiteSpace:\"pre\"},children:/*#__PURE__*/_jsxs(motion.div,{variants:{initial:{y:0},hover:{y:\"-100%\"}},transition:{duration:.3,ease:[.4,0,.2,1],delay:index*.025},children:[/*#__PURE__*/_jsx(\"div\",{children:char}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"100%\"},children:char})]})},index))}),/*#__PURE__*/_jsx(motion.svg,{width:arrowSize,height:arrowSize,viewBox:\"3 1 12 12\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{flexShrink:0},variants:{initial:{rotate:0},hover:{rotate:45}},transition:{duration:.3,ease:\"easeInOut\"},children:/*#__PURE__*/_jsx(motion.path,{d:\"M5 11L13 3M13 3H5M13 3V11\",stroke:displayArrowColor,strokeWidth:arrowStrokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\",variants:{initial:{stroke:displayArrowColor},hover:{stroke:displayHoverArrowColor}},transition:{duration:.3,ease:\"easeInOut\"}})})]});if(link){return /*#__PURE__*/_jsx(\"a\",{href:link,target:openInNewTab?\"_blank\":\"_self\",rel:openInNewTab?\"noopener noreferrer\":undefined,style:{textDecoration:\"none\",display:style?.width===\"100%\"?\"block\":\"inline-block\",width:style?.width===\"100%\"?\"100%\":\"auto\"},children:buttonContent});}return buttonContent;}addPropertyControls(ArrowButton,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Learn More\"},link:{type:ControlType.Link,title:\"Link\"},openInNewTab:{type:ControlType.Boolean,title:\"Open in New Tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>!props.link},variant:{type:ControlType.Enum,title:\"Variant\",options:[\"default\",\"hover\"],optionTitles:[\"Default\",\"Hover\"],defaultValue:\"default\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},hoverBackgroundColor:{type:ControlType.Color,title:\"Hover Background\",defaultValue:\"transparent\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},hoverTextColor:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"#000000\"},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#FFFFFF\"},hoverArrowColor:{type:ControlType.Color,title:\"Hover Arrow\",defaultValue:\"#000000\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#000000\"},hoverBorderColor:{type:ControlType.Color,title:\"Hover Border\",defaultValue:\"#EAEAEA99\"},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:16,min:8,max:48,step:1,unit:\"px\"},arrowStrokeWidth:{type:ControlType.Number,title:\"Arrow Stroke\",defaultValue:2,min:1,max:5,step:.5,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:12,min:0,max:50,step:1,unit:\"px\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:2,min:1,max:10,step:1,unit:\"px\"},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:24,min:0,max:100,step:1,unit:\"px\"},paddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:12,min:0,max:100,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}}});export default ArrowButton;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArrowButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RotatingTextButton.map"],"mappings":"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"}