{"version":3,"file":"ShareButton-19078652.js","sources":["../../../../js/icons/src/Community.svelte","../../../../js/utils/src/utils.ts","../../../../js/atoms/src/ShareButton.svelte"],"sourcesContent":["\n","export interface SelectData {\n\tindex: number | [number, number];\n\tvalue: any;\n\tselected?: boolean;\n}\n\nexport interface ShareData {\n\tdescription: string;\n\ttitle?: string;\n}\n\nexport class ShareError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = \"ShareError\";\n\t}\n}\n\nexport const uploadToHuggingFace = async (\n\tdata: string,\n\ttype: \"base64\" | \"url\"\n) => {\n\tif (window.__gradio_space__ == null) {\n\t\tthrow new ShareError(\"Must be on Spaces to share.\");\n\t}\n\tlet blob: Blob;\n\tlet contentType: string;\n\tlet filename: string;\n\tif (type === \"url\") {\n\t\tconst response = await fetch(data);\n\t\tblob = await response.blob();\n\t\tcontentType = response.headers.get(\"content-type\") || \"\";\n\t\tfilename = response.headers.get(\"content-disposition\") || \"\";\n\t} else {\n\t\tblob = dataURLtoBlob(data);\n\t\tcontentType = data.split(\";\")[0].split(\":\")[1];\n\t\tfilename = \"file\" + contentType.split(\"/\")[1];\n\t}\n\n\tconst file = new File([blob], filename, { type: contentType });\n\n\t// Send file to endpoint\n\tconst uploadResponse = await fetch(\"https://huggingface.co/uploads\", {\n\t\tmethod: \"POST\",\n\t\tbody: file,\n\t\theaders: {\n\t\t\t\"Content-Type\": file.type,\n\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"\n\t\t}\n\t});\n\n\t// Check status of response\n\tif (!uploadResponse.ok) {\n\t\tif (\n\t\t\tuploadResponse.headers.get(\"content-type\")?.includes(\"application/json\")\n\t\t) {\n\t\t\tconst error = await uploadResponse.json();\n\t\t\tthrow new ShareError(`Upload failed: ${error.error}`);\n\t\t}\n\t\tthrow new ShareError(`Upload failed.`);\n\t}\n\n\t// Return response if needed\n\tconst result = await uploadResponse.text();\n\treturn result;\n};\n\nfunction dataURLtoBlob(dataurl: string) {\n\tvar arr = dataurl.split(\",\"),\n\t\tmime = (arr[0].match(/:(.*?);/) as RegExpMatchArray)[1],\n\t\tbstr = atob(arr[1]),\n\t\tn = bstr.length,\n\t\tu8arr = new Uint8Array(n);\n\twhile (n--) {\n\t\tu8arr[n] = bstr.charCodeAt(n);\n\t}\n\treturn new Blob([u8arr], { type: mime });\n}\n","\n\n {\n\t\ttry {\n\t\t\tpending = true;\n\t\t\tconst formatted = await formatter(value);\n\t\t\tdispatch(\"share\", {\n\t\t\t\tdescription: formatted\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tlet message = e instanceof ShareError ? e.message : \"Share failed.\";\n\t\t\tdispatch(\"error\", message);\n\t\t} finally {\n\t\t\tpending = false;\n\t\t}\n\t}}\n/>\n"],"names":["insert","target","svg","anchor","append","path","ShareError","message","uploadToHuggingFace","data","type","blob","contentType","filename","response","dataURLtoBlob","file","uploadResponse","error","dataurl","arr","mime","bstr","n","u8arr","Community","dispatch","createEventDispatcher","formatter","$$props","value","pending","$$invalidate","formatted","e"],"mappings":"8qBAAAA,EAKAC,EAAAC,EAAAC,CAAA,EAJEC,EAGCF,EAAAG,CAAA,8FCOI,MAAMC,UAAmB,KAAM,CACrC,YAAYC,EAAiB,CAC5B,MAAMA,CAAO,EACb,KAAK,KAAO,YACb,CACD,CAEa,MAAAC,EAAsB,MAClCC,EACAC,IACI,CACA,GAAA,OAAO,kBAAoB,KACxB,MAAA,IAAIJ,EAAW,6BAA6B,EAE/C,IAAAK,EACAC,EACAC,EACJ,GAAIH,IAAS,MAAO,CACb,MAAAI,EAAW,MAAM,MAAML,CAAI,EAC1BE,EAAA,MAAMG,EAAS,OACtBF,EAAcE,EAAS,QAAQ,IAAI,cAAc,GAAK,GACtDD,EAAWC,EAAS,QAAQ,IAAI,qBAAqB,GAAK,QAE1DH,EAAOI,EAAcN,CAAI,EACXG,EAAAH,EAAK,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAC7CI,EAAW,OAASD,EAAY,MAAM,GAAG,EAAE,CAAC,EAGvC,MAAAI,EAAO,IAAI,KAAK,CAACL,CAAI,EAAGE,EAAU,CAAE,KAAMD,CAAA,CAAa,EAGvDK,EAAiB,MAAM,MAAM,iCAAkC,CACpE,OAAQ,OACR,KAAMD,EACN,QAAS,CACR,eAAgBA,EAAK,KACrB,mBAAoB,gBACrB,CAAA,CACA,EAGG,GAAA,CAACC,EAAe,GAAI,CACvB,GACCA,EAAe,QAAQ,IAAI,cAAc,GAAG,SAAS,kBAAkB,EACtE,CACK,MAAAC,EAAQ,MAAMD,EAAe,OACnC,MAAM,IAAIX,EAAW,kBAAkBY,EAAM,OAAO,EAE/C,MAAA,IAAIZ,EAAW,gBAAgB,EAK/B,OADQ,MAAMW,EAAe,MAErC,EAEA,SAASF,EAAcI,EAAiB,CAMvC,QALIC,EAAMD,EAAQ,MAAM,GAAG,EAC1BE,EAAQD,EAAI,CAAC,EAAE,MAAM,SAAS,EAAuB,CAAC,EACtDE,EAAO,KAAKF,EAAI,CAAC,CAAC,EAClBG,EAAID,EAAK,OACTE,EAAQ,IAAI,WAAWD,CAAC,EAClBA,KACNC,EAAMD,CAAC,EAAID,EAAK,WAAWC,CAAC,EAEtB,OAAA,IAAI,KAAK,CAACC,CAAK,EAAG,CAAE,KAAMH,EAAM,CACxC,mDC3DOI,uPAXA,MAAAC,EAAWC,QAKN,UAAAC,CAAyC,EAAAC,GACzC,MAAAC,CAAU,EAAAD,EACjBE,EAAmB,yBASrBC,EAAA,EAAAD,EAAU,EAAI,QACRE,EAAS,MAASL,EAAUE,CAAK,EACvCJ,EAAS,QACR,CAAA,YAAaO,CAAA,CAAA,QAENC,GACR,QAAQ,MAAMA,CAAC,MACX3B,EAAU2B,aAAa5B,EAAa4B,EAAE,QAAU,gBACpDR,EAAS,QAASnB,CAAO,UAEzByB,EAAA,EAAAD,EAAU,EAAK"}