import{S as ee,i as te,s as ae,k as y,a as O,q as J,H as ne,l as I,m as q,h as m,c as U,r as K,n as i,I as W,F as d,b as G,J as Y,K as Q,A as X,L as se,o as re,z as oe,M as ie,N as Z}from"../../chunks/index-3db9fbe0.js";const{document:R}=ie;function le(p){let h,a,E,f,T,_,n,x,j,C,s,c,v,l,u,N,g,F,P,A,k,B,e,r,w;return{c(){h=y("link"),a=y("script"),f=y("script"),_=O(),n=y("div"),x=y("img"),C=O(),s=y("div"),c=y("div"),v=O(),l=y("div"),u=y("input"),N=O(),g=y("button"),F=J("diffuse the f rest"),A=O(),k=y("p"),B=J("pro tip: upload img by dropping on the canvas"),this.h()},l(o){const t=ne('[data-svelte="svelte-18yikln"]',R.head);h=I(t,"LINK",{href:!0,rel:!0}),a=I(t,"SCRIPT",{src:!0});var L=q(a);L.forEach(m),f=I(t,"SCRIPT",{src:!0});var D=q(f);D.forEach(m),t.forEach(m),_=U(o),n=I(o,"DIV",{class:!0});var b=q(n);x=I(b,"IMG",{alt:!0,class:!0}),C=U(b),s=I(b,"DIV",{class:!0});var M=q(s);c=I(M,"DIV",{id:!0}),q(c).forEach(m),v=U(M),l=I(M,"DIV",{class:!0});var S=q(l);u=I(S,"INPUT",{type:!0,class:!0,placeholder:!0}),N=U(S),g=I(S,"BUTTON",{class:!0});var z=q(g);F=K(z,"diffuse the f rest"),z.forEach(m),S.forEach(m),A=U(M),k=I(M,"P",{class:!0});var V=q(k);B=K(V,"pro tip: upload img by dropping on the canvas"),V.forEach(m),M.forEach(m),b.forEach(m),this.h()},h(){i(h,"href","https://cdnjs.cloudflare.com/ajax/libs/drawingboard.js/0.4.2/drawingboard.css"),i(h,"rel","stylesheet"),W(a.src,E="https://code.jquery.com/jquery-1.12.4.min.js")||i(a,"src",E),W(f.src,T="https://cdnjs.cloudflare.com/ajax/libs/drawingboard.js/0.4.2/drawingboard.min.js")||i(f,"src",T),i(x,"alt","Initial sketch"),i(x,"class",j="border-2 "+(p[4]?"":"hidden")),i(c,"id","board-container"),i(u,"type","text"),i(u,"class","border-2 "),i(u,"placeholder","Add prompt"),i(g,"class","bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4"),i(l,"class",P="flex gap-x-2 mt-4 items-center justify-center "+(p[1]?"animate-pulse":"")),i(k,"class","mt-2 opacity-50"),i(s,"class",e="flex flex-col items-center "+(p[1]?"pointer-events-none":"")),i(n,"class","flex flex-wrap gap-x-4 gap-y-2 justify-center mt-8")},m(o,t){d(R.head,h),d(R.head,a),d(R.head,f),G(o,_,t),G(o,n,t),d(n,x),p[6](x),d(n,C),d(n,s),d(s,c),p[7](c),d(s,v),d(s,l),d(l,u),Y(u,p[0]),d(l,N),d(l,g),d(g,F),d(s,A),d(s,k),d(k,B),r||(w=[Q(u,"input",p[8]),Q(g,"click",p[5])],r=!0)},p(o,[t]){t&16&&j!==(j="border-2 "+(o[4]?"":"hidden"))&&i(x,"class",j),t&1&&u.value!==o[0]&&Y(u,o[0]),t&2&&P!==(P="flex gap-x-2 mt-4 items-center justify-center "+(o[1]?"animate-pulse":""))&&i(l,"class",P),t&2&&e!==(e="flex flex-col items-center "+(o[1]?"pointer-events-none":""))&&i(s,"class",e)},i:X,o:X,d(o){m(h),m(a),m(f),o&&m(_),o&&m(n),p[6](null),p[7](null),r=!1,se(w)}}}const H=500,$=3e3;async function ce(p){const h=p.toDataURL("png"),E=await(await fetch(h)).blob();return{imgFile:new File([E],"canvas shot.png",{type:"image/png"}),imgDataUrl:h}}function de(p,h,a){let E="",f=!1,T=!1,_,n,x,j,C,s,c=400,v,l,u=!1;async function N(){if(!n)return;const e=n.createImageData(_.width,_.height),r=e.data;for(let t=0,L=r.length;t<L;t+=4)r[t]=40*Math.random()*7,r[t+1]=40*Math.random()*7,r[t+2]=40*Math.random()*7,r[t+3]=255;const w=await createImageBitmap(e),o=performance.now()-x;n.globalAlpha=Math.min(o,$)/$,n.drawImage(w,0,0,c,c),f&&window.requestAnimationFrame(N)}function g(e){if(!n)return;const r=performance.now()-j;n.globalAlpha=Math.min(r,H)/H,n.drawImage(e,0,0,c,c),r<H&&window.requestAnimationFrame(()=>g(e))}async function F(){if(!E)return alert("Please add prompt");if(!_||!n)return;a(1,f=!0),a(4,u=!1),x=performance.now(),N();const{imgFile:e,imgDataUrl:r}=await ce(_),w=new FormData;w.append("prompt",E),w.append("image",e);const o=await fetch("https://sdb.pcuenca.net/i2i",{method:"POST",body:w});try{const t=JSON.parse(await o.text()),{images:L}=t,D=await Promise.all(L.map(async M=>{const S=new Image;return S.src=`data:image/png;base64, ${M}`,await new Promise((z,V)=>{S.onload=()=>z(S)}),S}));a(1,f=!1),s&&clearInterval(s),a(3,l.width=c,l),a(3,l.src=r,l),a(4,u=!0);let b=0;j=performance.now(),g(D[b%D.length]),C=()=>{s&&clearInterval(s),j=performance.now(),b=b+1,g(D[b%D.length])},s=setInterval(()=>{b=b+1,j=performance.now(),g(D[b%D.length])},2500),T||P()}catch(t){console.error(t),alert("Error happened: please see console")}}function P(){const e=document.createElement("div");e.className="drawing-board-control";const r=document.createElement("button");r.innerHTML="\u23EF",r.onclick=C,e.append(r);const w=document.querySelector(".drawing-board-controls");w&&(w.appendChild(e),T=!0,w.onclick=()=>{s&&clearInterval(s)})}re(async()=>{const{innerWidth:e}=window;c=Math.min(c,Math.floor(e*.75)),a(2,v.style.width=`${c}px`,v),a(2,v.style.height=`${c}px`,v),await oe(),_=new window.DrawingBoard.Board("board-container",{size:10,controls:["Color",{Size:{type:"dropdown"}},{DrawingMode:{filler:!1}}],droppable:!0,webStorage:!1,enlargeYourContainer:!0}).canvas,n=_.getContext("2d")});function A(e){Z[e?"unshift":"push"](()=>{l=e,a(3,l)})}function k(e){Z[e?"unshift":"push"](()=>{v=e,a(2,v)})}function B(){E=this.value,a(0,E)}return[E,f,v,l,u,F,A,k,B]}class ue extends ee{constructor(h){super(),te(this,h,de,le,ae,{})}}export{ue as default}; | |