{"version":3,"file":"CopyButton.DHkaliUW.mjs","names":["useState","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/Qf4rDBSL3nmf9Oays40W/Bs9dvA5T37QqXfupleC3/CopyButton.js"],"sourcesContent":["// Complete copy button component with visual feedback\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useCallback,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function CopyButton(props){const{text,buttonText,copiedText,backgroundColor,textColor,copiedBackgroundColor,copiedTextColor,borderRadius,buttonFont,showIcon,minWidth}=props;const[isCopied,setIsCopied]=useState(false);const handleCopy=useCallback(async()=>{if(typeof window===\"undefined\")return;try{await navigator.clipboard.writeText(text);startTransition(()=>setIsCopied(true));setTimeout(()=>{startTransition(()=>setIsCopied(false));},2e3);}catch(err){console.error(\"Failed to copy text:\",err);}},[text]);const isFixedWidth=props?.style&&props.style.width===\"100%\";return /*#__PURE__*/_jsxs(\"button\",{onClick:handleCopy,style:{...props.style,...isFixedWidth?{}:{minWidth:`${minWidth}px`},position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,padding:\"12px 24px\",backgroundColor:isCopied?copiedBackgroundColor:backgroundColor,color:isCopied?copiedTextColor:textColor,border:\"none\",borderRadius,cursor:\"pointer\",transition:\"all 0.2s ease\",...buttonFont},\"aria-label\":isCopied?\"Copied to clipboard\":\"Copy to clipboard\",children:[showIcon&&/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{flexShrink:0},children:isCopied?/*#__PURE__*/_jsx(\"path\",{d:\"M13.5 4L6 11.5L2.5 8\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"5\",y:\"5\",width:\"9\",height:\"9\",rx:\"1.5\",stroke:\"currentColor\",strokeWidth:\"1.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 10.5V3C3 2.17157 3.67157 1.5 4.5 1.5H10.5\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\"})]})}),/*#__PURE__*/_jsx(\"span\",{children:isCopied?copiedText:buttonText})]});}addPropertyControls(CopyButton,{text:{type:ControlType.String,title:\"Text to Copy\",defaultValue:\"Hello, World!\",displayTextArea:true},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Copy\"},copiedText:{type:ControlType.String,title:\"Copied Text\",defaultValue:\"Copied!\"},showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},minWidth:{type:ControlType.Number,title:\"Min Width\",defaultValue:100,min:0,max:500,step:1,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},copiedBackgroundColor:{type:ControlType.Color,title:\"Copied Background\",defaultValue:\"#22CC66\"},copiedTextColor:{type:ControlType.Color,title:\"Copied Text\",defaultValue:\"#FFFFFF\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},buttonFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Semibold\",fontSize:\"14px\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyButton.map"],"mappings":"sNAIG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,OAAK,aAAW,aAAW,kBAAgB,YAAU,wBAAsB,kBAAgB,eAAa,aAAW,WAAS,YAAU,EAAW,CAAC,EAAS,GAAaA,EAAS,EAAK,EAAQ,EAAWC,EAAY,SAAS,CAAI,GAAO,IAAS,OAAmB,GAAG,CAAC,MAAM,EAAU,UAAU,UAAU,CAAI,EAAE,MAAoB,EAAY,EAAI,CAAC,EAAE,eAAe,CAAC,MAAoB,EAAY,EAAK,CAAC,CAAE,EAAE,GAAG,CAAE,OAAO,EAAI,CAAC,QAAQ,MAAM,uBAAuB,CAAG,CAAE,CAAC,EAAE,CAAC,CAAI,CAAC,EAAQ,EAAa,GAAO,OAAO,EAAM,MAAM,QAAQ,OAAO,OAAoB,EAAM,SAAS,CAAC,QAAQ,EAAW,MAAM,CAAC,GAAG,EAAM,MAAM,GAAG,EAAa,CAAC,EAAE,CAAC,SAAS,GAAG,EAAS,GAAG,EAAE,SAAS,WAAW,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,IAAI,EAAE,QAAQ,YAAY,gBAAgB,EAAS,EAAsB,EAAgB,MAAM,EAAS,EAAgB,EAAU,OAAO,OAAO,eAAa,OAAO,UAAU,WAAW,gBAAgB,GAAG,CAAU,EAAE,aAAa,EAAS,sBAAsB,oBAAoB,SAAS,CAAC,GAAuB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAsB,EAAK,OAAO,CAAC,EAAE,uBAAuB,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,OAAO,CAAC,EAAe,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,IAAI,GAAG,MAAM,OAAO,eAAe,YAAY,KAAK,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,+CAA+C,OAAO,eAAe,YAAY,MAAM,cAAc,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,SAAS,EAAS,EAAW,CAAU,CAAC,CAAC,CAAC,CAAC,CAAE,qBAHhoD,IAAwD,IAAoD,EAGqhD,EAAoB,EAAW,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,gBAAgB,gBAAgB,EAAI,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,MAAM,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,aAAa,OAAO,cAAc,MAAM,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,sBAAsB,CAAC,KAAK,EAAY,MAAM,MAAM,oBAAoB,aAAa,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,cAAc,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,QAAQ,WAAW,SAAS,OAAO,cAAc,UAAU,WAAW,KAAK,CAAC,CAAC,CAAC"}