{"version":3,"file":"CopyPrompt.D9bTMwfR.mjs","names":["React.useState","React.useRef","__esmMin","window","init_ssg_sandbox_shims","init_npm_react_18_3_1","_e","de","init_jsx_runtime","p","ce","navigator","addPropertyControls","init_framer_B6PCHH0A","ControlType","copyText","text","area","ok","track","layer","trackingId","CopyPrompt","props","copied","setCopied","timer","flash","onCopy","onGenerate","button","radius","font","shadow","hoverFill","brand","css","textColor","meta","mutedColor","generateLink","generateLabel","border","copiedLabel","copyLabel","init_CopyPrompt"],"sources":["https:/framerusercontent.com/modules/EfR69E2fsC6fOcaxF9TO/2yOcMAnnPHlYxomypUM9/CopyPrompt.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Copy with the async clipboard API, falling back to a hidden textarea for older browsers\nasync function copyText(text){try{if(typeof navigator!==\"undefined\"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(text);return true;}}catch{}if(typeof document===\"undefined\")return false;const area=document.createElement(\"textarea\");area.value=text;area.setAttribute(\"readonly\",\"\");area.style.position=\"fixed\";area.style.opacity=\"0\";document.body.appendChild(area);area.select();let ok=false;try{ok=document.execCommand(\"copy\");}catch{}document.body.removeChild(area);return ok;}// Report a click to Google Tag Manager when it is on the page\nfunction track(event,trackingId,prompt){if(typeof window===\"undefined\")return;const layer=window.dataLayer;if(Array.isArray(layer))layer.push({event,tracking_id:trackingId,prompt});}const css=`\n.mp-card { transition: box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1); }\n.mp-card:hover { box-shadow: 0 8px 24px var(--mp-shadow); }\n.mp-btn { transition: transform 0.18s cubic-bezier(0.2, 0, 0, 1), filter 0.18s, background 0.18s, box-shadow 0.18s; }\n.mp-btn:hover { transform: translateY(-1px); }\n.mp-brand:hover { filter: brightness(1.06); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 10px 28px -6px rgba(85, 93, 255, 0.5); }\n.mp-ghost:hover { background: var(--mp-hover) !important; transform: none; }\n.mp-btn:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 2px; }\n`;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n */export default function CopyPrompt(props){const{text=\"Upbeat lo-fi beat with warm keys for a YouTube vlog\",meta=\"\",font,textColor=\"#1B1E28\",mutedColor=\"#878895\",background=\"#FFFFFF\",brand=\"#555DFF\",border=\"rgba(0, 0, 0, 0.2)\",hoverFill=\"#F3F4F7\",shadow=\"rgba(85, 93, 255, 0.1)\",radius=20,padding=\"20px\",generateLabel=\"Generate\",generateLink=\"\",copyLabel=\"Copy\",copiedLabel=\"Copied\",trackingId=\"prompt\"}=props;const[copied,setCopied]=React.useState(false);const timer=React.useRef(null);React.useEffect(()=>()=>{if(timer.current)window.clearTimeout(timer.current);},[]);const flash=()=>{setCopied(true);if(timer.current)window.clearTimeout(timer.current);timer.current=window.setTimeout(()=>setCopied(false),1800);};const onCopy=async()=>{track(\"prompt_copy\",trackingId,text);if(await copyText(text))flash();};// Render has no prompt parameter: copy the prompt, then open the generator to paste it there\nconst onGenerate=()=>{track(\"prompt_generate\",trackingId,text);copyText(text).then(ok=>ok&&flash());};const button={height:36,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:6,padding:\"0 14px\",border:0,borderRadius:12,fontFamily:\"inherit\",fontSize:14,fontWeight:600,lineHeight:1,cursor:\"pointer\",textDecoration:\"none\",whiteSpace:\"nowrap\"};return /*#__PURE__*/_jsxs(\"div\",{className:\"mp-card\",style:{position:\"relative\",width:\"100%\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap:10,padding,borderRadius:radius,background,fontFamily:font?.fontFamily,\"--mp-shadow\":shadow,\"--mp-hover\":hoverFill,\"--mp-brand\":brand},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"p\",{style:{flex:1,margin:0,color:textColor,fontSize:16,lineHeight:1.5,...font},children:text}),meta?/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:mutedColor,fontSize:12,lineHeight:1.4},children:meta}):null,/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,marginTop:4},children:[generateLink?/*#__PURE__*/_jsxs(\"a\",{className:\"mp-btn mp-brand\",href:generateLink,target:\"_blank\",rel:\"noopener\",onClick:onGenerate,style:{...button,background:brand,color:\"#FFFFFF\"},children:[/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",width:\"16\",height:\"16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"18\",r:\"4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 18V2l7 4\"})]}),generateLabel]}):null,/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"mp-btn mp-ghost\",onClick:onCopy,\"aria-live\":\"polite\",style:{...button,background:\"transparent\",color:textColor,boxShadow:`inset 0 0 0 1px ${border}`},children:[copied?/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 16 16\",width:\"14\",height:\"14\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 8.5l3 3 7-7\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}):null,copied?copiedLabel:copyLabel]})]})]});}addPropertyControls(CopyPrompt,{text:{type:ControlType.String,title:\"Prompt\",displayTextArea:true,defaultValue:\"Upbeat lo-fi beat with warm keys for a YouTube vlog\"},meta:{type:ControlType.String,title:\"Meta\",defaultValue:\"\"},generateLabel:{type:ControlType.String,title:\"Generate label\",defaultValue:\"Generate\"},generateLink:{type:ControlType.Link,title:\"Generate link\"},copyLabel:{type:ControlType.String,title:\"Copy label\",defaultValue:\"Copy\"},copiedLabel:{type:ControlType.String,title:\"Copied label\",defaultValue:\"Copied\"},trackingId:{type:ControlType.String,title:\"Tracking ID\",defaultValue:\"prompt\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:\"1.5em\"}},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#1B1E28\"},mutedColor:{type:ControlType.Color,title:\"Muted\",defaultValue:\"#878895\"},background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#FFFFFF\"},brand:{type:ControlType.Color,title:\"Brand\",defaultValue:\"#555DFF\"},border:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(0, 0, 0, 0.2)\"},hoverFill:{type:ControlType.Color,title:\"Hover fill\",defaultValue:\"#F3F4F7\"},shadow:{type:ControlType.Color,title:\"Shadow\",defaultValue:\"rgba(85, 93, 255, 0.1)\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:20,min:0,max:40,unit:\"px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"20px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyPrompt\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyPrompt.map"],"mappings":"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"}