{"version":3,"file":"CodeCopyButton.Dd54CeZr.mjs","names":["useState","__esmMin","navigator","init_npm_react_18_3_1","_e","init_jsx_runtime","c","p","init_ssg_sandbox_shims","addPropertyControls","init_framer_DKWANagr","ControlType","CodeCopyButton","props","copied","setCopied","handleCopy","code","handleDownload","blob","url","a","filename","buttonStyle","label","downloadLabel","init_CodeCopyButton"],"sources":["https:/framerusercontent.com/modules/qHgW0nHCck5Dje2b6Vkq/GSwNjdKdUT4urxmAy6K1/CodeCopyButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Sits below the \"implement silk in your project instantly\" CodeBlock —\n// copy + download the snippet's exact text. The `code` property should\n// be pasted in as the same literal string used in the CodeBlock node's\n// own `code` attribute, so the two stay in sync manually if the snippet\n// is ever edited.\nconst INK=\"#211d17\";const SANS=\"'Manrope', -apple-system, 'Inter', 'Helvetica Neue', sans-serif\";const buttonStyle={display:\"flex\",alignItems:\"center\",gap:6,padding:\"8px 14px\",borderRadius:999,border:\"none\",background:\"transparent\",color:INK,fontFamily:SANS,fontSize:13,fontWeight:600,cursor:\"pointer\"};export default function CodeCopyButton(props){const{code=\"\",label=\"copy\",downloadLabel=\"download .py\",filename=\"silk_quickstart.py\"}=props;const[copied,setCopied]=useState(false);async function handleCopy(){try{await navigator.clipboard.writeText(code);setCopied(true);setTimeout(()=>setCopied(false),1500);}catch{// clipboard blocked (permissions / insecure context) — fails silently\n}}function handleDownload(){try{const blob=new Blob([code],{type:\"text/x-python\"});const url=URL.createObjectURL(blob);const a=document.createElement(\"a\");a.href=url;a.download=filename;document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(url);}catch{// download blocked in this context — fails silently\n}}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:4},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:handleCopy,style:buttonStyle,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"9\",width:\"13\",height:\"13\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"})]}),copied?\"copied\":label]}),/*#__PURE__*/_jsxs(\"button\",{onClick:handleDownload,style:buttonStyle,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3v12\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 10.5 12 16l5.5-5.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 19.5h16\"})]}),downloadLabel]})]});}CodeCopyButton.displayName=\"Code Copy Button\";addPropertyControls(CodeCopyButton,{code:{type:ControlType.String,title:\"Code\",displayTextArea:true,defaultValue:\"\"},label:{type:ControlType.String,title:\"Copy Label\",defaultValue:\"copy\"},downloadLabel:{type:ControlType.String,title:\"Download Label\",defaultValue:\"download .py\"},filename:{type:ControlType.String,title:\"Filename\",defaultValue:\"silk_quickstart.py\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CodeCopyButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CodeCopyButton.map"],"mappings":"A,+LAK+S,SAAwBY,EAAe,EAAM,CAAC,GAAK,CAAC,OAAK,GAAG,QAAM,OAAO,gBAAc,eAAe,WAAS,sBAAsBC,EAAW,CAACC,EAAOC,GAAWf,EAAS,EAAK,EAAE,eAAegB,GAAY,CAAC,GAAG,CAAC,MAAMd,EAAU,UAAU,UAAUe,CAAI,EAAEF,EAAU,EAAI,EAAE,eAAeA,EAAU,EAAK,EAAE,IAAI,CAAE,MAAM,CACxmB,CAAC,CAAC,SAASG,GAAgB,CAAC,GAAG,CAAC,IAAMC,EAAK,IAAI,KAAK,CAACF,CAAI,EAAE,CAAC,KAAK,eAAe,CAAC,EAAQG,EAAI,IAAI,gBAAgBD,CAAI,EAAQE,EAAE,SAAS,cAAc,GAAG,EAAE,EAAE,KAAKD,EAAI,EAAE,SAASE,EAAS,SAAS,KAAK,YAAYD,CAAC,EAAEA,EAAE,MAAM,EAAE,SAAS,KAAK,YAAYA,CAAC,EAAE,IAAI,gBAAgBD,CAAG,CAAE,MAAM,CAC7R,CAAC,CAAC,MAAoB,gBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,CAAC,EAAE,SAAS,CAAc,gBAAM,SAAS,CAAC,QAAQJ,EAAW,MAAMO,EAAY,SAAS,CAAc,gBAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,SAAS,CAAc,gBAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,GAAG,GAAG,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAE,yDAAyD,CAAC,CAAC,CAAC,CAAC,EAAET,EAAO,SAASU,CAAK,CAAC,CAAC,EAAe,gBAAM,SAAS,CAAC,QAAQN,EAAe,MAAMK,EAAY,SAAS,CAAc,gBAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,SAAS,CAAc,gBAAK,OAAO,CAAC,EAAE,UAAU,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAE,yBAAyB,CAAC,EAAe,gBAAK,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAEE,CAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,oDAF50B,EAAY,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,QAAQ,WAAW,aAAa,IAAI,OAAO,OAAO,WAAW,cAAc,MAAM,UAAI,WAAW,kEAAK,SAAS,GAAG,WAAW,IAAI,OAAO,SAAS,EAEuoB,EAAe,YAAY,mBAAmBhB,EAAoBG,EAAe,CAAC,KAAK,CAAC,KAAKD,EAAY,OAAO,MAAM,OAAO,gBAAgB,GAAK,aAAa,EAAE,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,aAAa,MAAM,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,iBAAiB,aAAa,cAAc,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,aAAa,oBAAoB,CAAC,CAAC,C"}