(this["webpackJsonplama-cleaner"]=this["webpackJsonplama-cleaner"]||[]).push([[0],{17:function(e,t,n){},20:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(11),c=n.n(r),i=(n(17),n(3)),s=n.n(i),o=n(5),l=n(2),u=n(8),p=n(24),d=n(1);function h(e){var t=e.children,n=e.className,r=e.disabled,c=e.icon,i=e.primary,s=e.onKeyDown,o=e.onClick,u=e.onDown,p=e.onUp,h=Object(a.useState)(!1),b=Object(l.a)(h,2),f=b[0],j=b[1],v="";return i&&!r&&(v="bg-primary hover:bg-black hover:text-white"),f&&(v="bg-black text-white"),i||f||(v="hover:bg-primary"),Object(d.jsxs)("div",{role:"button",onKeyDown:s,onClick:o,onPointerDown:function(e){j(!0),null===u||void 0===u||u(e.nativeEvent)},onPointerUp:function(e){j(!1),null===p||void 0===p||p(e.nativeEvent)},tabIndex:-1,className:["inline-flex py-3 px-5 rounded-md cursor-pointer",t?"space-x-3":"",v,r?"pointer-events-none opacity-50":"",n].join(" "),children:[c,Object(d.jsx)("span",{className:"whitespace-nowrap select-none",children:t})]})}var b=n(6);function f(e){var t=e.onSelection,n=Object(a.useState)(!1),r=Object(l.a)(n,2),c=r[0],i=r[1],u=Object(a.useState)("file-upload-".concat(Math.random().toString())),p=Object(l.a)(u,1)[0];function h(e){if(e&&e.type.match("image.*"))try{if(e.size>20971520)throw new Error("file too large");t(e)}catch(n){alert("error: ".concat(n.message))}}function f(e){return j.apply(this,arguments)}function j(){return(j=Object(o.a)(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){t.file((function(t){return e(t)}))})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e){return m.apply(this,arguments)}function m(){return(m=Object(o.a)(s.a.mark((function e(t){var n,a,r,c,i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=[],a=[],r=0;r0)){e.next=23;break}if(!(null===(c=a.shift())||void 0===c?void 0:c.isFile)){e.next=12;break}return e.next=8,f(c);case 8:i=e.sent,n.push(i),e.next=21;break;case 12:if(!(null===c||void 0===c?void 0:c.isDirectory)){e.next=21;break}return e.t0=a.push,e.t1=a,e.t2=b.a,e.next=18,x(c.createReader());case 18:e.t3=e.sent,e.t4=(0,e.t2)(e.t3),e.t0.apply.call(e.t0,e.t1,e.t4);case 21:e.next=3;break;case 23:return e.abrupt("return",n);case 24:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function x(e){return O.apply(this,arguments)}function O(){return(O=Object(o.a)(s.a.mark((function e(t){var n,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],e.next=3,g(t);case 3:a=e.sent;case 4:if(!(a.length>0)){e.next=11;break}return n.push.apply(n,Object(b.a)(a)),e.next=8,g(t);case 8:a=e.sent,e.next=4;break;case 11:return e.abrupt("return",n);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function g(e){return w.apply(this,arguments)}function w(){return(w=Object(o.a)(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){t.readEntries(e,n)})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(){return(y=Object(o.a)(s.a.mark((function e(t){var n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,v(t.dataTransfer.items);case 3:n=e.sent,i(!1),h(n[0]);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(d.jsx)("label",{htmlFor:p,className:"block w-full h-full group relative cursor-pointer rounded-md font-medium focus-within:outline-none",children:Object(d.jsxs)("div",{className:["w-full h-full flex items-center justify-center px-6 pt-5 pb-6 text-md","border-2 border-dashed rounded-md","hover:border-black hover:bg-primary","text-center",c?"border-black bg-primary":"bg-gray-100 border-gray-300"].join(" "),onDrop:function(e){return y.apply(this,arguments)},onDragOver:function(e){e.stopPropagation(),e.preventDefault(),i(!0)},onDragLeave:function(){return i(!1)},children:[Object(d.jsx)("input",{id:p,name:p,type:"file",className:"sr-only",onChange:function(e){var t,n=null===(t=e.currentTarget.files)||void 0===t?void 0:t[0];n&&h(n)},accept:"image/png, image/jpeg"}),Object(d.jsx)("p",{className:"hidden sm:block",children:"Click here or drag an image file"}),Object(d.jsx)("p",{className:"sm:hidden",children:"Tap here to load your picture"})]})})}var j=n(22),v=n(25);function m(e){for(var t=e.split(",")[0].split(":")[1].split(";")[0],n=atob(e.split(",")[1]),a=[],r=0;r2&&void 0!==arguments[2]?arguments[2]:S;e.strokeStyle=n,e.lineCap="round",e.lineJoin="round",t.forEach((function(t){(null===t||void 0===t?void 0:t.pts.length)&&t.size&&(e.lineWidth=t.size,e.beginPath(),e.moveTo(t.pts[0].x,t.pts[0].y),t.pts.forEach((function(t){return e.lineTo(t.x,t.y)})),e.stroke())}))}function M(e){var t=e.file,n=Object(a.useState)(40),r=Object(l.a)(n,2),c=r[0],i=r[1],f=function(e){var t=Object(a.useState)(new Image),n=Object(l.a)(t,1)[0],r=Object(a.useState)(!1),c=Object(l.a)(r,2),i=c[0],s=c[1];return Object(a.useEffect)((function(){return n.onload=function(){s(!0)},s(!1),n.src=URL.createObjectURL(e),function(){n.onload=null}}),[e,n]),[n,i]}(t),m=Object(l.a)(f,2),O=m[0],w=m[1],k=Object(a.useState)([]),N=Object(l.a)(k,2),M=N[0],D=N[1],E=Object(a.useState)(),z=Object(l.a)(E,2),H=z[0],P=z[1],T=Object(a.useState)((function(){return document.createElement("canvas")})),U=Object(l.a)(T,1)[0],W=Object(a.useState)([{pts:[]}]),Z=Object(l.a)(W,2),F=Z[0],I=Z[1],R=Object(a.useState)([{pts:[]}]),V=Object(l.a)(R,2),B=V[0],K=V[1],A=Object(a.useState)([]),J=Object(l.a)(A,2),X=J[0],Y=J[1],$=Object(a.useState)({x:-1,y:-1}),_=Object(l.a)($,2),G=_[0],q=G.x,Q=G.y,ee=_[1],te=Object(a.useState)(!1),ne=Object(l.a)(te,2),ae=ne[0],re=ne[1],ce=Object(a.useState)(!1),ie=Object(l.a)(ce,2),se=ie[0],oe=ie[1],le=Object(a.useState)(!1),ue=Object(l.a)(le,2),pe=ue[0],de=ue[1],he=Object(a.useState)(!1),be=Object(l.a)(he,2),fe=be[0],je=be[1],ve=Object(a.useState)(1),me=Object(l.a)(ve,2),xe=me[0],Oe=me[1],ge=Object(j.a)("sizeLimit","1080"),we=Object(l.a)(ge,2),ye=we[0],ke=we[1],Ne=Object(p.a)(),Ce=Object(a.useState)(!1),Se=Object(l.a)(Ce,2),Le=Se[0],Me=Se[1],De=Object(a.useState)(!1),Ee=Object(l.a)(De,2),ze=Ee[0],He=Ee[1],Pe=Object(a.useCallback)((function(){if(H){H.clearRect(0,0,H.canvas.width,H.canvas.height);var e=M[M.length-1];(null===e||void 0===e?void 0:e.src)?H.drawImage(e,0,0):H.drawImage(O,0,0),L(H,B)}}),[H,B,O,M]),Te=Object(a.useCallback)((function(){if(!(null===H||void 0===H?void 0:H.canvas.width)||!(null===H||void 0===H?void 0:H.canvas.height))throw new Error("canvas has invalid size");U.width=null===H||void 0===H?void 0:H.canvas.width,U.height=null===H||void 0===H?void 0:H.canvas.height;var e=U.getContext("2d");if(!e)throw new Error("could not retrieve mask canvas");L(e,F,"white")}),[null===H||void 0===H?void 0:H.canvas.height,null===H||void 0===H?void 0:H.canvas.width,F,U]),Ue=Object(a.useCallback)(Object(o.a)(s.a.mark((function e(){var n,a;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return de(!0),Te(),e.prev=2,e.next=5,g(t,U.toDataURL(),ye);case 5:if(n=e.sent){e.next=8;break}throw new Error("empty response");case 8:return a=new Image,e.next=11,x(a,n);case 11:M.push(a),F.push({pts:[]}),D(Object(b.a)(M)),I(Object(b.a)(F)),X.push(B.length),Y(X),B.length=0,K([{pts:[]}]),e.next=24;break;case 21:e.prev=21,e.t0=e.catch(2),alert(e.t0.message?e.t0.message:e.t0.toString());case 24:de(!1),Pe();case 26:case"end":return e.stop()}}),e,null,[[2,21]])}))),[Pe,t,F,B,U,Te,M,ye,X]),We=function(e){return"Control"===e.key||"Meta"===e.key};Object(v.a)(We,(function(){ze&&(pe||(He(!1),0!==B.length&&0!==B[0].pts.length&&Ue()))}),{event:"keyup"}),Object(v.a)(We,(function(){pe||He(!0)}),{event:"keydown"}),Object(a.useEffect)((function(){if((null===H||void 0===H?void 0:H.canvas)&&w){H.canvas.width=O.naturalWidth,H.canvas.height=O.naturalHeight;var e=Ne.width/O.naturalWidth,t=(Ne.height-200)/O.naturalHeight;Oe(e<1||t<1?Math.min(e,t):1),Pe()}}),[null===H||void 0===H?void 0:H.canvas,Pe,O,w,Ne]);var Ze=function(e,t){B[B.length-1].pts.push({x:e,y:t}),F[F.length-1].pts.push({x:e,y:t}),Pe()},Fe=function(){for(var e=F,t=X[X.length-1],n=0;n<=t;n+=1)e.pop();I([].concat(Object(b.a)(e),[{pts:[]}])),X.pop(),Y(X);var a=M;a.pop(),D(Object(b.a)(a))};Object(v.a)((function(e){return!!M.length&&(!!X.length&&(!(!e.metaKey&&!e.ctrlKey||"z"!==e.key)&&(e.preventDefault(),!0)))}),Fe);var Ie=function(e){e!==ae&&re(e)};return Object(d.jsxs)("div",{className:["flex flex-col items-center",pe?"animate-pulse-fast transition-opacity":"",1!==xe?"pb-24":""].join(" "),style:{height:1!==xe?O.naturalHeight*xe:void 0},"aria-hidden":"true",onMouseMove:function(e){var t=e.nativeEvent;ee({x:t.pageX,y:t.pageY})},onMouseUp:function(){if(O.src&&((null===H||void 0===H?void 0:H.canvas)&&!pe)){if(Me(!1),ze)return F.push({pts:[]}),I(Object(b.a)(F)),B.push({pts:[]}),void K(Object(b.a)(B));0!==B.length&&0!==B[0].pts.length&&Ue()}},children:[Object(d.jsxs)("div",{className:[1!==xe?"":"relative"].join(" "),style:{transform:"scale(".concat(xe,")"),transformOrigin:"top center",borderColor:"".concat(ze?S:"rgba(255,255,255,0)"),borderWidth:"".concat(8/xe,"px")},children:[Object(d.jsx)("canvas",{className:"rounded-sm",style:ae?{cursor:"none"}:{},onContextMenu:function(e){e.preventDefault()},onMouseOver:function(){return Ie(!0)},onFocus:function(){return Ie(!0)},onMouseLeave:function(){return Ie(!1)},onMouseDown:function(e){if(O.src&&((null===H||void 0===H?void 0:H.canvas)&&!pe)){Me(!0),B[B.length-1].size=c,F[F.length-1].size=c;var t=e.nativeEvent;Ze(t.offsetX,t.offsetY)}},onMouseMove:function(e){if(Le){var t=e.nativeEvent,n=t.offsetX,a=t.offsetY;Ze(n,a)}},ref:function(e){if(e&&!H){var t=e.getContext("2d");t&&P(t)}}}),Object(d.jsx)("div",{className:["absolute top-0 right-0 pointer-events-none","overflow-hidden","border-primary",fe?"border-l-4":""].join(" "),style:{width:se?"".concat(Math.round(O.naturalWidth),"px"):"0px",height:O.naturalHeight,transitionProperty:"width, height",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"300ms"},children:Object(d.jsx)("img",{className:"absolute right-0",src:O.src,alt:"original",width:"".concat(O.naturalWidth,"px"),height:"".concat(O.naturalHeight,"px"),style:{width:"".concat(O.naturalWidth,"px"),height:"".concat(O.naturalHeight,"px"),maxWidth:"none"}})})]}),ae&&!pe&&Object(d.jsx)("div",{className:"hidden sm:block absolute rounded-full border border-primary bg-primary bg-opacity-80 pointer-events-none",style:{width:"".concat(c*xe,"px"),height:"".concat(c*xe,"px"),left:"".concat(q,"px"),top:"".concat(Q,"px"),transform:"translate(-50%, -50%)"}}),Object(d.jsxs)("div",{className:["flex items-center w-full max-w-5xl","space-x-3 sm:space-x-5","p-6",1!==xe?"absolute bottom-0 justify-evenly":"relative justify-evenly sm:justify-between"].join(" "),children:[Object(d.jsx)(C,{value:ye,onChange:function(e){ke(e)},originalSize:"".concat(O.naturalWidth,"x").concat(O.naturalHeight)}),Object(d.jsx)(y,{label:Object(d.jsx)("span",{children:Object(d.jsx)("span",{className:"hidden md:inline",children:"Brush"})}),min:10,max:150,value:c,onChange:i}),M.length?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)(h,{icon:Object(d.jsx)("svg",{width:"19",height:"9",viewBox:"0 0 19 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-6 h-6",children:Object(d.jsx)("path",{d:"M2 1C2 0.447715 1.55228 0 1 0C0.447715 0 0 0.447715 0 1H2ZM1 8H0V9H1V8ZM8 9C8.55228 9 9 8.55229 9 8C9 7.44771 8.55228 7 8 7V9ZM16.5963 7.42809C16.8327 7.92721 17.429 8.14016 17.9281 7.90374C18.4272 7.66731 18.6402 7.07103 18.4037 6.57191L16.5963 7.42809ZM16.9468 5.83205L17.8505 5.40396L16.9468 5.83205ZM0 1V8H2V1H0ZM1 9H8V7H1V9ZM1.66896 8.74329L6.66896 4.24329L5.33104 2.75671L0.331035 7.25671L1.66896 8.74329ZM16.043 6.26014L16.5963 7.42809L18.4037 6.57191L17.8505 5.40396L16.043 6.26014ZM6.65079 4.25926C9.67554 1.66661 14.3376 2.65979 16.043 6.26014L17.8505 5.40396C15.5805 0.61182 9.37523 -0.710131 5.34921 2.74074L6.65079 4.25926Z",fill:"currentColor"})}),onClick:Fe}),Object(d.jsx)(h,{icon:Object(d.jsx)(u.c,{className:"w-6 h-6"}),onDown:function(e){e.preventDefault(),je(!0),oe(!0)},onUp:function(){oe(!1),setTimeout((function(){return je(!1)}),300)},children:Ne.width>640?"Original":void 0})]}):Object(d.jsx)(d.Fragment,{}),Object(d.jsx)(h,{primary:!0,icon:Object(d.jsx)(u.b,{className:"w-6 h-6"}),disabled:!M.length,onClick:function(){var e=t.name.replace(/(\.[\w\d_-]+)$/i,"_cleanup$1");!function(e,t){var n=document.createElement("a");n.href=e,n.download=t,n.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),setTimeout((function(){n.remove()}),100)}(M[M.length-1].currentSrc,e)},children:Ne.width>640?"Download":void 0})]})]})}var D=function(){var e=Object(a.useState)(),t=Object(l.a)(e,2),n=t[0],r=t[1],c=Object(p.a)();return Object(d.jsxs)("div",{className:"h-full full-visible-h-safari flex flex-col",children:[Object(d.jsx)("header",{className:"relative z-10 flex px-5 pt-3 justify-center sm:justify-between items-center sm:items-start",children:n?Object(d.jsx)(h,{icon:Object(d.jsx)(u.a,{className:"w-6 h-6"}),onClick:function(){r(void 0)},children:c.width>640?"Start new":void 0}):Object(d.jsx)(d.Fragment,{})}),Object(d.jsx)("main",{className:["h-full flex flex-1 flex-col sm:items-center sm:justify-center overflow-hidden","items-center justify-center","pb-20"].join(" "),children:n?Object(d.jsx)(M,{file:n}):Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{className:["flex flex-col sm:flex-row items-center","space-y-5 sm:space-y-0 sm:space-x-6 p-5 pt-0 pb-10"].join(" "),children:Object(d.jsx)("div",{className:"max-w-xl flex flex-col items-center sm:items-start p-0 m-0 space-y-5",children:Object(d.jsxs)("h1",{className:"text-center sm:text-left text-xl sm:text-3xl",children:["Image inpainting powered by \ud83e\udd99",Object(d.jsx)("u",{children:Object(d.jsx)("a",{href:"https://github.com/saic-mdal/lama",children:"LaMa"})})]})})}),Object(d.jsx)("div",{className:"h-20 sm:h-52 px-4 w-full",style:{maxWidth:"800px"},children:Object(d.jsx)(f,{onSelection:function(){var e=Object(o.a)(s.a.mark((function e(t){return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r(t);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()})})]})})]})};c.a.render(Object(d.jsx)(D,{}),document.getElementById("root"))}},[[20,1,2]]]);