{"version":3,"file":"CopyButton.d1UNUlX3.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/0zOWQuDBB9iI7O6B8JRr/JMQ5AWkkaKSVjDyb1SDZ/CopyButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth 34\n * @framerSupportedLayoutHeight 28\n */export default function CopyButton(props){const{url,timeout,copyIcon,strokeColor,strokeWidth,checkSize,outlineColor,outlineWidth,outlineGap,buttonSize,fillColor}=props;const[status,setStatus]=useState(\"idle\");const[isHovered,setIsHovered]=useState(false);useEffect(()=>{if(status===\"copying\"){const timer=setTimeout(()=>{setStatus(\"resetting\");setTimeout(()=>setStatus(\"idle\"),700);},timeout);return()=>clearTimeout(timer);}},[status,timeout]);const handleCopy=async e=>{if(e){e.preventDefault();e.stopPropagation();}if(status!==\"idle\")return;try{await navigator.clipboard.writeText(url);setStatus(\"copying\");window.dispatchEvent(new CustomEvent(\"framer-copy-success\"));}catch(err){console.error(\"Failed to copy!\",err);}};const isCopying=status===\"copying\";const dimensions=buttonSize===\"34x28\"?{width:34,height:28}:{width:35,height:35};const actualIconSize=buttonSize===\"35x35\"?21:16;const is35Version=buttonSize===\"35x35\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:`${dimensions.width}px`,height:`${dimensions.height}px`},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:`-${outlineGap}px`,borderRadius:\"999px\",border:`${outlineWidth}px solid ${outlineColor}`,opacity:isHovered?1:0,transform:isHovered?\"scale(1)\":\"scale(0.8)\",transition:\"opacity 0.3s ease, transform 0.3s ease\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{onClick:handleCopy,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{width:`${dimensions.width}px`,height:`${dimensions.height}px`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:fillColor,border:is35Version?\"none\":\"1px solid #D9D9D9\",borderRadius:\"999px\",cursor:\"pointer\",transition:\"border-color 0.3s ease\",overflow:\"hidden\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:\"opacity 0.3s ease\",opacity:isCopying?0:1,zIndex:isCopying?0:1},children:copyIcon&&/*#__PURE__*/_jsx(\"div\",{style:{width:`${actualIconSize}px`,height:`${actualIconSize}px`,backgroundImage:`url(${copyIcon})`,backgroundSize:\"contain\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:\"opacity 0.3s ease\",opacity:isCopying?1:0,pointerEvents:\"none\",zIndex:isCopying?1:0},children:/*#__PURE__*/_jsx(\"svg\",{width:actualIconSize,height:actualIconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:{display:\"block\",overflow:\"visible\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 13L9 17L19 7\",stroke:\"#939393\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{vectorEffect:\"non-scaling-stroke\",strokeDasharray:30,strokeDashoffset:isCopying?0:30,transition:isCopying?\"stroke-dashoffset 0.7s ease-out 0.2s\":\"none\"}})})})]})]});}CopyButton.defaultProps={url:\"https://framer.com\",timeout:2e3,strokeColor:\"#939393\",strokeWidth:1.8,checkSize:16,outlineColor:\"rgba(0, 122, 255, 0.3)\",outlineWidth:3,outlineGap:6,buttonSize:\"34x28\",fillColor:\"#FFFFFF\"};addPropertyControls(CopyButton,{buttonSize:{type:ControlType.Enum,title:\"Button Size\",options:[\"34x28\",\"35x35\"],optionTitles:[\"34\\xd728\",\"35\\xd735\"],defaultValue:\"34x28\"},url:{type:ControlType.String,title:\"Link\"},copyIcon:{type:ControlType.Image,title:\"Icon\"},fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"#FFFFFF\"},strokeColor:{type:ControlType.Color,title:\"Check Color\",defaultValue:\"#939393\"},strokeWidth:{type:ControlType.Number,title:\"Stroke Weight\",min:.5,max:5,step:.1,defaultValue:1.8},checkSize:{type:ControlType.Number,title:\"Check Size\",min:10,max:24,step:1,defaultValue:16,hidden:props=>props.buttonSize===\"35x35\"},outlineColor:{type:ControlType.Color,title:\"Outline Color\",defaultValue:\"rgba(0, 122, 255, 0.3)\"},outlineWidth:{type:ControlType.Number,title:\"Outline Width\",min:1,max:10,step:.5,defaultValue:3},outlineGap:{type:ControlType.Number,title:\"Outline Gap\",min:0,max:20,step:1,defaultValue:6},timeout:{type:ControlType.Number,title:\"Reset (ms)\",defaultValue:2e3}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"28\",\"framerSupportedLayoutWidth\":\"34\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyButton.map"],"mappings":"6MAGG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,MAAI,UAAQ,WAAS,cAAY,cAAY,YAAU,eAAa,eAAa,aAAW,aAAW,aAAW,EAAW,CAAC,EAAO,GAAWA,EAAS,OAAO,CAAM,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAC,MAAc,CAAC,GAAG,IAAS,UAAU,CAAC,IAAM,EAAM,eAAe,CAAC,EAAU,YAAY,CAAC,eAAe,EAAU,OAAO,CAAC,IAAI,EAAG,EAAQ,CAAC,UAAU,aAAa,EAAM,GAAI,CAAC,EAAO,EAAQ,CAAC,CAAC,IAAM,EAAW,KAAM,IAAG,CAAC,GAAG,IAAG,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,EAAK,IAAS,OAAc,GAAG,CAAC,MAAM,EAAU,UAAU,UAAU,EAAI,CAAC,EAAU,UAAU,CAAC,EAAO,cAAc,IAAI,YAAY,sBAAsB,CAAC,OAAQ,EAAI,CAAC,QAAQ,MAAM,kBAAkB,EAAI,GAAU,EAAU,IAAS,UAAgB,EAAW,IAAa,QAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,GAAG,CAAO,EAAe,IAAa,QAAQ,GAAG,GAAS,EAAY,IAAa,QAAQ,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,GAAG,EAAW,MAAM,IAAI,OAAO,GAAG,EAAW,OAAO,IAAI,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,IAAI,EAAW,IAAI,aAAa,QAAQ,OAAO,GAAG,EAAa,WAAW,IAAe,QAAQ,EAAU,EAAE,EAAE,UAAU,EAAU,WAAW,aAAa,WAAW,yCAAyC,cAAc,OAAO,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,QAAQ,EAAW,iBAAiB,EAAa,GAAK,CAAC,iBAAiB,EAAa,GAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAW,MAAM,IAAI,OAAO,GAAG,EAAW,OAAO,IAAI,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,gBAAgB,EAAU,OAAO,EAAY,OAAO,oBAAoB,aAAa,QAAQ,OAAO,UAAU,WAAW,yBAAyB,SAAS,SAAS,SAAS,WAAW,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,oBAAoB,QAAQ,EAAU,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE,CAAC,SAAS,GAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAe,IAAI,OAAO,GAAG,EAAe,IAAI,gBAAgB,OAAO,EAAS,GAAG,eAAe,UAAU,mBAAmB,SAAS,iBAAiB,YAAY,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,oBAAoB,QAAQ,EAAU,EAAE,EAAE,cAAc,OAAO,OAAO,EAAU,EAAE,EAAE,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,EAAe,OAAO,EAAe,QAAQ,YAAY,KAAK,OAAO,MAAM,CAAC,QAAQ,QAAQ,SAAS,UAAU,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,kBAAkB,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,MAAM,CAAC,aAAa,qBAAqB,gBAAgB,GAAG,iBAAiB,EAAU,EAAE,GAAG,WAAW,EAAU,uCAAuC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAH9wF,IAAsC,IAAoD,CAGsrF,EAAW,aAAa,CAAC,IAAI,qBAAqB,QAAQ,IAAI,YAAY,UAAU,YAAY,IAAI,UAAU,GAAG,aAAa,yBAAyB,aAAa,EAAE,WAAW,EAAE,WAAW,QAAQ,UAAU,UAAU,CAAC,EAAoB,EAAW,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,QAAQ,QAAQ,CAAC,aAAa,CAAC,QAAW,QAAW,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,aAAa,IAAI,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,aAAa,GAAG,OAAO,GAAO,EAAM,aAAa,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,gBAAgB,aAAa,yBAAyB,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,CAAC,CAAC"}