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