{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/DtEcKu1iAa1WkrT0L9W0/5Lo5kUCAEace3h3TwLXA/ai_image.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef}from\"react\";export function download(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleClick=async()=>{const imageDiv=document.getElementById(\"image-link\");const titleDiv=document.getElementById(\"image-title\");if(imageDiv&&titleDiv){const imgElement=imageDiv.querySelector(\"img\");const titleText=titleDiv.querySelector(\"p\")?.textContent||\"image\";if(imgElement){const fullSrc=imgElement.src;const cleanSrc=fullSrc.split(\"?\")[0];try{// 1. \u83B7\u53D6\u56FE\u7247\u6570\u636E\nconst response=await fetch(cleanSrc);const blob=await response.blob();// 2. \u4ECE Blob \u83B7\u53D6\u56FE\u7247\u683C\u5F0F\uFF08\u5982 \"image/png\" \u2192 \"png\"\uFF09\nconst fileExtension=blob.type.split(\"/\")[1]||\"png\";// 3. \u4F7F\u7528\u6807\u9898\u6587\u672C\u4F5C\u4E3A\u6587\u4EF6\u540D\uFF0C\u5E76\u66FF\u6362\u975E\u6CD5\u5B57\u7B26\nconst safeFileName=titleText.replace(/[\\/\\\\:*?\"<>|]/g,\"\")// \u79FB\u9664\u975E\u6CD5\u6587\u4EF6\u540D\u5B57\u7B26\n.trim()// \u53BB\u9664\u524D\u540E\u7A7A\u683C\n.replace(/\\s+/g,\"-\")||// \u7A7A\u683C\u66FF\u6362\u4E3A\u77ED\u6A2A\u7EBF\n\"image\"// \u5982\u679C\u6807\u9898\u4E3A\u7A7A\u5219\u4F7F\u7528\u9ED8\u8BA4\u503C\n;// 4. \u7EC4\u5408\u6700\u7EC8\u6587\u4EF6\u540D\uFF08\u5982 \"\u95EA\u4EAE\u7684\u84DD\u8272\u548C\u7D2B\u8272\u91D1\u5C5E\u8D28\u611F\u80CC\u666F.png\"\uFF09\nconst fileName=`${safeFileName}.${fileExtension}`;// 5. \u521B\u5EFA\u4E0B\u8F7D\u94FE\u63A5\nconst downloadUrl=URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=downloadUrl;link.download=fileName;link.style.display=\"none\";// 6. \u89E6\u53D1\u4E0B\u8F7D\ndocument.body.appendChild(link);link.click();// 7. \u6E05\u7406\nsetTimeout(()=>{document.body.removeChild(link);URL.revokeObjectURL(downloadUrl);},100);}catch(error){console.error(\"\u4E0B\u8F7D\u5931\u8D25:\",error);}}else{console.log(\"\u672A\u627E\u5230img\u5143\u7D20\");}}else{console.log(\"\u672A\u627E\u5230imagelink\u6216image-title\u5143\u7D20\");}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>{if(props.onClick)props.onClick();handleClick();}});});}export function downloadBg(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleClick=async()=>{const imageDiv=document.getElementById(\"image-bg-link\");const titleDiv=document.getElementById(\"image-title\");if(imageDiv&&titleDiv){const imgElement=imageDiv.querySelector(\"img\");const titleText=titleDiv.querySelector(\"p\")?.textContent||\"image\";if(imgElement){const fullSrc=imgElement.src;const cleanSrc=fullSrc.split(\"?\")[0];try{// 1. \u83B7\u53D6\u56FE\u7247\u6570\u636E\nconst response=await fetch(cleanSrc);const blob=await response.blob();// 2. \u4ECE Blob \u83B7\u53D6\u56FE\u7247\u683C\u5F0F\uFF08\u5982 \"image/png\" \u2192 \"png\"\uFF09\nconst fileExtension=blob.type.split(\"/\")[1]||\"png\";// 3. \u4F7F\u7528\u6807\u9898\u6587\u672C\u4F5C\u4E3A\u6587\u4EF6\u540D\uFF0C\u5E76\u66FF\u6362\u975E\u6CD5\u5B57\u7B26\nconst safeFileName=titleText.replace(/[\\/\\\\:*?\"<>|]/g,\"\")// \u79FB\u9664\u975E\u6CD5\u6587\u4EF6\u540D\u5B57\u7B26\n.trim()// \u53BB\u9664\u524D\u540E\u7A7A\u683C\n.replace(/\\s+/g,\"-\")||// \u7A7A\u683C\u66FF\u6362\u4E3A\u77ED\u6A2A\u7EBF\n\"image\"// \u5982\u679C\u6807\u9898\u4E3A\u7A7A\u5219\u4F7F\u7528\u9ED8\u8BA4\u503C\n;// 4. \u7EC4\u5408\u6700\u7EC8\u6587\u4EF6\u540D\uFF08\u5982 \"\u95EA\u4EAE\u7684\u84DD\u8272\u548C\u7D2B\u8272\u91D1\u5C5E\u8D28\u611F\u80CC\u666F.png\"\uFF09\nconst fileName=`${safeFileName}.${fileExtension}`;// 5. \u521B\u5EFA\u4E0B\u8F7D\u94FE\u63A5\nconst downloadUrl=URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=downloadUrl;link.download=fileName;link.style.display=\"none\";// 6. \u89E6\u53D1\u4E0B\u8F7D\ndocument.body.appendChild(link);link.click();// 7. \u6E05\u7406\nsetTimeout(()=>{document.body.removeChild(link);URL.revokeObjectURL(downloadUrl);},100);}catch(error){console.error(\"\u4E0B\u8F7D\u5931\u8D25:\",error);}}else{console.log(\"\u672A\u627E\u5230img\u5143\u7D20\");}}else{console.log(\"\u672A\u627E\u5230imagelink\u6216image-title\u5143\u7D20\");}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>{if(props.onClick)props.onClick();handleClick();}});});}export function returnPage(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleGoBack=()=>{window.history.back()// \u8FD4\u56DE\u4E0A\u4E00\u9875\n;};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>{if(props.onClick)props.onClick()// \u4FDD\u7559\u539F\u6709 onClick \u4E8B\u4EF6\n;handleGoBack()// \u89E6\u53D1\u8FD4\u56DE\n;}});});}export function copyPromptText(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleCopyPrompt=()=>{// 1. \u67E5\u627E\u5E26\u6709 aria-label=\"prompt\" \u7684 div\nconst promptDiv=document.querySelector('div[aria-label=\"prompt\"]');if(promptDiv){// 2. \u67E5\u627E\u5176\u4E2D\u7684 <p> \u6807\u7B7E\nconst pElement=promptDiv.querySelector(\"p.framer-text\");if(pElement&&pElement.textContent){const textToCopy=pElement.textContent;// 3. \u590D\u5236\u5230\u526A\u8D34\u677F\nnavigator.clipboard.writeText(textToCopy).then(()=>{console.log(\"\u590D\u5236\u6210\u529F:\",textToCopy);console.log(\"\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F\uFF01\")// \u53EF\u9009\uFF1A\u63D0\u793A\u7528\u6237\n;}).catch(err=>{console.error(\"\u590D\u5236\u5931\u8D25:\",err);});}else{console.log(\"\u672A\u627E\u5230 <p> \u6807\u7B7E\u6216\u5185\u5BB9\u4E3A\u7A7A\");}}else{console.log('\u672A\u627E\u5230 aria-label=\"prompt\" \u7684\u5143\u7D20');}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>{if(props.onClick)props.onClick()// \u4FDD\u7559\u539F\u6709 onClick \u4E8B\u4EF6\n;handleCopyPrompt()// \u89E6\u53D1\u590D\u5236\n;}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"copyPromptText\":{\"type\":\"reactHoc\",\"name\":\"copyPromptText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"returnPage\":{\"type\":\"reactHoc\",\"name\":\"returnPage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"download\":{\"type\":\"reactHoc\",\"name\":\"download\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"downloadBg\":{\"type\":\"reactHoc\",\"name\":\"downloadBg\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ai_image.map"],
  "mappings": "yFAAgF,SAASA,EAASC,EAAU,CAAC,OAAoBC,EAAW,CAACC,EAAMC,IAAM,CAAC,IAAMC,EAAY,SAAS,CAAC,IAAMC,EAAS,SAAS,eAAe,YAAY,EAAQC,EAAS,SAAS,eAAe,aAAa,EAAE,GAAGD,GAAUC,EAAS,CAAC,IAAMC,EAAWF,EAAS,cAAc,KAAK,EAAQG,EAAUF,EAAS,cAAc,GAAG,GAAG,aAAa,QAAQ,GAAGC,EAAW,CAA8B,IAAME,EAArBF,EAAW,IAA2B,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,CACxd,IAAMG,EAAK,MAAjC,MAAM,MAAMD,CAAQ,GAA4B,KAAK,EAC9DE,EAAcD,EAAK,KAAK,MAAM,GAAG,EAAE,CAAC,GAAG,MAMvCE,EAAS,GALIJ,EAAU,QAAQ,iBAAiB,EAAE,EACvD,KAAK,EACL,QAAQ,OAAO,GAAG,GACnB,OAE8B,IAAIG,CAAa,GACzCE,EAAY,IAAI,gBAAgBH,CAAI,EAAQI,EAAK,SAAS,cAAc,GAAG,EAAEA,EAAK,KAAKD,EAAYC,EAAK,SAASF,EAASE,EAAK,MAAM,QAAQ,OACnJ,SAAS,KAAK,YAAYA,CAAI,EAAEA,EAAK,MAAM,EAC3C,WAAW,IAAI,CAAC,SAAS,KAAK,YAAYA,CAAI,EAAE,IAAI,gBAAgBD,CAAW,CAAE,EAAE,GAAG,CAAE,OAAOE,EAAM,CAAC,QAAQ,MAAM,4BAAQA,CAAK,CAAE,CAAC,MAAM,QAAQ,IAAI,mCAAU,CAAG,MAAM,QAAQ,IAAI,0DAA4B,CAAG,EAAE,OAAoBC,EAAKhB,EAAU,CAAC,IAAIG,EAAI,GAAGD,EAAM,QAAQ,IAAI,CAAIA,EAAM,SAAQA,EAAM,QAAQ,EAAEE,EAAY,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAQ,SAASa,EAAWjB,EAAU,CAAC,OAAoBC,EAAW,CAACC,EAAMC,IAAM,CAAC,IAAMC,EAAY,SAAS,CAAC,IAAMC,EAAS,SAAS,eAAe,eAAe,EAAQC,EAAS,SAAS,eAAe,aAAa,EAAE,GAAGD,GAAUC,EAAS,CAAC,IAAMC,EAAWF,EAAS,cAAc,KAAK,EAAQG,EAAUF,EAAS,cAAc,GAAG,GAAG,aAAa,QAAQ,GAAGC,EAAW,CAA8B,IAAME,EAArBF,EAAW,IAA2B,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,CACnuB,IAAMG,EAAK,MAAjC,MAAM,MAAMD,CAAQ,GAA4B,KAAK,EAC9DE,EAAcD,EAAK,KAAK,MAAM,GAAG,EAAE,CAAC,GAAG,MAMvCE,EAAS,GALIJ,EAAU,QAAQ,iBAAiB,EAAE,EACvD,KAAK,EACL,QAAQ,OAAO,GAAG,GACnB,OAE8B,IAAIG,CAAa,GACzCE,EAAY,IAAI,gBAAgBH,CAAI,EAAQI,EAAK,SAAS,cAAc,GAAG,EAAEA,EAAK,KAAKD,EAAYC,EAAK,SAASF,EAASE,EAAK,MAAM,QAAQ,OACnJ,SAAS,KAAK,YAAYA,CAAI,EAAEA,EAAK,MAAM,EAC3C,WAAW,IAAI,CAAC,SAAS,KAAK,YAAYA,CAAI,EAAE,IAAI,gBAAgBD,CAAW,CAAE,EAAE,GAAG,CAAE,OAAOE,EAAM,CAAC,QAAQ,MAAM,4BAAQA,CAAK,CAAE,CAAC,MAAM,QAAQ,IAAI,mCAAU,CAAG,MAAM,QAAQ,IAAI,0DAA4B,CAAG,EAAE,OAAoBC,EAAKhB,EAAU,CAAC,IAAIG,EAAI,GAAGD,EAAM,QAAQ,IAAI,CAAIA,EAAM,SAAQA,EAAM,QAAQ,EAAEE,EAAY,CAAE,CAAC,CAAC,CAAE,CAAC,CAAE,CAAQ,SAASc,EAAWlB,EAAU,CAAC,OAAoBC,EAAW,CAACC,EAAMC,IAAM,CAAC,IAAMgB,EAAa,IAAI,CAACC,EAAO,QAAQ,KAAK,CAC7c,EAAE,OAAoBJ,EAAKhB,EAAU,CAAC,IAAIG,EAAI,GAAGD,EAAM,QAAQ,IAAI,CAAIA,EAAM,SAAQA,EAAM,QAAQ,EACnGiB,EAAa,CACb,CAAC,CAAC,CAAE,CAAC,CAAE",
  "names": ["download", "Component", "Y", "props", "ref", "handleClick", "imageDiv", "titleDiv", "imgElement", "titleText", "cleanSrc", "blob", "fileExtension", "fileName", "downloadUrl", "link", "error", "p", "downloadBg", "returnPage", "handleGoBack", "window"]
}
