diff --git a/invokeai/frontend/dist/assets/index-ad762ffd.js b/invokeai/frontend/dist/assets/index-a93d4500.js similarity index 99% rename from invokeai/frontend/dist/assets/index-ad762ffd.js rename to invokeai/frontend/dist/assets/index-a93d4500.js index dee1d5d7e4..ee8c8c1674 100644 --- a/invokeai/frontend/dist/assets/index-ad762ffd.js +++ b/invokeai/frontend/dist/assets/index-a93d4500.js @@ -635,4 +635,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZY(e,t){if(e){if(typeof e=="string")return e_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e_(e,t)}}function e_(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,gN(n)];if(e.sizen)return[!1,gN(n)]}return[!0,null]}function Sh(e){return e!=null}function QRe(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,o=e.multiple,a=e.maxFiles,s=e.validator;return!o&&t.length>1||o&&a>=1&&t.length>a?!1:t.every(function(l){var u=QY(l,n),d=ay(u,1),h=d[0],m=JY(l,r,i),v=ay(m,1),b=v[0],S=s?s(l):null;return h&&b&&!S})}function fS(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Xb(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function vN(e){e.preventDefault()}function JRe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function eDe(e){return e.indexOf("Edge/")!==-1}function tDe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return JRe(e)||eDe(e)}function Il(){for(var e=arguments.length,t=new Array(e),n=0;n1?i-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function yDe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var lT=w.forwardRef(function(e,t){var n=e.children,r=hS(e,sDe),i=iK(r),o=i.open,a=hS(i,lDe);return w.useImperativeHandle(t,function(){return{open:o}},[o]),N.createElement(w.Fragment,null,n(Cr(Cr({},a),{},{open:o})))});lT.displayName="Dropzone";var rK={disabled:!1,getFilesFromEvent:ARe,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};lT.defaultProps=rK;lT.propTypes={children:jn.func,accept:jn.objectOf(jn.arrayOf(jn.string)),multiple:jn.bool,preventDropOnDocument:jn.bool,noClick:jn.bool,noKeyboard:jn.bool,noDrag:jn.bool,noDragEventsBubbling:jn.bool,minSize:jn.number,maxSize:jn.number,maxFiles:jn.number,disabled:jn.bool,getFilesFromEvent:jn.func,onFileDialogCancel:jn.func,onFileDialogOpen:jn.func,useFsAccessApi:jn.bool,autoFocus:jn.bool,onDragEnter:jn.func,onDragLeave:jn.func,onDragOver:jn.func,onDrop:jn.func,onDropAccepted:jn.func,onDropRejected:jn.func,onError:jn.func,validator:jn.func};var r_={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function iK(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Cr(Cr({},rK),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,o=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,h=t.onDragOver,m=t.onDrop,v=t.onDropAccepted,b=t.onDropRejected,S=t.onFileDialogCancel,k=t.onFileDialogOpen,E=t.useFsAccessApi,_=t.autoFocus,T=t.preventDropOnDocument,A=t.noClick,I=t.noKeyboard,R=t.noDrag,D=t.noDragEventsBubbling,j=t.onError,z=t.validator,V=w.useMemo(function(){return iDe(n)},[n]),K=w.useMemo(function(){return rDe(n)},[n]),te=w.useMemo(function(){return typeof k=="function"?k:bN},[k]),q=w.useMemo(function(){return typeof S=="function"?S:bN},[S]),$=w.useRef(null),U=w.useRef(null),X=w.useReducer(bDe,r_),Z=VC(X,2),W=Z[0],Q=Z[1],ie=W.isFocused,fe=W.isFileDialogActive,Se=w.useRef(typeof window<"u"&&window.isSecureContext&&E&&nDe()),Pe=function(){!Se.current&&fe&&setTimeout(function(){if(U.current){var Ne=U.current.files;Ne.length||(Q({type:"closeDialog"}),q())}},300)};w.useEffect(function(){return window.addEventListener("focus",Pe,!1),function(){window.removeEventListener("focus",Pe,!1)}},[U,fe,q,Se]);var ye=w.useRef([]),We=function(Ne){$.current&&$.current.contains(Ne.target)||(Ne.preventDefault(),ye.current=[])};w.useEffect(function(){return T&&(document.addEventListener("dragover",vN,!1),document.addEventListener("drop",We,!1)),function(){T&&(document.removeEventListener("dragover",vN),document.removeEventListener("drop",We))}},[$,T]),w.useEffect(function(){return!r&&_&&$.current&&$.current.focus(),function(){}},[$,_,r]);var De=w.useCallback(function(xe){j?j(xe):console.error(xe)},[j]),ot=w.useCallback(function(xe){xe.preventDefault(),xe.persist(),ae(xe),ye.current=[].concat(dDe(ye.current),[xe.target]),Xb(xe)&&Promise.resolve(i(xe)).then(function(Ne){if(!(fS(xe)&&!D)){var Ct=Ne.length,Dt=Ct>0&&QRe({files:Ne,accept:V,minSize:a,maxSize:o,multiple:s,maxFiles:l,validator:z}),Te=Ct>0&&!Dt;Q({isDragAccept:Dt,isDragReject:Te,isDragActive:!0,type:"setDraggedFiles"}),u&&u(xe)}}).catch(function(Ne){return De(Ne)})},[i,u,De,D,V,a,o,s,l,z]),He=w.useCallback(function(xe){xe.preventDefault(),xe.persist(),ae(xe);var Ne=Xb(xe);if(Ne&&xe.dataTransfer)try{xe.dataTransfer.dropEffect="copy"}catch{}return Ne&&h&&h(xe),!1},[h,D]),Be=w.useCallback(function(xe){xe.preventDefault(),xe.persist(),ae(xe);var Ne=ye.current.filter(function(Dt){return $.current&&$.current.contains(Dt)}),Ct=Ne.indexOf(xe.target);Ct!==-1&&Ne.splice(Ct,1),ye.current=Ne,!(Ne.length>0)&&(Q({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Xb(xe)&&d&&d(xe))},[$,d,D]),wt=w.useCallback(function(xe,Ne){var Ct=[],Dt=[];xe.forEach(function(Te){var At=QY(Te,V),$e=VC(At,2),vt=$e[0],tn=$e[1],Rn=JY(Te,a,o),Xe=VC(Rn,2),xt=Xe[0],ft=Xe[1],Ht=z?z(Te):null;if(vt&&xt&&!Ht)Ct.push(Te);else{var nn=[tn,ft];Ht&&(nn=nn.concat(Ht)),Dt.push({file:Te,errors:nn.filter(function(pr){return pr})})}}),(!s&&Ct.length>1||s&&l>=1&&Ct.length>l)&&(Ct.forEach(function(Te){Dt.push({file:Te,errors:[ZRe]})}),Ct.splice(0)),Q({acceptedFiles:Ct,fileRejections:Dt,type:"setFiles"}),m&&m(Ct,Dt,Ne),Dt.length>0&&b&&b(Dt,Ne),Ct.length>0&&v&&v(Ct,Ne)},[Q,s,V,a,o,l,m,v,b,z]),st=w.useCallback(function(xe){xe.preventDefault(),xe.persist(),ae(xe),ye.current=[],Xb(xe)&&Promise.resolve(i(xe)).then(function(Ne){fS(xe)&&!D||wt(Ne,xe)}).catch(function(Ne){return De(Ne)}),Q({type:"reset"})},[i,wt,De,D]),mt=w.useCallback(function(){if(Se.current){Q({type:"openDialog"}),te();var xe={multiple:s,types:K};window.showOpenFilePicker(xe).then(function(Ne){return i(Ne)}).then(function(Ne){wt(Ne,null),Q({type:"closeDialog"})}).catch(function(Ne){oDe(Ne)?(q(Ne),Q({type:"closeDialog"})):aDe(Ne)?(Se.current=!1,U.current?(U.current.value=null,U.current.click()):De(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):De(Ne)});return}U.current&&(Q({type:"openDialog"}),te(),U.current.value=null,U.current.click())},[Q,te,q,E,wt,De,K,s]),St=w.useCallback(function(xe){!$.current||!$.current.isEqualNode(xe.target)||(xe.key===" "||xe.key==="Enter"||xe.keyCode===32||xe.keyCode===13)&&(xe.preventDefault(),mt())},[$,mt]),Le=w.useCallback(function(){Q({type:"focus"})},[]),lt=w.useCallback(function(){Q({type:"blur"})},[]),Mt=w.useCallback(function(){A||(tDe()?setTimeout(mt,0):mt())},[A,mt]),ut=function(Ne){return r?null:Ne},_t=function(Ne){return I?null:ut(Ne)},ln=function(Ne){return R?null:ut(Ne)},ae=function(Ne){D&&Ne.stopPropagation()},Re=w.useMemo(function(){return function(){var xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ne=xe.refKey,Ct=Ne===void 0?"ref":Ne,Dt=xe.role,Te=xe.onKeyDown,At=xe.onFocus,$e=xe.onBlur,vt=xe.onClick,tn=xe.onDragEnter,Rn=xe.onDragOver,Xe=xe.onDragLeave,xt=xe.onDrop,ft=hS(xe,uDe);return Cr(Cr(n_({onKeyDown:_t(Il(Te,St)),onFocus:_t(Il(At,Le)),onBlur:_t(Il($e,lt)),onClick:ut(Il(vt,Mt)),onDragEnter:ln(Il(tn,ot)),onDragOver:ln(Il(Rn,He)),onDragLeave:ln(Il(Xe,Be)),onDrop:ln(Il(xt,st)),role:typeof Dt=="string"&&Dt!==""?Dt:"presentation"},Ct,$),!r&&!I?{tabIndex:0}:{}),ft)}},[$,St,Le,lt,Mt,ot,He,Be,st,I,R,r]),Ye=w.useCallback(function(xe){xe.stopPropagation()},[]),Ke=w.useMemo(function(){return function(){var xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ne=xe.refKey,Ct=Ne===void 0?"ref":Ne,Dt=xe.onChange,Te=xe.onClick,At=hS(xe,cDe),$e=n_({accept:V,multiple:s,type:"file",style:{display:"none"},onChange:ut(Il(Dt,st)),onClick:ut(Il(Te,Ye)),tabIndex:-1},Ct,U);return Cr(Cr({},$e),At)}},[U,n,s,st,r]);return Cr(Cr({},W),{},{isFocused:ie&&!r,getRootProps:Re,getInputProps:Ke,rootRef:$,inputRef:U,open:ut(mt)})}function bDe(e,t){switch(t.type){case"focus":return Cr(Cr({},e),{},{isFocused:!0});case"blur":return Cr(Cr({},e),{},{isFocused:!1});case"openDialog":return Cr(Cr({},r_),{},{isFileDialogActive:!0});case"closeDialog":return Cr(Cr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Cr(Cr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Cr(Cr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Cr({},r_);default:return e}}function bN(){}const SDe=e=>{const{isDragAccept:t,isDragReject:n,overlaySecondaryText:r,setIsHandlingUpload:i}=e;return Je("esc",()=>{i(!1)}),y.jsxs("div",{className:"dropzone-container",children:[t&&y.jsx("div",{className:"dropzone-overlay is-drag-accept",children:y.jsxs(Dh,{size:"lg",children:["Upload Image",r]})}),n&&y.jsxs("div",{className:"dropzone-overlay is-drag-reject",children:[y.jsx(Dh,{size:"lg",children:"Invalid Upload"}),y.jsx(Dh,{size:"md",children:"Must be single JPEG or PNG image"})]})]})},xDe=e=>{const{children:t}=e,n=Me(),r=he(Or),i=Ry({}),{t:o}=Ve(),[a,s]=w.useState(!1),{setOpenUploader:l}=xP(),u=w.useCallback(T=>{s(!0);const A=T.errors.reduce((I,R)=>`${I} -${R.message}`,"");i({title:o("toast:uploadFailed"),description:A,status:"error",isClosable:!0})},[o,i]),d=w.useCallback(async T=>{n(fD({imageFile:T}))},[n]),h=w.useCallback((T,A)=>{A.forEach(I=>{u(I)}),T.forEach(I=>{d(I)})},[d,u]),{getRootProps:m,getInputProps:v,isDragAccept:b,isDragReject:S,isDragActive:k,open:E}=iK({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:h,onDragOver:()=>s(!0),maxFiles:1});l(E),w.useEffect(()=>{const T=A=>{var j;const I=(j=A.clipboardData)==null?void 0:j.items;if(!I)return;const R=[];for(const z of I)z.kind==="file"&&["image/png","image/jpg"].includes(z.type)&&R.push(z);if(!R.length)return;if(A.stopImmediatePropagation(),R.length>1){i({description:o("toast:uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const D=R[0].getAsFile();if(!D){i({description:o("toast:uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(fD({imageFile:D}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const _=["img2img","unifiedCanvas"].includes(r)?` to ${es[r].tooltip}`:"";return y.jsx(SP.Provider,{value:E,children:y.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[y.jsx("input",{...v()}),t,k&&a&&y.jsx(SDe,{isDragAccept:b,isDragReject:S,overlaySecondaryText:_,setIsHandlingUpload:s})]})})},wDe=at(ir,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),CDe=at(ir,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),_De=()=>{const e=Me(),t=he(wDe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=he(CDe),[o,a]=w.useState(!0),s=w.useRef(null);w.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e($U()),e(CC(!n))};Je("`",()=>{e(CC(!n))},[n]),Je("esc",()=>{e(CC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:v,level:b}=d;return y.jsxs("div",{className:`console-entry console-${b}-color`,children:[y.jsxs("p",{className:"console-timestamp",children:[m,":"]}),y.jsx("p",{className:"console-message",children:v})]},h)})})}),n&&y.jsx(uo,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:y.jsx(ss,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:y.jsx(Qke,{}),onClick:()=>a(!o)})}),y.jsx(uo,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:y.jsx(ss,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?y.jsx(hEe,{}):y.jsx(pq,{}),onClick:l})})]})},kDe=at(ir,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),EDe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=he(kDe),i=t?Math.round(t*100/n):0;return y.jsx(BV,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function PDe(e){const{title:t,hotkey:n,description:r}=e;return y.jsxs("div",{className:"hotkey-modal-item",children:[y.jsxs("div",{className:"hotkey-info",children:[y.jsx("p",{className:"hotkey-title",children:t}),r&&y.jsx("p",{className:"hotkey-description",children:r})]}),y.jsx("div",{className:"hotkey-key",children:n})]})}function TDe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Wh(),{t:i}=Ve(),o=[{title:i("hotkeys:invoke.title"),desc:i("hotkeys:invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys:cancel.title"),desc:i("hotkeys:cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys:focusPrompt.title"),desc:i("hotkeys:focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys:toggleOptions.title"),desc:i("hotkeys:toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys:pinOptions.title"),desc:i("hotkeys:pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys:toggleViewer.title"),desc:i("hotkeys:toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys:toggleGallery.title"),desc:i("hotkeys:toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys:maximizeWorkSpace.title"),desc:i("hotkeys:maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys:changeTabs.title"),desc:i("hotkeys:changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys:consoleToggle.title"),desc:i("hotkeys:consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys:setPrompt.title"),desc:i("hotkeys:setPrompt.desc"),hotkey:"P"},{title:i("hotkeys:setSeed.title"),desc:i("hotkeys:setSeed.desc"),hotkey:"S"},{title:i("hotkeys:setParameters.title"),desc:i("hotkeys:setParameters.desc"),hotkey:"A"},{title:i("hotkeys:restoreFaces.title"),desc:i("hotkeys:restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys:upscale.title"),desc:i("hotkeys:upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys:showInfo.title"),desc:i("hotkeys:showInfo.desc"),hotkey:"I"},{title:i("hotkeys:sendToImageToImage.title"),desc:i("hotkeys:sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys:deleteImage.title"),desc:i("hotkeys:deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys:closePanels.title"),desc:i("hotkeys:closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys:previousImage.title"),desc:i("hotkeys:previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys:nextImage.title"),desc:i("hotkeys:nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys:toggleGalleryPin.title"),desc:i("hotkeys:toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys:increaseGalleryThumbSize.title"),desc:i("hotkeys:increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys:decreaseGalleryThumbSize.title"),desc:i("hotkeys:decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys:selectBrush.title"),desc:i("hotkeys:selectBrush.desc"),hotkey:"B"},{title:i("hotkeys:selectEraser.title"),desc:i("hotkeys:selectEraser.desc"),hotkey:"E"},{title:i("hotkeys:decreaseBrushSize.title"),desc:i("hotkeys:decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys:increaseBrushSize.title"),desc:i("hotkeys:increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys:decreaseBrushOpacity.title"),desc:i("hotkeys:decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys:increaseBrushOpacity.title"),desc:i("hotkeys:increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys:moveTool.title"),desc:i("hotkeys:moveTool.desc"),hotkey:"V"},{title:i("hotkeys:fillBoundingBox.title"),desc:i("hotkeys:fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys:eraseBoundingBox.title"),desc:i("hotkeys:eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys:colorPicker.title"),desc:i("hotkeys:colorPicker.desc"),hotkey:"C"},{title:i("hotkeys:toggleSnap.title"),desc:i("hotkeys:toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys:quickToggleMove.title"),desc:i("hotkeys:quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys:toggleLayer.title"),desc:i("hotkeys:toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys:clearMask.title"),desc:i("hotkeys:clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys:hideMask.title"),desc:i("hotkeys:hideMask.desc"),hotkey:"H"},{title:i("hotkeys:showHideBoundingBox.title"),desc:i("hotkeys:showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys:mergeVisible.title"),desc:i("hotkeys:mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys:saveToGallery.title"),desc:i("hotkeys:saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys:copyToClipboard.title"),desc:i("hotkeys:copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys:downloadImage.title"),desc:i("hotkeys:downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys:undoStroke.title"),desc:i("hotkeys:undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys:redoStroke.title"),desc:i("hotkeys:redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys:resetView.title"),desc:i("hotkeys:resetView.desc"),hotkey:"R"},{title:i("hotkeys:previousStagingImage.title"),desc:i("hotkeys:previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys:nextStagingImage.title"),desc:i("hotkeys:nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys:acceptStagingImage.title"),desc:i("hotkeys:acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const h=[];return d.forEach((m,v)=>{h.push(y.jsx(PDe,{title:m.title,description:m.desc,hotkey:m.hotkey},v))}),y.jsx("div",{className:"hotkey-modal-category",children:h})};return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:n}),y.jsxs(Yd,{isOpen:t,onClose:r,children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:" modal hotkeys-modal",children:[y.jsx(Ly,{className:"modal-close-btn"}),y.jsx("h1",{children:"Keyboard Shorcuts"}),y.jsx("div",{className:"hotkeys-modal-items",children:y.jsxs(ok,{allowMultiple:!0,children:[y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:appHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(o)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:generalHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(a)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:galleryHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(s)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:unifiedCanvasHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(l)})]})]})})]})]})]})}var SN=Array.isArray,xN=Object.keys,LDe=Object.prototype.hasOwnProperty,ADe=typeof Element<"u";function i_(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=SN(e),r=SN(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!i_(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var h=xN(e);if(o=h.length,o!==xN(t).length)return!1;for(i=o;i--!==0;)if(!LDe.call(t,h[i]))return!1;if(ADe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=h[i],!(a==="_owner"&&e.$$typeof)&&!i_(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return i_(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},ODe=function(t){return MDe(t)&&!IDe(t)};function MDe(e){return!!e&&typeof e=="object"}function IDe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||NDe(e)}var RDe=typeof Symbol=="function"&&Symbol.for,DDe=RDe?Symbol.for("react.element"):60103;function NDe(e){return e.$$typeof===DDe}function jDe(e){return Array.isArray(e)?[]:{}}function pS(e,t){return t.clone!==!1&&t.isMergeableObject(e)?sy(jDe(e),e,t):e}function BDe(e,t,n){return e.concat(t).map(function(r){return pS(r,n)})}function $De(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=pS(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=pS(t[i],n):r[i]=sy(e[i],t[i],n)}),r}function sy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||BDe,n.isMergeableObject=n.isMergeableObject||ODe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):$De(e,t,n):pS(t,n)}sy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return sy(r,i,n)},{})};var o_=sy,FDe=typeof global=="object"&&global&&global.Object===Object&&global;const oK=FDe;var zDe=typeof self=="object"&&self&&self.Object===Object&&self,HDe=oK||zDe||Function("return this")();const mu=HDe;var VDe=mu.Symbol;const ef=VDe;var aK=Object.prototype,WDe=aK.hasOwnProperty,UDe=aK.toString,gv=ef?ef.toStringTag:void 0;function GDe(e){var t=WDe.call(e,gv),n=e[gv];try{e[gv]=void 0;var r=!0}catch{}var i=UDe.call(e);return r&&(t?e[gv]=n:delete e[gv]),i}var qDe=Object.prototype,YDe=qDe.toString;function KDe(e){return YDe.call(e)}var XDe="[object Null]",ZDe="[object Undefined]",wN=ef?ef.toStringTag:void 0;function xp(e){return e==null?e===void 0?ZDe:XDe:wN&&wN in Object(e)?GDe(e):KDe(e)}function sK(e,t){return function(n){return e(t(n))}}var QDe=sK(Object.getPrototypeOf,Object);const uT=QDe;function wp(e){return e!=null&&typeof e=="object"}var JDe="[object Object]",eNe=Function.prototype,tNe=Object.prototype,lK=eNe.toString,nNe=tNe.hasOwnProperty,rNe=lK.call(Object);function CN(e){if(!wp(e)||xp(e)!=JDe)return!1;var t=uT(e);if(t===null)return!0;var n=nNe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&lK.call(n)==rNe}function iNe(){this.__data__=[],this.size=0}function uK(e,t){return e===t||e!==e&&t!==t}function cw(e,t){for(var n=e.length;n--;)if(uK(e[n][0],t))return n;return-1}var oNe=Array.prototype,aNe=oNe.splice;function sNe(e){var t=this.__data__,n=cw(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():aNe.call(t,n,1),--this.size,!0}function lNe(e){var t=this.__data__,n=cw(t,e);return n<0?void 0:t[n][1]}function uNe(e){return cw(this.__data__,e)>-1}function cNe(e,t){var n=this.__data__,r=cw(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function vc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=vje}var yje="[object Arguments]",bje="[object Array]",Sje="[object Boolean]",xje="[object Date]",wje="[object Error]",Cje="[object Function]",_je="[object Map]",kje="[object Number]",Eje="[object Object]",Pje="[object RegExp]",Tje="[object Set]",Lje="[object String]",Aje="[object WeakMap]",Oje="[object ArrayBuffer]",Mje="[object DataView]",Ije="[object Float32Array]",Rje="[object Float64Array]",Dje="[object Int8Array]",Nje="[object Int16Array]",jje="[object Int32Array]",Bje="[object Uint8Array]",$je="[object Uint8ClampedArray]",Fje="[object Uint16Array]",zje="[object Uint32Array]",sr={};sr[Ije]=sr[Rje]=sr[Dje]=sr[Nje]=sr[jje]=sr[Bje]=sr[$je]=sr[Fje]=sr[zje]=!0;sr[yje]=sr[bje]=sr[Oje]=sr[Sje]=sr[Mje]=sr[xje]=sr[wje]=sr[Cje]=sr[_je]=sr[kje]=sr[Eje]=sr[Pje]=sr[Tje]=sr[Lje]=sr[Aje]=!1;function Hje(e){return wp(e)&&mK(e.length)&&!!sr[xp(e)]}function cT(e){return function(t){return e(t)}}var vK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,f2=vK&&typeof module=="object"&&module&&!module.nodeType&&module,Vje=f2&&f2.exports===vK,UC=Vje&&oK.process,Wje=function(){try{var e=f2&&f2.require&&f2.require("util").types;return e||UC&&UC.binding&&UC.binding("util")}catch{}}();const u0=Wje;var LN=u0&&u0.isTypedArray,Uje=LN?cT(LN):Hje;const Gje=Uje;var qje=Object.prototype,Yje=qje.hasOwnProperty;function yK(e,t){var n=qy(e),r=!n&&lje(e),i=!n&&!r&&gK(e),o=!n&&!r&&!i&&Gje(e),a=n||r||i||o,s=a?rje(e.length,String):[],l=s.length;for(var u in e)(t||Yje.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||mje(u,l)))&&s.push(u);return s}var Kje=Object.prototype;function dT(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Kje;return e===n}var Xje=sK(Object.keys,Object);const Zje=Xje;var Qje=Object.prototype,Jje=Qje.hasOwnProperty;function eBe(e){if(!dT(e))return Zje(e);var t=[];for(var n in Object(e))Jje.call(e,n)&&n!="constructor"&&t.push(n);return t}function bK(e){return e!=null&&mK(e.length)&&!cK(e)}function fT(e){return bK(e)?yK(e):eBe(e)}function tBe(e,t){return e&&fw(t,fT(t),e)}function nBe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var rBe=Object.prototype,iBe=rBe.hasOwnProperty;function oBe(e){if(!Gy(e))return nBe(e);var t=dT(e),n=[];for(var r in e)r=="constructor"&&(t||!iBe.call(e,r))||n.push(r);return n}function hT(e){return bK(e)?yK(e,!0):oBe(e)}function aBe(e,t){return e&&fw(t,hT(t),e)}var SK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AN=SK&&typeof module=="object"&&module&&!module.nodeType&&module,sBe=AN&&AN.exports===SK,ON=sBe?mu.Buffer:void 0,MN=ON?ON.allocUnsafe:void 0;function lBe(e,t){if(t)return e.slice();var n=e.length,r=MN?MN(n):new e.constructor(n);return e.copy(r),r}function xK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function YN(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var KN=function(t){return Array.isArray(t)&&t.length===0},Go=function(t){return typeof t=="function"},hw=function(t){return t!==null&&typeof t=="object"},aFe=function(t){return String(Math.floor(Number(t)))===t},GC=function(t){return Object.prototype.toString.call(t)==="[object String]"},MK=function(t){return w.Children.count(t)===0},qC=function(t){return hw(t)&&Go(t.then)};function Vi(e,t,n,r){r===void 0&&(r=0);for(var i=OK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function IK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?Re.map(function(Ke){return j(Ke,Vi(ae,Ke))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(Ye).then(function(Ke){return Ke.reduce(function(xe,Ne,Ct){return Ne==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||Ne&&(xe=iu(xe,Re[Ct],Ne)),xe},{})})},[j]),V=w.useCallback(function(ae){return Promise.all([z(ae),m.validationSchema?D(ae):{},m.validate?R(ae):{}]).then(function(Re){var Ye=Re[0],Ke=Re[1],xe=Re[2],Ne=o_.all([Ye,Ke,xe],{arrayMerge:fFe});return Ne})},[m.validate,m.validationSchema,z,R,D]),K=Ka(function(ae){return ae===void 0&&(ae=A.values),I({type:"SET_ISVALIDATING",payload:!0}),V(ae).then(function(Re){return E.current&&(I({type:"SET_ISVALIDATING",payload:!1}),I({type:"SET_ERRORS",payload:Re})),Re})});w.useEffect(function(){a&&E.current===!0&&md(v.current,m.initialValues)&&K(v.current)},[a,K]);var te=w.useCallback(function(ae){var Re=ae&&ae.values?ae.values:v.current,Ye=ae&&ae.errors?ae.errors:b.current?b.current:m.initialErrors||{},Ke=ae&&ae.touched?ae.touched:S.current?S.current:m.initialTouched||{},xe=ae&&ae.status?ae.status:k.current?k.current:m.initialStatus;v.current=Re,b.current=Ye,S.current=Ke,k.current=xe;var Ne=function(){I({type:"RESET_FORM",payload:{isSubmitting:!!ae&&!!ae.isSubmitting,errors:Ye,touched:Ke,status:xe,values:Re,isValidating:!!ae&&!!ae.isValidating,submitCount:ae&&ae.submitCount&&typeof ae.submitCount=="number"?ae.submitCount:0}})};if(m.onReset){var Ct=m.onReset(A.values,st);qC(Ct)?Ct.then(Ne):Ne()}else Ne()},[m.initialErrors,m.initialStatus,m.initialTouched]);w.useEffect(function(){E.current===!0&&!md(v.current,m.initialValues)&&(u&&(v.current=m.initialValues,te()),a&&K(v.current))},[u,m.initialValues,te,a,K]),w.useEffect(function(){u&&E.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||uh,I({type:"SET_ERRORS",payload:m.initialErrors||uh}))},[u,m.initialErrors]),w.useEffect(function(){u&&E.current===!0&&!md(S.current,m.initialTouched)&&(S.current=m.initialTouched||Zb,I({type:"SET_TOUCHED",payload:m.initialTouched||Zb}))},[u,m.initialTouched]),w.useEffect(function(){u&&E.current===!0&&!md(k.current,m.initialStatus)&&(k.current=m.initialStatus,I({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var q=Ka(function(ae){if(_.current[ae]&&Go(_.current[ae].validate)){var Re=Vi(A.values,ae),Ye=_.current[ae].validate(Re);return qC(Ye)?(I({type:"SET_ISVALIDATING",payload:!0}),Ye.then(function(Ke){return Ke}).then(function(Ke){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ke}}),I({type:"SET_ISVALIDATING",payload:!1})})):(I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ye}}),Promise.resolve(Ye))}else if(m.validationSchema)return I({type:"SET_ISVALIDATING",payload:!0}),D(A.values,ae).then(function(Ke){return Ke}).then(function(Ke){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ke[ae]}}),I({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=w.useCallback(function(ae,Re){var Ye=Re.validate;_.current[ae]={validate:Ye}},[]),U=w.useCallback(function(ae){delete _.current[ae]},[]),X=Ka(function(ae,Re){I({type:"SET_TOUCHED",payload:ae});var Ye=Re===void 0?i:Re;return Ye?K(A.values):Promise.resolve()}),Z=w.useCallback(function(ae){I({type:"SET_ERRORS",payload:ae})},[]),W=Ka(function(ae,Re){var Ye=Go(ae)?ae(A.values):ae;I({type:"SET_VALUES",payload:Ye});var Ke=Re===void 0?n:Re;return Ke?K(Ye):Promise.resolve()}),Q=w.useCallback(function(ae,Re){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Re}})},[]),ie=Ka(function(ae,Re,Ye){I({type:"SET_FIELD_VALUE",payload:{field:ae,value:Re}});var Ke=Ye===void 0?n:Ye;return Ke?K(iu(A.values,ae,Re)):Promise.resolve()}),fe=w.useCallback(function(ae,Re){var Ye=Re,Ke=ae,xe;if(!GC(ae)){ae.persist&&ae.persist();var Ne=ae.target?ae.target:ae.currentTarget,Ct=Ne.type,Dt=Ne.name,Te=Ne.id,At=Ne.value,$e=Ne.checked,vt=Ne.outerHTML,tn=Ne.options,Rn=Ne.multiple;Ye=Re||Dt||Te,Ke=/number|range/.test(Ct)?(xe=parseFloat(At),isNaN(xe)?"":xe):/checkbox/.test(Ct)?pFe(Vi(A.values,Ye),$e,At):tn&&Rn?hFe(tn):At}Ye&&ie(Ye,Ke)},[ie,A.values]),Se=Ka(function(ae){if(GC(ae))return function(Re){return fe(Re,ae)};fe(ae)}),Pe=Ka(function(ae,Re,Ye){Re===void 0&&(Re=!0),I({type:"SET_FIELD_TOUCHED",payload:{field:ae,value:Re}});var Ke=Ye===void 0?i:Ye;return Ke?K(A.values):Promise.resolve()}),ye=w.useCallback(function(ae,Re){ae.persist&&ae.persist();var Ye=ae.target,Ke=Ye.name,xe=Ye.id,Ne=Ye.outerHTML,Ct=Re||Ke||xe;Pe(Ct,!0)},[Pe]),We=Ka(function(ae){if(GC(ae))return function(Re){return ye(Re,ae)};ye(ae)}),De=w.useCallback(function(ae){Go(ae)?I({type:"SET_FORMIK_STATE",payload:ae}):I({type:"SET_FORMIK_STATE",payload:function(){return ae}})},[]),ot=w.useCallback(function(ae){I({type:"SET_STATUS",payload:ae})},[]),He=w.useCallback(function(ae){I({type:"SET_ISSUBMITTING",payload:ae})},[]),Be=Ka(function(){return I({type:"SUBMIT_ATTEMPT"}),K().then(function(ae){var Re=ae instanceof Error,Ye=!Re&&Object.keys(ae).length===0;if(Ye){var Ke;try{if(Ke=mt(),Ke===void 0)return}catch(xe){throw xe}return Promise.resolve(Ke).then(function(xe){return E.current&&I({type:"SUBMIT_SUCCESS"}),xe}).catch(function(xe){if(E.current)throw I({type:"SUBMIT_FAILURE"}),xe})}else if(E.current&&(I({type:"SUBMIT_FAILURE"}),Re))throw ae})}),wt=Ka(function(ae){ae&&ae.preventDefault&&Go(ae.preventDefault)&&ae.preventDefault(),ae&&ae.stopPropagation&&Go(ae.stopPropagation)&&ae.stopPropagation(),Be().catch(function(Re){console.warn("Warning: An unhandled error was caught from submitForm()",Re)})}),st={resetForm:te,validateForm:K,validateField:q,setErrors:Z,setFieldError:Q,setFieldTouched:Pe,setFieldValue:ie,setStatus:ot,setSubmitting:He,setTouched:X,setValues:W,setFormikState:De,submitForm:Be},mt=Ka(function(){return d(A.values,st)}),St=Ka(function(ae){ae&&ae.preventDefault&&Go(ae.preventDefault)&&ae.preventDefault(),ae&&ae.stopPropagation&&Go(ae.stopPropagation)&&ae.stopPropagation(),te()}),Le=w.useCallback(function(ae){return{value:Vi(A.values,ae),error:Vi(A.errors,ae),touched:!!Vi(A.touched,ae),initialValue:Vi(v.current,ae),initialTouched:!!Vi(S.current,ae),initialError:Vi(b.current,ae)}},[A.errors,A.touched,A.values]),lt=w.useCallback(function(ae){return{setValue:function(Ye,Ke){return ie(ae,Ye,Ke)},setTouched:function(Ye,Ke){return Pe(ae,Ye,Ke)},setError:function(Ye){return Q(ae,Ye)}}},[ie,Pe,Q]),Mt=w.useCallback(function(ae){var Re=hw(ae),Ye=Re?ae.name:ae,Ke=Vi(A.values,Ye),xe={name:Ye,value:Ke,onChange:Se,onBlur:We};if(Re){var Ne=ae.type,Ct=ae.value,Dt=ae.as,Te=ae.multiple;Ne==="checkbox"?Ct===void 0?xe.checked=!!Ke:(xe.checked=!!(Array.isArray(Ke)&&~Ke.indexOf(Ct)),xe.value=Ct):Ne==="radio"?(xe.checked=Ke===Ct,xe.value=Ct):Dt==="select"&&Te&&(xe.value=xe.value||[],xe.multiple=!0)}return xe},[We,Se,A.values]),ut=w.useMemo(function(){return!md(v.current,A.values)},[v.current,A.values]),_t=w.useMemo(function(){return typeof s<"u"?ut?A.errors&&Object.keys(A.errors).length===0:s!==!1&&Go(s)?s(m):s:A.errors&&Object.keys(A.errors).length===0},[s,ut,A.errors,m]),ln=Gn({},A,{initialValues:v.current,initialErrors:b.current,initialTouched:S.current,initialStatus:k.current,handleBlur:We,handleChange:Se,handleReset:St,handleSubmit:wt,resetForm:te,setErrors:Z,setFormikState:De,setFieldTouched:Pe,setFieldValue:ie,setFieldError:Q,setStatus:ot,setSubmitting:He,setTouched:X,setValues:W,submitForm:Be,validateForm:K,validateField:q,isValid:_t,dirty:ut,unregisterField:U,registerField:$,getFieldProps:Mt,getFieldMeta:Le,getFieldHelpers:lt,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return ln}function Yy(e){var t=uFe(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return w.useImperativeHandle(o,function(){return t}),w.createElement(sFe,{value:t},n?w.createElement(n,t):i?i(t):r?Go(r)?r(t):MK(r)?null:w.Children.only(r):null)}function cFe(e){var t={};if(e.inner){if(e.inner.length===0)return iu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Vi(t,a.path)||(t=iu(t,a.path,a.message))}}return t}function dFe(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=c_(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function c_(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||CN(i)?c_(i):i!==""?i:void 0}):CN(e[r])?t[r]=c_(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function fFe(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?o_(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=o_(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function hFe(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function pFe(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var gFe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?w.useLayoutEffect:w.useEffect;function Ka(e){var t=w.useRef(e);return gFe(function(){t.current=e}),w.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Gn({},t,{length:n+1}))}else return[]},SFe=function(e){oFe(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(h){var m=typeof s=="function"?s:o,v=typeof a=="function"?a:o,b=iu(h.values,u,o(Vi(h.values,u))),S=s?m(Vi(h.errors,u)):void 0,k=a?v(Vi(h.touched,u)):void 0;return KN(S)&&(S=void 0),KN(k)&&(k=void 0),Gn({},h,{values:b,errors:s?iu(h.errors,u,S):h.errors,touched:a?iu(h.touched,u,k):h.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(c0(a),[iFe(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return yFe(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return vFe(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return YC(s,o,a)},function(s){return YC(s,o,null)},function(s){return YC(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return bFe(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(YN(i)),i.pop=i.pop.bind(YN(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Vi(i.formik.values,i.name),Vi(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?c0(a):[];return o||(o=s[i]),Go(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,h=Lh(d,["validate","validationSchema"]),m=Gn({},i,{form:h,name:u});return a?w.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):MK(l)?null:w.Children.only(l):null},t}(w.Component);SFe.defaultProps={validateOnChange:!0};const xFe=at([ir],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),XN=64,ZN=2048;function wFe(){const{openModel:e,model_list:t}=he(xFe),n=he(l=>l.system.isProcessing),r=Me(),{t:i}=Ve(),[o,a]=w.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});w.useEffect(()=>{var l,u,d,h,m,v,b;if(e){const S=ke.pickBy(t,(k,E)=>ke.isEqual(E,e));a({name:e,description:(l=S[e])==null?void 0:l.description,config:(u=S[e])==null?void 0:u.config,weights:(d=S[e])==null?void 0:d.weights,vae:(h=S[e])==null?void 0:h.vae,width:(m=S[e])==null?void 0:m.width,height:(v=S[e])==null?void 0:v.height,default:(b=S[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r($y({...l,width:Number(l.width),height:Number(l.height)}))};return e?y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[y.jsx(Ge,{alignItems:"center",children:y.jsx(fn,{fontSize:"lg",fontWeight:"bold",children:e})}),y.jsx(Ge,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:y.jsx(Yy,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>y.jsx("form",{onSubmit:l,children:y.jsxs(yn,{rowGap:"0.5rem",alignItems:"start",children:[y.jsxs(dn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:i("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?y.jsx(ur,{children:u.description}):y.jsx(lr,{margin:0,children:i("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:i("modelmanager:config")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?y.jsx(ur,{children:u.config}):y.jsx(lr,{margin:0,children:i("modelmanager:configValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:i("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?y.jsx(ur,{children:u.weights}):y.jsx(lr,{margin:0,children:i("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.vae&&d.vae,children:[y.jsx(kn,{htmlFor:"vae",fontSize:"sm",children:i("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?y.jsx(ur,{children:u.vae}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(wy,{width:"100%",children:[y.jsxs(dn,{isInvalid:!!u.width&&d.width,children:[y.jsx(kn,{htmlFor:"width",fontSize:"sm",children:i("modelmanager:width")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"width",name:"width",children:({field:h,form:m})=>y.jsx(ra,{id:"width",name:"width",min:XN,max:ZN,step:64,value:m.values.width,onChange:v=>m.setFieldValue(h.name,Number(v))})}),u.width&&d.width?y.jsx(ur,{children:u.width}):y.jsx(lr,{margin:0,children:i("modelmanager:widthValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.height&&d.height,children:[y.jsx(kn,{htmlFor:"height",fontSize:"sm",children:i("modelmanager:height")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"height",name:"height",children:({field:h,form:m})=>y.jsx(ra,{id:"height",name:"height",min:XN,max:ZN,step:64,value:m.values.height,onChange:v=>m.setFieldValue(h.name,Number(v))})}),u.height&&d.height?y.jsx(ur,{children:u.height}):y.jsx(lr,{margin:0,children:i("modelmanager:heightValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelmanager:updateModel")})]})})})})]}):y.jsx(Ge,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:y.jsx(fn,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const CFe=at([ir],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}});function _Fe(){const{openModel:e,model_list:t}=he(CFe),n=he(l=>l.system.isProcessing),r=Me(),{t:i}=Ve(),[o,a]=w.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});w.useEffect(()=>{var l,u,d,h,m,v,b,S,k,E,_,T,A,I,R,D;if(e){const j=ke.pickBy(t,(z,V)=>ke.isEqual(V,e));a({name:e,description:(l=j[e])==null?void 0:l.description,path:(u=j[e])!=null&&u.path&&((d=j[e])==null?void 0:d.path)!=="None"?(h=j[e])==null?void 0:h.path:"",repo_id:(m=j[e])!=null&&m.repo_id&&((v=j[e])==null?void 0:v.repo_id)!=="None"?(b=j[e])==null?void 0:b.repo_id:"",vae:{repo_id:(k=(S=j[e])==null?void 0:S.vae)!=null&&k.repo_id?(_=(E=j[e])==null?void 0:E.vae)==null?void 0:_.repo_id:"",path:(A=(T=j[e])==null?void 0:T.vae)!=null&&A.path?(R=(I=j[e])==null?void 0:I.vae)==null?void 0:R.path:""},default:(D=j[e])==null?void 0:D.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r($y(l))};return e?y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[y.jsx(Ge,{alignItems:"center",children:y.jsx(fn,{fontSize:"lg",fontWeight:"bold",children:e})}),y.jsx(Ge,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:y.jsx(Yy,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var h,m,v,b,S,k,E,_,T,A;return y.jsx("form",{onSubmit:l,children:y.jsxs(yn,{rowGap:"0.5rem",alignItems:"start",children:[y.jsxs(dn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:i("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?y.jsx(ur,{children:u.description}):y.jsx(lr,{margin:0,children:i("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[y.jsx(kn,{htmlFor:"path",fontSize:"sm",children:i("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?y.jsx(ur,{children:u.path}):y.jsx(lr,{margin:0,children:i("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.repo_id&&d.repo_id,children:[y.jsx(kn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelmanager:repo_id")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?y.jsx(ur,{children:u.repo_id}):y.jsx(lr,{margin:0,children:i("modelmanager:repoIDValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((h=u.vae)!=null&&h.path)&&((m=d.vae)==null?void 0:m.path),children:[y.jsx(kn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(v=u.vae)!=null&&v.path&&((b=d.vae)!=null&&b.path)?y.jsx(ur,{children:(S=u.vae)==null?void 0:S.path}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((k=u.vae)!=null&&k.repo_id)&&((E=d.vae)==null?void 0:E.repo_id),children:[y.jsx(kn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelmanager:vaeRepoID")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(_=u.vae)!=null&&_.repo_id&&((T=d.vae)!=null&&T.repo_id)?y.jsx(ur,{children:(A=u.vae)==null?void 0:A.repo_id}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeRepoIDValidationMsg")})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelmanager:updateModel")})]})})}})})]}):y.jsx(Ge,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:y.jsx(fn,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const DK=at([ir],e=>{const{model_list:t}=e,n=[];return ke.forEach(t,r=>{n.push(r.weights)}),n});function kFe(){const{t:e}=Ve();return y.jsx(ko,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelmanager:modelExists")})}function QN({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=he(DK),i=o=>{t.includes(o.target.value)?n(ke.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return y.jsxs(ko,{position:"relative",children:[r.includes(e.location)?y.jsx(kFe,{}):null,y.jsx(er,{value:e.name,label:y.jsx(y.Fragment,{children:y.jsxs(yn,{alignItems:"start",children:[y.jsx("p",{style:{fontWeight:"bold"},children:e.name}),y.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function EFe(){const e=Me(),{t}=Ve(),n=he(S=>S.system.searchFolder),r=he(S=>S.system.foundModels),i=he(DK),o=he(S=>S.ui.shouldShowExistingModelsInSearch),a=he(S=>S.system.isProcessing),[s,l]=N.useState([]),u=()=>{e(FU(null)),e(zU(null)),l([])},d=S=>{e(cD(S.checkpointFolder))},h=()=>{l([]),r&&r.forEach(S=>{i.includes(S.location)||l(k=>[...k,S.name])})},m=()=>{l([])},v=()=>{const S=r==null?void 0:r.filter(k=>s.includes(k.name));S==null||S.forEach(k=>{const E={name:k.name,description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:k.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e($y(E))}),l([])},b=()=>{const S=[],k=[];return r&&r.forEach((E,_)=>{i.includes(E.location)?k.push(y.jsx(QN,{model:E,modelsToAdd:s,setModelsToAdd:l},_)):S.push(y.jsx(QN,{model:E,modelsToAdd:s,setModelsToAdd:l},_))}),y.jsxs(y.Fragment,{children:[S,o&&k]})};return y.jsxs(y.Fragment,{children:[n?y.jsxs(Ge,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[y.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelmanager:checkpointFolder")}),y.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),y.jsx(Qe,{"aria-label":t("modelmanager:scanAgain"),tooltip:t("modelmanager:scanAgain"),icon:y.jsx(Wx,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(cD(n))}),y.jsx(Qe,{"aria-label":t("modelmanager:clearCheckpointFolder"),icon:y.jsx(zy,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:u})]}):y.jsx(Yy,{initialValues:{checkpointFolder:""},onSubmit:S=>{d(S)},children:({handleSubmit:S})=>y.jsx("form",{onSubmit:S,children:y.jsxs(wy,{columnGap:"0.5rem",children:[y.jsx(dn,{isRequired:!0,width:"max-content",children:y.jsx(dr,{as:kr,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelmanager:checkpointFolder")})}),y.jsx(Qe,{icon:y.jsx(zEe,{}),"aria-label":t("modelmanager:findModels"),tooltip:t("modelmanager:findModels"),type:"submit",disabled:a})]})})}),r&&y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",children:[y.jsxs(Ge,{justifyContent:"space-between",alignItems:"center",children:[y.jsxs("p",{children:[t("modelmanager:modelsFound"),": ",r.length]}),y.jsxs("p",{children:[t("modelmanager:selected"),": ",s.length]})]}),y.jsxs(Ge,{columnGap:"0.5rem",justifyContent:"space-between",children:[y.jsxs(Ge,{columnGap:"0.5rem",children:[y.jsx(cr,{isDisabled:s.length===r.length,onClick:h,children:t("modelmanager:selectAll")}),y.jsx(cr,{isDisabled:s.length===0,onClick:m,children:t("modelmanager:deselectAll")}),y.jsx(er,{label:t("modelmanager:showExisting"),isChecked:o,onChange:()=>e(fCe(!o))})]}),y.jsx(cr,{isDisabled:s.length===0,onClick:v,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelmanager:addSelected")})]}),y.jsxs(Ge,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&y.jsx(fn,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelmanager:selectAndAdd")}):y.jsx(fn,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelmanager:noModelsFound")}),b()]})]})]})}const JN=64,ej=2048;function PFe(){const e=Me(),{t}=Ve(),n=he(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelmanager:cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e($y(u)),e(zh(null))},[s,l]=N.useState(!1);return y.jsxs(y.Fragment,{children:[y.jsx(Qe,{"aria-label":t("common:back"),tooltip:t("common:back"),onClick:()=>e(zh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:y.jsx(XG,{})}),y.jsx(EFe,{}),y.jsx(er,{label:t("modelmanager:addManually"),isChecked:s,onChange:()=>l(!s)}),s&&y.jsx(Yy,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:h})=>y.jsx("form",{onSubmit:u,children:y.jsxs(yn,{rowGap:"0.5rem",children:[y.jsx(fn,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelmanager:manual")}),y.jsxs(dn,{isInvalid:!!d.name&&h.name,isRequired:!0,children:[y.jsx(kn,{htmlFor:"name",fontSize:"sm",children:t("modelmanager:name")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&h.name?y.jsx(ur,{children:d.name}):y.jsx(lr,{margin:0,children:t("modelmanager:nameValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.description&&h.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:t("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&h.description?y.jsx(ur,{children:d.description}):y.jsx(lr,{margin:0,children:t("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.config&&h.config,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:t("modelmanager:config")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&h.config?y.jsx(ur,{children:d.config}):y.jsx(lr,{margin:0,children:t("modelmanager:configValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.weights&&h.weights,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:t("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&h.weights?y.jsx(ur,{children:d.weights}):y.jsx(lr,{margin:0,children:t("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.vae&&h.vae,children:[y.jsx(kn,{htmlFor:"vae",fontSize:"sm",children:t("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&h.vae?y.jsx(ur,{children:d.vae}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(wy,{width:"100%",children:[y.jsxs(dn,{isInvalid:!!d.width&&h.width,children:[y.jsx(kn,{htmlFor:"width",fontSize:"sm",children:t("modelmanager:width")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"width",name:"width",children:({field:m,form:v})=>y.jsx(ra,{id:"width",name:"width",min:JN,max:ej,step:64,width:"90%",value:v.values.width,onChange:b=>v.setFieldValue(m.name,Number(b))})}),d.width&&h.width?y.jsx(ur,{children:d.width}):y.jsx(lr,{margin:0,children:t("modelmanager:widthValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.height&&h.height,children:[y.jsx(kn,{htmlFor:"height",fontSize:"sm",children:t("modelmanager:height")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"height",name:"height",children:({field:m,form:v})=>y.jsx(ra,{id:"height",name:"height",min:JN,max:ej,width:"90%",step:64,value:v.values.height,onChange:b=>v.setFieldValue(m.name,Number(b))})}),d.height&&h.height?y.jsx(ur,{children:d.height}):y.jsx(lr,{margin:0,children:t("modelmanager:heightValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelmanager:addModel")})]})})})]})}function Qb({children:e}){return y.jsx(Ge,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function TFe(){const e=Me(),{t}=Ve(),n=he(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelmanager:cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e($y(l)),e(zh(null))};return y.jsxs(Ge,{children:[y.jsx(Qe,{"aria-label":t("common:back"),tooltip:t("common:back"),onClick:()=>e(zh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:y.jsx(XG,{})}),y.jsx(Yy,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,h,m,v,b,S,k,E,_,T;return y.jsx("form",{onSubmit:s,children:y.jsxs(yn,{rowGap:"0.5rem",children:[y.jsx(Qb,{children:y.jsxs(dn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[y.jsx(kn,{htmlFor:"name",fontSize:"sm",children:t("modelmanager:name")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?y.jsx(ur,{children:l.name}):y.jsx(lr,{margin:0,children:t("modelmanager:nameValidationMsg")})]})]})}),y.jsx(Qb,{children:y.jsxs(dn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:t("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?y.jsx(ur,{children:l.description}):y.jsx(lr,{margin:0,children:t("modelmanager:descriptionValidationMsg")})]})]})}),y.jsxs(Qb,{children:[y.jsx(fn,{fontWeight:"bold",fontSize:"sm",children:t("modelmanager:formMessageDiffusersModelLocation")}),y.jsx(fn,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelmanager:formMessageDiffusersModelLocationDesc")}),y.jsxs(dn,{isInvalid:!!l.path&&u.path,children:[y.jsx(kn,{htmlFor:"path",fontSize:"sm",children:t("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?y.jsx(ur,{children:l.path}):y.jsx(lr,{margin:0,children:t("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!l.repo_id&&u.repo_id,children:[y.jsx(kn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelmanager:repo_id")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?y.jsx(ur,{children:l.repo_id}):y.jsx(lr,{margin:0,children:t("modelmanager:repoIDValidationMsg")})]})]})]}),y.jsxs(Qb,{children:[y.jsx(fn,{fontWeight:"bold",children:t("modelmanager:formMessageDiffusersVAELocation")}),y.jsx(fn,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelmanager:formMessageDiffusersVAELocationDesc")}),y.jsxs(dn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((h=u.vae)==null?void 0:h.path),children:[y.jsx(kn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((v=u.vae)!=null&&v.path)?y.jsx(ur,{children:(b=l.vae)==null?void 0:b.path}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((S=l.vae)!=null&&S.repo_id)&&((k=u.vae)==null?void 0:k.repo_id),children:[y.jsx(kn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelmanager:vaeRepoID")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(E=l.vae)!=null&&E.repo_id&&((_=u.vae)!=null&&_.repo_id)?y.jsx(ur,{children:(T=l.vae)==null?void 0:T.repo_id}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeRepoIDValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelmanager:addModel")})]})})}})]})}function tj({text:e,onClick:t}){return y.jsx(Ge,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:y.jsx(fn,{fontWeight:"bold",children:e})})}function LFe(){const{isOpen:e,onOpen:t,onClose:n}=Wh(),r=he(s=>s.ui.addNewModelUIOption),i=Me(),{t:o}=Ve(),a=()=>{n(),i(zh(null))};return y.jsxs(y.Fragment,{children:[y.jsx(cr,{"aria-label":o("modelmanager:addNewModel"),tooltip:o("modelmanager:addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:y.jsxs(Ge,{columnGap:"0.5rem",alignItems:"center",children:[y.jsx(zy,{}),o("modelmanager:addNew")]})}),y.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal add-model-modal",fontFamily:"Inter",children:[y.jsx(w0,{children:o("modelmanager:addNewModel")}),y.jsx(Ly,{marginTop:"0.3rem"}),y.jsxs(n0,{className:"add-model-modal-body",children:[r==null&&y.jsxs(Ge,{columnGap:"1rem",children:[y.jsx(tj,{text:o("modelmanager:addCheckpointModel"),onClick:()=>i(zh("ckpt"))}),y.jsx(tj,{text:o("modelmanager:addDiffuserModel"),onClick:()=>i(zh("diffusers"))})]}),r=="ckpt"&&y.jsx(PFe,{}),r=="diffusers"&&y.jsx(TFe,{})]})]})]})]})}function Jb(e){const{isProcessing:t,isConnected:n}=he(v=>v.system),r=he(v=>v.system.openModel),{t:i}=Ve(),o=Me(),{name:a,status:s,description:l}=e,u=()=>{o(VG(a))},d=()=>{o(LR(a))},h=()=>{o($8e(a)),o(LR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return y.jsxs(Ge,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[y.jsx(ko,{onClick:d,cursor:"pointer",children:y.jsx(uo,{label:l,hasArrow:!0,placement:"bottom",children:y.jsx(fn,{fontWeight:"bold",children:a})})}),y.jsx(fF,{onClick:d,cursor:"pointer"}),y.jsxs(Ge,{gap:2,alignItems:"center",children:[y.jsx(fn,{color:m(),children:s}),y.jsx(as,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelmanager:load")}),y.jsx(Qe,{icon:y.jsx(LEe,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),y.jsx(oT,{title:i("modelmanager:deleteModel"),acceptCallback:h,acceptButtonText:i("modelmanager:delete"),triggerComponent:y.jsx(Qe,{icon:y.jsx(TEe,{}),size:"sm","aria-label":i("modelmanager:deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:y.jsxs(Ge,{rowGap:"1rem",flexDirection:"column",children:[y.jsx("p",{style:{fontWeight:"bold"},children:i("modelmanager:deleteMsg1")}),y.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelmanager:deleteMsg2")})]})})]})]})}const AFe=at(ir,e=>ke.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:ke.isEqual}});function KC({label:e,isActive:t,onClick:n}){return y.jsx(cr,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const OFe=()=>{const e=he(AFe),[t,n]=w.useState(""),[r,i]=w.useState("all"),[o,a]=w.useTransition(),{t:s}=Ve(),l=d=>{a(()=>{n(d.target.value)})},u=w.useMemo(()=>{const d=[],h=[],m=[],v=[];return e.forEach((b,S)=>{b.name.toLowerCase().includes(t.toLowerCase())&&(m.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S)),b.format===r&&v.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S))),b.format!=="diffusers"?d.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S)):h.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S))}),t!==""?r==="all"?y.jsx(ko,{marginTop:"1rem",children:m}):y.jsx(ko,{marginTop:"1rem",children:v}):y.jsxs(Ge,{flexDirection:"column",rowGap:"1.5rem",children:[r==="all"&&y.jsxs(y.Fragment,{children:[y.jsxs(ko,{children:[y.jsx(fn,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:s("modelmanager:checkpointModels")}),d]}),y.jsxs(ko,{children:[y.jsx(fn,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:s("modelmanager:diffusersModels")}),h]})]}),r==="ckpt"&&y.jsx(Ge,{flexDirection:"column",marginTop:"1rem",children:d}),r==="diffusers"&&y.jsx(Ge,{flexDirection:"column",marginTop:"1rem",children:h})]})},[e,t,s,r]);return y.jsxs(Ge,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[y.jsxs(Ge,{justifyContent:"space-between",children:[y.jsx(fn,{fontSize:"1.4rem",fontWeight:"bold",children:s("modelmanager:availableModels")}),y.jsx(LFe,{})]}),y.jsx(kr,{onChange:l,label:s("modelmanager:search")}),y.jsxs(Ge,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[y.jsxs(Ge,{columnGap:"0.5rem",children:[y.jsx(KC,{label:s("modelmanager:allModels"),onClick:()=>i("all"),isActive:r==="all"}),y.jsx(KC,{label:s("modelmanager:checkpointModels"),onClick:()=>i("ckpt"),isActive:r==="ckpt"}),y.jsx(KC,{label:s("modelmanager:diffusersModels"),onClick:()=>i("diffusers"),isActive:r==="diffusers"})]}),u]})]})};function MFe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Wh(),i=he(s=>s.system.model_list),o=he(s=>s.system.openModel),{t:a}=Ve();return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:n}),y.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal",fontFamily:"Inter",children:[y.jsx(Ly,{className:"modal-close-btn"}),y.jsx(w0,{fontWeight:"bold",children:a("modelmanager:modelManager")}),y.jsxs(Ge,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[y.jsx(OFe,{}),o&&i[o].format==="diffusers"?y.jsx(_Fe,{}):y.jsx(wFe,{})]})]})]})]})}const IFe=at([ir],e=>{const{isProcessing:t,model_list:n}=e;return{models:ke.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),RFe=()=>{const e=Me(),{models:t,isProcessing:n}=he(IFe),r=he(qG),i=o=>{e(VG(o.target.value))};return y.jsx(Ge,{style:{paddingLeft:"0.3rem"},children:y.jsx(tl,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},DFe=at([ir,mp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:ke.map(o,(u,d)=>d),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),NFe=({children:e})=>{const t=Me(),{t:n}=Ve(),r=he(_=>_.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Wh(),{isOpen:s,onOpen:l,onClose:u}=Wh(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:h,shouldDisplayGuides:m,saveIntermediatesInterval:v,enableImageDebugging:b,shouldUseCanvasBetaLayout:S}=he(DFe),k=()=>{GG.purge().then(()=>{a(),l()})},E=_=>{_>r&&(_=r),_<1&&(_=1),t(Q6e(_))};return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:o}),y.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal settings-modal",children:[y.jsx(w0,{className:"settings-modal-header",children:n("common:settingsLabel")}),y.jsx(Ly,{className:"modal-close-btn"}),y.jsxs(n0,{className:"settings-modal-content",children:[y.jsxs("div",{className:"settings-modal-items",children:[y.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[y.jsx(tl,{label:n("settings:displayInProgress"),validValues:s7e,value:d,onChange:_=>t(U6e(_.target.value))}),d==="full-res"&&y.jsx(ra,{label:n("settings:saveSteps"),min:1,max:r,step:1,onChange:E,value:v,width:"auto",textAlign:"center"})]}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:confirmOnDelete"),isChecked:h,onChange:_=>t(BU(_.target.checked))}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:displayHelpIcons"),isChecked:m,onChange:_=>t(K6e(_.target.checked))}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:useCanvasBeta"),isChecked:S,onChange:_=>t(dCe(_.target.checked))})]}),y.jsxs("div",{className:"settings-modal-items",children:[y.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:enableImageDebugging"),isChecked:b,onChange:_=>t(J6e(_.target.checked))})]}),y.jsxs("div",{className:"settings-modal-reset",children:[y.jsx(Dh,{size:"md",children:n("settings:resetWebUI")}),y.jsx(as,{colorScheme:"red",onClick:k,children:n("settings:resetWebUI")}),y.jsx(fn,{children:n("settings:resetWebUIDesc1")}),y.jsx(fn,{children:n("settings:resetWebUIDesc2")})]})]}),y.jsx(yx,{children:y.jsx(as,{onClick:a,className:"modal-close-btn",children:n("common:close")})})]})]}),y.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[y.jsx(Kd,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),y.jsx(Zh,{children:y.jsx(n0,{pb:6,pt:6,children:y.jsx(Ge,{justifyContent:"center",children:y.jsx(fn,{fontSize:"lg",children:y.jsx(fn,{children:n("settings:resetComplete")})})})})})]})]})},jFe=at(ir,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),BFe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=he(jFe),s=Me(),{t:l}=Ve();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common:statusGenerating"),l("common:statusPreparing"),l("common:statusSavingImage"),l("common:statusRestoringFaces"),l("common:statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,v=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s($U())};return y.jsx(uo,{label:m,children:y.jsx(fn,{cursor:v,onClick:b,className:`status ${u}`,children:l(d)})})};function $Fe(){const{t:e}=Ve(),{setColorMode:t,colorMode:n}=dy(),r=Me(),i=he(l=>l.ui.currentTheme),o={dark:e("common:darkTheme"),light:e("common:lightTheme"),green:e("common:greenTheme")};w.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(aCe(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(y.jsx(cr,{style:{width:"6rem"},leftIcon:i===u?y.jsx(PP,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return y.jsx(Zs,{trigger:"hover",triggerComponent:y.jsx(Qe,{"aria-label":e("common:themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(pEe,{})}),children:y.jsx(yn,{align:"stretch",children:s()})})}function FFe(){const{t:e,i18n:t}=Ve(),n={en:e("common:langEnglish"),nl:e("common:langDutch"),fr:e("common:langFrench"),de:e("common:langGerman"),it:e("common:langItalian"),ja:e("common:langJapanese"),pl:e("common:langPolish"),pt_br:e("common:langBrPortuguese"),ru:e("common:langRussian"),zh_cn:e("common:langSimplifiedChinese"),es:e("common:langSpanish"),ua:e("common:langUkranian")},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(y.jsx(cr,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],tooltip:n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return y.jsx(Zs,{trigger:"hover",triggerComponent:y.jsx(Qe,{"aria-label":e("common:languagePickerLabel"),tooltip:e("common:languagePickerLabel"),icon:y.jsx(dEe,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:y.jsx(yn,{children:r()})})}const zFe=()=>{const{t:e}=Ve(),t=he(n=>n.system.app_version);return y.jsxs("div",{className:"site-header",children:[y.jsxs("div",{className:"site-header-left-side",children:[y.jsx("img",{src:LY,alt:"invoke-ai-logo"}),y.jsxs(Ge,{alignItems:"center",columnGap:"0.6rem",children:[y.jsxs(fn,{fontSize:"1.4rem",children:["invoke ",y.jsx("strong",{children:"ai"})]}),y.jsx(fn,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),y.jsxs("div",{className:"site-header-right-side",children:[y.jsx(BFe,{}),y.jsx(RFe,{}),y.jsx(MFe,{children:y.jsx(Qe,{"aria-label":e("modelmanager:modelManager"),tooltip:e("modelmanager:modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(rEe,{})})}),y.jsx(TDe,{children:y.jsx(Qe,{"aria-label":e("common:hotkeysLabel"),tooltip:e("common:hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(cEe,{})})}),y.jsx($Fe,{}),y.jsx(FFe,{}),y.jsx(Qe,{"aria-label":e("common:reportBugLabel"),tooltip:e("common:reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:y.jsx(nEe,{})})}),y.jsx(Qe,{"aria-label":e("common:githubLabel"),tooltip:e("common:githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:y.jsx(Zke,{})})}),y.jsx(Qe,{"aria-label":e("common:discordLabel"),tooltip:e("common:discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:y.jsx(Xke,{})})}),y.jsx(NFe,{children:y.jsx(Qe,{"aria-label":e("common:settingsLabel"),tooltip:e("common:settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:y.jsx(VEe,{})})})]})]})};function HFe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const VFe=()=>{const e=Me(),t=he(a_e),n=Ry();w.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(tCe())},[e,n,t])},NK=at([yp,mp,Or],(e,t,n)=>{const{shouldPinParametersPanel:r,shouldShowParametersPanel:i,shouldHoldParametersPanelOpen:o,shouldUseCanvasBetaLayout:a}=t,{shouldShowGallery:s,shouldPinGallery:l,shouldHoldGalleryOpen:u}=e,d=a&&n==="unifiedCanvas",h=!d&&!(i||o&&!r)&&["txt2img","img2img","unifiedCanvas"].includes(n),m=!(s||u&&!l)&&["txt2img","img2img","unifiedCanvas"].includes(n);return{shouldPinParametersPanel:r,shouldShowProcessButtons:!d&&(!r||!i),shouldShowParametersPanelButton:h,shouldShowParametersPanel:i,shouldShowGallery:s,shouldPinGallery:l,shouldShowGalleryButton:m}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),WFe=()=>{const e=Me(),{shouldShowParametersPanel:t,shouldShowParametersPanelButton:n,shouldShowProcessButtons:r,shouldPinParametersPanel:i,shouldShowGallery:o,shouldPinGallery:a}=he(NK),s=()=>{e(Ku(!0)),i&&setTimeout(()=>e(vi(!0)),400)};return Je("f",()=>{o||t?(e(Ku(!1)),e(Bd(!1))):(e(Ku(!0)),e(Bd(!0))),(a||i)&&setTimeout(()=>e(vi(!0)),400)},[o,t]),n?y.jsxs("div",{className:"show-hide-button-options",children:[y.jsx(Qe,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":"Show Options Panel",onClick:s,children:y.jsx(AP,{})}),r&&y.jsxs(y.Fragment,{children:[y.jsx(XP,{iconButton:!0}),y.jsx(YP,{})]})]}):null},UFe=()=>{const e=Me(),{shouldShowGallery:t,shouldShowGalleryButton:n,shouldPinGallery:r,shouldShowParametersPanel:i,shouldPinParametersPanel:o}=he(NK),a=()=>{e(Bd(!0)),r&&e(vi(!0))};return Je("f",()=>{t||i?(e(Ku(!1)),e(Bd(!1))):(e(Ku(!0)),e(Bd(!0))),(r||o)&&setTimeout(()=>e(vi(!0)),400)},[t,i]),n?y.jsx(Qe,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:a,children:y.jsx(Tq,{})}):null};HFe();const GFe=()=>(VFe(),y.jsxs("div",{className:"App",children:[y.jsxs(xDe,{children:[y.jsx(EDe,{}),y.jsxs("div",{className:"app-content",children:[y.jsx(zFe,{}),y.jsx(ERe,{})]}),y.jsx("div",{className:"app-console",children:y.jsx(_De,{})})]}),y.jsx(WFe,{}),y.jsx(UFe,{})]})),nj=()=>y.jsx(Ge,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:y.jsx(xy,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const qFe=Aj({key:"invokeai-style-cache",prepend:!0});X9.createRoot(document.getElementById("root")).render(y.jsx(N.StrictMode,{children:y.jsx(T5e,{store:UG,children:y.jsx(mW,{loading:y.jsx(nj,{}),persistor:GG,children:y.jsx(qne,{value:qFe,children:y.jsx(q4e,{children:y.jsx(N.Suspense,{fallback:y.jsx(nj,{}),children:y.jsx(GFe,{})})})})})})})); +${R.message}`,"");i({title:o("toast:uploadFailed"),description:A,status:"error",isClosable:!0})},[o,i]),d=w.useCallback(async T=>{n(fD({imageFile:T}))},[n]),h=w.useCallback((T,A)=>{A.forEach(I=>{u(I)}),T.forEach(I=>{d(I)})},[d,u]),{getRootProps:m,getInputProps:v,isDragAccept:b,isDragReject:S,isDragActive:k,open:E}=iK({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:h,onDragOver:()=>s(!0),maxFiles:1});l(E),w.useEffect(()=>{const T=A=>{var j;const I=(j=A.clipboardData)==null?void 0:j.items;if(!I)return;const R=[];for(const z of I)z.kind==="file"&&["image/png","image/jpg"].includes(z.type)&&R.push(z);if(!R.length)return;if(A.stopImmediatePropagation(),R.length>1){i({description:o("toast:uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const D=R[0].getAsFile();if(!D){i({description:o("toast:uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(fD({imageFile:D}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const _=["img2img","unifiedCanvas"].includes(r)?` to ${es[r].tooltip}`:"";return y.jsx(SP.Provider,{value:E,children:y.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[y.jsx("input",{...v()}),t,k&&a&&y.jsx(SDe,{isDragAccept:b,isDragReject:S,overlaySecondaryText:_,setIsHandlingUpload:s})]})})},wDe=at(ir,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),CDe=at(ir,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),_De=()=>{const e=Me(),t=he(wDe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=he(CDe),[o,a]=w.useState(!0),s=w.useRef(null);w.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e($U()),e(CC(!n))};Je("`",()=>{e(CC(!n))},[n]),Je("esc",()=>{e(CC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:v,level:b}=d;return y.jsxs("div",{className:`console-entry console-${b}-color`,children:[y.jsxs("p",{className:"console-timestamp",children:[m,":"]}),y.jsx("p",{className:"console-message",children:v})]},h)})})}),n&&y.jsx(uo,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:y.jsx(ss,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:y.jsx(Qke,{}),onClick:()=>a(!o)})}),y.jsx(uo,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:y.jsx(ss,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?y.jsx(hEe,{}):y.jsx(pq,{}),onClick:l})})]})},kDe=at(ir,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),EDe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=he(kDe),i=t?Math.round(t*100/n):0;return y.jsx(BV,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function PDe(e){const{title:t,hotkey:n,description:r}=e;return y.jsxs("div",{className:"hotkey-modal-item",children:[y.jsxs("div",{className:"hotkey-info",children:[y.jsx("p",{className:"hotkey-title",children:t}),r&&y.jsx("p",{className:"hotkey-description",children:r})]}),y.jsx("div",{className:"hotkey-key",children:n})]})}function TDe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Wh(),{t:i}=Ve(),o=[{title:i("hotkeys:invoke.title"),desc:i("hotkeys:invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys:cancel.title"),desc:i("hotkeys:cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys:focusPrompt.title"),desc:i("hotkeys:focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys:toggleOptions.title"),desc:i("hotkeys:toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys:pinOptions.title"),desc:i("hotkeys:pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys:toggleViewer.title"),desc:i("hotkeys:toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys:toggleGallery.title"),desc:i("hotkeys:toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys:maximizeWorkSpace.title"),desc:i("hotkeys:maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys:changeTabs.title"),desc:i("hotkeys:changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys:consoleToggle.title"),desc:i("hotkeys:consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys:setPrompt.title"),desc:i("hotkeys:setPrompt.desc"),hotkey:"P"},{title:i("hotkeys:setSeed.title"),desc:i("hotkeys:setSeed.desc"),hotkey:"S"},{title:i("hotkeys:setParameters.title"),desc:i("hotkeys:setParameters.desc"),hotkey:"A"},{title:i("hotkeys:restoreFaces.title"),desc:i("hotkeys:restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys:upscale.title"),desc:i("hotkeys:upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys:showInfo.title"),desc:i("hotkeys:showInfo.desc"),hotkey:"I"},{title:i("hotkeys:sendToImageToImage.title"),desc:i("hotkeys:sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys:deleteImage.title"),desc:i("hotkeys:deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys:closePanels.title"),desc:i("hotkeys:closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys:previousImage.title"),desc:i("hotkeys:previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys:nextImage.title"),desc:i("hotkeys:nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys:toggleGalleryPin.title"),desc:i("hotkeys:toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys:increaseGalleryThumbSize.title"),desc:i("hotkeys:increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys:decreaseGalleryThumbSize.title"),desc:i("hotkeys:decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys:selectBrush.title"),desc:i("hotkeys:selectBrush.desc"),hotkey:"B"},{title:i("hotkeys:selectEraser.title"),desc:i("hotkeys:selectEraser.desc"),hotkey:"E"},{title:i("hotkeys:decreaseBrushSize.title"),desc:i("hotkeys:decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys:increaseBrushSize.title"),desc:i("hotkeys:increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys:decreaseBrushOpacity.title"),desc:i("hotkeys:decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys:increaseBrushOpacity.title"),desc:i("hotkeys:increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys:moveTool.title"),desc:i("hotkeys:moveTool.desc"),hotkey:"V"},{title:i("hotkeys:fillBoundingBox.title"),desc:i("hotkeys:fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys:eraseBoundingBox.title"),desc:i("hotkeys:eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys:colorPicker.title"),desc:i("hotkeys:colorPicker.desc"),hotkey:"C"},{title:i("hotkeys:toggleSnap.title"),desc:i("hotkeys:toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys:quickToggleMove.title"),desc:i("hotkeys:quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys:toggleLayer.title"),desc:i("hotkeys:toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys:clearMask.title"),desc:i("hotkeys:clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys:hideMask.title"),desc:i("hotkeys:hideMask.desc"),hotkey:"H"},{title:i("hotkeys:showHideBoundingBox.title"),desc:i("hotkeys:showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys:mergeVisible.title"),desc:i("hotkeys:mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys:saveToGallery.title"),desc:i("hotkeys:saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys:copyToClipboard.title"),desc:i("hotkeys:copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys:downloadImage.title"),desc:i("hotkeys:downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys:undoStroke.title"),desc:i("hotkeys:undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys:redoStroke.title"),desc:i("hotkeys:redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys:resetView.title"),desc:i("hotkeys:resetView.desc"),hotkey:"R"},{title:i("hotkeys:previousStagingImage.title"),desc:i("hotkeys:previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys:nextStagingImage.title"),desc:i("hotkeys:nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys:acceptStagingImage.title"),desc:i("hotkeys:acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const h=[];return d.forEach((m,v)=>{h.push(y.jsx(PDe,{title:m.title,description:m.desc,hotkey:m.hotkey},v))}),y.jsx("div",{className:"hotkey-modal-category",children:h})};return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:n}),y.jsxs(Yd,{isOpen:t,onClose:r,children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:" modal hotkeys-modal",children:[y.jsx(Ly,{className:"modal-close-btn"}),y.jsx("h1",{children:"Keyboard Shorcuts"}),y.jsx("div",{className:"hotkeys-modal-items",children:y.jsxs(ok,{allowMultiple:!0,children:[y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:appHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(o)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:generalHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(a)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:galleryHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(s)})]}),y.jsxs(Gg,{children:[y.jsxs(Wg,{className:"hotkeys-modal-button",children:[y.jsx("h2",{children:i("hotkeys:unifiedCanvasHotkeys")}),y.jsx(Ug,{})]}),y.jsx(qg,{children:u(l)})]})]})})]})]})]})}var SN=Array.isArray,xN=Object.keys,LDe=Object.prototype.hasOwnProperty,ADe=typeof Element<"u";function i_(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=SN(e),r=SN(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!i_(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var h=xN(e);if(o=h.length,o!==xN(t).length)return!1;for(i=o;i--!==0;)if(!LDe.call(t,h[i]))return!1;if(ADe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=h[i],!(a==="_owner"&&e.$$typeof)&&!i_(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return i_(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},ODe=function(t){return MDe(t)&&!IDe(t)};function MDe(e){return!!e&&typeof e=="object"}function IDe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||NDe(e)}var RDe=typeof Symbol=="function"&&Symbol.for,DDe=RDe?Symbol.for("react.element"):60103;function NDe(e){return e.$$typeof===DDe}function jDe(e){return Array.isArray(e)?[]:{}}function pS(e,t){return t.clone!==!1&&t.isMergeableObject(e)?sy(jDe(e),e,t):e}function BDe(e,t,n){return e.concat(t).map(function(r){return pS(r,n)})}function $De(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=pS(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=pS(t[i],n):r[i]=sy(e[i],t[i],n)}),r}function sy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||BDe,n.isMergeableObject=n.isMergeableObject||ODe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):$De(e,t,n):pS(t,n)}sy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return sy(r,i,n)},{})};var o_=sy,FDe=typeof global=="object"&&global&&global.Object===Object&&global;const oK=FDe;var zDe=typeof self=="object"&&self&&self.Object===Object&&self,HDe=oK||zDe||Function("return this")();const mu=HDe;var VDe=mu.Symbol;const ef=VDe;var aK=Object.prototype,WDe=aK.hasOwnProperty,UDe=aK.toString,gv=ef?ef.toStringTag:void 0;function GDe(e){var t=WDe.call(e,gv),n=e[gv];try{e[gv]=void 0;var r=!0}catch{}var i=UDe.call(e);return r&&(t?e[gv]=n:delete e[gv]),i}var qDe=Object.prototype,YDe=qDe.toString;function KDe(e){return YDe.call(e)}var XDe="[object Null]",ZDe="[object Undefined]",wN=ef?ef.toStringTag:void 0;function xp(e){return e==null?e===void 0?ZDe:XDe:wN&&wN in Object(e)?GDe(e):KDe(e)}function sK(e,t){return function(n){return e(t(n))}}var QDe=sK(Object.getPrototypeOf,Object);const uT=QDe;function wp(e){return e!=null&&typeof e=="object"}var JDe="[object Object]",eNe=Function.prototype,tNe=Object.prototype,lK=eNe.toString,nNe=tNe.hasOwnProperty,rNe=lK.call(Object);function CN(e){if(!wp(e)||xp(e)!=JDe)return!1;var t=uT(e);if(t===null)return!0;var n=nNe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&lK.call(n)==rNe}function iNe(){this.__data__=[],this.size=0}function uK(e,t){return e===t||e!==e&&t!==t}function cw(e,t){for(var n=e.length;n--;)if(uK(e[n][0],t))return n;return-1}var oNe=Array.prototype,aNe=oNe.splice;function sNe(e){var t=this.__data__,n=cw(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():aNe.call(t,n,1),--this.size,!0}function lNe(e){var t=this.__data__,n=cw(t,e);return n<0?void 0:t[n][1]}function uNe(e){return cw(this.__data__,e)>-1}function cNe(e,t){var n=this.__data__,r=cw(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function vc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=vje}var yje="[object Arguments]",bje="[object Array]",Sje="[object Boolean]",xje="[object Date]",wje="[object Error]",Cje="[object Function]",_je="[object Map]",kje="[object Number]",Eje="[object Object]",Pje="[object RegExp]",Tje="[object Set]",Lje="[object String]",Aje="[object WeakMap]",Oje="[object ArrayBuffer]",Mje="[object DataView]",Ije="[object Float32Array]",Rje="[object Float64Array]",Dje="[object Int8Array]",Nje="[object Int16Array]",jje="[object Int32Array]",Bje="[object Uint8Array]",$je="[object Uint8ClampedArray]",Fje="[object Uint16Array]",zje="[object Uint32Array]",sr={};sr[Ije]=sr[Rje]=sr[Dje]=sr[Nje]=sr[jje]=sr[Bje]=sr[$je]=sr[Fje]=sr[zje]=!0;sr[yje]=sr[bje]=sr[Oje]=sr[Sje]=sr[Mje]=sr[xje]=sr[wje]=sr[Cje]=sr[_je]=sr[kje]=sr[Eje]=sr[Pje]=sr[Tje]=sr[Lje]=sr[Aje]=!1;function Hje(e){return wp(e)&&mK(e.length)&&!!sr[xp(e)]}function cT(e){return function(t){return e(t)}}var vK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,f2=vK&&typeof module=="object"&&module&&!module.nodeType&&module,Vje=f2&&f2.exports===vK,UC=Vje&&oK.process,Wje=function(){try{var e=f2&&f2.require&&f2.require("util").types;return e||UC&&UC.binding&&UC.binding("util")}catch{}}();const u0=Wje;var LN=u0&&u0.isTypedArray,Uje=LN?cT(LN):Hje;const Gje=Uje;var qje=Object.prototype,Yje=qje.hasOwnProperty;function yK(e,t){var n=qy(e),r=!n&&lje(e),i=!n&&!r&&gK(e),o=!n&&!r&&!i&&Gje(e),a=n||r||i||o,s=a?rje(e.length,String):[],l=s.length;for(var u in e)(t||Yje.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||mje(u,l)))&&s.push(u);return s}var Kje=Object.prototype;function dT(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Kje;return e===n}var Xje=sK(Object.keys,Object);const Zje=Xje;var Qje=Object.prototype,Jje=Qje.hasOwnProperty;function eBe(e){if(!dT(e))return Zje(e);var t=[];for(var n in Object(e))Jje.call(e,n)&&n!="constructor"&&t.push(n);return t}function bK(e){return e!=null&&mK(e.length)&&!cK(e)}function fT(e){return bK(e)?yK(e):eBe(e)}function tBe(e,t){return e&&fw(t,fT(t),e)}function nBe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var rBe=Object.prototype,iBe=rBe.hasOwnProperty;function oBe(e){if(!Gy(e))return nBe(e);var t=dT(e),n=[];for(var r in e)r=="constructor"&&(t||!iBe.call(e,r))||n.push(r);return n}function hT(e){return bK(e)?yK(e,!0):oBe(e)}function aBe(e,t){return e&&fw(t,hT(t),e)}var SK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AN=SK&&typeof module=="object"&&module&&!module.nodeType&&module,sBe=AN&&AN.exports===SK,ON=sBe?mu.Buffer:void 0,MN=ON?ON.allocUnsafe:void 0;function lBe(e,t){if(t)return e.slice();var n=e.length,r=MN?MN(n):new e.constructor(n);return e.copy(r),r}function xK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function YN(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var KN=function(t){return Array.isArray(t)&&t.length===0},Go=function(t){return typeof t=="function"},hw=function(t){return t!==null&&typeof t=="object"},aFe=function(t){return String(Math.floor(Number(t)))===t},GC=function(t){return Object.prototype.toString.call(t)==="[object String]"},MK=function(t){return w.Children.count(t)===0},qC=function(t){return hw(t)&&Go(t.then)};function Vi(e,t,n,r){r===void 0&&(r=0);for(var i=OK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function IK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?Re.map(function(Ke){return j(Ke,Vi(ae,Ke))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(Ye).then(function(Ke){return Ke.reduce(function(xe,Ne,Ct){return Ne==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||Ne&&(xe=iu(xe,Re[Ct],Ne)),xe},{})})},[j]),V=w.useCallback(function(ae){return Promise.all([z(ae),m.validationSchema?D(ae):{},m.validate?R(ae):{}]).then(function(Re){var Ye=Re[0],Ke=Re[1],xe=Re[2],Ne=o_.all([Ye,Ke,xe],{arrayMerge:fFe});return Ne})},[m.validate,m.validationSchema,z,R,D]),K=Ka(function(ae){return ae===void 0&&(ae=A.values),I({type:"SET_ISVALIDATING",payload:!0}),V(ae).then(function(Re){return E.current&&(I({type:"SET_ISVALIDATING",payload:!1}),I({type:"SET_ERRORS",payload:Re})),Re})});w.useEffect(function(){a&&E.current===!0&&md(v.current,m.initialValues)&&K(v.current)},[a,K]);var te=w.useCallback(function(ae){var Re=ae&&ae.values?ae.values:v.current,Ye=ae&&ae.errors?ae.errors:b.current?b.current:m.initialErrors||{},Ke=ae&&ae.touched?ae.touched:S.current?S.current:m.initialTouched||{},xe=ae&&ae.status?ae.status:k.current?k.current:m.initialStatus;v.current=Re,b.current=Ye,S.current=Ke,k.current=xe;var Ne=function(){I({type:"RESET_FORM",payload:{isSubmitting:!!ae&&!!ae.isSubmitting,errors:Ye,touched:Ke,status:xe,values:Re,isValidating:!!ae&&!!ae.isValidating,submitCount:ae&&ae.submitCount&&typeof ae.submitCount=="number"?ae.submitCount:0}})};if(m.onReset){var Ct=m.onReset(A.values,st);qC(Ct)?Ct.then(Ne):Ne()}else Ne()},[m.initialErrors,m.initialStatus,m.initialTouched]);w.useEffect(function(){E.current===!0&&!md(v.current,m.initialValues)&&(u&&(v.current=m.initialValues,te()),a&&K(v.current))},[u,m.initialValues,te,a,K]),w.useEffect(function(){u&&E.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||uh,I({type:"SET_ERRORS",payload:m.initialErrors||uh}))},[u,m.initialErrors]),w.useEffect(function(){u&&E.current===!0&&!md(S.current,m.initialTouched)&&(S.current=m.initialTouched||Zb,I({type:"SET_TOUCHED",payload:m.initialTouched||Zb}))},[u,m.initialTouched]),w.useEffect(function(){u&&E.current===!0&&!md(k.current,m.initialStatus)&&(k.current=m.initialStatus,I({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var q=Ka(function(ae){if(_.current[ae]&&Go(_.current[ae].validate)){var Re=Vi(A.values,ae),Ye=_.current[ae].validate(Re);return qC(Ye)?(I({type:"SET_ISVALIDATING",payload:!0}),Ye.then(function(Ke){return Ke}).then(function(Ke){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ke}}),I({type:"SET_ISVALIDATING",payload:!1})})):(I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ye}}),Promise.resolve(Ye))}else if(m.validationSchema)return I({type:"SET_ISVALIDATING",payload:!0}),D(A.values,ae).then(function(Ke){return Ke}).then(function(Ke){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Ke[ae]}}),I({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=w.useCallback(function(ae,Re){var Ye=Re.validate;_.current[ae]={validate:Ye}},[]),U=w.useCallback(function(ae){delete _.current[ae]},[]),X=Ka(function(ae,Re){I({type:"SET_TOUCHED",payload:ae});var Ye=Re===void 0?i:Re;return Ye?K(A.values):Promise.resolve()}),Z=w.useCallback(function(ae){I({type:"SET_ERRORS",payload:ae})},[]),W=Ka(function(ae,Re){var Ye=Go(ae)?ae(A.values):ae;I({type:"SET_VALUES",payload:Ye});var Ke=Re===void 0?n:Re;return Ke?K(Ye):Promise.resolve()}),Q=w.useCallback(function(ae,Re){I({type:"SET_FIELD_ERROR",payload:{field:ae,value:Re}})},[]),ie=Ka(function(ae,Re,Ye){I({type:"SET_FIELD_VALUE",payload:{field:ae,value:Re}});var Ke=Ye===void 0?n:Ye;return Ke?K(iu(A.values,ae,Re)):Promise.resolve()}),fe=w.useCallback(function(ae,Re){var Ye=Re,Ke=ae,xe;if(!GC(ae)){ae.persist&&ae.persist();var Ne=ae.target?ae.target:ae.currentTarget,Ct=Ne.type,Dt=Ne.name,Te=Ne.id,At=Ne.value,$e=Ne.checked,vt=Ne.outerHTML,tn=Ne.options,Rn=Ne.multiple;Ye=Re||Dt||Te,Ke=/number|range/.test(Ct)?(xe=parseFloat(At),isNaN(xe)?"":xe):/checkbox/.test(Ct)?pFe(Vi(A.values,Ye),$e,At):tn&&Rn?hFe(tn):At}Ye&&ie(Ye,Ke)},[ie,A.values]),Se=Ka(function(ae){if(GC(ae))return function(Re){return fe(Re,ae)};fe(ae)}),Pe=Ka(function(ae,Re,Ye){Re===void 0&&(Re=!0),I({type:"SET_FIELD_TOUCHED",payload:{field:ae,value:Re}});var Ke=Ye===void 0?i:Ye;return Ke?K(A.values):Promise.resolve()}),ye=w.useCallback(function(ae,Re){ae.persist&&ae.persist();var Ye=ae.target,Ke=Ye.name,xe=Ye.id,Ne=Ye.outerHTML,Ct=Re||Ke||xe;Pe(Ct,!0)},[Pe]),We=Ka(function(ae){if(GC(ae))return function(Re){return ye(Re,ae)};ye(ae)}),De=w.useCallback(function(ae){Go(ae)?I({type:"SET_FORMIK_STATE",payload:ae}):I({type:"SET_FORMIK_STATE",payload:function(){return ae}})},[]),ot=w.useCallback(function(ae){I({type:"SET_STATUS",payload:ae})},[]),He=w.useCallback(function(ae){I({type:"SET_ISSUBMITTING",payload:ae})},[]),Be=Ka(function(){return I({type:"SUBMIT_ATTEMPT"}),K().then(function(ae){var Re=ae instanceof Error,Ye=!Re&&Object.keys(ae).length===0;if(Ye){var Ke;try{if(Ke=mt(),Ke===void 0)return}catch(xe){throw xe}return Promise.resolve(Ke).then(function(xe){return E.current&&I({type:"SUBMIT_SUCCESS"}),xe}).catch(function(xe){if(E.current)throw I({type:"SUBMIT_FAILURE"}),xe})}else if(E.current&&(I({type:"SUBMIT_FAILURE"}),Re))throw ae})}),wt=Ka(function(ae){ae&&ae.preventDefault&&Go(ae.preventDefault)&&ae.preventDefault(),ae&&ae.stopPropagation&&Go(ae.stopPropagation)&&ae.stopPropagation(),Be().catch(function(Re){console.warn("Warning: An unhandled error was caught from submitForm()",Re)})}),st={resetForm:te,validateForm:K,validateField:q,setErrors:Z,setFieldError:Q,setFieldTouched:Pe,setFieldValue:ie,setStatus:ot,setSubmitting:He,setTouched:X,setValues:W,setFormikState:De,submitForm:Be},mt=Ka(function(){return d(A.values,st)}),St=Ka(function(ae){ae&&ae.preventDefault&&Go(ae.preventDefault)&&ae.preventDefault(),ae&&ae.stopPropagation&&Go(ae.stopPropagation)&&ae.stopPropagation(),te()}),Le=w.useCallback(function(ae){return{value:Vi(A.values,ae),error:Vi(A.errors,ae),touched:!!Vi(A.touched,ae),initialValue:Vi(v.current,ae),initialTouched:!!Vi(S.current,ae),initialError:Vi(b.current,ae)}},[A.errors,A.touched,A.values]),lt=w.useCallback(function(ae){return{setValue:function(Ye,Ke){return ie(ae,Ye,Ke)},setTouched:function(Ye,Ke){return Pe(ae,Ye,Ke)},setError:function(Ye){return Q(ae,Ye)}}},[ie,Pe,Q]),Mt=w.useCallback(function(ae){var Re=hw(ae),Ye=Re?ae.name:ae,Ke=Vi(A.values,Ye),xe={name:Ye,value:Ke,onChange:Se,onBlur:We};if(Re){var Ne=ae.type,Ct=ae.value,Dt=ae.as,Te=ae.multiple;Ne==="checkbox"?Ct===void 0?xe.checked=!!Ke:(xe.checked=!!(Array.isArray(Ke)&&~Ke.indexOf(Ct)),xe.value=Ct):Ne==="radio"?(xe.checked=Ke===Ct,xe.value=Ct):Dt==="select"&&Te&&(xe.value=xe.value||[],xe.multiple=!0)}return xe},[We,Se,A.values]),ut=w.useMemo(function(){return!md(v.current,A.values)},[v.current,A.values]),_t=w.useMemo(function(){return typeof s<"u"?ut?A.errors&&Object.keys(A.errors).length===0:s!==!1&&Go(s)?s(m):s:A.errors&&Object.keys(A.errors).length===0},[s,ut,A.errors,m]),ln=Gn({},A,{initialValues:v.current,initialErrors:b.current,initialTouched:S.current,initialStatus:k.current,handleBlur:We,handleChange:Se,handleReset:St,handleSubmit:wt,resetForm:te,setErrors:Z,setFormikState:De,setFieldTouched:Pe,setFieldValue:ie,setFieldError:Q,setStatus:ot,setSubmitting:He,setTouched:X,setValues:W,submitForm:Be,validateForm:K,validateField:q,isValid:_t,dirty:ut,unregisterField:U,registerField:$,getFieldProps:Mt,getFieldMeta:Le,getFieldHelpers:lt,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return ln}function Yy(e){var t=uFe(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return w.useImperativeHandle(o,function(){return t}),w.createElement(sFe,{value:t},n?w.createElement(n,t):i?i(t):r?Go(r)?r(t):MK(r)?null:w.Children.only(r):null)}function cFe(e){var t={};if(e.inner){if(e.inner.length===0)return iu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Vi(t,a.path)||(t=iu(t,a.path,a.message))}}return t}function dFe(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=c_(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function c_(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||CN(i)?c_(i):i!==""?i:void 0}):CN(e[r])?t[r]=c_(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function fFe(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?o_(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=o_(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function hFe(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function pFe(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var gFe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?w.useLayoutEffect:w.useEffect;function Ka(e){var t=w.useRef(e);return gFe(function(){t.current=e}),w.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Gn({},t,{length:n+1}))}else return[]},SFe=function(e){oFe(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(h){var m=typeof s=="function"?s:o,v=typeof a=="function"?a:o,b=iu(h.values,u,o(Vi(h.values,u))),S=s?m(Vi(h.errors,u)):void 0,k=a?v(Vi(h.touched,u)):void 0;return KN(S)&&(S=void 0),KN(k)&&(k=void 0),Gn({},h,{values:b,errors:s?iu(h.errors,u,S):h.errors,touched:a?iu(h.touched,u,k):h.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(c0(a),[iFe(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return yFe(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return vFe(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return YC(s,o,a)},function(s){return YC(s,o,null)},function(s){return YC(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return bFe(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(YN(i)),i.pop=i.pop.bind(YN(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Vi(i.formik.values,i.name),Vi(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?c0(a):[];return o||(o=s[i]),Go(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,h=Lh(d,["validate","validationSchema"]),m=Gn({},i,{form:h,name:u});return a?w.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):MK(l)?null:w.Children.only(l):null},t}(w.Component);SFe.defaultProps={validateOnChange:!0};const xFe=at([ir],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),XN=64,ZN=2048;function wFe(){const{openModel:e,model_list:t}=he(xFe),n=he(l=>l.system.isProcessing),r=Me(),{t:i}=Ve(),[o,a]=w.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});w.useEffect(()=>{var l,u,d,h,m,v,b;if(e){const S=ke.pickBy(t,(k,E)=>ke.isEqual(E,e));a({name:e,description:(l=S[e])==null?void 0:l.description,config:(u=S[e])==null?void 0:u.config,weights:(d=S[e])==null?void 0:d.weights,vae:(h=S[e])==null?void 0:h.vae,width:(m=S[e])==null?void 0:m.width,height:(v=S[e])==null?void 0:v.height,default:(b=S[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r($y({...l,width:Number(l.width),height:Number(l.height)}))};return e?y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[y.jsx(Ge,{alignItems:"center",children:y.jsx(fn,{fontSize:"lg",fontWeight:"bold",children:e})}),y.jsx(Ge,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:y.jsx(Yy,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>y.jsx("form",{onSubmit:l,children:y.jsxs(yn,{rowGap:"0.5rem",alignItems:"start",children:[y.jsxs(dn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:i("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?y.jsx(ur,{children:u.description}):y.jsx(lr,{margin:0,children:i("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:i("modelmanager:config")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?y.jsx(ur,{children:u.config}):y.jsx(lr,{margin:0,children:i("modelmanager:configValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:i("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?y.jsx(ur,{children:u.weights}):y.jsx(lr,{margin:0,children:i("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.vae&&d.vae,children:[y.jsx(kn,{htmlFor:"vae",fontSize:"sm",children:i("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?y.jsx(ur,{children:u.vae}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(wy,{width:"100%",children:[y.jsxs(dn,{isInvalid:!!u.width&&d.width,children:[y.jsx(kn,{htmlFor:"width",fontSize:"sm",children:i("modelmanager:width")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"width",name:"width",children:({field:h,form:m})=>y.jsx(ra,{id:"width",name:"width",min:XN,max:ZN,step:64,value:m.values.width,onChange:v=>m.setFieldValue(h.name,Number(v))})}),u.width&&d.width?y.jsx(ur,{children:u.width}):y.jsx(lr,{margin:0,children:i("modelmanager:widthValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.height&&d.height,children:[y.jsx(kn,{htmlFor:"height",fontSize:"sm",children:i("modelmanager:height")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"height",name:"height",children:({field:h,form:m})=>y.jsx(ra,{id:"height",name:"height",min:XN,max:ZN,step:64,value:m.values.height,onChange:v=>m.setFieldValue(h.name,Number(v))})}),u.height&&d.height?y.jsx(ur,{children:u.height}):y.jsx(lr,{margin:0,children:i("modelmanager:heightValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelmanager:updateModel")})]})})})})]}):y.jsx(Ge,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:y.jsx(fn,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const CFe=at([ir],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}});function _Fe(){const{openModel:e,model_list:t}=he(CFe),n=he(l=>l.system.isProcessing),r=Me(),{t:i}=Ve(),[o,a]=w.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});w.useEffect(()=>{var l,u,d,h,m,v,b,S,k,E,_,T,A,I,R,D;if(e){const j=ke.pickBy(t,(z,V)=>ke.isEqual(V,e));a({name:e,description:(l=j[e])==null?void 0:l.description,path:(u=j[e])!=null&&u.path&&((d=j[e])==null?void 0:d.path)!=="None"?(h=j[e])==null?void 0:h.path:"",repo_id:(m=j[e])!=null&&m.repo_id&&((v=j[e])==null?void 0:v.repo_id)!=="None"?(b=j[e])==null?void 0:b.repo_id:"",vae:{repo_id:(k=(S=j[e])==null?void 0:S.vae)!=null&&k.repo_id?(_=(E=j[e])==null?void 0:E.vae)==null?void 0:_.repo_id:"",path:(A=(T=j[e])==null?void 0:T.vae)!=null&&A.path?(R=(I=j[e])==null?void 0:I.vae)==null?void 0:R.path:""},default:(D=j[e])==null?void 0:D.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r($y(l))};return e?y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[y.jsx(Ge,{alignItems:"center",children:y.jsx(fn,{fontSize:"lg",fontWeight:"bold",children:e})}),y.jsx(Ge,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:y.jsx(Yy,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var h,m,v,b,S,k,E,_,T,A;return y.jsx("form",{onSubmit:l,children:y.jsxs(yn,{rowGap:"0.5rem",alignItems:"start",children:[y.jsxs(dn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:i("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?y.jsx(ur,{children:u.description}):y.jsx(lr,{margin:0,children:i("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[y.jsx(kn,{htmlFor:"path",fontSize:"sm",children:i("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?y.jsx(ur,{children:u.path}):y.jsx(lr,{margin:0,children:i("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!u.repo_id&&d.repo_id,children:[y.jsx(kn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelmanager:repo_id")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?y.jsx(ur,{children:u.repo_id}):y.jsx(lr,{margin:0,children:i("modelmanager:repoIDValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((h=u.vae)!=null&&h.path)&&((m=d.vae)==null?void 0:m.path),children:[y.jsx(kn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(v=u.vae)!=null&&v.path&&((b=d.vae)!=null&&b.path)?y.jsx(ur,{children:(S=u.vae)==null?void 0:S.path}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((k=u.vae)!=null&&k.repo_id)&&((E=d.vae)==null?void 0:E.repo_id),children:[y.jsx(kn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelmanager:vaeRepoID")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(_=u.vae)!=null&&_.repo_id&&((T=d.vae)!=null&&T.repo_id)?y.jsx(ur,{children:(A=u.vae)==null?void 0:A.repo_id}):y.jsx(lr,{margin:0,children:i("modelmanager:vaeRepoIDValidationMsg")})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelmanager:updateModel")})]})})}})})]}):y.jsx(Ge,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:y.jsx(fn,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const DK=at([ir],e=>{const{model_list:t}=e,n=[];return ke.forEach(t,r=>{n.push(r.weights)}),n});function kFe(){const{t:e}=Ve();return y.jsx(ko,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelmanager:modelExists")})}function QN({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=he(DK),i=o=>{t.includes(o.target.value)?n(ke.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return y.jsxs(ko,{position:"relative",children:[r.includes(e.location)?y.jsx(kFe,{}):null,y.jsx(er,{value:e.name,label:y.jsx(y.Fragment,{children:y.jsxs(yn,{alignItems:"start",children:[y.jsx("p",{style:{fontWeight:"bold"},children:e.name}),y.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function EFe(){const e=Me(),{t}=Ve(),n=he(S=>S.system.searchFolder),r=he(S=>S.system.foundModels),i=he(DK),o=he(S=>S.ui.shouldShowExistingModelsInSearch),a=he(S=>S.system.isProcessing),[s,l]=N.useState([]),u=()=>{e(FU(null)),e(zU(null)),l([])},d=S=>{e(cD(S.checkpointFolder))},h=()=>{l([]),r&&r.forEach(S=>{i.includes(S.location)||l(k=>[...k,S.name])})},m=()=>{l([])},v=()=>{const S=r==null?void 0:r.filter(k=>s.includes(k.name));S==null||S.forEach(k=>{const E={name:k.name,description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:k.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e($y(E))}),l([])},b=()=>{const S=[],k=[];return r&&r.forEach((E,_)=>{i.includes(E.location)?k.push(y.jsx(QN,{model:E,modelsToAdd:s,setModelsToAdd:l},_)):S.push(y.jsx(QN,{model:E,modelsToAdd:s,setModelsToAdd:l},_))}),y.jsxs(y.Fragment,{children:[S,o&&k]})};return y.jsxs(y.Fragment,{children:[n?y.jsxs(Ge,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[y.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelmanager:checkpointFolder")}),y.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),y.jsx(Qe,{"aria-label":t("modelmanager:scanAgain"),tooltip:t("modelmanager:scanAgain"),icon:y.jsx(Wx,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(cD(n))}),y.jsx(Qe,{"aria-label":t("modelmanager:clearCheckpointFolder"),icon:y.jsx(zy,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:u})]}):y.jsx(Yy,{initialValues:{checkpointFolder:""},onSubmit:S=>{d(S)},children:({handleSubmit:S})=>y.jsx("form",{onSubmit:S,children:y.jsxs(wy,{columnGap:"0.5rem",children:[y.jsx(dn,{isRequired:!0,width:"max-content",children:y.jsx(dr,{as:kr,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelmanager:checkpointFolder")})}),y.jsx(Qe,{icon:y.jsx(zEe,{}),"aria-label":t("modelmanager:findModels"),tooltip:t("modelmanager:findModels"),type:"submit",disabled:a})]})})}),r&&y.jsxs(Ge,{flexDirection:"column",rowGap:"1rem",children:[y.jsxs(Ge,{justifyContent:"space-between",alignItems:"center",children:[y.jsxs("p",{children:[t("modelmanager:modelsFound"),": ",r.length]}),y.jsxs("p",{children:[t("modelmanager:selected"),": ",s.length]})]}),y.jsxs(Ge,{columnGap:"0.5rem",justifyContent:"space-between",children:[y.jsxs(Ge,{columnGap:"0.5rem",children:[y.jsx(cr,{isDisabled:s.length===r.length,onClick:h,children:t("modelmanager:selectAll")}),y.jsx(cr,{isDisabled:s.length===0,onClick:m,children:t("modelmanager:deselectAll")}),y.jsx(er,{label:t("modelmanager:showExisting"),isChecked:o,onChange:()=>e(fCe(!o))})]}),y.jsx(cr,{isDisabled:s.length===0,onClick:v,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelmanager:addSelected")})]}),y.jsxs(Ge,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&y.jsx(fn,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelmanager:selectAndAdd")}):y.jsx(fn,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelmanager:noModelsFound")}),b()]})]})]})}const JN=64,ej=2048;function PFe(){const e=Me(),{t}=Ve(),n=he(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelmanager:cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e($y(u)),e(zh(null))},[s,l]=N.useState(!1);return y.jsxs(y.Fragment,{children:[y.jsx(Qe,{"aria-label":t("common:back"),tooltip:t("common:back"),onClick:()=>e(zh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:y.jsx(XG,{})}),y.jsx(EFe,{}),y.jsx(er,{label:t("modelmanager:addManually"),isChecked:s,onChange:()=>l(!s)}),s&&y.jsx(Yy,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:h})=>y.jsx("form",{onSubmit:u,children:y.jsxs(yn,{rowGap:"0.5rem",children:[y.jsx(fn,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelmanager:manual")}),y.jsxs(dn,{isInvalid:!!d.name&&h.name,isRequired:!0,children:[y.jsx(kn,{htmlFor:"name",fontSize:"sm",children:t("modelmanager:name")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&h.name?y.jsx(ur,{children:d.name}):y.jsx(lr,{margin:0,children:t("modelmanager:nameValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.description&&h.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:t("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&h.description?y.jsx(ur,{children:d.description}):y.jsx(lr,{margin:0,children:t("modelmanager:descriptionValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.config&&h.config,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:t("modelmanager:config")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&h.config?y.jsx(ur,{children:d.config}):y.jsx(lr,{margin:0,children:t("modelmanager:configValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.weights&&h.weights,isRequired:!0,children:[y.jsx(kn,{htmlFor:"config",fontSize:"sm",children:t("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&h.weights?y.jsx(ur,{children:d.weights}):y.jsx(lr,{margin:0,children:t("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.vae&&h.vae,children:[y.jsx(kn,{htmlFor:"vae",fontSize:"sm",children:t("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&h.vae?y.jsx(ur,{children:d.vae}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(wy,{width:"100%",children:[y.jsxs(dn,{isInvalid:!!d.width&&h.width,children:[y.jsx(kn,{htmlFor:"width",fontSize:"sm",children:t("modelmanager:width")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"width",name:"width",children:({field:m,form:v})=>y.jsx(ra,{id:"width",name:"width",min:JN,max:ej,step:64,width:"90%",value:v.values.width,onChange:b=>v.setFieldValue(m.name,Number(b))})}),d.width&&h.width?y.jsx(ur,{children:d.width}):y.jsx(lr,{margin:0,children:t("modelmanager:widthValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!d.height&&h.height,children:[y.jsx(kn,{htmlFor:"height",fontSize:"sm",children:t("modelmanager:height")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{id:"height",name:"height",children:({field:m,form:v})=>y.jsx(ra,{id:"height",name:"height",min:JN,max:ej,width:"90%",step:64,value:v.values.height,onChange:b=>v.setFieldValue(m.name,Number(b))})}),d.height&&h.height?y.jsx(ur,{children:d.height}):y.jsx(lr,{margin:0,children:t("modelmanager:heightValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelmanager:addModel")})]})})})]})}function Qb({children:e}){return y.jsx(Ge,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function TFe(){const e=Me(),{t}=Ve(),n=he(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelmanager:cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e($y(l)),e(zh(null))};return y.jsxs(Ge,{children:[y.jsx(Qe,{"aria-label":t("common:back"),tooltip:t("common:back"),onClick:()=>e(zh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:y.jsx(XG,{})}),y.jsx(Yy,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,h,m,v,b,S,k,E,_,T;return y.jsx("form",{onSubmit:s,children:y.jsxs(yn,{rowGap:"0.5rem",children:[y.jsx(Qb,{children:y.jsxs(dn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[y.jsx(kn,{htmlFor:"name",fontSize:"sm",children:t("modelmanager:name")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?y.jsx(ur,{children:l.name}):y.jsx(lr,{margin:0,children:t("modelmanager:nameValidationMsg")})]})]})}),y.jsx(Qb,{children:y.jsxs(dn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[y.jsx(kn,{htmlFor:"description",fontSize:"sm",children:t("modelmanager:description")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?y.jsx(ur,{children:l.description}):y.jsx(lr,{margin:0,children:t("modelmanager:descriptionValidationMsg")})]})]})}),y.jsxs(Qb,{children:[y.jsx(fn,{fontWeight:"bold",fontSize:"sm",children:t("modelmanager:formMessageDiffusersModelLocation")}),y.jsx(fn,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelmanager:formMessageDiffusersModelLocationDesc")}),y.jsxs(dn,{isInvalid:!!l.path&&u.path,children:[y.jsx(kn,{htmlFor:"path",fontSize:"sm",children:t("modelmanager:modelLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?y.jsx(ur,{children:l.path}):y.jsx(lr,{margin:0,children:t("modelmanager:modelLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!l.repo_id&&u.repo_id,children:[y.jsx(kn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelmanager:repo_id")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?y.jsx(ur,{children:l.repo_id}):y.jsx(lr,{margin:0,children:t("modelmanager:repoIDValidationMsg")})]})]})]}),y.jsxs(Qb,{children:[y.jsx(fn,{fontWeight:"bold",children:t("modelmanager:formMessageDiffusersVAELocation")}),y.jsx(fn,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelmanager:formMessageDiffusersVAELocationDesc")}),y.jsxs(dn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((h=u.vae)==null?void 0:h.path),children:[y.jsx(kn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelmanager:vaeLocation")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((v=u.vae)!=null&&v.path)?y.jsx(ur,{children:(b=l.vae)==null?void 0:b.path}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeLocationValidationMsg")})]})]}),y.jsxs(dn,{isInvalid:!!((S=l.vae)!=null&&S.repo_id)&&((k=u.vae)==null?void 0:k.repo_id),children:[y.jsx(kn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelmanager:vaeRepoID")}),y.jsxs(yn,{alignItems:"start",children:[y.jsx(dr,{as:kr,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(E=l.vae)!=null&&E.repo_id&&((_=u.vae)!=null&&_.repo_id)?y.jsx(ur,{children:(T=l.vae)==null?void 0:T.repo_id}):y.jsx(lr,{margin:0,children:t("modelmanager:vaeRepoIDValidationMsg")})]})]})]}),y.jsx(cr,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelmanager:addModel")})]})})}})]})}function tj({text:e,onClick:t}){return y.jsx(Ge,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:y.jsx(fn,{fontWeight:"bold",children:e})})}function LFe(){const{isOpen:e,onOpen:t,onClose:n}=Wh(),r=he(s=>s.ui.addNewModelUIOption),i=Me(),{t:o}=Ve(),a=()=>{n(),i(zh(null))};return y.jsxs(y.Fragment,{children:[y.jsx(cr,{"aria-label":o("modelmanager:addNewModel"),tooltip:o("modelmanager:addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:y.jsxs(Ge,{columnGap:"0.5rem",alignItems:"center",children:[y.jsx(zy,{}),o("modelmanager:addNew")]})}),y.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal add-model-modal",fontFamily:"Inter",children:[y.jsx(w0,{children:o("modelmanager:addNewModel")}),y.jsx(Ly,{marginTop:"0.3rem"}),y.jsxs(n0,{className:"add-model-modal-body",children:[r==null&&y.jsxs(Ge,{columnGap:"1rem",children:[y.jsx(tj,{text:o("modelmanager:addCheckpointModel"),onClick:()=>i(zh("ckpt"))}),y.jsx(tj,{text:o("modelmanager:addDiffuserModel"),onClick:()=>i(zh("diffusers"))})]}),r=="ckpt"&&y.jsx(PFe,{}),r=="diffusers"&&y.jsx(TFe,{})]})]})]})]})}function Jb(e){const{isProcessing:t,isConnected:n}=he(v=>v.system),r=he(v=>v.system.openModel),{t:i}=Ve(),o=Me(),{name:a,status:s,description:l}=e,u=()=>{o(VG(a))},d=()=>{o(LR(a))},h=()=>{o($8e(a)),o(LR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return y.jsxs(Ge,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[y.jsx(ko,{onClick:d,cursor:"pointer",children:y.jsx(uo,{label:l,hasArrow:!0,placement:"bottom",children:y.jsx(fn,{fontWeight:"bold",children:a})})}),y.jsx(fF,{onClick:d,cursor:"pointer"}),y.jsxs(Ge,{gap:2,alignItems:"center",children:[y.jsx(fn,{color:m(),children:s}),y.jsx(as,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelmanager:load")}),y.jsx(Qe,{icon:y.jsx(LEe,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),y.jsx(oT,{title:i("modelmanager:deleteModel"),acceptCallback:h,acceptButtonText:i("modelmanager:delete"),triggerComponent:y.jsx(Qe,{icon:y.jsx(TEe,{}),size:"sm","aria-label":i("modelmanager:deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:y.jsxs(Ge,{rowGap:"1rem",flexDirection:"column",children:[y.jsx("p",{style:{fontWeight:"bold"},children:i("modelmanager:deleteMsg1")}),y.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelmanager:deleteMsg2")})]})})]})]})}const AFe=at(ir,e=>ke.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:ke.isEqual}});function KC({label:e,isActive:t,onClick:n}){return y.jsx(cr,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const OFe=()=>{const e=he(AFe),[t,n]=w.useState(""),[r,i]=w.useState("all"),[o,a]=w.useTransition(),{t:s}=Ve(),l=d=>{a(()=>{n(d.target.value)})},u=w.useMemo(()=>{const d=[],h=[],m=[],v=[];return e.forEach((b,S)=>{b.name.toLowerCase().includes(t.toLowerCase())&&(m.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S)),b.format===r&&v.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S))),b.format!=="diffusers"?d.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S)):h.push(y.jsx(Jb,{name:b.name,status:b.status,description:b.description},S))}),t!==""?r==="all"?y.jsx(ko,{marginTop:"1rem",children:m}):y.jsx(ko,{marginTop:"1rem",children:v}):y.jsxs(Ge,{flexDirection:"column",rowGap:"1.5rem",children:[r==="all"&&y.jsxs(y.Fragment,{children:[y.jsxs(ko,{children:[y.jsx(fn,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:s("modelmanager:checkpointModels")}),d]}),y.jsxs(ko,{children:[y.jsx(fn,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:s("modelmanager:diffusersModels")}),h]})]}),r==="ckpt"&&y.jsx(Ge,{flexDirection:"column",marginTop:"1rem",children:d}),r==="diffusers"&&y.jsx(Ge,{flexDirection:"column",marginTop:"1rem",children:h})]})},[e,t,s,r]);return y.jsxs(Ge,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[y.jsxs(Ge,{justifyContent:"space-between",children:[y.jsx(fn,{fontSize:"1.4rem",fontWeight:"bold",children:s("modelmanager:availableModels")}),y.jsx(LFe,{})]}),y.jsx(kr,{onChange:l,label:s("modelmanager:search")}),y.jsxs(Ge,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[y.jsxs(Ge,{columnGap:"0.5rem",children:[y.jsx(KC,{label:s("modelmanager:allModels"),onClick:()=>i("all"),isActive:r==="all"}),y.jsx(KC,{label:s("modelmanager:checkpointModels"),onClick:()=>i("ckpt"),isActive:r==="ckpt"}),y.jsx(KC,{label:s("modelmanager:diffusersModels"),onClick:()=>i("diffusers"),isActive:r==="diffusers"})]}),u]})]})};function MFe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Wh(),i=he(s=>s.system.model_list),o=he(s=>s.system.openModel),{t:a}=Ve();return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:n}),y.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal",fontFamily:"Inter",children:[y.jsx(Ly,{className:"modal-close-btn"}),y.jsx(w0,{fontWeight:"bold",children:a("modelmanager:modelManager")}),y.jsxs(Ge,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[y.jsx(OFe,{}),o&&i[o].format==="diffusers"?y.jsx(_Fe,{}):y.jsx(wFe,{})]})]})]})]})}const IFe=at([ir],e=>{const{isProcessing:t,model_list:n}=e;return{models:ke.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),RFe=()=>{const e=Me(),{models:t,isProcessing:n}=he(IFe),r=he(qG),i=o=>{e(VG(o.target.value))};return y.jsx(Ge,{style:{paddingLeft:"0.3rem"},children:y.jsx(tl,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},DFe=at([ir,mp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:ke.map(o,(u,d)=>d),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),NFe=({children:e})=>{const t=Me(),{t:n}=Ve(),r=he(_=>_.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Wh(),{isOpen:s,onOpen:l,onClose:u}=Wh(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:h,shouldDisplayGuides:m,saveIntermediatesInterval:v,enableImageDebugging:b,shouldUseCanvasBetaLayout:S}=he(DFe),k=()=>{GG.purge().then(()=>{a(),l()})},E=_=>{_>r&&(_=r),_<1&&(_=1),t(Q6e(_))};return y.jsxs(y.Fragment,{children:[w.cloneElement(e,{onClick:o}),y.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[y.jsx(Kd,{}),y.jsxs(Zh,{className:"modal settings-modal",children:[y.jsx(w0,{className:"settings-modal-header",children:n("common:settingsLabel")}),y.jsx(Ly,{className:"modal-close-btn"}),y.jsxs(n0,{className:"settings-modal-content",children:[y.jsxs("div",{className:"settings-modal-items",children:[y.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[y.jsx(tl,{label:n("settings:displayInProgress"),validValues:s7e,value:d,onChange:_=>t(U6e(_.target.value))}),d==="full-res"&&y.jsx(ra,{label:n("settings:saveSteps"),min:1,max:r,step:1,onChange:E,value:v,width:"auto",textAlign:"center"})]}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:confirmOnDelete"),isChecked:h,onChange:_=>t(BU(_.target.checked))}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:displayHelpIcons"),isChecked:m,onChange:_=>t(K6e(_.target.checked))}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:useCanvasBeta"),isChecked:S,onChange:_=>t(dCe(_.target.checked))})]}),y.jsxs("div",{className:"settings-modal-items",children:[y.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),y.jsx(Vs,{styleClass:"settings-modal-item",label:n("settings:enableImageDebugging"),isChecked:b,onChange:_=>t(J6e(_.target.checked))})]}),y.jsxs("div",{className:"settings-modal-reset",children:[y.jsx(Dh,{size:"md",children:n("settings:resetWebUI")}),y.jsx(as,{colorScheme:"red",onClick:k,children:n("settings:resetWebUI")}),y.jsx(fn,{children:n("settings:resetWebUIDesc1")}),y.jsx(fn,{children:n("settings:resetWebUIDesc2")})]})]}),y.jsx(yx,{children:y.jsx(as,{onClick:a,className:"modal-close-btn",children:n("common:close")})})]})]}),y.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[y.jsx(Kd,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),y.jsx(Zh,{children:y.jsx(n0,{pb:6,pt:6,children:y.jsx(Ge,{justifyContent:"center",children:y.jsx(fn,{fontSize:"lg",children:y.jsx(fn,{children:n("settings:resetComplete")})})})})})]})]})},jFe=at(ir,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),BFe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=he(jFe),s=Me(),{t:l}=Ve();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common:statusGenerating"),l("common:statusPreparing"),l("common:statusSavingImage"),l("common:statusRestoringFaces"),l("common:statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,v=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s($U())};return y.jsx(uo,{label:m,children:y.jsx(fn,{cursor:v,onClick:b,className:`status ${u}`,children:l(d)})})};function $Fe(){const{t:e}=Ve(),{setColorMode:t,colorMode:n}=dy(),r=Me(),i=he(l=>l.ui.currentTheme),o={dark:e("common:darkTheme"),light:e("common:lightTheme"),green:e("common:greenTheme")};w.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(aCe(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(y.jsx(cr,{style:{width:"6rem"},leftIcon:i===u?y.jsx(PP,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return y.jsx(Zs,{trigger:"hover",triggerComponent:y.jsx(Qe,{"aria-label":e("common:themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(pEe,{})}),children:y.jsx(yn,{align:"stretch",children:s()})})}function FFe(){const{t:e,i18n:t}=Ve(),n={ar:e("common:langArabic"),nl:e("common:langDutch"),en:e("common:langEnglish"),fr:e("common:langFrench"),de:e("common:langGerman"),it:e("common:langItalian"),ja:e("common:langJapanese"),pl:e("common:langPolish"),pt_br:e("common:langBrPortuguese"),ru:e("common:langRussian"),zh_cn:e("common:langSimplifiedChinese"),es:e("common:langSpanish"),ua:e("common:langUkranian")},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(y.jsx(cr,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return y.jsx(Zs,{trigger:"hover",triggerComponent:y.jsx(Qe,{"aria-label":e("common:languagePickerLabel"),tooltip:e("common:languagePickerLabel"),icon:y.jsx(dEe,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:y.jsx(yn,{children:r()})})}const zFe=()=>{const{t:e}=Ve(),t=he(n=>n.system.app_version);return y.jsxs("div",{className:"site-header",children:[y.jsxs("div",{className:"site-header-left-side",children:[y.jsx("img",{src:LY,alt:"invoke-ai-logo"}),y.jsxs(Ge,{alignItems:"center",columnGap:"0.6rem",children:[y.jsxs(fn,{fontSize:"1.4rem",children:["invoke ",y.jsx("strong",{children:"ai"})]}),y.jsx(fn,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),y.jsxs("div",{className:"site-header-right-side",children:[y.jsx(BFe,{}),y.jsx(RFe,{}),y.jsx(MFe,{children:y.jsx(Qe,{"aria-label":e("modelmanager:modelManager"),tooltip:e("modelmanager:modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(rEe,{})})}),y.jsx(TDe,{children:y.jsx(Qe,{"aria-label":e("common:hotkeysLabel"),tooltip:e("common:hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:y.jsx(cEe,{})})}),y.jsx($Fe,{}),y.jsx(FFe,{}),y.jsx(Qe,{"aria-label":e("common:reportBugLabel"),tooltip:e("common:reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:y.jsx(nEe,{})})}),y.jsx(Qe,{"aria-label":e("common:githubLabel"),tooltip:e("common:githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:y.jsx(Zke,{})})}),y.jsx(Qe,{"aria-label":e("common:discordLabel"),tooltip:e("common:discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:y.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:y.jsx(Xke,{})})}),y.jsx(NFe,{children:y.jsx(Qe,{"aria-label":e("common:settingsLabel"),tooltip:e("common:settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:y.jsx(VEe,{})})})]})]})};function HFe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const VFe=()=>{const e=Me(),t=he(a_e),n=Ry();w.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(tCe())},[e,n,t])},NK=at([yp,mp,Or],(e,t,n)=>{const{shouldPinParametersPanel:r,shouldShowParametersPanel:i,shouldHoldParametersPanelOpen:o,shouldUseCanvasBetaLayout:a}=t,{shouldShowGallery:s,shouldPinGallery:l,shouldHoldGalleryOpen:u}=e,d=a&&n==="unifiedCanvas",h=!d&&!(i||o&&!r)&&["txt2img","img2img","unifiedCanvas"].includes(n),m=!(s||u&&!l)&&["txt2img","img2img","unifiedCanvas"].includes(n);return{shouldPinParametersPanel:r,shouldShowProcessButtons:!d&&(!r||!i),shouldShowParametersPanelButton:h,shouldShowParametersPanel:i,shouldShowGallery:s,shouldPinGallery:l,shouldShowGalleryButton:m}},{memoizeOptions:{resultEqualityCheck:ke.isEqual}}),WFe=()=>{const e=Me(),{shouldShowParametersPanel:t,shouldShowParametersPanelButton:n,shouldShowProcessButtons:r,shouldPinParametersPanel:i,shouldShowGallery:o,shouldPinGallery:a}=he(NK),s=()=>{e(Ku(!0)),i&&setTimeout(()=>e(vi(!0)),400)};return Je("f",()=>{o||t?(e(Ku(!1)),e(Bd(!1))):(e(Ku(!0)),e(Bd(!0))),(a||i)&&setTimeout(()=>e(vi(!0)),400)},[o,t]),n?y.jsxs("div",{className:"show-hide-button-options",children:[y.jsx(Qe,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":"Show Options Panel",onClick:s,children:y.jsx(AP,{})}),r&&y.jsxs(y.Fragment,{children:[y.jsx(XP,{iconButton:!0}),y.jsx(YP,{})]})]}):null},UFe=()=>{const e=Me(),{shouldShowGallery:t,shouldShowGalleryButton:n,shouldPinGallery:r,shouldShowParametersPanel:i,shouldPinParametersPanel:o}=he(NK),a=()=>{e(Bd(!0)),r&&e(vi(!0))};return Je("f",()=>{t||i?(e(Ku(!1)),e(Bd(!1))):(e(Ku(!0)),e(Bd(!0))),(r||o)&&setTimeout(()=>e(vi(!0)),400)},[t,i]),n?y.jsx(Qe,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:a,children:y.jsx(Tq,{})}):null};HFe();const GFe=()=>(VFe(),y.jsxs("div",{className:"App",children:[y.jsxs(xDe,{children:[y.jsx(EDe,{}),y.jsxs("div",{className:"app-content",children:[y.jsx(zFe,{}),y.jsx(ERe,{})]}),y.jsx("div",{className:"app-console",children:y.jsx(_De,{})})]}),y.jsx(WFe,{}),y.jsx(UFe,{})]})),nj=()=>y.jsx(Ge,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:y.jsx(xy,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const qFe=Aj({key:"invokeai-style-cache",prepend:!0});X9.createRoot(document.getElementById("root")).render(y.jsx(N.StrictMode,{children:y.jsx(T5e,{store:UG,children:y.jsx(mW,{loading:y.jsx(nj,{}),persistor:GG,children:y.jsx(qne,{value:qFe,children:y.jsx(q4e,{children:y.jsx(N.Suspense,{fallback:y.jsx(nj,{}),children:y.jsx(GFe,{})})})})})})})); diff --git a/invokeai/frontend/dist/index.html b/invokeai/frontend/dist/index.html index 832305d5d4..587421b442 100644 --- a/invokeai/frontend/dist/index.html +++ b/invokeai/frontend/dist/index.html @@ -5,7 +5,7 @@ InvokeAI - A Stable Diffusion Toolkit - + diff --git a/invokeai/frontend/dist/locales/common/ar.json b/invokeai/frontend/dist/locales/common/ar.json new file mode 100644 index 0000000000..f76dfe7f6f --- /dev/null +++ b/invokeai/frontend/dist/locales/common/ar.json @@ -0,0 +1,49 @@ +{ + "hotkeysLabel": "مفاتيح الأختصار", + "themeLabel": "الموضوع", + "languagePickerLabel": "منتقي اللغة", + "reportBugLabel": "بلغ عن خطأ", + "githubLabel": "Github", + "discordLabel": "Discord", + "settingsLabel": "إعدادات", + "darkTheme": "داكن", + "lightTheme": "فاتح", + "greenTheme": "أخضر", + "text2img": "نص إلى صورة", + "img2img": "صورة إلى صورة", + "unifiedCanvas": "لوحة موحدة", + "nodes": "عقد", + "nodesDesc": "نظام مبني على العقد لإنتاج الصور قيد التطوير حاليًا. تبقى على اتصال مع تحديثات حول هذه الميزة المذهلة.", + "postProcessing": "معالجة بعد الإصدار", + "postProcessDesc1": "Invoke AI توفر مجموعة واسعة من ميزات المعالجة بعد الإصدار. تحسين الصور واستعادة الوجوه متاحين بالفعل في واجهة الويب. يمكنك الوصول إليهم من الخيارات المتقدمة في قائمة الخيارات في علامة التبويب Text To Image و Image To Image. يمكن أيضًا معالجة الصور مباشرةً باستخدام أزرار الإجراء على الصورة فوق عرض الصورة الحالي أو في العارض.", + "postProcessDesc2": "سيتم إصدار واجهة رسومية مخصصة قريبًا لتسهيل عمليات المعالجة بعد الإصدار المتقدمة.", + "postProcessDesc3": "واجهة سطر الأوامر Invoke AI توفر ميزات أخرى عديدة بما في ذلك Embiggen.", + "training": "تدريب", + "trainingDesc1": "تدفق خاص مخصص لتدريب تضميناتك الخاصة ونقاط التحقق باستخدام العكس النصي و دريم بوث من واجهة الويب.", + "trainingDesc2": " استحضر الذكاء الصناعي يدعم بالفعل تدريب تضمينات مخصصة باستخدام العكس النصي باستخدام السكريبت الرئيسي.", + "upload": "رفع", + "close": "إغلاق", + "load": "تحميل", + "back": "الى الخلف", + "statusConnected": "متصل", + "statusDisconnected": "غير متصل", + "statusError": "خطأ", + "statusPreparing": "جاري التحضير", + "statusProcessingCanceled": "تم إلغاء المعالجة", + "statusProcessingComplete": "اكتمال المعالجة", + "statusGenerating": "جاري التوليد", + "statusGeneratingTextToImage": "جاري توليد النص إلى الصورة", + "statusGeneratingImageToImage": "جاري توليد الصورة إلى الصورة", + "statusGeneratingInpainting": "جاري توليد Inpainting", + "statusGeneratingOutpainting": "جاري توليد Outpainting", + "statusGenerationComplete": "اكتمال التوليد", + "statusIterationComplete": "اكتمال التكرار", + "statusSavingImage": "جاري حفظ الصورة", + "statusRestoringFaces": "جاري استعادة الوجوه", + "statusRestoringFacesGFPGAN": "تحسيت الوجوه (جي إف بي جان)", + "statusRestoringFacesCodeFormer": "تحسين الوجوه (كود فورمر)", + "statusUpscaling": "تحسين الحجم", + "statusUpscalingESRGAN": "تحسين الحجم (إي إس آر جان)", + "statusLoadingModel": "تحميل النموذج", + "statusModelChanged": "تغير النموذج" +} diff --git a/invokeai/frontend/dist/locales/common/de.json b/invokeai/frontend/dist/locales/common/de.json index a1b1a12739..c827cae5b5 100644 --- a/invokeai/frontend/dist/locales/common/de.json +++ b/invokeai/frontend/dist/locales/common/de.json @@ -9,13 +9,6 @@ "darkTheme": "Dunkel", "lightTheme": "Hell", "greenTheme": "Grün", - "langEnglish": "Englisch", - "langRussian": "Russisch", - "langItalian": "Italienisch", - "langPortuguese": "Portugiesisch", - "langFrench": "Französich", - "langGerman": "Deutsch", - "langSpanish": "Spanisch", "text2img": "Text zu Bild", "img2img": "Bild zu Bild", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/dist/locales/common/en-US.json b/invokeai/frontend/dist/locales/common/en-US.json index 7d38074520..00b60df420 100644 --- a/invokeai/frontend/dist/locales/common/en-US.json +++ b/invokeai/frontend/dist/locales/common/en-US.json @@ -9,19 +9,6 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", - "langJapanese": "Japanese", - "langDutch": "Dutch", - "langUkranian": "Ukranian", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/dist/locales/common/en.json b/invokeai/frontend/dist/locales/common/en.json index 7d38074520..e97fa2d074 100644 --- a/invokeai/frontend/dist/locales/common/en.json +++ b/invokeai/frontend/dist/locales/common/en.json @@ -9,19 +9,19 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", + "langArabic": "العربية", "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", - "langJapanese": "Japanese", - "langDutch": "Dutch", - "langUkranian": "Ukranian", + "langDutch": "Nederlands", + "langFrench": "Français", + "langGerman": "Deutsch", + "langItalian": "Italiano", + "langJapanese": "日本語", + "langPolish": "Polski", + "langBrPortuguese": "Português do Brasil", + "langRussian": "Русский", + "langSimplifiedChinese": "简体中文", + "langUkranian": "Украї́нська", + "langSpanish": "Español", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/dist/locales/common/es.json b/invokeai/frontend/dist/locales/common/es.json index f4259cdaf2..5f51d5e6cd 100644 --- a/invokeai/frontend/dist/locales/common/es.json +++ b/invokeai/frontend/dist/locales/common/es.json @@ -9,15 +9,6 @@ "darkTheme": "Oscuro", "lightTheme": "Claro", "greenTheme": "Verde", - "langEnglish": "Inglés", - "langRussian": "Ruso", - "langItalian": "Italiano", - "langBrPortuguese": "Portugués (Brasil)", - "langGerman": "Alemán", - "langPortuguese": "Portugués", - "langFrench": "French", - "langPolish": "Polish", - "langSpanish": "Español", "text2img": "Texto a Imagen", "img2img": "Imagen a Imagen", "unifiedCanvas": "Lienzo Unificado", @@ -29,7 +20,6 @@ "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", "trainingDesc1": "Un flujo de trabajo dedicado para el entrenamiento de sus propios -embeddings- y puntos de control utilizando Inversión Textual y Dreambooth desde la interfaz web.", - "trainingDesc2": "InvokeAI already supports training custom embeddings using Textual Inversion using the main script.", "trainingDesc2": "InvokeAI ya soporta el entrenamiento de -embeddings- personalizados utilizando la Inversión Textual mediante el script principal.", "upload": "Subir imagen", "close": "Cerrar", diff --git a/invokeai/frontend/dist/locales/common/fr.json b/invokeai/frontend/dist/locales/common/fr.json index f276a91644..46d32b1dee 100644 --- a/invokeai/frontend/dist/locales/common/fr.json +++ b/invokeai/frontend/dist/locales/common/fr.json @@ -9,18 +9,6 @@ "darkTheme": "Sombre", "lightTheme": "Clair", "greenTheme": "Vert", - "langEnglish": "Anglais", - "langRussian": "Russe", - "langItalian": "Italien", - "langBrPortuguese": "Portugais (Brésilien)", - "langGerman": "Allemand", - "langPortuguese": "Portugais", - "langFrench": "Français", - "langPolish": "Polonais", - "langSimplifiedChinese": "Chinois simplifié", - "langSpanish": "Espagnol", - "langJapanese": "Japonais", - "langDutch": "Néerlandais", "text2img": "Texte en image", "img2img": "Image en image", "unifiedCanvas": "Canvas unifié", diff --git a/invokeai/frontend/dist/locales/common/it.json b/invokeai/frontend/dist/locales/common/it.json index d96f5cc32c..8b9702ab4d 100644 --- a/invokeai/frontend/dist/locales/common/it.json +++ b/invokeai/frontend/dist/locales/common/it.json @@ -9,18 +9,6 @@ "darkTheme": "Scuro", "lightTheme": "Chiaro", "greenTheme": "Verde", - "langEnglish": "Inglese", - "langRussian": "Russo", - "langItalian": "Italiano", - "langBrPortuguese": "Portoghese (Brasiliano)", - "langGerman": "Tedesco", - "langPortuguese": "Portoghese", - "langFrench": "Francese", - "langPolish": "Polacco", - "langSimplifiedChinese": "Cinese semplificato", - "langSpanish": "Spagnolo", - "langJapanese": "Giapponese", - "langDutch": "Olandese", "text2img": "Testo a Immagine", "img2img": "Immagine a Immagine", "unifiedCanvas": "Tela unificata", diff --git a/invokeai/frontend/dist/locales/common/ja.json b/invokeai/frontend/dist/locales/common/ja.json index 94653b28d4..7705a2cf53 100644 --- a/invokeai/frontend/dist/locales/common/ja.json +++ b/invokeai/frontend/dist/locales/common/ja.json @@ -9,16 +9,6 @@ "darkTheme": "ダーク", "lightTheme": "ライト", "greenTheme": "緑", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/dist/locales/common/nl.json b/invokeai/frontend/dist/locales/common/nl.json index c61d97b9a7..326e75274a 100644 --- a/invokeai/frontend/dist/locales/common/nl.json +++ b/invokeai/frontend/dist/locales/common/nl.json @@ -9,17 +9,6 @@ "darkTheme": "Donker", "lightTheme": "Licht", "greenTheme": "Groen", - "langEnglish": "Engels", - "langRussian": "Russisch", - "langItalian": "Italiaans", - "langBrPortuguese": "Portugees (Braziliaans)", - "langGerman": "Duits", - "langPortuguese": "Portugees", - "langFrench": "Frans", - "langPolish": "Pools", - "langSimplifiedChinese": "Vereenvoudigd Chinees", - "langSpanish": "Spaans", - "langDutch": "Nederlands", "text2img": "Tekst naar afbeelding", "img2img": "Afbeelding naar afbeelding", "unifiedCanvas": "Centraal canvas", diff --git a/invokeai/frontend/dist/locales/common/pl.json b/invokeai/frontend/dist/locales/common/pl.json index 2b9f3b5903..384fa18628 100644 --- a/invokeai/frontend/dist/locales/common/pl.json +++ b/invokeai/frontend/dist/locales/common/pl.json @@ -9,13 +9,6 @@ "darkTheme": "Ciemny", "lightTheme": "Jasny", "greenTheme": "Zielony", - "langEnglish": "Angielski", - "langRussian": "Rosyjski", - "langItalian": "Włoski", - "langPortuguese": "Portugalski", - "langFrench": "Francuski", - "langPolish": "Polski", - "langSpanish": "Hiszpański", "text2img": "Tekst na obraz", "img2img": "Obraz na obraz", "unifiedCanvas": "Tryb uniwersalny", diff --git a/invokeai/frontend/dist/locales/common/pt_br.json b/invokeai/frontend/dist/locales/common/pt_br.json index 295bcf8184..52f3007797 100644 --- a/invokeai/frontend/dist/locales/common/pt_br.json +++ b/invokeai/frontend/dist/locales/common/pt_br.json @@ -9,13 +9,6 @@ "darkTheme": "Noite", "lightTheme": "Dia", "greenTheme": "Verde", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Português do Brasil", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langSpanish": "Spanish", "text2img": "Texto Para Imagem", "img2img": "Imagem Para Imagem", "unifiedCanvas": "Tela Unificada", diff --git a/invokeai/frontend/dist/locales/common/ru.json b/invokeai/frontend/dist/locales/common/ru.json index efa54fcd47..992cb5caf8 100644 --- a/invokeai/frontend/dist/locales/common/ru.json +++ b/invokeai/frontend/dist/locales/common/ru.json @@ -9,12 +9,6 @@ "darkTheme": "Темная", "lightTheme": "Светлая", "greenTheme": "Зеленая", - "langEnglish": "English", - "langRussian": "Русский", - "langItalian": "Italian", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langSpanish": "Spanish", "text2img": "Изображение из текста (text2img)", "img2img": "Изображение в изображение (img2img)", "unifiedCanvas": "Универсальный холст", diff --git a/invokeai/frontend/dist/locales/common/ua.json b/invokeai/frontend/dist/locales/common/ua.json index 69c1e7bc09..8b0d5b7ae8 100644 --- a/invokeai/frontend/dist/locales/common/ua.json +++ b/invokeai/frontend/dist/locales/common/ua.json @@ -9,11 +9,6 @@ "darkTheme": "Темна", "lightTheme": "Світла", "greenTheme": "Зелена", - "langEnglish": "Англійська", - "langRussian": "Російська", - "langItalian": "Iталійська", - "langPortuguese": "Португальська", - "langFrench": "Французька", "text2img": "Зображення із тексту (text2img)", "img2img": "Зображення із зображення (img2img)", "unifiedCanvas": "Універсальне полотно", diff --git a/invokeai/frontend/dist/locales/common/zh_cn.json b/invokeai/frontend/dist/locales/common/zh_cn.json index a787f13b76..d4219d8815 100644 --- a/invokeai/frontend/dist/locales/common/zh_cn.json +++ b/invokeai/frontend/dist/locales/common/zh_cn.json @@ -9,12 +9,6 @@ "darkTheme": "暗色", "lightTheme": "亮色", "greenTheme": "绿色", - "langEnglish": "英语", - "langRussian": "俄语", - "langItalian": "意大利语", - "langPortuguese": "葡萄牙语", - "langFrench": "法语", - "langChineseSimplified": "简体中文", "text2img": "文字到图像", "img2img": "图像到图像", "unifiedCanvas": "统一画布", diff --git a/invokeai/frontend/dist/locales/gallery/ar.json b/invokeai/frontend/dist/locales/gallery/ar.json new file mode 100644 index 0000000000..090a034002 --- /dev/null +++ b/invokeai/frontend/dist/locales/gallery/ar.json @@ -0,0 +1,16 @@ +{ + "generations": "الأجيال", + "showGenerations": "عرض الأجيال", + "uploads": "التحميلات", + "showUploads": "عرض التحميلات", + "galleryImageSize": "حجم الصورة", + "galleryImageResetSize": "إعادة ضبط الحجم", + "gallerySettings": "إعدادات المعرض", + "maintainAspectRatio": "الحفاظ على نسبة الأبعاد", + "autoSwitchNewImages": "التبديل التلقائي إلى الصور الجديدة", + "singleColumnLayout": "تخطيط عمود واحد", + "pinGallery": "تثبيت المعرض", + "allImagesLoaded": "تم تحميل جميع الصور", + "loadMore": "تحميل المزيد", + "noImagesInGallery": "لا توجد صور في المعرض" +} diff --git a/invokeai/frontend/dist/locales/hotkeys/ar.json b/invokeai/frontend/dist/locales/hotkeys/ar.json new file mode 100644 index 0000000000..e169b3cdbc --- /dev/null +++ b/invokeai/frontend/dist/locales/hotkeys/ar.json @@ -0,0 +1,207 @@ +{ + "keyboardShortcuts": "مفاتيح الأزرار المختصرة", + "appHotkeys": "مفاتيح التطبيق", + "GeneralHotkeys": "مفاتيح عامة", + "galleryHotkeys": "مفاتيح المعرض", + "unifiedCanvasHotkeys": "مفاتيح اللوحةالموحدة ", + "invoke": { + "title": "أدعو", + "desc": "إنشاء صورة" + }, + "cancel": { + "title": "إلغاء", + "desc": "إلغاء إنشاء الصورة" + }, + "focusPrompt": { + "title": "تركيز الإشعار", + "desc": "تركيز منطقة الإدخال الإشعار" + }, + "toggleOptions": { + "title": "تبديل الخيارات", + "desc": "فتح وإغلاق لوحة الخيارات" + }, + "pinOptions": { + "title": "خيارات التثبيت", + "desc": "ثبت لوحة الخيارات" + }, + "toggleViewer": { + "title": "تبديل العارض", + "desc": "فتح وإغلاق مشاهد الصور" + }, + "toggleGallery": { + "title": "تبديل المعرض", + "desc": "فتح وإغلاق درابزين المعرض" + }, + "maximizeWorkSpace": { + "title": "تكبير مساحة العمل", + "desc": "إغلاق اللوحات وتكبير مساحة العمل" + }, + "changeTabs": { + "title": "تغيير الألسنة", + "desc": "التبديل إلى مساحة عمل أخرى" + }, + "consoleToggle": { + "title": "تبديل الطرفية", + "desc": "فتح وإغلاق الطرفية" + }, + "setPrompt": { + "title": "ضبط التشعب", + "desc": "استخدم تشعب الصورة الحالية" + }, + "setSeed": { + "title": "ضبط البذور", + "desc": "استخدم بذور الصورة الحالية" + }, + "setParameters": { + "title": "ضبط المعلمات", + "desc": "استخدم جميع المعلمات الخاصة بالصورة الحالية" + }, + "restoreFaces": { + "title": "استعادة الوجوه", + "desc": "استعادة الصورة الحالية" + }, + "upscale": { + "title": "تحسين الحجم", + "desc": "تحسين حجم الصورة الحالية" + }, + "showInfo": { + "title": "عرض المعلومات", + "desc": "عرض معلومات البيانات الخاصة بالصورة الحالية" + }, + "sendToImageToImage": { + "title": "أرسل إلى صورة إلى صورة", + "desc": "أرسل الصورة الحالية إلى صورة إلى صورة" + }, + "deleteImage": { + "title": "حذف الصورة", + "desc": "حذف الصورة الحالية" + }, + "closePanels": { + "title": "أغلق اللوحات", + "desc": "يغلق اللوحات المفتوحة" + }, + "previousImage": { + "title": "الصورة السابقة", + "desc": "عرض الصورة السابقة في الصالة" + }, + "nextImage": { + "title": "الصورة التالية", + "desc": "عرض الصورة التالية في الصالة" + }, + "toggleGalleryPin": { + "title": "تبديل تثبيت الصالة", + "desc": "يثبت ويفتح تثبيت الصالة على الواجهة الرسومية" + }, + "increaseGalleryThumbSize": { + "title": "زيادة حجم صورة الصالة", + "desc": "يزيد حجم الصور المصغرة في الصالة" + }, + "decreaseGalleryThumbSize": { + "title": "انقاص حجم صورة الصالة", + "desc": "ينقص حجم الصور المصغرة في الصالة" + }, + "selectBrush": { + "title": "تحديد الفرشاة", + "desc": "يحدد الفرشاة على اللوحة" + }, + "selectEraser": { + "title": "تحديد الممحاة", + "desc": "يحدد الممحاة على اللوحة" + }, + "decreaseBrushSize": { + "title": "تصغير حجم الفرشاة", + "desc": "يصغر حجم الفرشاة/الممحاة على اللوحة" + }, + "increaseBrushSize": { + "title": "زيادة حجم الفرشاة", + "desc": "يزيد حجم فرشة اللوحة / الممحاة" + }, + "decreaseBrushOpacity": { + "title": "تخفيض شفافية الفرشاة", + "desc": "يخفض شفافية فرشة اللوحة" + }, + "increaseBrushOpacity": { + "title": "زيادة شفافية الفرشاة", + "desc": "يزيد شفافية فرشة اللوحة" + }, + "moveTool": { + "title": "أداة التحريك", + "desc": "يتيح التحرك في اللوحة" + }, + "fillBoundingBox": { + "title": "ملء الصندوق المحدد", + "desc": "يملأ الصندوق المحدد بلون الفرشاة" + }, + "eraseBoundingBox": { + "title": "محو الصندوق المحدد", + "desc": "يمحو منطقة الصندوق المحدد" + }, + "colorPicker": { + "title": "اختيار منتقي اللون", + "desc": "يختار منتقي اللون الخاص باللوحة" + }, + "toggleSnap": { + "title": "تبديل التأكيد", + "desc": "يبديل تأكيد الشبكة" + }, + "quickToggleMove": { + "title": "تبديل سريع للتحريك", + "desc": "يبديل مؤقتا وضع التحريك" + }, + "toggleLayer": { + "title": "تبديل الطبقة", + "desc": "يبديل إختيار الطبقة القناع / الأساسية" + }, + "clearMask": { + "title": "مسح القناع", + "desc": "مسح القناع بأكمله" + }, + "hideMask": { + "title": "إخفاء الكمامة", + "desc": "إخفاء وإظهار الكمامة" + }, + "showHideBoundingBox": { + "title": "إظهار / إخفاء علبة التحديد", + "desc": "تبديل ظهور علبة التحديد" + }, + "mergeVisible": { + "title": "دمج الطبقات الظاهرة", + "desc": "دمج جميع الطبقات الظاهرة في اللوحة" + }, + "saveToGallery": { + "title": "حفظ إلى صالة الأزياء", + "desc": "حفظ اللوحة الحالية إلى صالة الأزياء" + }, + "copyToClipboard": { + "title": "نسخ إلى الحافظة", + "desc": "نسخ اللوحة الحالية إلى الحافظة" + }, + "downloadImage": { + "title": "تنزيل الصورة", + "desc": "تنزيل اللوحة الحالية" + }, + "undoStroke": { + "title": "تراجع عن الخط", + "desc": "تراجع عن خط الفرشاة" + }, + "redoStroke": { + "title": "إعادة الخط", + "desc": "إعادة خط الفرشاة" + }, + "resetView": { + "title": "إعادة تعيين العرض", + "desc": "إعادة تعيين عرض اللوحة" + }, + "previousStagingImage": { + "title": "الصورة السابقة في المرحلة التجريبية", + "desc": "الصورة السابقة في منطقة المرحلة التجريبية" + }, + "nextStagingImage": { + "title": "الصورة التالية في المرحلة التجريبية", + "desc": "الصورة التالية في منطقة المرحلة التجريبية" + }, + "acceptStagingImage": { + "title": "قبول الصورة في المرحلة التجريبية", + "desc": "قبول الصورة الحالية في منطقة المرحلة التجريبية" + } +} diff --git a/invokeai/frontend/dist/locales/modelmanager/ar.json b/invokeai/frontend/dist/locales/modelmanager/ar.json new file mode 100644 index 0000000000..5c93a87f45 --- /dev/null +++ b/invokeai/frontend/dist/locales/modelmanager/ar.json @@ -0,0 +1,67 @@ +{ + "modelManager": "مدير النموذج", + "model": "نموذج", + "allModels": "جميع النماذج", + "checkpointModels": "نقاط التحقق", + "diffusersModels": "المصادر المتعددة", + "safetensorModels": "التنسورات الآمنة", + "modelAdded": "تمت إضافة النموذج", + "modelUpdated": "تم تحديث النموذج", + "modelEntryDeleted": "تم حذف مدخل النموذج", + "cannotUseSpaces": "لا يمكن استخدام المساحات", + "addNew": "إضافة جديد", + "addNewModel": "إضافة نموذج جديد", + "addCheckpointModel": "إضافة نقطة تحقق / نموذج التنسور الآمن", + "addDiffuserModel": "إضافة مصادر متعددة", + "addManually": "إضافة يدويًا", + "manual": "يدوي", + "name": "الاسم", + "nameValidationMsg": "أدخل اسما لنموذجك", + "description": "الوصف", + "descriptionValidationMsg": "أضف وصفا لنموذجك", + "config": "تكوين", + "configValidationMsg": "مسار الملف الإعدادي لنموذجك.", + "modelLocation": "موقع النموذج", + "modelLocationValidationMsg": "موقع النموذج على الجهاز الخاص بك.", + "repo_id": "معرف المستودع", + "repoIDValidationMsg": "المستودع الإلكتروني لنموذجك", + "vaeLocation": "موقع فاي إي", + "vaeLocationValidationMsg": "موقع فاي إي على الجهاز الخاص بك.", + "vaeRepoID": "معرف مستودع فاي إي", + "vaeRepoIDValidationMsg": "المستودع الإلكتروني فاي إي", + "width": "عرض", + "widthValidationMsg": "عرض افتراضي لنموذجك.", + "height": "ارتفاع", + "heightValidationMsg": "ارتفاع افتراضي لنموذجك.", + "addModel": "أضف نموذج", + "updateModel": "تحديث النموذج", + "availableModels": "النماذج المتاحة", + "search": "بحث", + "load": "تحميل", + "active": "نشط", + "notLoaded": "غير محمل", + "cached": "مخبأ", + "checkpointFolder": "مجلد التدقيق", + "clearCheckpointFolder": "مسح مجلد التدقيق", + "findModels": "إيجاد النماذج", + "scanAgain": "فحص مرة أخرى", + "modelsFound": "النماذج الموجودة", + "selectFolder": "حدد المجلد", + "selected": "تم التحديد", + "selectAll": "حدد الكل", + "deselectAll": "إلغاء تحديد الكل", + "showExisting": "إظهار الموجود", + "addSelected": "أضف المحدد", + "modelExists": "النموذج موجود", + "selectAndAdd": "حدد وأضف النماذج المدرجة أدناه", + "noModelsFound": "لم يتم العثور على نماذج", + "delete": "حذف", + "deleteModel": "حذف النموذج", + "deleteConfig": "حذف التكوين", + "deleteMsg1": "هل أنت متأكد من رغبتك في حذف إدخال النموذج هذا من استحضر الذكاء الصناعي", + "deleteMsg2": "هذا لن يحذف ملف نقطة التحكم للنموذج من القرص الخاص بك. يمكنك إعادة إضافتهم إذا كنت ترغب في ذلك.", + "formMessageDiffusersModelLocation": "موقع النموذج للمصعد", + "formMessageDiffusersModelLocationDesc": "يرجى إدخال واحد على الأقل.", + "formMessageDiffusersVAELocation": "موقع فاي إي", + "formMessageDiffusersVAELocationDesc": "إذا لم يتم توفيره، سيبحث استحضر الذكاء الصناعي عن ملف فاي إي داخل موقع النموذج المعطى أعلاه." +} diff --git a/invokeai/frontend/dist/locales/parameters/ar.json b/invokeai/frontend/dist/locales/parameters/ar.json new file mode 100644 index 0000000000..f46139db2e --- /dev/null +++ b/invokeai/frontend/dist/locales/parameters/ar.json @@ -0,0 +1,62 @@ +{ + "images": "الصور", + "steps": "الخطوات", + "cfgScale": "مقياس الإعداد الذاتي للجملة", + "width": "عرض", + "height": "ارتفاع", + "sampler": "مزج", + "seed": "بذرة", + "randomizeSeed": "تبديل بذرة", + "shuffle": "تشغيل", + "noiseThreshold": "عتبة الضوضاء", + "perlinNoise": "ضجيج برلين", + "variations": "تباينات", + "variationAmount": "كمية التباين", + "seedWeights": "أوزان البذور", + "faceRestoration": "استعادة الوجه", + "restoreFaces": "استعادة الوجوه", + "type": "نوع", + "strength": "قوة", + "upscaling": "تصغير", + "upscale": "تصغير", + "upscaleImage": "تصغير الصورة", + "scale": "مقياس", + "otherOptions": "خيارات أخرى", + "seamlessTiling": "تجهيز بلاستيكي بدون تشققات", + "hiresOptim": "تحسين الدقة العالية", + "imageFit": "ملائمة الصورة الأولية لحجم الخرج", + "codeformerFidelity": "الوثوقية", + "seamSize": "حجم التشقق", + "seamBlur": "ضباب التشقق", + "seamStrength": "قوة التشقق", + "seamSteps": "خطوات التشقق", + "scaleBeforeProcessing": "تحجيم قبل المعالجة", + "scaledWidth": "العرض المحجوب", + "scaledHeight": "الارتفاع المحجوب", + "infillMethod": "طريقة التعبئة", + "tileSize": "حجم البلاطة", + "boundingBoxHeader": "صندوق التحديد", + "seamCorrectionHeader": "تصحيح التشقق", + "infillScalingHeader": "التعبئة والتحجيم", + "img2imgStrength": "قوة صورة إلى صورة", + "toggleLoopback": "تبديل الإعادة", + "invoke": "إطلاق", + "cancel": "إلغاء", + "promptPlaceholder": "اكتب المحث هنا. [العلامات السلبية], (زيادة الوزن) ++, (نقص الوزن)--, التبديل و الخلط متاحة (انظر الوثائق)", + "sendTo": "أرسل إلى", + "sendToImg2Img": "أرسل إلى صورة إلى صورة", + "sendToUnifiedCanvas": "أرسل إلى الخطوط الموحدة", + "copyImage": "نسخ الصورة", + "copyImageToLink": "نسخ الصورة إلى الرابط", + "downloadImage": "تحميل الصورة", + "openInViewer": "فتح في العارض", + "closeViewer": "إغلاق العارض", + "usePrompt": "استخدم المحث", + "useSeed": "استخدام البذور", + "useAll": "استخدام الكل", + "useInitImg": "استخدام الصورة الأولية", + "info": "معلومات", + "deleteImage": "حذف الصورة", + "initialImage": "الصورة الأولية", + "showOptionsPanel": "إظهار لوحة الخيارات" +} diff --git a/invokeai/frontend/dist/locales/settings/ar.json b/invokeai/frontend/dist/locales/settings/ar.json new file mode 100644 index 0000000000..02f11dd0ba --- /dev/null +++ b/invokeai/frontend/dist/locales/settings/ar.json @@ -0,0 +1,13 @@ +{ + "models": "موديلات", + "displayInProgress": "عرض الصور المؤرشفة", + "saveSteps": "حفظ الصور كل n خطوات", + "confirmOnDelete": "تأكيد عند الحذف", + "displayHelpIcons": "عرض أيقونات المساعدة", + "useCanvasBeta": "استخدام مخطط الأزرار بيتا", + "enableImageDebugging": "تمكين التصحيح عند التصوير", + "resetWebUI": "إعادة تعيين واجهة الويب", + "resetWebUIDesc1": "إعادة تعيين واجهة الويب يعيد فقط ذاكرة التخزين المؤقت للمتصفح لصورك وإعداداتك المذكورة. لا يحذف أي صور من القرص.", + "resetWebUIDesc2": "إذا لم تظهر الصور في الصالة أو إذا كان شيء آخر غير ناجح، يرجى المحاولة إعادة تعيين قبل تقديم مشكلة على جيت هب.", + "resetComplete": "تم إعادة تعيين واجهة الويب. تحديث الصفحة لإعادة التحميل." +} diff --git a/invokeai/frontend/dist/locales/toast/ar.json b/invokeai/frontend/dist/locales/toast/ar.json new file mode 100644 index 0000000000..f93141337d --- /dev/null +++ b/invokeai/frontend/dist/locales/toast/ar.json @@ -0,0 +1,32 @@ +{ + "tempFoldersEmptied": "تم تفريغ مجلد المؤقت", + "uploadFailed": "فشل التحميل", + "uploadFailedMultipleImagesDesc": "تم الصق صور متعددة، قد يتم تحميل صورة واحدة فقط في الوقت الحالي", + "uploadFailedUnableToLoadDesc": "تعذر تحميل الملف", + "downloadImageStarted": "بدأ تنزيل الصورة", + "imageCopied": "تم نسخ الصورة", + "imageLinkCopied": "تم نسخ رابط الصورة", + "imageNotLoaded": "لم يتم تحميل أي صورة", + "imageNotLoadedDesc": "لم يتم العثور على صورة لإرسالها إلى وحدة الصورة", + "imageSavedToGallery": "تم حفظ الصورة في المعرض", + "canvasMerged": "تم دمج الخط", + "sentToImageToImage": "تم إرسال إلى صورة إلى صورة", + "sentToUnifiedCanvas": "تم إرسال إلى لوحة موحدة", + "parametersSet": "تم تعيين المعلمات", + "parametersNotSet": "لم يتم تعيين المعلمات", + "parametersNotSetDesc": "لم يتم العثور على معلمات بيانية لهذه الصورة.", + "parametersFailed": "حدث مشكلة في تحميل المعلمات", + "parametersFailedDesc": "تعذر تحميل صورة البدء.", + "seedSet": "تم تعيين البذرة", + "seedNotSet": "لم يتم تعيين البذرة", + "seedNotSetDesc": "تعذر العثور على البذرة لهذه الصورة.", + "promptSet": "تم تعيين الإشعار", + "promptNotSet": "Prompt Not Set", + "promptNotSetDesc": "تعذر العثور على الإشعار لهذه الصورة.", + "upscalingFailed": "فشل التحسين", + "faceRestoreFailed": "فشل استعادة الوجه", + "metadataLoadFailed": "فشل تحميل البيانات الوصفية", + "initialImageSet": "تم تعيين الصورة الأولية", + "initialImageNotSet": "لم يتم تعيين الصورة الأولية", + "initialImageNotSetDesc": "تعذر تحميل الصورة الأولية" +} diff --git a/invokeai/frontend/dist/locales/tooltip/ar.json b/invokeai/frontend/dist/locales/tooltip/ar.json new file mode 100644 index 0000000000..0beca4b86e --- /dev/null +++ b/invokeai/frontend/dist/locales/tooltip/ar.json @@ -0,0 +1,15 @@ +{ + "feature": { + "prompt": "هذا هو حقل التحذير. يشمل التحذير عناصر الإنتاج والمصطلحات الأسلوبية. يمكنك إضافة الأوزان (أهمية الرمز) في التحذير أيضًا، ولكن أوامر CLI والمعلمات لن تعمل.", + "gallery": "تعرض Gallery منتجات من مجلد الإخراج عندما يتم إنشاؤها. تخزن الإعدادات داخل الملفات ويتم الوصول إليها عن طريق قائمة السياق.", + "other": "ستمكن هذه الخيارات من وضع عمليات معالجة بديلة لـاستحضر الذكاء الصناعي. سيؤدي 'الزخرفة بلا جدران' إلى إنشاء أنماط تكرارية في الإخراج. 'دقة عالية' هي الإنتاج خلال خطوتين عبر صورة إلى صورة: استخدم هذا الإعداد عندما ترغب في توليد صورة أكبر وأكثر تجانبًا دون العيوب. ستستغرق الأشياء وقتًا أطول من نص إلى صورة المعتاد.", + "seed": "يؤثر قيمة البذور على الضوضاء الأولي الذي يتم تكوين الصورة منه. يمكنك استخدام البذور الخاصة بالصور السابقة. 'عتبة الضوضاء' يتم استخدامها لتخفيف العناصر الخللية في قيم CFG العالية (جرب مدى 0-10), و Perlin لإضافة ضوضاء Perlin أثناء الإنتاج: كلا منهما يعملان على إضافة التنوع إلى النتائج الخاصة بك.", + "variations": "جرب التغيير مع قيمة بين 0.1 و 1.0 لتغيير النتائج لبذور معينة. التغييرات المثيرة للاهتمام للبذور تكون بين 0.1 و 0.3.", + "upscale": "استخدم إي إس آر جان لتكبير الصورة على الفور بعد الإنتاج.", + "face Correction": "تصحيح الوجه باستخدام جي إف بي جان أو كود فورمر: يكتشف الخوارزمية الوجوه في الصورة وتصحح أي عيوب. قيمة عالية ستغير الصورة أكثر، مما يؤدي إلى وجوه أكثر جمالا. كود فورمر بدقة أعلى يحتفظ بالصورة الأصلية على حساب تصحيح وجه أكثر قوة.", + "imageToImage": "تحميل صورة إلى صورة أي صورة كأولية، والتي يتم استخدامها لإنشاء صورة جديدة مع التشعيب. كلما كانت القيمة أعلى، كلما تغيرت نتيجة الصورة. من الممكن أن تكون القيم بين 0.0 و 1.0، وتوصي النطاق الموصى به هو .25-.75", + "boundingBox": "مربع الحدود هو نفس الإعدادات العرض والارتفاع لنص إلى صورة أو صورة إلى صورة. فقط المنطقة في المربع سيتم معالجتها.", + "seam Correction": "يتحكم بالتعامل مع الخطوط المرئية التي تحدث بين الصور المولدة في سطح اللوحة.", + "infillAndScaling": "إدارة أساليب التعبئة (المستخدمة على المناطق المخفية أو الممحوة في سطح اللوحة) والزيادة في الحجم (مفيدة لحجوزات الإطارات الصغيرة)." + } +} diff --git a/invokeai/frontend/dist/locales/unifiedcanvas/ar.json b/invokeai/frontend/dist/locales/unifiedcanvas/ar.json new file mode 100644 index 0000000000..06da5eef26 --- /dev/null +++ b/invokeai/frontend/dist/locales/unifiedcanvas/ar.json @@ -0,0 +1,59 @@ +{ + "layer": "طبقة", + "base": "قاعدة", + "mask": "قناع", + "maskingOptions": "خيارات القناع", + "enableMask": "مكن القناع", + "preserveMaskedArea": "الحفاظ على المنطقة المقنعة", + "clearMask": "مسح القناع", + "brush": "فرشاة", + "eraser": "ممحاة", + "fillBoundingBox": "ملئ إطار الحدود", + "eraseBoundingBox": "مسح إطار الحدود", + "colorPicker": "اختيار اللون", + "brushOptions": "خيارات الفرشاة", + "brushSize": "الحجم", + "move": "تحريك", + "resetView": "إعادة تعيين العرض", + "mergeVisible": "دمج الظاهر", + "saveToGallery": "حفظ إلى المعرض", + "copyToClipboard": "نسخ إلى الحافظة", + "downloadAsImage": "تنزيل على شكل صورة", + "undo": "تراجع", + "redo": "إعادة", + "clearCanvas": "مسح سبيكة الكاملة", + "canvasSettings": "إعدادات سبيكة الكاملة", + "showIntermediates": "إظهار الوسطاء", + "showGrid": "إظهار الشبكة", + "snapToGrid": "الالتفاف إلى الشبكة", + "darkenOutsideSelection": "تعمية خارج التحديد", + "autoSaveToGallery": "حفظ تلقائي إلى المعرض", + "saveBoxRegionOnly": "حفظ منطقة الصندوق فقط", + "limitStrokesToBox": "تحديد عدد الخطوط إلى الصندوق", + "showCanvasDebugInfo": "إظهار معلومات تصحيح سبيكة الكاملة", + "clearCanvasHistory": "مسح تاريخ سبيكة الكاملة", + "clearHistory": "مسح التاريخ", + "clearCanvasHistoryMessage": "مسح تاريخ اللوحة تترك اللوحة الحالية عائمة، ولكن تمسح بشكل غير قابل للتراجع تاريخ التراجع والإعادة.", + "clearCanvasHistoryConfirm": "هل أنت متأكد من رغبتك في مسح تاريخ اللوحة؟", + "emptyTempImageFolder": "إفراغ مجلد الصور المؤقتة", + "emptyFolder": "إفراغ المجلد", + "emptyTempImagesFolderMessage": "إفراغ مجلد الصور المؤقتة يؤدي أيضًا إلى إعادة تعيين اللوحة الموحدة بشكل كامل. وهذا يشمل كل تاريخ التراجع / الإعادة والصور في منطقة التخزين وطبقة الأساس لللوحة.", + "emptyTempImagesFolderConfirm": "هل أنت متأكد من رغبتك في إفراغ مجلد الصور المؤقتة؟", + "activeLayer": "الطبقة النشطة", + "canvasScale": "مقياس اللوحة", + "boundingBox": "صندوق الحدود", + "scaledBoundingBox": "صندوق الحدود المكبر", + "boundingBoxPosition": "موضع صندوق الحدود", + "canvasDimensions": "أبعاد اللوحة", + "canvasPosition": "موضع اللوحة", + "cursorPosition": "موضع المؤشر", + "previous": "السابق", + "next": "التالي", + "accept": "قبول", + "showHide": "إظهار/إخفاء", + "discardAll": "تجاهل الكل", + "betaClear": "مسح", + "betaDarkenOutside": "ظل الخارج", + "betaLimitToBox": "تحديد إلى الصندوق", + "betaPreserveMasked": "المحافظة على المخفية" +} diff --git a/invokeai/frontend/public/locales/common/ar.json b/invokeai/frontend/public/locales/common/ar.json new file mode 100644 index 0000000000..f76dfe7f6f --- /dev/null +++ b/invokeai/frontend/public/locales/common/ar.json @@ -0,0 +1,49 @@ +{ + "hotkeysLabel": "مفاتيح الأختصار", + "themeLabel": "الموضوع", + "languagePickerLabel": "منتقي اللغة", + "reportBugLabel": "بلغ عن خطأ", + "githubLabel": "Github", + "discordLabel": "Discord", + "settingsLabel": "إعدادات", + "darkTheme": "داكن", + "lightTheme": "فاتح", + "greenTheme": "أخضر", + "text2img": "نص إلى صورة", + "img2img": "صورة إلى صورة", + "unifiedCanvas": "لوحة موحدة", + "nodes": "عقد", + "nodesDesc": "نظام مبني على العقد لإنتاج الصور قيد التطوير حاليًا. تبقى على اتصال مع تحديثات حول هذه الميزة المذهلة.", + "postProcessing": "معالجة بعد الإصدار", + "postProcessDesc1": "Invoke AI توفر مجموعة واسعة من ميزات المعالجة بعد الإصدار. تحسين الصور واستعادة الوجوه متاحين بالفعل في واجهة الويب. يمكنك الوصول إليهم من الخيارات المتقدمة في قائمة الخيارات في علامة التبويب Text To Image و Image To Image. يمكن أيضًا معالجة الصور مباشرةً باستخدام أزرار الإجراء على الصورة فوق عرض الصورة الحالي أو في العارض.", + "postProcessDesc2": "سيتم إصدار واجهة رسومية مخصصة قريبًا لتسهيل عمليات المعالجة بعد الإصدار المتقدمة.", + "postProcessDesc3": "واجهة سطر الأوامر Invoke AI توفر ميزات أخرى عديدة بما في ذلك Embiggen.", + "training": "تدريب", + "trainingDesc1": "تدفق خاص مخصص لتدريب تضميناتك الخاصة ونقاط التحقق باستخدام العكس النصي و دريم بوث من واجهة الويب.", + "trainingDesc2": " استحضر الذكاء الصناعي يدعم بالفعل تدريب تضمينات مخصصة باستخدام العكس النصي باستخدام السكريبت الرئيسي.", + "upload": "رفع", + "close": "إغلاق", + "load": "تحميل", + "back": "الى الخلف", + "statusConnected": "متصل", + "statusDisconnected": "غير متصل", + "statusError": "خطأ", + "statusPreparing": "جاري التحضير", + "statusProcessingCanceled": "تم إلغاء المعالجة", + "statusProcessingComplete": "اكتمال المعالجة", + "statusGenerating": "جاري التوليد", + "statusGeneratingTextToImage": "جاري توليد النص إلى الصورة", + "statusGeneratingImageToImage": "جاري توليد الصورة إلى الصورة", + "statusGeneratingInpainting": "جاري توليد Inpainting", + "statusGeneratingOutpainting": "جاري توليد Outpainting", + "statusGenerationComplete": "اكتمال التوليد", + "statusIterationComplete": "اكتمال التكرار", + "statusSavingImage": "جاري حفظ الصورة", + "statusRestoringFaces": "جاري استعادة الوجوه", + "statusRestoringFacesGFPGAN": "تحسيت الوجوه (جي إف بي جان)", + "statusRestoringFacesCodeFormer": "تحسين الوجوه (كود فورمر)", + "statusUpscaling": "تحسين الحجم", + "statusUpscalingESRGAN": "تحسين الحجم (إي إس آر جان)", + "statusLoadingModel": "تحميل النموذج", + "statusModelChanged": "تغير النموذج" +} diff --git a/invokeai/frontend/public/locales/common/de.json b/invokeai/frontend/public/locales/common/de.json index a1b1a12739..c827cae5b5 100644 --- a/invokeai/frontend/public/locales/common/de.json +++ b/invokeai/frontend/public/locales/common/de.json @@ -9,13 +9,6 @@ "darkTheme": "Dunkel", "lightTheme": "Hell", "greenTheme": "Grün", - "langEnglish": "Englisch", - "langRussian": "Russisch", - "langItalian": "Italienisch", - "langPortuguese": "Portugiesisch", - "langFrench": "Französich", - "langGerman": "Deutsch", - "langSpanish": "Spanisch", "text2img": "Text zu Bild", "img2img": "Bild zu Bild", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/public/locales/common/en-US.json b/invokeai/frontend/public/locales/common/en-US.json index 7d38074520..00b60df420 100644 --- a/invokeai/frontend/public/locales/common/en-US.json +++ b/invokeai/frontend/public/locales/common/en-US.json @@ -9,19 +9,6 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", - "langJapanese": "Japanese", - "langDutch": "Dutch", - "langUkranian": "Ukranian", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/public/locales/common/en.json b/invokeai/frontend/public/locales/common/en.json index 7d38074520..e97fa2d074 100644 --- a/invokeai/frontend/public/locales/common/en.json +++ b/invokeai/frontend/public/locales/common/en.json @@ -9,19 +9,19 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", + "langArabic": "العربية", "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", - "langJapanese": "Japanese", - "langDutch": "Dutch", - "langUkranian": "Ukranian", + "langDutch": "Nederlands", + "langFrench": "Français", + "langGerman": "Deutsch", + "langItalian": "Italiano", + "langJapanese": "日本語", + "langPolish": "Polski", + "langBrPortuguese": "Português do Brasil", + "langRussian": "Русский", + "langSimplifiedChinese": "简体中文", + "langUkranian": "Украї́нська", + "langSpanish": "Español", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/public/locales/common/es.json b/invokeai/frontend/public/locales/common/es.json index f4259cdaf2..5f51d5e6cd 100644 --- a/invokeai/frontend/public/locales/common/es.json +++ b/invokeai/frontend/public/locales/common/es.json @@ -9,15 +9,6 @@ "darkTheme": "Oscuro", "lightTheme": "Claro", "greenTheme": "Verde", - "langEnglish": "Inglés", - "langRussian": "Ruso", - "langItalian": "Italiano", - "langBrPortuguese": "Portugués (Brasil)", - "langGerman": "Alemán", - "langPortuguese": "Portugués", - "langFrench": "French", - "langPolish": "Polish", - "langSpanish": "Español", "text2img": "Texto a Imagen", "img2img": "Imagen a Imagen", "unifiedCanvas": "Lienzo Unificado", @@ -29,7 +20,6 @@ "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", "trainingDesc1": "Un flujo de trabajo dedicado para el entrenamiento de sus propios -embeddings- y puntos de control utilizando Inversión Textual y Dreambooth desde la interfaz web.", - "trainingDesc2": "InvokeAI already supports training custom embeddings using Textual Inversion using the main script.", "trainingDesc2": "InvokeAI ya soporta el entrenamiento de -embeddings- personalizados utilizando la Inversión Textual mediante el script principal.", "upload": "Subir imagen", "close": "Cerrar", diff --git a/invokeai/frontend/public/locales/common/fr.json b/invokeai/frontend/public/locales/common/fr.json index f276a91644..46d32b1dee 100644 --- a/invokeai/frontend/public/locales/common/fr.json +++ b/invokeai/frontend/public/locales/common/fr.json @@ -9,18 +9,6 @@ "darkTheme": "Sombre", "lightTheme": "Clair", "greenTheme": "Vert", - "langEnglish": "Anglais", - "langRussian": "Russe", - "langItalian": "Italien", - "langBrPortuguese": "Portugais (Brésilien)", - "langGerman": "Allemand", - "langPortuguese": "Portugais", - "langFrench": "Français", - "langPolish": "Polonais", - "langSimplifiedChinese": "Chinois simplifié", - "langSpanish": "Espagnol", - "langJapanese": "Japonais", - "langDutch": "Néerlandais", "text2img": "Texte en image", "img2img": "Image en image", "unifiedCanvas": "Canvas unifié", diff --git a/invokeai/frontend/public/locales/common/it.json b/invokeai/frontend/public/locales/common/it.json index d96f5cc32c..8b9702ab4d 100644 --- a/invokeai/frontend/public/locales/common/it.json +++ b/invokeai/frontend/public/locales/common/it.json @@ -9,18 +9,6 @@ "darkTheme": "Scuro", "lightTheme": "Chiaro", "greenTheme": "Verde", - "langEnglish": "Inglese", - "langRussian": "Russo", - "langItalian": "Italiano", - "langBrPortuguese": "Portoghese (Brasiliano)", - "langGerman": "Tedesco", - "langPortuguese": "Portoghese", - "langFrench": "Francese", - "langPolish": "Polacco", - "langSimplifiedChinese": "Cinese semplificato", - "langSpanish": "Spagnolo", - "langJapanese": "Giapponese", - "langDutch": "Olandese", "text2img": "Testo a Immagine", "img2img": "Immagine a Immagine", "unifiedCanvas": "Tela unificata", diff --git a/invokeai/frontend/public/locales/common/ja.json b/invokeai/frontend/public/locales/common/ja.json index be225e9d34..5280255cde 100644 --- a/invokeai/frontend/public/locales/common/ja.json +++ b/invokeai/frontend/public/locales/common/ja.json @@ -9,16 +9,6 @@ "darkTheme": "ダーク", "lightTheme": "ライト", "greenTheme": "緑", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Portuguese (Brazilian)", - "langGerman": "German", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langPolish": "Polish", - "langSimplifiedChinese": "Simplified Chinese", - "langSpanish": "Spanish", "text2img": "Text To Image", "img2img": "Image To Image", "unifiedCanvas": "Unified Canvas", diff --git a/invokeai/frontend/public/locales/common/nl.json b/invokeai/frontend/public/locales/common/nl.json index c61d97b9a7..326e75274a 100644 --- a/invokeai/frontend/public/locales/common/nl.json +++ b/invokeai/frontend/public/locales/common/nl.json @@ -9,17 +9,6 @@ "darkTheme": "Donker", "lightTheme": "Licht", "greenTheme": "Groen", - "langEnglish": "Engels", - "langRussian": "Russisch", - "langItalian": "Italiaans", - "langBrPortuguese": "Portugees (Braziliaans)", - "langGerman": "Duits", - "langPortuguese": "Portugees", - "langFrench": "Frans", - "langPolish": "Pools", - "langSimplifiedChinese": "Vereenvoudigd Chinees", - "langSpanish": "Spaans", - "langDutch": "Nederlands", "text2img": "Tekst naar afbeelding", "img2img": "Afbeelding naar afbeelding", "unifiedCanvas": "Centraal canvas", diff --git a/invokeai/frontend/public/locales/common/pl.json b/invokeai/frontend/public/locales/common/pl.json index 2b9f3b5903..384fa18628 100644 --- a/invokeai/frontend/public/locales/common/pl.json +++ b/invokeai/frontend/public/locales/common/pl.json @@ -9,13 +9,6 @@ "darkTheme": "Ciemny", "lightTheme": "Jasny", "greenTheme": "Zielony", - "langEnglish": "Angielski", - "langRussian": "Rosyjski", - "langItalian": "Włoski", - "langPortuguese": "Portugalski", - "langFrench": "Francuski", - "langPolish": "Polski", - "langSpanish": "Hiszpański", "text2img": "Tekst na obraz", "img2img": "Obraz na obraz", "unifiedCanvas": "Tryb uniwersalny", diff --git a/invokeai/frontend/public/locales/common/pt_br.json b/invokeai/frontend/public/locales/common/pt_br.json index 295bcf8184..52f3007797 100644 --- a/invokeai/frontend/public/locales/common/pt_br.json +++ b/invokeai/frontend/public/locales/common/pt_br.json @@ -9,13 +9,6 @@ "darkTheme": "Noite", "lightTheme": "Dia", "greenTheme": "Verde", - "langEnglish": "English", - "langRussian": "Russian", - "langItalian": "Italian", - "langBrPortuguese": "Português do Brasil", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langSpanish": "Spanish", "text2img": "Texto Para Imagem", "img2img": "Imagem Para Imagem", "unifiedCanvas": "Tela Unificada", diff --git a/invokeai/frontend/public/locales/common/ru.json b/invokeai/frontend/public/locales/common/ru.json index efa54fcd47..992cb5caf8 100644 --- a/invokeai/frontend/public/locales/common/ru.json +++ b/invokeai/frontend/public/locales/common/ru.json @@ -9,12 +9,6 @@ "darkTheme": "Темная", "lightTheme": "Светлая", "greenTheme": "Зеленая", - "langEnglish": "English", - "langRussian": "Русский", - "langItalian": "Italian", - "langPortuguese": "Portuguese", - "langFrench": "French", - "langSpanish": "Spanish", "text2img": "Изображение из текста (text2img)", "img2img": "Изображение в изображение (img2img)", "unifiedCanvas": "Универсальный холст", diff --git a/invokeai/frontend/public/locales/common/ua.json b/invokeai/frontend/public/locales/common/ua.json index 69c1e7bc09..8b0d5b7ae8 100644 --- a/invokeai/frontend/public/locales/common/ua.json +++ b/invokeai/frontend/public/locales/common/ua.json @@ -9,11 +9,6 @@ "darkTheme": "Темна", "lightTheme": "Світла", "greenTheme": "Зелена", - "langEnglish": "Англійська", - "langRussian": "Російська", - "langItalian": "Iталійська", - "langPortuguese": "Португальська", - "langFrench": "Французька", "text2img": "Зображення із тексту (text2img)", "img2img": "Зображення із зображення (img2img)", "unifiedCanvas": "Універсальне полотно", diff --git a/invokeai/frontend/public/locales/common/zh_cn.json b/invokeai/frontend/public/locales/common/zh_cn.json index a787f13b76..d4219d8815 100644 --- a/invokeai/frontend/public/locales/common/zh_cn.json +++ b/invokeai/frontend/public/locales/common/zh_cn.json @@ -9,12 +9,6 @@ "darkTheme": "暗色", "lightTheme": "亮色", "greenTheme": "绿色", - "langEnglish": "英语", - "langRussian": "俄语", - "langItalian": "意大利语", - "langPortuguese": "葡萄牙语", - "langFrench": "法语", - "langChineseSimplified": "简体中文", "text2img": "文字到图像", "img2img": "图像到图像", "unifiedCanvas": "统一画布", diff --git a/invokeai/frontend/public/locales/gallery/ar.json b/invokeai/frontend/public/locales/gallery/ar.json new file mode 100644 index 0000000000..090a034002 --- /dev/null +++ b/invokeai/frontend/public/locales/gallery/ar.json @@ -0,0 +1,16 @@ +{ + "generations": "الأجيال", + "showGenerations": "عرض الأجيال", + "uploads": "التحميلات", + "showUploads": "عرض التحميلات", + "galleryImageSize": "حجم الصورة", + "galleryImageResetSize": "إعادة ضبط الحجم", + "gallerySettings": "إعدادات المعرض", + "maintainAspectRatio": "الحفاظ على نسبة الأبعاد", + "autoSwitchNewImages": "التبديل التلقائي إلى الصور الجديدة", + "singleColumnLayout": "تخطيط عمود واحد", + "pinGallery": "تثبيت المعرض", + "allImagesLoaded": "تم تحميل جميع الصور", + "loadMore": "تحميل المزيد", + "noImagesInGallery": "لا توجد صور في المعرض" +} diff --git a/invokeai/frontend/public/locales/hotkeys/ar.json b/invokeai/frontend/public/locales/hotkeys/ar.json new file mode 100644 index 0000000000..e169b3cdbc --- /dev/null +++ b/invokeai/frontend/public/locales/hotkeys/ar.json @@ -0,0 +1,207 @@ +{ + "keyboardShortcuts": "مفاتيح الأزرار المختصرة", + "appHotkeys": "مفاتيح التطبيق", + "GeneralHotkeys": "مفاتيح عامة", + "galleryHotkeys": "مفاتيح المعرض", + "unifiedCanvasHotkeys": "مفاتيح اللوحةالموحدة ", + "invoke": { + "title": "أدعو", + "desc": "إنشاء صورة" + }, + "cancel": { + "title": "إلغاء", + "desc": "إلغاء إنشاء الصورة" + }, + "focusPrompt": { + "title": "تركيز الإشعار", + "desc": "تركيز منطقة الإدخال الإشعار" + }, + "toggleOptions": { + "title": "تبديل الخيارات", + "desc": "فتح وإغلاق لوحة الخيارات" + }, + "pinOptions": { + "title": "خيارات التثبيت", + "desc": "ثبت لوحة الخيارات" + }, + "toggleViewer": { + "title": "تبديل العارض", + "desc": "فتح وإغلاق مشاهد الصور" + }, + "toggleGallery": { + "title": "تبديل المعرض", + "desc": "فتح وإغلاق درابزين المعرض" + }, + "maximizeWorkSpace": { + "title": "تكبير مساحة العمل", + "desc": "إغلاق اللوحات وتكبير مساحة العمل" + }, + "changeTabs": { + "title": "تغيير الألسنة", + "desc": "التبديل إلى مساحة عمل أخرى" + }, + "consoleToggle": { + "title": "تبديل الطرفية", + "desc": "فتح وإغلاق الطرفية" + }, + "setPrompt": { + "title": "ضبط التشعب", + "desc": "استخدم تشعب الصورة الحالية" + }, + "setSeed": { + "title": "ضبط البذور", + "desc": "استخدم بذور الصورة الحالية" + }, + "setParameters": { + "title": "ضبط المعلمات", + "desc": "استخدم جميع المعلمات الخاصة بالصورة الحالية" + }, + "restoreFaces": { + "title": "استعادة الوجوه", + "desc": "استعادة الصورة الحالية" + }, + "upscale": { + "title": "تحسين الحجم", + "desc": "تحسين حجم الصورة الحالية" + }, + "showInfo": { + "title": "عرض المعلومات", + "desc": "عرض معلومات البيانات الخاصة بالصورة الحالية" + }, + "sendToImageToImage": { + "title": "أرسل إلى صورة إلى صورة", + "desc": "أرسل الصورة الحالية إلى صورة إلى صورة" + }, + "deleteImage": { + "title": "حذف الصورة", + "desc": "حذف الصورة الحالية" + }, + "closePanels": { + "title": "أغلق اللوحات", + "desc": "يغلق اللوحات المفتوحة" + }, + "previousImage": { + "title": "الصورة السابقة", + "desc": "عرض الصورة السابقة في الصالة" + }, + "nextImage": { + "title": "الصورة التالية", + "desc": "عرض الصورة التالية في الصالة" + }, + "toggleGalleryPin": { + "title": "تبديل تثبيت الصالة", + "desc": "يثبت ويفتح تثبيت الصالة على الواجهة الرسومية" + }, + "increaseGalleryThumbSize": { + "title": "زيادة حجم صورة الصالة", + "desc": "يزيد حجم الصور المصغرة في الصالة" + }, + "decreaseGalleryThumbSize": { + "title": "انقاص حجم صورة الصالة", + "desc": "ينقص حجم الصور المصغرة في الصالة" + }, + "selectBrush": { + "title": "تحديد الفرشاة", + "desc": "يحدد الفرشاة على اللوحة" + }, + "selectEraser": { + "title": "تحديد الممحاة", + "desc": "يحدد الممحاة على اللوحة" + }, + "decreaseBrushSize": { + "title": "تصغير حجم الفرشاة", + "desc": "يصغر حجم الفرشاة/الممحاة على اللوحة" + }, + "increaseBrushSize": { + "title": "زيادة حجم الفرشاة", + "desc": "يزيد حجم فرشة اللوحة / الممحاة" + }, + "decreaseBrushOpacity": { + "title": "تخفيض شفافية الفرشاة", + "desc": "يخفض شفافية فرشة اللوحة" + }, + "increaseBrushOpacity": { + "title": "زيادة شفافية الفرشاة", + "desc": "يزيد شفافية فرشة اللوحة" + }, + "moveTool": { + "title": "أداة التحريك", + "desc": "يتيح التحرك في اللوحة" + }, + "fillBoundingBox": { + "title": "ملء الصندوق المحدد", + "desc": "يملأ الصندوق المحدد بلون الفرشاة" + }, + "eraseBoundingBox": { + "title": "محو الصندوق المحدد", + "desc": "يمحو منطقة الصندوق المحدد" + }, + "colorPicker": { + "title": "اختيار منتقي اللون", + "desc": "يختار منتقي اللون الخاص باللوحة" + }, + "toggleSnap": { + "title": "تبديل التأكيد", + "desc": "يبديل تأكيد الشبكة" + }, + "quickToggleMove": { + "title": "تبديل سريع للتحريك", + "desc": "يبديل مؤقتا وضع التحريك" + }, + "toggleLayer": { + "title": "تبديل الطبقة", + "desc": "يبديل إختيار الطبقة القناع / الأساسية" + }, + "clearMask": { + "title": "مسح القناع", + "desc": "مسح القناع بأكمله" + }, + "hideMask": { + "title": "إخفاء الكمامة", + "desc": "إخفاء وإظهار الكمامة" + }, + "showHideBoundingBox": { + "title": "إظهار / إخفاء علبة التحديد", + "desc": "تبديل ظهور علبة التحديد" + }, + "mergeVisible": { + "title": "دمج الطبقات الظاهرة", + "desc": "دمج جميع الطبقات الظاهرة في اللوحة" + }, + "saveToGallery": { + "title": "حفظ إلى صالة الأزياء", + "desc": "حفظ اللوحة الحالية إلى صالة الأزياء" + }, + "copyToClipboard": { + "title": "نسخ إلى الحافظة", + "desc": "نسخ اللوحة الحالية إلى الحافظة" + }, + "downloadImage": { + "title": "تنزيل الصورة", + "desc": "تنزيل اللوحة الحالية" + }, + "undoStroke": { + "title": "تراجع عن الخط", + "desc": "تراجع عن خط الفرشاة" + }, + "redoStroke": { + "title": "إعادة الخط", + "desc": "إعادة خط الفرشاة" + }, + "resetView": { + "title": "إعادة تعيين العرض", + "desc": "إعادة تعيين عرض اللوحة" + }, + "previousStagingImage": { + "title": "الصورة السابقة في المرحلة التجريبية", + "desc": "الصورة السابقة في منطقة المرحلة التجريبية" + }, + "nextStagingImage": { + "title": "الصورة التالية في المرحلة التجريبية", + "desc": "الصورة التالية في منطقة المرحلة التجريبية" + }, + "acceptStagingImage": { + "title": "قبول الصورة في المرحلة التجريبية", + "desc": "قبول الصورة الحالية في منطقة المرحلة التجريبية" + } +} diff --git a/invokeai/frontend/public/locales/modelmanager/ar.json b/invokeai/frontend/public/locales/modelmanager/ar.json new file mode 100644 index 0000000000..5c93a87f45 --- /dev/null +++ b/invokeai/frontend/public/locales/modelmanager/ar.json @@ -0,0 +1,67 @@ +{ + "modelManager": "مدير النموذج", + "model": "نموذج", + "allModels": "جميع النماذج", + "checkpointModels": "نقاط التحقق", + "diffusersModels": "المصادر المتعددة", + "safetensorModels": "التنسورات الآمنة", + "modelAdded": "تمت إضافة النموذج", + "modelUpdated": "تم تحديث النموذج", + "modelEntryDeleted": "تم حذف مدخل النموذج", + "cannotUseSpaces": "لا يمكن استخدام المساحات", + "addNew": "إضافة جديد", + "addNewModel": "إضافة نموذج جديد", + "addCheckpointModel": "إضافة نقطة تحقق / نموذج التنسور الآمن", + "addDiffuserModel": "إضافة مصادر متعددة", + "addManually": "إضافة يدويًا", + "manual": "يدوي", + "name": "الاسم", + "nameValidationMsg": "أدخل اسما لنموذجك", + "description": "الوصف", + "descriptionValidationMsg": "أضف وصفا لنموذجك", + "config": "تكوين", + "configValidationMsg": "مسار الملف الإعدادي لنموذجك.", + "modelLocation": "موقع النموذج", + "modelLocationValidationMsg": "موقع النموذج على الجهاز الخاص بك.", + "repo_id": "معرف المستودع", + "repoIDValidationMsg": "المستودع الإلكتروني لنموذجك", + "vaeLocation": "موقع فاي إي", + "vaeLocationValidationMsg": "موقع فاي إي على الجهاز الخاص بك.", + "vaeRepoID": "معرف مستودع فاي إي", + "vaeRepoIDValidationMsg": "المستودع الإلكتروني فاي إي", + "width": "عرض", + "widthValidationMsg": "عرض افتراضي لنموذجك.", + "height": "ارتفاع", + "heightValidationMsg": "ارتفاع افتراضي لنموذجك.", + "addModel": "أضف نموذج", + "updateModel": "تحديث النموذج", + "availableModels": "النماذج المتاحة", + "search": "بحث", + "load": "تحميل", + "active": "نشط", + "notLoaded": "غير محمل", + "cached": "مخبأ", + "checkpointFolder": "مجلد التدقيق", + "clearCheckpointFolder": "مسح مجلد التدقيق", + "findModels": "إيجاد النماذج", + "scanAgain": "فحص مرة أخرى", + "modelsFound": "النماذج الموجودة", + "selectFolder": "حدد المجلد", + "selected": "تم التحديد", + "selectAll": "حدد الكل", + "deselectAll": "إلغاء تحديد الكل", + "showExisting": "إظهار الموجود", + "addSelected": "أضف المحدد", + "modelExists": "النموذج موجود", + "selectAndAdd": "حدد وأضف النماذج المدرجة أدناه", + "noModelsFound": "لم يتم العثور على نماذج", + "delete": "حذف", + "deleteModel": "حذف النموذج", + "deleteConfig": "حذف التكوين", + "deleteMsg1": "هل أنت متأكد من رغبتك في حذف إدخال النموذج هذا من استحضر الذكاء الصناعي", + "deleteMsg2": "هذا لن يحذف ملف نقطة التحكم للنموذج من القرص الخاص بك. يمكنك إعادة إضافتهم إذا كنت ترغب في ذلك.", + "formMessageDiffusersModelLocation": "موقع النموذج للمصعد", + "formMessageDiffusersModelLocationDesc": "يرجى إدخال واحد على الأقل.", + "formMessageDiffusersVAELocation": "موقع فاي إي", + "formMessageDiffusersVAELocationDesc": "إذا لم يتم توفيره، سيبحث استحضر الذكاء الصناعي عن ملف فاي إي داخل موقع النموذج المعطى أعلاه." +} diff --git a/invokeai/frontend/public/locales/parameters/ar.json b/invokeai/frontend/public/locales/parameters/ar.json new file mode 100644 index 0000000000..f46139db2e --- /dev/null +++ b/invokeai/frontend/public/locales/parameters/ar.json @@ -0,0 +1,62 @@ +{ + "images": "الصور", + "steps": "الخطوات", + "cfgScale": "مقياس الإعداد الذاتي للجملة", + "width": "عرض", + "height": "ارتفاع", + "sampler": "مزج", + "seed": "بذرة", + "randomizeSeed": "تبديل بذرة", + "shuffle": "تشغيل", + "noiseThreshold": "عتبة الضوضاء", + "perlinNoise": "ضجيج برلين", + "variations": "تباينات", + "variationAmount": "كمية التباين", + "seedWeights": "أوزان البذور", + "faceRestoration": "استعادة الوجه", + "restoreFaces": "استعادة الوجوه", + "type": "نوع", + "strength": "قوة", + "upscaling": "تصغير", + "upscale": "تصغير", + "upscaleImage": "تصغير الصورة", + "scale": "مقياس", + "otherOptions": "خيارات أخرى", + "seamlessTiling": "تجهيز بلاستيكي بدون تشققات", + "hiresOptim": "تحسين الدقة العالية", + "imageFit": "ملائمة الصورة الأولية لحجم الخرج", + "codeformerFidelity": "الوثوقية", + "seamSize": "حجم التشقق", + "seamBlur": "ضباب التشقق", + "seamStrength": "قوة التشقق", + "seamSteps": "خطوات التشقق", + "scaleBeforeProcessing": "تحجيم قبل المعالجة", + "scaledWidth": "العرض المحجوب", + "scaledHeight": "الارتفاع المحجوب", + "infillMethod": "طريقة التعبئة", + "tileSize": "حجم البلاطة", + "boundingBoxHeader": "صندوق التحديد", + "seamCorrectionHeader": "تصحيح التشقق", + "infillScalingHeader": "التعبئة والتحجيم", + "img2imgStrength": "قوة صورة إلى صورة", + "toggleLoopback": "تبديل الإعادة", + "invoke": "إطلاق", + "cancel": "إلغاء", + "promptPlaceholder": "اكتب المحث هنا. [العلامات السلبية], (زيادة الوزن) ++, (نقص الوزن)--, التبديل و الخلط متاحة (انظر الوثائق)", + "sendTo": "أرسل إلى", + "sendToImg2Img": "أرسل إلى صورة إلى صورة", + "sendToUnifiedCanvas": "أرسل إلى الخطوط الموحدة", + "copyImage": "نسخ الصورة", + "copyImageToLink": "نسخ الصورة إلى الرابط", + "downloadImage": "تحميل الصورة", + "openInViewer": "فتح في العارض", + "closeViewer": "إغلاق العارض", + "usePrompt": "استخدم المحث", + "useSeed": "استخدام البذور", + "useAll": "استخدام الكل", + "useInitImg": "استخدام الصورة الأولية", + "info": "معلومات", + "deleteImage": "حذف الصورة", + "initialImage": "الصورة الأولية", + "showOptionsPanel": "إظهار لوحة الخيارات" +} diff --git a/invokeai/frontend/public/locales/settings/ar.json b/invokeai/frontend/public/locales/settings/ar.json new file mode 100644 index 0000000000..02f11dd0ba --- /dev/null +++ b/invokeai/frontend/public/locales/settings/ar.json @@ -0,0 +1,13 @@ +{ + "models": "موديلات", + "displayInProgress": "عرض الصور المؤرشفة", + "saveSteps": "حفظ الصور كل n خطوات", + "confirmOnDelete": "تأكيد عند الحذف", + "displayHelpIcons": "عرض أيقونات المساعدة", + "useCanvasBeta": "استخدام مخطط الأزرار بيتا", + "enableImageDebugging": "تمكين التصحيح عند التصوير", + "resetWebUI": "إعادة تعيين واجهة الويب", + "resetWebUIDesc1": "إعادة تعيين واجهة الويب يعيد فقط ذاكرة التخزين المؤقت للمتصفح لصورك وإعداداتك المذكورة. لا يحذف أي صور من القرص.", + "resetWebUIDesc2": "إذا لم تظهر الصور في الصالة أو إذا كان شيء آخر غير ناجح، يرجى المحاولة إعادة تعيين قبل تقديم مشكلة على جيت هب.", + "resetComplete": "تم إعادة تعيين واجهة الويب. تحديث الصفحة لإعادة التحميل." +} diff --git a/invokeai/frontend/public/locales/toast/ar.json b/invokeai/frontend/public/locales/toast/ar.json new file mode 100644 index 0000000000..f93141337d --- /dev/null +++ b/invokeai/frontend/public/locales/toast/ar.json @@ -0,0 +1,32 @@ +{ + "tempFoldersEmptied": "تم تفريغ مجلد المؤقت", + "uploadFailed": "فشل التحميل", + "uploadFailedMultipleImagesDesc": "تم الصق صور متعددة، قد يتم تحميل صورة واحدة فقط في الوقت الحالي", + "uploadFailedUnableToLoadDesc": "تعذر تحميل الملف", + "downloadImageStarted": "بدأ تنزيل الصورة", + "imageCopied": "تم نسخ الصورة", + "imageLinkCopied": "تم نسخ رابط الصورة", + "imageNotLoaded": "لم يتم تحميل أي صورة", + "imageNotLoadedDesc": "لم يتم العثور على صورة لإرسالها إلى وحدة الصورة", + "imageSavedToGallery": "تم حفظ الصورة في المعرض", + "canvasMerged": "تم دمج الخط", + "sentToImageToImage": "تم إرسال إلى صورة إلى صورة", + "sentToUnifiedCanvas": "تم إرسال إلى لوحة موحدة", + "parametersSet": "تم تعيين المعلمات", + "parametersNotSet": "لم يتم تعيين المعلمات", + "parametersNotSetDesc": "لم يتم العثور على معلمات بيانية لهذه الصورة.", + "parametersFailed": "حدث مشكلة في تحميل المعلمات", + "parametersFailedDesc": "تعذر تحميل صورة البدء.", + "seedSet": "تم تعيين البذرة", + "seedNotSet": "لم يتم تعيين البذرة", + "seedNotSetDesc": "تعذر العثور على البذرة لهذه الصورة.", + "promptSet": "تم تعيين الإشعار", + "promptNotSet": "Prompt Not Set", + "promptNotSetDesc": "تعذر العثور على الإشعار لهذه الصورة.", + "upscalingFailed": "فشل التحسين", + "faceRestoreFailed": "فشل استعادة الوجه", + "metadataLoadFailed": "فشل تحميل البيانات الوصفية", + "initialImageSet": "تم تعيين الصورة الأولية", + "initialImageNotSet": "لم يتم تعيين الصورة الأولية", + "initialImageNotSetDesc": "تعذر تحميل الصورة الأولية" +} diff --git a/invokeai/frontend/public/locales/tooltip/ar.json b/invokeai/frontend/public/locales/tooltip/ar.json new file mode 100644 index 0000000000..0beca4b86e --- /dev/null +++ b/invokeai/frontend/public/locales/tooltip/ar.json @@ -0,0 +1,15 @@ +{ + "feature": { + "prompt": "هذا هو حقل التحذير. يشمل التحذير عناصر الإنتاج والمصطلحات الأسلوبية. يمكنك إضافة الأوزان (أهمية الرمز) في التحذير أيضًا، ولكن أوامر CLI والمعلمات لن تعمل.", + "gallery": "تعرض Gallery منتجات من مجلد الإخراج عندما يتم إنشاؤها. تخزن الإعدادات داخل الملفات ويتم الوصول إليها عن طريق قائمة السياق.", + "other": "ستمكن هذه الخيارات من وضع عمليات معالجة بديلة لـاستحضر الذكاء الصناعي. سيؤدي 'الزخرفة بلا جدران' إلى إنشاء أنماط تكرارية في الإخراج. 'دقة عالية' هي الإنتاج خلال خطوتين عبر صورة إلى صورة: استخدم هذا الإعداد عندما ترغب في توليد صورة أكبر وأكثر تجانبًا دون العيوب. ستستغرق الأشياء وقتًا أطول من نص إلى صورة المعتاد.", + "seed": "يؤثر قيمة البذور على الضوضاء الأولي الذي يتم تكوين الصورة منه. يمكنك استخدام البذور الخاصة بالصور السابقة. 'عتبة الضوضاء' يتم استخدامها لتخفيف العناصر الخللية في قيم CFG العالية (جرب مدى 0-10), و Perlin لإضافة ضوضاء Perlin أثناء الإنتاج: كلا منهما يعملان على إضافة التنوع إلى النتائج الخاصة بك.", + "variations": "جرب التغيير مع قيمة بين 0.1 و 1.0 لتغيير النتائج لبذور معينة. التغييرات المثيرة للاهتمام للبذور تكون بين 0.1 و 0.3.", + "upscale": "استخدم إي إس آر جان لتكبير الصورة على الفور بعد الإنتاج.", + "face Correction": "تصحيح الوجه باستخدام جي إف بي جان أو كود فورمر: يكتشف الخوارزمية الوجوه في الصورة وتصحح أي عيوب. قيمة عالية ستغير الصورة أكثر، مما يؤدي إلى وجوه أكثر جمالا. كود فورمر بدقة أعلى يحتفظ بالصورة الأصلية على حساب تصحيح وجه أكثر قوة.", + "imageToImage": "تحميل صورة إلى صورة أي صورة كأولية، والتي يتم استخدامها لإنشاء صورة جديدة مع التشعيب. كلما كانت القيمة أعلى، كلما تغيرت نتيجة الصورة. من الممكن أن تكون القيم بين 0.0 و 1.0، وتوصي النطاق الموصى به هو .25-.75", + "boundingBox": "مربع الحدود هو نفس الإعدادات العرض والارتفاع لنص إلى صورة أو صورة إلى صورة. فقط المنطقة في المربع سيتم معالجتها.", + "seam Correction": "يتحكم بالتعامل مع الخطوط المرئية التي تحدث بين الصور المولدة في سطح اللوحة.", + "infillAndScaling": "إدارة أساليب التعبئة (المستخدمة على المناطق المخفية أو الممحوة في سطح اللوحة) والزيادة في الحجم (مفيدة لحجوزات الإطارات الصغيرة)." + } +} diff --git a/invokeai/frontend/public/locales/unifiedcanvas/ar.json b/invokeai/frontend/public/locales/unifiedcanvas/ar.json new file mode 100644 index 0000000000..06da5eef26 --- /dev/null +++ b/invokeai/frontend/public/locales/unifiedcanvas/ar.json @@ -0,0 +1,59 @@ +{ + "layer": "طبقة", + "base": "قاعدة", + "mask": "قناع", + "maskingOptions": "خيارات القناع", + "enableMask": "مكن القناع", + "preserveMaskedArea": "الحفاظ على المنطقة المقنعة", + "clearMask": "مسح القناع", + "brush": "فرشاة", + "eraser": "ممحاة", + "fillBoundingBox": "ملئ إطار الحدود", + "eraseBoundingBox": "مسح إطار الحدود", + "colorPicker": "اختيار اللون", + "brushOptions": "خيارات الفرشاة", + "brushSize": "الحجم", + "move": "تحريك", + "resetView": "إعادة تعيين العرض", + "mergeVisible": "دمج الظاهر", + "saveToGallery": "حفظ إلى المعرض", + "copyToClipboard": "نسخ إلى الحافظة", + "downloadAsImage": "تنزيل على شكل صورة", + "undo": "تراجع", + "redo": "إعادة", + "clearCanvas": "مسح سبيكة الكاملة", + "canvasSettings": "إعدادات سبيكة الكاملة", + "showIntermediates": "إظهار الوسطاء", + "showGrid": "إظهار الشبكة", + "snapToGrid": "الالتفاف إلى الشبكة", + "darkenOutsideSelection": "تعمية خارج التحديد", + "autoSaveToGallery": "حفظ تلقائي إلى المعرض", + "saveBoxRegionOnly": "حفظ منطقة الصندوق فقط", + "limitStrokesToBox": "تحديد عدد الخطوط إلى الصندوق", + "showCanvasDebugInfo": "إظهار معلومات تصحيح سبيكة الكاملة", + "clearCanvasHistory": "مسح تاريخ سبيكة الكاملة", + "clearHistory": "مسح التاريخ", + "clearCanvasHistoryMessage": "مسح تاريخ اللوحة تترك اللوحة الحالية عائمة، ولكن تمسح بشكل غير قابل للتراجع تاريخ التراجع والإعادة.", + "clearCanvasHistoryConfirm": "هل أنت متأكد من رغبتك في مسح تاريخ اللوحة؟", + "emptyTempImageFolder": "إفراغ مجلد الصور المؤقتة", + "emptyFolder": "إفراغ المجلد", + "emptyTempImagesFolderMessage": "إفراغ مجلد الصور المؤقتة يؤدي أيضًا إلى إعادة تعيين اللوحة الموحدة بشكل كامل. وهذا يشمل كل تاريخ التراجع / الإعادة والصور في منطقة التخزين وطبقة الأساس لللوحة.", + "emptyTempImagesFolderConfirm": "هل أنت متأكد من رغبتك في إفراغ مجلد الصور المؤقتة؟", + "activeLayer": "الطبقة النشطة", + "canvasScale": "مقياس اللوحة", + "boundingBox": "صندوق الحدود", + "scaledBoundingBox": "صندوق الحدود المكبر", + "boundingBoxPosition": "موضع صندوق الحدود", + "canvasDimensions": "أبعاد اللوحة", + "canvasPosition": "موضع اللوحة", + "cursorPosition": "موضع المؤشر", + "previous": "السابق", + "next": "التالي", + "accept": "قبول", + "showHide": "إظهار/إخفاء", + "discardAll": "تجاهل الكل", + "betaClear": "مسح", + "betaDarkenOutside": "ظل الخارج", + "betaLimitToBox": "تحديد إلى الصندوق", + "betaPreserveMasked": "المحافظة على المخفية" +} diff --git a/invokeai/frontend/src/features/system/components/LanguagePicker.tsx b/invokeai/frontend/src/features/system/components/LanguagePicker.tsx index 74eeb17951..9233250a79 100644 --- a/invokeai/frontend/src/features/system/components/LanguagePicker.tsx +++ b/invokeai/frontend/src/features/system/components/LanguagePicker.tsx @@ -9,10 +9,10 @@ import { FaLanguage } from 'react-icons/fa'; export default function LanguagePicker() { const { t, i18n } = useTranslation(); - const LANGUAGES = { - en: t('common:langEnglish'), + ar: t('common:langArabic'), nl: t('common:langDutch'), + en: t('common:langEnglish'), fr: t('common:langFrench'), de: t('common:langGerman'), it: t('common:langItalian'), @@ -35,7 +35,6 @@ export default function LanguagePicker() { onClick={() => i18n.changeLanguage(lang)} className="modal-close-btn lang-select-btn" aria-label={LANGUAGES[lang as keyof typeof LANGUAGES]} - tooltip={LANGUAGES[lang as keyof typeof LANGUAGES]} size="sm" minWidth="200px" > diff --git a/invokeai/frontend/stats.html b/invokeai/frontend/stats.html index abfa9a018a..3c43c716e6 100644 --- a/invokeai/frontend/stats.html +++ b/invokeai/frontend/stats.html @@ -6157,7 +6157,7 @@ var drawChart = (function (exports) {